:root{--bg:#fff;--fg:#16181d;--muted:#5b6472;--line:#e3e7ee;--card:#f7f9fc;--pos:#0a7d4d;--posbg:#e5f4ec;--neg:#b4231f;--negbg:#fbe9e8;--mix:#8a6d1f;--mixbg:#f6efdb;--band:#eef2f8;--accent:#264b7a;--accent2:#7a3d8f}
@media(prefers-color-scheme:dark){:root{--bg:#0f1216;--fg:#e6e9ef;--muted:#9aa4b2;--line:#242a33;--card:#161b22;--pos:#4cd08a;--posbg:#123326;--neg:#f0817d;--negbg:#3a1a19;--mix:#e0c26a;--mixbg:#332b12;--band:#161d27;--accent:#8fb4e8;--accent2:#c79ad6}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans JP",sans-serif}
button,a{font:inherit}
a{color:var(--accent)}
.beta{background:var(--negbg);color:var(--neg);border-bottom:1px solid var(--neg);padding:8px 14px;font-size:12.5px;font-weight:600;text-align:center}
.topbar{max-width:1180px;margin:0 auto;padding:12px 16px 0;display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{font-weight:800;font-size:16px;color:var(--fg);text-decoration:none}.brand span{color:var(--accent)}
.lang-switch{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:var(--card)}
.lang-switch button{appearance:none;border:0;background:transparent;color:var(--muted);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer}
.lang-switch button[aria-pressed=true]{background:var(--accent);color:#fff}
.wrap{max-width:1180px;margin:0 auto;padding:8px 16px 60px}
.crumb{font-size:12.5px;color:var(--muted);margin:8px 0}.crumb a{text-decoration:none}
h1{font-size:21px;line-height:1.3;margin:8px 0 4px}
.disc{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:10px 14px;font-size:13px;color:var(--muted);margin:12px 0}
.meta,.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}.chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 11px;font-size:12px;color:var(--muted)}
.chip.g{color:var(--accent);border-color:var(--accent)}.chip.j{color:var(--accent2);border-color:var(--accent2)}
.price{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:10px 14px;font-size:13px;margin:12px 0}.price b{color:var(--fg)}
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--line);margin:20px 0 0}.tab{appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:9px 16px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer}
.tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent)}.tab.j[aria-selected=true]{border-bottom-color:var(--accent2)}
.panel{padding-top:14px}.phead{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:6px}
.counts{font-size:12.5px;color:var(--muted)}.spherelink{display:inline-flex;gap:6px;font-size:12.5px;font-weight:600;text-decoration:none;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:5px 12px}.spherelink.j{border-color:var(--accent2);color:var(--accent2)}
/* Both Sphere links are named after a driver, so the role caption is what separates "only this
   article's paths" from "the whole theme" before the reader picks one. */
