/* Shared styling for the legal pages (/site/privacy/, /site/terms/, /site/disclaimer/).
   The landing page stays self-contained; these three share one sheet so the prose
   styling can't drift between them. Tokens mirror site/index.html. */

:root{
  --bg:#0B0E13;--bg2:#0E1219;--surf:#141A22;--line:rgba(255,255,255,0.08);--line2:rgba(255,255,255,0.14);
  --text:#EAF0F6;--muted:#8C97A6;--faint:#7A8595;--em:#10B981;--cy:#06B6D4;
  --grad:linear-gradient(120deg,#10B981,#06B6D4);--amber:#E6B450;--maxw:1120px;--prose:74ch;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--cy);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--surf);border:1px solid var(--line2);
  color:var(--text);font-weight:700;font-size:14px;padding:.7rem 1.1rem;border-radius:0 0 10px 0}
.skip:focus{left:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.15rem,4vw,2rem)}

h1,h2,h3{font-family:'Archivo',sans-serif;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:#fff;text-wrap:balance}
h1{font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.05}
h2{font-size:clamp(1.35rem,2.6vw,1.7rem);margin:2.8rem 0 .9rem;scroll-margin-top:84px}
h3{font-size:1.08rem;font-weight:700;margin:1.6rem 0 .5rem}
p,li{color:var(--muted)}
p{margin-bottom:1rem;max-width:var(--prose)}
strong{color:var(--text);font-weight:700}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--em);font-weight:500}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(11,14,19,.72);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;font-family:'Archivo';font-weight:800;letter-spacing:-.01em;
  font-size:1.05rem;text-decoration:none}
.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--grad);display:grid;place-items:center;
  color:#04110C;font-weight:900;font-size:14px;font-family:'Archivo'}
.back{font-size:14.5px;color:var(--muted);font-weight:600;text-decoration:none;white-space:nowrap}
.back:hover{color:var(--text)}

/* page head */
.lhead{padding:clamp(2.6rem,6vw,4.2rem) 0 clamp(1.6rem,3vw,2.2rem);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.lhead::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 340px at 12% -20%,rgba(16,185,129,.13),transparent 62%);pointer-events:none}
.lhead .wrap{position:relative}
.lhead h1{margin:.8rem 0 .9rem}
.lhead .sub{color:var(--muted);max-width:62ch;font-size:1.05rem}
.updated{margin-top:1.2rem;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--faint);letter-spacing:.02em}

/* body layout: sticky table of contents beside the prose */
.lbody{padding:clamp(2rem,4vw,3.2rem) 0 clamp(3.5rem,7vw,5.5rem)}
.lbody .wrap{display:grid;grid-template-columns:230px 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.toc{position:sticky;top:88px}
.toc .th{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--faint);margin-bottom:.8rem}
.toc ol{list-style:none;counter-reset:t;display:grid;gap:.1rem}
.toc a{display:block;font-size:14px;color:var(--muted);text-decoration:none;padding:.4rem .5rem;border-radius:8px;
  border-left:2px solid transparent}
.toc a:hover{color:var(--text);background:rgba(255,255,255,.03);border-left-color:var(--em)}

.prose > :first-child{margin-top:0}
.prose ul{list-style:none;display:grid;gap:.55rem;margin:0 0 1.2rem;max-width:var(--prose)}
.prose ul li{display:flex;gap:.65rem;align-items:flex-start}
.prose ul li::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--em);
  margin-top:.62rem;opacity:.75}
.prose ol{margin:0 0 1.2rem 1.2rem;display:grid;gap:.55rem;max-width:var(--prose)}
.prose a[href]{color:var(--cy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a[href]:hover{color:var(--em)}

/* callouts */
.note{border:1px solid var(--line);background:var(--bg2);border-radius:14px;padding:1.1rem 1.2rem;margin:1.4rem 0;max-width:var(--prose)}
.note p:last-child{margin-bottom:0}
.note.em{border-color:rgba(16,185,129,.3);background:rgba(16,185,129,.05)}
.note.warn{border-color:rgba(230,180,80,.32);background:rgba(230,180,80,.06)}
.note .nh{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:700;margin-bottom:.5rem;display:block}
.note.em .nh{color:var(--em)}
.note.warn .nh{color:var(--amber)}

/* definition table */
.dl{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:1.3rem 0;max-width:var(--prose)}
.dl .row{display:grid;grid-template-columns:minmax(140px,.42fr) 1fr;gap:1rem;padding:.85rem 1.05rem;
  border-bottom:1px solid var(--line)}
.dl .row:last-child{border-bottom:none}
.dl .k{font-weight:700;color:var(--text);font-size:14.5px}
.dl .v{color:var(--muted);font-size:14.5px}

/* unmistakable marker for details the owner still has to supply */
.todo{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:700;
  color:#1a1204;background:var(--amber);padding:.08rem .45rem;border-radius:5px;letter-spacing:.01em}
.todo-banner{border:1px solid rgba(230,180,80,.5);background:rgba(230,180,80,.09);border-radius:14px;
  padding:1.1rem 1.2rem;margin:0 0 2rem;max-width:var(--prose)}
.todo-banner .nh{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:700;color:var(--amber);margin-bottom:.5rem;display:block}
.todo-banner p{color:#f0d9a8}
.todo-banner p:last-child{margin-bottom:0}

/* footer */
footer{background:var(--bg2);border-top:1px solid var(--line);padding:2.6rem 0 2.2rem}
.foot{display:flex;justify-content:space-between;gap:1.6rem;flex-wrap:wrap;align-items:center}
.foot nav{display:flex;gap:1.4rem;flex-wrap:wrap}
.foot a{font-size:14px;color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--text)}
.copy{margin-top:1.8rem;padding-top:1.3rem;border-top:1px solid var(--line);font-size:12.5px;color:var(--faint);
  font-family:'JetBrains Mono',monospace;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}

@media(max-width:860px){
  .lbody .wrap{grid-template-columns:1fr;gap:2rem}
  .toc{position:static;border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem;background:var(--bg2)}
  .dl .row{grid-template-columns:1fr;gap:.25rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
