/* Shared styles for legal pages — mirrors index.html theme, prefers-color-scheme only, no storage */
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
:root { --ink:#2a183d; --violet:#5b2879; --paper:#f8f4ef; --rust:#bb522e; --line:#ded5de; --muted:#695d70; --surface:#fff; --cta-bg:var(--violet); --cta-text:#fff; }
@media (prefers-color-scheme: dark) {
  :root { --ink:#f6eff7; --violet:#d2a7ea; --paper:#17121c; --rust:#ff9a73; --line:#4d3b53; --muted:#c9b7cf; --surface:#241b2a; --cta-bg:#d2a7ea; --cta-text:#29183c; }
}
.inner { width:min(900px,calc(100% - 40px)); margin-inline:auto; }
.site-header { padding-block:26px 0; }
.header-inner { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.logo-stage { display:inline-flex; }
.brand { display:block; width:220px; height:auto; }
.brand-dark { display:none; }
@media (prefers-color-scheme: dark) { .brand-light { display:none; } .brand-dark { display:block; } }
.legal-content { padding-block:40px 60px; }
.legal-content h1 { margin:0 0 10px; font-size:clamp(2.2rem,4.5vw,3.4rem); line-height:1; letter-spacing:-.06em; }
.legal-content h2 { margin:30px 0 8px; font-size:1.15rem; letter-spacing:-.02em; color:var(--violet); }
.legal-content p, .legal-content li { max-width:70ch; }
.legal-content ul { padding-left:22px; }
.legal-content a { color:var(--violet); }
.legal-content .backlink { margin-top:40px; }
.legal-content .backlink a { display:inline-flex; align-items:center; min-height:50px; padding:15px 18px; background:var(--cta-bg); color:var(--cta-text); font:800 1rem/1 ui-sans-serif,system-ui,sans-serif; text-decoration:none; }
.legal-content .backlink a:hover, .legal-content .backlink a:focus-visible { outline:2px solid var(--rust); outline-offset:2px; }
.privacy { border-top:1px solid var(--line); padding-block:16px 26px; color:var(--muted); font-size:.77rem; }
.privacy strong { color:var(--ink); }
.legal-links { margin:8px 0 0; display:flex; flex-wrap:wrap; gap:6px 18px; }
.legal-links a { color:var(--muted); }
.legal-links a:hover, .legal-links a:focus-visible { color:var(--violet); }
@media (max-width:640px) { .brand { width:170px; } .legal-content { padding-block:28px 44px; } }
