
:root{
  --paper:#F3F5F6; --wash:#E8EDF0; --mist:#C8D1D9; --ink:#3D3D3D; --ink-strong:#2A2C2E;
  --ink-2:#5B6166; --ink-3:#636A6F; --rule:#D3DADF; --rule-2:#B9C3CA;
  --live:#FF4F00; --accent:#FF4F00; --accent-ink:#C23B00; --accent-wash:rgba(255,79,0,.10);
  --serif:"Newsreader","Iowan Old Style","Charter","Source Serif Pro",Georgia,"Times New Roman",serif;
  --sans:"Schibsted Grotesk","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --rubric:184px; --gap:clamp(18px,2.4vw,32px);
  color-scheme:light; box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}

:root[data-theme="dark"]{
  --paper:#353738; --wash:#3F4243; --mist:#C8D1D9; --ink:#D3DADF; --ink-strong:#EEF2F4;
  --ink-2:#A9B2B9; --ink-3:#7F888F; --rule:#4C5052; --rule-2:#62676A;
  --live:#FF6A26; --accent:#FF6A26; --accent-ink:#FF8A55; --accent-wash:rgba(255,106,38,.14); color-scheme:dark}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 64px);background:var(--paper);-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:lining-nums}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:var(--rule-2)}
a:hover{text-decoration-color:currentColor}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
img,svg{max-width:100%}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(16px,3.6vw,44px)}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:12px;top:12px;z-index:100;background:var(--ink);color:var(--paper);padding:8px 12px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.serif{font-family:var(--serif)}
.muted{color:var(--ink-2)}
.faint{color:var(--ink-3)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Header ---------- */
.util{display:flex;align-items:center;gap:18px;justify-content:space-between;min-height:38px;font-size:13px;color:var(--ink-2);border-bottom:1px solid var(--rule)}
.util .stamp{font-family:var(--mono);font-size:12px;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.util nav{display:flex;gap:18px;align-items:center;flex:none}
.util a,.util button{text-decoration:none;color:var(--ink);font-weight:500}
.util a:hover,.util button:hover{text-decoration:underline}
.util kbd{font-family:var(--mono);font-size:11px;border:1px solid var(--rule-2);padding:0 4px;margin-left:6px;color:var(--ink-2);border-radius:2px}
.mast{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:20px;padding-top:22px;padding-bottom:14px}
.wordmark{font-family:var(--sans);font-weight:900;letter-spacing:.14em;line-height:.8;text-decoration:none;color:var(--ink-strong);font-size:clamp(54px,9vw,118px);margin-left:-.02em;display:block}
.mast .titles{justify-self:end;text-align:right;padding-bottom:.2em}
.mast .tag{font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,26px);line-height:1.1;color:var(--ink)}
.mast .room{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.24em;margin-top:8px;color:var(--ink-2)}
body:not([data-view="now"]) .mast{display:none}
.navbar{position:sticky;top:0;z-index:20;background:var(--paper);border-top:0;border-bottom:1px solid var(--rule)}
.navbar .wrap{display:flex;align-items:center;gap:clamp(14px,2.6vw,34px);min-height:50px}
.navbar .mini{font-weight:900;letter-spacing:.14em;font-size:17px;text-decoration:none;color:var(--ink-strong);margin-right:4px}
body[data-view="now"] .navbar .mini{display:none}
.navbar .primary{display:flex;gap:clamp(14px,2.6vw,34px);overflow-x:auto;scrollbar-width:none}
.navbar .primary::-webkit-scrollbar{display:none}
.navbar .primary a{font-weight:700;font-size:13px;letter-spacing:.14em;text-decoration:none;color:var(--ink-2);padding:15px 0 13px;border-bottom:2px solid transparent;white-space:nowrap}
.navbar .primary a:hover{color:var(--ink)}
.navbar .primary a[aria-current="page"]{color:var(--ink-strong);border-bottom-color:var(--accent)}
.navbar .side{margin-left:auto;display:flex;gap:16px;align-items:center;font-size:13px}
.navbar .side button{font-weight:500}
.navbar .side .s-label{color:var(--ink-2)}
.navbar .side [data-search]{display:none}   /* uma só busca: a da barra de cima, com o atalho */
.since{border-bottom:1px solid var(--rule);background:var(--paper)}
.since .wrap{display:flex;gap:10px 22px;flex-wrap:wrap;align-items:baseline;padding-top:10px;padding-bottom:10px;font-size:14px}
.since b{font-weight:600}
.since .lead{font-weight:600;color:var(--ink-strong)}
.since .n{font-family:var(--mono);font-size:13px}
.since .new .n{color:var(--accent-ink)}
.since a{text-decoration:none}
.since a:hover{text-decoration:underline}

/* ---------- Generic section ---------- */
main{min-height:60vh}
.view{animation:viewIn .18s ease-out}
@keyframes viewIn{from{opacity:.0}to{opacity:1}}
.sec{margin-top:clamp(44px,6vw,76px)}
.sec-h{display:grid;grid-template-columns:var(--rubric) 1fr auto;gap:var(--gap);align-items:baseline;border-top:2px solid var(--ink-strong);padding-top:12px;margin-bottom:22px}
.sec-h h2{margin:0;font-family:var(--sans);font-weight:800;font-size:15px;letter-spacing:.16em;color:var(--ink-strong)}
.sec-h .deck{font-family:var(--serif);font-size:18px;line-height:1.35;color:var(--ink-2);margin:0;max-width:44em}
.sec-h .more{font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--rule-2)}
.sec-h .more:hover{border-bottom-color:var(--ink)}
.row{display:grid;grid-template-columns:var(--rubric) minmax(0,1fr);gap:var(--gap)}
.rub{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--ink-2);padding-top:.35em;line-height:1.35}
.rub small{display:block;font-weight:500;letter-spacing:0;font-size:12px;color:var(--ink-3);margin-top:4px;font-family:var(--mono)}
.prose{font-family:var(--serif);font-size:19px;line-height:1.55;max-width:38em;margin:0}
.prose+.prose{margin-top:.7em}
.label{font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.14em;color:var(--ink-2)}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;line-height:1;padding:4px 6px;border:1px solid var(--rule-2);color:var(--ink);text-decoration:none;white-space:nowrap;border-radius:2px}
a.chip:hover{border-color:var(--ink)}
.chip.sig{font-weight:600}
.status{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.14em}
.status i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}
.status.hollow i{background:transparent;border:1.5px solid var(--ink-3)}
.cls{font-family:var(--sans);font-size:12px;color:var(--ink-2);white-space:nowrap}
.cls::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;vertical-align:1px;border:1px solid var(--ink-2)}
.cls.primary::before{background:var(--ink)}
.cls.vendor::before{background:var(--ink-2);border-color:var(--ink-2)}
.cls.press::before{background:transparent}
.cls.third_party::before{background:transparent;border-style:dashed}
.cls.missing::before{border-color:var(--accent-ink)}
.fresh{position:relative}
.fresh::before{content:"";position:absolute;left:-12px;top:.45em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.fresh.flash{animation:fresh 1.6s ease-out 1}
@keyframes fresh{0%{background:var(--accent-wash)}100%{background:transparent}}
.empty{border:1px dashed var(--rule-2);padding:16px 18px;color:var(--ink-2);font-size:15px}
.note{font-size:13.5px;color:var(--ink-2);line-height:1.5}
.note b{color:var(--ink);font-weight:600}

/* SOT-165 latest movement / newsroom log */
.mv h1{font-size:clamp(32px,4.6vw,64px);margin-top:12px}
.mv h1 a{color:inherit;text-decoration:none}
.mv h1 a:hover{text-decoration:underline}
.mv:not(.lead){padding-top:clamp(22px,3vw,34px)}
.mv-sub{font-size:17px;line-height:1.45;color:var(--ink);margin:12px 0 0;max-width:46em}
.mv-story{margin:14px 0 0}
.mvlog{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--rule)}
.mvlog li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--rule);font-size:14.5px;line-height:1.4;align-items:baseline}
.mvlog .t{font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}
.mvlog .s{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);text-align:right}
.mvlog a{color:var(--ink-strong)}
@media (max-width:820px){.mvlog li{grid-template-columns:78px minmax(0,1fr)}.mvlog .s{grid-column:2;text-align:left}}
/* ---------- Hero ---------- */
.hero{padding-top:clamp(18px,3vw,34px)}
.hero-top{display:grid;grid-template-columns:var(--rubric) 1fr;gap:var(--gap);align-items:baseline}
.hero-top .rub{color:var(--accent-ink)}
.hero-top .when{font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}
.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(44px,6.6vw,96px);line-height:.98;letter-spacing:-.022em;margin:14px 0 0;color:var(--ink-strong);max-width:none;font-optical-sizing:auto;text-wrap:pretty}
.hero-body{display:grid;grid-template-columns:var(--rubric) minmax(0,1fr) minmax(280px,380px);gap:var(--gap);margin-top:clamp(26px,3.4vw,44px)}
.hero-body .col{display:grid;gap:26px;align-content:start}
.hero-body .blk .label{display:block;margin-bottom:6px}
.hero-body .blk .prose{font-size:19.5px}
.hero-body .blk.read .prose{color:var(--ink-strong)}
.hero-body .blk.read{border-left:2px solid var(--accent);padding-left:18px;margin-left:-20px}
.hero-meta{font-size:13px;color:var(--ink-2);padding-top:4px}
.hero-meta .mono{display:block;margin-bottom:10px}
.aside{border-left:1px solid var(--rule);padding-left:var(--gap);display:grid;gap:26px;align-content:start}
.aside .label{display:block;margin-bottom:10px}
.mini-sig{display:block;text-decoration:none;padding:12px 0;border-top:1px solid var(--rule)}
.mini-sig:first-of-type{border-top:0;padding-top:0}
.mini-sig .top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.mini-sig .t{font-family:var(--serif);font-size:19px;line-height:1.25;margin:6px 0 8px;color:var(--ink-strong)}
.mini-sig:hover .t{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.mini-sig .vals{display:flex;gap:14px;align-items:baseline;font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.mini-sig .p{font-size:26px;color:var(--ink-strong);font-weight:500}
.mini-sig .bear{font-size:13.5px;color:var(--ink-2);margin-top:6px;line-height:1.45}
.ev-list{list-style:none;margin:0;padding:0;counter-reset:ev}
.ev-list li{border-top:1px solid var(--rule);padding:9px 0;display:grid;grid-template-columns:26px 1fr;gap:8px;font-size:14px;line-height:1.4}
.ev-list li:first-child{border-top:0;padding-top:0}
.ev-list .k{font-family:var(--mono);font-size:12px;color:var(--ink-3);padding-top:2px}
.ev-list a{text-decoration:none;font-weight:500}
.ev-list a:hover{text-decoration:underline}
.ev-list .cls{display:block;margin-top:2px}
.next{margin-top:clamp(30px,4vw,48px);display:grid;grid-template-columns:var(--rubric) 1fr;gap:var(--gap);border-top:1px solid var(--rule);padding-top:14px}
.next ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px 24px}
.next li{display:grid;gap:3px;font-size:14px;line-height:1.35}
.next li .d{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.next li .d b{color:var(--ink-strong);font-weight:600}
.next li a{text-decoration:none}
.next li a:hover{text-decoration:underline}

/* ---------- Today ---------- */
.today{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,56px)}
.today li{border-top:1px solid var(--rule);padding:16px 0 18px;display:grid;grid-template-columns:38px 1fr;gap:12px}
.today li:nth-child(-n+2){border-top:0;padding-top:4px}
.today .rk{font-family:var(--mono);font-size:22px;line-height:1;color:var(--ink-3);padding-top:4px}
.today li:nth-child(-n+3) .rk{color:var(--ink-strong)}
.today h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.2;margin:0;color:var(--ink-strong)}
.today h3 button:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.today .why{margin:6px 0 0;font-size:15px;line-height:1.45;color:var(--ink-2);max-width:42em}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:9px;font-size:12.5px;color:var(--ink-2)}
.meta .mono{font-size:12px}


