/* Legal pages: quiet, readable documents that share the app's dark surfaces. */
.legal-view { min-height: calc(100vh - 170px); }
.legal-page { max-width: 920px; margin: 0 auto; padding: 8px 0 52px; }
.legal-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding: 4px 0 18px; border-bottom:1px solid var(--line); }
.legal-back { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; text-decoration:none; }
.legal-back:hover { color:var(--ink); }
.legal-updated { color:var(--muted); font-size:10px; white-space:nowrap; }
.legal-hero { padding:30px 0 26px; border-bottom:1px solid var(--line); }
.legal-kicker { display:block; color:var(--accent-text); font-size:9px; font-weight:750; letter-spacing:.14em; }
.legal-page h1 { margin-top:11px; color:var(--ink); font-size:clamp(28px,4vw,42px); font-weight:760; letter-spacing:-.045em; line-height:1.08; }
.legal-lead { max-width:720px; margin-top:13px; color:var(--muted); font-size:13px; line-height:1.75; }
.legal-notice { margin-top:22px; padding:14px 16px; border:1px solid var(--accent-border); border-radius:10px; background:var(--accent-soft); color:#d9d0f4; font-size:11px; line-height:1.7; }
.legal-notice a { color:var(--accent-text); text-decoration:underline; text-underline-offset:2px; }
.legal-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:42px; align-items:start; margin-top:30px; }
.legal-index { position:sticky; top:94px; padding:15px 14px; border:1px solid var(--line); border-radius:10px; background:var(--soft); }
.legal-index strong { display:block; color:var(--ink); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.legal-index ol { display:grid; gap:8px; margin:12px 0 0 17px; color:var(--muted); font-size:10.5px; line-height:1.45; }
.legal-index li::marker { color:var(--accent-text); }
.legal-content { min-width:0; }
.legal-section { padding:0 0 25px; margin:0 0 25px; border-bottom:1px solid var(--line-subtle); }
.legal-section:last-child { padding-bottom:0; margin-bottom:0; border-bottom:0; }
.legal-section h2 { color:var(--ink); font-size:16px; font-weight:700; letter-spacing:-.02em; line-height:1.3; }
.legal-section h3 { margin-top:17px; color:#e6e9eb; font-size:12.5px; font-weight:700; }
.legal-section p { margin-top:10px; color:#b2bbc1; font-size:12px; line-height:1.8; }
.legal-section ul { display:grid; gap:8px; margin:11px 0 0 18px; color:#b2bbc1; font-size:12px; line-height:1.75; }
.legal-section li::marker { color:var(--accent-text); }
.legal-section strong { color:#e7e9eb; font-weight:650; }
.legal-section a, .legal-content a { color:var(--accent-text); text-decoration:none; }
.legal-section a:hover, .legal-content a:hover { color:var(--ink); text-decoration:underline; }
.legal-callout { margin-top:13px; padding:13px 15px; border-left:3px solid var(--accent-text); border-radius:0 8px 8px 0; background:var(--soft); color:#c4cbd0; font-size:11px; line-height:1.75; }
.legal-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1440px; margin:10px auto 0; padding:22px 28px 10px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.legal-footer-brand { display:flex; align-items:center; gap:10px; }
.legal-footer-brand span:first-child { color:var(--ink); font-weight:700; letter-spacing:.08em; }
.legal-footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 18px; }
.legal-footer-links a { color:var(--muted); text-decoration:none; }
.legal-footer-links a:hover { color:var(--ink); }

@media(max-width:760px) {
  .legal-page { padding-top:0; }
  .legal-topbar { align-items:flex-start; flex-direction:column; gap:9px; }
  .legal-updated { font-size:9px; }
  .legal-hero { padding-top:24px; }
  .legal-page h1 { font-size:30px; }
  .legal-lead { font-size:12px; }
  .legal-layout { display:block; margin-top:22px; }
  .legal-index { position:static; margin-bottom:24px; }
  .legal-section p, .legal-section ul { font-size:11.5px; }
  .legal-footer { align-items:flex-start; flex-direction:column; padding:22px 14px 88px; }
  .legal-footer-links { justify-content:flex-start; gap:10px 16px; }
}
