:root{color:#1f2933;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--panel:#fff;--line:#d7dde5;--muted:#667085;--strong:#111827;--green:#059669;--teal:#0f766e;--amber:#d97706;--red:#dc2626;--purple:#7c3aed;background:#f3f5f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.app{width:min(1500px,100%);margin:0 auto;padding:24px}.app-header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:700}h1,h2{color:var(--strong);letter-spacing:0;margin:0}h1{font-size:clamp(1.55rem,2.4vw,2.4rem);line-height:1.05}h2{font-size:1rem}.header-actions,.control-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.text-button{color:#1f2937;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-weight:700;display:inline-flex}.text-button:hover{border-color:#94a3b8}.text-button.secondary{width:100%}.data-pill{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:0 11px;font-size:.82rem;font-weight:800;display:inline-flex}.data-pill.live{color:#047857;border-color:#a7f3d0}.data-pill.sample{color:#c2410c;border-color:#fed7aa}.workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;box-shadow:0 10px 26px #0f172a0f}.controls-panel{max-height:calc(100vh - 36px);padding:16px;position:sticky;top:18px;overflow:auto}.panel-title,.group-title{align-items:center;gap:8px;display:flex}.panel-title{justify-content:space-between;margin-bottom:14px}.panel-title svg,.group-title svg{color:var(--teal);flex:none}.control-group{border-top:1px solid #edf0f3;gap:12px;padding:15px 0;display:grid}.group-title{color:#384252;font-size:.92rem;font-weight:800}.control,.toggle-control{color:#344054;gap:8px;font-size:.86rem;font-weight:700;display:grid}.control-line{grid-template-columns:minmax(90px,1fr) 92px;align-items:center;gap:10px;display:grid}input[type=range]{width:100%;accent-color:var(--teal)}.number-box{background:#f8fafc;border:1px solid #cbd5e1;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:34px;display:grid;overflow:hidden}.number-box input{color:#111827;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:7px 4px 7px 8px;font-weight:700}.number-box span{color:var(--muted);padding-right:8px}.toggle-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:34px}.toggle-control input{width:42px;height:22px;accent-color:var(--teal)}.date-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.date-row label{color:#344054;gap:6px;font-size:.84rem;font-weight:700;display:grid}.date-row input{color:#111827;background:#f8fafc;border:1px solid #cbd5e1;border-radius:7px;width:100%;min-height:36px;padding:0 8px}.main-content{gap:18px;min-width:0;display:grid}.metric-grid{grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;min-height:112px;padding:15px;display:grid}.metric-card span,.metric-card small{color:var(--muted);font-size:.82rem;font-weight:700}.metric-card strong{color:var(--strong);font-size:clamp(1.1rem,1.4vw,1.45rem);line-height:1.1}.metric-card.good strong{color:var(--green)}.metric-card.warn strong{color:var(--amber)}.metric-card.bad strong{color:var(--red)}.status-panel{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.status-copy{color:#344054;align-items:center;gap:8px;min-width:0;font-weight:700;display:inline-flex}.status-copy span{overflow-wrap:anywhere}.regime-badge{border-radius:999px;flex:none;padding:7px 11px;font-size:.85rem;font-weight:900}.regime-super,.regime-bull{color:#047857;background:#dcfce7}.regime-pullback{color:#0f766e;background:#ccfbf1}.regime-sideways{color:#b45309;background:#fef3c7}.regime-bear{color:#c2410c;background:#ffedd5}.regime-crash{color:#b91c1c;background:#fee2e2}.regime-reversal-bull{color:#7e22ce;background:#f3e8ff}.regime-reversal-bear{color:#be123c;background:#ffe4e6}.regime-neutral{color:#475467;background:#eef2f7}.signal-strip{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.signal-chip{border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:.8rem;font-weight:900;display:inline-flex}.signal-chip.good{color:#047857;background:#dcfce7}.signal-chip.warn{color:#b45309;background:#fef3c7}.signal-chip.bad{color:#b91c1c;background:#fee2e2}.signal-chip.neutral{color:#475467;background:#eef2f7}.chart-panel,.table-panel{padding:16px}.chart-box{width:100%;height:380px}.chart-tooltip{color:#344054;background:#fffffff5;border:1px solid #cbd5e1;border-radius:8px;gap:4px;min-width:160px;padding:10px 12px;font-size:.82rem;font-weight:700;display:grid;box-shadow:0 12px 28px #0f172a1f}.chart-tooltip strong{color:var(--strong)}.trade-table{gap:2px;display:grid;overflow-x:auto}.trade-row{color:#344054;border-bottom:1px solid #edf0f3;grid-template-columns:1fr .7fr .8fr .7fr .9fr;align-items:center;gap:10px;min-width:560px;padding:10px 12px;font-size:.88rem;font-weight:700;display:grid}.trade-head{color:var(--muted);text-transform:uppercase;font-size:.78rem}.empty-row{color:var(--muted);padding:18px 12px;font-weight:700}.action{text-align:center;text-transform:uppercase;border-radius:999px;width:fit-content;min-width:48px;padding:4px 8px;font-size:.78rem}.action.buy{color:#047857;background:#dcfce7}.action.sell{color:#c2410c;background:#ffedd5}.action.close{color:#b91c1c;background:#fee2e2}@media (width<=1180px){.workspace{grid-template-columns:1fr}.controls-panel{max-height:none;position:static}.metric-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media (width<=720px){.app{padding:14px}.app-header,.status-panel{flex-direction:column;align-items:stretch}.header-actions{justify-content:space-between}.signal-strip{justify-content:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.control-line,.date-row{grid-template-columns:1fr}.chart-box{height:320px}}@media (width<=460px){.metric-grid{grid-template-columns:1fr}}
