:root{
  --ink:#16181c;
  --paper:#faf8f5;
  --surface:#ffffff;
  --border:#e6e2da;
  --muted:#6b6b6b;
  --accent:#d9a441;
  --accent-ink:#16181c;
  --radius:14px;
}

*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  line-height:1.6;
}

a{color:var(--ink)}
a:hover{color:var(--accent)}

.section{padding-top:2.5rem;padding-bottom:2.5rem}
.section-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem}

.btn-dark{background:var(--ink);border-color:var(--ink)}
.btn-warning{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.btn-warning:hover{filter:brightness(0.93);color:var(--accent-ink)}
.btn-outline-dark{border-color:var(--ink);color:var(--ink)}
.btn-outline-dark:hover{background:var(--ink)}

.disclosure-box{
  background:#fff8e6;
  border:1px solid #f0dca0;
  border-radius:10px;
  padding:.9rem 1.1rem;
  font-size:.88rem;
  color:#5a4a1a;
}

.badge-demo{background:#444;color:#fff;font-weight:500}
.badge-featured{background:var(--accent);color:var(--accent-ink);font-weight:600}

.legal-page h2{font-size:1.1rem;margin-top:1.8rem}

.empty-state{
  text-align:center;
  padding:3rem 1rem;
  color:var(--muted);
}

.toast-stack{
  position:fixed;
  top:1rem;
  right:1rem;
  z-index:1080;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.toast-msg{
  background:var(--ink);
  color:#fff;
  padding:.7rem 1.1rem;
  border-radius:10px;
  font-size:.9rem;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  animation:toast-in .2s ease-out;
}
.toast-msg.toast-error{background:#8a2e2e}
@keyframes toast-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
