:root {
    --obsidian: #050A12;
    --midnight: #0C1524;
    --surface: #101B2D;
    --surface-elevated: #142238;
    --divider: #22324A;
    --electric-blue: #2F80FF;
    --ice-cyan: #53C7FF;
    --mist-gray: #AAB5C7;
    --snow-white: #F5F7FB;
    --warning: #FFD580;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; background: var(--obsidian); }
body {
    min-height: 100%; margin: 0; color: var(--snow-white);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 14% 8%, rgba(47,128,255,.22), transparent 28rem),
        radial-gradient(circle at 86% 14%, rgba(83,199,255,.12), transparent 26rem),
        linear-gradient(180deg, #050A12 0%, #07101E 48%, #050A12 100%);
}
body::before {
    content: ""; position: fixed; inset: 0; pointer-events: none;
    background-image: linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
    background-size: 48px 48px; mask-image: radial-gradient(circle at center, black, transparent 75%);
}
a { color: var(--ice-cyan); text-underline-offset: 3px; }
a:hover { color: var(--snow-white); }
.page { width: min(1080px, calc(100% - 32px)); margin: 16px auto; position: relative; }
.shell {
    min-height: calc(100vh - 32px); padding: 28px;
    border: 1px solid rgba(83,199,255,.16); border-radius: 32px;
    background: linear-gradient(180deg, rgba(20,34,56,.86), rgba(12,21,36,.76));
    box-shadow: 0 32px 100px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.04);
    backdrop-filter: blur(20px);
}
.topbar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:24px; border-bottom:1px solid rgba(83,199,255,.12); }
.brand { display:inline-flex; align-items:center; gap:12px; color:var(--snow-white); text-decoration:none; }
.brand-logo { width:42px; height:42px; object-fit:contain; border-radius:13px; box-shadow:0 14px 34px rgba(47,128,255,.2); }
.brand-name { font-size:21px; font-weight:760; letter-spacing:-.05em; }
.legal-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.legal-nav a { padding:8px 11px; border:1px solid rgba(83,199,255,.16); border-radius:999px; color:var(--mist-gray); text-decoration:none; font-size:12px; font-weight:700; }
.legal-nav a[aria-current="page"], .legal-nav a:hover { color:var(--ice-cyan); background:rgba(47,128,255,.10); }
.document { width:min(820px,100%); margin:0 auto; padding:58px 8px 40px; }
.eyebrow { color:var(--ice-cyan); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:12px 0 14px; font-size:clamp(38px,7vw,68px); line-height:1; letter-spacing:-.065em; }
.lead { margin:0; color:var(--mist-gray); font-size:18px; line-height:1.65; }
.meta { display:flex; flex-wrap:wrap; gap:10px 18px; margin:24px 0 34px; color:rgba(170,181,199,.78); font-size:13px; }
.notice { margin:28px 0; padding:18px 20px; border:1px solid rgba(83,199,255,.2); border-radius:18px; background:rgba(47,128,255,.08); color:var(--mist-gray); line-height:1.65; }
.notice strong { color:var(--snow-white); }
.toc { margin:28px 0 42px; padding:22px; border:1px solid rgba(83,199,255,.12); border-radius:22px; background:rgba(5,10,18,.34); }
.toc strong { display:block; margin-bottom:12px; }
.toc ol { margin:0; padding-left:20px; columns:2; column-gap:34px; }
.toc li { margin:7px 0; break-inside:avoid; }
.toc a { color:var(--mist-gray); text-decoration:none; }
.toc a:hover { color:var(--ice-cyan); }
section { scroll-margin-top:20px; margin:0 0 42px; }
h2 { margin:0 0 14px; font-size:27px; line-height:1.18; letter-spacing:-.04em; }
h3 { margin:24px 0 10px; font-size:18px; letter-spacing:-.02em; }
p, li { color:var(--mist-gray); font-size:15.5px; line-height:1.72; }
ul, ol { padding-left:22px; }
li + li { margin-top:7px; }
.table-wrap { overflow-x:auto; margin:18px 0; border:1px solid rgba(83,199,255,.12); border-radius:18px; }
table { width:100%; border-collapse:collapse; min-width:640px; background:rgba(5,10,18,.28); }
th, td { padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid rgba(83,199,255,.10); color:var(--mist-gray); font-size:14px; line-height:1.55; }
th { color:var(--snow-white); background:rgba(47,128,255,.08); }
tr:last-child td { border-bottom:0; }
code { color:var(--ice-cyan); background:rgba(5,10,18,.55); padding:2px 6px; border-radius:6px; }
.footer { padding-top:24px; border-top:1px solid rgba(83,199,255,.12); display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; color:rgba(170,181,199,.72); font-size:13px; }
.footer-links { display:flex; flex-wrap:wrap; gap:14px; }
.footer a { color:inherit; }
@media (max-width:760px) {
    .page { width:min(100% - 20px,1080px); margin:10px auto; }
    .shell { min-height:calc(100vh - 20px); padding:20px; border-radius:26px; }
    .topbar { align-items:flex-start; flex-direction:column; }
    .legal-nav { justify-content:flex-start; }
    .document { padding:42px 0 28px; }
    .toc ol { columns:1; }
}