.spherelink{flex-direction:column;align-items:flex-start;gap:1px;line-height:1.35;text-align:left}
.spherelink .cta-role{font-size:10.5px;font-weight:800;letter-spacing:.04em;opacity:.85}
.spherelink .cta-label{font-size:12.5px;font-weight:600}
.nofocus{font-size:11.5px;color:var(--muted);margin:10px 0 0;font-style:italic}.zeroscope{font-size:12px;color:var(--muted);margin:6px 0 10px;padding:6px 8px;border-left:2px solid var(--line)}.overview{font-size:13.5px;color:var(--muted);margin:6px 0 12px}
.sbg-fx-discovery{border-top:1px solid var(--line);margin:18px -2px 0;padding:20px 2px 4px}.sbg-fx-kicker{color:var(--accent2);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.sbg-fx-discovery h2{font-size:clamp(23px,3vw,34px);line-height:1.2;margin:6px 0 10px}.sbg-fx-lead{font-size:16px;line-height:1.65;font-weight:650;max-width:960px}.sbg-fx-condition{border:1px solid var(--line);border-left:3px solid var(--mix);border-radius:7px;padding:10px 12px;color:var(--muted);background:var(--bg);margin:14px 0}.sbg-fx-condition b{display:block;color:var(--fg);margin-bottom:2px}.sbg-fx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.sbg-fx-card{display:flex;flex-direction:column;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:13px}.sbg-fx-card.down{border-top:3px solid var(--neg)}.sbg-fx-card.up{border-top:3px solid var(--pos)}.sbg-fx-layer{font-size:14px;font-weight:800}.sbg-fx-route{background:var(--card);border-radius:6px;padding:9px;margin:10px 0;font-size:13px;line-height:1.5}.sbg-fx-card.down .sbg-fx-route b{color:var(--neg)}.sbg-fx-card.up .sbg-fx-route b{color:var(--pos)}.sbg-fx-example{border:1px solid var(--line);border-radius:7px;padding:10px}.sbg-fx-example span{display:block;color:var(--mix);font-size:10.5px;font-weight:800}.sbg-fx-example strong{display:block;font-size:clamp(22px,2.4vw,30px);line-height:1.2;margin:4px 0}.sbg-fx-example strong i{color:var(--muted);font-style:normal;font-weight:400}.sbg-fx-example small{display:block;color:var(--muted);font-size:10.5px;line-height:1.4}.sbg-fx-card p{font-size:12.5px;line-height:1.55}.sbg-fx-card a{font-size:11px;margin-top:auto}.sbg-fx-net{font-size:11.5px;color:var(--muted);margin:10px 2px 0}.sbg-fx-source{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:10px 12px;margin-top:14px;font-size:12px}.sbg-fx-source span{display:inline-block;color:var(--accent);background:var(--band);border-radius:5px;padding:1px 7px;font-size:10px;font-weight:800;margin-right:8px}.sbg-fx-source b{font-size:12px}.sbg-fx-source p{color:var(--muted);margin:5px 0}.sbg-fx-source small{display:block;color:var(--muted);margin-top:3px}
/* Discovery lead. It is the first block under the title, so it is the only element on the
   page allowed to outweigh the headline typographically at a glance. */
.finding{border:1px solid var(--line);border-left:3px solid var(--acc,#3b82f6);border-radius:8px;padding:12px 14px;margin:10px 0 14px;background:var(--bg)}
.finding-head{font-weight:800;font-size:13px;letter-spacing:.02em;margin-bottom:8px}
.finding-line{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13.5px;line-height:1.55;margin:5px 0;overflow-wrap:anywhere}
.finding-line .k{font-weight:700;min-width:0}
.finding-line .v{flex:1 1 220px;min-width:0}
.finding-more{margin-top:9px;color:var(--muted)}
/* Source strip. It sits directly under the title because "who reported this, and when" is
   part of reading the event, not an appendix to it. Kept to outlet, tier and date so it
   stays one line per source and never competes with the headline. */
.srclead{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px 0 2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);font-size:12.5px}
.srclead-h{font-weight:700;color:var(--muted);letter-spacing:.03em}
.srclead-item{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;text-decoration:none;color:inherit;max-width:100%}
.srclead-name{font-weight:700;border-bottom:1px solid currentColor}
.srclead-meta{color:var(--muted)}
.srclead-go{color:var(--accent);font-weight:600;white-space:nowrap}
/* Supplementary blocks: kept, and deliberately quieter than the reading above them. Two
   steps down in size and one in colour, so a skim never mistakes a reservation for a
   finding. */
.supplement{margin-top:26px;padding-top:14px;border-top:1px solid var(--line)}
.supplement>h2{font-size:12.5px;color:var(--muted);font-weight:700;letter-spacing:.04em;border:0;padding:0;margin:0 0 8px}
.supplement .lim{font-size:12px;color:var(--muted);line-height:1.5}
.supplement-body{font-size:12px;color:var(--muted);line-height:1.6}
.supplement-body b{font-weight:700;color:var(--muted)}
/* The lead paragraph of the article. One size up from body, so the first thing under the
   source strip reads as the summary rather than as the first of many equal paragraphs. */
.lead{font-size:16.5px;line-height:1.7;margin:14px 0 4px}
.lead b{font-weight:700}
/* A figure that carries the weight of the story. Used sparingly -- when a number is the
   reason the event matters, it should not be buried mid-sentence. */
.keyfacts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 2px}
.keyfact{flex:1 1 190px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--card)}
.keyfact-v{display:block;font-size:20px;font-weight:800;line-height:1.2;font-variant-numeric:tabular-nums}
.keyfact-k{display:block;font-size:11.5px;color:var(--muted);margin-top:3px}
/* The causal chain, drawn. The whole product is that an event travels a path to a company,
   so the path is shown as a path rather than described in a sentence. */
