/* Shared styles for the text pages: privacy, terms, 404. The home page keeps
   its own inline styles. Tokens match index.html, contrast-checked to AA. */
:root{
  --bg:#000; --p1:#0C0E11; --p2:#12151A; --line:#24282F; --line2:#33383F;
  --mute:#868B96; --mute2:#9EA3AD; --soft:#C9CCD3; --w:#FFF; --max:760px;
}
*{box-sizing:border-box;}
body{margin:0; background:var(--bg); color:var(--soft);
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;}
a{color:var(--w); text-underline-offset:3px;}
:focus-visible{outline:2px solid var(--w); outline-offset:3px;}
.top{display:flex; align-items:center; justify-content:space-between; gap:16px;
  max-width:1340px; margin:0 auto; padding:18px 22px; border-bottom:1px solid var(--line);}
.brand{display:flex; align-items:center; gap:10px; color:var(--w); text-decoration:none; font-weight:600; font-size:14px;}
.brand img{width:20px; height:auto; display:block;}
.btn{display:inline-flex; align-items:center; background:var(--w); color:#000; font-weight:600;
  font-size:13.5px; padding:11px 20px; border-radius:999px; text-decoration:none; white-space:nowrap;}
.btn:hover{background:var(--soft);}
main{max-width:var(--max); margin:0 auto; padding:64px 22px 40px;}
.em{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--mute);}
h1{color:var(--w); font-weight:300; font-size:clamp(34px,6vw,52px); letter-spacing:-1.8px; line-height:1.05; margin:12px 0 10px;}
h2{color:var(--w); font-weight:500; font-size:21px; letter-spacing:-0.4px; margin:44px 0 10px;}
h3{color:var(--w); font-weight:500; font-size:16px; margin:24px 0 6px;}
p,li{max-width:68ch;}
ul{padding-left:20px;}
li{margin-bottom:6px;}
.meta{color:var(--mute2); font-size:14px;}
.box{border:1px solid var(--line); border-radius:14px; background:var(--p1); padding:20px 22px; margin:24px 0;}
table{width:100%; border-collapse:collapse; font-size:14px; margin:14px 0;}
th,td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top;}
th{color:var(--w); font-weight:500;}
.tablewrap{overflow-x:auto;}
.foot{max-width:1340px; margin:40px auto 0; padding:26px 22px 40px; border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:14px 26px; justify-content:space-between; font-size:13px; color:var(--mute2);}
.foot nav{display:flex; flex-wrap:wrap; gap:14px 22px;}
.foot a{color:var(--mute2); text-decoration:none;}
.foot a:hover{color:var(--w);}

.crumbs ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px;
  font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:var(--mute);}
.crumbs li+li::before{content:"/"; margin-right:8px; color:var(--line2);}
.crumbs a{color:var(--mute2); text-decoration:none;}
.crumbs a:hover{color:var(--w);}
.crumbs [aria-current]{color:var(--soft);}
