/* Legal pages share the site tokens. The homepage keeps its own stylesheet. */
:root{
  --bg:#0a0a0f; --bg-2:#101018; --bg-3:#15151f;
  --ink:#f5f6fa; --ink-2:#c2c6d4; --muted:#8a90a3; --faint:#5b6072;
  --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14); --line-3:rgba(255,255,255,.3);
  --glass:rgba(255,255,255,.05); --nav-bg:rgba(10,10,15,.72);
  --card-shadow:0 24px 60px -28px rgba(0,0,0,.8);
  --neon-sh:0 8px 26px -12px rgba(255,39,125,.5);
  --neon-sh-hov:0 12px 34px -12px rgba(255,39,125,.62);
  --magenta:#ff277d; --coral:#ff654d; --orange:#ff8435; --gold:#ffaf3f; --mint:#60e8cf; --cyan:#22f5ff;
  --grad:linear-gradient(100deg,#f900b2,var(--coral) 34%,var(--gold) 62%,var(--cyan));
  --grad-btn:linear-gradient(100deg,#c1008a,#cf3f2a 48%,#087a83);
  --maxw:1140px; --r:16px; --r-lg:24px;
  --fs-caption:13px; --fs-small:14px; --fs-card:15px; --fs-body:16px; --fs-lead:17px;
  --fs-h3:20px; --fs-h2:clamp(26px,3.2vw,36px); --fs-h1:clamp(36px,5vw,52px);
  --lh-body:1.65; --lh-tight:1.1; --track-caps:.1em;
  --field-r:18px 6px 18px 6px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-spring:cubic-bezier(.34,1.3,.4,1);
}
html[data-theme="light"]{
  --bg:#f5f4ef; --bg-2:#ffffff; --bg-3:#eceae3;
  --ink:#15161a; --ink-2:#3c4048; --muted:#5a5f6e; --faint:#8a909d;
  --line:rgba(15,15,25,.09); --line-2:rgba(15,15,25,.16); --line-3:rgba(15,15,25,.34);
  --glass:rgba(15,15,25,.04); --nav-bg:rgba(245,244,239,.78);
  --card-shadow:0 24px 60px -30px rgba(20,20,30,.25);
  --neon-sh:0 6px 18px -10px rgba(255,39,125,.35);
  --neon-sh-hov:0 10px 26px -10px rgba(255,39,125,.45);
  --gold:#9a5f05; --mint:#0d9c86; --cyan:#0a9aa3;
  --grad:linear-gradient(100deg,#d60099,#d6402f 48%,#087a83);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .3s,color .3s}
button,input,select,textarea{font-family:inherit;line-height:var(--lh-body)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:rgba(255,39,125,.35)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.skip-link{position:absolute;top:-100px;left:16px;z-index:300;background:var(--ink);color:var(--bg);font-weight:700;font-size:14px;padding:12px 18px;border-radius:12px}
.skip-link:focus{top:12px}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
h1,h2,h3{margin:0;font-family:'Space Grotesk','Inter',sans-serif;font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em}
.mark-dark,.mark-light{display:block}
html[data-theme="light"] .mark-dark{display:none}
html:not([data-theme="light"]) .mark-light{display:none}
.brand-word{height:28px;width:auto}
.nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent}
.nav.scrolled{border-bottom-color:var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:70px}
.brand{display:flex;align-items:center;flex:none}
.theme-btn{position:relative;width:62px;height:32px;border-radius:100px;border:1px solid var(--line-2);background:var(--bg-3);box-shadow:inset 0 1px 4px rgba(0,0,0,.22);cursor:pointer;padding:0;flex:none;-webkit-tap-highlight-color:transparent}
.theme-btn::after{content:"";position:absolute;inset:-7px}
.tk-ic{position:absolute;top:50%;width:13px;height:13px;color:var(--faint);transform:translateY(-50%)}
.tk-moon{left:10px;opacity:0}
.tk-sun{right:10px;opacity:1}
html[data-theme="light"] .tk-moon{opacity:1}
html[data-theme="light"] .tk-sun{opacity:0}
.tt-thumb{position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;box-shadow:0 2px 6px rgba(0,0,0,.35);transition:transform .32s cubic-bezier(.34,1.4,.4,1)}
.tt-thumb svg{grid-area:1/1;width:13.5px;height:13.5px}
.tt-thumb .ic-sun{display:none}
html[data-theme="light"] .tt-thumb .ic-sun{display:block}
html[data-theme="light"] .tt-thumb .ic-moon{display:none}
html[data-theme="light"] .tt-thumb{transform:translateX(30px)}
@media(prefers-reduced-motion:reduce){.tt-thumb{transition:none}}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-weight:700;font-size:var(--fs-card);line-height:1.2;min-height:48px;padding:13px 26px;border-radius:var(--field-r);border:1px solid transparent;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:transform .22s var(--ease-spring),border-radius .3s var(--ease),box-shadow .3s,background-position .5s var(--ease)}
.btn:hover{border-radius:6px 18px 6px 18px}
.btn-neon{background:var(--grad-btn);background-size:160% 100%;background-position:0% 50%;color:#fff;box-shadow:var(--neon-sh),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(0,0,0,.18)}
.btn-neon:hover{transform:translateY(-2px);background-position:90% 50%;box-shadow:var(--neon-sh-hov),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.18)}
.btn-ghost{background:var(--glass);color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--line-3)}
@media(prefers-reduced-motion:reduce){.btn{transition:none}.btn:hover{transform:none;border-radius:var(--field-r)}}
.legal{padding:48px 0 72px}
.legal-kicker{display:inline-block;font-size:var(--fs-caption);font-weight:800;letter-spacing:var(--track-caps);text-transform:uppercase;line-height:1.3;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.legal h1{font-size:var(--fs-h1);max-width:16ch;margin-top:12px}
.legal-lead,.legal-meta{color:var(--muted);font-size:var(--fs-lead);max-width:68ch;margin:16px 0 0}
.legal-meta{font-size:var(--fs-small);margin-top:10px}
.legal-lead a,.legal-meta a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.legal-switch{display:flex;flex-wrap:wrap;gap:8px 18px;margin:28px 0 0;padding:0;list-style:none}
.legal-switch a{color:var(--ink-2);font-size:var(--fs-small);font-weight:700;padding-bottom:4px;border-bottom:2px solid transparent}
.legal-switch a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--magenta)}
.legal-switch a:hover{color:var(--ink)}
.toc{margin:28px 0 0;padding:18px 20px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);max-width:68ch}
.toc strong{display:block;font-size:var(--fs-caption);font-weight:800;letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.toc ol{margin:0;padding-left:1.2em;color:var(--ink-2);font-size:var(--fs-small)}
.toc a{text-decoration:underline;text-underline-offset:3px}
.prose{max-width:68ch;margin-top:8px}
.prose h2{font-size:var(--fs-h3);margin:36px 0 0;scroll-margin-top:90px}
.prose p,.prose li{color:var(--ink-2);font-size:var(--fs-card)}
.prose p{margin:12px 0 0}
.prose ul,.prose ol{margin:12px 0 0;padding-left:1.2em}
.prose li{margin:8px 0 0}
.prose li strong,.prose p strong{color:var(--ink);font-weight:700}
.prose a,.card a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.prose code,.card code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;color:var(--ink)}
.cards{display:grid;gap:14px;margin-top:28px;max-width:760px}
.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 22px 20px}
.card h2{font-size:var(--fs-h3);scroll-margin-top:90px}
.card p,.card li{color:var(--ink-2);font-size:var(--fs-card)}
.card p{margin:10px 0 0}
.card ul{margin:10px 0 0;padding-left:1.2em}
.card li{margin:8px 0 0}
.card .actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.theme-state{margin:14px 0 0;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:var(--fs-small);font-weight:600}
footer{position:relative;border-top:1px solid var(--line);padding:36px 0 48px;color:var(--muted);font-size:var(--fs-small)}
footer::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--grad);opacity:.35}
.foot-mark{height:24px;width:auto;margin-bottom:8px}
footer small{display:block;margin-top:6px;font-size:var(--fs-caption);color:var(--muted)}
.foot-disclaimer{max-width:520px;margin-top:12px}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.foot-links a{color:var(--muted);font-weight:600}
.foot-links a:hover{color:var(--ink)}
@media(max-width:720px){
  .legal{padding:32px 0 56px}
  .btn{white-space:normal;text-align:center}
}