.chainrow{display:flex;flex-wrap:wrap;align-items:stretch;gap:6px;margin:16px 0 4px}
.chainrow-step{flex:1 1 150px;min-width:0;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:9px 11px;background:var(--card)}
.chainrow-step.end{border-left-color:var(--pos)}
.chainrow-k{display:block;font-size:10.5px;letter-spacing:.06em;color:var(--muted);font-weight:700}
.chainrow-v{display:block;font-size:13.5px;font-weight:700;margin-top:3px}
.chainrow-n{display:block;font-size:11.5px;color:var(--muted);margin-top:3px;line-height:1.45}
.chainrow-arrow{align-self:center;color:var(--muted);font-weight:700}
@media(max-width:640px){.chainrow{flex-direction:column}.chainrow-arrow{transform:rotate(90deg);align-self:flex-start;margin-left:14px}}
/* Now figures. Two standard shapes for the articles a reader cannot follow from prose: a route
   (where cargo physically goes, in order, with the leg between each pair of stops named) and a
   split (one cause opening two opposite legs, ending on which one wins -- or that it is unknown).
   Rendered inside the body section they explain, at body weight: these are how the article is
   read, not an illustration beside it. */
.nowfig{margin:14px 0 2px;border:1px solid var(--line);border-radius:9px;padding:12px 14px;background:var(--bg)}
.nowfig-h{font-size:12.5px;font-weight:800;letter-spacing:.02em;margin-bottom:10px}
.nowfig-note{font-size:11.5px;color:var(--muted);line-height:1.55;margin-top:10px}
.nowfig-route{list-style:none;margin:0;padding:0}
.nowfig-stop{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;padding:8px 11px;background:var(--card)}
.nowfig-stop-l{display:block;font-size:13.5px;font-weight:700}
.nowfig-stop-p{display:block;font-size:11px;font-weight:700;color:var(--accent);margin-top:2px}
.nowfig-stop-n{display:block;font-size:11.5px;color:var(--muted);line-height:1.45;margin-top:3px}
.nowfig-leg{display:flex;align-items:center;gap:8px;padding:3px 0 3px 12px}
.nowfig-leg-a{color:var(--muted);font-weight:700;line-height:1}
.nowfig-leg-l{font-size:11.5px;font-weight:700;color:var(--mix);background:var(--mixbg);border-radius:5px;padding:1px 8px}
.nowfig-root{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:7px;padding:8px 11px;background:var(--card);text-align:center}
.nowfig-root-l{display:block;font-size:13.5px;font-weight:700}
.nowfig-root-n{display:block;font-size:11.5px;color:var(--muted);line-height:1.45;margin-top:3px}
.nowfig-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.nowfig-branch{border:1px solid var(--line);border-radius:7px;padding:9px 11px;min-width:0;background:var(--card)}
.nowfig-branch.pos{border-top:3px solid var(--pos)}
.nowfig-branch.neg{border-top:3px solid var(--neg)}
.nowfig-branch.mix{border-top:3px solid var(--mix)}
.nowfig-branch-h{display:flex;align-items:baseline;gap:7px;font-size:12.5px;font-weight:800;line-height:1.4}
.nowfig-branch-s{flex:0 0 auto;font-size:13px;font-weight:800;border-radius:5px;padding:0 7px}
.nowfig-branch.pos .nowfig-branch-s{color:var(--pos);background:var(--posbg)}
.nowfig-branch.neg .nowfig-branch-s{color:var(--neg);background:var(--negbg)}
.nowfig-branch.mix .nowfig-branch-s{color:var(--mix);background:var(--mixbg)}
.nowfig-steps{margin:8px 0 0;padding-left:18px}
.nowfig-steps li{font-size:12px;line-height:1.5;margin:3px 0}
.nowfig-outcome{display:block;font-size:12px;font-weight:700;margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}
.nowfig-verdict{font-size:13px;font-weight:700;line-height:1.6;margin-top:11px;padding:9px 11px;border:1px dashed var(--line);border-radius:7px;background:var(--band)}
@media(max-width:640px){.nowfig-branches{grid-template-columns:1fr}}
/* The reading a headline does not give you. One per article at most. */
.insight{border:1px solid var(--accent);border-radius:10px;padding:13px 15px;margin:18px 0 2px;background:var(--card)}
.insight-k{font-size:10.5px;letter-spacing:.06em;font-weight:800;color:var(--accent)}
.insight-h{font-size:15px;font-weight:800;margin:5px 0 6px;line-height:1.4}
.insight-b{font-size:13.5px;line-height:1.65}
/* Read-through: what to look at next, after the event table. Body weight, not supplement
   weight -- this is the article's ending, and the whole reason it exists is that the table
   above it is deliberately narrow. The count leads each row because the point being made is
   one of scale; the note beside it says what the count counts, so a number can never be read
   as "this many companies were affected by this event". */
