:root{
  --paper:#EAF0EF; --panel:#F4F8F7; --raise:#FFFFFF;
  --ink:#0B1B1D; --ink-2:#38494A; --ink-3:#6B7B7B;
  --line:#C6D4D2; --line-2:#D8E1E0;
  --accent:#8A6626; --accent-2:#A87E38;
  --pool:#0d2324; --free:#4b6b5f; --pay:#8A6626; --new:#9c3535;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#081315; --panel:#0E1C1C; --raise:#122221;
  --ink:#E7EEEC; --ink-2:#A9BAB8; --ink-3:#798B8A;
  --line:#233332; --line-2:#1a2827;
  --accent:#CB9C58; --accent-2:#E0B675;
  --pool:#06100f; --free:#8fb3a4; --pay:#CB9C58; --new:#e08a8a;
}}
:root[data-theme="dark"]{
  --paper:#081315; --panel:#0E1C1C; --raise:#122221;
  --ink:#E7EEEC; --ink-2:#A9BAB8; --ink-3:#798B8A;
  --line:#233332; --line-2:#1a2827;
  --accent:#CB9C58; --accent-2:#E0B675;
  --pool:#06100f; --free:#8fb3a4; --pay:#CB9C58; --new:#e08a8a;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--paper); color:var(--ink);
  font-family:"Newsreader",Georgia,serif; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
.mono{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace}
a{color:inherit; text-decoration:none}
.wrap{max-width:1280px; margin:0 auto; padding-inline:20px}

.flag{border-bottom:1px solid var(--line); background:radial-gradient(120% 120% at 50% 130%, color-mix(in srgb,var(--pool) 45%,transparent), transparent 72%)}
.flag-top{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:6px 0; border-bottom:1px solid var(--line-2);
  font-family:"IBM Plex Mono",monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.14em; color:var(--ink-3)}
.flag-top>:last-child{text-align:right}
.flag-top b{color:var(--accent); font-weight:600}
.nameplate{font-family:"Bodoni Moda",Didot,serif; font-weight:700; text-align:center; line-height:.92;
  font-size:clamp(32px,4.9vw,54px); letter-spacing:-.01em; margin:9px 0 4px}
.kick{display:flex; justify-content:center; align-items:center; gap:12px; padding-bottom:9px;
  font-family:"IBM Plex Mono",monospace; font-size:10px; text-transform:uppercase; letter-spacing:.28em; color:var(--ink-2)}
.kick::before,.kick::after{content:""; width:22px; height:1px; background:var(--accent); opacity:.85}

.nav{position:sticky; top:0; z-index:6; background:color-mix(in srgb,var(--paper) 94%,transparent); backdrop-filter:saturate(1.2) blur(6px);
  border-bottom:1px solid var(--line)}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 20px}
.secnav{display:flex; gap:15px; flex-wrap:wrap; font-family:"IBM Plex Mono",monospace; font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-2)}
.secnav a:hover{color:var(--accent)}
.navbrand{font-family:"Bodoni Moda",serif; font-weight:600; font-size:16px; letter-spacing:.01em; color:var(--ink)}
.navr{display:flex; align-items:center; gap:8px; flex:none}
.sub-btn,.toggle{font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; border-radius:2px; padding:6px 11px}
.sub-btn{color:var(--raise); background:var(--ink); border:1px solid var(--ink)}
.sub-btn:hover{background:var(--accent); border-color:var(--accent)}
.toggle{color:var(--ink-2); background:transparent; border:1px solid var(--line)}
.toggle:hover{color:var(--accent); border-color:var(--accent)}
.sub-btn:focus-visible,.toggle:focus-visible,a:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

