:root { color-scheme: dark; --ink: #0d0612; --night: #1a0c22; --plum: #3e2252; --gold: #f2c14e; --paper: #f5e6a8; }
.legal-nav { box-sizing: border-box; position: fixed; z-index: 50; inset: auto 0 0; min-height: 34px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0 8px; padding: 2px 8px max(2px, env(safe-area-inset-bottom)); border-top: 2px solid var(--gold); background: var(--night); color: var(--paper); font: bold 11px/1.5 monospace; text-transform: uppercase; }
.legal-nav a { display: inline-flex; align-items: center; min-height: 28px; padding: 0 5px; color: var(--paper); text-underline-offset: 3px; }
.legal-nav a:focus-visible, a:focus-visible, button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.legal-nav a:hover { color: #fff; background: var(--plum); }
.legal-page { margin: 0; padding: 24px 16px 90px; background: var(--ink); color: var(--paper); font: 16px/1.65 monospace; background-image: repeating-linear-gradient(45deg, transparent 0 22px, #5a162630 22px 24px); }
.legal-page main { max-width: 850px; margin: auto; }
.legal-page header, .legal-page section { margin: 20px 0; padding: clamp(16px, 3vw, 28px); border: 2px solid var(--gold); background: var(--night); box-shadow: 4px 4px 0 #3e2252; }
.legal-page h1, .legal-page h2, .legal-page h3 { color: var(--gold); line-height: 1.3; }
.legal-page h1, .legal-page h2 { text-transform: uppercase; letter-spacing: 1px; }
.legal-page h1 { font-size: clamp(24px, 5vw, 38px); }
.legal-page h2 { font-size: 23px; }
.legal-page h3 { font-size: 18px; }
.legal-page a { color: #9af4f0; overflow-wrap: anywhere; }
.legal-page address { font-style: normal; }
.legal-page section { scroll-margin-top: 16px; }
.legal-page .badge { display: inline-block; border: 1px solid var(--gold); padding: 4px 10px; color: #fff; background: var(--plum); }
.legal-page .summary { color: #c4b8dc; border-top: 1px solid #5a3a74; padding-top: 12px; }
.legal-page code { overflow-wrap: anywhere; }
@media (max-width: 420px) { .legal-nav { gap: 0; font-size: 10px; } .legal-page { padding: 8px 10px 80px; } }
