.viz-v5,.viz-v5 *,.viz-v5:before,.viz-v5 :before,.viz-v5:after,.viz-v5 :after{box-sizing:border-box;margin:0;padding:0}.viz-v5 img,.viz-v5 svg,.viz-v5 canvas{max-width:100%;display:block}.viz-v5 button,.viz-v5 input,.viz-v5 select{font:inherit;color:inherit}.viz-v5 a{color:inherit}.viz-v5 ul,.viz-v5 ol{list-style:none}.viz-v5 table{border-collapse:collapse}.viz-v5{--font:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--font-serif:"IBM Plex Serif",Georgia,serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--max-w:1180px;--gutter:clamp(20px,4.5vw,64px);--radius:16px;--radius-sm:9px;--ease:cubic-bezier(.22,.9,.28,1);--bg:#050813;--bg-2:#0a1122;--surface:#101b2f;--surface-2:#142132;--ink:#eaf1fa;--ink-bold:#f7fafd;--muted:#93a5bd;--faint:#5e7089;--hairline:#ffffff17;--rule:#ffffff24;--grid-line:#ffffff12;--accent:#6cace4;--accent-ink:#9cc6ee;--p-alp:#f0475c;--p-on:#d4741c;--p-lib:#4f95dc;--p-grn:#28a465;--p-oth:#9f82c4;--p-dk:#5e7089;--p-uns:#3d4c61;--sent-pos:#2e9c8b;--sent-neg:#c2588c;--sent-neu:#46536b;--on-glow:#e88a2e29;--tile-grad:linear-gradient(160deg,#ffffff0d,#ffffff04 55%);--tip-bg:#0c1424;--scrim:#05081300}body.theme-light .viz-v5{--bg:#f6f7f9;--bg-2:#eef1f6;--surface:#fff;--surface-2:#fbfcfe;--ink:#182234;--ink-bold:#0c1524;--muted:#55647c;--faint:#637084;--hairline:#1020381f;--rule:#10203833;--grid-line:#10203814;--accent:#1e6bb0;--accent-ink:#1a5c99;--p-alp:#d92944;--p-on:#c9660a;--p-lib:#2569b3;--p-grn:#1d8a54;--p-oth:#7a5ea8;--p-dk:#8b98ac;--p-uns:#c6cedb;--sent-pos:#157a6c;--sent-neg:#ad3f77;--sent-neu:#c3cbd8;--on-glow:#c9660a1f;--tile-grad:linear-gradient(160deg,#ffffffe6,#f4f6fa99);--tip-bg:#0c1524;--scrim:#f6f7f900}.viz-v5{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;padding-top:104px;font-size:16px;line-height:1.55;transition:background .45s,color .45s;overflow-x:clip}@media (max-width:900px){.viz-v5{padding-top:88px}}.viz-v5 .num{font-variant-numeric:tabular-nums}.viz-v5 .progress{background:linear-gradient(90deg,var(--p-on),var(--p-alp));z-index:9000;pointer-events:none;width:0%;height:3px;transition:width .15s linear;position:fixed;top:0;left:0}.viz-v5 .rail{z-index:9000;flex-direction:column;gap:6px;display:flex;position:fixed;top:50%;left:clamp(8px,1.6vw,26px);transform:translateY(-50%)}.viz-v5 .rail a{color:var(--faint);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:10px;padding:4px;font-size:10.5px;text-decoration:none;display:flex}.viz-v5 .rail .dot{border:1.5px solid var(--faint);width:8px;height:8px;transition:all .25s var(--ease);background:0 0;border-radius:50%;flex:none}.viz-v5 .rail .lbl{opacity:0;transition:all .25s var(--ease);white-space:nowrap;transform:translate(-4px)}.viz-v5 .rail a:hover .lbl,.viz-v5 .rail a.active .lbl{opacity:1;transform:none}.viz-v5 .rail a.active{color:var(--ink)}.viz-v5 .rail a.active .dot{background:var(--p-on);border-color:var(--p-on);box-shadow:0 0 0 4px var(--on-glow)}@media (max-width:1120px){.viz-v5 .rail{display:none}}.viz-v5 .story-crumb{max-width:var(--max-w);padding:0 var(--gutter);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0 auto;font-size:12.5px;display:flex}.viz-v5 .story-crumb a{color:var(--muted);border-bottom:1px solid #0000;text-decoration:none}.viz-v5 .story-crumb a:hover{color:var(--ink-bold);border-bottom-color:var(--rule)}.viz-v5 .story-crumb a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.viz-v5 .story-crumb .sep{color:var(--faint)}.viz-v5 .story-crumb [aria-current=page]{color:var(--ink);font-weight:500}.viz-v5 .vz-hero{padding:clamp(28px,4vh,56px) var(--gutter) clamp(56px,8vh,96px);max-width:var(--max-w);margin:0 auto;position:relative}.viz-v5 .hero-bg{pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:radial-gradient(120% 90% at 50% 30%,#000 40%,#0000 78%);mask-image:radial-gradient(120% 90% at 50% 30%,#000 40%,#0000 78%)}.viz-v5 .hero-bg svg{opacity:.5;width:100%;height:100%}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-90px)}}.viz-v5 .hero-bg g{animation:26s linear infinite alternate drift}@media (prefers-reduced-motion:reduce){.viz-v5 .hero-bg g{animation:none}}.viz-v5 .hero-kickers{flex-wrap:wrap;gap:8px;margin-bottom:30px;display:flex;position:relative}.viz-v5 .chip{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--rule);color:var(--muted);background:color-mix(in srgb,var(--surface) 55%,transparent);border-radius:999px;padding:5px 12px;font-size:11px}.viz-v5 .chip.hot{color:var(--ink-bold);border-color:color-mix(in srgb,var(--p-on) 60%,transparent);background:var(--on-glow)}.viz-v5 .vz-hero h1{font-family:var(--font-serif);letter-spacing:-.015em;color:var(--ink-bold);max-width:15ch;font-size:clamp(40px,7.2vw,84px);font-weight:600;line-height:1.04;position:relative}.viz-v5 .vz-hero h1 em{background:linear-gradient(94deg,var(--p-on),#e89b4b 70%);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic}.viz-v5 .hero-lede{max-width:58ch;color:var(--muted);margin-top:26px;font-size:clamp(16px,1.6vw,19px);line-height:1.65;position:relative}.viz-v5 .hero-lede strong{color:var(--ink);font-weight:600}.viz-v5 .hero-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:clamp(36px,6vh,60px);display:grid;position:relative}@media (max-width:940px){.viz-v5 .hero-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.viz-v5 .hero-stats{grid-template-columns:1fr}}.viz-v5 .stat{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--tile-grad),var(--surface);padding:18px 20px 16px}.viz-v5 .stat.on-stat{border-color:color-mix(in srgb,var(--p-on) 45%,transparent);box-shadow:inset 0 0 40px -18px var(--on-glow)}.viz-v5 .vz-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.viz-v5 .vz-stat-label .key{border-radius:3px;flex:none;width:9px;height:9px}.viz-v5 .stat-value{color:var(--ink-bold);margin-top:8px;font-size:clamp(30px,3.2vw,40px);font-weight:650;line-height:1.15}.viz-v5 .stat-value small{color:var(--muted);font-size:.52em;font-weight:500}.viz-v5 .stat-delta{font-size:12.5px;font-family:var(--font-mono);color:var(--muted);margin-top:4px}.viz-v5 .stat-delta b{font-weight:600}.viz-v5 .stat-delta .up{color:var(--sent-pos)}.viz-v5 .stat-delta .down{color:var(--sent-neg)}.viz-v5 .stat-delta .on-up{color:var(--p-on)}.viz-v5 .scroll-cue{color:var(--faint);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin-top:44px;font-size:12px;display:flex;position:relative}@keyframes cue{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}.viz-v5 .scroll-cue svg{animation:1.8s ease-in-out infinite cue}@media (prefers-reduced-motion:reduce){.viz-v5 .scroll-cue svg{animation:none}}.viz-v5 .act{max-width:var(--max-w);padding:clamp(44px,8vh,92px) var(--gutter) 12px;margin:0 auto}.viz-v5 .act-head{border-top:1px solid var(--rule);align-items:baseline;gap:20px;padding-top:26px;display:flex}.viz-v5 .act-num{font-family:var(--font-mono);color:var(--p-on);letter-spacing:.1em;font-size:clamp(15px,1.6vw,18px);font-weight:600}.viz-v5 .act-title{font-family:var(--font-serif);color:var(--ink-bold);letter-spacing:-.01em;font-size:clamp(26px,3.6vw,42px);font-weight:600;line-height:1.12}.viz-v5 .act-desc{max-width:66ch;color:var(--muted);margin-top:14px;font-size:15.5px;line-height:1.65}.viz-v5 .act-desc strong,.viz-v5 .panel-note strong{color:var(--ink);font-weight:600}.viz-v5 .grid{grid-template-columns:repeat(12,1fr);align-items:start;gap:18px;margin-top:30px;display:grid}.viz-v5 .col-12{grid-column:span 12}.viz-v5 .col-7{grid-column:span 7}.viz-v5 .col-6{grid-column:span 6}.viz-v5 .col-5{grid-column:span 5}.viz-v5 .col-4{grid-column:span 4}.viz-v5 .col-8{grid-column:span 8}@media (max-width:900px){.viz-v5 .grid>*{grid-column:span 12!important}}.viz-v5 .panel{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--tile-grad),var(--surface);flex-direction:column;min-width:0;padding:22px 24px 20px;display:flex}.viz-v5 .panel-top{align-items:flex-start;gap:12px;display:flex}.viz-v5 .panel-head{flex:1;min-width:0}.viz-v5 .panel-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--p-on);font-size:11px;font-weight:600}.viz-v5 .panel-kicker.blue{color:var(--accent-ink)}.viz-v5 .panel-title{color:var(--ink-bold);letter-spacing:-.005em;margin-top:7px;font-size:clamp(17px,1.8vw,20px);font-weight:600;line-height:1.3}.viz-v5 .panel-sub{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.55}.viz-v5 .panel-body{flex:1;min-width:0;margin-top:18px}.viz-v5 .panel-note{color:var(--muted);border-top:1px solid var(--hairline);margin-top:14px;padding-top:12px;font-size:12.5px;line-height:1.6}.viz-v5 .panel-src{font-family:var(--font-mono);color:var(--muted);letter-spacing:.03em;margin-top:10px;font-size:10.5px}.viz-v5 .tbl-btn{letter-spacing:.06em;font-size:11px;font-family:var(--font-mono);color:var(--faint);border:1px solid var(--hairline);cursor:pointer;background:0 0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 11px;transition:color .2s,border-color .2s;display:inline-flex}.viz-v5 .tbl-btn:hover,.viz-v5 .tbl-btn[aria-pressed=true]{color:var(--ink);border-color:var(--muted)}.viz-v5 .panel-table{display:none;overflow-x:auto}.viz-v5 .panel.show-table .panel-table{display:block}.viz-v5 .panel.show-table .panel-viz{display:none}.viz-v5 .panel-table table{width:100%;font-size:13px}.viz-v5 .panel-table th,.viz-v5 .panel-table td{text-align:right;border-bottom:1px solid var(--hairline);white-space:nowrap;padding:7px 10px}.viz-v5 .panel-table th:first-child,.viz-v5 .panel-table td:first-child{text-align:left}.viz-v5 .panel-table th{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11.5px;font-weight:600}.viz-v5 .panel-table td{font-variant-numeric:tabular-nums;color:var(--ink)}.viz-v5 .legend{flex-wrap:wrap;gap:6px 16px;margin-bottom:14px;display:flex}.viz-v5 .legend-item{color:var(--muted);align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.viz-v5 .legend-item .sw{border-radius:3.5px;flex:none;width:11px;height:11px}.viz-v5 .legend-item .ln{border-radius:2px;flex:none;width:16px;height:2.5px}.viz-v5 .reveal{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(26px)}.viz-v5 .reveal.in{opacity:1;transform:none}.viz-v5 .reveal[data-delay="1"]{transition-delay:80ms}.viz-v5 .reveal[data-delay="2"]{transition-delay:.16s}.viz-v5 .reveal[data-delay="3"]{transition-delay:.24s}@media (prefers-reduced-motion:reduce){.viz-v5 .reveal{opacity:1;transition:none;transform:none}}.viz-v5 .gridline{stroke:var(--grid-line);stroke-width:1px}.viz-v5 .axisline{stroke:var(--rule);stroke-width:1px}.viz-v5 .axis-txt{fill:var(--faint);font-size:11px;font-family:var(--font-mono)}.viz-v5 .chart-note-inline{fill:var(--faint);font-size:11.5px;font-family:var(--font)}.viz-v5 .dots-controls{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;display:flex}.viz-v5 .seg{border:1px solid var(--rule);background:color-mix(in srgb,var(--surface-2) 70%,transparent);border-radius:18px;flex-wrap:wrap;max-width:100%;padding:3px;display:inline-flex}.viz-v5 .scrollx{max-width:100%;overflow-x:auto}.viz-v5 .seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 16px;font-size:12.5px;font-weight:500;transition:color .2s,background .25s}.viz-v5 .seg button[aria-pressed=true]{background:var(--ink-bold);color:var(--bg);font-weight:600}.viz-v5 .dots-cap{color:var(--muted);font-size:12px;font-family:var(--font-mono)}.viz-v5 .dotgrid circle{transition:fill .5s ease,transform .8s var(--ease)}@media (prefers-reduced-motion:reduce){.viz-v5 .dotgrid circle{transition:none}}.viz-v5 .hb-rows{flex-direction:column;gap:13px;display:flex}.viz-v5 .hb-row{grid-template-columns:minmax(86px,150px) 1fr;align-items:center;gap:14px;min-width:0;display:grid}.viz-v5 .hb-name{color:var(--muted);text-align:right;font-size:13px;line-height:1.3}.viz-v5 .hb-name b{color:var(--ink);font-weight:600}.viz-v5 .hb-track{border-radius:6px;gap:2px;min-width:0;height:26px;display:flex;position:relative}.viz-v5 .hb-segseg{min-width:0;height:100%;transition:width .7s var(--ease),background .3s;cursor:default;border-radius:2.5px;position:relative}.viz-v5 .hb-segseg:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.viz-v5 .hb-segseg:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.viz-v5 .hb-segseg .v{font-variant-numeric:tabular-nums;color:#fff;pointer-events:none;place-items:center;font-size:11.5px;font-weight:600;display:grid;position:absolute;inset:0}body.theme-light .viz-v5 .hb-segseg .v{color:#fff}:is(.viz-v5 .hb-segseg:hover,.viz-v5 .hb-segseg:focus-visible){filter:brightness(1.14);outline:none}.viz-v5 .hb-segseg:focus-visible{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}@media (prefers-reduced-motion:reduce){.viz-v5 .hb-segseg{transition:none}}.viz-v5 .vb-rows{flex-direction:column;gap:9px;display:flex}.viz-v5 .vb-row{grid-template-columns:minmax(150px,260px) 1fr;align-items:center;gap:14px;display:grid}.viz-v5 .vb-label{color:var(--muted);text-align:right;font-size:13px;line-height:1.25}.viz-v5 .vb-row.hot .vb-label{color:var(--ink);font-weight:600}.viz-v5 .vb-track{align-items:center;gap:9px;min-width:0;display:flex}.viz-v5 .vb-bar{background:var(--p-uns);height:15px;transition:width .8s var(--ease);border-radius:2.5px 5px 5px 2.5px;min-width:2px}.viz-v5 .vb-row.hot .vb-bar{background:var(--p-on)}.viz-v5 .vb-val{font-size:12px;font-family:var(--font-mono);color:var(--muted);flex:none}.viz-v5 .vb-row.hot .vb-val{color:var(--ink-bold);font-weight:600}@media (max-width:560px){.viz-v5 .vb-row{grid-template-columns:minmax(120px,150px) 1fr}.viz-v5 .vb-label{font-size:12px}}.viz-v5 .tug{padding:6px 0 2px;position:relative}.viz-v5 .tug-bar{border-radius:10px;gap:2px;height:46px;display:flex;position:relative}.viz-v5 .tug-seg{transition:width .8s var(--ease);position:relative}.viz-v5 .tug-seg.alp{background:var(--p-alp);border-radius:10px 2.5px 2.5px 10px}.viz-v5 .tug-seg.on{background:var(--p-on);border-radius:2.5px 10px 10px 2.5px}.viz-v5 .tug-seg .t-name{letter-spacing:.1em;text-transform:uppercase;color:#ffffffd1;font-size:11px;font-weight:600;position:absolute;top:7px}.viz-v5 .tug-seg .t-val{color:#fff;font-size:17px;font-weight:650;position:absolute;bottom:5px}.viz-v5 .tug-seg.alp .t-name,.viz-v5 .tug-seg.alp .t-val{left:13px}.viz-v5 .tug-seg.on .t-name,.viz-v5 .tug-seg.on .t-val{right:13px}.viz-v5 .tug-50{border-left:2px dashed #0000;border-left:2px solid var(--ink-bold);opacity:.55;width:0;position:absolute;top:-8px;bottom:-8px;left:50%}.viz-v5 .tug-50 span{font-size:10.5px;font-family:var(--font-mono);color:var(--muted);position:absolute;top:-20px;left:50%;transform:translate(-50%)}.viz-v5 .tug-ghost{opacity:.38;border-radius:6px;gap:2px;height:12px;margin-bottom:8px;display:flex}.viz-v5 .tug-ghost div:first-child{background:var(--p-alp);border-radius:6px 2px 2px 6px}.viz-v5 .tug-ghost div:last-child{background:var(--p-on);border-radius:2px 6px 6px 2px}.viz-v5 .tug-ghost-lbl{color:var(--faint);font-size:11px;font-family:var(--font-mono);margin-bottom:5px}.viz-v5 .tug-swing{color:var(--muted);align-items:center;gap:10px;margin-top:26px;font-size:13px;display:flex}.viz-v5 .tug-swing .arrow{color:var(--p-on);font-weight:700}.viz-v5 .pf-rows{flex-direction:column;gap:16px;display:flex}.viz-v5 .pf-row .pf-head{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:12.5px;display:flex}.viz-v5 .pf-row .pf-head b{color:var(--ink);font-weight:600}.viz-v5 .pf-bar{border-radius:5px;gap:2px;height:18px;display:flex}.viz-v5 .pf-bar>div{transition:width .7s var(--ease);position:relative}.viz-v5 .pf-bar .to-on{background:var(--p-on);border-radius:5px 2px 2px 5px}.viz-v5 .pf-bar .to-alp{background:var(--p-alp);border-radius:2px 5px 5px 2px}.viz-v5 .pf-vals{font-family:var(--font-mono);color:var(--faint);justify-content:space-between;margin-top:5px;font-size:11px;display:flex}.viz-v5 .pf-vals b{color:var(--ink)}.viz-v5 .sankey-wrap{position:relative}.viz-v5 .sankey path.flow{cursor:default;transition:opacity .25s}.viz-v5 .sankey.hovering path.flow{opacity:.16}.viz-v5 .sankey.hovering path.flow.hot{opacity:.92!important}.viz-v5 .sankey text.node-lbl{fill:var(--ink);font-size:12.5px;font-weight:600}.viz-v5 .sankey text.node-val{fill:var(--muted);font-size:11px;font-family:var(--font-mono)}.viz-v5 .sankey text.col-lbl{fill:var(--faint);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.viz-v5 .keep-rows{flex-direction:column;gap:12px;display:flex}.viz-v5 .keep-row{grid-template-columns:minmax(96px,max-content) 1fr 46px;align-items:center;gap:12px;display:grid}.viz-v5 .keep-name{color:var(--muted);text-align:right;font-size:13px}.viz-v5 .keep-name b{color:var(--ink)}.viz-v5 .keep-track{background:color-mix(in srgb,var(--faint) 18%,transparent);border-radius:5px;height:14px;position:relative;overflow:hidden}.viz-v5 .keep-fill{height:100%;transition:width .9s var(--ease);border-radius:5px}.viz-v5 .keep-val{color:var(--ink-bold);font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}.viz-v5 .slope-line{fill:none;stroke-width:2.25px;stroke-linecap:round}.viz-v5 .slope-line.hero-line{stroke-width:3.5px}.viz-v5 .slope-dot{stroke:var(--surface);stroke-width:2px}.viz-v5 .slope-lbl{fill:var(--ink);font-size:12.5px;font-weight:600}.viz-v5 .slope-val{font-size:11.5px;font-family:var(--font-mono);fill:var(--muted)}.viz-v5 .slope-hit{stroke:#0000;stroke-width:22px;fill:none;cursor:default}.viz-v5 .dev-zero{stroke:var(--ink-bold);stroke-width:1.6px;opacity:.5}.viz-v5 .dev-stem{stroke-width:2.5px;stroke-linecap:round}.viz-v5 .dev-name{fill:var(--muted);font-size:12.5px}.viz-v5 .dev-name.hot{fill:var(--ink);font-weight:600}.viz-v5 .dev-val{font-size:11.5px;font-family:var(--font-mono);fill:var(--ink);font-weight:600}.viz-v5 .lk-rows{flex-direction:column;gap:20px;display:flex}.viz-v5 .lk-row .lk-head{justify-content:space-between;align-items:baseline;margin-bottom:7px;display:flex}.viz-v5 .lk-row .lk-name{color:var(--ink);font-size:13.5px;font-weight:600}.viz-v5 .lk-row .lk-role{color:var(--faint);margin-left:8px;font-size:11.5px;font-weight:400}.viz-v5 .lk-net{font-size:12px;font-family:var(--font-mono);color:var(--muted)}.viz-v5 .lk-net b{font-weight:600}.viz-v5 .lk-track{height:24px;position:relative}.viz-v5 .lk-center{background:var(--rule);width:1.5px;position:absolute;top:-5px;bottom:-5px}.viz-v5 .lk-seg{height:100%;transition:all .7s var(--ease);position:absolute;top:0}.viz-v5 .lk-seg .v{color:#fff;place-items:center;font-size:11px;font-weight:600;display:grid;position:absolute;inset:0}.viz-v5 .lk-seg.neu .v{color:var(--ink);opacity:.85}.viz-v5 .lk-scale{color:var(--faint);font-size:10.5px;font-family:var(--font-mono);justify-content:space-between;margin-top:6px;display:flex}.viz-v5 .paradox{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:560px){.viz-v5 .paradox{grid-template-columns:1fr}}.viz-v5 .px-tile{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 65%,transparent);padding:16px 16px 12px}.viz-v5 .px-kick{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.viz-v5 .px-val{color:var(--ink-bold);margin-top:5px;font-size:26px;font-weight:650}.viz-v5 .px-val .dir{vertical-align:2px;margin-left:3px;font-size:15px}.viz-v5 .px-sub{color:var(--faint);margin-top:3px;font-size:12px}.viz-v5 .pm-rows{flex-direction:column;gap:14px;display:flex}.viz-v5 .pm-row{grid-template-columns:minmax(96px,max-content) 1fr 82px;align-items:center;gap:12px;display:grid}.viz-v5 .pm-name{text-align:right;color:var(--ink);font-size:13px;line-height:1.25}.viz-v5 .pm-name small{color:var(--faint);font-size:11px;display:block}.viz-v5 .pm-track{background:color-mix(in srgb,var(--faint) 14%,transparent);border-radius:5px;height:20px;position:relative;overflow:hidden}.viz-v5 .pm-fill{height:100%;transition:width .8s var(--ease);border-radius:2.5px 5px 5px 2.5px}.viz-v5 .pm-val{color:var(--ink-bold);font-variant-numeric:tabular-nums;font-size:13px;font-weight:650}.viz-v5 .pm-val small{color:var(--muted);font-weight:500;font-family:var(--font-mono);margin-left:5px;font-size:11px}.viz-v5 .mood-line{fill:none;stroke-width:2.5px;stroke-linecap:round}.viz-v5 .mood-dot{stroke:var(--surface);stroke-width:2px}.viz-v5 .vz-callout{border-left:3px solid var(--p-on);background:var(--on-glow);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink);margin-top:22px;padding:16px 20px;font-size:14.5px;line-height:1.6}.viz-v5 .vz-callout b{font-weight:650}.viz-v5 .nv-strip{margin-top:4px}.viz-v5 .tip{z-index:99998;pointer-events:none;background:var(--tip-bg);color:#eef4fb;opacity:0;border:1px solid #ffffff24;border-radius:10px;max-width:260px;padding:10px 13px;font-size:12.5px;line-height:1.5;transition:opacity .16s,transform .16s;position:fixed;transform:translateY(4px);box-shadow:0 10px 32px #00000073}.viz-v5 .tip.show{opacity:1;transform:none}.viz-v5 .tip .tip-h{color:#fff;margin-bottom:5px;font-size:12px;font-weight:650}.viz-v5 .tip .tip-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.viz-v5 .tip .tip-row .k{color:#b9c6d8;align-items:center;gap:6px;display:inline-flex}.viz-v5 .tip .tip-row .k i{border-radius:2px;width:12px;height:3px;display:inline-block}.viz-v5 .tip .tip-row .n{font-variant-numeric:tabular-nums;color:#fff;font-weight:650}.viz-v5 .method{max-width:var(--max-w);padding:clamp(48px,8vh,88px) var(--gutter) 30px;margin:0 auto}.viz-v5 .method-grid{grid-template-columns:1fr 1fr;gap:4px 40px;margin-top:26px;display:grid}@media (max-width:760px){.viz-v5 .method-grid{grid-template-columns:1fr}}.viz-v5 .method-row{border-bottom:1px solid var(--hairline);grid-template-columns:200px 1fr;gap:14px;padding:10px 0;font-size:13px;display:grid}.viz-v5 .method-row dt{color:var(--faint)}.viz-v5 .method-row dd{color:var(--ink)}@media (max-width:520px){.viz-v5 .method-row{grid-template-columns:1fr;gap:2px}}.viz-v5 .method details{border:1px solid var(--hairline);border-radius:var(--radius-sm);margin-top:22px}.viz-v5 .method summary{cursor:pointer;color:var(--ink);padding:13px 18px;font-size:13.5px;font-weight:600}.viz-v5 .method details>div{color:var(--muted);padding:4px 18px 16px;font-size:13px;line-height:1.7}.viz-v5 .dash-foot{max-width:var(--max-w);padding:34px var(--gutter) 46px;border-top:1px solid var(--hairline);color:var(--faint);flex-wrap:wrap;align-items:center;gap:12px 28px;margin:0 auto;font-size:12px;display:flex}.viz-v5 .dash-foot .mono{font-family:var(--font-mono);font-size:11px}.viz-v5 .dash-foot .spacer{flex:1}.viz-v5 .tl-anno{fill:var(--faint);font-size:11px;font-family:var(--font-mono);letter-spacing:.06em}.viz-v5 .tl-gapband{fill:var(--grid-line);opacity:.5}.viz-v5 .tl-cross{stroke:var(--ink-bold);stroke-width:1px;stroke-dasharray:3 4;opacity:.45}.viz-v5 .hm-scroll{max-width:100%;overflow-x:auto}.viz-v5 .hm{gap:3px;min-width:620px;display:grid}.viz-v5 .hm-head{flex-direction:column;align-items:center;gap:2px;padding-bottom:6px;display:flex}.viz-v5 .hm-head .nm{color:var(--ink);font-size:12px;font-weight:600}.viz-v5 .hm-head .nat{font-size:10.5px;font-family:var(--font-mono);color:var(--faint)}.viz-v5 .hm-head .sw{border-radius:2px;width:22px;height:4px}.viz-v5 .hm-dim{letter-spacing:.14em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--hairline);grid-column:1/-1;margin-bottom:3px;padding:14px 0 4px;font-size:10.5px;font-weight:600}.viz-v5 .hm-lbl{text-align:right;color:var(--muted);justify-content:flex-end;align-items:center;padding-right:10px;font-size:12.5px;line-height:1.2;display:flex}.viz-v5 .hm-cell{cursor:default;height:34px;transition:transform .15s var(--ease),box-shadow .15s;border-radius:5px;place-items:center;display:grid;position:relative}.viz-v5 .hm-cell .v{font-variant-numeric:tabular-nums;pointer-events:none;font-size:12px;font-weight:600}.viz-v5 .hm-cell.lead{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink-bold) 55%,transparent)}:is(.viz-v5 .hm-cell:hover,.viz-v5 .hm-cell:focus-visible){z-index:2;outline:none;transform:scale(1.06);box-shadow:0 4px 14px #00000059}.viz-v5 .hm-note{color:var(--faint);font-size:11.5px;font-family:var(--font-mono);margin-top:12px}.viz-v5 .lol-zero{stroke:var(--ink-bold);stroke-width:1.4px;opacity:.5}.viz-v5 .lol-stem{stroke-width:2.5px;stroke-linecap:round}.viz-v5 .lol-dot{stroke:var(--surface);stroke-width:2px}.viz-v5 .lol-name{fill:var(--muted);font-size:12px}.viz-v5 .lol-name.hot{fill:var(--ink);font-weight:600}.viz-v5 .lol-val{font-size:11.5px;font-family:var(--font-mono);font-weight:600}.viz-v5 .quad-zone{fill:var(--faint);font-size:10.5px;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}.viz-v5 .quad-dot{stroke:var(--surface);stroke-width:2px;cursor:default;transition:r .15s}:is(.viz-v5 .quad-dot:hover,.viz-v5 .quad-dot:focus-visible){outline:none}.viz-v5 .quad-lbl{fill:var(--ink);font-size:11.5px;font-weight:600}.viz-v5 .quad-lbl.dim{fill:var(--muted);font-weight:500}.viz-v5 .quad-mid{stroke:var(--rule);stroke-width:1.2px;stroke-dasharray:4 5}.viz-v5 .pm-chg{font-size:11px;font-family:var(--font-mono);color:var(--muted)}.viz-v5 .pm-chg.up{color:var(--sent-pos)}.viz-v5 .pm-chg.down{color:var(--sent-neg)}.viz-v5 .st-quote{font-family:var(--font-serif);color:var(--ink);margin-bottom:8px;font-size:14.5px;line-height:1.45}.viz-v5 .xhair{stroke:var(--ink-bold);stroke-width:1px;stroke-dasharray:3 4;opacity:0;pointer-events:none;transition:opacity .15s}.viz-v5 .hm-head{cursor:pointer;border-radius:7px;padding:4px 2px 6px;transition:background .2s}.viz-v5 .hm-head:hover{background:color-mix(in srgb,var(--surface-2) 85%,transparent)}.viz-v5 .hm-head[aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--ink-bold)}.viz-v5 .hm-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viz-v5 .sankey rect{cursor:pointer}.viz-v5 .sankey rect:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viz-v5 .sankey path.flow{cursor:pointer}.viz-v5 .sankey.pinned path.flow{opacity:.12}.viz-v5 .sankey.pinned path.flow.keep{opacity:.9}.viz-v5 button.legend-item{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:4px 11px;font-size:12.5px;transition:border-color .2s,background .2s}.viz-v5 button.legend-item:hover{border-color:var(--rule)}.viz-v5 button.legend-item[aria-pressed=true]{border-color:var(--muted);background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--ink)}.viz-v5 button.legend-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viz-v5 .scrollx,.viz-v5 .hm-scroll,.viz-v5 .panel-table{scrollbar-width:none;-ms-overflow-style:none}.viz-v5 .scrollx::-webkit-scrollbar{width:0;height:0;display:none}.viz-v5 .hm-scroll::-webkit-scrollbar{width:0;height:0;display:none}.viz-v5 .panel-table::-webkit-scrollbar{width:0;height:0;display:none}.viz-v5 .migfield{width:100%;height:auto;overflow:visible}.viz-v5 .migdot{transition:cx .8s var(--ease),cy .8s var(--ease),fill .5s ease,opacity .3s ease;cursor:pointer}@media (prefers-reduced-motion:reduce){.viz-v5 .migdot{transition:fill .2s}}.viz-v5 .migfield.focusing .migdot{opacity:.13}.viz-v5 .migfield.focusing .migdot.lit{opacity:1}.viz-v5 .migfield .mig-name{fill:var(--ink);letter-spacing:.04em;font-size:12.5px;font-weight:600}.viz-v5 .migfield .mig-val{fill:var(--muted);font-size:11.5px;font-family:var(--font-mono)}.viz-v5 .migpile{cursor:pointer}.viz-v5 .migpile:focus-visible{outline:none}.viz-v5 .migpile:focus-visible .migpile-hit{fill:color-mix(in srgb,var(--accent) 14%,transparent)}.viz-v5 .migpile:hover .migpile-hit{fill:color-mix(in srgb,var(--ink-bold) 5%,transparent)}.viz-v5 .migfield.focusing .migpile{opacity:.4}.viz-v5 .migfield.focusing .migpile.lit{opacity:1}.viz-v5 .migfield.focusing .migpile.lit .migpile-hit{fill:color-mix(in srgb,var(--ink-bold) 6%,transparent)}.viz-v5 .step-cap{min-height:40px;color:var(--muted);max-width:62ch;margin:2px 0 16px;font-size:13px;line-height:1.5}.viz-v5 .step-cap__title{color:var(--ink);letter-spacing:-.005em;font-size:13.5px;font-weight:600;display:block}.viz-v5 .step-cap__line{display:block}.viz-v5 .rooms-picker{flex-wrap:wrap;align-items:flex-start;gap:10px 22px;margin-bottom:6px;display:flex}.viz-v5 .rooms-group{flex-direction:column;gap:5px;min-width:0;display:flex}.viz-v5 .rooms-group__label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px}.viz-v5 .rooms-group__items{flex-wrap:wrap;gap:4px;display:flex}.viz-v5 .rooms-group__items button{border:1px solid var(--hairline);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:5px 11px;font-size:12px;transition:color .2s,border-color .2s,background .2s}.viz-v5 .rooms-group__items button:hover{color:var(--ink);border-color:var(--muted)}.viz-v5 .rooms-group__items button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viz-v5 .rooms-group__items button[aria-pressed=true]{background:var(--ink-bold);color:var(--bg);border-color:var(--ink-bold);font-weight:600}.viz-v5 .rooms-select{border:1px solid var(--rule);background:var(--surface-2);width:100%;max-width:380px;color:var(--ink);border-radius:9px;padding:10px 12px;font-size:14px;display:none}.viz-v5 .rooms-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:640px){.viz-v5 .rooms-select{display:block}.viz-v5 .rooms-group{display:none}.viz-v5 .rooms-picker{gap:0}}.viz-v5 .rooms-group__items button.on-tour:before{content:"";background:var(--p-on);vertical-align:1px;border-radius:50%;width:4px;height:4px;margin-right:6px;display:inline-block}.viz-v5 .rooms-group__items button.on-tour[aria-pressed=true]:before{background:var(--bg)}.viz-v5 .migpile.acting .migpile-hit{fill:color-mix(in srgb,var(--ink-bold) 5%,transparent)}.viz-v5 .migpile.acting .mig-name{fill:var(--ink-bold)}.viz-v5 .migpile.acting .mig-val{fill:var(--ink);font-weight:600}.viz-v5 .roomdot{transition:opacity .3s}.viz-v5 .roomdot.moving{opacity:1}.viz-v5 .migfield .roomdot.moving{paint-order:normal}.viz-v5 .theme-light .viz-v5 .roomdot.moving{filter:drop-shadow(0 2px 5px #10203847)}.viz-v5 .roomdot.moving{filter:drop-shadow(0 2px 6px #00000080)}.viz-v5 .migfield.focusing .roomdot.moving:not(.lit){opacity:.13}.viz-v5 .playbtn{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:999px;padding:6px 13px;font-size:11px;transition:color .2s,border-color .2s}.viz-v5 .playbtn:hover{color:var(--ink-bold);border-color:var(--muted)}.viz-v5 .playbtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viz-v5 .focusbar{z-index:9500;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--rule);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--muted);border-radius:999px;align-items:center;gap:11px;padding:9px 9px 9px 16px;font-size:12.5px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 34px #0006}.viz-v5 .focusbar[hidden]{display:none}.viz-v5 .focusbar-lbl{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-size:10.5px}.viz-v5 .focusbar-party{color:var(--ink-bold);align-items:center;gap:7px;font-weight:600;display:inline-flex}.viz-v5 .focusbar-party:before{content:"";background:var(--chip,var(--accent));border-radius:3px;width:9px;height:9px}.viz-v5 .focusbar button{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:999px;padding:5px 11px;font-size:10.5px}.viz-v5 .focusbar button:hover{color:var(--ink-bold);border-color:var(--muted)}.viz-v5 .focusbar button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viz-v5 svg.focusing [data-party]{opacity:.16;transition:opacity .3s}.viz-v5 svg.focusing [data-party].lit{opacity:1}.viz-v5 .hm-scroll.focusing [data-party]{opacity:.22;transition:opacity .3s}.viz-v5 .hm-scroll.focusing [data-party].lit{opacity:1}.viz-v5 .keep-rows.focusing [data-party]{opacity:.28;transition:opacity .3s}.viz-v5 .keep-rows.focusing [data-party].lit{opacity:1}.viz-v5 .keep-row{border-radius:7px}.viz-v5 .keep-row:hover{background:color-mix(in srgb,var(--ink-bold) 4%,transparent)}.viz-v5 .migfield--stacked .mig-name{letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}.viz-v5 .migfield--stacked .mig-val{font-size:12px}