html{--glow-c1: rgba(255, 210, 90, .95);--glow-c2: rgba(255, 110, 70, .7);--glow-c3: rgba(255, 70, 160, .55);--glow-c4: rgba(80, 170, 255, .7);--glow-w1: rgba(255, 210, 90, .72);--glow-w2: rgba(255, 110, 70, .5);--glow-w3: rgba(255, 70, 160, .42);--glow-w4: rgba(80, 170, 255, .55);--glow-r1: rgba(255, 210, 90, .55);--glow-r2: rgba(255, 110, 70, .4);--glow-r3: rgba(255, 70, 160, .32);--glow-r4: rgba(80, 170, 255, .48);--glow-edge: #50aaff;--glow-edge-accent: #ff6eb0}html[data-cursor-glow-style=ocean]{--glow-c1: rgba(120, 240, 255, .95);--glow-c2: rgba(56, 189, 248, .75);--glow-c3: rgba(59, 130, 246, .6);--glow-c4: rgba(99, 102, 241, .7);--glow-w1: rgba(120, 240, 255, .7);--glow-w2: rgba(56, 189, 248, .5);--glow-w3: rgba(59, 130, 246, .4);--glow-w4: rgba(99, 102, 241, .5);--glow-r1: rgba(120, 240, 255, .5);--glow-r2: rgba(56, 189, 248, .38);--glow-r3: rgba(59, 130, 246, .3);--glow-r4: rgba(99, 102, 241, .42);--glow-edge: #38bdf8;--glow-edge-accent: #6366f1}html[data-cursor-glow-style=ember]{--glow-c1: rgba(255, 236, 150, .95);--glow-c2: rgba(251, 146, 60, .8);--glow-c3: rgba(239, 68, 68, .65);--glow-c4: rgba(190, 24, 93, .7);--glow-w1: rgba(255, 236, 150, .7);--glow-w2: rgba(251, 146, 60, .55);--glow-w3: rgba(239, 68, 68, .42);--glow-w4: rgba(190, 24, 93, .5);--glow-r1: rgba(255, 236, 150, .5);--glow-r2: rgba(251, 146, 60, .4);--glow-r3: rgba(239, 68, 68, .32);--glow-r4: rgba(190, 24, 93, .42);--glow-edge: #fb923c;--glow-edge-accent: #ef4444}html[data-cursor-glow-style=aurora]{--glow-c1: rgba(167, 243, 208, .95);--glow-c2: rgba(52, 211, 153, .75);--glow-c3: rgba(34, 211, 238, .6);--glow-c4: rgba(167, 139, 250, .7);--glow-w1: rgba(167, 243, 208, .7);--glow-w2: rgba(52, 211, 153, .5);--glow-w3: rgba(34, 211, 238, .4);--glow-w4: rgba(167, 139, 250, .5);--glow-r1: rgba(167, 243, 208, .5);--glow-r2: rgba(52, 211, 153, .38);--glow-r3: rgba(34, 211, 238, .3);--glow-r4: rgba(167, 139, 250, .42);--glow-edge: #34d399;--glow-edge-accent: #a78bfa}html[data-cursor-glow-style=violet]{--glow-c1: rgba(245, 208, 254, .95);--glow-c2: rgba(232, 121, 249, .75);--glow-c3: rgba(168, 85, 247, .6);--glow-c4: rgba(99, 102, 241, .7);--glow-w1: rgba(245, 208, 254, .7);--glow-w2: rgba(232, 121, 249, .5);--glow-w3: rgba(168, 85, 247, .4);--glow-w4: rgba(99, 102, 241, .5);--glow-r1: rgba(245, 208, 254, .5);--glow-r2: rgba(232, 121, 249, .38);--glow-r3: rgba(168, 85, 247, .3);--glow-r4: rgba(99, 102, 241, .42);--glow-edge: #e879f9;--glow-edge-accent: #a855f7}html[data-cursor-glow-style=mono]{--glow-c1: rgba(255, 255, 255, .95);--glow-c2: rgba(229, 231, 235, .75);--glow-c3: rgba(156, 163, 175, .6);--glow-c4: rgba(107, 114, 128, .7);--glow-w1: rgba(255, 255, 255, .7);--glow-w2: rgba(229, 231, 235, .5);--glow-w3: rgba(156, 163, 175, .4);--glow-w4: rgba(107, 114, 128, .5);--glow-r1: rgba(255, 255, 255, .5);--glow-r2: rgba(229, 231, 235, .38);--glow-r3: rgba(156, 163, 175, .3);--glow-r4: rgba(107, 114, 128, .42);--glow-edge: #e5e7eb;--glow-edge-accent: #9ca3af}.cursor-glow{--glow-x: 50%;--glow-y: 50%;--glow-size: 420px;--glow-border: radial-gradient( var(--glow-size) circle at var(--glow-x) var(--glow-y), var(--glow-c1) 0%, var(--glow-c2) 18%, var(--glow-c3) 32%, var(--glow-c4) 48%, transparent 62% );--glow-wash: radial-gradient( var(--glow-size) circle at var(--glow-x) var(--glow-y), var(--glow-w1) 0%, var(--glow-w2) 16%, var(--glow-w3) 30%, var(--glow-w4) 46%, transparent 64% );position:relative;isolation:isolate}.cursor-glow:before,.cursor-glow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:2;background:var(--glow-border);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s ease}.cursor-glow:after{top:-2px;right:-2px;bottom:-2px;left:-2px;padding:3px;filter:blur(12px);z-index:1}.cursor-glow.is-glowing:before{opacity:.95}.cursor-glow.is-glowing:after{opacity:.55}.cursor-glow.is-idle-glow:before,.cursor-glow.is-idle-glow:after,.cursor-glow.is-idle-glow>.cursor-glow-wash{transition:opacity .7s ease}.cursor-glow-row.is-idle-glow>td,.cursor-glow-row.is-idle-glow>th{transition:box-shadow .45s ease}.cursor-glow-wash{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;z-index:5;background:var(--glow-wash);mix-blend-mode:soft-light;opacity:0;transition:opacity .35s ease}.cursor-glow.is-glowing>.cursor-glow-wash{opacity:.95}html[data-theme=light] .cursor-glow-wash{mix-blend-mode:multiply}html[data-theme=light] .cursor-glow.is-glowing>.cursor-glow-wash{opacity:.55}.cursor-glow.is-glowing svg{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--glow-edge) 45%,transparent))}.cursor-glow.is-glowing img{filter:saturate(1.3) brightness(1.06)}.cursor-glow>*:not(.print-queue-badge):not(.cursor-glow-wash){position:relative;z-index:3}.cursor-glow>.print-queue-badge{z-index:6}.cursor-input-glow{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;border-radius:.85rem;background:var(--panel, rgba(255, 255, 255, .04))}.cursor-input-glow textarea{border-color:transparent!important;background:transparent!important;position:relative;z-index:3}.cursor-app.is-empty .cursor-input-glow{flex:1 1 auto;border-radius:1rem;min-height:0}.cursor-app.is-empty .cursor-input-glow textarea{border-radius:1rem}.cursor-msg.cursor-glow{overflow:visible}.cursor-msg.cursor-glow>.cursor-msg-body{position:relative;z-index:3}.cursor-conv-item.cursor-glow{overflow:hidden}.cursor-conv-item.cursor-glow>.cursor-conv-open,.cursor-conv-item.cursor-glow>.cursor-conv-delete{position:relative;z-index:3}.msg-stat.cursor-glow,.msg-bubble.cursor-glow,.msg-acc-btn.cursor-glow,.msg-action-btn.cursor-glow{overflow:visible}.msg-list-item.cursor-glow{border-radius:8px}.msg-bubble.cursor-glow>.msg-bubble-body,.msg-bubble.cursor-glow>.msg-bubble-meta,.msg-bubble.cursor-glow>.msg-bubble-translation,.msg-bubble.cursor-glow>.msg-attachments{position:relative;z-index:3}.msg-attachment.cursor-glow{border-radius:10px}.cursor-glow-row{position:static;isolation:auto;overflow:visible}.cursor-glow-row:before,.cursor-glow-row:after{content:none;display:none}.cursor-glow-row>.cursor-glow-wash{display:none}.cursor-glow-row>*:not(.print-queue-badge):not(.cursor-glow-wash){position:static;z-index:auto}.cursor-glow-row.is-glowing>td,.cursor-glow-row.is-glowing>th{background-image:radial-gradient(var(--glow-size) circle at calc(var(--glow-x) - var(--cell-x, 0px)) calc(var(--glow-y) - var(--cell-y, 0px)),var(--glow-r1) 0%,var(--glow-r2) 16%,var(--glow-r3) 30%,var(--glow-r4) 46%,transparent 64%)!important;background-repeat:no-repeat!important;background-blend-mode:soft-light;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--glow-edge) 40%,transparent)}html[data-theme=light] .cursor-glow-row.is-glowing>td,html[data-theme=light] .cursor-glow-row.is-glowing>th{background-blend-mode:multiply}html[data-theme=dark] .overview-page .cursor-glow-row.is-glowing>td,html[data-theme=dark] .overview-page .cursor-glow-row.is-glowing>th{background-blend-mode:normal;background-image:radial-gradient(var(--glow-size) circle at calc(var(--glow-x) - var(--cell-x, 0px)) calc(var(--glow-y) - var(--cell-y, 0px)),color-mix(in srgb,var(--glow-r1) 75%,transparent) 0%,color-mix(in srgb,var(--glow-r2) 75%,transparent) 16%,color-mix(in srgb,var(--glow-r3) 75%,transparent) 30%,color-mix(in srgb,var(--glow-r4) 75%,transparent) 46%,transparent 64%)!important}.cursor-glow-row.is-glowing>td:first-child{box-shadow:inset 2px 0 color-mix(in srgb,var(--glow-edge-accent) 55%,var(--glow-edge)),inset 0 0 0 1px color-mix(in srgb,var(--glow-edge) 40%,transparent)}.ship-card.cursor-glow{border-radius:8px}.inv-heat-cell.cursor-glow{position:absolute;border-radius:6px}.sl-status-seg.cursor-glow,.inventory-tab.cursor-glow,.view-btn.cursor-glow{border-radius:inherit}@media(hover:none),(pointer:coarse){.cursor-glow:before,.cursor-glow:after,.cursor-glow-wash{display:none}.cursor-glow-row.is-glowing>td,.cursor-glow-row.is-glowing>th{background-image:none!important;box-shadow:none}}@media(prefers-reduced-motion:reduce){.cursor-glow:before,.cursor-glow:after,.cursor-glow-wash{transition:none;display:none}.cursor-glow-row.is-glowing>td,.cursor-glow-row.is-glowing>th{background-image:none!important;box-shadow:none}}html[data-cursor-glow=off] .cursor-glow:before,html[data-cursor-glow=off] .cursor-glow:after,html[data-cursor-glow=off] .cursor-glow-wash{display:none!important;opacity:0!important}html[data-cursor-glow=off] .cursor-glow.is-glowing svg,html[data-cursor-glow=off] .cursor-glow.is-glowing img{filter:none}html[data-cursor-glow=off] .cursor-glow-row.is-glowing>td,html[data-cursor-glow=off] .cursor-glow-row.is-glowing>th{background-image:none!important;box-shadow:none!important}body.report-exporting .cursor-glow:before,body.report-exporting .cursor-glow:after,body.report-exporting .cursor-glow-wash{display:none!important;opacity:0!important}body.report-exporting .cursor-glow.is-glowing svg,body.report-exporting .cursor-glow.is-glowing img{filter:none}body.report-exporting .cursor-glow-row.is-glowing>td,body.report-exporting .cursor-glow-row.is-glowing>th{background-image:none!important;box-shadow:none!important}:root,[data-theme=midnight]{--bg: #0e1116;--panel: #161b22;--line: #2b3340;--text: #e6edf3;--muted: #8b98a5;--accent: #3d8bfd;--up: #3fb950;--down: #f85149;--atm: #d4a72c;--input-bg: #0e1116;font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit;color:inherit;background:var(--input-bg);border:1px solid var(--line);border-radius:4px;padding:6px 8px}button{cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}a{color:var(--accent)}.app{display:flex;flex-direction:column;height:100%}.app-main{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-nav-bar{display:flex;align-items:center;gap:8px;padding:3px 8px;border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}.app-nav-brand{font-weight:700;letter-spacing:.08em;font-size:11px;color:var(--muted)}.app-nav-bar .topnav{margin-left:auto;gap:4px}.terminal-root{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;overflow:hidden}.terminal-header{border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}.terminal-header-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:3px 8px;min-height:0}.terminal-header .topbar-brand{flex-shrink:0;gap:6px;justify-self:start}.terminal-header .topbar-status{flex:0 0 auto;gap:6px;justify-self:end}.terminal-header .metric-row{flex:0 0 auto;justify-content:center;gap:4px;flex-wrap:nowrap;min-width:0;justify-self:center}.terminal-header .metric-tile{padding:2px 6px;min-width:0;gap:4px;border-radius:6px;border-left-width:2px}.terminal-header .metric-icon{font-size:11px;width:12px}.terminal-header .metric-label{font-size:8px;letter-spacing:.04em}.terminal-header .metric-value{font-size:11px}.topbar-brand{display:flex;align-items:center;gap:8px}.topbar .sym{font-weight:700;letter-spacing:.04em;font-size:13px}.sym-select{padding:2px 4px;font-size:11px}.topbar .stat{color:var(--muted);font-size:13px}.topbar .stat b{color:var(--text);font-weight:600}.topbar-meta{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.topbar-status{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;flex:0 0 auto}.topbar-event-chip{font-size:9px;padding:1px 6px}.topbar nav,.topnav{display:flex;gap:4px;font-size:12px;align-items:center}.topnav{margin-left:0}.nav-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--muted);text-decoration:none;transition:color .15s,border-color .15s,background .15s}.nav-icon-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.nav-icon-btn.active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.nav-icon-svg{width:15px;height:15px;display:block}.topnav button.nav-icon-btn{font:inherit}.metric-row{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}.metric-tile{display:flex;align-items:center;gap:8px;padding:6px 10px;min-width:88px;background:var(--bg);border:1px solid var(--line);border-radius:8px;border-left-width:3px;border-left-color:var(--line)}.metric-tile.tone-accent{border-left-color:var(--accent)}.metric-tile.tone-up{border-left-color:var(--up)}.metric-tile.tone-down{border-left-color:var(--down)}.metric-tile.tone-warn{border-left-color:var(--atm)}.metric-tile.tone-heat{border-left-color:#d4a72c}.metric-icon{font-size:14px;opacity:.85;width:18px;text-align:center}.metric-body{display:flex;flex-direction:column;gap:1px;min-width:0}.metric-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.metric-value{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.metric-tile.tone-up .metric-value{color:var(--up)}.metric-tile.tone-down .metric-value{color:var(--down)}.metric-tile.tone-accent .metric-value{color:var(--accent)}.metric-tile.tone-warn .metric-value{color:var(--atm)}.session-bar-wrap{padding:4px 8px 3px;background:var(--panel);border-bottom:1px solid var(--line);overflow:visible}.session-bar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.session-bar-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;flex-wrap:wrap}.session-date{font-size:12px;font-weight:600;color:var(--text);padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg)}.session-time{color:var(--accent)}.mode-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--line);background:var(--bg);white-space:nowrap}.mode-badge.live,.mode-badge.live-open{border-color:var(--up);color:var(--up)}.mode-badge.live-closed{border-color:var(--muted);color:var(--muted)}.mode-badge.discovery{border-color:var(--atm);color:var(--atm);cursor:pointer}.mode-badge.discovery:hover{background:color-mix(in srgb,var(--atm) 12%,var(--bg))}.mode-dot{width:5px;height:5px;border-radius:50%;background:var(--up);animation:live-pulse 1.6s ease-in-out infinite}.mode-dot-muted{background:var(--muted);animation:none;opacity:.85}.mode-dot-playback{background:var(--atm);animation:live-pulse 1.2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 color-mix(in srgb,var(--up) 50%,transparent)}50%{opacity:.65;box-shadow:0 0 0 4px transparent}}.session-bar-modes{display:flex;gap:4px}.session-mode{padding:2px 8px;font-size:10px;font-weight:600;letter-spacing:.05em;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.session-mode.active{background:var(--accent);border-color:var(--accent);color:#fff}.session-bar-track-outer{position:relative;padding-top:18px}.session-bar-track{position:relative;height:24px;border-radius:5px;overflow:hidden;background:var(--bg);border:1px solid var(--line)}.session-playhead{position:absolute;top:0;height:42px;transform:translate(-50%);z-index:4;pointer-events:none;display:flex;flex-direction:column;align-items:center}.session-playhead-time{display:inline-flex;align-items:baseline;gap:5px;font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:0 5px;white-space:nowrap;margin-bottom:2px}.session-playhead-clock{font-size:10px}.session-remain{font-size:8px;font-weight:600;letter-spacing:.02em;color:var(--muted)}.session-remain-close{color:var(--atm)}.session-playhead.playing .session-playhead-time{border-color:var(--accent);color:var(--accent)}.session-playhead-tip{display:block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid var(--accent)}.session-playhead-line{width:2px;flex:1;border-radius:1px;background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 40%,transparent)}.session-event-chip{font-size:10px;padding:2px 8px}.session-event-mark{position:absolute;top:0;bottom:0;transform:translate(-50%);z-index:3;border:none;background:transparent;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;min-width:0}.session-event-mark-line{width:2px;flex:1;opacity:.95}.session-event-mark-label{font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:var(--panel);border:1px solid currentColor;border-radius:3px;padding:1px 4px;margin-bottom:2px}.session-foot-hint{color:var(--muted);font-size:10px}.session-seg{position:absolute;top:0;bottom:0;border:none;padding:0;font-size:9px;font-weight:600;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.35);cursor:pointer;transition:opacity .15s,filter .15s}.session-seg:hover{filter:brightness(1.08)}.session-seg.active{box-shadow:inset 0 0 0 2px #ffffff59;z-index:1}.session-pointer{position:absolute;top:-8px;transform:translate(-50%);z-index:2;pointer-events:none}.session-pointer-tip{display:block;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:9px solid var(--accent)}.session-bar-foot{display:flex;justify-content:space-between;align-items:center;margin-top:2px;font-size:9px;color:var(--muted)}.session-foot-hint{color:var(--muted);font-size:9px}.session-heat-readout{font-weight:600;font-variant-numeric:tabular-nums}.theme-menu{position:relative}.theme-trigger{width:28px;height:28px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line)}.theme-trigger-icon{font-size:14px;line-height:1}.theme-trigger-swatch{width:16px;height:16px;border-radius:50%;border:1px solid var(--line);display:block}.theme-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;display:flex;gap:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px #00000059;overflow:hidden}.theme-popover-rail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-right:1px solid var(--line);background:var(--bg)}.theme-rail-btn{width:32px;height:32px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--panel);display:grid;place-items:center;font-size:14px;color:var(--text)}.theme-rail-btn.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.theme-rail-btn.off{opacity:.55;color:var(--muted)}.theme-rail-divider{width:20px;height:1px;background:var(--line);margin:2px 0}.theme-popover-body{padding:10px 12px 12px;min-width:220px}.theme-popover-side{display:none}.theme-popover-grid{min-width:0}.theme-grid-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:6px 0}.theme-grid-label:first-child{margin-top:0}.theme-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:4px}.theme-swatch{width:32px;height:32px;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer}.theme-swatch.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}.theme-glow-style{width:22px;height:22px;padding:0;border-radius:50%;border:2px solid transparent;cursor:pointer}.theme-glow-style.selected{border-color:var(--text);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.theme-glow-toggle-icon{display:block}.workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr) 168px 48px;gap:1px;background:var(--line);flex:1;min-height:0;overflow:hidden}.panel{background:var(--bg);min-height:0;overflow:auto}.chart-wrap{grid-column:1;grid-row:1;display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg);overflow:hidden}.chart-metrics{display:flex;gap:8px;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0}.chart-metric{display:flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:6px;border:1px solid var(--line);background:var(--bg)}.chart-metric.up .chart-metric-value{color:var(--up)}.chart-metric.down .chart-metric-value{color:var(--down)}.chart-metric.accent .chart-metric-value{color:var(--accent)}.chart-metric-label{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--muted)}.chart-metric-value{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.chart-metric-value.heat{color:var(--atm)}.chart-stage{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden}.chart-stage .panel.chart{height:100%;width:100%;padding:8px;overflow:hidden}.gex-price-overlay{position:absolute;top:8px;right:8px;bottom:8px;left:8px;pointer-events:none;z-index:2;overflow:hidden}.gex-price-bar{position:absolute;left:0;border-radius:0 3px 3px 0;opacity:.38;min-width:4px;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 25%,transparent)}.gex-price-bar.pos{color:var(--up)}.gex-price-bar.neg{color:var(--down)}.chart-event-layer{position:absolute;top:8px;right:8px;bottom:0;left:8px;pointer-events:none;overflow:hidden}.chart-event-mark{position:absolute;top:0;bottom:24px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.chart-event-line{width:2px;flex:1;background:#d4a72c;opacity:.85;box-shadow:0 0 8px #d4a72c73}.chart-event-label{font-size:9px;font-weight:700;color:#d4a72c;background:var(--panel);border:1px solid #d4a72c;border-radius:3px;padding:1px 4px;white-space:nowrap}.chart{grid-column:unset;grid-row:unset}.panel.matrix{grid-column:2;grid-row:1;padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:0;min-width:0}.matrix-body{flex:1;min-height:0;overflow:auto}.chain-selection-bar{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:4px 10px;border-top:1px solid var(--line);background:var(--panel);font-size:11px;font-variant-numeric:tabular-nums;min-height:26px}.chain-selection-contract{font-weight:700;white-space:nowrap}.chain-selection-quote{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chain-selection-placeholder{color:var(--muted);font-size:11px}.col-analytics{min-width:0;min-height:0;overflow:hidden;padding:6px 8px;background:var(--bg)}.col-analytics-gex{grid-column:1;grid-row:2}.col-analytics-term{grid-column:2;grid-row:2}.col-analytics .analytics-block{height:100%;overflow:hidden}.col-analytics .echarts-for-react{height:132px!important;width:100%!important}table.chain tr.selected{outline:1px solid var(--accent);outline-offset:-1px}table.chain{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px}table.chain th,table.chain td{padding:3px 6px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}table.chain th{position:sticky;top:0;background:var(--panel);color:var(--muted);font-weight:500}table.chain td.strike{text-align:center;font-weight:700}table.chain tr.atm td.strike{color:var(--atm)}table.chain tr.atm{scroll-margin:72px}table.chain tr:hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel));cursor:pointer}.login{max-width:360px;margin:12vh auto;padding:24px;background:var(--panel);border:1px solid var(--line)}.login h1{font-size:18px;margin:0 0 16px}.login label{display:block;font-size:12px;color:var(--muted);margin:10px 0 4px}.login button{width:100%;margin-top:16px}.err{color:var(--down);font-size:13px}.page{padding:16px;overflow:auto;flex:1;min-height:0}.page h2{margin:0 0 12px;font-size:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}pre.json{background:var(--panel);padding:12px;overflow:auto;font-size:12px;color:var(--text);border:1px solid var(--line);border-radius:6px}.terminal-loading{display:grid;place-items:center;flex:1;color:var(--muted)}.badge{font-size:11px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--bg)}.badge.event{border-color:var(--atm);color:var(--atm)}.contract-chart{height:100px;margin-top:8px}.transport{grid-column:1 / 3;grid-row:3;display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--panel);border-top:1px solid var(--line)}.transport-speed{flex-shrink:0;width:56px;padding:4px 6px;font-size:12px}.transport-play{width:36px;height:36px;padding:0;border-radius:8px;font-size:14px;background:var(--accent);border-color:var(--accent);color:#fff}.day-reel{flex-shrink:0;-webkit-user-select:none;user-select:none;touch-action:none;cursor:ns-resize;border:1px solid var(--line);border-radius:8px;background:var(--bg);overflow:hidden}.day-reel:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.day-reel-empty{padding:0 10px;font-size:12px;font-variant-numeric:tabular-nums;display:flex;align-items:center;height:90px}.day-reel-window{position:relative;width:132px;overflow:hidden}.day-reel-highlight{position:absolute;left:0;right:0;z-index:1;pointer-events:none;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.day-reel-strip{transition:transform .18s cubic-bezier(.22,1,.36,1)}.day-reel-item{display:flex;align-items:center;justify-content:center;width:100%;padding:0 6px;border:none;border-radius:0;background:transparent;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.day-reel-item.selected{color:var(--text);font-weight:700}.day-reel-item:not(.selected):hover{color:var(--text);background:color-mix(in srgb,var(--line) 40%,transparent)}.transport-scrub{flex:1;min-width:80px;accent-color:var(--accent)}.settings-section{margin-bottom:28px}.settings-section h2{font-size:16px;margin:0 0 12px}.settings-section h3{font-size:14px;margin:16px 0 8px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px}.card-title{font-weight:600;margin-bottom:6px}.muted{color:var(--muted);font-size:12px}.ok{color:var(--up)}.warn{color:var(--atm)}.ingest-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:10px}.ingest-controls label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.log-tail{background:var(--input-bg);border:1px solid var(--line);padding:10px;max-height:280px;overflow:auto;font-size:11px;white-space:pre-wrap;color:var(--text)}table.settings-table{width:100%;border-collapse:collapse;font-size:13px}table.settings-table th,table.settings-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}table.settings-table th{color:var(--muted);font-weight:500;background:var(--panel)}.svc-name{font-weight:600;font-family:ui-monospace,monospace;font-size:12px}.svc-actions{display:flex;gap:6px;flex-wrap:wrap}.err-cell{color:var(--down);font-size:12px;max-width:480px;word-break:break-word}.toast{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:100;padding:8px 16px;background:var(--panel);border:1px solid var(--accent);border-radius:8px;font-size:13px;box-shadow:0 8px 24px #0006}.analytics-block{border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:var(--panel)}.analytics-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}.matrix-head{padding:8px 10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}.matrix-head-left{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}.replay-date-chip{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;padding:4px 10px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg));white-space:nowrap}.matrix-exp{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);margin-left:auto}.matrix-exp select{font-size:12px;padding:4px 8px;min-width:160px}.matrix-dte{font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;padding:3px 8px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--text)}.matrix-dte.warm{border-color:var(--atm);color:var(--atm)}.matrix-dte.hot{border-color:var(--down);color:var(--down);background:color-mix(in srgb,var(--down) 10%,var(--bg))}.session-datetime{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg);cursor:pointer;white-space:nowrap;text-align:left}.session-datetime:hover{border-color:var(--accent);color:var(--accent)}.cal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;display:grid;place-items:center;padding:16px}.cal-modal{width:min(720px,96vw);max-height:90vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 20px 60px #00000080}.cal-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cal-modal-head button{width:36px;height:36px;padding:0;font-size:20px}.cal-modal-title{font-size:18px;font-weight:700}.cal-modal-sub{font-size:12px;color:var(--muted)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;font-size:10px;color:var(--muted);text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-cell{min-height:72px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--bg);display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;text-align:left}.cal-cell.other{opacity:.35}.cal-cell:disabled{opacity:.25;cursor:not-allowed}.cal-cell.ingested:not(:disabled):hover{border-color:var(--accent)}.cal-cell.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-cell.event{background:color-mix(in srgb,var(--atm) 6%,var(--bg))}.cal-day{font-size:13px;font-weight:700}.cal-tags{display:flex;flex-direction:column;gap:2px;width:100%}.cal-tag{font-size:9px;font-weight:700;letter-spacing:.03em}.cal-legend{display:flex;gap:12px;margin-top:12px;font-size:11px;color:var(--muted)}.cal-legend-item.ingested:before{content:"■ ";color:var(--accent)}.cal-legend-item.event:before{content:"■ ";color:var(--atm)}.view-toolbar{display:flex;gap:4px}.view-toolbar button{padding:4px 10px;font-size:11px;font-weight:600;border-radius:6px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.view-toolbar button.active{background:var(--accent);border-color:var(--accent);color:#fff}.pane-tabs{display:flex;gap:4px;margin-bottom:8px}.pane-tabs button{padding:4px 10px;font-size:11px;font-weight:600;border-radius:6px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}.pane-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.tickets-panel{max-height:180px;overflow:auto}.tickets-table{width:100%;border-collapse:collapse;font-size:11px}.tickets-table th,.tickets-table td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left}.tickets-table tr.ticket-row{cursor:pointer}.tickets-table tr.ticket-row:hover{background:var(--panel)}.ingest-banner{display:flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--accent);border-radius:999px;background:var(--bg);text-decoration:none;color:var(--text);font-size:11px;min-width:140px}.ingest-banner-label{font-weight:700;color:var(--accent)}.ingest-banner-pct{font-weight:700;font-variant-numeric:tabular-nums}.ingest-banner-bar{flex:1;height:4px;background:var(--line);border-radius:2px;overflow:hidden;min-width:48px}.ingest-banner-fill{display:block;height:100%;background:var(--accent);transition:width .3s}.ingest-banner-detail{color:var(--muted);font-variant-numeric:tabular-nums}.ingest-progress-wrap{margin:12px 0}.ingest-progress-bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.ingest-progress-fill{height:100%;background:var(--accent);transition:width .3s}.strategy-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.form-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.leg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px;padding:8px;background:var(--panel);border-radius:6px}.heatmap-wrap{height:calc(100% - 8px)}.spx-chart-page{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden}.spx-chart-toolbar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.spx-chart-title{display:flex;align-items:baseline;gap:10px;min-width:180px}.spx-chart-symbol{font-size:16px;font-weight:800;letter-spacing:.04em}.spx-chart-sub{font-size:11px;color:var(--muted);font-weight:600}.spx-chart-last{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.spx-chart-last.up{color:var(--up)}.spx-chart-last.down{color:var(--down)}.spx-chart-chg{margin-left:8px;font-size:12px;font-weight:600}.spx-chart-es-last{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:#a3e635}.spx-chart-group{display:flex;gap:4px;flex-wrap:wrap}.spx-chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;letter-spacing:.03em}.spx-chip:hover{color:var(--text);border-color:var(--muted)}.spx-chip.active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg))}.spx-chip.indicator.active{background:transparent}.spx-chart-meta{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.spx-chart-body{flex:1;min-height:0;display:grid;grid-template-rows:1fr;gap:0;background:#000}.spx-chart-body.with-sub{grid-template-rows:minmax(0,1.7fr) minmax(120px,.7fr)}.spx-chart-main,.spx-chart-subpane{min-height:0;min-width:0;width:100%;height:100%;border-top:1px solid #1a1a1a;background:#000}.spx-chart-empty{position:absolute;top:56px;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:13px;pointer-events:none;padding:24px;text-align:center}
