:root{--bg: #04070a;--panel: #0a0f14;--panel-2: #0d141b;--line: #1a2531;--line-soft: #121b25;--text: #c7d4d8;--text-dim: #6c7f8a;--text-faint: #45565f;--emerald: #19d98b;--emerald-dim: #0e5c3d;--amber: #ffb020;--red: #e05050;--cyan: #37c8e8;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}.app{display:flex;flex-direction:column;height:100vh}.hero{display:flex;align-items:baseline;gap:18px;padding:14px 18px 10px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#060b10,var(--bg));flex-wrap:wrap}.hero h1{font-size:15px;letter-spacing:2px;margin:0;color:var(--text);font-weight:600}.hero h1 .flyword{color:var(--emerald)}.hero .sub{color:var(--text-dim);font-size:11px;letter-spacing:.4px}.chips{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:var(--panel);padding:2px 8px;font-size:10.5px;letter-spacing:1px;color:var(--text-dim);border-radius:2px;white-space:nowrap}.chip b{color:var(--text);font-weight:600}.chip.online b{color:var(--emerald)}.chip.offline b,.chip .hz{color:var(--amber)}.main{display:grid;grid-template-columns:1fr .95fr .9fr;gap:1px;background:var(--line-soft);flex:1;min-height:0}@media(max-width:1100px){.main{grid-template-columns:1fr;overflow:auto}}.panel{background:var(--panel);display:flex;flex-direction:column;min-height:340px;min-width:0}.panel-head{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);font-size:10.5px;letter-spacing:2px;color:var(--text-dim);flex-wrap:wrap}.panel-head .spacer{flex:1}.panel-body{flex:1;min-height:0;position:relative}.filters{display:flex;gap:4px}.filters button{background:transparent;border:1px solid var(--line);color:var(--text-faint);font:inherit;font-size:10px;letter-spacing:1px;padding:1px 7px;cursor:pointer;border-radius:2px}.filters button.active{color:var(--emerald);border-color:var(--emerald-dim);background:#19d98b0f}canvas.brain{width:100%;height:100%;display:block}.canvas-note{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--amber);font-size:11px;letter-spacing:2px}.arena-wrap{padding:10px;height:100%;display:flex;flex-direction:column;gap:10px}.arena{flex:1;min-height:0;position:relative}.arena canvas{width:100%;height:100%;display:block}.bars{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.bar-row{display:grid;grid-template-columns:92px 1fr 42px;align-items:center;gap:8px;font-size:10.5px;color:var(--text-dim);letter-spacing:1px}.bar-track{height:8px;background:var(--panel-2);border:1px solid var(--line-soft);position:relative}.bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;background:var(--emerald-dim)}.bar-fill.hot{background:var(--emerald)}.bar-fill.warn{background:var(--amber)}.bar-val{text-align:right;color:var(--text)}.terminal{padding:12px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;height:100%}.field{display:grid;grid-template-columns:76px 1fr;gap:10px;font-size:12px}.field .k{color:var(--text-faint);letter-spacing:1.5px;font-size:10px;padding-top:2px}.field .v{color:var(--text);overflow-wrap:anywhere}.field .v.pending{color:var(--text-faint);font-style:italic}.field .v .sym{color:var(--emerald)}.intent{border:1px solid var(--line);background:var(--panel-2);padding:10px;margin-top:6px}.intent .label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:6px}.intent .label .pct{color:var(--amber)}.intent .track{height:12px;background:#06090d;border:1px solid var(--line);position:relative}.intent .fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;background:linear-gradient(90deg,var(--emerald-dim),var(--emerald))}.intent .threshold-line{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--amber)}.verdict{padding:12px;border:1px solid var(--emerald-dim);background:#19d98b0d}.verdict .big{color:var(--emerald);letter-spacing:2px;font-size:13px;font-weight:600}.verdict .launching{color:var(--text);font-size:12px;margin-top:4px}.verdict.abort{border-color:var(--amber);background:#ffb0200d}.verdict.abort .big{color:var(--amber)}.hash{color:var(--cyan);overflow-wrap:anywhere;font-size:11px}.badge{display:inline-block;border:1px solid var(--line);color:var(--text-dim);font-size:9.5px;letter-spacing:1.5px;padding:1px 6px;border-radius:2px}.badge.sim{color:var(--amber);border-color:#ffb02066}.badge.live{color:var(--emerald);border-color:var(--emerald-dim)}.badge.err{color:var(--red);border-color:#e0505066}.timeline{border-top:1px solid var(--line);background:#060a0e;height:168px;overflow-y:auto;padding:6px 0;flex:none}.tl-row{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:2px 14px;font-size:11px}.tl-row:hover{background:var(--panel-2);cursor:default}.tl-row.decision{cursor:pointer}.tl-time{color:var(--text-faint)}.tl-msg{color:var(--text-dim)}.tl-msg b{color:var(--emerald);font-weight:600}.tl-msg .warn{color:var(--amber)}.popover{position:fixed;z-index:50;width:380px;max-height:60vh;overflow-y:auto;background:var(--panel-2);border:1px solid var(--line);padding:12px;font-size:11px;box-shadow:0 8px 30px #0009}.popover h4{margin:0 0 8px;font-size:11px;letter-spacing:2px;color:var(--emerald)}.popover .kv{display:grid;grid-template-columns:110px 1fr;gap:2px 8px;color:var(--text-dim)}.popover .kv b{color:var(--text);font-weight:500;overflow-wrap:anywhere}.startbar{display:flex;gap:10px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.startbar label{font-size:10px;letter-spacing:1.5px;color:var(--text-faint)}.startbar input{background:#05080c;border:1px solid var(--line);color:var(--text);font:inherit;padding:4px 8px;width:220px;border-radius:2px}.startbar select{background:#05080c;border:1px solid var(--line);color:var(--text);font:inherit;padding:4px;border-radius:2px}button.primary{background:#19d98b1a;border:1px solid var(--emerald-dim);color:var(--emerald);font:inherit;letter-spacing:2px;padding:5px 16px;cursor:pointer;border-radius:2px}button.primary:hover:not(:disabled){background:#19d98b33}button.primary:disabled{opacity:.4;cursor:not-allowed}.exp{max-width:1060px;margin:0 auto;padding:20px 18px 60px}.exp h2{font-size:14px;letter-spacing:2.5px;color:var(--text);margin:22px 0 10px;border-bottom:1px solid var(--line);padding-bottom:6px}.exp .grid{display:grid;grid-template-columns:150px 1fr;gap:4px 14px;font-size:12px}.exp .grid .k{color:var(--text-faint);letter-spacing:1px;font-size:10.5px;padding-top:2px}.exp .grid .v{overflow-wrap:anywhere}.exp img.logo{width:220px;height:220px;border:1px solid var(--line);background:#fff}table.runs{width:100%;border-collapse:collapse;font-size:12px}table.runs th{text-align:left;color:var(--text-faint);font-weight:400;font-size:10px;letter-spacing:1.5px;padding:4px 8px;border-bottom:1px solid var(--line)}table.runs td{padding:5px 8px;border-bottom:1px solid var(--line-soft)}table.runs a{color:var(--cyan);text-decoration:none}.match{color:var(--emerald);letter-spacing:2px}.mismatch{color:var(--red);letter-spacing:2px}.backlink{color:var(--text-dim);text-decoration:none;font-size:11px;letter-spacing:1px}.backlink:hover{color:var(--emerald)}.lab-page{--lab-bg: #ffffff;--lab-surface: #f8f9fa;--lab-border: #e6e8ec;--lab-border-soft: #eef0f3;--lab-text: #14171b;--lab-text-2: #4d5661;--lab-text-3: #8b949e;--lab-accent: #0a8f5b;--lab-accent-deep: #07754a;--lab-accent-bg: #f0fdf5;--lab-accent-border: #bbe8cf;--lab-amber: #b45309;--lab-amber-bg: #fffbeb;--lab-amber-border: #f2ddb0;--lab-red: #dc2626;background:var(--lab-bg);color:var(--lab-text);min-height:100vh;max-width:1160px;margin:0 auto;padding:0 24px 96px;font-size:13.5px}.lab-topbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:18px 0 14px;border-bottom:1px solid var(--lab-border)}.lab-brand{font-size:11px;letter-spacing:2.5px;color:var(--lab-accent-deep);font-weight:700}.lab-topbar-meta{font-size:10.5px;color:var(--lab-text-3);letter-spacing:.4px;margin-right:auto}.lab-page .backlink{color:var(--lab-text-2);text-decoration:none;font-size:11px;letter-spacing:.5px}.lab-page .backlink:hover{color:var(--lab-accent-deep)}.lab-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;padding:52px 0 32px;align-items:center}@media(max-width:900px){.lab-hero{grid-template-columns:1fr}}.lab-kicker{font-size:10.5px;letter-spacing:1.8px;color:var(--lab-text-3);margin-bottom:20px;text-transform:uppercase}.lab-title{font-size:76px;margin:0;line-height:.92;font-weight:680;letter-spacing:-.025em;color:var(--lab-text)}.lab-subtitle{font-size:17px;color:var(--lab-text-2);margin:12px 0 18px;font-style:italic;font-family:ui-serif,Georgia,serif}.lab-abstract{color:var(--lab-text-2);font-size:13px;line-height:1.75;max-width:600px;border-left:2px solid var(--lab-accent);padding-left:14px}.lab-abstract b{color:var(--lab-text);font-weight:600}.lab-badges{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.lab-ctas{display:flex;gap:10px;flex-wrap:wrap}.lab-hero-right{text-align:center}.lab-logo{width:300px;height:300px;border:1px solid var(--lab-border);border-radius:6px;background:#fff}.lab-figcaption{font-size:10.5px;color:var(--lab-text-3);margin-top:12px;line-height:1.6;text-align:center}.lab-page .badge{background:#fff;border:1px solid var(--lab-border);color:var(--lab-text-2);font-family:var(--mono);font-size:10px;letter-spacing:1px;padding:3px 8px;border-radius:4px}.lab-page .badge.live{color:var(--lab-accent-deep);border-color:var(--lab-accent-border);background:var(--lab-accent-bg)}.lab-page .badge.sim{color:var(--lab-amber);border-color:var(--lab-amber-border);background:var(--lab-amber-bg)}.lab-page .badge.err{color:var(--lab-red);border-color:#f3c6c6;background:#fef2f2}.lab-page button.primary{background:var(--lab-accent);border:1px solid var(--lab-accent);color:#fff;font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.3px;padding:9px 18px;border-radius:6px;cursor:pointer;transition:background .16s ease,transform .16s ease-out}.lab-page button.primary:hover{background:var(--lab-accent-deep)}.lab-page button.primary:active{transform:scale(.97)}.lab-page button.primary.coin-ghost,.lab-page .coin-ghost{background:#fff;border-color:var(--lab-border);color:var(--lab-text-2)}.lab-page .coin-ghost:hover{background:var(--lab-surface);color:var(--lab-text)}.lab-verify{border:1px solid var(--lab-accent-border);background:var(--lab-accent-bg);padding:16px 18px;margin:10px 0 6px;border-radius:6px}.lab-verify-title{font-size:10px;letter-spacing:2px;color:var(--lab-accent-deep);font-weight:700;margin-bottom:12px}.lab-verify-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 32px}@media(max-width:800px){.lab-verify-grid{grid-template-columns:1fr}}.lab-verify-item{font-size:12px;color:var(--lab-text-2);display:flex;gap:9px;align-items:baseline;line-height:1.55}.lab-check{color:var(--lab-accent-deep);font-weight:700}.lab-page .hash{color:var(--lab-text-2)}.lab-section{margin:68px 0}.lab-section h2{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:2px;color:var(--lab-text);margin:0 0 6px;display:flex;align-items:baseline;gap:12px;text-transform:uppercase}.lab-secno{color:var(--lab-accent);font-size:11px}.lab-caption{color:var(--lab-text-2);font-size:12.5px;line-height:1.7;max-width:880px;margin:10px 0 18px}.lab-caption b{color:var(--lab-text)}.lab-figure-svg{width:100%;height:auto;border:1px solid var(--lab-border);background:#fff;padding:16px;box-sizing:border-box;border-radius:6px}.lab-dg-title{fill:var(--lab-text);font-size:12.5px;letter-spacing:1.2px;font-family:var(--mono);font-weight:600}.lab-dg-sub{fill:var(--lab-accent-deep);font-size:11px;font-family:var(--mono)}.lab-dg-note{fill:var(--lab-text-3);font-size:10px;font-family:var(--mono)}.lab-dg-step{fill:#c3cad1;font-size:9px;letter-spacing:2px;font-family:var(--mono)}.lab-dg-win{fill:var(--lab-accent-deep);font-size:13px;font-weight:700;letter-spacing:1px;font-family:var(--mono)}.lab-flow{animation:lab-dash 1.4s linear infinite}@keyframes lab-dash{to{stroke-dashoffset:-8}}@media(prefers-reduced-motion:reduce){.lab-flow{animation:none}}.lab-figwrap{margin:0}.lab-two-col{display:grid;grid-template-columns:400px 1fr;gap:40px;align-items:center}@media(max-width:900px){.lab-two-col{grid-template-columns:1fr}}.coin-legend{display:flex;gap:24px;font-size:11px;letter-spacing:.5px;margin:4px 0 10px;flex-wrap:wrap;color:var(--lab-text-2)}.lab-page .runs{width:100%;border-collapse:collapse}.lab-page .runs th{text-align:left;color:var(--lab-text-3);font-weight:500;font-size:10px;letter-spacing:1.5px;padding:8px 10px;border-bottom:1px solid var(--lab-border);background:var(--lab-surface)}.lab-page .runs td{padding:9px 10px;border-bottom:1px solid var(--lab-border-soft);font-size:12.5px;color:var(--lab-text)}.lab-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}@media(max-width:950px){.lab-methods{grid-template-columns:1fr}}.lab-methods h3{font-size:10.5px;letter-spacing:1.8px;color:var(--lab-text-3);margin:0 0 10px;font-weight:700;text-transform:uppercase}.lab-eq{font-family:var(--mono);font-size:11.5px;color:var(--lab-text);background:var(--lab-surface);border:1px solid var(--lab-border-soft);padding:10px 12px;margin:0 0 10px;border-radius:4px;overflow-wrap:anywhere}.lab-methods .lab-caption{margin:0;font-size:12px}.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:950px){.lab-grid{grid-template-columns:1fr}}.lab-fact{border:1px solid var(--lab-border);background:#fff;padding:16px;border-radius:6px}.lab-fact h3{margin:0 0 7px;font-size:17px;color:var(--lab-accent-deep);font-family:var(--mono);font-weight:600}.lab-fact p{margin:0;color:var(--lab-text-2);font-size:12px;line-height:1.65}.lab-refs{list-style:none;padding:0;margin:10px 0 0}.lab-refs li{padding:9px 0;border-bottom:1px solid var(--lab-border-soft);font-size:12px;color:var(--lab-text-2);line-height:1.65}.lab-refs a{color:var(--lab-accent-deep);text-decoration:none}.lab-refs a:hover{text-decoration:underline}.lab-contrib{margin-top:24px;border-left:2px solid var(--lab-accent);padding-left:14px}.lab-contrib h3{font-size:10px;letter-spacing:2px;color:var(--lab-text-3);margin:0 0 8px}.lab-contrib p{margin:0;font-size:12.5px;color:var(--lab-text-2);line-height:1.75}.lab-contrib b{color:var(--lab-text)}.lab-footer{margin-top:72px;border-top:1px solid var(--lab-border);padding:24px 2px}.lab-footer p{color:var(--lab-text-2);font-size:11.5px;line-height:1.8;max-width:920px}.lab-footer b{color:var(--lab-amber)}.lab-page .exp{padding:40px 0}body:has(.lab-page){background:#fff}.lab-simband{display:flex;align-items:center;gap:32px;flex-wrap:wrap;border:1px solid var(--lab-accent-border);background:linear-gradient(180deg,#f4fef9,#eefdf5);padding:26px 28px;margin:10px 0 8px;border-radius:8px}.lab-simband-kicker{font-size:10px;letter-spacing:2px;color:var(--lab-accent-deep);font-weight:700;margin-bottom:8px}.lab-simband-title{font-family:ui-serif,Georgia,serif;font-size:22px;color:var(--lab-text);margin:0 0 8px;font-weight:600}.lab-simband p{margin:0;color:var(--lab-text-2);font-size:12.5px;line-height:1.7;max-width:640px}.lab-simband-btn{font-size:14px;padding:12px 26px;white-space:nowrap;margin-left:auto}@media(max-width:800px){.lab-simband-btn{margin-left:0}}.lab-choices{display:flex;flex-direction:column;gap:10px}.lab-choice{border:1px solid var(--lab-border);border-radius:6px;background:#fff;padding:12px 14px}.lab-choice-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;flex-wrap:wrap}.lab-choice-stage{font-size:10.5px;letter-spacing:1.5px;color:var(--lab-text-3);font-weight:700}.lab-choice-ev{font-size:10.5px;color:var(--lab-text-3);font-family:var(--mono)}.lab-choice-opts{display:flex;flex-wrap:wrap;gap:6px}.lab-opt{font-family:var(--mono);font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--lab-border);color:var(--lab-text-2);background:var(--lab-surface)}.lab-opt-won{border-color:var(--lab-accent-border);background:var(--lab-accent-bg);color:var(--lab-accent-deep);font-weight:700}
