/* Shared chrome + tokens for the standalone legal pages (/privacy, /terms).
   Tokens, nav and footer rules are copied verbatim from index.html's inline
   <style> so these pages stay visually identical without a build step. */

:root, [data-theme="dark"] {
  /* Space Grotesk / Manrope / JetBrains Mono load via the Google Fonts
     <link> in privacy/index.html and terms/index.html. */
  --font-ui: 'Manrope', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --font-display: 'Space Grotesk', var(--font-ui);
  --focus: #a599f5;
  --bg:        #120f1a;
  --card:      #1b1726;
  --card-2:    #201c2d;
  --nav-bg:    rgba(27,23,38,0.78);

  --border:    rgba(165,153,245,0.14);
  --border-2:  rgba(165,153,245,0.11);
  --border-3:  rgba(165,153,245,0.1);

  --t1: #eaeff9;
  --t2: #c7d2e8;
  --t3: #9aa8c4;
  --t4: #8b98b4;
  --t6: #8b98b4;

  --accent:      #a599f5;
  --accent-hi:   #c3b8fa;
  --accent-on:   #120f1a;
  --accent-dim:  rgba(165,153,245,0.14);
  --accent-border: rgba(165,153,245,0.24);
  --accent-border-2: rgba(165,153,245,0.34);

  --footer-bg: #15121e;
  --risk: #9c93af;
}

[data-theme="light"] {
  --focus: #4438c4;
  --bg:        #f6f4fb;
  --card:      #ffffff;
  --card-2:    #fbf9fe;
  --nav-bg:    rgba(255,255,255,0.78);

  --border:    rgba(68,56,196,0.1);
  --border-2:  rgba(68,56,196,0.08);
  --border-3:  rgba(68,56,196,0.07);

  --t1: #101728;
  --t2: #25324f;
  --t3: #4e5b78;
  --t4: #66748f;
  --t6: #545f78;

  --accent:      #4438c4;
  --accent-hi:   #332a94;
  --accent-on:   #ffffff;
  --accent-dim:  rgba(68,56,196,0.09);
  --accent-border: rgba(68,56,196,0.16);
  --accent-border-2: rgba(68,56,196,0.28);

  --footer-bg: #efedf7;
  --risk: #625f7a;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
:focus-visible { outline:2px solid var(--focus); outline-offset:2px; border-radius:6px; }
.skip-link {
  position:absolute; left:12px; top:-100px; z-index:100;
  padding:10px 16px; border-radius:10px; font-size:14px; font-weight:600;
  background:var(--accent); color:var(--accent-on); transition:top 0.15s ease;
}
.skip-link:focus-visible { top:12px; color:var(--accent-on); }
body { margin:0; background:var(--bg); color:var(--t1); font-family:var(--font-ui); -webkit-font-smoothing:antialiased; transition:background 0.2s ease, color 0.2s ease; }
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--accent-hi); }
button { font-family:var(--font-ui); }

.wrap { max-width:1160px; margin:0 auto; padding:0 24px; }

/* ── NAV (identical to index.html) ──────── */
header.site-nav { position:sticky; top:0; z-index:60; padding:12px 16px; }
.nav-inner {
  max-width:1160px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px;
  padding:8px 10px 8px 14px; border:1px solid var(--border); border-radius:14px;
  background:var(--nav-bg); backdrop-filter:blur(16px);
}
.brand { display:flex; align-items:center; gap:9px; color:var(--t1); }
.brand svg { width:30px; height:30px; flex-shrink:0; color:var(--accent); }
.brand span { font-size:16.5px; font-weight:600; letter-spacing:-0.02em; }
.nav-cta { padding:9px 15px; border-radius:10px; font-size:14px; font-weight:600; white-space:nowrap; color:var(--accent-on); background:var(--accent); }
.nav-cta:hover { color:var(--accent-on); background:var(--accent-hi); }
.theme-toggle {
  width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:9px; border:1px solid var(--border); background:transparent; color:var(--t4);
  cursor:pointer; transition:all 0.15s;
}
.theme-toggle:hover { color:var(--t1); border-color:var(--accent-border-2); }
.theme-toggle .ico-sun { display:none; }
.theme-toggle .ico-moon { display:block; }
[data-theme="dark"] .theme-toggle .ico-sun { display:block; }
[data-theme="dark"] .theme-toggle .ico-moon { display:none; }

/* ── LEGAL PAGE CONTENT ──────────────────── */
.legal-main { max-width:760px; margin:0 auto; padding:64px 24px 96px; }
.legal-main h1 { margin:0 0 6px; font-size:clamp(28px,4vw,38px); font-weight:600; letter-spacing:-0.03em; }
.legal-updated { margin:0 0 40px; font-size:13.5px; color:var(--t4); }
.legal-prose { font-size:15.5px; line-height:1.7; color:var(--t2); }
.legal-prose h2 { margin:2.2em 0 0.6em; font-size:19px; font-weight:600; letter-spacing:-0.01em; color:var(--t1); }
.legal-prose h2:first-child { margin-top:0; }
.legal-prose h3 { margin:1.6em 0 0.5em; font-size:16px; font-weight:600; color:var(--t1); }
.legal-prose p { margin:0 0 1em; }
.legal-prose ul { margin:0 0 1em; padding-left:1.3em; }
.legal-prose li { margin-bottom:0.5em; }
.legal-prose strong { color:var(--t1); font-weight:600; }

/* ── FOOTER (identical to index.html) ───── */
footer { margin-top:80px; border-top:1px solid var(--border); background:var(--footer-bg); }
.footer-grid { max-width:1160px; margin:0 auto; padding:44px 24px 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:32px; }
.footer-brand { max-width:34ch; }
.footer-brand .brand { color:var(--t1); }
.footer-brand p { margin:14px 0 0; font-size:14px; line-height:1.6; color:var(--t4); }
.footer-col h5 { font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:var(--t6); margin:0; }
.footer-col div { margin-top:14px; display:flex; flex-direction:column; gap:10px; font-size:14px; }
.footer-col a { color:var(--t4); }
.footer-col a:hover { color:var(--t1); }
.footer-legal { max-width:1160px; margin:0 auto; padding:32px 24px 44px; }
.footer-legal p { margin:0; padding:18px 0 0; border-top:1px solid var(--border-3); font-size:12.5px; line-height:1.65; color:var(--risk); max-width:96ch; }
.footer-legal .copyright { margin-top:16px; display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between; font-family:var(--font-mono); font-size:11.5px; color:var(--t6); }

@media (max-width: 720px) {
  .legal-main { padding:40px 20px 72px; }
}
