:root { color-scheme: dark; --legal-bg:#080f17; --legal-panel:#101c28; --legal-text:#eaf2f7; --legal-muted:#bacbd6; --legal-line:#2d4354; --legal-accent:#75e6d9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:20px; }
body { margin:0; background:var(--legal-bg); color:var(--legal-text); font:400 17px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; padding:calc(20px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px)); }
a { color:var(--legal-accent); text-underline-offset:3px; overflow-wrap:anywhere; }
button { font:inherit; cursor:pointer; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid #ffd18a; outline-offset:4px; }
.legal-page-shell { width:min(100%,1040px); margin:auto; }
.legal-page-header { border-bottom:1px solid var(--legal-line); padding-bottom:26px; }
.legal-page-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:30px; }
.legal-page-actions a,.legal-page-actions button { display:inline-flex; align-items:center; min-height:44px; padding:7px 12px; border:1px solid var(--legal-line); background:var(--legal-panel); border-radius:10px; text-decoration:none; font-size:.86rem; color:var(--legal-text); }
.legal-brand { color:var(--legal-accent); font-size:.76rem; letter-spacing:.16em; font-weight:800; margin:0 0 8px; }
h1 { font-size:clamp(1.85rem,5vw,3rem); line-height:1.13; letter-spacing:-.025em; margin:0 0 16px; overflow-wrap:anywhere; }
.legal-lede { color:var(--legal-muted); max-width:760px; margin:0; }
.legal-document-meta { font-size:.8rem; color:var(--legal-muted); }
.legal-draft-notice { border:1px solid #8c6736; border-left:4px solid #efbb71; border-radius:10px; padding:16px 18px; background:#251f18; margin:20px 0; font-size:.92rem; color:#fce7c4; }
.legal-draft-notice strong { display:block; line-height:1.4; }
.legal-draft-notice p { margin:6px 0 0; }
.legal-document-nav { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:.85rem; }
.legal-document-nav a { min-height:40px; display:flex; align-items:center; }
.legal-document-nav [aria-current="page"] { color:white; font-weight:800; text-decoration-thickness:3px; }
main { max-width:800px; margin:auto; }
.legal-toc { background:var(--legal-panel); border:1px solid var(--legal-line); border-radius:12px; padding:14px 18px; margin:26px 0; }
summary { cursor:pointer; font-weight:700; min-height:32px; }
.legal-toc ol { margin:12px 0 0; padding-left:0; list-style:none; }
.legal-toc li { margin:7px 0; font-size:.91rem; }
.legal-document-section { padding:18px 0 26px; border-bottom:1px solid var(--legal-line); scroll-margin-top:20px; }
h2 { font-size:1.3rem; line-height:1.35; margin:0 0 16px; }
.legal-prose p { margin:0 0 16px; overflow-wrap:anywhere; }
.legal-prose p:last-child { margin-bottom:0; }
.legal-prose li { margin:10px 0; }
.legal-prose ul { padding-left:24px; }
.legal-page-footer { margin:30px 0 0; color:var(--legal-muted); font-size:.82rem; }
.skip-link { position:fixed; top:-100px; left:15px; z-index:10; background:#fff; color:#000; padding:10px; }
.skip-link:focus { top:15px; }
@media (max-width:480px) { body { font-size:16px; } .legal-page-actions { gap:8px; } .legal-page-actions a,.legal-page-actions button { padding:7px 10px; } .legal-document-nav { gap:6px 14px; } .legal-draft-notice { padding:13px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  :root { color-scheme:light; --legal-text:#111; --legal-muted:#333; --legal-line:#bbb; }
  body { padding:0; background:white; font-size:10.5pt; line-height:1.5; }
  .legal-page-actions,.legal-document-nav,.legal-toc,.skip-link { display:none; }
  .legal-draft-notice { background:white; color:#111; border:1px solid #555; }
  a { color:#111; }
  h1 { font-size:24pt; } h2 { font-size:13pt; break-after:avoid; }
  p,li { orphans:3; widows:3; }
  .legal-document-section { padding:14px 0; }
  .legal-page-header { padding-bottom:10px; }
}
