*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{overflow:hidden}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,[role=radio]:focus-visible,[role=switch]:focus-visible,[role=menuitem]:focus-visible{outline:2px solid var(--ring);outline-offset:var(--ring-offset)}button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}:root{--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}:root,[data-theme=dark]{--bg: #0a0a0f;--bg-subtle: #111118;--border: rgba(255,255,255,.07);--text: rgba(255,255,255,.88);--text-muted: rgba(255,255,255,.35);--text-dim: rgba(255,255,255,.18);--input-bg: rgba(255,255,255,.05);--input-border: rgba(255,255,255,.12);--swatch-shadow: rgba(0,0,0,.6);--header-bg: rgba(10,10,15,.95);--strip-bg: rgba(12,12,18,.97);--clock-stroke: rgba(255,255,255,.6);--clock-rim: rgba(255,255,255,.12);--wordmark-color: rgba(255,255,255,.9);--hover-bg: rgba(255,255,255,.06);--ring: rgba(255,255,255,.45);--ring-offset: 2px}[data-theme=light]{--bg: #f8f8f6;--bg-subtle: #f0f0ee;--border: rgba(0,0,0,.08);--text: rgba(0,0,0,.85);--text-muted: rgba(0,0,0,.4);--text-dim: rgba(0,0,0,.2);--input-bg: rgba(0,0,0,.04);--input-border: rgba(0,0,0,.14);--swatch-shadow: rgba(0,0,0,.2);--header-bg: rgba(248,248,246,.97);--strip-bg: rgba(244,244,242,.98);--clock-stroke: rgba(0,0,0,.55);--clock-rim: rgba(0,0,0,.12);--wordmark-color: rgba(0,0,0,.85);--hover-bg: rgba(0,0,0,.05);--ring: rgba(0,0,0,.35);--ring-offset: 2px}.app{display:flex;flex-direction:column;height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-ui);transition:opacity .6s ease}.portal-mount{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;color:var(--text)}.app[data-idle=true]{opacity:.9}.main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;z-index:0}.mock-banner{text-align:center;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);padding:3px 0;background:var(--bg-subtle);border-bottom:1px solid var(--border);flex-shrink:0}.mock-banner--warn{text-transform:none;color:var(--text-muted);letter-spacing:.04em}@media(prefers-reduced-motion:reduce){.app[data-idle=true]{opacity:1}.app{transition:none}}.tse-context-hint{text-align:center;font-size:10px;letter-spacing:.04em;color:var(--text-muted);padding:2px 12px 4px;flex-shrink:0;opacity:.85}.analog-clock{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;transition:filter .4s ease,opacity .35s ease,box-shadow .35s ease;border-radius:8px;padding:4px 6px;outline:none}.analog-clock:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.analog-clock.closed{filter:saturate(0);opacity:.4}.analog-clock.open{filter:none;opacity:1}.analog-clock.selected{opacity:1!important;box-shadow:0 0 0 1px #ffffff40}[data-theme=light] .analog-clock.selected{box-shadow:0 0 0 1px #0003}.analog-clock.unselected{opacity:.25!important}.clock-face{overflow:visible;width:50px!important;height:50px!important}.clock-rim{fill:none;stroke:var(--clock-rim);stroke-width:1}.clock-tick{stroke:var(--clock-rim);stroke-width:.7;stroke-linecap:round}.clock-hand{stroke-linecap:round}.hour-hand{stroke:var(--clock-stroke);stroke-width:1.8}.minute-hand{stroke:var(--clock-stroke);stroke-width:1.2}.second-hand{stroke:#ef4444;stroke-width:.7;opacity:.85}[data-theme=light] .second-hand{stroke:#dc2626}.clock-meta{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.clock-digital{font-family:SF Mono,Fira Mono,Consolas,monospace;font-size:11px;letter-spacing:.04em;color:var(--text);font-variant-numeric:tabular-nums}.clock-city{font-size:10px;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.analog-clock{transition:none}}.fg-widget{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:6px;row-gap:2px;align-items:center;flex-shrink:0;-webkit-user-select:none;user-select:none;color:inherit}.fg-widget--error{opacity:.55}.fg-toggle-slot{grid-column:1;grid-row:1;display:inline-flex;align-items:center;justify-content:center;align-self:center;gap:6px}.fg-meter-anchor{display:contents;color:inherit;cursor:pointer}.fg-bar-wrap,.fg-readout-track{color:inherit;text-decoration:none;justify-self:center;width:72px;opacity:1;transition:opacity .2s ease}.fg-bar-wrap{grid-column:2;grid-row:1;display:flex;align-items:center}.fg-readout-track{grid-column:2;grid-row:2;position:relative;min-height:1em;line-height:1}.fg-meter-anchor:hover .fg-bar-wrap,.fg-meter-anchor:hover .fg-readout-track{opacity:.75}.fg-meter-anchor:focus-visible .fg-readout-track{outline:2px solid var(--ring);outline-offset:2px;border-radius:3px}.fg-bar{position:relative;display:flex;width:100%;height:8px;border-radius:1px;overflow:visible}.fg-bar-red,.fg-bar-green{flex:1;height:100%}.fg-bar-red{background:#ef4444;border-radius:1px 0 0 1px}.fg-bar-green{background:#22c55e;border-radius:0 1px 1px 0}.fg-needle{position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;height:14px;background:#fff;border-radius:2px;box-shadow:0 0 4px #0009;pointer-events:none;transition:left .8s ease}[data-theme=light] .fg-needle{background:#1a1a1a;box-shadow:0 0 4px #00000040}.fg-score{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted)}.fg-score--at-needle{position:absolute;top:0;transform:translate(-50%);transition:left .8s ease}.fg-score--centered{position:absolute;left:50%;top:0;transform:translate(-50%)}.fg-err,.fg-loading{color:var(--text-dim)!important;font-size:13px;font-weight:400}@media(prefers-reduced-motion:reduce){.fg-needle,.fg-score--at-needle{transition:none}}.header{display:flex;flex-direction:column;align-items:stretch;padding:0;box-sizing:border-box;background:var(--header-bg);border-bottom:1px solid var(--border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0}.header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:16px;padding:0 24px;min-height:88px;box-sizing:border-box}.header-wordmark{height:48.3px;width:auto;display:block;flex-shrink:0;justify-self:start;filter:var(--logo-filter)}[data-theme=dark]{--logo-filter: invert(1)}[data-theme=light]{--logo-filter: none}.header-clocks{display:flex;align-items:center;gap:32px;justify-self:center}.header-actions{display:flex;align-items:center;gap:16px;justify-self:end}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:.7;flex-shrink:0;transition:color .2s,opacity .2s,background .2s}.theme-toggle:disabled{opacity:.35;cursor:not-allowed}.theme-toggle:disabled:hover{background:transparent;color:var(--text-muted)}.theme-toggle:hover{opacity:1;color:var(--text);background:var(--hover-bg)}.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:var(--ring-offset)}.theme-toggle-icon{width:18px;height:18px;display:block}.header-hero-slot{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--header-hero-duration, .4s) cubic-bezier(.32,.72,0,1)}.header-hero-slot--open{grid-template-rows:1fr}.header-hero-slot-inner{min-height:0;overflow:hidden}.header-hero{width:100%;padding:8px 24px 12px;border-top:1px solid var(--border);box-sizing:border-box;opacity:0;transform:translateY(-6px);transition:opacity var(--header-hero-duration, .4s) cubic-bezier(.32,.72,0,1),transform var(--header-hero-duration, .4s) cubic-bezier(.32,.72,0,1)}.header-hero-slot--open .header-hero{opacity:1;transform:translateY(0)}.header-hero-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.65em 1.5em;max-width:100%}.header-hero-led{display:flex;flex-direction:row;align-items:center;gap:10px 14px;min-width:0;flex:1 1 auto;max-width:min(100%,48rem);text-align:left}.header-hero-led--row{justify-content:flex-start}.header-hero-symbol{flex-shrink:0;font-size:clamp(.9rem,2.2vw,1.1rem);font-weight:700;letter-spacing:.04em;color:var(--text);font-variant-numeric:tabular-nums}.header-hero-company{flex:1;min-width:0;font-size:clamp(.85rem,2vw,1rem);font-weight:500;color:var(--text-muted);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-hero-company--placeholder{color:var(--text-dim);font-weight:400}.header-hero-venue{flex-shrink:0;font-size:clamp(.65rem,1.6vw,.72rem);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.header-hero-stats{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:.35em .65em}.header-hero-pct{font-size:clamp(1.15rem,2.6vw,1.55rem);font-weight:600;font-variant-numeric:tabular-nums}.header-hero-price{font-size:clamp(1rem,2.2vw,1.35rem);font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.header-hero-slot{transition:none}.header-hero{transition:none;opacity:1;transform:none}.header-hero-slot--open .header-hero{opacity:1;transform:none}}@media(max-width:520px){.header-hero-inner{flex-direction:column;align-items:center;gap:8px}.header-hero-led--row{flex-direction:column;align-items:center;max-width:100%;text-align:center;gap:6px}.header-hero-company{flex:none;width:100%;max-width:100%;text-align:center}.header-hero-venue{flex-shrink:0}.header-hero-stats{flex-direction:row;flex-wrap:wrap;justify-content:center}}.chart-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:8px;max-width:min(92vw,380px);padding:5px 10px 5px 12px;border-radius:8px;font-size:10px;letter-spacing:.02em;color:var(--text-muted);background:color-mix(in srgb,var(--bg) 85%,transparent);border:1px solid var(--border);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:auto}.chart-hint-text{line-height:1.35}.chart-hint-close{flex-shrink:0;width:22px;height:22px;display:grid;place-items:center;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1}.chart-hint-close:hover{color:var(--text);background:var(--hover-bg)}.chart-hint-close:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chart-wrapper{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;padding-bottom:8px}.liveline-container{flex:1;min-height:0;width:100%;position:relative;transition:opacity .4s ease;cursor:grab}.liveline-container--loading{opacity:.45}.liveline-container--empty{opacity:.22;pointer-events:none}.liveline-container--dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.chart-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 32px;pointer-events:none}.chart-empty-state__title{margin:0 0 10px;font-size:1.125rem;font-weight:600;color:var(--text);letter-spacing:-.02em}.chart-empty-state__hint{margin:0;max-width:22rem;font-size:.875rem;line-height:1.5;color:var(--text-muted)}.chart-empty-state__kbd{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;padding:2px 8px;border-radius:6px;border:1px solid var(--border);background:var(--hover-bg);color:var(--text);white-space:nowrap}.market-zones-layer{position:absolute;top:12px;bottom:28px;left:12px;right:54px;pointer-events:none;z-index:1;overflow:hidden}.market-zone{position:absolute;top:0;bottom:0;transition:left .5s ease,width .5s ease,opacity .5s ease}.market-session-marker{position:absolute;top:0;bottom:0;width:1px;transform:translate(-50%);pointer-events:none;z-index:2;transition:left .5s ease;border-radius:1px;background:#22c55e47;box-shadow:0 0 6px #22c55e1f}[data-theme=light] .market-session-marker{background:#16a34a52;box-shadow:0 0 5px #16a34a24}.market-session-close-marker{position:absolute;top:0;bottom:0;width:1px;transform:translate(-50%);pointer-events:none;z-index:2;transition:left .5s ease;border-radius:1px;background:repeating-linear-gradient(to bottom,rgba(239,68,68,.55) 0 3px,transparent 3px 5px);box-shadow:0 0 5px #ef44442e}[data-theme=light] .market-session-close-marker{background:repeating-linear-gradient(to bottom,rgba(220,38,38,.6) 0 3px,transparent 3px 5px);box-shadow:0 0 5px #dc262633}.ref-line-glow{position:absolute;top:50%;left:0;right:0;height:1px;pointer-events:none;z-index:10;opacity:0;background:#fff9;box-shadow:0 0 8px 3px #ffffff4d;transition:opacity .15s ease}[data-theme=light] .ref-line-glow{background:#0006;box-shadow:0 0 8px 3px #00000026}.ref-line-glow.active{opacity:1;animation:glow-pulse 1.2s ease forwards}@keyframes glow-pulse{0%{opacity:0}15%{opacity:1}60%{opacity:.6}to{opacity:0}}.y-axis-drag-overlay{position:absolute;top:12px;bottom:28px;right:0;width:54px;cursor:ns-resize;z-index:3;touch-action:none}@media(prefers-reduced-motion:reduce){.liveline-container,.market-zone,.market-session-marker,.market-session-close-marker{transition:none}.ref-line-glow.active{animation:none;opacity:0}}.cpicker{background:var(--strip-bg);border-radius:10px;overflow:hidden;padding-bottom:10px}.cpicker .react-colorful{width:200px!important;height:160px!important;border-radius:0!important}.cpicker .react-colorful__saturation{border-radius:0!important}.cpicker .react-colorful__hue{height:12px;border-radius:0!important;margin:0}.cpicker .react-colorful__saturation-pointer,.cpicker .react-colorful__hue-pointer{width:16px;height:16px}.cpicker-inputs{padding:10px 10px 0;display:flex;flex-direction:column;gap:6px}.cpicker-hex{display:flex;align-items:center;gap:6px}.cpicker-rgb{display:flex;gap:6px}.cpicker-field{display:flex;flex-direction:column;gap:3px;flex:1}.cpicker-hex.cpicker-field{flex-direction:row;align-items:center}.cpicker-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--text-muted);line-height:1.2;white-space:nowrap;width:28px;flex-shrink:0}.cpicker-hex .cpicker-label{width:30px}.cpicker-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:5px;color:var(--text);font-size:11px;font-family:SF Mono,Fira Mono,Consolas,monospace;padding:4px 6px;outline:none;width:100%;transition:border-color .15s ease}.cpicker-input:focus,.cpicker-input:focus-visible{border-color:var(--text-muted)}.cpicker-num::-webkit-inner-spin-button,.cpicker-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cpicker-num{-moz-appearance:textfield;text-align:center}.lsp{width:min(92vw,640px);max-width:100%;padding:12px 14px;box-sizing:border-box;background:var(--bg);border:1px solid var(--border);border-radius:14px}.lsp-heading{margin:0 0 12px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);line-height:1.2}.lsp-body{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;align-items:stretch}.lsp-col--controls{display:flex;flex-direction:column;min-width:0;min-height:0;padding-right:4px;border-right:1px solid var(--border);gap:6px}.lsp-col--colors{display:flex;flex-direction:column;min-width:0;min-height:0}.lsp-block{padding:12px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.lsp-block--controls{border-top:none;padding-top:0;flex:1;display:flex;flex-direction:column;min-height:0}.lsp-controls-main{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:4px;min-height:0}.lsp-controls-main .lsp-sublabel--gap{margin-top:6px}.lsp-controls-footer{flex-shrink:0;margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.lsp-controls-footer .lsp-opacity-row{margin-top:0}.lsp-col--colors>.lsp-block--colour{border-top:none;padding-top:0}.lsp-block--colour{flex:1;display:flex;flex-direction:column;min-height:0}.lsp-block--end-dot{flex-shrink:0;margin-top:auto}.lsp-block--end-dot .lsp-picker-embed{flex:0 1 auto;min-height:140px}.lsp-block--end-dot .lsp-picker-embed .cpicker{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.lsp-sublabel{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--text-muted);margin-bottom:8px;line-height:1.2;display:block}.lsp-sublabel--gap{margin-top:11px}.lsp-sublabel--plain{margin-bottom:0;letter-spacing:.04em}.lsp-preview-wrap{width:100%;height:52px;flex-shrink:0;border-radius:6px;background:var(--bg-subtle);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden}.lsp-preview-svg{width:100%;height:100%}.lsp-stroke-row,.lsp-weight-row{display:flex;gap:5px}.lsp-stroke-btn,.lsp-weight-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px 4px;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .12s,background .12s,color .12s;min-width:0}.lsp-stroke-btn:hover,.lsp-weight-btn:hover{border-color:var(--text-muted);color:var(--text)}.lsp-stroke-btn.is-on,.lsp-weight-btn.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.lsp-stroke-svg{width:48px;height:14px;display:block;flex-shrink:0}.lsp-weight-svg{width:36px;height:14px;display:block}.lsp-opt-label{font-size:9px;letter-spacing:.04em;line-height:1;font-weight:500}.lsp-seg-row{display:flex;gap:5px}.lsp-seg{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:border-color .12s,background .12s,color .12s;white-space:nowrap}.lsp-seg:hover{border-color:var(--text-muted);color:var(--text)}.lsp-seg.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.lsp-curve-svg{width:26px;height:10px;flex-shrink:0}.lsp-opacity-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.lsp-opacity-readout{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text);min-width:38px;text-align:right}.lsp-slider-wrap{position:relative;display:flex;align-items:center}.lsp-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--border);border-radius:2px;outline:none;cursor:pointer;transition:background .12s}.lsp-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);border:2px solid var(--bg-subtle);cursor:pointer;box-shadow:0 1px 4px #00000040;transition:transform .1s}.lsp-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.lsp-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 1px 4px #00000040;border:none}.lsp-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.lsp-preset-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-sizing:border-box;transition:transform .1s,box-shadow .1s,border-color .1s;flex-shrink:0}.lsp-preset-swatch:hover{transform:scale(1.1);box-shadow:0 0 0 2px var(--text-muted)}.lsp-preset-swatch.is-on{border-color:var(--text);box-shadow:0 0 0 2px var(--accent)}.lsp-ramp-wrap{margin-bottom:8px}.lsp-ramp-inner{position:relative}.lsp-ramp-track{height:10px;border-radius:5px}.lsp-ramp-stops{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.lsp-ramp-dot{position:absolute;transform:translate(-50%) translateY(-50%);top:50%;width:16px;height:16px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0;transition:transform .1s,box-shadow .1s;box-shadow:0 0 0 1px #0003}.lsp-ramp-dot:hover{transform:translate(-50%) translateY(-50%) scale(1.2)}.lsp-ramp-dot.is-on{border-color:var(--text);box-shadow:0 0 0 2px var(--accent)}.lsp-grad-tools{margin-bottom:10px}.lsp-picker-embed{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;margin-top:8px}.lsp-picker-hint{margin:6px 0 0;font-size:11px;font-weight:500;color:var(--text-muted);letter-spacing:.02em;line-height:1.35;flex-shrink:0}.lsp-block--colour .lsp-picker-embed .cpicker{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.lsp .cpicker .react-colorful{width:100%!important;max-width:100%;min-height:140px;height:100%!important;flex:1 1 140px}.lsp-mini-btn{background:none;border:none;padding:0;font-size:10px;color:var(--text-muted);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .12s}.lsp-mini-btn:hover{color:var(--text)}.lsp-dot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.lsp-dot-swatch-row{display:flex;align-items:center;gap:8px}.lsp-dot-swatch{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);cursor:pointer;padding:0;transition:transform .1s,box-shadow .1s,border-color .1s;flex-shrink:0}.lsp-dot-swatch:hover{transform:scale(1.1)}.lsp-dot-swatch.is-on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.lsp-dot-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:560px){.lsp-body{grid-template-columns:1fr;gap:8px 0}.lsp-col--controls{border-right:none;padding-right:0;border-bottom:1px solid var(--border);padding-bottom:12px}.lsp-controls-footer,.lsp-block--end-dot{margin-top:12px}}.strip{position:relative;z-index:1;display:flex;align-items:center;height:52px;padding:0 14px;background:var(--strip-bg);border-top:1px solid var(--border);gap:8px;flex-shrink:0}.strip-reset{flex-shrink:0;width:20px;height:20px;display:grid;place-items:center;padding:0;border:1px solid transparent;border-radius:5px;background:none;color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.strip-reset:hover:not(:disabled){color:var(--text);background:var(--hover-bg);border-color:var(--border)}.strip-reset:disabled{opacity:.2;cursor:default}.strip-chips{flex:1;min-width:0;display:flex;align-items:center;gap:2px;overflow-x:auto;overflow-y:visible;scrollbar-width:none;-webkit-overflow-scrolling:touch}.strip-chips::-webkit-scrollbar{display:none}.strip-chip.strip-chip--warn{border-color:color-mix(in srgb,#f97316 35%,transparent)}.chip-data-warning{flex-shrink:0;width:14px;height:14px;padding:0;margin:0;border:none;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;line-height:1;color:#fff;background:#ea580c;cursor:pointer}[data-theme=light] .chip-data-warning{box-shadow:0 0 0 1px #0000001f}.chip-data-warning:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.chip-error-popover{width:min(92vw,320px);padding:12px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--border);box-shadow:0 4px 24px #0000001f,0 0 0 1px #0000000a}.chip-error-popover__title{margin:0 0 8px;font-size:.8125rem;font-weight:600;color:var(--text)}.chip-error-popover__lead{margin:0 0 10px;font-size:.75rem;line-height:1.45;color:var(--text-muted)}.chip-error-popover__detail{margin:0 0 12px;font-size:.75rem;line-height:1.45;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;word-break:break-word}.chip-error-popover__close{padding:6px 12px;font-size:.75rem;font-weight:500;border-radius:6px;border:1px solid var(--border);background:var(--hover-bg);color:var(--text);cursor:pointer}.chip-error-popover__close:hover{background:color-mix(in srgb,var(--hover-bg) 70%,var(--text) 4%)}.strip-chip{display:flex;align-items:center;gap:5px;padding:5px 8px 5px 6px;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid transparent;transition:background .12s ease,border-color .12s ease,opacity .18s ease}.strip-chip:hover{background:var(--hover-bg)}.strip-chip.focused{background:var(--hover-bg);border-color:var(--border)}.strip-chip.dimmed{opacity:.28}.swatch{width:11px;height:11px;border-radius:50%;border:none;cursor:pointer;padding:0;display:block;flex-shrink:0;outline:none;transition:transform .12s ease,box-shadow .12s ease}.swatch:hover{transform:scale(1.3);box-shadow:0 0 0 2px var(--border)}.swatch.swatch--open{transform:scale(1.25);box-shadow:0 0 0 2px var(--text-muted)}.chip-ticker{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text)}.chip-exch{font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.chip-pct{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1;transition:color .5s ease}.chip-price{font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums;letter-spacing:.01em}.chip-live{font-size:9px;color:var(--text-dim);font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-left:2px}.chip-remove{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:14px;line-height:1;padding:0 1px;opacity:0;transition:opacity .1s ease,color .1s ease}.strip-chip:hover .chip-remove{opacity:1}.chip-remove:hover{color:#ef4444}.strip-info{flex-shrink:0;width:18px;height:18px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;background:none;color:var(--text-dim);font-size:10px;font-weight:600;cursor:help;outline:none;transition:color .12s ease,border-color .12s ease,background .12s ease}.strip-info:hover,.strip-info:focus-visible{color:var(--text-muted);border-color:var(--border);background:var(--hover-bg)}.strip-info:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.strip-add{flex-shrink:0;display:flex;align-items:center}.strip-search-wrap{position:relative;display:flex;align-items:center}.strip-input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text);font-size:12px;font-family:inherit;padding:5px 28px 5px 10px;width:140px;outline:none;transition:border-color .15s ease;-webkit-font-smoothing:antialiased}.strip-input:focus{border-color:var(--text-muted)}.strip-input:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.strip-input::placeholder{color:var(--text-dim);letter-spacing:.01em}.strip-add--hint .strip-input{animation:strip-input-attn 3s ease-in-out infinite}@keyframes strip-input-attn{0%,to{border-color:var(--input-border);box-shadow:none}50%{border-color:var(--text-muted);box-shadow:0 0 0 1px color-mix(in srgb,var(--text-muted) 28%,transparent)}}@media(prefers-reduced-motion:reduce){.strip-add--hint .strip-input{animation:none}}.strip-search-spinner{position:absolute;right:9px;width:10px;height:10px;border:2px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;pointer-events:none;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.strip-dropdown{position:absolute;bottom:calc(100% + 6px);right:0;min-width:280px;max-width:360px;max-height:280px;overflow-y:auto;background:var(--strip-bg);border:1px solid var(--input-border);border-radius:10px;z-index:100;scrollbar-width:thin;scrollbar-color:var(--border) transparent;animation:dropdown-in .1s cubic-bezier(.22,1,.36,1);box-shadow:0 -4px 20px #0000003d,0 -1px 4px #0000001f}[data-theme=light] .strip-dropdown{box-shadow:0 -4px 20px #0000001a,0 -1px 4px #0000000f}.strip-dropdown::-webkit-scrollbar{width:4px}.strip-dropdown::-webkit-scrollbar-track{background:transparent}.strip-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@keyframes dropdown-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.strip-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text);transition:background .08s ease}.strip-dropdown-item:hover,.strip-dropdown-item.highlighted{background:var(--hover-bg)}.strip-dropdown-item:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.chip-error-popover__close:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.swatch:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.strip-search-spinner{animation:none;border-top-color:var(--text-muted);opacity:.65}.strip-dropdown,.portal-popup{animation:none}}.strip-dropdown-item:first-child{border-radius:9px 9px 0 0}.strip-dropdown-item:last-child{border-radius:0 0 9px 9px}.strip-dropdown-item:only-child{border-radius:9px}.sd-symbol{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--text);min-width:60px}.sd-name{font-size:11px;color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-exchange{font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);flex-shrink:0}.portal-popup{filter:drop-shadow(0 2px 8px rgba(0,0,0,.18)) drop-shadow(0 8px 32px rgba(0,0,0,.32));animation:popup-in .14s cubic-bezier(.22,1,.36,1)}[data-theme=light] .portal-popup{filter:drop-shadow(0 2px 8px rgba(0,0,0,.08)) drop-shadow(0 8px 28px rgba(0,0,0,.14))}@keyframes popup-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:639px){.strip{padding:0 10px;gap:6px}.strip-chips{gap:4px;padding:2px 0;scroll-padding-inline:4px}.chip-remove{min-width:32px;min-height:32px;margin:-6px -4px -6px 0;padding:0 6px;display:grid;place-items:center;opacity:.45}.strip-chip:hover .chip-remove,.strip-chip:focus-within .chip-remove,.strip-chip:active .chip-remove{opacity:1}.strip-reset{width:36px;height:36px;border-radius:8px}.strip-input{width:110px;min-height:36px;padding:6px 26px 6px 10px}}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;opacity:1;transition:opacity .7s ease}.splash--out{opacity:0;pointer-events:none}.splash-logo{height:42px;width:auto;display:block;filter:var(--logo-filter);animation:splash-breathe 2s ease-in-out infinite}.splash-rule{width:80px;height:1px;background:var(--border);animation:splash-breathe 2s ease-in-out infinite;animation-delay:.15s}@keyframes splash-breathe{0%,to{opacity:.4}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.splash{transition:opacity .2s ease}.splash-logo,.splash-rule{animation:none;opacity:.85}}.trp{position:absolute;bottom:64px;left:18px;display:flex;align-items:center;gap:2px;z-index:10;pointer-events:auto;padding:3px 5px;border-radius:5px;background:color-mix(in srgb,var(--chart-bg, var(--bg)) 72%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.trp-btn{background:none;border:none;padding:3px 6px;font-size:10px;font-weight:500;letter-spacing:.04em;color:var(--text-dim);cursor:pointer;border-radius:3px;transition:color .2s ease,background .2s ease;line-height:1;display:flex;align-items:center;gap:5px}.trp-btn:hover{color:var(--text-muted)}.trp-btn--active{color:var(--text);background:var(--hover-bg)}.trp-btn--live{font-size:11px;letter-spacing:.06em;padding:3px 7px}.trp-live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--text-dim);flex-shrink:0;transition:background .3s ease}.trp-live-dot--on{background:#22c55e;box-shadow:0 0 #22c55e59;animation:live-pulse 2.8s cubic-bezier(.45,0,.55,1) infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #22c55e47}50%{opacity:.86;transform:scale(.92);box-shadow:0 0 5px 1px #22c55e38}}.trp-divider{width:1px;height:10px;background:var(--border);margin:0 4px;flex-shrink:0}.trp-btn--reset{padding:3px 5px}.trp-btn--reset:disabled{opacity:.35;cursor:default}.trp-btn--reset:not(:disabled):hover{color:var(--text-muted)}.trp-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){.trp-live-dot--on{animation:none;opacity:1;transform:none}}.trp-reset-icon{display:block;width:14px;height:14px}@media(max-width:639px){.trp{left:8px;right:8px;bottom:58px;max-width:calc(100vw - 16px);overflow-x:auto;flex-wrap:nowrap;gap:4px;scroll-snap-type:x proximity;scrollbar-width:thin}.trp-btn{flex-shrink:0;padding:6px 9px;font-size:11px;scroll-snap-align:start}.trp-btn--live{padding:6px 10px}.trp-btn--reset{padding:6px 8px}}
