:root{--bg:#070b12;--bg-alt:#0d131d;--bg-elevated:#111a27;--bg-row-hover:#162234;--border:#1d2a3b;--border-bright:#2c4058;--fg:#e8eef7;--fg-dim:#7f90a7;--positive:#3de1a1;--negative:#ff6477;--neutral:#91a0b3;--warning:#f6bd60;--stale:#a57bff;--accent:#5aa7ff;--accent-soft:#5aa7ff1f;--radius:10px;--font-ui:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(circle at 70% -20%, #14243a 0, var(--bg) 42%);color:var(--fg);font-family:var(--font-ui);font-size:13px;line-height:1.4}.tabular-nums{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}table{border-collapse:collapse;width:100%}.app-shell{grid-template-rows:auto 1fr auto;height:100vh;display:grid}.app-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#090e16e0;align-items:center;gap:16px;min-height:58px;padding:8px 18px;display:flex}.app-body{grid-template-columns:220px 1fr;min-height:0;display:grid}.left-rail{border-right:1px solid var(--border);background:#080d159e;padding:14px 10px;overflow-y:auto}.main-area{flex-direction:column;min-width:0;display:flex;overflow:auto}.tabs{border-bottom:1px solid var(--border);gap:4px;padding:8px 12px;display:flex}.tab{color:var(--fg-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:7px 12px;font-family:inherit;font-size:12px}.tab.active{color:#b9dcff;background:var(--accent-soft);border-color:#5aa7ff47}.brand{min-width:192px;color:var(--fg);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:flex}.brand-mark{color:#07101b;background:linear-gradient(135deg,#6ec1ff,#3de1a1);border-radius:9px;place-items:center;width:32px;height:32px;font-weight:900;display:grid;box-shadow:0 0 24px #5aa7ff40}.brand>span:last-child{letter-spacing:.12em;flex-direction:column;display:flex}.brand small{color:var(--fg-dim);letter-spacing:.08em;font-size:9px}.session-connect{color:var(--warning);font:600 11px var(--font-ui);cursor:pointer;background:#f6bd6014;border:1px solid #f6bd6073;border-radius:7px;padding:5px 9px}.session-connect:disabled{opacity:.55;cursor:wait}.auth-error-inline{color:var(--negative);font-size:11px}.connection-badge{align-items:center;gap:6px;font-weight:600;display:flex}.connection-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.connection-dot.open{background:var(--positive)}.connection-dot.connecting,.connection-dot.reconnecting{background:var(--warning);animation:1s ease-in-out infinite pulse}.connection-dot.closed{background:var(--negative)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.quality-tag{border:1px solid var(--border);white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:10px}.quality-tag.GOOD{color:var(--positive)}.quality-tag.PARTIAL{color:var(--warning)}.quality-tag.STALE{color:var(--stale);border-color:var(--stale)}.quality-tag.DEGRADED{color:var(--warning);border-color:var(--warning)}.quality-tag.OFFLINE{color:var(--fg-dim)}.positive{color:var(--positive)}.negative{color:var(--negative)}.neutral{color:var(--neutral)}.warning{color:var(--warning)}.flash{animation:.4s ease-out flash-bg}@keyframes flash-bg{0%{background:#58a6ff59}to{background:0 0}}.scanner-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;display:flex}.chip{background:var(--bg-alt);border:1px solid var(--border);color:var(--fg-dim);cursor:pointer;border-radius:12px;padding:2px 10px;font-family:inherit;font-size:11px}.chip.active{color:var(--bg);background:var(--accent);border-color:var(--accent)}.scanner-row{border-bottom:1px solid var(--border);white-space:nowrap;cursor:pointer;align-items:center;padding:0 8px;display:grid}.scanner-row:hover{background:var(--bg-row-hover)}.scanner-row.stale{opacity:.55}.scanner-header{border-bottom:1px solid var(--border);background:var(--bg-alt);color:var(--fg-dim);z-index:1;align-items:center;padding:0 8px;font-weight:600;display:grid;position:sticky;top:0}.scanner-cell{text-overflow:ellipsis;padding:2px 6px;overflow:hidden}.panel{border:1px solid var(--border);background:var(--bg-alt);padding:8px}.panel h3{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin:0 0 6px;font-size:11px}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;padding:8px;display:grid}.panel-row{border-bottom:1px dashed var(--border);cursor:pointer;justify-content:space-between;gap:8px;padding:3px 0;display:flex}.panel-row:last-child{border-bottom:none}.tape{border-top:1px solid var(--border);background:var(--bg-alt);font-size:11px;overflow-y:auto}.tape-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.tape-line{gap:8px;padding:1px 8px;display:flex}.tape-time{color:var(--fg-dim)}.data-table{font-size:12px}.data-table th{background:var(--bg-alt);color:var(--fg-dim);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 8px;font-weight:600;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:3px 8px}.data-table tbody tr:hover{background:var(--bg-row-hover);cursor:pointer}.data-table tr.cascade{background:#f851491f}.quality-badge{flex-direction:column;gap:2px;display:flex}.quality-badge-row{align-items:center;gap:8px;display:flex}.quality-badge-streams{color:var(--fg-dim);flex-wrap:wrap;gap:6px;font-size:10px;display:flex}.quality-stream.stale{color:var(--stale)}.evidence-list h4{text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin:8px 0 4px;font-size:11px}.evidence-group{margin-bottom:6px}.evidence-group-label{margin-bottom:2px;font-weight:600}.evidence-row{border-left:2px solid var(--border);justify-content:space-between;gap:8px;padding:2px 0 2px 8px;display:flex}.symbol-link{color:var(--accent);cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:0}.today-page{flex-direction:column;gap:8px;padding:8px;display:flex}.today-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.today-header h3{margin:0 0 4px}.paper-reset{border:1px solid var(--negative);color:var(--negative);cursor:pointer;background:0 0;border-radius:7px;padding:7px 12px}.paper-reset:hover:not(:disabled){background:color-mix(in srgb, var(--negative) 12%, transparent)}.paper-reset:disabled{opacity:.55;cursor:wait}.swing-page{flex-direction:column;flex:1;gap:12px;min-height:0;padding:18px;display:flex;overflow:auto}.strategy-hero{border:1px solid var(--border);background:linear-gradient(120deg, #5aa7ff1f, transparent 45%), var(--bg-alt);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.18em;font-size:10px;font-weight:700}.strategy-hero h1{letter-spacing:-.03em;margin:5px 0 4px;font-size:27px}.strategy-hero p{max-width:720px;color:var(--fg-dim);margin:0}.strategy-status{border:1px solid var(--border-bright);background:#070b1299;border-radius:9px;align-items:center;gap:10px;min-width:155px;padding:10px 13px;display:flex}.strategy-status>div{flex-direction:column;display:flex}.strategy-status strong{letter-spacing:.08em;font-size:10px}.strategy-status small{color:var(--fg-dim)}.status-orb{background:var(--warning);width:9px;height:9px;box-shadow:0 0 12px var(--warning);border-radius:50%}.strategy-status.live .status-orb{background:var(--positive);box-shadow:0 0 12px var(--positive)}.strategy-metrics{grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;display:grid}.metric-card,.insight-card,.swing-signals{border:1px solid var(--border);border-radius:var(--radius);background:#0d131ddb;box-shadow:0 10px 30px #0000001f}.metric-card{gap:3px;padding:13px 15px;display:grid}.metric-card span,.metric-card small{color:var(--fg-dim)}.metric-card span{text-transform:uppercase;letter-spacing:.05em;font-size:11px}.metric-card strong{font:600 24px/1.1 var(--font-mono)}.metric-card small{font-size:10px}.swing-insight-grid{grid-template-columns:minmax(280px,.85fr) minmax(380px,1.15fr);gap:10px;display:grid}.insight-card{min-height:190px;padding:14px 16px}.section-title{justify-content:space-between;margin-bottom:12px;display:flex}.section-title span{font-weight:650}.section-title small{color:var(--fg-dim)}.blocker-row{color:var(--neutral);text-transform:capitalize;grid-template-columns:1fr auto;gap:3px 10px;margin:9px 0;font-size:11px;display:grid}.blocker-row strong{font-family:var(--font-mono);color:var(--fg)}.blocker-row>div{background:#192433;border-radius:3px;grid-column:1/-1;height:3px;overflow:hidden}.blocker-row i{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--stale));height:100%;display:block}.near-miss{width:100%;color:var(--fg);border:0;border-top:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;grid-template-columns:1fr auto minmax(150px,.9fr);align-items:center;gap:10px;padding:7px 8px;display:grid}.near-miss:hover{background:var(--bg-row-hover)}.near-miss>span:first-child{flex-direction:column;display:flex}.near-miss small,.near-reason{color:var(--fg-dim);font-size:10px}.near-reason{text-transform:capitalize}.near-score{font:600 15px var(--font-mono);color:var(--warning)}.empty-copy{color:var(--fg-dim);font-size:12px}.swing-signals{min-height:240px;overflow:hidden}.swing-table-scroll{max-height:360px;overflow:auto}.swing-table-scroll>.scanner-header,.swing-table-scroll>.scanner-row{min-width:1230px}.swing-position-row{min-height:42px}.swing-plan-cell{flex-direction:column;justify-content:center;line-height:1.15;display:flex}.swing-plan-cell strong{font-weight:650}.swing-plan-cell small{color:var(--fg-dim);margin-top:2px;font-size:9px}.position-state{border:1px solid var(--border);letter-spacing:.04em;border-radius:5px;padding:2px 6px;font-size:9px;font-style:normal;display:inline-block}.position-state.open{color:var(--positive);border-color:color-mix(in srgb, var(--positive) 45%, var(--border));background:color-mix(in srgb, var(--positive) 8%, transparent)}.position-state.waiting{color:var(--fg-dim)}.empty-state{color:var(--fg-dim);text-align:center;flex-direction:column;align-items:center;gap:5px;padding:34px;display:flex}.empty-state strong{color:var(--fg);font-size:14px}.panel{border-radius:var(--radius);background:#0d131dd1}.scanner-row{min-height:29px}.chip{border-radius:7px;padding:4px 10px}@media (width<=950px){.app-body{grid-template-columns:1fr}.left-rail{display:none}.brand{min-width:0}.brand>span:last-child{display:none}.strategy-metrics{grid-template-columns:repeat(2,1fr)}.swing-insight-grid{grid-template-columns:1fr}}@media (width<=600px){.swing-page{padding:10px}.strategy-hero{flex-direction:column;align-items:flex-start}.strategy-metrics{grid-template-columns:1fr 1fr}.near-miss{grid-template-columns:1fr auto}.near-reason{display:none}}.today-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.today-summary .panel{flex-direction:column;gap:8px;display:flex}.today-metric{font-size:24px;font-weight:700}.today-results{max-height:70vh;overflow-y:auto}.today-result{grid-template-columns:1fr 1fr 1.5fr auto;gap:12px;display:grid}.today-risk-result{flex-direction:column;align-items:flex-end;gap:2px;display:flex}@media (width<=750px){.today-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.today-result{grid-template-columns:1fr 1fr}}.today-columns{grid-template-columns:1fr 1.2fr 1fr;align-items:start;gap:8px;display:grid}.today-column{min-width:0;max-height:80vh;overflow-y:auto}.today-section{margin-top:8px}.today-card{border-bottom:1px solid var(--border);padding:6px 0}.today-card.state-live.selected{background:var(--bg-row-hover)}.today-card.state-expired{opacity:.45;cursor:pointer}.state-paper{background-image:repeating-linear-gradient(45deg,#0000,#0000 6px,#58a6ff14 6px 12px)}.today-paper-note{color:var(--neutral);margin-bottom:4px;padding:4px 8px;font-style:italic}.state-manual{background:var(--bg-row-hover)}
