/* legal.css — shared styling for the Terms & Privacy pages.
   Dark Railbird theme, a navigable table of contents, and auto-numbered
   sections + decimal sub-clauses (e.g. 5.1, 5.2) via CSS counters. */
:root{
  --bg:#0a0e14; --bg-soft:#111722; --card:#141b27; --line:#1f2a3a;
  --text:#e6edf6; --muted:#8a98ad; --accent:#2ee6a6; --accent-dim:#1aa57a; --warn:#ffcf6b;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
.wrap{max-width:820px;margin:0 auto;padding:0 22px}

/* sticky header */
.lg-header{position:sticky;top:0;z-index:5;background:rgba(10,14,20,.85);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);padding:13px 0}
.lg-header .wrap{display:flex;align-items:center;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:19px;
  letter-spacing:-.3px;color:var(--text);text-decoration:none}
.brand span{color:var(--accent)}
.brand .mark{width:24px;height:24px;flex:0 0 auto;
  filter:drop-shadow(0 0 3px rgba(46,230,166,.55)) drop-shadow(0 1px 8px rgba(46,230,166,.28))}
.brand .beta{font-size:9px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
  color:var(--accent);border:1px solid var(--accent-dim);border-radius:5px;padding:2px 5px;line-height:1;align-self:center}
.lg-nav a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;margin-left:16px}
.lg-nav a:hover{color:var(--text)}
.lg-nav a.cur{color:var(--accent)}

/* hero */
main{padding:34px 0 70px}
h1{font-size:clamp(28px,5vw,38px);letter-spacing:-.7px;margin-bottom:6px;font-weight:800}
.updated{color:var(--muted);font-size:13.5px;margin-bottom:18px}
.updated b{color:var(--text)}

/* draft banner */
.banner{background:rgba(255,207,107,.08);border:1px solid rgba(255,207,107,.35);
  border-left:3px solid var(--warn);border-radius:12px;padding:14px 16px;margin-bottom:22px;
  color:#f0dca5;font-size:14px;line-height:1.6}
.banner b{color:var(--warn)}

/* plain-english key point */
.keypoint{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:18px 0 26px}
.keypoint .h{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:8px}
.keypoint p{color:var(--muted);margin:0}
.keypoint strong{color:#fff}

/* table of contents */
.toc{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:34px}
.toc .h{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-weight:700}
.toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;column-count:2;column-gap:28px}
.toc li{counter-increment:toc;margin-bottom:7px;break-inside:avoid;font-size:14px}
.toc li::before{content:counter(toc) ". ";color:var(--accent);font-weight:700}
.toc a{color:var(--text);text-decoration:none}
.toc a:hover{color:var(--accent)}
@media(max-width:600px){.toc ol{column-count:1}}

/* auto-numbered sections + sub-clauses */
.body{counter-reset:sec}
section.sec{counter-reset:sub;margin-top:32px;scroll-margin-top:74px}
section.sec>h2{counter-increment:sec;font-size:20px;letter-spacing:-.3px;margin-bottom:10px;font-weight:800}
section.sec>h2::before{content:counter(sec) ". ";color:var(--accent)}
section.sec h3{font-size:15.5px;color:var(--text);margin:16px 0 6px;font-weight:700}
.sec p{color:var(--muted);margin-bottom:11px}
.sec p.lead{color:var(--text)}
.sec strong{color:var(--text)}

ol.clauses{list-style:none;margin:0 0 12px;padding:0;counter-reset:cl}
ol.clauses>li{counter-increment:cl;position:relative;padding-left:44px;margin-bottom:10px;color:var(--muted)}
ol.clauses>li::before{content:counter(sec) "." counter(cl);position:absolute;left:0;top:0;
  color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
ol.clauses>li strong{color:var(--text)}
ol.clauses ul{margin:8px 0 4px 18px}
ol.clauses ul li{margin-bottom:5px}

ul.plain{margin:0 0 12px 20px;color:var(--muted)}
ul.plain li{margin-bottom:6px}

/* definitions */
dl.defs dt{color:var(--text);font-weight:700;margin-top:12px}
dl.defs dd{color:var(--muted);margin:2px 0 0;padding-left:0}

/* placeholders to fill in */
.ph{background:rgba(46,230,166,.12);border:1px dashed var(--accent);border-radius:6px;
  padding:1px 7px;color:var(--accent);font-size:13px;font-weight:600;white-space:nowrap}

/* tables */
table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:13.5px}
th,td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
th{background:var(--bg-soft);color:var(--text);font-weight:700}
td{color:var(--muted)}

.back-top{display:inline-block;margin-top:8px;font-size:12px;color:var(--muted);text-decoration:none}
.back-top:hover{color:var(--accent)}

/* footer */
footer{border-top:1px solid var(--line);padding:26px 0 60px;color:var(--muted);font-size:13px;margin-top:40px}
footer a{color:var(--muted)}
.foot-links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px}
.badge{display:inline-block;border:1px solid var(--line);border-radius:6px;padding:3px 9px;font-size:12px;color:var(--muted);margin-right:6px}
.rg{line-height:1.65;max-width:720px}
.rg b{color:var(--text)}