.subbar{background:var(--panel); max-height:0; overflow:hidden; visibility:hidden; border-bottom:0 solid var(--line)}
.subbar.on{max-height:400px; visibility:visible; border-bottom-width:1px}
.subbar .wrap{display:flex; align-items:center; gap:12px; padding:10px 20px; flex-wrap:wrap}
.subbar p{margin:0; font-size:14px; color:var(--ink-2)}
.subbar b{color:var(--ink)}
.subbar form{display:flex; gap:8px; margin-left:auto; flex-wrap:wrap}
.subbar input{font-family:"IBM Plex Mono",monospace; font-size:12.5px; padding:8px 11px; border:1px solid var(--line); border-radius:2px; background:var(--raise); color:var(--ink); min-width:200px}
.subbar input:focus-visible{outline:2px solid var(--accent); outline-offset:1px; border-color:transparent}
.subbar button{font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; padding:8px 15px; color:var(--raise); background:var(--ink); border:1px solid var(--ink); border-radius:2px; cursor:pointer}
.subbar button:hover{background:var(--accent); border-color:var(--accent)}
.subok{color:var(--free); font-family:"IBM Plex Mono",monospace; font-size:11px}

.today{padding:12px 0; border-bottom:1px solid var(--line); font-family:"Newsreader",serif; font-style:italic; font-size:18px; line-height:1.4; color:var(--ink); text-align:center}
.today b{font-style:normal; font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-right:8px}
.today .cnt{font-style:normal; font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.06em; color:var(--ink-3); border:1px solid var(--line); border-radius:2px; padding:1px 6px; margin-left:8px; white-space:nowrap; display:inline-block}

main{padding-block:14px 8px}
.cols{column-count:3; column-gap:30px; column-rule:1px solid var(--line)}
@media (max-width:920px){.cols{column-count:2}}
@media (max-width:600px){.cols{column-count:1}}
.beat{break-inside:avoid; margin-bottom:17px}
.beat-h{display:flex; align-items:center; gap:8px; margin:0 0 7px;
  font-family:"IBM Plex Mono",monospace; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:var(--ink);
  border-bottom:2px solid var(--accent); padding-bottom:5px}
.beat-h .dot{color:var(--accent); font-weight:700}

.it{padding:6px 0; border-top:1px solid var(--line-2)}
.it:first-of-type{border-top:0}
.hl{font-family:"Newsreader",serif; font-weight:600; font-size:14px; line-height:1.24; letter-spacing:-.003em; display:inline}
.hl:hover{color:var(--accent); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px}
.mt{display:flex; align-items:center; gap:6px; margin-top:3px; flex-wrap:wrap}
.src{font-family:"IBM Plex Mono",monospace; font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3)}
.date{font-family:"IBM Plex Mono",monospace; font-size:9px; letter-spacing:.03em; color:var(--ink-3); opacity:.85}
.date::before{content:"\00b7 "; opacity:.6}
.tag{font-family:"IBM Plex Mono",monospace; font-size:8.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:1px 5px; border-radius:2px; line-height:1.5}
.tag.pay{color:var(--raise); background:var(--pay)}
.tag.free{color:var(--free); border:1px solid color-mix(in srgb,var(--free) 50%,transparent)}
.tag.reg{color:var(--pay); border:1px solid color-mix(in srgb,var(--pay) 55%,transparent)}
.tag.new{color:var(--raise); background:var(--new)}
.dek{margin:4px 0 0; font-size:12.5px; line-height:1.42; color:var(--ink-2)}
.lead .hl{font-size:16.5px; line-height:1.2}