/* Signals page pager */
.pager{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0 4px;font-size:13px;color:var(--ink-2)}
.pager button{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-strong);border:1px solid var(--ink-strong);padding:10px 18px;background:transparent;cursor:pointer}
.pager button:disabled{opacity:.35;cursor:default}
.pager button:not(:disabled):hover{background:var(--ink-strong);color:var(--paper)}
.sigrow[hidden]{display:none}
/* ---------- Signal rows ---------- */
.sigtable{border-top:1px solid var(--rule)}
.sigrow{display:grid;grid-template-columns:62px minmax(0,1fr) 128px 128px 98px 176px;gap:18px;align-items:start;padding:18px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit;position:relative}
.sigrow:hover .st{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.sigrow .id{font-family:var(--mono);font-weight:600;font-size:15px;color:var(--ink-strong);padding-top:4px}
.sigrow .st{font-family:var(--serif);font-size:22px;line-height:1.22;margin:0;color:var(--ink-strong);font-weight:500}
.sigrow .rs{font-size:14px;color:var(--ink-2);margin:6px 0 0;line-height:1.45}
.sigrow .conf .v{font-family:var(--mono);font-size:30px;line-height:1;color:var(--ink-strong)}
.sigrow .conf .v small{font-size:16px;margin-left:1px}
.sigrow .k{display:block;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);margin-top:6px;line-height:1.4}
.sigrow .hz .v{font-family:var(--mono);font-size:15px;color:var(--ink-strong)}
.sigrow .mv{font-size:13px;color:var(--ink-2);line-height:1.35}
.sigrow .mv svg{display:block;margin-bottom:6px}
.colhead{display:grid;grid-template-columns:62px minmax(0,1fr) 128px 128px 98px 176px;gap:18px;font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.14em;color:var(--ink-3);padding-bottom:8px}

/* ---------- Radar ---------- */
.radargrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(22px,3vw,40px)}
.ritem[hidden]{display:none}
.radargrid[data-rp]{overflow-anchor:none;align-content:start}
.rpager{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--rule);margin-top:4px;padding-top:6px}
.rpager button{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--ink-strong);background:none;border:0;min-height:44px;min-width:44px;padding:0 4px;cursor:pointer}
.rpager button:hover:not(:disabled){text-decoration:underline;text-underline-offset:.2em}
.rpager button:disabled{color:var(--ink-3);cursor:default;opacity:.55}
.rpager .rp-st{font-size:12px;letter-spacing:.04em;color:var(--ink-2)}
.ritem{border-top:1px solid var(--rule);padding:16px 0 22px;text-decoration:none;color:inherit;display:block}
.ritem:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.ritem h3{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.22;margin:10px 0 8px;color:var(--ink-strong)}
.ritem p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.ritem .conf{margin-top:12px;font-size:13px;line-height:1.4}
.ritem .conf b{font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--ink-2);display:block;margin-bottom:3px}
.ladder{display:flex;align-items:center;gap:0;font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}
.ladder span{display:flex;align-items:center}
.ladder span+span::before{content:"";width:18px;height:1px;background:var(--rule-2);margin:0 7px}
.ladder .on{color:var(--ink-strong)}
.ladder .on::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);margin-left:6px}
.ladder .done{color:var(--ink-2)}
.idline{display:flex;justify-content:space-between;align-items:center;gap:10px}
.idline .mono{font-size:12.5px;font-weight:600;color:var(--ink-strong)}

