/* Shared styles for /privacy-policy and /terms — same tokens as the landing page */
@font-face{font-family:'Archivo';font-style:normal;font-weight:800 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo.woff2) format('woff2')}
@font-face{font-family:'Archivo Black';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/archivo-black.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/jetbrains-mono.woff2) format('woff2')}
:root{
  --bg:#EFEAD6; --paper:#FFFAE3; --card:#FFF3D6; --raised:#FFF8E6; --tint1:#FBF5D9; --tint2:#F7F7DA;
  --ink:#1A1A1A; --muted:#6B6453; --border:#1A1A1A; --shadow:#1A1A1A; --divider:#E3E0D6; --neutral:#E8E1CC;
  --down:#00794C; --down-bg:#C6EAD5; --down-fg:#005B33; --up-bg:#FFD9CF; --up-fg:#991E09;
  --accent:#DE5C53; --on-accent:#16140F; --accent-soft:#FFDCD7; --accent-fg:#B32309;
  --grain:url(img/paper_grain_light.png); --grain-o:.22;
  --display:"Archivo Black",system-ui,sans-serif; --cond:"Archivo","Archivo Black",system-ui,sans-serif;
  --ui:"Inter",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
}
:root[data-theme="dark"]{
  --bg:#080502; --paper:#1C1810; --card:#28231A; --raised:#343026; --tint1:#28241A; --tint2:#262419;
  --ink:#DFD7C0; --muted:#A29B88; --border:#A2977F; --shadow:#050301; --divider:#3D372C; --neutral:#343026;
  --down:#72C38A; --down-bg:#193E25; --down-fg:#7FDC9A; --up-bg:#512822; --up-fg:#FF9F8F;
  --accent:#E75347; --accent-soft:#512824; --accent-fg:#FD8074;
  --grain:url(img/paper_grain_dark.png); --grain-o:.18;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--ui);font-weight:500;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;background:var(--grain);opacity:var(--grain-o);pointer-events:none;z-index:0;mix-blend-mode:multiply}
:root[data-theme="dark"] body::before{mix-blend-mode:screen}
header,main,footer{position:relative;z-index:1}
a{color:inherit}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(16px,2.6vw,40px)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}

/* top bar */
.bar{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-size:22px;letter-spacing:-.03em}
.brand img{width:38px;height:38px;border-radius:10px}
.bar-r{display:flex;align-items:center;gap:8px;padding:5px;border:2px solid var(--border);border-radius:16px;background:var(--paper);box-shadow:3px 3px 0 var(--shadow)}
.bar-r a.lnk{padding:8px 14px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none}
.bar-r a.lnk:hover,.bar-r a.lnk[aria-current]{background:var(--accent-soft)}
.icon-btn{width:38px;height:38px;display:grid;place-items:center;border:2px solid var(--border);border-radius:10px;background:var(--raised);cursor:pointer;color:var(--ink)}
.icon-btn svg{width:18px;height:18px}
.only-dark{display:none} :root[data-theme="dark"] .only-dark{display:block} :root[data-theme="dark"] .only-light{display:none}

