:root{--bg:#0a0a0a;--bg2:#111;--bg3:#181818;--border:#2a2a2a;--dim:#555;--muted:#888;--base:#ddd;--bright:#f0f0f0;--gold:#c8a84b;--red:#e05050;--red-dim:#a03030;--green:#00c896;--amber:#f0a500;--blue:#4a9eff;--mono:'IBM Plex Mono','Courier New',monospace}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:13px}
body{background:var(--bg);color:var(--base);font-family:var(--mono);line-height:1.75;padding:2rem 1.5rem 4rem;max-width:980px;margin:0 auto}

/* Header + Breadcrumbs */
.hdr{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1rem}
.hdr-name{font-size:.75rem;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.hdr-name .crumb{color:var(--muted);text-decoration:none;cursor:pointer}
.hdr-name .crumb:hover{color:var(--gold);text-decoration:underline}
.hdr-name .current{color:var(--bright);font-weight:600}
.hdr-back{font-size:.65rem;color:var(--dim);text-decoration:none}
.hdr-back:hover{color:var(--gold)}

/* Theme page elements */
.cat{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}
h1{font-size:.85rem;font-weight:600;color:var(--bright);margin-bottom:.15rem}
.tickers{font-size:.65rem;color:var(--gold);margin-bottom:1.5rem}
.body p{margin-bottom:.75rem;font-size:.72rem}
.body b{color:var(--bright)}
.inst{color:var(--gold);font-size:.67rem}
.warn{color:var(--red)}

/* Updates section */
.updates{border-left:2px solid var(--amber);padding-left:.75rem;margin-bottom:1.5rem}
.updates p{margin-bottom:.75rem;font-size:.72rem}
.updates b{color:var(--bright)}
.upd-label{font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);font-weight:600;margin-bottom:.4rem}

/* Inline gem links (thesis/node prose) */
.body a,.updates a{color:var(--gold);text-decoration:none;opacity:.85;transition:opacity .2s,color .2s}
.body a:hover,.updates a:hover{opacity:1;text-decoration:underline}
.body a:visited,.updates a:visited{color:var(--gold);opacity:.65}

/* Sources */
.sources{margin-top:2rem;padding-top:1rem;border-top:2px solid var(--border)}
.sources h3{font-size:.72rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.sources p{font-size:.72rem;line-height:1.75;padding:.2rem 0;border-bottom:1px solid #1a1a1a;margin:0}
.sources p:last-of-type{border-bottom:none}
.sources a{color:var(--blue);text-decoration:none}
.sources a:hover{color:var(--gold);text-decoration:underline}
.sources .src-url{color:var(--dim);font-size:.65rem}
.sources .pending{font-size:.65rem;color:var(--red-dim);font-style:italic;margin-bottom:.5rem}

/* Connected themes */
.connected{margin-top:1.5rem;padding-top:1rem;border-top:2px solid var(--gold)}
.connected h3{font-size:.72rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.connected p{font-size:.72rem;line-height:1.75;padding:.2rem 0;margin:0}
.connected a{color:var(--bright);text-decoration:none;font-weight:600}
.connected a:hover{color:var(--gold)}
.connected .conn-desc{color:var(--muted)}

/* Navigation */
.nav{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:.6rem}
.nav a{color:var(--dim);text-decoration:none}
.nav a:hover{color:var(--gold)}

/* Footer */
footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.58rem;color:var(--dim);display:flex;justify-content:space-between}

/* Hub page extras */
.upd-meta{font-size:.6rem;color:var(--muted);margin-bottom:1.5rem}
h2{font-size:.63rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:1.8rem 0 .5rem}
.t{background:var(--bg2);border:1px solid var(--border);margin-bottom:.35rem;overflow:hidden}
.t a{display:flex;align-items:baseline;gap:.5rem;padding:.5rem .75rem;text-decoration:none;font-size:.72rem}
.t a:hover{background:var(--bg3)}
.tn{color:var(--bright);font-weight:600;flex:1}
.tt{font-size:.6rem;color:var(--muted)}
.ti{color:var(--dim);font-size:.65rem;margin-left:auto}

/* Per-file timestamp */
.last-updated{color:#666;font-size:.75rem;margin:.5rem 0 1.2rem 0;font-style:italic}

/* Language toggle */
.hdr-right{display:flex;align-items:baseline;gap:.75rem}
.lang-toggle{display:flex;gap:.25rem}
.lang-toggle button{background:none;border:1px solid var(--border);padding:.1rem .35rem;cursor:pointer;font-size:.6rem;color:var(--muted);font-family:var(--mono);letter-spacing:.05em;transition:border-color .2s,color .2s}
.lang-toggle button:hover{border-color:var(--gold);color:var(--gold)}
.lang-toggle button.active{border-color:var(--gold);color:var(--gold);font-weight:600}
.lang-block{display:block}

.updates p{margin-bottom:.75rem}
.updates p.sig-title{margin-bottom:0}
.updates p.sig-body{margin-top:.15rem}
.updates p.sig-title b,.sig-title b{color:#e6c455}
.body > p > b:first-child{color:#e6c455}

/* Gem footnotes — inline badge + expandable list */
.gem-fn-badge{display:inline;font-size:.55rem;margin-left:.4rem;color:#666;cursor:pointer;letter-spacing:.03em;transition:color .2s;vertical-align:baseline}
.gem-fn-badge:hover{color:var(--gold)}
.gem-fn-list{display:none;width:80%;margin:.3rem 0 .5rem 1rem;padding:.4rem .6rem;border-left:2px solid var(--border);font-size:.58rem;line-height:1.9;background:var(--bg2,#111)}
.gem-fn-list.open{display:block}
.gem-fn-link{color:var(--gold);text-decoration:none;opacity:.7;transition:opacity .2s}
.gem-fn-link:hover{opacity:1;text-decoration:underline}

/* Fresh-change highlight — applied to elements modified in current feed vs prev feed snapshot */
.sig-block{padding:0;margin:0 0 1rem 0;transition:background 0.4s ease}
.sig-block.tt-fresh{
  border-left:3px solid #22d3ee;
  background:linear-gradient(90deg,rgba(34,211,238,0.08) 0%,rgba(34,211,238,0) 60%);
  padding-left:10px;
  margin-left:-13px;
}

/* Country rail — v3 prose form (paragraphs at page-body font) */
.country-rail{margin:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.8rem 0}
.rail-label-bar{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.6rem;padding:0 .2rem}
.rail-title{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:600}
.rail-upd{font-size:.55rem;color:var(--dim);letter-spacing:.1em}
/* Country paragraphs — match .body p / .updates p font */
.rail-country{font-size:.72rem;line-height:1.75;margin:0 0 .9rem;padding:.3rem .6rem;background:var(--bg2,#111);border-left:2px solid var(--border);color:var(--bright,#f0f0f0);transition:border-left-color .2s}
.rail-country:hover{border-left-color:var(--gold)}
/* When country paragraph is followed by data paragraph (DB), collapse gap for continuous-prose effect */
.rail-country:has(+ .rail-data){margin-bottom:0;padding-bottom:.15rem}
.rail-data{font-size:.72rem;line-height:1.75;margin:0 0 .9rem;padding:.05rem .6rem .3rem;background:var(--bg2,#111);border-left:2px solid var(--border);color:var(--bright,#f0f0f0);word-spacing:.05em}
/* Flag + short code anchor */
.rail-tag{font-weight:600;color:#e6c455;letter-spacing:.04em}
/* CB stance inlining (DB first paragraph) */
.rail-stance-lbl{color:var(--bright,#f0f0f0);font-weight:600}
.rail-stance-val{color:var(--bright,#f0f0f0);font-weight:600}
.rail-stance-det{color:var(--bright,#f0f0f0)}
/* Inline cells (DB data line + GP line) */
.rail-inline{transition:opacity .2s}
.rail-inline.stale{opacity:.4}
.rail-inline .rail-label{color:var(--bright,#f0f0f0);font-weight:600;margin-right:.15rem}
.rail-inline .rail-value{color:var(--bright,#f0f0f0);font-weight:600;font-variant-numeric:tabular-nums}
/* Direction arrows — coloured */
.rail-arr{font-weight:600;margin-left:.1rem}
.rail-arr.up{color:var(--green)}
.rail-arr.down{color:var(--red)}
.rail-arr.flat{color:var(--dim)}
.rail-arr.mixed{color:var(--amber)}
/* GP PMI (M/S) parenthetical */
.rail-subnote{color:var(--bright,#f0f0f0);font-size:.65rem;margin-left:.2rem}
@media(max-width:640px){
  .rail-country, .rail-data{padding:.25rem .4rem}
}
