:root{--bg: #0d1117;--panel: #161b22;--border: #30363d;--text: #e6edf3;--dim: #8b949e;--win: #3fb950;--loss: #f85149;--warn: #d29922;--accent: #58a6ff;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.mono{font-family:var(--mono);font-size:13px}.dim{color:var(--dim)}.win{color:var(--win)}.loss{color:var(--loss)}.buy{color:var(--win)}.sell{color:var(--loss)}.app{max-width:1400px;margin:0 auto;padding:16px}header{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.brand h1{margin:0;font-size:18px;letter-spacing:.5px}.demo{background:var(--warn);color:#000;font-weight:700;font-size:11px;padding:2px 7px;border-radius:3px;letter-spacing:1px}.stats{display:flex;gap:24px;flex-wrap:wrap}.stat{display:flex;flex-direction:column}.stat .label,.metric .label{color:var(--dim);font-size:11px;text-transform:uppercase}.stat .value{font-size:15px}.controls{display:flex;align-items:center;gap:12px}.conn{font-size:12px;padding:3px 8px;border-radius:3px;border:1px solid var(--border)}.conn.live{color:var(--win);border-color:var(--win)}.conn.connecting{color:var(--dim)}.conn.offline{color:var(--loss);border-color:var(--loss)}button{font:inherit;padding:6px 12px;border-radius:4px;border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.stop{border-color:var(--loss);color:var(--loss)}button.resume{border-color:var(--win);color:var(--win)}.banner{grid-column:1 / -1;margin-top:10px;padding:10px 12px;border-radius:4px;font-size:13px}.banner.stopped{background:#f851491f;border:1px solid var(--loss)}.banner.error{background:#d299221f;border:1px solid var(--warn);margin:12px 0}.tabs{display:flex;gap:4px;margin:14px 0}.tabs button{text-transform:capitalize;background:transparent;border-color:transparent;color:var(--dim)}.tabs button.active{color:var(--text);border-color:var(--border);background:var(--panel)}table.log{width:100%;border-collapse:collapse;font-size:13px}table.log th{text-align:left;color:var(--dim);font-weight:500;font-size:11px;text-transform:uppercase;padding:6px 8px;border-bottom:1px solid var(--border);white-space:nowrap}table.log td{padding:6px 8px;border-bottom:1px solid rgba(48,54,61,.5);vertical-align:top}table.log tr:hover td{background:#58a6ff0d}td.reason,th.reason{width:45%;color:var(--dim)}.badge{font-size:11px;padding:2px 6px;border-radius:3px;border:1px solid var(--border);white-space:nowrap}.badge.trade,.badge.open,.badge.useful,.badge.role-champion{color:var(--win);border-color:var(--win)}.badge.no_trade,.badge.closed{color:var(--dim)}.badge.blocked,.badge.failed,.badge.unfit{color:var(--loss);border-color:var(--loss)}.badge.role-challenger{color:var(--accent);border-color:var(--accent)}.badge.impact-high{color:var(--loss);border-color:var(--loss)}.badge.impact-medium{color:var(--warn);border-color:var(--warn)}.badge.impact-low{color:var(--dim)}.empty{color:var(--dim);padding:24px 8px;max-width:60ch}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0}.metric{background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.metric .value{font-size:17px}.breakdown{margin-top:20px}.breakdown label{color:var(--dim);font-size:13px}.breakdown select{font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 6px}.breakdown table{margin-top:12px}figure.equity{margin:0 0 20px}figure.equity svg{width:100%;height:auto;background:var(--panel);border:1px solid var(--border);border-radius:5px}figure.equity .line{fill:none;stroke-width:1.8}figure.equity .line.win{stroke:var(--win)}figure.equity .line.loss{stroke:var(--loss)}figure.equity .zero{stroke:var(--border);stroke-dasharray:3 3}figure.equity figcaption{color:var(--dim);font-size:12px;margin-top:8px;max-width:80ch}.models{display:flex;flex-direction:column;gap:12px}.model{background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:12px 14px}.model header{display:flex;gap:10px;align-items:center;border:none;padding:0 0 10px}.model dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0;font-size:13px}.model dt{color:var(--dim)}.model dd{margin:0}.warnings,.caveats{margin:10px 0 0;padding-left:18px;font-size:13px}.warnings li{color:var(--warn)}.caveats li{color:var(--dim)}.news{list-style:none;margin:0;padding:0}.news li{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:8px;border-bottom:1px solid rgba(48,54,61,.5)}.news li span.dim:last-child{grid-column:2;font-size:12px}.news a{color:var(--accent);text-decoration:none}.news a:hover{text-decoration:underline}h2{font-size:14px;text-transform:uppercase;color:var(--dim);letter-spacing:.5px;margin:24px 0 8px}.key-prompt{max-width:420px;margin:15vh auto;padding:24px;background:var(--panel);border:1px solid var(--border);border-radius:6px}.key-prompt p{color:var(--dim);font-size:13px}.key-prompt form{display:flex;gap:8px}.key-prompt input{flex:1;font:inherit;padding:6px 10px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px}@media(max-width:900px){header{grid-template-columns:1fr}td.reason,th.reason{width:auto}}.readiness{background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:14px 16px;margin:16px 0}.readiness-head{display:flex;align-items:baseline;justify-content:space-between}.readiness-head .label{color:var(--dim);font-size:11px;text-transform:uppercase}.readiness-head .value{font-size:22px}.readiness .cap{color:var(--loss);font-size:12.5px;margin:6px 0 0}.readiness .bars{display:flex;flex-direction:column;gap:6px;margin:12px 0 8px}.readiness .row{display:grid;grid-template-columns:150px 130px 1fr;gap:10px;align-items:center;font-size:12.5px}.readiness .bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.readiness .bar span{display:block;height:100%;background:var(--accent);border-radius:3px}.readiness .detail{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readiness .disclaimer{font-size:11px;margin:6px 0 0}@media(max-width:700px){.readiness .row{grid-template-columns:120px 1fr}.readiness .detail{display:none}}.analytics .notes{color:var(--dim);font-size:12.5px;margin:8px 0 12px;padding-left:18px}.analytics .metric .hint{font-size:11px}.analytics .two-up{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.analytics .breakdown h3{font-size:13px;color:var(--dim);font-weight:500;margin:0 0 6px}.analytics table.compact td,.analytics table.compact th{padding:4px 8px;font-size:12.5px}.chart{margin:18px 0}.chart figcaption{font-size:12.5px;color:var(--dim);margin-bottom:6px;max-width:80ch}.chart figcaption strong{color:var(--text);font-weight:600}.chart .plot{position:relative}.chart svg{width:100%;height:auto;display:block;background:var(--panel);border:1px solid var(--border);border-radius:5px}.chart svg.under{margin-top:4px}.chart .grid,.chart .baseline{stroke:var(--border);stroke-width:1}.chart .zero{stroke:var(--dim);stroke-width:1;opacity:.6}.chart .ref{stroke:var(--warn);stroke-width:1}.chart .axis{fill:var(--dim);font-size:10px;font-family:var(--mono)}.chart .endlabel{fill:var(--text);font-size:11px}.chart .series{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .series.accent{stroke:var(--accent)}.chart .series.win{stroke:var(--win)}.chart .series.loss{stroke:var(--loss)}.chart .end{stroke:var(--panel);stroke-width:2}.chart .end.accent{fill:var(--accent)}.chart .end.win{fill:var(--win)}.chart .end.loss{fill:var(--loss)}.chart .area.loss{fill:var(--loss);fill-opacity:.28;stroke:var(--loss);stroke-width:1}.chart .bar.win{fill:var(--win)}.chart .bar.loss{fill:var(--loss)}.chart .bar.neutral{fill:var(--dim)}.chart .dot{stroke:var(--panel);stroke-width:2}.chart .dot.win{fill:var(--win)}.chart .dot.loss{fill:var(--loss)}.chart .cell{fill:var(--accent);stroke:none}.chart .crosshair{stroke:var(--dim);stroke-width:1}.chart .tip{position:absolute;pointer-events:none;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:12px;white-space:nowrap;box-shadow:0 4px 14px #0006;z-index:2}.chart .legend{display:flex;gap:14px;font-size:12px;color:var(--dim);margin-top:6px}.chart .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px;margin-right:5px}.chart .swatch.win{background:var(--win)}.chart .swatch.loss{background:var(--loss)}.chart .swatch.ref{background:var(--warn);height:2px;vertical-align:3px}.linkish{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;font-size:12px}.analytics .signals{margin:8px 0 24px;padding:14px 16px 6px;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--panel) 60%,transparent)}.analytics .signals h2{font-size:15px;margin:0 0 4px}.analytics .signals .explain{font-size:12.5px;margin:0 0 8px;max-width:80ch}.chart .cumulative{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.chart .cumulative-end{fill:var(--accent)}.chart .legend{list-style:none;padding:0}.chart .legend .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle;background:var(--win)}.chart .legend .swatch.line{height:2px;border-radius:0;background:var(--accent)}.signals-funnel .explain{font-size:12.5px;max-width:90ch;margin:8px 0}.signals-funnel .notes{color:var(--dim);font-size:12.5px;margin:8px 0 12px;padding-left:18px}.signals-funnel .breakdown h3{font-size:13px;color:var(--dim);font-weight:500;margin:0 0 6px}.signals-funnel table.compact td,.signals-funnel table.compact th{padding:4px 8px;font-size:12.5px}.signals-funnel .metric .hint{font-size:11px}.signals-funnel .hint{font-size:11px;display:block}.funnel-rows{display:flex;flex-direction:column;gap:8px}.funnel-row{display:grid;grid-template-columns:220px 1fr 150px;gap:12px;align-items:center}.funnel-label span:first-child{display:block;font-size:13px}.funnel-bar{position:relative;height:24px;background:var(--panel);border:1px solid var(--border);border-radius:3px;overflow:hidden}.funnel-bar>span{display:block;height:100%;background:var(--accent);opacity:.55;border-radius:2px}.funnel-bar b{position:absolute;left:8px;top:2px;font-weight:600}.funnel-bar i{position:absolute;right:8px;top:2px;font-style:normal}.funnel-r{text-align:right;font-size:15px}.funnel-r .hint{text-align:right}table.edge tr.indent td{color:var(--dim)}table.edge tr.indent td:first-child{padding-left:22px}.badge.sent{color:var(--win);border-color:var(--win)}.badge.delayed{color:var(--warn);border-color:var(--warn)}.badge.rejected,.badge.expired{color:var(--loss);border-color:var(--loss)}.badge.untracked,.badge.queued,.badge.suppressed{color:var(--dim)}@media(max-width:720px){.funnel-row{grid-template-columns:1fr;gap:4px}.funnel-r,.funnel-r .hint{text-align:left}}.experiment-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:16px}.experiment-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px}.experiment-filters input,.experiment-filters select{padding:7px;max-width:180px}.experiment-pagination{display:flex;gap:18px;align-items:center;padding:18px 0}.signals details{min-width:90px;max-width:520px;white-space:normal}.signals details p{margin:9px 0}.signals pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.signals summary{cursor:pointer}.ai-review{min-width:220px;max-width:420px}.ai-review .ai-rationale{margin:6px 0;line-height:1.4}.ai-review details{color:var(--dim)}.ai-review summary{cursor:pointer}.ai-review dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px}.ai-review dd{margin:0;overflow-wrap:anywhere}.ai-review pre{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}:root{color-scheme:dark;--bg: #0b101b;--panel: #121b2b;--border: #27354b;--text: #e7edf7;--dim: #9aaac0;--accent: #73baff;--win: #54d5a1;--loss: #ff858b;--warn: #efc276}body{background:radial-gradient(ellipse at 15% 0,#172840 0,transparent 48%),var(--bg);font-size:14px}body,input,select,button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}::selection{background:#294a70}a{color:var(--accent);text-underline-offset:3px}.app{max-width:1600px;padding:28px 36px 56px}.app-header{grid-template-columns:1fr auto;gap:24px;border:0;padding:0}.brand{gap:14px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#81d4ec,#6a9fff);color:#101c30;box-shadow:0 6px 24px #0003}.brand-mark svg{width:27px;height:27px}.brand-copy h1{font-size:22px;letter-spacing:-.7px;font-weight:750}.brand-copy>span{color:var(--dim);font-size:12px}.demo{background:#efc27614;color:var(--warn);border:1px solid #efc27640;border-radius:6px;padding:3px 7px;font-size:10px}.app-header .stats{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.stat{padding:16px 18px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,#162238,#121b2b);gap:6px}.stat .label,.metric .label{letter-spacing:.8px;font-size:10px;font-weight:650}.stat .value{font-size:19px;font-weight:550;font-variant-numeric:tabular-nums}.controls{grid-column:2;grid-row:1;gap:10px}.conn{display:inline-flex;align-items:center;gap:7px;font-size:12px;border-radius:100px;padding:7px 12px;background:#121b2b}.conn:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.conn.live{border-color:#54d5a132;background:#54d5a10a}.conn.offline{border-color:#ff858b45}button{border-radius:8px;padding:9px 14px;font-weight:550;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#1c2a40}button.stop{background:#ff858b0a;border-color:#ff858b45}button.resume{background:#54d5a110;border-color:#54d5a145}:where(button,input,select,summary,a):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tabs{margin:24px 0 0;gap:6px;padding:6px;border:1px solid var(--border);border-radius:12px;background:#111a28;overflow-x:auto}.tabs button{flex:1 0 auto;padding:11px 16px;border-radius:7px;font-size:13px}.tabs button.active{background:#253b57;border-color:#375373;color:#d9edff;box-shadow:0 2px 6px #0002}main{min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 24px}.page-heading h2{color:var(--text);font-size:27px;line-height:1.25;font-weight:650;letter-spacing:-.6px;text-transform:none;margin:5px 0 8px}.page-heading p{margin:0;color:var(--dim);font-size:13px}.page-heading .eyebrow{font-size:9px;font-weight:650;letter-spacing:1.5px;color:var(--accent)}.timezone-label{border:1px solid var(--border);background:var(--panel);padding:8px 12px;border-radius:8px;font-size:12px;white-space:nowrap}.timezone-label span{color:var(--dim);margin-left:8px;font-size:11px}h2{text-transform:none;font-size:17px;color:var(--text);font-weight:600;letter-spacing:-.2px;margin:28px 0 14px}h3{font-size:14px}.table-shell{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#101927;margin:12px 0 22px}table.log{min-width:900px;border-collapse:collapse;margin:0;font-size:12px}table.log th{background:#172235;font-size:10px;font-weight:650;letter-spacing:.65px;padding:13px 16px;color:#a6b7cd}table.log td{padding:14px 16px;border-bottom-color:#24334a70;line-height:1.65}table.log tbody tr:last-child td{border-bottom:0}table.log tbody tr:nth-child(2n){background:#16213630}table.log tr:hover td{background:#73baff08}table.log td:first-child{white-space:nowrap}td.reason,th.reason{min-width:300px;color:#acbbcf}.mono{font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:-.15px}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:650;line-height:1.4;max-width:100%;white-space:normal;overflow-wrap:anywhere}.badge.blocked,.badge.failed,.badge.unfit,.badge.rejected,.badge.expired{background:#ff858b0a;border-color:#ff858b45}.badge.trade,.badge.open,.badge.useful,.badge.sent{background:#54d5a10a;border-color:#54d5a140}.badge.no_trade,.badge.closed{background:#9aaac009;border-color:#9aaac030}.empty{max-width:none;padding:40px 24px;border:1px dashed #35465f;border-radius:12px;background:#121b2b80;text-align:center}.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:20px 0}.metric{border-radius:12px;padding:18px;gap:8px;background:linear-gradient(145deg,#162238,#121b2b);box-shadow:0 4px 16px #0000000c}.metric .value{font-size:23px;font-weight:550;letter-spacing:-.5px}.metric .hint{line-height:1.5}.filters,.experiment-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;padding:18px;background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 0 18px}.filters label,.experiment-filters label{display:flex;flex-direction:column;gap:7px;color:var(--dim);font-size:11px;text-transform:capitalize;flex:1 1 145px;min-width:0}input,select,.breakdown select{color:var(--text);background:#0e1726;border:1px solid #32435c;border-radius:7px;padding:9px 11px;min-height:38px;font-size:12px;font:inherit}.filters input,.filters select,.experiment-filters input,.experiment-filters select{width:100%;max-width:none;font-size:12px}input:hover,select:hover{border-color:#59708e}.filters button{min-height:38px}.breakdown{margin-top:24px}.breakdown table.log{min-width:600px}.breakdown table.log th:not(:first-child),.breakdown table.log td:not(:first-child){text-align:right}.analytics .two-up{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px}.analytics table.compact,.signals-funnel table.compact{min-width:540px}.analytics table.compact td,.analytics table.compact th,.signals-funnel table.compact td,.signals-funnel table.compact th{padding:11px 14px;font-size:12px}figure.equity svg,.chart svg{border-radius:12px;background:#111b2b}.chart,.equity{margin:24px 0}.chart figcaption{margin-bottom:12px;font-size:13px}.chart .legend{flex-wrap:wrap;gap:12px}.chart .tip{border-radius:8px;padding:10px 12px}.models{gap:16px}.model,.readiness,.analytics .signals{border-radius:12px;padding:20px;background:#121b2b}.model header{padding-bottom:14px;flex-wrap:wrap}.model dl{gap:9px 20px}.model dd{overflow-wrap:anywhere}.readiness-head{gap:14px}.banner{border-radius:9px;padding:14px 18px}.ai-review{min-width:230px;max-width:480px}.ai-review summary,.signals summary{color:var(--accent);padding:5px 0;font-size:12px}.ai-review details[open],.signals details[open]{padding:10px 12px;background:#0d1522;border:1px solid var(--border);border-radius:8px;margin-top:8px}.ai-review dl{grid-template-columns:1fr;gap:5px}.ai-review dt{color:var(--dim);font-size:11px}.ai-review dd{margin-bottom:7px;color:var(--text)}.news li{grid-template-columns:170px 1fr;gap:12px 20px;padding:20px;border:1px solid var(--border);border-radius:10px;background:#121b2b;margin-bottom:12px}.news a{font-weight:550}.key-prompt{max-width:480px;border-radius:16px;padding:32px;box-shadow:0 24px 80px #0004}.key-prompt form{margin-top:24px}.experiment-pagination{justify-content:center;font-size:12px}.funnel-row{grid-template-columns:minmax(150px,220px) 1fr 110px}.funnel-bar{border-radius:6px;height:28px}@media(max-width:1000px){.app{padding:22px}.app-header .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.controls{max-width:100%;flex-wrap:wrap;justify-content:end}}@media(max-width:650px){.app{padding:16px 12px 36px}.app-header{grid-template-columns:1fr;gap:18px}.controls{grid-column:1;grid-row:2;justify-content:start}.app-header .stats{grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat{padding:12px}.stat:last-child{grid-column:1 / -1}.tabs{margin-top:18px}.tabs button{padding:9px 12px}.page-heading{align-items:start;flex-direction:column;gap:12px;padding:22px 0}.page-heading h2{font-size:23px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px}.metric .value{font-size:21px}.filters,.experiment-filters{padding:14px;gap:12px}.filters label,.experiment-filters label{flex-basis:calc(50% - 12px)}.filters button{width:100%}.funnel-row{grid-template-columns:1fr}.news li{grid-template-columns:1fr;padding:16px}.news li span.dim:last-child{grid-column:1}.key-prompt{margin:10vh 12px;padding:24px}.key-prompt form{flex-direction:column}}@media(prefers-reduced-motion:reduce){button{transition:none}}.badge{white-space:nowrap;overflow-wrap:normal;max-width:none}.signals .badge.rejected,.signals .badge.expired{white-space:normal;min-width:220px;max-width:480px}.panel{min-width:0;padding:20px;border:1px solid var(--border);border-radius:12px;background:var(--panel);margin-bottom:20px}.panel>h2{margin-top:0}.panel p,.panel li{overflow-wrap:anywhere}.panel details summary{cursor:pointer;color:var(--accent);padding:8px 0}.panel article{min-width:0;margin-top:24px}.model dl{grid-template-columns:auto minmax(0,1fr)}@media(max-width:650px){.panel{padding:14px}}