/* page head */
.phead{margin:8px 0 40px;background:var(--accent);color:#16140F;border:2px solid #1A1A1A;border-radius:32px;box-shadow:8px 8px 0 var(--shadow);padding:clamp(32px,5vw,64px) clamp(22px,4vw,56px);position:relative;overflow:hidden}
.phead .eyebrow{font-family:var(--mono);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.8}
.phead h1{font-family:var(--cond);font-weight:900;font-stretch:66%;text-transform:uppercase;font-size:clamp(56px,10vw,150px);line-height:.85;margin:10px 0 18px;letter-spacing:-.005em}
.phead p{max-width:640px;font-weight:600;font-size:18px;opacity:.88}
.dates{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.dates span{font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border:2px solid #1A1A1A;border-radius:8px;background:#FFF8E6}
.phead .ghost-word{position:absolute;right:-2%;bottom:-18%;font-family:var(--cond);font-weight:900;font-stretch:62%;font-size:clamp(160px,22vw,340px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,248,230,.35);text-transform:uppercase;pointer-events:none;white-space:nowrap}

/* summary cards */
.tldr{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:56px}
.tl{border:2px solid var(--border);border-radius:18px;box-shadow:4px 4px 0 var(--shadow);padding:22px;background:var(--card)}
.tl:nth-child(1){background:var(--down-bg)} .tl:nth-child(2){background:var(--tint2)} .tl:nth-child(3){background:var(--accent-soft)}
.tl .ic{width:42px;height:42px;border-radius:12px;border:2px solid var(--border);background:var(--raised);display:grid;place-items:center;margin-bottom:12px;rotate:-4deg}
.tl .ic svg{width:22px;height:22px}
.tl h3{font-family:var(--display);font-weight:400;font-size:20px;line-height:1.15;margin-bottom:8px}
.tl ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:15px}
.tl li{padding-left:18px;position:relative}
.tl li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55}

/* layout: toc + article */
.layout{display:grid;grid-template-columns:260px minmax(0,780px);gap:clamp(24px,4vw,72px);align-items:start;margin-bottom:80px}
.toc{position:sticky;top:20px;border:2px solid var(--border);border-radius:18px;background:var(--paper);box-shadow:3px 3px 0 var(--shadow);padding:16px}
.toc b{display:block;font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.toc ol{list-style:none;counter-reset:t;display:flex;flex-direction:column;gap:2px}
.toc li{counter-increment:t}
.toc a{display:flex;gap:8px;text-decoration:none;font-size:14px;font-weight:600;padding:6px 8px;border-radius:8px;line-height:1.3}
.toc a::before{content:counter(t,decimal-leading-zero);font-family:var(--mono);font-size:11px;font-weight:800;color:var(--muted);padding-top:2px}
.toc a:hover,.toc a.on{background:var(--accent-soft)}

article section{scroll-margin-top:24px;padding:6px 0 34px;border-bottom:1.5px dashed var(--divider);margin-bottom:34px}
article section:last-child{border-bottom:0}
article h2{font-family:var(--cond);font-weight:900;font-stretch:70%;text-transform:uppercase;font-size:clamp(32px,4vw,48px);line-height:.95;margin-bottom:14px;display:flex;align-items:baseline;gap:14px}
article h2 .n{font-family:var(--mono);font-size:13px;font-weight:800;letter-spacing:.1em;padding:3px 8px;border:2px solid var(--border);border-radius:7px;background:var(--raised);translate:0 -8px;flex:none}
article h3{font-family:var(--display);font-weight:400;font-size:20px;margin:22px 0 8px}
article p{margin-bottom:14px}
article ul,article ol{margin:0 0 16px 22px;display:flex;flex-direction:column;gap:6px}
article strong{font-weight:800}
article a{font-weight:700;text-decoration-thickness:2px;text-underline-offset:3px}
.note{border:2px solid var(--border);border-radius:14px;padding:14px 16px;background:var(--down-bg);margin:6px 0 18px;font-size:16px}
.note.warn{background:var(--accent-soft)}
.note b{font-family:var(--display);font-weight:400}
.tbl{width:100%;border-collapse:separate;border-spacing:0;border:2px solid var(--border);border-radius:14px;overflow:hidden;margin:6px 0 18px;font-size:15px;box-shadow:3px 3px 0 var(--shadow)}
.tbl th{font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-align:left;background:var(--ink);color:var(--paper);padding:10px 12px}
.tbl td{padding:12px;vertical-align:top;background:var(--raised);border-top:1.5px solid var(--divider)}
.tbl tr:nth-child(even) td{background:var(--card)}
.tbl td:first-child{font-weight:800;white-space:nowrap}
.tbl-wrap{overflow-x:auto}

/* footer */
footer{border-top:2px solid var(--border);background:var(--paper);padding:34px 0}
.foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.foot nav{display:flex;gap:18px;flex-wrap:wrap}
.foot nav a{font-weight:700;color:var(--ink);text-decoration:none}
.foot nav a:hover{text-decoration:underline}

@media (max-width:1024px){
  .layout{grid-template-columns:1fr}
  .toc{position:static}
  .tldr{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .bar-r a.lnk{display:none}
  .phead{border-radius:22px}
  .tbl td:first-child{white-space:normal}
}
@media print{
  body::before,.bar-r,.toc,.phead .ghost-word{display:none}
  .phead{box-shadow:none;background:none;border:0;padding:0}
  .layout{grid-template-columns:1fr}
}
