:root{--bg:#0d1117;--bg-card:#161b22;--bg-hover:#1c2333;--border:#30363d;--text:#c9d1d9;--text-dim:#8b949e;--text-bright:#f0f6fc;--yes-color:#3b82f6;--yes-bg:#1e3a5f;--no-color:#f97316;--no-bg:#5c3a1a;--green:#22c55e;--red:#ef4444;--purple:#a855f7;--yellow:#eab308;--radius:8px;--radius-lg:12px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.app{max-width:1400px;min-height:100vh;margin:0 auto;padding:16px 20px}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;display:flex}.header-left{align-items:baseline;gap:12px;display:flex}.app-header h1{color:var(--text-bright);font-size:22px;font-weight:700}.subtitle{color:var(--text-dim);font-size:13px}.view-toggle{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);gap:2px;padding:2px;display:flex}.view-btn{color:var(--text-dim);background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;transition:all .15s}.view-btn.active{background:var(--bg-hover);color:var(--text-bright)}.engine-controls{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.control-group{align-items:center;gap:6px;display:flex}.control-group label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.preset-select,.sim-select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:13px}.ctrl-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);white-space:nowrap;border-radius:6px;padding:5px 12px;font-size:13px;transition:all .15s}.ctrl-btn:hover{background:var(--bg-hover);border-color:var(--text-dim)}.ctrl-btn.active{background:var(--purple);color:#fff;border-color:var(--purple)}.ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.step-btn{border-color:var(--yellow);color:var(--yellow)}.resolve-yes{border-color:var(--yes-color);color:var(--yes-color)}.resolve-no{border-color:var(--no-color);color:var(--no-color)}.epoch-controls{border-top:1px solid var(--border);width:100%;padding-top:8px}.epoch-info{color:var(--text-dim);font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.resolved-banner{border-radius:var(--radius);text-align:center;margin-bottom:16px;padding:10px 16px;font-size:14px;font-weight:600}.resolved-yes{background:var(--yes-bg);color:var(--yes-color);border:1px solid var(--yes-color)}.resolved-no{background:var(--no-bg);color:var(--no-color);border:1px solid var(--no-color)}.main-area{margin-bottom:16px}.market-section{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}.odds-bar-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.odds-bar-warning{color:var(--yellow);background:#eab30826;border-radius:6px;margin-bottom:12px;padding:6px 12px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.odds-bar{border-radius:var(--radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;height:64px;display:flex;position:relative;overflow:hidden}.odds-segment{justify-content:center;align-items:center;transition:width .4s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.odds-yes{background:var(--yes-color)}.odds-no{background:var(--no-color)}.odds-segment.selected{box-shadow:inset 0 0 0 3px #fff6}.odds-segment:hover{filter:brightness(1.1)}.odds-label{color:#fff;text-shadow:0 1px 3px #0000004d;white-space:nowrap;font-size:16px;font-weight:700}.odds-needle{background:var(--text-bright);z-index:2;width:3px;transition:left .4s cubic-bezier(.4,0,.2,1);position:absolute;top:0;bottom:0;transform:translate(-50%);box-shadow:0 0 8px #ffffff80}.preview-needle{width:2px;animation:1.5s ease-in-out infinite pulse}.preview-needle.yes-preview{background:#3b82f6cc;box-shadow:0 0 8px #3b82f680}.preview-needle.no-preview{background:#f97316cc;box-shadow:0 0 8px #f9731680}.odds-preview-overlay{z-index:1;transition:left .3s,width .3s;position:absolute;top:0;bottom:0}.odds-preview-overlay.yes-overlay{background:#3b82f626}.odds-preview-overlay.no-overlay{background:#f9731626}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.odds-bar-labels{justify-content:space-between;margin-top:10px;padding:0 4px;display:flex}.odds-bar-label{font-size:13px;font-weight:600}.yes-label{color:var(--yes-color)}.no-label{color:var(--no-color)}.preview-label{color:var(--text-dim);font-style:italic}.trade-ticket{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.trade-ticket-header{color:var(--text-bright);margin-bottom:12px;font-size:14px;font-weight:700}.side-selector{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;display:grid}.side-btn{border:2px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:10px;font-size:15px;font-weight:700;transition:all .15s}.side-btn.yes-btn{color:var(--yes-color)}.side-btn.no-btn{color:var(--no-color)}.side-btn.yes-btn.active{background:var(--yes-bg);border-color:var(--yes-color)}.side-btn.no-btn.active{background:var(--no-bg);border-color:var(--no-color)}.amount-input-group{margin-bottom:12px}.amount-input-group label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.amount-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-bright);border-radius:6px;margin-bottom:8px;padding:8px 12px;font-size:18px;font-weight:600}.amount-input:focus{border-color:var(--yes-color);outline:none}.quick-amounts{flex-wrap:wrap;gap:4px;display:flex}.quick-amount-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);border-radius:4px;padding:4px 10px;font-size:12px;transition:all .15s}.quick-amount-btn:hover{background:var(--bg-hover);color:var(--text)}.trade-preview{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);margin:12px 0;padding:10px 12px}.preview-row{justify-content:space-between;padding:3px 0;font-size:13px;display:flex}.preview-row.dim{color:var(--text-dim);font-size:12px}.preview-row.highlight{color:var(--text-bright);font-weight:600}.preview-value{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px}.preview-value.positive{color:var(--green)}.preview-value.negative{color:var(--red)}.preview-divider{background:var(--border);height:1px;margin:6px 0}.trade-execute-btn{border-radius:var(--radius);color:#fff;border:none;width:100%;padding:12px;font-size:15px;font-weight:700;transition:all .15s}.trade-execute-btn.yes-btn{background:var(--yes-color)}.trade-execute-btn.no-btn{background:var(--no-color)}.trade-execute-btn:hover{filter:brightness(1.1)}.trade-execute-btn:disabled{opacity:.4;cursor:not-allowed}.debug-area{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.debug-tabs{border-bottom:1px solid var(--border);display:flex}.debug-tab{color:var(--text-dim);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:13px;font-weight:600;transition:all .15s}.debug-tab.active{color:var(--text-bright);border-bottom-color:var(--yes-color)}.debug-tab:hover{color:var(--text)}.debug-content{padding:16px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-header h3{color:var(--text-bright);font-size:15px;font-weight:700}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.badge-reference{color:#60a5fa;background:#1e3a5f}.badge-comparison{color:#fbbf24;background:#3b2e1a}.badge-experimental{color:#e879f9;background:#3b1a3b}.badge-final-candidate{color:#34d399;background:#1a3b2e}.badge-academic{color:#93c5fd;background:#1a2a3b}.state-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.state-item{background:var(--bg);border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.state-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.state-value{color:var(--text-bright);font-size:14px;font-weight:600}.state-value.warning{color:var(--yellow)}.mono{font-family:SF Mono,Monaco,Consolas,monospace}.raw-state-details{margin-top:12px}.raw-state-details summary{color:var(--text-dim);cursor:pointer;margin-bottom:8px;font-size:12px}.raw-state{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;display:grid}.raw-state .state-value{word-break:break-all;font-size:12px}.trade-count{color:var(--text-dim);font-size:12px}.empty-state{text-align:center;color:var(--text-dim);padding:24px;font-size:14px}.trade-log-scroll{max-height:400px;overflow-y:auto}.trade-log-table{border-collapse:collapse;width:100%;font-size:12px}.trade-log-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:var(--bg-card);padding:6px 8px;font-size:10px;font-weight:600;position:sticky;top:0}.trade-log-table td{border-bottom:1px solid #30363d80;padding:5px 8px}.trade-row:hover{background:var(--bg-hover)}.dim{color:var(--text-dim)}.side-badge{border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.side-badge.yes{background:var(--yes-bg);color:var(--yes-color)}.side-badge.no{background:var(--no-bg);color:var(--no-color)}.charts-grid{flex-direction:column;gap:20px;display:flex}.chart-container h4{color:var(--text-dim);margin-bottom:8px;font-size:13px;font-weight:600}.compare-global-bar{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.global-section,.trade-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:300px;padding:14px 16px;display:flex}.global-title{width:100%;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.trade-amount-row{align-items:center;gap:8px;width:100%;display:flex}.trade-amount-input{background:var(--bg);width:80px;color:var(--text-bright);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:16px;font-weight:600}.trade-amount-input:focus{border-color:var(--yes-color);outline:none}.trade-buttons{gap:6px;width:100%;display:flex}.trade-btn{border-radius:var(--radius);color:#fff;cursor:pointer;border:none;flex:1;padding:10px 16px;font-size:14px;font-weight:700;transition:all .15s}.trade-btn.yes{background:var(--yes-color)}.trade-btn.no{background:var(--no-color)}.trade-btn:hover{filter:brightness(1.1)}.trade-btn:disabled{opacity:.4;cursor:not-allowed}.compare-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.compare-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.compare-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.compare-card-actions{align-items:center;gap:6px;display:flex}.reset-one-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;border-radius:4px;padding:3px 10px;font-size:11px;transition:all .15s}.reset-one-btn:hover{border-color:var(--text-dim);color:var(--text)}.compare-name{color:var(--text-bright);font-size:14px;font-weight:700}.compare-config{background:var(--bg);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;display:flex}.compare-config .config-row{gap:4px}.compare-config .config-row label{min-width:50px;font-size:11px}.compare-config .config-row input,.compare-config .config-row select{width:80px;padding:3px 6px;font-size:12px}.config-apply-btn.compact{padding:4px 12px;font-size:12px}.compare-stats-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:6px;margin-top:10px;display:grid}.compare-stat{background:var(--bg);border-radius:4px;flex-direction:column;gap:1px;padding:4px 6px;display:flex}.compare-stat.highlight{background:var(--bg-hover);border:1px solid var(--border)}.epoch-progress-row{flex:100%}.epoch-progress{background:var(--bg);border:1px solid var(--border);border-radius:4px;flex:1;height:18px;position:relative;overflow:hidden}.epoch-progress-bar{background:var(--green);opacity:.3;border-radius:3px;height:100%;transition:width .3s;position:absolute;top:0;left:0}.epoch-progress-text{z-index:1;height:100%;color:var(--text-dim);justify-content:center;align-items:center;font-family:SF Mono,Monaco,Consolas,monospace;font-size:10px;display:flex;position:relative}.compare-stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.compare-stat-value{color:var(--text-bright);font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;font-weight:600}.sim-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:10px;min-width:200px;padding:14px 16px;display:flex}.sim-select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:13px}.sim-btn{width:100%;background:var(--bg)!important;color:var(--text)!important;border:1px solid var(--border)!important}.sim-btn:hover{background:var(--bg-hover)!important}.sim-btn.active{background:var(--purple)!important;color:#fff!important;border-color:var(--purple)!important}.compare-card.expanded{grid-column:1/-1}.expand-btn{border:1px dashed var(--border);width:100%;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:5px;font-size:12px;transition:all .15s}.expand-btn:hover{border-color:var(--text-dim);color:var(--text)}.card-details{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.detail-tabs{gap:2px;margin-bottom:12px;display:flex}.detail-tab{background:var(--bg);color:var(--text-dim);cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.detail-tab.active{background:var(--bg-hover);color:var(--text-bright)}.preview-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.preview-col{background:var(--bg);border-radius:var(--radius);border:1px solid var(--border);padding:10px 12px}.preview-col.yes-border{border-left:3px solid var(--yes-color)}.preview-col.no-border{border-left:3px solid var(--no-color)}.preview-col-header{color:var(--text-bright);margin-bottom:8px;font-size:13px;font-weight:700}.preview-panel .preview-row{color:var(--text);justify-content:space-between;padding:2px 0;font-size:12px;display:flex}.preview-panel .preview-row.dim{color:var(--text-dim)}.preview-panel .preview-row.highlight{color:var(--text-bright);font-weight:600}.positive{color:var(--green)}.negative{color:var(--red)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.config-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.config-row{align-items:center;gap:8px;display:flex}.config-row label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;min-width:90px;font-size:12px;font-weight:600}.config-row input,.config-row select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;flex:1;padding:5px 8px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px}.config-row input:focus,.config-row select:focus{border-color:var(--yes-color);outline:none}.config-hint{color:var(--text-dim);min-width:40px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.config-apply-btn{background:var(--yes-color);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;margin-top:4px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.config-apply-btn:hover{filter:brightness(1.1)}@media (width<=700px){.market-section{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:flex-start;gap:8px}.header-left{flex-direction:column;gap:2px}.engine-controls{flex-direction:column;align-items:flex-start}.compare-grid{grid-template-columns:1fr}}
