:root{--bg: #0a0c10;--panel: #12151b;--panel-raised: #171b22;--hairline: #232833;--hairline-bright: #333a48;--text-primary: #f2f4f8;--text-secondary: #9aa3b2;--text-muted: #666f80;--accent-gain: #34d399;--accent-gain-dim: rgba(52, 211, 153, .12);--accent-loss: #f5695f;--accent-loss-dim: rgba(245, 105, 95, .12);--accent-warn: #f0b93a;--accent-warn-dim: rgba(240, 185, 58, .12);--accent-brand: #5b8cff;--accent-brand-dim: rgba(91, 140, 255, .12);--accent-teal: #2dd4c8;--font-display: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}::selection{background:var(--accent-brand-dim);color:var(--text-primary)}button{font-family:inherit}a{color:var(--accent-brand)}code{font-family:var(--font-mono)}.app-root{min-height:100%}.topnav{position:sticky;top:0;z-index:20;background:#0a0c10d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}.topnav-inner{max-width:1180px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:28px}.topnav-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--accent-brand),var(--accent-teal));color:#06070a;font-family:var(--font-display);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-name{font-family:var(--font-display);font-size:13.5px;font-weight:700;color:var(--text-primary);line-height:1.2}.brand-sub{font-size:10.5px;color:var(--text-muted);line-height:1.2}.topnav-tabs{display:flex;align-items:center;gap:2px;flex:1;overflow-x:auto}.topnav-tab{background:transparent;border:none;color:var(--text-secondary);font-size:13px;font-weight:500;padding:8px 13px;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.topnav-tab:hover{color:var(--text-primary);background:var(--panel-raised)}.topnav-tab.active{color:var(--text-primary);background:var(--panel-raised);box-shadow:inset 0 0 0 1px var(--hairline-bright)}.shell{max-width:1180px;margin:0 auto;padding:32px 24px 72px}.status-note{margin-bottom:20px;padding:10px 14px;border-radius:8px;background:var(--panel-raised);border:1px solid var(--hairline);color:var(--text-secondary);font-size:12.5px}.status-note code{background:#00000040;padding:1px 6px;border-radius:4px;font-size:11.5px}.data-badge{display:inline-block;padding:5px 12px;border-radius:20px;background:var(--panel-raised);border:1px solid var(--hairline);color:var(--text-secondary);font-size:11.5px;font-weight:500}.hero{padding:40px 0 8px}.hero-badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.conn-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.conn-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;border-radius:20px;padding:4px 11px}.conn-pill.on{color:var(--accent-teal);background:#2dd4c81a;border:1px solid rgba(45,212,200,.25)}.conn-pill.off{color:var(--text-muted);background:var(--panel-raised);border:1px solid var(--hairline)}.conn-state{font-weight:500;opacity:.85}.conn-dot{width:6px;height:6px;border-radius:50%}.conn-dot.on{background:var(--accent-teal);animation:live-pulse 1.6s ease-in-out infinite}.conn-dot.off{background:var(--text-muted)}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion: reduce){.conn-dot.on{animation:none}}.broker-status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-secondary)}.hero-date{font-size:12px;color:var(--text-muted)}.hero-title{margin:0;font-family:var(--font-display);font-size:40px;line-height:1.15;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);max-width:820px}.grad-text{background:linear-gradient(90deg,var(--accent-brand),var(--accent-teal) 60%,var(--accent-gain));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin:18px 0 0;font-size:14.5px;line-height:1.6;color:var(--text-secondary);max-width:640px}.hero-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.run-btn{background:var(--accent-brand);color:#05070d;border:1px solid var(--accent-brand);border-radius:7px;padding:10px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .12s ease,transform .08s ease}.run-btn:hover:not(:disabled){filter:brightness(1.12)}.run-btn:active:not(:disabled){transform:scale(.98)}.run-btn:disabled{opacity:.5;cursor:default}.run-btn.secondary{background:transparent;color:var(--text-primary);border-color:var(--hairline-bright)}.run-btn.secondary:hover:not(:disabled){background:var(--panel-raised)}.pnl-grid{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.pnl-card{background:var(--panel);border:1px solid var(--hairline);border-radius:10px;padding:18px 20px}.pnl-value{margin-top:12px;font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:-.01em}.pnl-meta{margin-top:4px;font-size:12.5px;font-weight:500}.pnl-meta-label{color:var(--text-muted);font-weight:400}@media (max-width: 640px){.pnl-grid{grid-template-columns:1fr}}.kpi-grid{margin-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi-card{background:var(--panel);border:1px solid var(--hairline);border-radius:10px;padding:16px 18px}.kpi-head{display:flex;align-items:center;justify-content:space-between}.kpi-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.kpi-icon{color:var(--text-muted);display:flex}.kpi-value{margin-top:10px;font-family:var(--font-mono);font-size:22px;font-weight:500;color:var(--text-primary);letter-spacing:-.01em}.kpi-sep{color:var(--text-muted)}.kpi-meta{margin-top:4px;font-size:11.5px;color:var(--text-muted)}.gain{color:var(--accent-gain)}.loss{color:var(--accent-loss)}.section-head{margin-top:40px;margin-bottom:14px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-title{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-primary)}.section-sub{font-size:12.5px;color:var(--text-muted);line-height:1.5}.status-pill{font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:20px;white-space:nowrap}.status-pill.PROMOTED{background:var(--accent-gain-dim);color:var(--accent-gain)}.status-pill.KEEP,.status-pill.ACTIVE{background:var(--accent-brand-dim);color:var(--accent-brand)}.status-pill.PROBATION{background:var(--accent-warn-dim);color:var(--accent-warn)}.status-pill.FIRED{background:var(--accent-loss-dim);color:var(--accent-loss)}.lb-list{background:var(--panel);border:1px solid var(--hairline);border-radius:10px;overflow:hidden}.lb-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--hairline)}.lb-row:last-child{border-bottom:none}.lb-rank{width:16px;flex-shrink:0;font-family:var(--font-mono);font-size:12px;color:var(--text-muted);text-align:center}.lb-avatar{width:32px;height:32px;border-radius:7px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10.5px;font-weight:700;color:#06070a}.avatar-amber{background:#f0b93a}.avatar-blue{background:#5b8cff}.avatar-purple{background:#b18cff}.avatar-teal{background:#2dd4c8}.avatar-slate{background:#6b7280}.lb-body{flex:1;min-width:0}.lb-name{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-meta{font-size:11.5px;color:var(--text-muted);margin-top:2px}.lb-figures{flex-shrink:0;text-align:right}.lb-value{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.lb-change{font-family:var(--font-mono);font-size:11.5px;margin-top:2px}.arena-list{display:flex;flex-direction:column;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:10px;overflow:hidden}.arena-row{background:var(--panel);display:flex;align-items:center;gap:16px;padding:14px 18px}.arena-verdict{flex:0 0 auto}.arena-pill{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:20px}.arena-pill.passed{background:var(--accent-gain-dim);color:var(--accent-gain)}.arena-pill.declined{background:var(--accent-loss-dim);color:var(--accent-loss)}.arena-body{flex:1;min-width:0}.arena-id{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-primary)}.arena-stats{margin-top:3px;font-size:12px;color:var(--text-secondary)}.org-chart{background:var(--panel);border:1px solid var(--hairline);border-radius:12px;padding:28px 24px 22px}.mp-node{display:block;width:fit-content;margin:0 auto;background:var(--accent-brand-dim);color:var(--accent-brand);border:1px solid rgba(91,140,255,.35);border-radius:7px;padding:8px 20px;font-family:var(--font-display);font-size:12.5px;font-weight:700;letter-spacing:.04em}.org-lines{display:block;width:100%;height:34px}.badge-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.badge{background:var(--panel);border:1px solid var(--hairline);border-radius:10px;padding:16px 16px 14px;transition:border-color .12s ease}.badge:hover{border-color:var(--hairline-bright)}.badge-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.badge-id{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary)}.badge-role{font-size:11.5px;color:var(--text-muted);margin-top:2px}.badge-stats{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;border-top:1px solid var(--hairline);padding-top:14px}.badge-stat-label{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.badge-stat-value{font-family:var(--font-mono);font-size:14px;font-weight:500;margin-top:3px;color:var(--text-primary)}.badge-stat-value.gain{color:var(--accent-gain)}.badge-stat-value.loss{color:var(--accent-loss)}.badge.FIRED{opacity:.55}.badge.FIRED .badge-id{text-decoration:line-through;text-decoration-color:var(--accent-loss)}.badge-permissions{margin-top:12px;padding-top:12px;border-top:1px solid var(--hairline);display:flex;flex-wrap:wrap;gap:5px}.badge-perm-tag{font-family:var(--font-mono);font-size:9.5px;color:var(--text-muted);background:var(--panel-raised);border:1px solid var(--hairline);border-radius:4px;padding:2px 6px;white-space:nowrap}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 900px){.two-col{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.hero-title{font-size:30px}.topnav-tabs{display:none}}.trade-card{background:var(--panel);border:1px solid var(--hairline);border-radius:10px;padding:14px 16px;margin-bottom:10px}.trade-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:12.5px;font-weight:500;color:var(--text-primary)}.trade-pill{font-family:var(--font-mono);font-size:10px;padding:2px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.trade-pill.approved{background:var(--accent-gain-dim);color:var(--accent-gain)}.trade-pill.blocked{background:var(--accent-loss-dim);color:var(--accent-loss)}.trade-thesis{margin-top:8px;font-size:12.5px;color:var(--text-secondary);line-height:1.55}.trade-reason{margin-top:8px;font-size:12px;color:var(--accent-loss);background:var(--accent-loss-dim);border-radius:5px;padding:6px 9px}.log{background:var(--panel);border:1px solid var(--hairline);border-radius:10px;overflow:hidden}.log-row{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-bottom:1px solid var(--hairline);font-size:12.5px}.log-row:last-child{border-bottom:none}.log-ticker{flex:0 0 auto;font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted);width:34px;text-transform:uppercase}.log-text{color:var(--text-secondary);line-height:1.5}.log-text b{color:var(--text-primary);font-weight:600;font-family:var(--font-mono);font-size:12px}.log-row.gain .log-ticker{color:var(--accent-gain)}.log-row.loss .log-ticker{color:var(--accent-loss)}.log-row.warn .log-ticker{color:var(--accent-warn)}.memory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.memory-card{background:var(--panel);border:1px solid var(--hairline);border-left:3px solid var(--accent-gain);border-radius:8px;padding:14px 16px}.memory-card.loss{border-left-color:var(--accent-loss)}.memory-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.memory-tag{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.memory-outcome{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:20px}.memory-outcome.win{background:var(--accent-gain-dim);color:var(--accent-gain)}.memory-outcome.loss{background:var(--accent-loss-dim);color:var(--accent-loss)}.memory-rule{font-size:12.5px;color:var(--text-primary);line-height:1.5}.memory-context{margin-top:10px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted)}.perm-console{background:var(--panel);border:1px solid var(--hairline);border-radius:12px;padding:22px 24px}.perm-matrix-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.perm-matrix{border-collapse:collapse;width:100%;min-width:620px}.perm-role-head{text-align:left;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 10px 12px 0;border-bottom:1px solid var(--hairline)}.perm-col-head{font-size:10.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;padding:0 8px 12px;text-align:center;border-bottom:1px solid var(--hairline);white-space:nowrap}.perm-role-name{font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-primary);padding:12px 10px 12px 0;white-space:nowrap}.perm-cell{text-align:center;padding:12px 8px;border-bottom:1px solid var(--hairline)}.perm-yes{color:var(--accent-gain);font-weight:600;font-size:14px}.perm-no{color:var(--text-muted);opacity:.4;font-size:14px}.perm-row-highlight{background:#5b8cff0f}.perm-row-highlight .perm-role-name{color:var(--accent-brand)}.perm-demo{margin-top:20px;padding-top:18px;border-top:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.perm-demo-copy{flex:1 1 320px;min-width:0}.perm-demo-title{font-family:var(--font-display);font-size:13.5px;font-weight:600;color:var(--text-primary)}.perm-demo-sub{font-size:12.5px;color:var(--text-secondary);line-height:1.55;margin-top:4px;max-width:560px}.perm-demo-sub code{background:var(--panel-raised);border:1px solid var(--hairline);padding:1px 5px;border-radius:4px;color:var(--text-primary);font-size:11.5px}.perm-attempt-btn{flex:0 0 auto;background:transparent;color:var(--accent-loss);border:1px solid var(--accent-loss);border-radius:7px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease}.perm-attempt-btn:hover:not(:disabled){background:var(--accent-loss-dim)}.perm-attempt-btn:disabled{opacity:.5;cursor:default}.perm-result{margin-top:16px;display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:8px}.perm-result.blocked{background:var(--accent-loss-dim);border:1px solid rgba(245,105,95,.3)}.perm-result.allowed{background:var(--accent-warn-dim);border:1px solid rgba(240,185,58,.3)}.perm-result-badge{flex:0 0 auto;font-family:var(--font-mono);font-weight:600;font-size:11px;letter-spacing:.04em;padding:4px 10px;border-radius:5px}.perm-result.blocked .perm-result-badge{background:var(--accent-loss);color:#06070a}.perm-result.allowed .perm-result-badge{background:var(--accent-warn);color:#06070a}.perm-result-body{font-size:12.5px;color:var(--text-primary);line-height:1.5}.perm-result-body code{font-family:var(--font-mono);color:var(--accent-brand);font-size:12px}.perm-result-detail{margin-top:3px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.retirement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.retirement-card{background:var(--panel);border:1px solid var(--hairline);border-left:3px solid var(--text-muted);border-radius:8px;padding:15px 16px}.retirement-head{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.retirement-tag{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.retirement-id{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--text-secondary);text-decoration:line-through;text-decoration-color:var(--accent-loss)}.retirement-lesson{font-size:12.5px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px}.retirement-rule{font-size:12px;color:var(--text-primary);line-height:1.5;padding-top:12px;border-top:1px solid var(--hairline)}.retirement-rule-label{display:block;font-size:10.5px;color:var(--accent-brand);text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px;font-weight:600}.experiment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.experiment-body{margin-top:18px;background:var(--panel);border:1px solid var(--hairline);border-radius:12px;padding:22px 24px}.equity-chart{width:100%;height:160px;display:block}.experiment-legend{display:flex;gap:20px;margin-top:12px;font-size:12.5px;color:var(--text-secondary)}.experiment-legend span{display:inline-flex;align-items:center;gap:7px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%}.dot.brand{background:var(--accent-brand)}.dot.gain{background:var(--accent-gain)}.experiment-table{margin-top:20px;width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12.5px}.experiment-table th{text-align:right;font-family:var(--font-body);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 0 10px;border-bottom:1px solid var(--hairline)}.experiment-table th:first-child{text-align:left}.experiment-table td{text-align:right;padding:10px 0;border-bottom:1px solid var(--hairline);color:var(--text-primary)}.experiment-table td:first-child{text-align:left;font-family:var(--font-body);color:var(--text-secondary)}.experiment-table tr:last-child td{border-bottom:none}.footer-note{margin-top:56px;padding-top:20px;border-top:1px solid var(--hairline);font-size:12px;color:var(--text-muted);text-align:center;line-height:1.6}
