:root{
  --bg:#0b1524;--panel:#121d31;--panel2:#182540;--line:#243654;--txt:#e9eef4;--mut:#93a5c4;
  --acc:#7aa7ff;--acc2:#8fd0ff;--warn:#f5c451;--bad:#ff7a7a;--good:#5ee1a0;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:radial-gradient(1200px 700px at 75% -10%,#1b2f55 0%,var(--bg) 60%);color:var(--txt);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--acc2)}
.hidden{display:none!important}
header.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;max-width:1280px;margin:0 auto;flex-wrap:wrap}
.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}
.mark{width:32px;height:32px;border-radius:9px;flex:none}
.name{font-weight:700;font-size:21px;letter-spacing:-.02em;line-height:1.1}.name span{color:#5d87ff;font-weight:700}
.tag{color:var(--mut);font-size:12.5px}
.nav{display:flex;gap:2px}
.nav a{color:var(--mut);text-decoration:none;padding:7px 11px;border-radius:8px;font-size:14px;font-weight:500}
.nav a:hover{color:var(--txt);background:var(--panel2)}.nav a.on{color:var(--acc);background:#172a4f}.nav a.dim{opacity:.6}
main{max-width:1280px;margin:0 auto;padding:4px 28px 40px;display:flex;flex-direction:column;gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:0 12px 36px rgba(0,0,0,.28)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
h2{margin:0;font-size:18px;letter-spacing:-.015em}
h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--mut)}h3 small{text-transform:none;letter-spacing:0;font-weight:400}
.sub{color:var(--mut);font-size:13.5px}
.mini{background:transparent;border:1px solid var(--line);color:var(--mut);border-radius:8px;padding:5px 10px;font:600 12px var(--sans);cursor:pointer}
.mini:hover{color:var(--txt);border-color:#3a5080}
/* stage */
.stage{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.caption{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:14px 22px;background:linear-gradient(90deg,#0f1c22,#101821);border-bottom:1px solid var(--line)}
.steps{display:flex;gap:4px;flex-wrap:wrap}
.steps span{font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#4f6385;padding:4px 9px;border-radius:999px;border:1px solid transparent;transition:all .3s}
.steps span.done{color:var(--mut)}
.steps span.on{color:var(--acc);border-color:#34508a;background:#172a4f}
.cap-text{margin:0;font-size:16.5px;line-height:1.4;min-height:1.4em;font-weight:500}
.cap-text em{color:var(--acc);font-style:normal}
.cap-text .chem-only{display:inline;color:var(--mut);font-size:14px;font-weight:400}
.cap-ctl{display:flex;gap:6px}
.stage-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:0}
.board-wrap{padding:18px 22px 20px;position:relative}
.board-hd{display:flex;justify-content:space-between;color:var(--mut);font-size:12.5px;margin-bottom:10px}
.board-meta{font-family:var(--mono)}
.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;align-items:stretch;min-height:230px}
.mcard{position:relative;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:10px 10px 12px;text-align:center;transition:border-color .3s,box-shadow .3s,opacity .3s;will-change:transform}
.mcard svg{width:100%;height:auto;max-height:104px}
.mcard svg path,.mcard svg line{stroke:#e9eef4!important}.mcard svg text{fill:#e9eef4!important}
.mcard .lab{font-weight:600;font-size:13px;margin-top:2px;line-height:1.2}
.mcard .smi{font-family:var(--mono);font-size:10.5px;color:var(--mut);word-break:break-all}.mcard .smi.note{word-break:normal}
.mcard .rank{position:absolute;top:8px;left:8px;width:26px;height:26px;border-radius:50%;background:#0e1829;border:1px solid var(--line);font:700 13px var(--mono);display:flex;align-items:center;justify-content:center;color:var(--mut);transition:all .3s}
.mcard.top1 .rank{background:var(--acc);color:#0b1524;border-color:var(--acc)}
.mcard.top1{border-color:#3b5a99;box-shadow:0 0 0 1px #3b5a99,0 10px 30px rgba(122,167,255,.12)}
.mcard.cheap-wrong{border-color:#6b2f2f;box-shadow:0 0 0 1px #6b2f2f}
.mcard .ribbon{position:absolute;top:8px;right:8px;font:700 9.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px}
.ribbon.cheap{background:#283a5a;color:var(--mut)}.ribbon.esc{background:#1e3a70;color:var(--acc)}.ribbon.stay{background:#283a5a;color:var(--mut)}.ribbon.wrong{background:#4a2323;color:var(--bad)}
.mcard .tags{display:flex;flex-direction:column;gap:3px;margin-top:6px;min-height:34px}
.mcard .t{font:11px var(--mono);border-radius:6px;padding:2px 6px;background:#0e1829;color:var(--mut);display:flex;justify-content:space-between;gap:6px;animation:in .3s ease}
.mcard .t b{color:var(--txt);font-weight:600}
.mcard .t.t2 b{color:var(--acc)}
.mcard .t.exp{background:#122a1f;color:#8fd9b8}.mcard .t.exp.bad{background:#2d1a1a;color:var(--bad)}
.mcard .de{font:700 15px var(--mono);margin-top:6px;letter-spacing:-.02em}.mcard .de small{font-weight:400;color:var(--mut);font-size:11px}
.mcard.dim{opacity:.55}
.spin{display:inline-block;width:10px;height:10px;border:2px solid var(--line);border-top-color:var(--acc);border-radius:50%;animation:rot .8s linear infinite;vertical-align:middle}
@keyframes rot{to{transform:rotate(360deg)}}
@keyframes in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.rxn-arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:40px;color:var(--mut);pointer-events:none}
.board.rxn{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}
.board.rxn .grp{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.board.rxn .grp-lbl{grid-column:1/-1;display:none}
.board.rxn .arrow{font-size:44px;color:var(--mut)}
.board.rxn .mcard{width:150px}
.rxn-sum{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.rxn-sum div{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 16px;text-align:center;min-width:150px;animation:in .4s}
.rxn-sum b{display:block;font:700 22px var(--mono);letter-spacing:-.02em}.rxn-sum span{font-size:12px;color:var(--mut)}
.rxn-sum .t2 b{color:var(--acc)}.rxn-sum .exp b{color:var(--good)}
/* agent trace */
.agent{border-left:1px solid var(--line);background:#0b1424;padding:16px 18px;display:flex;flex-direction:column;min-height:300px}
.agent-hd{font:600 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:8px;margin-bottom:12px}
.agent-hd .dot{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 10px var(--acc);animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.trace{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto}
.trace li{position:relative;padding-left:22px;animation:in .35s ease}
.trace li::before{content:"";position:absolute;left:4px;top:7px;width:8px;height:8px;border-radius:50%;background:#283a5a;border:1px solid var(--line)}
.trace li.cur::before{background:var(--acc);border-color:var(--acc);box-shadow:0 0 8px var(--acc)}
.trace li.ok::before{background:#3b5a99;border-color:#3b5a99}
.trace .st{font-weight:700;font-size:13px}
.trace .st small{font:11px var(--mono);color:var(--mut);margin-left:6px;font-weight:400}
.trace .bd{color:#c9d6e3;font-size:13px;line-height:1.45;margin-top:2px}
.trace .bd em{color:var(--acc);font-style:normal}
.trace .bd .tool{display:inline-block;font:11px var(--mono);background:#0e1829;border:1px solid var(--line);border-radius:5px;padding:0 5px;color:var(--acc2)}
.trace .bd .chem-only{display:block;color:var(--mut);font-size:12px;margin-top:3px;font-family:var(--mono)}
/* verdict */
.verdict-wrap{padding:18px 22px 22px;border-top:1px solid var(--line);background:linear-gradient(180deg,#0f1a1f,var(--panel));animation:in .5s}
.verdict-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.badge{font:700 11.5px var(--mono);letter-spacing:.08em;border-radius:999px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}
.badge.Confident{background:#17422f;color:var(--good)}.badge.Likely{background:#172a4f;color:var(--acc)}.badge.Unresolved{background:#403a17;color:var(--warn)}.badge.Wrong{background:#4a2323;color:var(--bad)}
.headline{margin:0;font-size:clamp(18px,2.2vw,24px);letter-spacing:-.02em;line-height:1.3;font-weight:700}
.sub-verdict{color:var(--mut);margin:8px 0 0;font-size:14.5px;max-width:980px}
.callout{background:#16284a;border:1px solid #34508a;border-left:4px solid var(--acc);border-radius:10px;padding:10px 14px;font-size:14.5px;margin-top:12px;animation:in .5s}
.callout.bad{background:#2d1a1a;border-color:#6b2f2f;border-left-color:var(--bad)}
/* compare */
.compare .cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.col{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:16px 18px;transition:all .3s;position:relative}
.col.active{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc),0 12px 30px rgba(122,167,255,.12)}
.col.active.wrong{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad),0 12px 30px rgba(255,122,122,.12)}
.col .ttl{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.col .ttl b{font-size:15px}
.col .ttl .tagx{font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#283a5a;color:var(--mut)}
.col.active .ttl .tagx{background:#172a4f;color:var(--acc)}
.col .pick{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.col .pick svg{width:64px;height:64px;flex:none}.col .pick svg path,.col .pick svg line{stroke:#e9eef4!important}.col .pick svg text{fill:#e9eef4!important}
.col .pick b{display:block;font-size:16px}.col .pick small{color:var(--mut);font-family:var(--mono);font-size:12px}
.col .res{font:700 13px var(--mono);letter-spacing:.04em;margin-left:auto;white-space:nowrap}
.col .res.ok{color:var(--good)}.col .res.bad{color:var(--bad)}
.col .facts{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;font-size:13px;color:var(--mut)}
.col .facts b{color:var(--txt);font-family:var(--mono);font-weight:600}
.col p{margin:10px 0 0;font-size:13.5px;color:#c9d6e3}
.gate-switch{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;padding:8px 14px 8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel2)}
.gate-switch .gs-lbl{font-size:13px;color:var(--mut)}
.gate-switch .track{width:48px;height:26px;border-radius:999px;background:#3a2a2a;position:relative;transition:background .25s}
.gate-switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--bad);transition:left .25s,background .25s}
.gate-switch[aria-checked=true] .track{background:#1e3a70}.gate-switch[aria-checked=true] .knob{left:25px;background:var(--acc)}
.gate-switch b{font:700 13px var(--mono);min-width:28px}
.nudge{color:var(--mut);font-size:13px;margin:12px 0 0}
.nudge.pulse{color:var(--acc);animation:pulse 1.4s 3}
/* strip */
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.strip div{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.strip b{display:block;font:800 26px/1 var(--mono);letter-spacing:-.03em;color:var(--acc)}
.strip span{display:block;color:var(--mut);font-size:12.5px;margin-top:6px;line-height:1.35}
.strip div.g b{color:var(--good)}
/* try row */
.exrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.ex{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-align:left;cursor:pointer;color:var(--txt);font:inherit;display:flex;flex-direction:column;gap:3px;transition:border-color .15s,transform .15s}
.ex:hover{border-color:#3a5080;transform:translateY(-1px)}
.ex.on{border-color:var(--acc);background:linear-gradient(180deg,#172a4f,var(--panel2))}
.ex b{font-size:13.5px}.ex small{color:var(--mut);font-size:12px;line-height:1.35}
.ex .pt{margin-top:4px;font:600 11px var(--mono);color:var(--acc2)}
/* depth */
.depth-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;margin-bottom:14px}
.box{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.depth-grid .box{margin:0}
.k{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mut)}
.k output{color:var(--txt);font:600 16px var(--mono)}.k input{width:100%;accent-color:var(--acc)}.k small{font-size:11.5px;font-family:var(--mono)}
.kpi{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}
.kpi div{display:flex;flex-direction:column}.kpi b{font:600 20px var(--mono)}.kpi span{font-size:12px;color:var(--mut)}
.tbl-wrap{overflow:auto;max-height:280px}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl th,.tbl td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{color:var(--mut);font-weight:600;position:sticky;top:0;background:var(--panel2)}
.tbl td.num{font-family:var(--mono);white-space:nowrap}
.tbl .y{color:var(--acc);font-weight:700}.tbl .n{color:var(--mut)}
.methods{font-size:13.5px;line-height:1.6;color:#c9d6e3;margin:0}
.dl{display:flex;gap:18px;align-items:center;font-size:13px;flex-wrap:wrap}
.prov{color:var(--mut);font-family:var(--mono);font-size:12px;margin-left:auto}
.next .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
.next .grid3 b{display:block;margin-bottom:4px}.next .grid3 p{margin:0;color:var(--mut);font-size:14px}
footer{max-width:1280px;margin:0 auto;padding:0 28px 40px;color:var(--mut);font-size:12px}
footer a{color:var(--mut)}
@media (max-width:980px){
  .stage-grid{grid-template-columns:1fr}.agent{border-left:0;border-top:1px solid var(--line)}
  .caption{grid-template-columns:1fr;gap:10px}.steps{order:2}.cap-ctl{order:3}
  .board{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
  .compare .cols,.depth-grid,.next .grid3{grid-template-columns:1fr}
  .nav{order:3;width:100%;flex-wrap:wrap}
  header.top,main,footer{padding-left:16px;padding-right:16px}
}
@media (max-width:560px){.board{grid-template-columns:repeat(2,1fr)}.mcard svg{max-height:90px}.col .facts{grid-template-columns:1fr}.board.rxn{grid-template-columns:1fr}.board.rxn .arrow{transform:rotate(90deg);justify-self:center}}

/* shared quiet header */
.more{position:relative}
.more>summary{list-style:none;cursor:pointer;color:var(--mut);font:500 13.5px var(--sans);padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:transparent}
.more>summary::-webkit-details-marker{display:none}
.more>summary:hover{color:var(--txt);border-color:#3a5080}
.more[open]>summary{color:var(--txt)}
.more .menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 18px 50px rgba(0,0,0,.45);z-index:50;display:flex;flex-direction:column}
.more .menu a{color:var(--txt);text-decoration:none;padding:9px 12px;border-radius:8px;font-size:14px;display:flex;flex-direction:column;gap:1px}
.more .menu a small{color:var(--mut);font-size:12px}
.more .menu a:hover{background:var(--panel2)}
.more .menu a.on{color:var(--acc)}
.back{color:var(--mut);text-decoration:none;font-size:13.5px;padding:7px 12px;border:1px solid var(--line);border-radius:999px}
.back:hover{color:var(--txt);border-color:#3a5080}
.hdr-right{display:flex;gap:8px;align-items:center}

details.depth>summary{list-style:none;cursor:pointer}details.depth>summary::-webkit-details-marker{display:none}
details.depth>summary h2 small{color:var(--mut);font-weight:400;font-size:13px;margin-left:8px}
details.depth>summary::after{content:"show";color:var(--acc);font:600 12px var(--mono);margin-left:auto}
details.depth[open]>summary::after{content:"hide"}
details.depth[open]>summary{margin-bottom:14px}

/* scenario header */
.scenario{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line);background:#0d1726}
.scenario .role{display:flex;flex-direction:column;gap:2px;min-width:220px}
.scenario .role b{font-size:14px}.scenario .role small{color:var(--mut);font-size:12px}
.scenario .role .who{font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-bottom:2px}
.scenario .setting{font-size:14px;color:#c9d6e3;line-height:1.45}
.scenario .stake{font-size:12.5px;color:var(--mut);text-align:right;max-width:260px;line-height:1.4}
.scenario .stake b{display:block;color:var(--warn);font:700 13px var(--mono);letter-spacing:.02em}
/* step bar is clickable */
.steps span.clickable{cursor:pointer}
.steps span.clickable:hover{color:var(--txt);border-color:#3a5080}
.steps span.viewing{color:var(--acc2);border-color:#2d4a7a;background:#15223a}
.viewing{grid-column:1/-1;font:12px var(--mono);color:var(--acc2);padding:6px 0 0}
/* decision card */
.decision{margin-top:14px;background:linear-gradient(90deg,#14202a,#121d31);border:1px solid #2a4a63;border-left:4px solid var(--acc2);border-radius:12px;padding:12px 16px;animation:in .5s}
.decision .dl{font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--acc2);margin-bottom:4px}
.decision p{margin:0;font-size:15px;line-height:1.45}
.decision .calc{margin-top:8px;display:flex;gap:16px;flex-wrap:wrap}
.decision .calc div{background:#0e1829;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.decision .calc b{display:block;font:700 18px var(--mono);letter-spacing:-.02em}.decision .calc span{font-size:11.5px;color:var(--mut)}
.decision .assum{margin-top:6px;font-size:11.5px;color:var(--mut);font-family:var(--mono)}
.ex .who{font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
@media (max-width:980px){.scenario{grid-template-columns:1fr}.scenario .stake{text-align:left;max-width:none}}
.more .menu .parts{display:grid;grid-template-columns:1fr 1fr;gap:0 6px;border-top:1px solid var(--line);margin-top:4px;padding-top:4px}
.more .menu .parts a{font:500 12.5px var(--mono);color:var(--mut);padding:6px 10px}
.more .menu{min-width:360px}

/* picker */
.picker{padding:10px 0 0}
.pick-hd{margin-bottom:14px}
.kicker{font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:8px}
.picker h1{font-size:clamp(24px,3.4vw,38px);letter-spacing:-.03em;margin:0 0 8px;line-height:1.1}
.picker .sub{max-width:820px;font-size:15px;margin:0}
.picker .exrow{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.picker .ex{padding:16px 18px;gap:5px;min-height:150px}
.picker .ex b{font-size:15.5px;line-height:1.25}
.picker .ex small{font-size:13px}
.picker .ex .stakeline{margin-top:auto;padding-top:8px;font:11.5px var(--mono);color:var(--warn)}
.picker.compact .pick-hd{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}
.picker.compact h1{font-size:16px;letter-spacing:-.01em;margin:0}
.picker.compact .kicker{display:none}
.picker.compact .sub{display:none}
.picker.compact .exrow{grid-template-columns:repeat(7,1fr);gap:8px}
.picker.compact .ex{padding:9px 11px;min-height:0;gap:2px}
.picker.compact .ex b{font-size:12.5px}
.picker.compact .ex small,.picker.compact .ex .stakeline,.picker.compact .ex .pt{display:none}
.picker.compact .ex .who{font-size:9.5px}
@media (max-width:980px){.picker.compact .exrow{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

/* mobile hardening */
.col,.box,.depth-grid,.stage-grid>*,.scenario>*,.compare .cols>*{min-width:0}
.col .pick{flex-wrap:wrap}
.col .res{white-space:normal;margin-left:auto}
.col .facts b{overflow-wrap:anywhere}
.k small,.methods,.decision p,.sub-verdict,.headline{overflow-wrap:anywhere}
.kpi{flex-wrap:wrap}
.partnav,.caption{-webkit-backdrop-filter:blur(10px)}
@media (max-width:560px){
  .col .pick{gap:8px}.col .pick svg{width:52px;height:52px}
  .col .facts{grid-template-columns:1fr 1fr}
  .scenario{padding:12px 16px}.scenario .role{min-width:0}
  .caption{padding:12px 16px}.cap-text{font-size:15px}
  .board-wrap{padding:14px 12px 16px}
  .mcard .de{font-size:14px}
  .verdict-wrap{padding:14px 16px 18px}.headline{font-size:17px}
  .card{padding:16px 14px}
  .strip b{font-size:22px}
  .decision .calc div{flex:1 1 40%}
  .picker.compact .exrow{grid-template-columns:repeat(2,1fr)}
  .more .menu{min-width:0;width:calc(100vw - 32px);right:-8px}.more .menu .parts{grid-template-columns:1fr}
}

/* results workspace (Maestro/Rowan conventions: 3D viewer + sortable property table + energy diagram) */
.rtools{display:flex;gap:8px;align-items:center}
.units{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.units button{background:transparent;border:0;color:var(--mut);padding:5px 10px;font:600 12px var(--mono);cursor:pointer}
.units button.on{background:#172a4f;color:var(--acc)}
.rgrid{display:grid;grid-template-columns:360px 1fr;gap:14px;align-items:stretch}
.viewer-wrap{background:#060b14;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:300px}
.viewer{flex:1;min-height:260px;position:relative}
.viewer canvas{border-radius:12px 12px 0 0}
.viewer-cap{padding:8px 12px;font:11.5px var(--mono);color:var(--mut);border-top:1px solid var(--line)}
.rtbl{max-height:360px}
.tbl.sortable th{cursor:pointer;user-select:none;white-space:nowrap}
.tbl.sortable th:hover{color:var(--txt)}
.tbl.sortable th.asc::after{content:" ▲";color:var(--acc);font-size:9px}.tbl.sortable th.desc::after{content:" ▼";color:var(--acc);font-size:9px}
.tbl tr.sel td{background:#172a4f}
.tbl tr.rowc{cursor:pointer}.tbl tr.rowc:hover td{background:#1a2740}
.tbl td svg{width:44px;height:44px}
.tbl .m1{color:var(--mut)}.tbl .m2{color:var(--acc);font-weight:600}
.ladder-wrap{margin-top:14px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px 6px}
.ladder{width:100%;height:auto;display:block;font-family:var(--mono)}
.ladder text{fill:var(--mut);font-size:11px}
.ladder .lvl{stroke-width:3;stroke-linecap:round}
.ladder .lvl.t1{stroke:#6b7f95}.ladder .lvl.t2{stroke:var(--acc)}.ladder .lvl.ex{stroke:var(--good);stroke-dasharray:4 3}
.ladder .lbl{fill:var(--txt);font-size:11px}
.ladder .link{stroke:#283a5a;stroke-width:1}
.ladder .axis{stroke:var(--line)}
.ladder .colhd{fill:var(--txt);font-size:12px;font-weight:600}
@media (max-width:980px){.rgrid{grid-template-columns:1fr}.viewer-wrap{min-height:260px}}

.rtbl{overflow:auto}.tbl.sortable td,.tbl.sortable th{white-space:nowrap}.tbl.sortable td:nth-child(3){white-space:normal;min-width:110px}

/* barrier + spin boards */
.board.rxn.path3{grid-template-columns:1fr auto 1fr auto 1fr}
@media (max-width:560px){.board.rxn.path3{grid-template-columns:1fr}}
.mcard.tscard{border-style:dashed;border-color:#3a5080}
.tsglyph{font:800 54px var(--mono);color:var(--acc2);line-height:1;padding:18px 0 10px}
.profile{margin-top:12px;background:#0b1424;border:1px solid var(--line);border-radius:12px;padding:8px 10px 4px}
.profsvg{width:100%;height:auto;display:block;font-family:var(--mono)}
.profsvg text{fill:var(--mut);font-size:11px;paint-order:stroke;stroke:#0b1424;stroke-width:4px;stroke-linejoin:round}.profsvg .lbl{fill:var(--txt)}.profsvg .lbl.t2{fill:var(--acc)}.profsvg .lbl.t2b{fill:var(--acc2)}.profsvg .lbl.ex{fill:var(--good)}
.profsvg .pl{fill:none;stroke:#6b7f95;stroke-width:2}.profsvg .pt{fill:#6b7f95}.profsvg .pt.max{fill:var(--warn);r:4}
.profsvg .lvl{stroke-width:3;stroke-linecap:round}.profsvg .lvl.t2{stroke:var(--acc)}.profsvg .lvl.t2b{stroke:var(--acc2)}.profsvg .lvl.ex{stroke:var(--good);stroke-dasharray:4 3;stroke-width:2}
.profsvg .axis{stroke:var(--line)}
.board.spinboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.spcard{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.sphd{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sphd svg{width:56px;height:56px;flex:none}.sphd b{font-size:14px}.sphd .smi{font:11px var(--mono);color:var(--mut)}
.sphd .ground{margin-left:auto}
.pill.wrong{background:#4a2323;color:var(--bad)}
.states{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.state{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;transition:all .3s}
.state.top1{border-color:#3b5a99;box-shadow:0 0 0 1px #3b5a99}.state.dim{opacity:.5}
.st-lbl{font-weight:600;font-size:13px}.st-lbl small{color:var(--mut);font-family:var(--mono);font-weight:400;margin-left:4px}
.state .tags{min-height:0;margin-top:6px}.state .ribbon{top:6px;right:6px}

/* ================= race: same question, three ways */
.race{border-top:1px solid var(--line);background:linear-gradient(180deg,#0d1726,var(--panel));padding:14px 22px 16px}
.race-hd{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;margin-bottom:10px;font-size:13px;color:var(--mut)}
.race-hd>b{color:var(--txt);font-size:15px}
.race-hd .sum{display:block;color:var(--acc);margin-top:4px}
.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lane{position:relative;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;min-height:230px;transition:border-color .4s,box-shadow .4s}
.lane .lh{display:flex;flex-direction:column;gap:2px}.lane .lh b{font-size:14px}.lane .lh span{font:11.5px var(--mono);color:var(--mut)}
.lane.a .lh b{color:var(--mut)}.lane.b .lh b{color:var(--txt)}.lane.c .lh b{color:var(--acc)}
.lane .meters{display:flex;gap:6px 14px;align-items:baseline;flex-wrap:wrap;font-family:var(--mono)}
.lane .clock{font-size:26px;font-weight:600;letter-spacing:-.5px;min-width:5ch}.lane .eur{font-size:12px;color:var(--mut)}.lane .gpu{font-size:11px;color:var(--acc2);margin-left:auto}
.lane .track{height:6px;background:#0a1322;border-radius:3px;overflow:hidden}.lane .track i{display:block;height:100%;width:0;background:var(--mut);transition:width .12s linear}
.lane.b .track i{background:var(--acc2)}.lane.c .track i{background:var(--acc)}
.lane .feed{margin:0;font:11px/1.45 var(--mono);color:var(--mut);background:#0a1322;border-radius:8px;padding:8px 10px;height:92px;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;mask-image:linear-gradient(180deg,transparent,#000 18%)}
.lane .ans{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;animation:in .45s}
.lane .ans .am{font-weight:700;font-size:14px}.lane .ans .as{font:11.5px var(--mono);color:var(--mut);margin-top:2px;overflow-wrap:anywhere}.lane .ans .am{overflow-wrap:anywhere}
.lane .stamp{display:inline-block;margin-top:6px;font:600 11px var(--mono);padding:2px 7px;border-radius:6px}
.stamp.ok{background:#16284a;color:var(--good)}.stamp.bad{background:#3a1f1f;color:var(--bad)}.stamp.none{background:#19253b;color:var(--mut)}
.lane.done.c{border-color:#3b5a99;box-shadow:0 0 0 1px #3b5a99,0 10px 30px rgba(122,167,255,.08)}
.lane.done.wrong{border-color:#6a2d2d}.lane.done.wrong .track i{background:var(--bad)}
.race.finished .lane.b .clock{color:var(--txt)}.race.finished .lane.c .clock{color:var(--acc)}
@media (max-width:860px){.lanes{grid-template-columns:1fr}.lane{min-height:0}.lane .feed{height:64px}.race{padding:12px 12px 14px}}

/* ================= reaction movie */
.mvrow{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}
.mvrow .profile{margin-top:0}
.mv{background:#060b14;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}
.mv3d{position:relative;height:320px;cursor:pointer}
.mvcap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-height:34px;padding:6px 10px;font:11px var(--mono);color:var(--mut);background:#0b1424;border-top:1px solid var(--line)}
.mvcap b{color:var(--txt)}
.profsvg .mvmark{fill:var(--warn);stroke:#0b1424;stroke-width:2;transition:cx .12s linear,cy .12s linear}
.profsvg .mvmark.ts{fill:var(--acc2)}
@media (max-width:860px){.mv3d{height:260px}}

/* ================= fuzzy ladder */
.fuzzy{margin-top:12px;background:#0b1424;border:1px solid var(--line);border-radius:12px;padding:10px 12px 6px;animation:in .4s}
.fz-hd{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:4px}
.fz-title{font-weight:600;font-size:13px}.fz-sub{font-size:12px;color:var(--mut)}.fz-sub b{color:var(--txt)}
.fzsvg{width:100%;height:auto;display:block;font-family:var(--mono)}
.fzsvg text{fill:var(--mut);font-size:11px}.fzsvg .val{fill:var(--txt);font-size:11.5px}.fzsvg .lab{fill:var(--txt);font-size:11px}.fzsvg .tag{font-size:9.5px;letter-spacing:.3px;text-transform:uppercase}
.fzsvg .zero{stroke:var(--txt);stroke-width:1.2;stroke-dasharray:3 3;opacity:.55}.fzsvg .grid{stroke:var(--line)}
.fzsvg .lvl{stroke:var(--mut);stroke-width:3;stroke-linecap:round}
.fzsvg .band{fill:#93a5c4;opacity:.18;filter:blur(3px)}
.fzsvg .col .band,.fzsvg .col .lvl,.fzsvg .col .val{transition:y .9s cubic-bezier(.2,.8,.2,1),height .9s cubic-bezier(.2,.8,.2,1),y1 .9s,y2 .9s,opacity .6s,fill .6s,stroke .6s}
.fzsvg.notrans *{transition:none!important}
.fzsvg .col.ref .lvl{stroke:var(--warn)}.fzsvg .col.ref .tag{fill:var(--warn)}
.fzsvg .col.esc .band{fill:var(--acc);opacity:.26}.fzsvg .col.esc .lvl{stroke:var(--acc)}.fzsvg .col.esc .tag{fill:var(--acc)}
.fzsvg .col.stay .band{opacity:.1}.fzsvg .col.stay .lvl,.fzsvg .col.stay .val{opacity:.55}.fzsvg .col.stay .tag{fill:var(--mut)}
.fzsvg .col.dft .band{fill:var(--acc);opacity:.35;filter:none}.fzsvg .col.dft .lvl{stroke:var(--acc)}.fzsvg .col.dft .tag{fill:var(--acc)}

/* race v2: the human lane + the audience's own estimate */
.race-hd{justify-content:space-between}
.race-hd>div>span em{color:var(--txt);font-style:normal;font-weight:600}
.est{display:flex;align-items:baseline;gap:6px;font-size:12.5px;color:var(--txt);flex-wrap:wrap}
.est input{width:64px;background:#0a1322;border:1px solid var(--line);border-radius:8px;color:var(--txt);font:600 14px var(--mono);padding:4px 8px;text-align:right}
.est small{color:var(--mut);font-size:11px}
.lane.b .feed{height:auto;max-height:none;mask-image:none;white-space:normal;padding:6px 8px}
.msteps{margin:0;padding:0 0 0 18px;font:11px/1.45 var(--mono);color:var(--mut)}
.msteps li{margin:2px 0;padding:2px 4px;border-radius:6px;transition:background .3s;display:flex;flex-wrap:wrap;gap:0 8px}.msteps li .ms{flex:1}
.msteps li .mt{color:#6b7f95;white-space:nowrap}.msteps .pit{flex-basis:100%}
.msteps li.cur{background:#17233a;color:var(--txt)}.msteps li.cur .ms::before{content:"▸ ";color:var(--warn)}
.msteps .pit{color:#d9a24a;font-size:10.5px;line-height:1.35;margin-top:1px;opacity:.85}
.lane.b .clock{color:var(--txt)}.lane.b .track i{background:var(--warn)}.lane.b .eur{font-size:11px}
.race-foot{margin-top:12px;font-size:13.5px;line-height:1.5}
.race-foot b{color:var(--acc);font-size:15px}
.race-foot .muted{display:block;color:var(--mut);font-size:12px;margin-top:4px}
@media (max-width:860px){.race-hd{flex-direction:column}}

/* ask your own */
.ask{margin-top:16px;background:var(--panel);border:1px dashed #2b3d5e;border-radius:14px;padding:14px 16px}
.ask-hd{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-bottom:8px}.ask-hd b{font-size:15px}.ask-hd span{font-size:12.5px;color:var(--mut)}
.ask-hd span.on{color:var(--acc)}.ask-hd span.off code{font:11px var(--mono);background:#0a1322;padding:1px 5px;border-radius:4px}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 8px var(--acc);margin-right:6px;vertical-align:middle;animation:pulse 1.4s infinite}
.ask-row{display:flex;gap:8px}
.ask-row input{flex:1;background:#0a1322;border:1px solid var(--line);border-radius:10px;color:var(--txt);font:14px Inter,system-ui,sans-serif;padding:10px 12px}
.ask-row input:focus{outline:none;border-color:var(--acc)}
.ask-row .primary{background:var(--acc);color:#0b1524;border:0;border-radius:10px;font:600 13.5px Inter,system-ui,sans-serif;padding:0 16px;cursor:pointer}
.ask-row .primary:disabled{background:#223355;color:var(--mut);cursor:not-allowed}
.ask-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ask-chips .chip{background:var(--panel2);border:1px solid var(--line);border-radius:999px;color:var(--mut);font:11.5px var(--mono);padding:4px 10px;cursor:pointer}
.ask-chips .chip:hover{color:var(--txt);border-color:#3a4d6e}
.ask-note{font-size:12px;color:var(--mut);margin:8px 0 0}
.picker.compact .ask{display:none}
@media (max-width:560px){.ask-row{flex-direction:column}.ask-row .primary{padding:10px}}

/* paired movie (selectivity) + two-path board */
.mvpair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mvpair .mv3d{height:280px}
.board.rxn.path2{grid-template-columns:1fr auto 1.4fr}
.tsglyph small{display:block;font:600 11px var(--mono);color:var(--mut);letter-spacing:.4px;text-transform:uppercase;margin-top:2px}
@media (max-width:860px){.mvpair{grid-template-columns:1fr}.mvpair .mv3d{height:240px}.board.rxn.path2{grid-template-columns:1fr}}

/* feedback + installer */
.fb{margin-top:14px;border-top:1px dashed var(--line);padding-top:12px}
.fb-q{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;color:var(--txt)}
.fb-q .mini.on{background:var(--acc);color:#0b1524;border-color:var(--acc)}
.fb-state{font:11.5px var(--mono);color:var(--acc);margin-left:auto}
.fb-more{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.fb-more textarea,.fb-row input{background:#0a1322;border:1px solid var(--line);border-radius:10px;color:var(--txt);font:13.5px Inter,system-ui,sans-serif;padding:9px 11px;width:100%}
.fb-more textarea:focus,.fb-row input:focus{outline:none;border-color:var(--acc)}
.fb-row{display:flex;gap:8px;flex-wrap:wrap}.fb-row input{flex:1;min-width:180px}
.fb-row .primary{background:var(--acc);color:#0b1524;border:0;border-radius:10px;font:600 13px Inter,system-ui,sans-serif;padding:0 14px;cursor:pointer;white-space:nowrap}
.install{margin-top:10px;background:#0a1322;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px}
.install .cmd{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}
.install code{font:12px var(--mono);color:var(--acc);background:#060b14;padding:6px 10px;border-radius:8px;overflow-wrap:anywhere}
.install small{color:var(--mut);font-size:11.5px;line-height:1.45;display:block}
.install small code{padding:0 4px;font-size:11px;background:transparent;color:var(--txt)}
/* demo modes: Guided run | The room (hash-routed, see setMode in demo.js) */
.modes{margin-left:4px}