/* ---------- Heat ---------- */
.heat{border-top:1px solid var(--rule)}
.hrow{border-bottom:1px solid var(--rule)}
.hrow>button{width:100%;display:grid;grid-template-columns:170px minmax(0,1fr) 74px 150px;gap:18px;align-items:center;padding:11px 0}
.hrow>button:hover .hn{text-decoration:underline}
.hn{font-weight:600;font-size:15px;color:var(--ink-strong)}
.cells{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:2px;height:22px}
.cells i{display:block;background:var(--ink);opacity:var(--o,0)}
.cells i.z{background:transparent;opacity:1;border-bottom:1px solid var(--rule-2)}
.hs{font-family:var(--mono);font-size:15px;text-align:right;color:var(--ink-strong)}
.hd{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.hd .up{color:var(--accent-ink)}
.hdrivers{padding:4px 0 18px 188px;display:none}
.hrow[data-open="true"] .hdrivers{display:block}
.hdrivers table{width:100%;border-collapse:collapse;font-size:13.5px}
.hdrivers td{border-top:1px solid var(--rule);padding:7px 10px 7px 0;vertical-align:top}
.hdrivers td.mono{white-space:nowrap;font-size:12px;color:var(--ink-2)}
.hdrivers button{text-align:left}
.hdrivers button:hover{text-decoration:underline}
.heat-axis{display:grid;grid-template-columns:170px minmax(0,1fr) 74px 150px;gap:18px;font-family:var(--mono);font-size:11px;color:var(--ink-3);padding:6px 0 0}
.heat-axis .ax{display:flex;justify-content:space-between}

/* ---------- Wire ---------- */
.wire{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.wire li{display:grid;grid-template-columns:86px 120px minmax(0,1fr) auto;gap:16px;align-items:baseline;border-bottom:1px solid var(--rule);padding:10px 0;font-size:15px}
.wire .d{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.wire .desk{font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wire .t{font-weight:500;color:var(--ink-strong);line-height:1.35}
.wire .t:hover{text-decoration:underline}
.wire .r{display:flex;gap:10px;align-items:baseline;justify-content:flex-end}
.wire .ty{font-size:12px;color:var(--ink-2)}
.daygroup{font-family:var(--mono);font-size:12px;color:var(--ink-2);padding:20px 0 8px;border-bottom:1px solid var(--ink)}

/* ---------- Record ---------- */
.rec-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.rec-counts>*{padding:16px 18px 18px 0;text-decoration:none;color:inherit}
.rec-counts>*+*{border-left:1px solid var(--rule);padding-left:18px}
.rec-counts .v{font-family:var(--mono);font-size:44px;line-height:1;color:var(--ink-strong)}
.rec-counts .v.zero{color:var(--ink-3)}
.rec-counts .label{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.rec-counts .label i{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.rec-counts .sub{font-size:13px;color:var(--ink-2);margin-top:8px;line-height:1.4}
.vcal{margin-top:22px}
.vcal svg{display:block;width:100%;height:auto;overflow:visible}
.rec-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:18px}
.filters{display:flex;gap:0;flex-wrap:wrap;border-bottom:1px solid var(--rule);margin-bottom:0}
.filters button{font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--ink-2);padding:12px 18px 10px 0;margin-right:18px;border-bottom:2px solid transparent}
.filters button .mono{letter-spacing:0;margin-left:6px;font-weight:500}
.filters button[aria-pressed="true"]{color:var(--ink-strong);border-bottom-color:var(--accent)}
.rtable{width:100%;border-collapse:collapse;font-size:14px}
.rtable th{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--ink-3);text-align:left;padding:14px 14px 8px 0;border-bottom:1px solid var(--ink);vertical-align:bottom;white-space:nowrap}
.rtable td{padding:14px 14px 14px 0;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.45}
.rtable td.mono{font-size:12.5px;white-space:nowrap}
.rtable .claim{font-family:var(--serif);font-size:16.5px;line-height:1.4;max-width:34em;color:var(--ink-strong)}
.rtable tr.gap td{color:var(--ink-2);background:repeating-linear-gradient(135deg,transparent 0 6px,var(--wash) 6px 7px)}
.rtable a{text-decoration:none}
.rtable a:hover{text-decoration:underline}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- Pages ---------- */
.page-h{padding-top:clamp(26px,4vw,48px)}
.page-h .crumb{font-size:13px;color:var(--ink-2);display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}
.page-h .crumb a{text-decoration:none}
.page-h .crumb a:hover{text-decoration:underline}
.page-h h1{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5.2vw,70px);line-height:1.02;letter-spacing:-.018em;margin:12px 0 0;color:var(--ink-strong);max-width:20ch;text-wrap:balance}
.page-h .intro{font-family:var(--serif);font-size:21px;line-height:1.45;color:var(--ink-2);max-width:36em;margin:16px 0 0}
.kicker{font-family:var(--sans);font-weight:800;font-size:13px;letter-spacing:.18em;color:var(--ink-strong);display:flex;gap:14px;align-items:center}
.kicker .mono{letter-spacing:0;font-weight:600}

/* Signal page */
.sp-claim{display:grid;grid-template-columns:var(--rubric) minmax(0,1fr);gap:var(--gap);margin-top:30px;padding-top:16px;border-top:1px solid var(--rule)}
.sp-claim blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.45;max-width:36em;color:var(--ink-strong)}
.sp-claim .rule{margin:12px 0 0;font-size:15px;color:var(--ink-2);max-width:48em}
.sp-claim .rule b{color:var(--ink);font-weight:600}
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--ink-strong);border-bottom:1px solid var(--rule);margin-top:30px}
.facts>div{padding:14px 16px 18px 0}
.facts>div+div{border-left:1px solid var(--rule);padding-left:16px}
.facts .label{display:block;margin-bottom:10px}
.facts .big{font-family:var(--mono);font-size:clamp(40px,5vw,64px);line-height:.9;color:var(--ink-strong);letter-spacing:-.02em}
.facts .big small{font-size:.45em;letter-spacing:0;margin-left:2px}
.facts .val{font-family:var(--mono);font-size:19px;line-height:1.2;color:var(--ink-strong)}
.facts .sub{font-size:13px;color:var(--ink-2);margin-top:8px;line-height:1.4}
.facts .sub .mono{font-size:12px}
.sline{margin-top:28px}
#sline svg{display:block;width:100%;height:auto;overflow:visible}
.sline .legend svg{display:inline-block;flex:none}
.sline .legend{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12.5px;color:var(--ink-2);margin-top:10px}
.sline .legend span{display:inline-flex;gap:7px;align-items:center}
.sp-sec{display:grid;grid-template-columns:var(--rubric) minmax(0,1fr);gap:var(--gap);border-top:1px solid var(--rule);padding:22px 0 26px}
.sp-sec.strong{border-top:2px solid var(--ink-strong)}
.sp-sec .rub{color:var(--ink-strong)}
.changed{display:flex;gap:24px;align-items:baseline;flex-wrap:wrap}
.changed .big{font-family:var(--mono);font-size:28px;color:var(--ink-strong)}
.changed .big .arrow{color:var(--ink-3);margin:0 .3em}
.evtable{list-style:none;margin:0;padding:0}
.evtable li{display:grid;grid-template-columns:34px 70px 112px minmax(0,1fr);gap:14px;border-top:1px solid var(--rule);padding:12px 0;align-items:baseline}
.evtable li:first-child{border-top:0;padding-top:0}
.evtable .n{font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.evtable .d{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.evtable .t{font-weight:600;color:var(--ink-strong);font-size:15.5px;line-height:1.35}
.evtable .t:hover{text-decoration:underline}
.evtable .note{margin-top:4px;font-size:14px}
.evtable .src{margin-top:6px;display:flex;gap:12px;flex-wrap:wrap}
.bear{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.bear svg{flex:none}
.falsi{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-width:46em}
.falsi li{display:grid;grid-template-columns:110px 1fr;gap:14px;font-family:var(--serif);font-size:18px;line-height:1.45}
.falsi li .bear{font-family:var(--sans);padding-top:4px}
.watchl{list-style:none;margin:0;padding:0;max-width:46em}
.watchl li{display:grid;grid-template-columns:110px 1fr;gap:14px;border-top:1px solid var(--rule);padding:9px 0;font-size:15.5px}
.watchl li:first-child{border-top:0;padding-top:0}
.watchl .d{font-family:var(--mono);font-size:12.5px;color:var(--ink-2)}
.watchl .d.due{color:var(--accent-ink)}
.histtable{width:100%;border-collapse:collapse;font-size:14px;max-width:960px}
.histtable th{font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--ink-3);text-align:left;padding:0 14px 8px 0;border-bottom:1px solid var(--ink)}
.histtable td{padding:11px 14px 11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.histtable td.mono{font-size:12.5px;white-space:nowrap}
.flag{border-left:2px solid var(--accent);padding:2px 0 2px 14px;font-size:15px;line-height:1.5;max-width:46em}
.flag+.flag{margin-top:10px}

/* Chain */
.chain{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));position:relative;margin-top:6px}
.chain::before{content:"";position:absolute;left:5px;right:5px;top:5px;height:1px;background:var(--ink-3)}
.stn{position:relative;padding-top:20px;padding-right:8px}
.stn::before{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;background:var(--ink-strong)}
.stn.hollow::before{background:var(--paper);border:1.5px solid var(--ink-3)}
.stn.live::before{background:var(--accent)}
.stn .label{display:block;font-size:10.5px;letter-spacing:.12em}
.stn .v{font-family:var(--mono);font-size:22px;line-height:1.1;margin-top:6px;color:var(--ink-strong)}
.stn.hollow .v{color:var(--ink-3)}
.stn .s{font-size:12px;color:var(--ink-2);margin-top:3px;line-height:1.3}

/* Integrity */
.integ{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap)}
.checks{list-style:none;margin:0;padding:0}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:10px;border-top:1px solid var(--rule);padding:9px 0;font-size:14.5px;line-height:1.45}
.checks li:first-child{border-top:0;padding-top:0}
.mk{font-family:var(--mono);font-size:13px;font-weight:600;line-height:1.5}
.mk.pass{color:var(--ink-strong)}
.mk.fail{color:var(--accent-ink)}
.mk.warn{color:var(--ink-3)}
.hash{font-family:var(--mono);font-size:12px;word-break:break-all;color:var(--ink-2);line-height:1.5}
.hash b{color:var(--ink-strong);font-weight:600}
.verify{display:flex;gap:10px;align-items:center;margin-top:12px;font-size:14px}
.btn{font-weight:600;font-size:13px;border:1px solid var(--ink);padding:7px 12px;border-radius:2px;background:transparent}
.btn:hover{background:var(--ink);color:var(--paper)}
.soto-share{min-height:44px;min-width:44px;cursor:pointer}
.soto-share-wrap{position:relative}
.share-menu{width:fit-content;display:flex;flex-direction:column;align-items:stretch;min-width:210px;max-width:100%;margin-top:8px;background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:4px;box-shadow:none}
.share-menu a,.share-menu button{display:flex;align-items:center;min-height:44px;padding:0 14px;font:600 13px var(--sans);letter-spacing:.02em;color:var(--ink-strong);background:transparent;border:0;border-radius:2px;text-align:left;text-decoration:none;cursor:pointer}
.share-menu a:hover,.share-menu button:hover{background:var(--wash)}
.share-menu a:focus-visible,.share-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

