:root{
  --fog:#ECEFEA; --paper:#F9FBF8; --ink:#10241D; --ink-2:#3F5149; --ink-3:#6C7D75; --rule:#CBD4CE;
  --accent:#FF4B1F; --accent-text:#B63E0E; --accent-soft:#FFE5D9;
  --hero:#0A2219; --band-ink:#EEF4F0; --band-ink-2:#B4C8BE; --band-rule:rgba(238,244,240,.18); --band-accent:#FF8B5C;
  --todo-bg:#FFF1A8; --todo-ink:#5A4500;
  --display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --stencil:"Saira Stencil One","Barlow Condensed",Impact,sans-serif;
  --sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --fog:#0B1411; --paper:#111C18; --ink:#E5ECE7; --ink-2:#B2C1BA; --ink-3:#7C8D85; --rule:#26372F;
    --accent-text:#FF8B5C; --accent-soft:#35190D; --hero:#07170F; --todo-bg:#4A3D00; --todo-ink:#FFE680;
  }
}
:root[data-theme="dark"]{
  --fog:#0B1411; --paper:#111C18; --ink:#E5ECE7; --ink-2:#B2C1BA; --ink-3:#7C8D85; --rule:#26372F;
  --accent-text:#FF8B5C; --accent-soft:#35190D; --hero:#07170F; --todo-bg:#4A3D00; --todo-ink:#FFE680;
}
*{box-sizing:border-box}
html,body{margin:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--fog);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--accent-text)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:20px}
@media (min-width:720px){.wrap{padding-inline:32px}}

.lg-top{background:var(--hero);border-bottom:1px solid var(--band-rule)}
.lg-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.brand .ic{display:block;width:36px;height:36px;transform-origin:44.9% 51.2%;animation:gb-spin 45s linear infinite}
@keyframes gb-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.brand .ic{animation:none}}
.mark{font-family:var(--stencil);font-size:1.4rem;letter-spacing:.06em;color:var(--band-ink);line-height:1}
.mark span{color:var(--accent)}
.back{color:var(--band-ink-2);text-decoration:none;font-size:.92rem;font-weight:500}
.back:hover{color:var(--band-ink)}

.lg-hero{background:var(--hero);color:var(--band-ink);padding-block:44px 40px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--band-accent);margin:0}
.lg-hero h1{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(2.4rem,6vw,4rem);line-height:.95;margin:10px 0 0;text-wrap:balance}
.lg-hero .lead{color:var(--band-ink-2);font-size:1.15rem;max-width:44em;margin:16px 0 0}
.lg-hero .meta{font-family:var(--mono);font-size:12px;color:var(--band-ink-2);margin:18px 0 0}

.lg-body .wrap{display:grid;gap:36px;padding-block:44px 80px}
@media (min-width:980px){.lg-body .wrap{grid-template-columns:240px minmax(0,1fr);gap:56px}}
.lg-nav ul{list-style:none;margin:0;padding:0}
@media (min-width:980px){.lg-nav{position:sticky;top:24px;align-self:start}.lg-nav ul{border-left:2px solid var(--rule)}}
@media (max-width:979px){.lg-nav ul{display:flex;flex-wrap:wrap;gap:8px}.lg-nav a{border:1px solid var(--rule);border-radius:999px;padding:5px 12px!important;margin:0!important}}
.lg-nav a{display:block;padding:6px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink-2);text-decoration:none;font-size:.95rem}
.lg-nav a:hover{color:var(--ink)}
.lg-nav a[aria-current="page"]{color:var(--ink);font-weight:600;border-left-color:var(--accent)}
@media (max-width:979px){.lg-nav a[aria-current="page"]{border-color:var(--accent)}}

article{max-width:72ch;min-width:0}
article h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:1.85rem;line-height:1;margin:44px 0 12px;scroll-margin-top:20px}
article h2:first-of-type{margin-top:28px}
article h3{font-size:1.08rem;margin:26px 0 8px}
article p{margin:0 0 14px;color:var(--ink-2)}
article ul,article ol{margin:0 0 16px;padding-left:22px;color:var(--ink-2)}
article li{margin-bottom:6px}
article strong{color:var(--ink)}
.summary{background:var(--accent-soft);border-left:3px solid var(--accent);padding:16px 20px;border-radius:0 8px 8px 0;margin:0 0 8px}
.summary p{margin:0;color:var(--ink)}
.summary p + p{margin-top:8px}
.tw{overflow-x:auto;border:1px solid var(--rule);background:var(--paper);margin:0 0 18px}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.93rem}
th,td{padding:10px 14px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
tr:last-child td{border-bottom:0}
th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--fog)}
td{color:var(--ink-2)}
.form-block{background:var(--paper);border:1px solid var(--rule);padding:16px 20px;font-family:var(--mono);font-size:.88rem;white-space:pre-wrap;color:var(--ink-2);margin:0 0 16px}
.todo{background:var(--todo-bg);color:var(--todo-ink);padding:0 5px;border-radius:3px;font-weight:600}

/* cookie preferences */
.prefs{display:grid;gap:12px;margin:8px 0 18px}
.pref{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;align-items:start;background:var(--paper);border:1px solid var(--rule);padding:18px 20px}
.pref h3{margin:0;font-size:1.05rem}
.pref p{margin:0;font-size:.95rem}
.switch{position:relative;display:inline-block;width:52px;height:30px}
.switch input{opacity:0;width:0;height:0;position:absolute}
.slider{position:absolute;inset:0;background:var(--rule);border-radius:999px;cursor:pointer;transition:background .15s}
.slider::before{content:"";position:absolute;width:22px;height:22px;left:4px;top:4px;background:#fff;border-radius:50%;transition:transform .15s}
.switch input:checked + .slider{background:var(--accent)}
.switch input:checked + .slider::before{transform:translateX(22px)}
.switch input:disabled + .slider{opacity:.55;cursor:not-allowed}
.switch input:focus-visible + .slider{outline:3px solid var(--accent);outline-offset:2px}
.pref-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px}
.btn{display:inline-flex;align-items:center;justify-content:center;font:700 .98rem var(--sans);padding:12px 20px;border-radius:6px;border:0;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--accent);color:#1A0B04}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.status{font-size:.95rem;color:var(--ink-2);min-height:1.4em;margin:0}

.lg-foot{background:var(--hero);color:var(--band-ink-2);font-size:.86rem;padding-block:28px}
.lg-foot .wrap{display:grid;gap:8px}
.lg-foot p{margin:0}
.lg-foot a{color:var(--band-ink)}