.readthrough{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.readthrough>h2{font-size:14.5px;font-weight:800;border:0;padding:0;margin:0 0 8px}
.rt-intro{font-size:13.5px;line-height:1.65}
.rt-areas{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.rt-area{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 9px;border-top:1px solid var(--line);padding-top:7px}
.rt-area-n{font-size:15px;font-weight:800;min-width:24px}
.rt-area-l{font-size:13.5px;font-weight:700}
.rt-area-note{font-size:12px;color:var(--muted);line-height:1.5;flex:1 1 220px;min-width:0}
.rt-boundary{font-size:12.5px;line-height:1.6;color:var(--muted);margin-top:12px}
.rt-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:700}
/* Path scope: the one place the page says whether these rows are all of it, and the one
   place the conditional/not-yet-active status is stated. */
/* The standing state, as an aside: same quiet weight as the other supplements, with the
   facts set as a short label/value list so it can never be mistaken for a second analysis. */
.state-aside .state-line{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:12.5px;margin-top:6px}
.state-aside .state-k{flex:0 0 auto;font-weight:700;color:var(--muted);min-width:96px}
.state-aside .state-v{flex:1 1 220px;min-width:0}
.state-aside .state-go{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:600}
.pathscope{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:14px 0 2px}
.pathscope-h{font-size:13px;font-weight:800}
.pathscope-path{font-size:13px;color:var(--muted);font-weight:600;min-width:0}
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;min-width:1000px;font-size:12.5px}
/* Nine-column table (adds "information as of"). Auto layout lets one long cell take the row, so the prose columns collapse; fixed layout plus the colgroup keeps them readable. The cells that are nowrap elsewhere have to wrap here, or the English "Short term" runs into the reason column. */
table.wf{min-width:1120px;table-layout:fixed}table.wf .co,table.wf .seg,table.wf .lag-primary,table.wf .lag-note{white-space:normal}
thead th{background:var(--band);text-align:left;padding:8px 10px;font-weight:600;white-space:nowrap;border-bottom:1px solid var(--line)}tbody td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:none}
.dirs{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.co{font-weight:600;white-space:nowrap}.seg{color:var(--muted);font-size:11.5px;white-space:nowrap}.dir{font-weight:700;border-radius:5px;padding:2px 8px;font-size:11.5px;white-space:nowrap;display:inline-block}
.pos{color:var(--pos);background:var(--posbg)}.neg{color:var(--neg);background:var(--negbg)}.mix{color:var(--mix);background:var(--mixbg)}.small{color:var(--muted);font-size:11.5px}
section.block{margin-top:26px}section.block h2{font-size:16px;margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--line)}
.lim li{margin:4px 0;color:var(--muted);font-size:13px}
.src-intro{margin-bottom:10px}.src-item{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0;font-size:12.5px;background:var(--card)}.src-item .r1{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.tag{border-radius:5px;padding:1px 7px;font-size:11px;font-weight:700;white-space:nowrap}.tag.press{color:#8a6d1f;background:var(--mixbg)}.tag.ctx{color:var(--accent);background:var(--band)}
.src-item .role{color:var(--muted);margin-top:4px}.src-item .ts{color:var(--muted);font-size:11.5px;margin-top:3px}.src-item a{word-break:break-all}
.hist li{margin:6px 0;font-size:12.5px}.hist .k{font-weight:700;font-size:10.5px;letter-spacing:.03em;color:var(--accent)}
.foot{margin-top:30px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.lag-primary{font-weight:600;white-space:nowrap}.lag-note{display:block;font-size:10.5px;color:var(--muted);margin-top:2px;white-space:nowrap}
.foot-disc{margin-top:12px;font-size:11px;color:var(--muted);line-height:1.5}
.evcard{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:14px 0;background:var(--card)}.evcard:hover{border-color:var(--accent)}
.evcard .ehl{font-weight:700;font-size:16px;line-height:1.35}.evcard .esub{color:var(--muted);font-size:13px;margin-top:4px}.evcard .chips{margin-top:10px}
/* Two briefs that are two readings of one theme were indistinguishable from two unrelated briefs in
   a flat list. The group names the theme once, says what the two sides are, and each card carries the
   side it covers -- so the pairing is visible without opening either page. */
.briefgroup{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:12px 14px 4px;margin:14px 0}
.briefgroup-h{font-weight:700;font-size:14px}
.briefgroup-lead{color:var(--muted);font-size:12.5px;margin-top:3px}
.briefgroup .evcard{margin:12px 0}
.evcard .eface{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--accent);margin-bottom:3px}
.evcard .eface.j{color:var(--accent2)}
.not-found{max-width:640px;padding-top:44px}.code{font-size:52px;font-weight:800;letter-spacing:-.02em;color:var(--accent)}.not-found h1{font-size:20px;margin:8px 0 6px}.not-found p{color:var(--muted);font-size:14px}
.back{display:inline-block;margin-top:18px;text-decoration:none;font-weight:600;border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:9px 18px}
[hidden]{display:none!important}
@media(max-width:640px){.topbar{padding-top:10px}.wrap{padding-left:12px;padding-right:12px}.beta{font-size:11.5px;padding:7px 10px}.phead{align-items:flex-start}.spherelink{width:100%;justify-content:center}.evcard{padding:14px}.tab{flex:1;padding-left:8px;padding-right:8px}.not-found{padding-top:32px}}
@media(max-width:860px){.sbg-fx-grid{grid-template-columns:1fr}.sbg-fx-example strong{font-size:25px}}
@media(max-width:520px){.sbg-fx-discovery h2{font-size:24px}.sbg-fx-lead{font-size:14px}}
/* Situation Layer. Structural distance and real time are separate columns; the
   coverage and Pro markers are always rendered, never hidden by styling. */
.sit{border:1px solid var(--line);border-radius:10px;padding:14px 14px 18px;background:var(--card)}
.sit h2{border-bottom-color:var(--accent)}
.tier{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.04em;border-radius:4px;padding:1px 6px;vertical-align:middle;margin-left:6px}
.tier.free{background:var(--band);color:var(--muted);border:1px solid var(--line)}
.tier.pro{background:var(--accent);color:#fff}
.sit-driver{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--bg);margin-bottom:14px}
.sit-driver-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}
.sit-driver-name{font-weight:700;font-size:15px}
.sit-dir{font-weight:800;font-size:12px;border-radius:5px;padding:2px 8px}
.sit-dir.rising{color:var(--pos);background:var(--posbg)}
.sit-dir.falling{color:var(--neg);background:var(--negbg)}
.sit-dir.mixed,.sit-dir.unclear{color:var(--mix);background:var(--mixbg)}
.sit-val{font-size:11px;font-weight:700;color:var(--accent2);border:1px solid var(--line);border-radius:999px;padding:1px 8px}
.sit-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.sit-link{font-size:12px;font-weight:700;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:4px 10px;background:var(--band)}
.sit-link.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.sit-linklabel{align-self:center}
.sit-sub{font-weight:700;font-size:13px;margin:14px 0 6px}
.sit-sub.big{font-size:14.5px;margin-top:22px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.sit-table{min-width:940px}
.sit-table td{vertical-align:top}
.segtag{display:inline-block;font-size:9.5px;font-weight:800;color:var(--accent2);border:1px solid var(--line);border-radius:3px;padding:0 4px;margin-left:5px;vertical-align:middle}
.sit-nonet{margin-bottom:10px;font-style:italic}
.sit-pair{border:1px solid var(--line);border-radius:8px;padding:11px 12px;margin-bottom:12px;background:var(--bg)}
.sit-pair-head{font-weight:700;font-size:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}
.sit-pair-legs{font-size:11.5px;font-weight:600;color:var(--muted)}
.sit-segnote{margin:6px 0;color:var(--accent2)}
.sit-body{font-size:13px;color:var(--fg)}
.sit-disc{list-style:none;padding:0;margin:0}
.sit-disc li{border-left:3px solid var(--line);padding:4px 0 4px 10px;margin:8px 0}
.sit-kv{font-size:12.5px;margin:2px 0}
.sit-kv .k{display:inline-block;min-width:150px;font-weight:700;color:var(--muted);margin-right:8px}
.sit-kv .k.pos{color:var(--pos)}.sit-kv .k.neg{color:var(--neg)}.sit-kv .k.warn{color:var(--mix)}
.sit-cp{border:1px dashed var(--line);border-radius:8px;padding:9px 11px;background:var(--band)}
.sit-cp-what{font-weight:700;font-size:13px;margin-bottom:4px}
.sit-basis{margin:2px 0}
.sit-cp-list{list-style:none;padding:0;margin:8px 0 0}
.sit-cp-list li{font-size:12.5px;margin:4px 0}
.sit-cp-list .k{display:inline-block;min-width:120px;font-weight:700;margin-right:8px}
.sit-cp-list .k.pos{color:var(--pos)}.sit-cp-list .k.neg{color:var(--neg)}.sit-cp-list .k.warn{color:var(--mix)}
.sit-single{font-size:13px;margin:6px 0}
.sit-pronote{margin-top:16px;padding-top:10px;border-top:1px solid var(--line);font-style:italic}
@media(max-width:720px){.sit-kv .k{min-width:0;display:block}.sit-cp-list .k{min-width:0;display:block}}
.fr-fx-discovery{border-top:1px solid var(--line);margin:28px -2px 0;padding:24px 2px 4px}.fr-fx-kicker{color:var(--accent2);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.fr-fx-discovery h2{font-size:clamp(24px,3vw,35px);line-height:1.2;margin:6px 0 10px;max-width:1000px}.fr-fx-lead{font-size:16px;line-height:1.65;font-weight:650;max-width:1000px}.fr-fx-condition{border:1px solid var(--line);border-left:3px solid var(--mix);border-radius:7px;padding:10px 12px;color:var(--muted);background:var(--bg);margin:14px 0}.fr-fx-condition b{display:block;color:var(--fg);margin-bottom:2px}.fr-fx-punch{background:var(--band);border-radius:8px;padding:12px 14px;margin:15px 0}.fr-fx-punch span{display:block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.04em}.fr-fx-punch strong{display:block;font-size:17px;line-height:1.45;margin-top:2px}.fr-fx-chain{display:grid;grid-template-columns:minmax(108px,1fr) 64px minmax(108px,1fr) 78px minmax(108px,1fr) 70px minmax(108px,1fr) 62px minmax(108px,1fr);align-items:stretch;gap:4px;margin:18px 0}.fr-fx-step{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:11px 9px;text-align:center;min-width:0}.fr-fx-step span{display:block;color:var(--mix);font-size:10px;font-weight:800}.fr-fx-step strong{display:block;font-size:14px;line-height:1.25;margin:5px 0}.fr-fx-step small{display:block;color:var(--muted);font-size:10px;line-height:1.35}.fr-fx-step.locked{border-top:3px solid var(--accent2)}.fr-fx-step.inventory,.fr-fx-step.cogs{border-top:3px solid var(--mix)}.fr-fx-step.margin{border-top:3px solid var(--pos)}.fr-fx-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted)}.fr-fx-arrow b{font-size:9px;line-height:1.2}.fr-fx-arrow i{font-style:normal;font-size:22px;line-height:1}.fr-fx-arrow.delay b{color:var(--mix)}.fr-fx-reading{border-left:3px solid var(--accent2);padding:8px 12px;margin:10px 0 18px;font-size:14px;line-height:1.6}.fr-fx-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.fr-fx-evidence{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:13px}.fr-fx-evidence.result{border-top:3px solid var(--pos)}.fr-fx-evidence.scale{border-top:3px solid var(--accent)}.fr-fx-evidence>span{color:var(--mix);font-size:10.5px;font-weight:800}.fr-fx-evidence>strong{font-size:clamp(22px,2.5vw,30px);line-height:1.2;margin:5px 0}.fr-fx-evidence>strong i{display:block;color:var(--muted);font-size:12px;font-style:normal;font-weight:600;margin-top:3px}.fr-fx-evidence p{font-size:12.5px;line-height:1.55}.fr-fx-evidence em{display:block;background:var(--card);border-radius:6px;padding:8px;font-size:11.5px;font-style:normal;font-weight:700;line-height:1.45;margin:3px 0 10px}.fr-fx-evidence a{font-size:11px;margin-top:auto}.fr-fx-boundary{font-size:11.5px;color:var(--muted);line-height:1.55;margin:12px 2px}.fr-fx-sources{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:10px 12px;margin-top:14px;font-size:12px}.fr-fx-sources>span{display:inline-block;color:var(--accent);background:var(--band);border-radius:5px;padding:1px 7px;font-size:10px;font-weight:800;margin-right:8px}.fr-fx-sources p{color:var(--muted);margin:5px 0}.fr-fx-sources small{display:block;color:var(--muted);margin-top:3px}@media(max-width:900px){.fr-fx-chain{grid-template-columns:1fr}.fr-fx-arrow{min-height:34px}.fr-fx-arrow i{transform:rotate(90deg)}.fr-fx-evidence-grid{grid-template-columns:1fr}}@media(max-width:520px){.fr-fx-discovery h2{font-size:24px}.fr-fx-lead{font-size:14px}.fr-fx-evidence>strong{font-size:23px}}