details.canon{margin-top:12px}
details.canon summary{cursor:pointer;font-size:13px;font-weight:600}
pre.code{font-family:var(--mono);font-size:12px;line-height:1.55;background:var(--wash);padding:14px 16px;overflow:auto;max-height:420px;margin:10px 0 0;white-space:pre-wrap;word-break:break-word}

/* Related */
.related{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.related ul{list-style:none;margin:8px 0 0;padding:0}
.related li{border-top:1px solid var(--rule);padding:8px 0;font-size:14px;line-height:1.4}
.related li:first-child{border-top:0}
.related a,.related button{text-decoration:none;text-align:left}
.related a:hover,.related button:hover{text-decoration:underline}

/* Radar page */
.rp-grid{display:grid;grid-template-columns:var(--rubric) minmax(0,1fr);gap:var(--gap)}
.bul{margin:0;padding:0 0 0 18px;max-width:44em;font-family:var(--serif);font-size:18px;line-height:1.5}
.bul li+li{margin-top:6px}
.cand{border:1px solid var(--ink);padding:18px 20px;max-width:52em}
.cand blockquote{margin:6px 0 12px;font-family:var(--serif);font-size:20px;line-height:1.45;font-style:italic;color:var(--ink-strong)}
.cand dl{display:grid;grid-template-columns:110px 1fr;gap:6px 14px;margin:0;font-size:14px}
.cand dt{font-weight:700;font-size:11px;letter-spacing:.12em;color:var(--ink-2);padding-top:3px}
.cand dd{margin:0}

/* Desks */
.deskgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(22px,3vw,40px)}
.dcard{border-top:1px solid var(--rule);padding:16px 0 20px;text-decoration:none;color:inherit;display:block}
.dcard:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.dcard h3{font-family:var(--serif);font-weight:500;font-size:26px;margin:0;color:var(--ink-strong);line-height:1.1}
.dcard .dom{font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.dcard p{margin:10px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.dcard .cnt{display:flex;gap:16px;margin-top:12px;font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.dcard .cnt b{color:var(--ink-strong);font-weight:600}
.subnav{display:flex;gap:4px 22px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding:14px 0 12px;margin-top:22px;position:sticky;top:51px;background:var(--paper);z-index:5}
.subnav a{font-weight:700;font-size:11.5px;letter-spacing:.14em;color:var(--ink-2);text-decoration:none}
.subnav a:hover{color:var(--ink)}
.desk-now{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);line-height:1.35;max-width:32em;margin:0;color:var(--ink-strong)}
.people{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 28px}
.people li{border-top:1px solid var(--rule);padding:10px 0;font-size:14px;line-height:1.45}
.people .nm{font-weight:600;color:var(--ink-strong);font-size:15.5px}
.prods{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0}
.prods li{font-size:15px;padding:6px 18px 6px 0;margin-right:18px;border-right:1px solid var(--rule)}
.prods li:last-child{border-right:0}
.rels{display:grid;grid-template-columns:minmax(260px,380px) minmax(0,1fr);gap:var(--gap);align-items:start}
.rels svg{display:block;width:100%;height:auto;overflow:visible}
.rels ul{list-style:none;margin:0;padding:0}
.rels li{border-top:1px solid var(--rule);padding:9px 0;font-size:14.5px;line-height:1.45;display:grid;grid-template-columns:150px 1fr;gap:14px}
.rels li:first-child{border-top:0;padding-top:0}
.rels .who{font-weight:600}
.tl{list-style:none;margin:0;padding:0 0 0 18px;border-left:1px solid var(--ink-3);max-width:60em}
.tl li{position:relative;padding:0 0 16px 8px}
.tl li::before{content:"";position:absolute;left:-23px;top:.45em;width:9px;height:9px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink)}
.tl li.e2::before{background:var(--ink)}
.tl .d{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.tl .t{font-weight:500;font-size:15.5px;color:var(--ink-strong)}
.tl .t:hover{text-decoration:underline}
.tl .mo{font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.14em;color:var(--ink-2);margin:6px 0 10px -8px}

/* Morning */
.morning{max-width:760px;margin:0 auto;padding-top:clamp(36px,6vw,80px)}
.morning .gm{font-family:var(--serif);font-weight:500;font-size:clamp(56px,9vw,112px);line-height:.95;letter-spacing:-.025em;margin:0;color:var(--ink-strong)}
.morning .dateline{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;margin-top:18px;border-top:2px solid var(--ink-strong);padding-top:10px}
.morning .dateline .w{font-weight:900;letter-spacing:.14em;font-size:15px}
.morning .dateline .dt{font-family:var(--serif);font-size:19px}
.morning .dateline .mono{font-size:12px;color:var(--ink-2);margin-left:auto}
.morning h2{font-family:var(--sans);font-weight:800;font-size:14px;letter-spacing:.16em;margin:52px 0 6px;color:var(--ink-strong)}
.morning .lede{font-family:var(--serif);font-size:18px;color:var(--ink-2);margin:0 0 14px}
.mlist{list-style:none;margin:0;padding:0;counter-reset:m}
.mlist li{display:grid;grid-template-columns:34px 1fr;gap:10px;border-top:1px solid var(--rule);padding:14px 0}
.mlist .n{font-family:var(--mono);font-size:14px;color:var(--ink-3);padding-top:5px}
.mlist h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.22;margin:0;color:var(--ink-strong)}
.mlist h3 button:hover{text-decoration:underline}
.mlist p{margin:6px 0 0;font-family:var(--serif);font-size:17.5px;line-height:1.5;color:var(--ink)}
.wlist{list-style:none;margin:0;padding:0}
.wlist li{border-top:1px solid var(--rule);padding:12px 0;display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:baseline}
.wlist .id{font-family:var(--mono);font-weight:600;font-size:13px}
.wlist .t{font-family:var(--serif);font-size:19px;line-height:1.3;text-decoration:none;color:var(--ink-strong)}
.wlist .t:hover{text-decoration:underline}
.wlist .x{font-size:13.5px;color:var(--ink-2);margin-top:3px;font-family:var(--sans)}
.wlist .r{font-family:var(--mono);font-size:12px;color:var(--ink-2);text-align:right;white-space:nowrap}

/* Method & API */
.agents{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 28px}
.agent{border-top:1px solid var(--rule);padding:14px 0 18px}
.agent h3{margin:0;font-family:var(--sans);font-weight:800;font-size:13px;letter-spacing:.16em;color:var(--ink-strong);display:flex;justify-content:space-between;gap:10px}
.agent h3 span{font-family:var(--mono);font-weight:500;letter-spacing:0;font-size:11.5px;color:var(--ink-2)}
.agent p{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink)}
.agent .how{font-size:12.5px;color:var(--ink-2);margin-top:8px}
.held{list-style:none;margin:0;padding:0}
.held li{border-top:1px solid var(--rule);padding:12px 0;display:grid;grid-template-columns:72px 1fr;gap:14px}
.held .x{font-family:var(--mono);font-size:12px;color:var(--accent-ink);padding-top:3px}
.held .t{font-weight:600;text-decoration:line-through;text-decoration-color:var(--ink-3);text-decoration-thickness:1px;color:var(--ink)}
.held .why{font-size:14px;color:var(--ink-2);margin-top:4px}
.api-fns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--gap)}
.fnlist{list-style:none;margin:0;padding:0}
.fnlist li{border-top:1px solid var(--rule);padding:10px 0}
.fnlist code{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink-strong)}
.fnlist p{margin:4px 0 0;font-size:14px;color:var(--ink-2)}
.runner label{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--ink-2);margin:0 0 6px}
.runner select,.runner input{font-family:var(--mono);font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--rule-2);padding:8px 10px;border-radius:2px;width:100%}
.runner .r2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.schema{width:100%;border-collapse:collapse;font-size:14px}
.schema td,.schema th{border-bottom:1px solid var(--rule);padding:9px 14px 9px 0;text-align:left;vertical-align:top}
.schema th{font-size:11px;letter-spacing:.12em;color:var(--ink-3);border-bottom-color:var(--ink)}

