/* Shared styles for the legal / text pages (privacy, terms, 404).
   Palette mirrors mobile/src/ui/theme.ts — deep-space neon. */
:root{
  --bg:#0B0716; --bg-deep:#070411; --surface:#150C2B; --line:#2C1B57;
  --violet:#7C3AED; --cyan:#22D3EE; --orange:#F97316; --gold:#FBBF24;
  --text:#F5F3FF; --muted:#A79FC4; --dim:#6D6490;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg); color:var(--text); font-family:'Exo 2',system-ui,sans-serif; font-size:17px; line-height:1.65;}
a{color:var(--cyan)}
a:hover{color:var(--orange)}
:focus-visible{outline:2px solid var(--cyan); outline-offset:3px;}

.topbar{padding:18px 22px; border-bottom:1px solid var(--line); background:var(--bg-deep);}
.topbar .lg{font-weight:800; font-size:15px; letter-spacing:2px; text-decoration:none; color:var(--text);}
.topbar .lg span{color:var(--orange);}

main{max-width:760px; margin:0 auto; padding:64px 22px 90px;}
.eyebrow{font-size:12px; font-weight:700; letter-spacing:3px; color:var(--dim);}
h1{font-weight:800; font-size:clamp(32px,6vw,52px); line-height:1.1; margin-top:14px;}
.updated{margin-top:14px; font-size:12px; font-weight:600; letter-spacing:1px; color:var(--dim);}
.lede{margin-top:26px; color:var(--muted); font-size:18px;}

h2{font-weight:800; font-size:23px; margin-top:52px; padding-top:26px; border-top:1px solid var(--line);}
h2 .num{font-size:13px; font-weight:700; letter-spacing:2px; color:var(--orange); display:block; margin-bottom:6px;}
h3{font-weight:700; font-size:14px; letter-spacing:2px; margin-top:26px; color:var(--text);}
p{margin-top:14px; color:var(--muted);}
p strong, li strong, td strong{color:var(--text);}
ul{margin-top:14px; padding-left:22px; color:var(--muted);}
li{margin-top:8px;}
table{width:100%; margin-top:18px; border-collapse:collapse; font-size:15px; color:var(--muted);}
th,td{text-align:left; vertical-align:top; padding:11px 12px; border:1px solid var(--line);}
th{font-size:12px; font-weight:700; letter-spacing:1px; color:var(--text); background:var(--surface);}
.tablewrap{overflow-x:auto;}
.callout{margin-top:26px; border-left:3px solid var(--violet); background:var(--surface); padding:18px 20px;}
.callout p:first-child{margin-top:0;}

footer{border-top:1px solid var(--line); padding:34px 22px 90px; text-align:center;}
footer nav{display:flex; gap:26px; justify-content:center; flex-wrap:wrap;}
footer a{font-size:12px; font-weight:700; letter-spacing:2px; color:var(--dim); text-decoration:none;}
footer a:hover{color:var(--text);}
footer .fine{margin-top:22px; font-size:11px; letter-spacing:1px; color:#443c66;}
