:root,:root[data-theme=dark]{--bg: #0f1319;--panel: #151a22;--rule: #232a35;--ink: #e4e8ef;--muted: #8a94a6;--accent: #d9a257;--up: #3e9a68;--down: #c9564a;--mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace}:root[data-theme=light]{--bg: #ffffff;--panel: #f7f8fa;--rule: #e4e8ef;--ink: #1a1f28;--muted: #5c6678;--accent: #a87334;--up: #2e8b57;--down: #c0453a}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:12px;-webkit-font-smoothing:antialiased;overflow:hidden}.app{height:100%;display:grid;grid-template-rows:auto 1fr}.topbar,.left-rail,.right-rail,.right-panel{--bg: #ffffff;--panel: #ffffff;--ink: #131722;--muted: #787b86;--rule: #e0e3eb;--accent: #d9a257;color:var(--ink)}.topbar{display:flex;align-items:center;gap:.6rem;padding:0 .7rem;height:46px;border-bottom:1px solid var(--rule);background:var(--panel)}.symbol-input{min-width:216px;text-align:left;font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--rule);border-radius:6px;padding:.4rem .6rem;text-transform:uppercase;cursor:pointer}.symbol-input:hover{border-color:var(--muted);background:color-mix(in srgb,var(--ink) 10%,transparent)}.symbol-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ss-backdrop{position:fixed;inset:0;z-index:60;display:flex;justify-content:center;align-items:flex-start;padding-top:8vh;background:#00000080;backdrop-filter:blur(2px)}.ss-modal{width:min(760px,92vw);max-height:80vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--rule);border-radius:12px;box-shadow:0 24px 60px #00000080;overflow:hidden}.ss-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem .5rem}.ss-head h2{font-size:20px;font-weight:700;letter-spacing:.01em;color:var(--ink)}.ss-close{width:30px;height:30px;display:grid;place-items:center;font-size:15px;color:var(--muted);background:transparent;border:0;border-radius:6px;cursor:pointer}.ss-close:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.ss-searchbar{display:flex;align-items:center;gap:.6rem;margin:.3rem 1.2rem .8rem;padding:.55rem .8rem;background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--rule);border-radius:8px}.ss-searchbar:focus-within{border-color:var(--accent)}.ss-mag{font-size:18px;color:var(--muted)}.ss-input{flex:1;font-family:var(--mono);font-size:15px;color:var(--ink);background:transparent;border:0;outline:none;text-transform:uppercase}.ss-input::placeholder{color:var(--muted);text-transform:none}.ss-clear{width:22px;height:22px;display:grid;place-items:center;font-size:12px;color:var(--muted);background:transparent;border:0;border-radius:50%;cursor:pointer}.ss-clear:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 10%,transparent)}.ss-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:0 1.2rem .7rem;border-bottom:1px solid var(--rule)}.ss-tabs button{font-family:inherit;font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid transparent;border-radius:999px;padding:.35rem .85rem;cursor:pointer}.ss-tabs button:hover{color:var(--ink)}.ss-tabs button.on{color:var(--bg);background:var(--ink)}.ss-results{flex:1;min-height:0;overflow-y:auto;padding:4px 0}.ss-empty{padding:2rem 1.2rem;color:var(--muted);text-align:center}.ss-row{display:grid;grid-template-columns:30px auto 1fr auto auto auto;align-items:center;gap:.9rem;width:100%;padding:.65rem 1.2rem;text-align:left;background:transparent;border:0;border-top:1px solid color-mix(in srgb,var(--rule) 55%,transparent);cursor:pointer}.ss-check{min-width:56px;text-align:right;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--muted)}.ss-row.added .ss-check{color:var(--up)}.ss-row.added .ss-badge{color:var(--up);background:color-mix(in srgb,var(--up) 16%,transparent)}.ss-row:first-child{border-top:0}.ss-row.hi{background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 2px 0 0 var(--accent)}.ss-badge{width:26px;height:26px;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--ink) 8%,transparent);border-radius:50%}.ss-sym{font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--accent)}.ss-co{color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-type{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ss-exch{font-size:12px;font-weight:600;color:var(--ink);min-width:44px;text-align:right}.tf-chip{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--rule);border-radius:6px;padding:.4rem .6rem;cursor:default}.tf-chip:disabled{opacity:.9}.tf-select{cursor:pointer;padding-right:1.4rem}.tf-select:disabled{opacity:.45;cursor:not-allowed}.topbar-sep{width:1px;align-self:stretch;margin:.6rem .1rem;background:var(--rule)}.menu-wrap{position:relative;display:inline-flex}.menu-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:inherit;font-size:12px;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:6px;padding:.4rem .7rem;cursor:pointer;white-space:nowrap}.menu-btn:hover{border-color:var(--muted)}.menu-btn.on{border-color:var(--accent);color:var(--accent)}.menu-btn .caret{font-size:9px;color:var(--muted)}.menu-btn .badge{min-width:16px;text-align:center;font-size:10px;line-height:15px;color:var(--bg);background:var(--accent);border-radius:8px;padding:0 4px}.menu-backdrop{position:fixed;inset:0;z-index:30}.replay-bar{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--rule);border-radius:6px}.replay-btn{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;font-size:12px;color:var(--ink);background:transparent;border:none;border-radius:4px;cursor:pointer}.replay-btn:hover:not(:disabled){background:var(--rule)}.replay-btn:disabled{color:var(--muted);cursor:default;opacity:.5}.replay-speed{font-family:inherit;font-size:11px;color:var(--ink);background:transparent;border:none;border-radius:4px;padding:2px 4px;margin-left:2px;cursor:pointer}.replay-speed:hover{background:var(--rule)}.replay-picker{display:flex;flex-direction:column;gap:8px;padding:10px;min-width:180px}.replay-field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink)}.replay-field select{font-family:inherit;font-size:12px;color:var(--ink);background:transparent;border:1px solid var(--rule);border-radius:4px;padding:3px 6px}.replay-empty{font-size:12px;color:var(--muted);padding:4px 2px}.replay-enter{font-family:inherit;font-size:12px;color:var(--bg);background:var(--accent);border:none;border-radius:4px;padding:6px 10px;cursor:pointer}.replay-enter:disabled{opacity:.6;cursor:default}.replay-scrub{width:160px;accent-color:var(--accent);cursor:pointer}.replay-clock{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:58px;text-align:center}.replay-exit{font-family:inherit;font-size:11px;color:var(--ink);background:transparent;border:none;border-radius:4px;padding:2px 6px;margin-left:2px;cursor:pointer}.replay-exit:hover{background:var(--rule)}.dropdown{position:absolute;top:calc(100% + 5px);left:0;z-index:31;display:grid;gap:1px;padding:5px;min-width:168px;overflow:visible;background:var(--panel);border:1px solid var(--rule);border-radius:8px;box-shadow:0 12px 30px #0006}.dropdown--wide{min-width:210px}.dropdown-group{padding:6px 8px 3px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.dropdown-group:not(:first-child){border-top:1px solid var(--rule);margin-top:3px}.dropdown>button{display:flex;align-items:center;text-align:left;font:inherit;font-size:13px;color:var(--ink);background:transparent;border:0;border-radius:5px;padding:6px 8px;cursor:pointer}.dropdown>button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.dropdown>button.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.dropdown-check{display:inline-block;width:14px;margin-right:2px;color:var(--accent);font-size:11px}.dropdown label{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:5px;font-size:13px;cursor:pointer}.dropdown label:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.dropdown .ind-kind{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.dropdown-sub{position:relative}.submenu-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;font:inherit;font-size:13px;color:var(--ink);background:transparent;border:0;border-radius:5px;padding:6px 8px;cursor:default}.dropdown-sub:hover .submenu-trigger{background:color-mix(in srgb,var(--ink) 8%,transparent)}.submenu-trigger.on{color:var(--accent)}.sub-arrow{margin-left:12px;font-size:10px;color:var(--muted)}.submenu{position:absolute;top:-6px;left:100%;z-index:32;display:none;gap:1px;padding:5px;min-width:150px;background:var(--panel);border:1px solid var(--rule);border-radius:8px;box-shadow:0 12px 30px #0006}.dropdown-sub:hover .submenu{display:grid}.submenu button{display:flex;align-items:center;width:100%;text-align:left;font:inherit;font-size:13px;color:var(--ink);background:transparent;border:0;border-radius:5px;padding:6px 8px;cursor:pointer}.submenu button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.submenu button.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.modes{display:flex;gap:2px}.modes button{font-family:inherit;font-size:11px;color:var(--muted);background:transparent;border:1px solid var(--rule);padding:.3rem .6rem;cursor:pointer}.modes button:first-child{border-radius:4px 0 0 4px}.modes button:last-child{border-radius:0 4px 4px 0}.modes button:hover{color:var(--ink)}.modes button.on{color:var(--bg);background:var(--accent);border-color:var(--accent)}.modes button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.draw-colors{display:inline-flex;gap:4px;align-items:center;margin-left:8px}.draw-colors .swatch{width:15px;height:15px;border-radius:4px;border:1px solid rgba(255,255,255,.25);padding:0;cursor:pointer}.draw-colors .swatch.on{outline:2px solid var(--fg, #fff);outline-offset:1px}.draw-widths{display:inline-flex;gap:2px;align-items:center;margin-left:6px}.style-select{font:inherit;font-size:12px;padding:3px 6px;border-radius:6px;background:var(--panel, #161b22);color:inherit;border:1px solid var(--border, #2a3240);cursor:pointer}.ind-menu-wrap{position:relative;display:inline-flex}.ind-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:grid;gap:2px;padding:6px;min-width:160px;background:var(--panel, #161b22);border:1px solid var(--border, #2a3240);border-radius:8px;box-shadow:0 6px 24px #00000059}.ind-menu label{display:flex;align-items:center;gap:8px;padding:3px 6px;border-radius:5px;font-size:13px;cursor:pointer}.ind-menu label:hover{background:#ffffff0d}.ind-menu .ind-kind{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.universe{font-size:10px;color:var(--muted);border:1px solid var(--rule);border-radius:3px;padding:.15rem .4rem}.link{display:flex;align-items:center;gap:.4rem;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.link .pip{width:6px;height:6px;border-radius:50%;background:var(--muted)}.link.open .pip{background:var(--up)}.link.connecting .pip{background:var(--accent);animation:pulse 1.2s ease-in-out infinite}.link.closed .pip{background:var(--down)}@keyframes pulse{50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.link.connecting .pip{animation:none}}.feedev{color:var(--accent)}.feedev.gap,.feedev.stale,.feedev.disconnected{color:var(--down)}.feedev.diverged{color:var(--down);font-weight:600}.theme,.mp{font-family:inherit;font-size:11px;color:var(--muted);background:transparent;border:1px solid var(--rule);border-radius:4px;padding:.3rem .6rem;cursor:pointer}.mp:hover{color:var(--ink);border-color:var(--muted)}.mp.on{color:var(--accent);border-color:var(--accent)}.theme:hover{color:var(--ink);border-color:var(--muted)}.theme:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.spacer{flex:1}.stats{display:flex;gap:1.1rem}.stat{display:flex;flex-direction:column;gap:1px;align-items:flex-end}.stat .k{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stat .v{font-variant-numeric:tabular-nums}.stat .v.up{color:var(--up)}.stat .v.down{color:var(--down)}.stat .v.accent{color:var(--accent)}.workspace{min-height:0;display:flex;overflow:hidden}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);z-index:100;max-width:min(560px,92vw);padding:.6rem 1.1rem;font-size:12.5px;line-height:1.4;color:#fff;background:#14181ff0;border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 10px 30px #0006;text-align:center;pointer-events:none;animation:toast-in .14s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.left-rail{position:relative;flex:0 0 auto;width:54px;display:flex;flex-direction:column;border-right:1px solid var(--rule);background:var(--panel)}.tool-col{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;scrollbar-width:none}.tool-col::-webkit-scrollbar{display:none}.left-rail.is-disabled .tool-col,.left-rail.is-disabled .tool-foot{opacity:.45}.tool-slot{position:relative;width:40px;height:38px}.tool-btn{width:40px;height:38px;display:grid;place-items:center;font-family:inherit;font-size:17px;line-height:1;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer}.tool-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.tool-btn.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.tool-more{position:absolute;top:50%;right:-2px;transform:translateY(-50%);width:12px;height:22px;display:grid;place-items:center;font-size:12px;line-height:1;color:var(--muted);background:transparent;border:0;border-radius:3px;cursor:pointer;opacity:0;transition:opacity .1s ease}.tool-slot:hover .tool-more,.tool-more.open{opacity:1}.tool-more:hover{color:var(--ink)}.tool-div{width:26px;height:1px;margin:4px 0;background:var(--rule);align-self:center}.tool-scroll{position:absolute;left:0;right:0;height:18px;z-index:6;display:grid;place-items:center;font-size:10px;color:var(--ink);background:linear-gradient(var(--panel),color-mix(in srgb,var(--panel) 60%,transparent));border:0;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .1s ease}.tool-scroll.up{top:0}.tool-scroll.down{bottom:0;background:linear-gradient(color-mix(in srgb,var(--panel) 60%,transparent),var(--panel))}.left-rail:hover .tool-scroll.can{opacity:1;pointer-events:auto}.draw-widths button{width:22px;height:22px;font-size:13px;color:var(--muted);background:transparent;border:1px solid var(--rule);border-radius:4px;cursor:pointer}.draw-widths button.on{color:var(--accent);border-color:var(--accent)}.settings-field .draw-colors,.settings-field .draw-widths{margin-left:0}.tool-flyout-backdrop{position:fixed;inset:0;z-index:45}.tool-flyout{position:fixed;z-index:46;min-width:190px;padding:5px;display:flex;flex-direction:column;gap:1px;background:var(--panel);border:1px solid var(--rule);border-radius:8px;box-shadow:0 12px 30px #0006}.tool-flyout-row{display:flex;align-items:center;gap:12px;padding:7px 10px;font-family:inherit;font-size:13px;color:var(--ink);background:transparent;border:0;border-radius:6px;cursor:pointer;text-align:left}.tool-flyout-row:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.tool-flyout-row.on{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.tool-flyout-icon{width:18px;text-align:center;font-size:15px}.stage{position:relative;flex:1 1 0;min-width:0;display:flex;overflow:hidden}.stage>.chart-wrap{flex:1;min-width:0}.chart-legend{position:absolute;top:8px;left:12px;z-index:20;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:3px 2px;font-size:12.5px;font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:0 1px 3px var(--bg)}.chart-legend--pane{top:auto;left:auto}.pane-resizer{position:absolute;height:7px;z-index:25;cursor:ns-resize;touch-action:none}.pane-resizer:after{content:"";position:absolute;left:0;right:0;top:3px;height:1px;background:transparent;transition:background .1s ease}.pane-resizer:hover:after,.pane-resizer:active:after{background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.chart-legend .lg-row{display:flex;align-items:center;gap:.55rem;min-height:18px}.chart-legend .lg-sym{font-size:13.5px;font-weight:700;letter-spacing:.03em;color:var(--ink)}.chart-legend .lg-tf{color:var(--muted)}.chart-legend .lg-ohlc{display:flex;align-items:center;gap:.5rem}.chart-legend .lg-pair{display:inline-flex;gap:3px}.chart-legend .lg-k{color:var(--ink);opacity:.85}.chart-legend .lg-v.up{color:var(--up)}.chart-legend .lg-v.down{color:var(--down)}.chart-legend .lg-live{width:8px;height:8px;border-radius:50%;margin-left:.15rem}.chart-legend .lg-live.open{background:var(--up);box-shadow:0 0 6px color-mix(in srgb,var(--up) 80%,transparent)}.chart-legend .lg-live.closed{background:var(--muted)}.chart-legend .lg-band-v{color:var(--accent)}.chart-legend .lg-mp-v{color:var(--muted)}.chart-legend .lg-ind{gap:.5rem;font-size:12px;pointer-events:auto;border-radius:4px}.chart-legend .lg-ind:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.chart-legend .lg-ind.is-hidden{opacity:.45}.chart-legend .lg-ind-name{font-weight:600;letter-spacing:.01em}.chart-legend .lg-ind-vals{display:inline-flex;gap:.4rem}.chart-legend .lg-ind-ctrls{display:inline-flex;gap:1px;margin-left:.15rem;opacity:0;transition:opacity .1s ease;pointer-events:auto}.chart-legend .lg-ind:hover .lg-ind-ctrls{opacity:1}.chart-legend .lg-ind-ctrls button{width:18px;height:18px;display:grid;place-items:center;font-size:11px;line-height:1;color:var(--muted);background:color-mix(in srgb,var(--panel) 70%,transparent);border:1px solid var(--rule);border-radius:4px;cursor:pointer;text-shadow:none}.chart-legend .lg-ind-ctrls button:first-child{border-radius:4px 0 0 4px}.chart-legend .lg-ind-ctrls button:last-child{border-radius:0 4px 4px 0}.chart-legend .lg-ind-ctrls button:hover{color:var(--ink);border-color:var(--muted)}.chart-legend .lg-ind-ctrls button:last-child:hover{color:var(--down);border-color:var(--down)}.settings-modal{width:min(340px,92vw);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--rule);border-radius:12px;box-shadow:0 24px 60px #00000080;overflow:hidden}.settings-body{display:flex;flex-direction:column;gap:.7rem;padding:.9rem 1.2rem 1.1rem}.settings-field{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:13px;color:var(--ink)}.settings-field input{width:96px;font-family:var(--mono);font-size:13px;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--rule);border-radius:6px;padding:5px 8px;outline:none}.settings-field input:focus{border-color:var(--accent)}.settings-none{color:var(--muted);font-size:12.5px}.settings-foot{display:flex;justify-content:flex-end;gap:8px;padding:.7rem 1.2rem;border-top:1px solid var(--rule)}.settings-reset,.settings-done{font-family:inherit;font-size:12px;padding:.4rem .9rem;border-radius:6px;cursor:pointer}.settings-reset{color:var(--muted);background:transparent;border:1px solid var(--rule)}.settings-reset:hover{color:var(--ink);border-color:var(--muted)}.settings-done{color:var(--bg);background:var(--accent);border:1px solid var(--accent)}.right-rail{flex:0 0 auto;width:42px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;border-left:1px solid var(--rule);background:var(--panel)}.right-rail button{width:30px;height:30px;display:grid;place-items:center;font-family:inherit;font-size:15px;line-height:1;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer}.right-rail button:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.right-rail button.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.right-panel{flex:0 0 252px;min-width:0;border-left:1px solid var(--rule);background:var(--panel)}.pane{display:flex;flex-direction:column;min-height:0}.pane-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:.6rem .7rem;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule)}.pane-actions{display:inline-flex;gap:4px}.pane-add,.pane-close{width:22px;height:22px;display:grid;place-items:center;font-size:14px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer}.pane-close{font-size:12px}.pane-add{border-color:var(--rule)}.pane-add:hover,.pane-close:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.pane-add:hover{color:var(--accent);border-color:var(--accent)}.pane-body{flex:1;min-height:0;overflow-y:auto}.wl-empty{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:2.4rem 1rem;color:var(--muted);text-align:center}.wl-empty-add{font-family:inherit;font-size:12px;color:var(--accent);background:transparent;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:6px;padding:.4rem .8rem;cursor:pointer}.wl-empty-add:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.watchlist{display:flex;flex-direction:column;padding:4px;gap:1px}.wl-row{display:flex;align-items:center;border-radius:5px}.wl-row:hover{background:color-mix(in srgb,var(--ink) 7%,transparent)}.wl-row.on{background:color-mix(in srgb,var(--accent) 14%,transparent)}.wl-pick{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:7px 8px;font-family:var(--mono);font-size:12.5px;color:var(--ink);background:transparent;border:0;border-radius:5px;cursor:pointer;text-align:left}.wl-sym{font-weight:700;letter-spacing:.02em;color:var(--accent)}.wl-co{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-exch{font-size:10px;letter-spacing:.04em;color:var(--muted)}.wl-remove{flex:0 0 auto;width:22px;height:22px;margin-right:4px;display:grid;place-items:center;font-size:11px;color:var(--muted);background:transparent;border:0;border-radius:4px;cursor:pointer;opacity:0}.wl-row:hover .wl-remove{opacity:1}.wl-remove:hover{color:var(--down);background:color-mix(in srgb,var(--down) 14%,transparent)}.alerts-empty{padding:1rem .9rem;color:var(--muted);font-size:11.5px;line-height:1.5}.alerts-empty .dim{margin-top:.4rem;opacity:.7}.auction-panel{flex-basis:296px}.auction-body{padding:6px;display:flex;flex-direction:column;gap:5px}.auction-empty{padding:2rem 1rem;color:var(--muted);text-align:center;font-size:12px;line-height:1.5}.auction-empty .dim{margin-top:.5rem;opacity:.7;font-size:11px}.fact{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:7px 9px 7px 10px;border:1px solid var(--rule);border-left-width:3px;border-radius:6px;background:color-mix(in srgb,var(--ink) 3%,transparent)}.fact.tone-up{border-left-color:var(--up)}.fact.tone-down{border-left-color:var(--down)}.fact.tone-neutral{border-left-color:color-mix(in srgb,var(--accent) 70%,transparent)}.fact-main{min-width:0;flex:1}.fact-title{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink);line-height:1.25}.fact-kind{flex:0 0 auto;font-size:8.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--muted) 16%,transparent)}.fact-kind.event{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.fact-detail{margin-top:2px;font-size:11px;color:var(--muted);line-height:1.35;font-variant-numeric:tabular-nums}.fact-meta{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-variant-numeric:tabular-nums}.fact-price{font-size:12px;font-weight:600;color:var(--ink)}.fact-time{font-size:10.5px;color:var(--muted)}.fact-conf{font-size:9.5px;color:var(--accent)}.fact-group{display:flex;flex-direction:column;gap:5px}.fact-group+.fact-group{margin-top:10px}.fact-group-head{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:2px 2px 3px;border-bottom:1px solid var(--rule)}.fact-kind.state{color:var(--muted);background:color-mix(in srgb,var(--muted) 14%,transparent)}.ind-state{display:flex;gap:6px;padding:3px 2px;align-items:baseline}.ind-state-cat{flex:0 0 54px;font-size:10px;font-weight:600;color:var(--ink)}.ind-state-chips{display:flex;flex-wrap:wrap;gap:3px 5px;min-width:0}.ind-chip{font-size:10px;line-height:1.3;color:var(--muted);white-space:nowrap}.ind-chip.tone-up{color:var(--up)}.ind-chip.tone-down{color:var(--down)}.ind-chip.tone-neutral{color:var(--muted)}.screener-panel{flex-basis:300px}.screener-body{display:flex;flex-direction:column;gap:8px;padding:8px}.scr-controls{display:flex;gap:8px}.scr-field{flex:1;display:flex;flex-direction:column;gap:3px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.scr-field select{font-family:inherit;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:5px;padding:4px 6px;cursor:pointer}.scr-filters{display:flex;flex-direction:column;gap:2px;border:1px solid var(--rule);border-radius:6px;padding:6px}.scr-filters-head{display:flex;align-items:baseline;justify-content:space-between;font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}.scr-clear{font-family:inherit;font-size:10px;text-transform:none;letter-spacing:0;color:var(--muted);background:transparent;border:none;cursor:pointer}.scr-clear:hover{color:var(--down)}.scr-cat-head{width:100%;display:flex;align-items:center;gap:6px;font-family:inherit;font-size:12px;color:var(--ink);background:transparent;border:none;padding:4px 2px;cursor:pointer;text-align:left}.scr-cat-head:hover{color:var(--accent)}.scr-cat-arrow{color:var(--muted);font-size:9px;width:9px}.scr-cat-count{margin-left:auto;font-size:9.5px;color:var(--bg);background:var(--accent);border-radius:999px;padding:0 6px;line-height:1.5}.scr-cat-facts{display:flex;flex-direction:column;gap:1px;padding:2px 2px 6px 15px}.scr-crit{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);cursor:pointer}.scr-crit input{accent-color:var(--accent)}.scr-crit.tone-up{color:color-mix(in srgb,var(--up) 80%,var(--ink))}.scr-crit.tone-down{color:color-mix(in srgb,var(--down) 80%,var(--ink))}.scr-results-head{display:flex;align-items:baseline;justify-content:space-between;font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--rule);padding-bottom:3px;margin-top:2px}.scr-results-meta{text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted)}.scr-note{font-size:10.5px;line-height:1.4;padding:4px 2px 6px}.scr-table{width:100%;border-collapse:collapse;font-size:12px}.scr-table th{text-align:left;font-weight:500;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:2px 4px}.scr-table td{padding:4px;border-top:1px solid var(--rule)}.scr-table tbody tr{cursor:pointer}.scr-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.scr-sym{font-weight:600;color:var(--ink)}.scr-col-match{text-align:right;font-variant-numeric:tabular-nums}.scr-empty{padding:1.4rem .9rem;color:var(--muted);text-align:center;font-size:12px;line-height:1.5}.scr-empty .dim{margin-top:.5rem;opacity:.75;font-size:11px}.scr-run{font-family:inherit;font-size:11px;font-weight:600;color:var(--bg);background:var(--accent);border:none;border-radius:5px;padding:3px 12px;cursor:pointer;letter-spacing:0;text-transform:none}.scr-run:hover:not(:disabled){filter:brightness(1.08)}.scr-run:disabled{opacity:.45;cursor:default}.scr-match-chips{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end}.scr-match-chip{font-size:9.5px;line-height:1.4;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:3px;padding:0 5px;white-space:nowrap}.scr-col-match{max-width:190px}.chart-wrap{min-height:0;overflow:hidden;display:flex;flex-direction:column}.chart-split{flex:1;display:flex;min-height:0;overflow:hidden;position:relative}.crosshair-time{position:absolute;bottom:2px;transform:translate(-50%);padding:1px 6px;font-family:var(--mono);font-size:11px;line-height:16px;white-space:nowrap;color:#fff;background:#2b3245;border-radius:3px;pointer-events:none;z-index:6}.chart-scroll{flex:0 0 18px;height:18px;box-sizing:border-box;padding:4px 10px;border-top:1px solid var(--rule);background:var(--panel)}.hscroll{position:relative;height:100%;border-radius:5px;background:color-mix(in srgb,var(--ink) 8%,transparent)}.hscroll--full{background:transparent}.hscroll-thumb{position:absolute;top:0;height:100%;min-width:28px;border-radius:5px;background:color-mix(in srgb,var(--ink) 26%,transparent);cursor:grab}.hscroll-thumb:hover{background:color-mix(in srgb,var(--ink) 38%,transparent)}.hscroll-thumb:active{cursor:grabbing}.chart-host{flex:1;min-width:0;position:relative;overflow:hidden;cursor:crosshair;touch-action:none}.structures-host{flex:1;min-width:0;position:relative;overflow:hidden;cursor:default;touch-action:none}.mp-toolbar{position:absolute;top:10px;right:14px;z-index:20;display:flex;gap:6px}.mp-toolbar button{font-size:12px;padding:4px 10px;color:var(--muted);background:color-mix(in srgb,var(--panel) 86%,transparent);border:1px solid var(--rule);border-radius:6px;cursor:pointer;backdrop-filter:blur(4px)}.mp-toolbar button:hover{color:var(--ink)}.mp-toolbar button.on{color:var(--bg);background:var(--accent);border-color:var(--accent)}.chart-host canvas,.structures-host canvas{display:block;width:100%;height:100%}.ctx-backdrop{position:fixed;inset:0;z-index:40}.ctx-menu{position:fixed;z-index:41;min-width:150px;padding:4px;background:var(--panel);border:1px solid var(--rule);border-radius:6px;box-shadow:0 8px 24px #00000059;font-size:12px}.ctx-menu .ctx-title{padding:4px 8px;color:var(--muted);font-family:var(--mono);letter-spacing:.02em;border-bottom:1px solid var(--rule);margin-bottom:4px}.ctx-menu .ctx-sep{height:1px;margin:4px 0;background:var(--rule)}.ctx-menu button{display:block;width:100%;text-align:left;padding:6px 8px;background:transparent;border:0;border-radius:4px;color:var(--ink);cursor:pointer;font:inherit}.ctx-menu button:hover{background:var(--accent);color:var(--bg)}.hint{display:flex;gap:1rem;align-items:center;padding:0 .9rem;height:26px;border-top:1px solid var(--rule);background:var(--panel);color:var(--muted);font-size:10px}.hint .src{margin-left:auto;color:var(--accent)}.error{display:flex;flex-direction:column;gap:.4rem;justify-content:center;align-items:center;color:var(--down)}.error span{color:var(--muted)}.crash{height:100%;display:flex;flex-direction:column;gap:.7rem;justify-content:center;align-items:flex-start;padding:2rem;color:var(--down)}.crash pre{font-family:var(--mono);font-size:11px;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:4px;padding:.8rem;max-width:100%;overflow-x:auto;white-space:pre-wrap}.crash pre.dim{color:var(--muted)}.crash button{font-family:inherit;font-size:11px;color:var(--bg);background:var(--accent);border:0;border-radius:4px;padding:.4rem .9rem;cursor:pointer}.login-shell{height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--ink);padding:1.5rem}.login-card{width:100%;max-width:340px;display:flex;flex-direction:column;gap:.85rem;padding:1.75rem;background:var(--panel);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 40px color-mix(in srgb,#000 30%,transparent)}.login-brand{display:flex;align-items:center;gap:.5rem}.login-mark{color:var(--accent);font-size:1.35rem;line-height:1}.login-name{font-size:1.2rem;font-weight:600;letter-spacing:.01em}.login-sub{margin:-.3rem 0 .4rem;color:var(--muted);font-size:.85rem}.login-field{display:flex;flex-direction:column;gap:.3rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.login-field input{font:inherit;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:6px;padding:.5rem .6rem}.login-field input:focus{outline:2px solid var(--accent);outline-offset:-1px}.login-error{font-size:.8rem;color:#e0655a;background:color-mix(in srgb,#e0655a 12%,transparent);border:1px solid color-mix(in srgb,#e0655a 35%,transparent);border-radius:6px;padding:.45rem .6rem}.login-submit{margin-top:.25rem;font:inherit;font-weight:600;color:#12171f;background:var(--accent);border:none;border-radius:6px;padding:.55rem .9rem;cursor:pointer}.login-submit:disabled{opacity:.6;cursor:default}.login-toggle{font:inherit;font-size:.8rem;color:var(--muted);background:none;border:none;cursor:pointer;padding:.1rem}.login-toggle:hover:not(:disabled){color:var(--ink)}.login-opt{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400}.login-google{display:flex;align-items:center;justify-content:center;gap:.55rem;font:inherit;font-weight:600;color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--rule);border-radius:6px;padding:.55rem .9rem;cursor:pointer}.login-google:hover:not(:disabled){border-color:var(--muted)}.login-google:disabled{opacity:.6;cursor:default}.g-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#fff;color:#4285f4;font-weight:700;font-size:12px}.login-or{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--rule)}.premium-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:.5rem;max-width:min(92%,640px);padding:.45rem .8rem;font-size:.82rem;color:var(--ink);background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--accent);border-radius:8px;box-shadow:0 6px 20px color-mix(in srgb,#000 28%,transparent)}.premium-lock{font-size:.95rem}.alerts-body{display:flex;flex-direction:column;gap:.5rem}.alert-new{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;border:1px solid var(--rule);border-radius:8px;background:var(--panel)}.alert-field{display:flex;flex-direction:column;gap:.25rem;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.alert-field select{font-family:inherit;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:5px;padding:4px 6px}.alert-create{font:inherit;font-size:12px;font-weight:600;color:#12171f;background:var(--accent);border:none;border-radius:6px;padding:.5rem;cursor:pointer}.alert-create:disabled{opacity:.55;cursor:default}.alert-err{font-size:11px;color:#e0655a}.alerts-section-head{display:flex;justify-content:space-between;align-items:baseline;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-top:.5rem;padding:0 2px}.alerts-empty-line{font-size:12px;padding:2px}.alert-list,.alert-log{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.alert-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--rule);border-radius:6px;background:var(--panel)}.alert-list li.off{opacity:.5}.alert-row-main{display:flex;flex-direction:column;gap:1px;min-width:0}.alert-name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-scope{font-size:11px;color:var(--muted)}.alert-freq{color:var(--accent)}.alert-row-actions{display:flex;gap:4px;flex:0 0 auto}.alert-toggle,.alert-del{font:inherit;font-size:11px;color:var(--muted);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--rule);border-radius:5px;padding:2px 7px;cursor:pointer}.alert-toggle:hover,.alert-del:hover{color:var(--ink);border-color:var(--muted)}.alert-log li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:baseline;padding:4px 6px;font-size:12px;border-bottom:1px solid var(--rule)}.alert-log-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-log-sym{font-weight:600;color:var(--accent)}.alert-log-time{font-size:11px}.rail-badge-host{position:relative}.rail-badge{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;line-height:1;color:#12171f;background:var(--accent);border-radius:999px}