/* Drawer */
.scrim{position:fixed;inset:0;background:rgba(30,32,34,.32);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s}
.scrim.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(640px,100vw);background:var(--paper);z-index:41;border-left:1px solid var(--ink);transform:translateX(102%);transition:transform .22s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.open{transform:none}
.drawer .dh{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:12px;color:var(--ink-2)}
.drawer .dh button{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink)}
.drawer .db{overflow:auto;padding:22px 24px 40px;flex:1}
.story h2{font-family:var(--serif);font-weight:500;font-size:clamp(26px,3vw,34px);line-height:1.12;margin:6px 0 18px;color:var(--ink-strong)}
.story .q{border-top:1px solid var(--rule);padding:12px 0 14px}
.story .q .label{display:block;margin-bottom:6px}
.story .q p{margin:0;font-family:var(--serif);font-size:18px;line-height:1.55}
.story .q.read{border-left:2px solid var(--accent);padding-left:14px}
.story .bl{list-style:none;margin:0;padding:0}
.story .bl li{padding:6px 0;font-size:14.5px;line-height:1.45}
.story .bl li+li{border-top:1px solid var(--rule)}
.story .srcs{list-style:none;margin:0;padding:0}
.story .srcs li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--rule);font-size:14.5px}
.story .srcs li:first-child{border-top:0}
.prov{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);line-height:1.6;border-top:1px solid var(--rule);padding-top:12px;margin-top:6px}