footer{border-top:1px solid var(--line); margin-top:8px; padding:16px 0 40px; text-align:center}
.fn{font-family:"Bodoni Moda",serif; font-weight:600; font-size:17px}
.fcopy{margin:14px auto 0;max-width:70ch;padding-top:12px;border-top:1px solid var(--line);font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.fnote{margin:8px auto 0; max-width:70ch; color:var(--ink-3); font-size:12px; line-height:1.6}

.breaking{background:#8f2d2d; border-bottom:1px solid #6f2020}
:root[data-theme="dark"] .breaking{background:#7a2626; border-bottom-color:#521818}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .breaking{background:#7a2626; border-bottom-color:#521818}}
.breaking .wrap{display:flex; align-items:center; gap:12px; padding:8px 20px; flex-wrap:wrap}
.bk-kick{display:flex; align-items:center; gap:7px; flex:none; font-family:"IBM Plex Mono",monospace; font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#fff}
.bk-dot{width:7px; height:7px; border-radius:50%; background:#ffd7d7; box-shadow:0 0 0 0 rgba(255,255,255,.6); animation:bkpulse 1.9s infinite}
@keyframes bkpulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.bk-hl{font-family:"Newsreader",serif; font-weight:600; font-size:15px; line-height:1.3; color:#fff; text-decoration:none}
.bk-hl:hover{text-decoration:underline; text-underline-offset:2px}
.bk-meta{margin-left:auto; flex:none; font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.04em; color:#ffcccc}
@media (prefers-reduced-motion:reduce){*{transition:none!important} .bk-dot{animation:none}}

/* --- hero + by-the-numbers + search --- */
.psearch{display:flex; align-items:center; gap:11px; border:1px solid var(--line); background:var(--panel); border-radius:3px; padding:9px 13px; margin:12px 0 2px}
.psearch:focus-within{border-color:var(--accent)}
.ps-ico{color:var(--ink-3); flex:none}
.psearch input{flex:1; min-width:0; border:0; background:transparent; color:var(--ink); font-family:"Newsreader",serif; font-size:15.5px; outline:none}
.psearch input::placeholder{color:var(--ink-3); font-style:italic}
.ps-go{flex:none; font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--raise); background:var(--ink); border:1px solid var(--ink); border-radius:2px; padding:8px 15px; text-decoration:none; cursor:pointer}
.ps-go:hover{background:var(--accent); border-color:var(--accent)}
.ps-sub{flex:none; font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); background:transparent; border:1px solid var(--accent); border-radius:2px; padding:8px 15px; cursor:pointer}
.ps-sub:hover{background:var(--accent); color:var(--raise)}
.ps-cap{font-family:"IBM Plex Mono",monospace; font-size:9px; letter-spacing:.05em; color:var(--ink-3); margin:5px 0 0; opacity:.85}
.hero{display:grid; grid-template-columns:1.05fr 1.45fr; gap:28px; align-items:start; border-bottom:2px solid var(--line); padding:15px 0 16px}
@media(max-width:760px){.hero{grid-template-columns:1fr; gap:10px}}
.hero-eyebrow{display:flex; align-items:center; gap:9px; margin-bottom:8px; flex-wrap:wrap}
.he-beat{font-family:"IBM Plex Mono",monospace; font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent)}
.he-date{font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.05em; color:var(--ink-3)}
.hero-hl{display:block; font-family:"Newsreader",serif; font-weight:600; font-size:clamp(24px,3.3vw,34px); line-height:1.13; letter-spacing:-.012em; color:var(--ink); text-decoration:none}
.hero-hl:hover{color:var(--accent)}
.hero-dek{font-family:"Newsreader",serif; font-size:16px; line-height:1.52; color:var(--ink-2); margin:2px 0 10px}
.hero-dek .drop{float:left; font-family:"Bodoni Moda",Didot,serif; font-weight:700; font-size:50px; line-height:.78; padding:6px 10px 0 0; color:var(--accent)}
.hero-meta{display:flex; align-items:center; gap:9px; flex-wrap:wrap}
.bynum{border-bottom:1px solid var(--line); padding:11px 0 12px}
.bn-h{font-family:"IBM Plex Mono",monospace; font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); margin-bottom:10px; display:flex; align-items:center; gap:9px}
.bn-h::after{content:""; flex:1; height:1px; background:var(--accent); opacity:.4}
.bn-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:0}
@media(max-width:860px){.bn-grid{grid-template-columns:repeat(3,1fr); row-gap:14px}}
@media(max-width:480px){.bn-grid{grid-template-columns:repeat(2,1fr)}}
.bn-cell{padding:0 15px; border-left:1px solid var(--line-2)}
.bn-cell:first-child{padding-left:0; border-left:0}
.bn-n{font-family:"IBM Plex Mono",monospace; font-weight:600; font-size:22px; letter-spacing:-.01em; color:var(--ink); line-height:1}
.bn-n span{font-size:13px; color:var(--ink-3); margin-left:1px}
.bn-l{font-family:"Newsreader",serif; font-size:12px; color:var(--ink-2); margin-top:5px; line-height:1.25}
.bn-s{font-family:"IBM Plex Mono",monospace; font-size:8.5px; letter-spacing:.02em; color:var(--ink-3); margin-top:4px}
.bn-s .up{color:var(--free)} .bn-s .dn{color:var(--new)} .bn-s .fl{color:var(--ink-3)}
.subcta{margin-left:auto; flex:1 1 320px; max-width:520px; text-align:right}
.subembed{flex:1 1 auto; max-width:520px; min-height:64px; display:flex; justify-content:flex-end}
.subembed iframe{max-width:100%!important; width:100%!important; border:0}
.sub-fallback{display:block; margin-top:4px; font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); text-decoration:none}
.sub-fallback:hover{color:var(--accent)}
.sub-alt{color:var(--accent);text-decoration:underline}
.bn-spark{display:block;width:100%;max-width:130px;height:26px;margin-top:6px;color:var(--ink-2)}
.bn-sx{font-family:"IBM Plex Mono",monospace;font-size:8px;color:var(--ink-3);margin-top:2px;letter-spacing:.02em}
.bn-note{font-family:"IBM Plex Mono",monospace; font-size:8.5px; color:var(--ink-3); margin-top:10px; letter-spacing:.03em; opacity:.85}
.linknote{display:flex; align-items:flex-start; gap:13px; background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:3px; padding:10px 15px; margin:11px 0 2px}
.ln-k{flex:none; font-family:"IBM Plex Mono",monospace; font-size:9.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); padding-top:3px; white-space:nowrap}
.ln-t{margin:0; font-size:13.5px; line-height:1.45; color:var(--ink-2)}
.ln-t b{color:var(--ink); font-weight:600}
.ln-key{display:flex; gap:16px; flex-wrap:wrap; align-items:center; margin-top:6px; font-family:"IBM Plex Mono",monospace; font-size:9.5px; letter-spacing:.04em; color:var(--ink-3)}
.ln-key i{font-style:normal; display:inline-flex; align-items:center; gap:6px}
@media(max-width:600px){.linknote{flex-direction:column; gap:7px}}