/* Search */
.search{position:fixed;inset:0;z-index:50;display:none;background:rgba(30,32,34,.32)}
.search.open{display:block}
.search .box{max-width:760px;margin:clamp(20px,8vh,90px) auto 0;background:var(--paper);border:1px solid var(--ink);max-height:min(76vh,720px);display:flex;flex-direction:column}
.search input{font-family:var(--serif);font-size:24px;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink-strong);padding:18px 20px;outline:none;width:100%}
.search .res{overflow:auto;padding:6px 20px 18px}
.search .grp{font-weight:700;font-size:11px;letter-spacing:.14em;color:var(--ink-3);margin:14px 0 4px}
.search .hit{display:grid;grid-template-columns:80px 1fr;gap:12px;padding:8px 6px;margin:0 -6px;text-decoration:none;color:inherit;align-items:baseline}
.search .hit .mono{font-size:12px;color:var(--ink-2)}
.search .hit[aria-selected="true"]{background:var(--wash)}
.search .hint{font-size:12.5px;color:var(--ink-2);padding:10px 20px;border-top:1px solid var(--rule);display:flex;gap:16px;flex-wrap:wrap}

/* Footer */
footer.site{margin-top:clamp(64px,8vw,110px);border-top:2px solid var(--ink-strong);padding:22px 0 40px}
.sig-line{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,32px);line-height:1.25;color:var(--ink-strong);margin:0;max-width:24em}
.fcols{display:grid;grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:26px;font-size:14px}
.fcols ul{list-style:none;margin:8px 0 0;padding:0}
.fcols li{padding:3px 0}
.fcols a{text-decoration:none}
.fcols a:hover{text-decoration:underline}
.fmeta{margin-top:26px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);line-height:1.7}

/* Tooltip */
.tip{position:fixed;z-index:60;pointer-events:none;background:var(--ink-strong);color:var(--paper);font-size:12.5px;line-height:1.4;padding:7px 9px;max-width:300px;opacity:0;transition:opacity .1s}
.tip.on{opacity:1}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  :root{--rubric:140px}
  .sigrow,.colhead{grid-template-columns:52px minmax(0,1fr) 110px 110px 150px}
  .sigrow .stc,.colhead .stc{display:none}
  .radargrid,.deskgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-body{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}
  .hero-body>.hero-meta{display:none}
  .related{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  :root{--rubric:1fr}
  .row,.sp-sec,.sp-claim,.rp-grid,.next,.hero-top{grid-template-columns:1fr;gap:8px}
  .sec-h{grid-template-columns:1fr auto;gap:6px 16px}
  .sec-h .deck{grid-column:1/-1;grid-row:2;font-size:16.5px}
  .hero-body{grid-template-columns:1fr;gap:30px}
  .aside{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:20px}
  .hero-body .blk.read{margin-left:0}
  .today{grid-template-columns:1fr}
  .today li:nth-child(2){border-top:1px solid var(--rule);padding-top:16px}
  .colhead{display:none}
  .sigrow{grid-template-columns:44px minmax(0,1fr) auto;gap:6px 14px}
  .sigrow>.txt{grid-column:2/4}
  .sigrow>.conf{grid-column:2;grid-row:2}
  .sigrow>.hz{grid-column:3;grid-row:2;text-align:right}
  .sigrow>.mv{grid-column:2/4;grid-row:3}
  .sigrow>.stc{display:none}
  .radargrid,.deskgrid{grid-template-columns:1fr}
  .hrow>button,.heat-axis{grid-template-columns:110px minmax(0,1fr) 52px;gap:12px}
  .hrow .hd,.heat-axis .hdx{display:none}
  .hdrivers{padding-left:0}
  .wire li{grid-template-columns:70px minmax(0,1fr);gap:4px 12px}
  .wire .desk{grid-column:1;grid-row:2;font-size:12px}
  .wire .t{grid-column:2;grid-row:1/3}
  .wire .r{display:none}
  .rec-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rec-counts>*:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--rule)}
  .rec-counts>*:nth-child(4){border-top:1px solid var(--rule)}
  .rec-notes{grid-template-columns:1fr}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts>div{border-left:0!important;padding-left:0!important;border-top:1px solid var(--rule)}
  .facts>div:first-child{grid-column:1/-1;border-top:0}
  .facts>div:nth-child(odd):not(:first-child){padding-left:14px!important;border-left:1px solid var(--rule)!important}
  .evtable li{grid-template-columns:26px 60px minmax(0,1fr)}
  .evtable li .bear{grid-column:3;grid-row:1}
  .evtable li>.body{grid-column:1/-1}
  .chain{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:22px}
  .chain::before{display:none}
  .integ,.api-fns,.rels{grid-template-columns:1fr}
  .related{grid-template-columns:1fr}
  .falsi li,.watchl li{grid-template-columns:1fr;gap:4px}
  .fcols{grid-template-columns:1fr 1fr}
  .fcols>div:first-child{grid-column:1/-1}
  .mast{grid-template-columns:1fr;gap:10px}
  .mast .titles{justify-self:start;text-align:left}
  .navbar .side .s-label{display:none}
  .util .stamp{max-width:52vw}
  .rels li{grid-template-columns:1fr;gap:2px}
}
@media (max-width:520px){
  .util nav a.m-hide{display:none}
  .sigrow .st{font-size:20px}
  .today h3{font-size:21px}
  .hero h1{font-size:44px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
  .navbar,.util,.since,footer.site,.drawer,.scrim,.search{display:none!important}
}

/* ---------- additions ---------- */
.tl li.mo{padding:8px 0 10px 0;margin-left:-8px;font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:.14em;color:var(--ink-2)}
.tl li.mo::before{display:none}
.stn .label{font-size:10px;letter-spacing:.06em;hyphens:manual;-webkit-hyphens:manual}
.hero-meta span{display:block;line-height:1.45}
.hero-body .col .btn{margin-top:2px}
.story .meta{margin-top:0}
.hit .note{font-size:12.5px}
@media (max-width:1240px){.sp-sec .chain{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:22px}.sp-sec .chain::before{display:none}}

.mini-sig .mnote{font-size:13.5px;color:var(--ink-2);margin-top:8px;line-height:1.45;display:flex;gap:8px;align-items:baseline}
.mini-sig .mnote svg{flex:none;position:relative;top:1px}
@media (max-width:820px){
  .row,.sp-sec,.sp-claim,.rp-grid,.next,.hero-top,.hero-body,.today,.radargrid,.deskgrid,.integ,.api-fns,.rels,.related,.rec-notes{grid-template-columns:minmax(0,1fr)}
}

/* official SOTO brand assets (vector logo and signature) */
.wordmark{display:block;line-height:0;color:var(--ink-strong);text-decoration:none;margin-left:0}
.wordmark .logo-soto{display:block;height:clamp(40px,7vw,92px);width:auto;aspect-ratio:433.2/100}
.navbar .mini{display:block;line-height:0}
.navbar .mini .logo-soto{display:block;height:14px;width:auto;aspect-ratio:433.2/100}
.mast .tag{line-height:0}
.mast .tag .sig-mark{display:block;height:clamp(11px,1.15vw,15px);width:auto;aspect-ratio:2078.6/100;margin-left:auto;color:var(--ink-strong)}
.mast .room{margin-top:10px}
.morning .dateline .w{line-height:0;align-self:center;color:var(--ink-strong)}
.morning .dateline .w svg{display:block;height:13px;width:auto;aspect-ratio:433.2/100}
@media (max-width:820px){.mast .tag .sig-mark{margin-left:0}}

/* ===== v2 packaging ===== */
.since .rbar{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;padding-top:9px;padding-bottom:9px;font-size:13px}
.rbar a{text-decoration:none}
.rbar a:hover{text-decoration:underline}
.rbar .rb-lead{font-weight:700;color:var(--ink-strong)}
.rbar .rb-c{color:var(--ink-2)}
.rbar .n{font-family:var(--mono);color:var(--ink-strong);margin-right:5px}
.rbar .rb-next{color:var(--ink)}
.rbar .rb-next b{font-family:var(--mono);font-weight:600}
.rbar .rb-v{color:var(--ink-2)}
.rbar .rb-s{margin-left:auto;color:var(--ink-2)}
.rbar .rb-s .new .n{color:var(--accent-ink)}
.stakes{max-width:560px}
.stk-need{font-size:15px;margin-bottom:8px;color:var(--ink-strong)}
.stk-need b{font-family:var(--mono);font-weight:600}
.stk-row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:baseline;border-top:1px solid var(--rule);padding:7px 0;font-size:14px}
.stk-o{color:var(--ink-2)}
.stk-s{font-weight:700;font-size:11.5px;letter-spacing:.14em}
.stk-row.resolved .stk-s{color:var(--ink-strong)}
.stk-row.missed .stk-s{color:var(--ink-3)}
.stk-d{font-size:13px;color:var(--ink-2)}
.stakes.compact .stk-need{font-size:13.5px;color:var(--ink-2)}
.vw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(22px,3vw,40px);border-top:1px solid var(--rule)}
.vw-i{display:block;text-decoration:none;color:inherit;padding:16px 0 20px}
.vw-i:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.vw-top{display:flex;justify-content:space-between;align-items:baseline}
.vw-id{font-weight:600;font-size:16px;color:var(--ink-strong)}
.vw-d{font-size:13px;color:var(--ink-2)}
.vw-d .mono{font-size:44px;line-height:1;color:var(--accent-ink);margin-right:6px}
.vw-date{font-size:12px;color:var(--ink-2);margin-top:6px}
.vw-i h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.2;margin:12px 0 10px;color:var(--ink-strong)}
.vw-p{display:flex;gap:6px;align-items:baseline;font-size:13px;color:var(--ink-2);margin-bottom:12px}
.vw-p .mono{font-size:22px;color:var(--ink-strong)}
.vw-p .mono.faint{color:var(--ink-3);font-size:17px;margin-left:12px}
.vw-ob{margin-top:14px;border-left:2px solid var(--accent);padding-left:12px;font-size:14px;line-height:1.4;display:grid;gap:4px;color:var(--ink-strong)}
.obs{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.ob{display:grid;gap:10px;padding:18px 0 20px;border-bottom:1px solid var(--rule)}
.ob-h{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline}
.ob-h .mono{font-size:12px}
.ob-k{font-weight:700;font-size:11px;letter-spacing:.14em;color:var(--accent-ink)}
.ob h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.4vw,30px);line-height:1.15;margin:0;color:var(--ink-strong)}
.prose.sm{font-size:17.5px;max-width:44em}
.ob-b{display:grid;gap:10px;max-width:46em}
.ob-b .note{margin-top:4px}
.ob-f{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;align-items:baseline}
.ob-f .mono{font-size:11.5px}
.watch2{margin-top:16px}
.watch2 ul{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:8px 24px;font-size:14px}
.stack{border-top:1px solid var(--rule)}
.st-l{display:grid;grid-template-columns:var(--rubric) minmax(0,1fr);gap:var(--gap);border-bottom:1px solid var(--rule);padding:16px 0}
.st-n small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:5px;line-height:1.35;font-family:var(--sans)}
.st-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px 24px}
.st-d{display:grid;gap:6px;text-decoration:none;color:inherit;align-content:start}
.st-d:hover .st-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.st-name{font-family:var(--serif);font-size:20px;color:var(--ink-strong);line-height:1.1}
.st-cells{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:1px;height:12px}
.st-cells i{display:block;background:var(--ink);opacity:var(--o,0)}
.st-cells i.z{background:transparent;opacity:1;border-bottom:1px solid var(--rule-2)}
.st-meta{font-size:11.5px;color:var(--ink-2)}
.st-light{font-size:11.5px;color:var(--ink-3)}
.st-d.light .st-name{color:var(--ink-2)}
.share{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--gap);align-items:start}
.share .card svg{display:block;width:100%;height:auto;border:1px solid var(--rule-2)}
.share .btn{margin-top:10px}
.mix{display:flex;height:30px;border:1px solid var(--ink-strong)}
.mix i{display:block;height:100%}
.mix-l{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 24px;font-size:14px}
.mix-l li{display:flex;gap:8px;align-items:baseline}
.mix-l .sw{width:10px;height:10px;display:inline-block;border:1px solid var(--ink);flex:none;align-self:center}
.s2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.s2 .cand{max-width:none}
.s2 .idline{margin-bottom:4px}
@media (max-width:820px){
  .rbar .rb-s{margin-left:0;flex-basis:100%}
  .vw,.share,.s2{grid-template-columns:minmax(0,1fr)}
  .vw-i+.vw-i{border-top:1px solid var(--rule)}
  .st-l{grid-template-columns:minmax(0,1fr);gap:10px}
  .st-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== the record starts ===== */
.marker .prose{margin:0 0 .85em;max-width:40em}
.marker .prose b{font-family:var(--sans);font-size:.8em;letter-spacing:.02em;color:var(--ink-strong)}
.marker .sign{font-style:italic}
pre.code.hashline{max-height:none;margin:0 0 .9em;font-size:12.5px;max-width:44em}
pre.code.adr{max-height:none;font-size:12.5px;line-height:1.6;max-width:56em}
.kicker .faint{letter-spacing:.14em;font-weight:700;font-size:12px}
.rbar .n{margin-right:0}

/* ===== v3 polish: rhythm, mobile. Só tokens existentes; logo, grade e tipos intactos ===== */

/* 1. Ritmo de leitura: faixas tonais alternadas na primeira página (largura total da tela) */
main section.sec[aria-label="Verdict watch"],
main section.sec[aria-label="Radar"],
main section.sec[aria-label="SOTO Observed"],
main section.sec[aria-label="Heat"],
main section.sec[aria-label="The Record"]{
  background:var(--wash);box-shadow:0 0 0 100vmax var(--wash);clip-path:inset(0 -100vmax);
  padding-top:clamp(26px,3.6vw,42px);padding-bottom:clamp(30px,4vw,48px)}

/* SOT-163: every section is a full-width band with identical padding and no gap between bands,
   so the header always shares the colour of its body and every junction looks the same. */
main section.sec[aria-label="Signals"],
main section.sec[aria-label="The Stack"],
main section.sec[aria-label="The Wire"]{
  background:var(--paper);box-shadow:0 0 0 100vmax var(--paper);clip-path:inset(0 -100vmax);
  padding-top:clamp(26px,3.6vw,42px);padding-bottom:clamp(30px,4vw,48px)}
main section.sec[aria-label="Right now"]{padding-bottom:clamp(30px,4vw,48px)}
main section.sec[aria-label="Radar"],
main section.sec[aria-label="Signals"],
main section.sec[aria-label="SOTO Observed"],
main section.sec[aria-label="The Stack"],
main section.sec[aria-label="Heat"],
main section.sec[aria-label="The Wire"],
main section.sec[aria-label="The Record"],
main section.sec[aria-label="Verdict watch"]{margin-top:0}

/* 2. O laranja como sinal de significado, não enfeite */
.sec-h{position:relative}
.sec-h::before{content:"";position:absolute;left:0;top:-2px;width:44px;height:2px;background:var(--accent)}
.page-h .kicker{color:var(--accent-ink)}
.today li:first-child .rk{color:var(--accent-ink)}
main a:hover,main button:hover{text-decoration-color:var(--accent)}
.sigrow{transition:background .2s}
.sigrow:hover{background:linear-gradient(90deg,var(--accent-wash),transparent 55%)}

/* 4. Mobile: o que espremia */
@media (hover:none){.util kbd{display:none}}
@media (max-width:820px){
  .util nav [data-search]{display:none}                 /* a busca já está na barra fixa */
  .drawer .dh{padding:12px 16px}.drawer .db{padding:18px 16px 32px}
  .since .rbar{gap:4px 14px;font-size:12.5px}
}
@media (max-width:520px){
  .util{gap:10px}.util nav{gap:14px}.util .stamp{flex:1;min-width:0;max-width:none;font-size:11px}
  .chain,.sp-sec .chain{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stn .v{font-size:19px}.rec-counts .v,.vw-d .mono{font-size:36px}.facts .big{font-size:38px}
  .navbar .side{gap:12px}
  .navbar .wrap{gap:12px}.navbar .primary{gap:12px}
  .util nav [data-search]{display:inline}
  .navbar .primary a{letter-spacing:.08em;font-size:12px}
}


.stamp .st-short{display:none}
@media (max-width:520px){.util .stamp{white-space:normal;line-height:1.3;padding:4px 0;overflow:visible;text-overflow:clip}.stamp .st-short .sf{display:block}}
.stamp .nw{white-space:nowrap}@media (max-width:380px){.stamp .st-short .wd{display:none}}
@media (max-width:520px){.stamp .st-full{display:none}.stamp .st-short{display:inline}}

/* ===== v3.2: menu inteiro nas páginas internas (onde o logo pequeno divide a barra) ===== */
.navbar .side{flex:none}                                   /* o pulso nunca é espremido a 0 px */
@media (max-width:520px){
  body:not([data-view="now"]) .navbar .wrap{gap:8px}
  body:not([data-view="now"]) .navbar .primary{gap:10px}
  body:not([data-view="now"]) .navbar .primary a{letter-spacing:.03em}
  body:not([data-view="now"]) .navbar .mini .logo-soto{height:12px}
}
@media (max-width:380px){
  body:not([data-view="now"]) .navbar .primary a{font-size:11.5px;letter-spacing:.01em}
  body:not([data-view="now"]) .navbar .primary{gap:9px}
}

/* ===== v3.3 acabamento: wire por dia, paginação, contexto à parte (tokens e estilos existentes) ===== */
.wire-more{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 0 4px}
.wire-more .note{margin:0}
.wire-ctx{margin-top:clamp(36px,5vw,56px)}
.wire-ctx>summary{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--ink-2);padding:12px 0;border-top:2px solid var(--ink-strong)}
.wire-ctx .note{max-width:52em;margin:6px 0 4px}
.stamp .upd{color:var(--ink-strong)}
footer.site .since{background:transparent;border-bottom:1px solid var(--rule)}
footer.site .since .rbar{padding-top:18px;padding-bottom:18px}
footer.site .since{margin-bottom:clamp(24px,4vw,40px)}
.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--live);margin-right:7px;vertical-align:1px;animation:livepulse 2.8s ease-in-out infinite}
@keyframes livepulse{0%,100%{opacity:1;box-shadow:0 0 0 0 color-mix(in srgb,var(--live) 45%,transparent)}50%{opacity:.55;box-shadow:0 0 0 5px transparent}}
@media (prefers-reduced-motion:reduce){.live{animation:none}}
.hb{display:none;font-family:var(--mono);font-size:11px;letter-spacing:.01em;color:var(--ink-strong);padding-top:6px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
@media (max-width:520px){.hb:not(:empty){display:block}.stamp .upd{display:none}}
/* ===== v3.5 real-time: faixa de retirada (wire) e aviso de novo material (topo do wire) ===== */

/* Retirada: item com events[i].withdrawn. Ocupa o lugar do item, na mesma grade do wire.
   O hachurado é o mesmo das linhas "gap" do Record: aqui havia algo e foi retirado. */
.wire li.wd{background:repeating-linear-gradient(135deg,transparent 0 6px,var(--wash) 6px 7px)}
.wire li.wd .d,.wire li.wd .desk{color:var(--ink-3)}
.wire .wd-t{grid-column:3/-1;font-size:14px;line-height:1.4;color:var(--ink-2)}
.wd-k{font-family:var(--mono);font-size:12px;color:var(--accent-ink)}
.wd-k time{font:inherit}

/* Aviso: uma linha, uma só instância, sempre no topo do wire (capa e #/wire) */
.newbar{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;margin:0 0 14px;padding:9px 0 9px 14px;border-left:2px solid var(--accent);font-size:14px;line-height:1.4;animation:viewIn .18s ease-out}
.page-h+.newbar{margin-top:22px}
header>.newbar{max-width:1320px;margin:0 auto;padding:9px clamp(16px,3.6vw,44px);border-left:0;border-bottom:1px solid var(--rule);background:var(--paper)}
.newbar .nb-lead{font-weight:600;color:var(--ink-strong)}
.newbar .nb-c{font-size:13px;color:var(--ink-2)}
.newbar .n{font-family:var(--mono);font-size:13px;color:var(--accent-ink)}
.newbar .nb-act{margin-left:auto;font-weight:600;font-size:13px;white-space:nowrap;border-bottom:1px solid var(--rule-2)}
.newbar .nb-act:hover{border-bottom-color:var(--accent)}

@media (max-width:820px){
  .wire .wd-t{grid-column:2;grid-row:1/3}
  .newbar .nb-act{margin-left:0}
}
@media (max-width:520px){            /* data e motivo em duas linhas, sem separador pendurado no fim da linha */
  .wire .wd-sep{display:none}
  .wire .wd-why{display:block}
}
.nat{display:block;font-style:normal;font-family:var(--mono,monospace);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:400;line-height:1.2}.livebar{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:8px 0;margin:14px 0 18px;font-family:var(--sans)}.livebar p{margin:0}.livebar .lb-main{font-size:14px;line-height:1.5;color:var(--ink-strong)}.livebar .rub{padding-top:0;margin-right:10px}.livebar .lb-note{color:var(--ink-2);font-size:13px;font-weight:400}.livebar .lb-sub{font-size:12.5px;line-height:1.5;color:var(--ink-2);margin-top:2px}.livebar .lb-sub a{color:inherit}.livebar .lb-sub .mono{font-size:12px}.rn-sub{margin:26px 0 6px}.rn-sub:first-of-type{margin-top:6px}.rn-calls .rk,.rn-radar .rk{font-size:13px;letter-spacing:.02em}.wl{list-style:none;margin:18px 0 0;padding:0}
.wl li{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr) minmax(0,240px);gap:14px;border-top:1px solid var(--rule);padding:11px 0;align-items:baseline}
.wl li:first-child{border-top:0}
.wl .n{font-weight:600;font-size:15px}.wl .n small{display:block;font-family:var(--mono);font-weight:400;font-size:11.5px;color:var(--ink-3);margin-top:2px}
.wl .y{font-size:15px;line-height:1.45}.wl .s{font-size:13px;color:var(--ink-2);word-break:break-word}
.wlh{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.15;margin:0 0 12px}
@media(max-width:760px){.wl li{grid-template-columns:1fr;gap:3px}}