/* --- archive + edition pages (generator v2) --- */
.edition-note{background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:3px; padding:9px 14px; margin:12px 0 0; font-size:13px; color:var(--ink-2)}
.edition-note b{color:var(--ink)}
.edition-note a{color:var(--accent); text-decoration:underline; text-underline-offset:2px}
.arch .cols{column-count:1}
.arch .it{padding:10px 0; border-top:1px solid var(--line-2)}
.arch .hl{font-size:16px}

/* --- standalone pages (privacy, about) --- */
.pg{max-width:68ch; margin:0 auto; padding:10px 0 30px}
.pg-h{font-family:"Bodoni Moda",Didot,serif; font-weight:700; font-size:clamp(28px,4vw,40px); line-height:1.1; margin:14px 0 6px}
.pg-date{font-family:"IBM Plex Mono",monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin:0 0 22px}
.pg-h2{font-family:"IBM Plex Mono",monospace; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); border-bottom:1px solid var(--accent); padding-bottom:5px; margin:30px 0 11px}
.pg p{font-size:15.5px; line-height:1.62; color:var(--ink-2); margin:0 0 13px}
.pg p b{color:var(--ink)}
.pg a{color:var(--accent); text-decoration:underline; text-underline-offset:2px}
.pg-list{margin:0 0 13px; padding-left:20px}
.pg-list li{font-size:15.5px; line-height:1.62; color:var(--ink-2); margin-bottom:9px}
.pg-list li b{color:var(--ink)}
