@layer tokens,base,app;@layer tokens{:root{color-scheme:dark;--md-sys-color-primary: #4da3ff;--md-sys-color-on-primary: #001b34;--md-sys-color-primary-container: #00325f;--md-sys-color-on-primary-container: #d6e3ff;--md-sys-color-background: #101010;--md-sys-color-surface: #181818;--md-sys-color-surface-container-low: #1e1e1e;--md-sys-color-surface-container: #232323;--md-sys-color-surface-container-high: #2a2a2a;--md-sys-color-surface-container-highest: #323232;--md-sys-color-on-surface: #e6e6e6;--md-sys-color-on-surface-variant: #b3b3b3;--md-sys-color-outline: #666666;--md-sys-color-outline-variant: #333333;--md-sys-color-error: #ef4444;--md-sys-color-on-error: #1b0006;--md-sys-elevation-1: 0 1px 2px rgba(0, 0, 0, .35);--md-sys-elevation-2: 0 4px 10px rgba(0, 0, 0, .35);--md-sys-elevation-3: 0 10px 30px rgba(0, 0, 0, .35);--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 3px;--md-sys-shape-corner-medium: 6px;--md-sys-shape-corner-large: 8px;--font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--topbar-h: 48px;--status-h: 0px;--leftbar-w: 50px;--rightbar-w: 400px;--rightdock-w: 0px;--rightrail-w: 46px;--bottombody-h: 240px;--bottomrail-h: 44px;--radius-control: var(--md-sys-shape-corner-small);--radius-surface: var(--radius-control);--radius-chip: var(--radius-control);--radius-panel: var(--radius-control);--state-hover-bg: color-mix(in srgb, var(--md-sys-color-on-surface) 6%, transparent);--state-hover-border: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);--state-selected-bg: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);--state-selected-border: color-mix(in srgb, var(--md-sys-color-on-surface) 18%, transparent);--state-drag-bg: color-mix(in srgb, var(--md-sys-color-on-surface) 8%, transparent);--focus: 0 0 0 3px color-mix(in srgb, var(--md-sys-color-on-surface) 22%, transparent);--brand: var(--md-sys-color-primary);--green: #22c55e;--red: var(--md-sys-color-error);--bg0: var(--md-sys-color-background);--bg1: var(--md-sys-color-surface);--panel: var(--md-sys-color-surface-container);--panel2: var(--md-sys-color-surface-container-high);--modal: var(--md-sys-color-surface-container-highest);--modal2: var(--md-sys-color-surface-container-high);--line: var(--md-sys-color-outline-variant);--line2: color-mix(in srgb, var(--md-sys-color-outline) 55%, var(--md-sys-color-outline-variant));--text: var(--md-sys-color-on-surface);--muted: var(--md-sys-color-on-surface-variant);--muted2: color-mix(in srgb, var(--md-sys-color-on-surface-variant) 78%, var(--md-sys-color-on-surface));--shadow: var(--md-sys-elevation-3);--btn: var(--md-sys-color-surface-container-high);--btnHover: color-mix(in srgb, var(--md-sys-color-on-surface) 6%, var(--btn));--topbar-btn: var(--btn);--topbar-btnHover: var(--btnHover);--topbar-btnBorder: var(--line);--chart-bg: #000000;--chart-border: rgba(255, 255, 255, .12);--chart-border-hover: color-mix(in srgb, var(--text) 65%, transparent);--chart-border-active: var(--text);--chart-border-w: 2px;--chart-axis-w: 72px;--indlist-font: var(--font);--indlist-font-size: 11px;--indlist-text: rgba(255, 255, 255, .62);--indlist-border: rgba(255, 255, 255, .1);--indlist-bg: rgba(15, 16, 18, .4);--indlist-toggle-bg: rgba(15, 16, 18, .24);--indlist-remove-bg: rgba(0, 0, 0, .2)}html[data-theme=light]{color-scheme:light;--md-sys-color-primary: #4a5568;--md-sys-color-on-primary: #f8fafc;--md-sys-color-primary-container: #e2e6ee;--md-sys-color-on-primary-container: #0f172a;--md-sys-color-background: #f6f6f7;--md-sys-color-surface: #ffffff;--md-sys-color-surface-container-low: #f9f9f9;--md-sys-color-surface-container: #f4f4f4;--md-sys-color-surface-container-high: #ececec;--md-sys-color-surface-container-highest: #e3e3e3;--md-sys-color-on-surface: #0b1220;--md-sys-color-on-surface-variant: #4b5b73;--md-sys-color-outline: #8b9ab3;--md-sys-color-outline-variant: #e3e9f3;--md-sys-elevation-1: 0 1px 2px rgba(15, 23, 42, .12);--md-sys-elevation-2: 0 6px 16px rgba(15, 23, 42, .12);--md-sys-elevation-3: 0 12px 30px rgba(15, 23, 42, .12);--shadow: var(--md-sys-elevation-3);--focus: 0 0 0 3px color-mix(in srgb, var(--md-sys-color-on-surface) 28%, transparent);--topbar-btn: var(--btn);--topbar-btnHover: var(--btnHover);--topbar-btnBorder: var(--line);--chart-bg: #ffffff;--chart-border: rgba(11, 18, 32, .12);--chart-border-hover: rgba(11, 18, 32, .3);--chart-border-active: var(--text);--chart-border-w: 2px;--indlist-text: rgba(11, 18, 32, .62);--indlist-border: rgba(11, 18, 32, .12);--indlist-bg: rgba(255, 255, 255, .4);--indlist-toggle-bg: rgba(255, 255, 255, .38);--indlist-remove-bg: rgba(11, 18, 32, .05)}}@layer base{*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);background:var(--bg0);color:var(--text);overflow:hidden}.ms{font-family:Material Symbols Outlined;font-weight:450;font-style:normal;font-size:18px;line-height:1;display:inline-flex;text-transform:none;letter-spacing:normal;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.mono{font-family:var(--mono)}}@layer app{.app{height:100%;display:grid;grid-template-rows:var(--topbar-h) 1fr}.app.bottom-collapsed .center{grid-template-rows:1fr 0px 0px var(--bottomrail-h)}.app.bottom-collapsed .splitter-h{display:none}.app.right-dock-open{--rightdock-w: var(--rightbar-w)}.app:not(.right-dock-open){--rightdock-w: 0px}.topbar{height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid var(--line);background:var(--bg1)}.bottomrail .bottomrail-more{display:none}.top-left,.top-mid,.top-right{display:flex;align-items:center;gap:8px;min-width:0}.logo{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-control);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.logo:hover{background:var(--state-hover-bg);border-color:var(--state-hover-border)}.logo-badge{width:26px;height:26px;border-radius:var(--radius-chip);background:var(--brand);display:grid;place-items:center;box-shadow:var(--shadow);color:#fff}.logo-name{font-weight:650;letter-spacing:.2px;font-size:13px;opacity:.95;white-space:nowrap}.btn{height:32px;padding:0 10px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--btn);color:var(--text);display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:12.5px}.btn:hover{background:var(--btnHover)}.btn:active{transform:translateY(1px)}.btn:focus{outline:none;box-shadow:var(--focus)}.btn.active{background:var(--state-selected-bg);border-color:var(--state-selected-border)}.btn .ms{font-size:18px;opacity:.95}.btn-ghost{border:1px solid transparent;background:transparent}.btn-ghost:hover{border-color:var(--state-hover-border);background:var(--state-hover-bg)}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--textSecondary)}.auth-loading .material-symbols-rounded{font-size:32px}.topbar .btn,.topbar .pill,.topbar .btn-ghost{background:var(--topbar-btn);border-color:var(--topbar-btnBorder);color:var(--text)}.topbar .btn:hover,.topbar .pill:hover,.topbar .btn-ghost:hover{background:var(--topbar-btnHover)}.pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--btn);min-width:0;cursor:pointer}.pill .sym{font-weight:700;font-size:12.5px;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.pill .sub{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.pill .sep{width:1px;height:18px;background:var(--line)}.kbd{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);background:color-mix(in srgb,var(--text) 3%,transparent);padding:2px 6px;border-radius:var(--radius-chip)}.workspace{height:calc(100vh - var(--topbar-h));height:calc(100dvh - var(--topbar-h));display:flex;overflow:hidden}.leftbar{width:var(--leftbar-w);border-right:1px solid var(--line);background:var(--bg1);display:flex;flex-direction:column;padding:8px 6px;gap:6px;flex:0 0 auto}.tool{width:38px;height:38px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.tool:hover{background:var(--state-hover-bg);border-color:var(--state-hover-border)}.tool.active{background:var(--state-selected-bg);border-color:var(--state-selected-border)}.tool .ms{font-size:20px;opacity:.95}.tool[data-tool=trend2] .ms,.toolgroup-main[data-tool=trend2] .ms,.toolgroup-item[data-tool=trend2] .ms{transform:rotate(-28deg);display:inline-block}.tool .dot{position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:999px;background:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 15%,transparent);display:none}.tool.active .dot{display:block}.toolsoverlay{display:flex;flex-direction:column;gap:14px}.toolsoverlay-title{font-size:11.5px;font-weight:750;letter-spacing:.2px;color:var(--muted2);padding:2px 2px 6px}.toolsoverlay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(min-width:520px){.toolsoverlay-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.tool.toolsoverlay-btn{width:100%;height:44px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:color-mix(in srgb,var(--panel2) 60%,transparent)}.tool.toolsoverlay-btn:hover{background:color-mix(in srgb,var(--panel2) 72%,transparent)}.tool.toolsoverlay-btn .ms{font-size:20px}.toolsoverlay-label{font-size:12.5px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolgroup{position:relative;width:38px;display:flex}.toolgroup-main{width:26px;height:38px;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.toolgroup-arrow{position:relative;width:12px;height:38px;border-radius:0 var(--radius-control) var(--radius-control) 0;border-left:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.toolgroup-arrow .dot{display:none!important}.toolgroup-arrow .ms{font-size:14px;opacity:.8;transform:translate(-5px)}.toolgroup-menu{position:absolute;left:calc(100% + 8px);top:0;min-width:220px;padding:6px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--bg1);box-shadow:0 10px 30px #00000040;z-index:50}.toolgroup-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;text-align:left}.toolgroup-item:hover{background:var(--state-hover-bg);border-color:var(--state-hover-border)}.toolgroup-item .ms{font-size:18px;opacity:.9}.toolgroup-item-title{font-size:12px;opacity:.92}.leftbar-spacer{flex:1}.center{flex:1 1 auto;min-width:0;display:grid;grid-template-rows:1fr 6px var(--bottombody-h) var(--bottomrail-h);overflow:hidden;background:var(--bg0);position:relative}.splitter-h{height:6px;cursor:ns-resize;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);touch-action:none}.splitter-h:hover{background:var(--state-drag-bg)}.chartwrap{position:relative;overflow:hidden;background:var(--chart-bg)}.chart-grid{position:absolute;inset:0 0 var(--status-h) 0;display:grid;gap:1px;background:var(--line)}.chart-grid[data-layout="1x1"]{grid-template-columns:1fr;grid-template-rows:1fr}.chart-grid[data-layout="1x2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.chart-grid[data-layout="2x1"]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.chart-grid[data-layout="2x2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.chart-grid[data-layout="2x3"]{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr}.chart-cell{position:relative;overflow:hidden;background:var(--chart-bg);transition:box-shadow .16s ease}.chart-cell:after{content:"";position:absolute;inset:0;border:var(--chart-border-w) solid transparent;pointer-events:none;box-sizing:border-box}.chart-grid[data-layout="1x2"] .chart-cell:after,.chart-grid[data-layout="2x1"] .chart-cell:after,.chart-grid[data-layout="2x2"] .chart-cell:after,.chart-grid[data-layout="2x3"] .chart-cell:after{border-color:var(--chart-border)}.chart-grid[data-layout="1x2"] .chart-cell.active:after,.chart-grid[data-layout="2x1"] .chart-cell.active:after,.chart-grid[data-layout="2x2"] .chart-cell.active:after,.chart-grid[data-layout="2x3"] .chart-cell.active:after{border-color:var(--chart-border-active)}.chart-stack{position:absolute;inset:0;display:flex;flex-direction:column;min-height:0}.chart-layer{position:relative;overflow:hidden;background:var(--chart-bg);min-height:0}.chart-layer canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:var(--chart-bg);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.chart-pane{position:relative;overflow:hidden;background:var(--chart-bg);min-height:0}.pane-splitter{height:6px;cursor:ns-resize;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);touch-action:none}.pane-splitter:hover{background:var(--state-drag-bg)}.pane-header{position:absolute;top:8px;right:var(--chart-axis-w);z-index:22;display:flex;align-items:center;gap:8px;padding:0;border-radius:8px;border:none;background:transparent;color:var(--indlist-text);font-family:var(--indlist-font);font-size:var(--indlist-font-size);font-weight:600;box-shadow:none;line-height:1.2;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease;max-width:calc(100% - 20px)}.chart-pane:hover .pane-header,.chart-pane:focus-within .pane-header{opacity:1;transform:translateY(0);pointer-events:auto}.pane-label{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-family:var(--indlist-font);max-width:calc(100% - 24px);pointer-events:auto}.pane-label .legend-list{display:flex;flex-direction:column;gap:6px}.indicator-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.indicator-chip{padding:1px;border-radius:var(--radius-chip);border:1px solid var(--indlist-border);background:var(--indlist-bg);color:var(--indlist-text);font-family:var(--indlist-font);font-size:var(--indlist-font-size);font-weight:600}.icon-chip{--icon-chip-radius: 8px;width:22px;height:22px;border-radius:var(--icon-chip-radius);border:none;background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center;padding:0;box-sizing:border-box;line-height:1;transition:border-color .14s ease,background .14s ease}.icon-chip .ms{display:block;line-height:1;font-size:18px}.icon-chip:disabled{opacity:.45;cursor:not-allowed}.indicator-actions{display:inline-flex;align-items:center;gap:1px}.indicator-title{display:inline-flex;gap:8px;align-items:baseline;min-width:0}.indicator-title .params{color:inherit;font-weight:700}.indicator-row.disabled .indicator-title,.indicator-row.disabled .values{opacity:.72}.pane-label .values{display:inline-flex;gap:8px;font-variant-numeric:tabular-nums;flex-wrap:wrap}.pane-header .name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-header .spacer{margin-left:auto}.pane-header .actions{display:flex;gap:6px;align-items:center}.pane-header .icon{--icon-chip-radius: 1px}.chart-overlay{position:absolute;top:0;left:5px;z-index:20;padding:2px 10px;border:1px solid var(--indlist-border);background:var(--indlist-bg);box-shadow:0 8px 22px #00000029;pointer-events:none;color:var(--indlist-text);font-weight:400;font-size:14px;line-height:1.2}.pane-label.chart-overlay{pointer-events:auto;padding:0;border:none;background:transparent;box-shadow:none}.chart-title{display:flex;align-items:center;gap:8px}.chart-title .title-security{font-size:12px;letter-spacing:.01em}.chart-title .title-timeframe{color:inherit;font-weight:700}.chart-title .title-basis{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.92}.chart-title .title-ohlcv{font-variant-numeric:tabular-nums;white-space:nowrap}.chart-title .title-dot{width:6px;height:6px;border-radius:999px;background:color-mix(in srgb,var(--text) 45%,transparent);opacity:.8;flex-shrink:0}.running-indicators{position:absolute;top:34px;left:12px;z-index:21;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 24px);pointer-events:auto}.running-indicators .toggle{width:26px;height:26px;border-radius:8px;border:1px solid var(--indlist-border);background:var(--indlist-toggle-bg);color:var(--indlist-text);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 28px #0000002e}.running-indicators .items{display:flex;flex-direction:column;gap:6px;min-width:160px;max-width:min(520px,calc(100vw - 90px))}.running-indicators.collapsed .items{display:none}.running-indicators .item .name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.running-indicators .item .values{display:inline-flex;gap:8px;font-variant-numeric:tabular-nums;flex-wrap:wrap;color:var(--muted)}.running-indicators .item .values .val{white-space:nowrap}.running-indicators .item .settings:disabled{opacity:.45;cursor:not-allowed}.status{position:absolute;left:0;right:0;bottom:0;height:var(--status-h);display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-top:1px solid var(--line);background:var(--bg1);font-size:12px;color:var(--muted)}.status .mono{color:var(--muted2)}.bottombody{border-top:1px solid var(--line);background:var(--panel);overflow:auto;padding:10px 12px;font-family:var(--mono);font-size:12px;color:var(--muted);min-height:0}.codebox{border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--text) 8%,transparent);padding:12px;min-height:140px;white-space:pre;overflow:auto}.bottompanel{min-height:0}.brokers-panel{font-family:var(--font);color:var(--text)}.backtest-panel{font-family:var(--font);color:var(--text);display:flex;flex-direction:column;gap:10px;min-height:0}.backtest-empty{padding:8px 0;display:flex;flex-direction:column;gap:4px}.backtest-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 12px}.backtest-title{font-weight:800;font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backtest-sub{font-size:12px;color:var(--muted2);margin-top:2px}.backtest-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.backtest-tabs{display:flex;align-items:center;gap:6px}.backtest-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}@media(max-width:980px){.backtest-metrics-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}.backtest-metric{border-radius:var(--radius-surface);border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 60%,transparent);padding:10px 12px;min-width:0}.backtest-metric .k{font-size:11.5px;color:var(--muted2)}.backtest-metric .v{margin-top:4px;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}.backtest-table{width:100%;border-collapse:collapse;font-size:12px}.backtest-table th,.backtest-table td{padding:7px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);white-space:nowrap}.backtest-table th{text-align:left;color:var(--muted2);font-weight:700;background:color-mix(in srgb,var(--panel2) 60%,transparent);position:sticky;top:0}.backtest-table td.num,.backtest-table th.num{text-align:right;font-variant-numeric:tabular-nums}.backtest-table tbody tr:hover{background:var(--state-hover-bg)}.backtest-table tbody tr.selected{background:var(--state-selected-bg)}.brokers-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 12px;margin-bottom:10px}.brokers-toolbar .row,.brokers-toolbar-row{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:8px}.brokers-toolbar .lbl{font-size:12px;color:var(--muted2)}.brokers-select{height:32px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--bg1);color:var(--text);padding:0 10px}.brokers-select:focus{outline:none;box-shadow:var(--focus);border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.brokers-toolbar .actions{display:inline-flex;align-items:center;gap:8px}.brokers-toolbar .toolbar-status{color:var(--muted2);font-size:12px;margin-left:auto}.brokers-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:980px){.brokers-grid{grid-template-columns:1fr 1fr}}.brokers-card{border:1px solid var(--line);border-radius:var(--radius-surface);background:color-mix(in srgb,var(--panel2) 70%,transparent);padding:10px;min-height:0}.brokers-card .title{font-size:12.5px;font-weight:800;margin-bottom:8px;color:var(--text);letter-spacing:.2px}.brokers-card .kv{display:grid;grid-template-columns:120px 1fr;gap:6px 10px;align-items:center}.brokers-card .kv .k{color:var(--muted2);font-size:12px}.brokers-card .kv .v{text-align:right}.brokers-connect{padding:10px 2px}.modal.brokers-connect-modal{width:min(920px,calc(100vw - 28px));height:min(680px,calc(100vh - 120px))}.modal.brokers-connect-modal .body{display:block;padding:0 10px 10px;overflow:auto}.brokers-connect-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.brokers-connect-title{font-weight:900;letter-spacing:.2px;margin-bottom:4px}.brokers-connect-sub{font-size:12px;color:var(--muted2)}.brokers-connect-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:color-mix(in srgb,var(--panel2) 60%,transparent);min-width:220px}.brokers-connect-search .search{border:none;outline:none;background:transparent;color:var(--text);width:220px;min-width:0}.broker-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(min-width:980px){.broker-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.broker-tile{text-align:center;border:1px solid var(--line);border-radius:var(--radius-surface);background:color-mix(in srgb,var(--panel2) 70%,transparent);padding:12px 10px;cursor:pointer;transition:transform .08s ease,border-color .08s ease}.broker-tile:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 55%,var(--line))}.broker-tile-icon{width:44px;height:44px;border-radius:12px;margin:0 auto 10px;display:grid;place-items:center;background:color-mix(in srgb,var(--text) 7%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.broker-tile-icon .ms{font-size:24px;color:var(--text)}.broker-tile-name{font-weight:800;margin-bottom:4px}.broker-tile-sub{font-size:12px;color:var(--muted2);margin-bottom:10px}.broker-tile-status{font-size:12px;color:var(--muted2)}.broker-tile-status.ok{color:var(--pos)}.broker-tile--connected{border-color:color-mix(in srgb,var(--pos) 55%,var(--line))}.tblwrap{overflow:auto;border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--bg1)}.brokers-table{width:100%;border-collapse:collapse;font-size:12px}.brokers-table th,.brokers-table td{padding:7px 8px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);white-space:nowrap}.brokers-table th{text-align:left;color:var(--muted2);font-weight:700;background:color-mix(in srgb,var(--panel2) 60%,transparent);position:sticky;top:0}.brokers-table td.num,.brokers-table th.num{text-align:right;font-variant-numeric:tabular-nums}.modal.broker-creds-modal{width:min(460px,calc(100vw - 32px));height:auto;max-height:min(420px,calc(100vh - 140px))}.modal-scrim.broker-dialog-scrim{background:#000000b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal.broker-dialog-modal{overflow:hidden}.modal.broker-dialog-modal .head{padding:6px 8px 6px 10px}.modal.broker-dialog-modal .head .title{font-size:13.5px;gap:10px}.modal.broker-dialog-modal .head .title .ms{font-size:16px;color:var(--brand)}.modal.broker-dialog-modal .body{padding:10px;display:flex;flex-direction:column;gap:10px;font-family:var(--font)}.broker-dialog-form{display:flex;flex-direction:column;gap:10px}.broker-dialog-broker{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 60%,transparent)}.broker-dialog-broker.connected{border-color:color-mix(in srgb,var(--pos) 55%,var(--line))}.broker-dialog-broker .icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--text) 7%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.broker-dialog-broker .icon .ms{font-size:20px;color:var(--text)}.broker-dialog-broker .meta{min-width:0;flex:1}.broker-dialog-broker .name{font-weight:850;font-size:13px;letter-spacing:.2px}.broker-dialog-broker .sub{font-size:11.5px;color:var(--muted2)}.broker-dialog-fileinput{display:none}.broker-dialog-drop{width:100%;border-radius:10px;border:2px dashed color-mix(in srgb,var(--brand) 55%,var(--line));background:color-mix(in srgb,var(--modal2) 70%,transparent);padding:12px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:background .12s ease,border-color .12s ease,transform .12s ease}.broker-dialog-drop:hover,.broker-dialog-drop.dragover{background:color-mix(in srgb,var(--brand) 12%,var(--modal2));border-color:color-mix(in srgb,var(--brand) 75%,var(--line));transform:translateY(-1px)}.broker-dialog-drop:focus{outline:none;box-shadow:var(--focus)}.broker-dialog-drop .ms.upload{font-size:26px;color:var(--brand)}.broker-dialog-drop .t1{font-size:12.5px;font-weight:750;color:var(--text)}.broker-dialog-drop .t2{font-size:11.5px;color:var(--muted2)}.broker-dialog-filechip{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 60%,transparent);padding:8px 10px}.broker-dialog-filechip .fileinfo{display:flex;align-items:center;gap:10px;min-width:0}.broker-dialog-filechip .ms.file{font-size:18px;color:var(--brand)}.broker-dialog-filechip .lines{min-width:0}.broker-dialog-filechip .fname{font-size:12.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.broker-dialog-filechip .fsize{font-size:11.5px;color:var(--muted2)}.broker-dialog-muted{font-size:11.5px;color:var(--muted2);padding-left:2px}.broker-dialog-save{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted2);-webkit-user-select:none;user-select:none}.broker-dialog-save input{width:16px;height:16px;cursor:pointer}.broker-dialog-status{font-size:12px;line-height:1.35;padding:6px 8px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--modal2) 70%,transparent)}.broker-dialog-status.ok{border-color:color-mix(in srgb,var(--pos) 55%,var(--line));background:color-mix(in srgb,var(--pos) 10%,transparent);color:var(--pos)}.broker-dialog-status.error{border-color:color-mix(in srgb,var(--neg) 55%,var(--line));background:color-mix(in srgb,var(--neg) 10%,transparent);color:var(--neg)}.broker-dialog-status.neutral{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--text)}.broker-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.btn.sm{height:26px;padding:0 10px;font-size:12px}.btn.sm.btn-ai{border-radius:var(--radius-control);border-color:var(--line);background:var(--btn);box-shadow:none}.btn.sm.btn-ai:hover{background:var(--btnHover)}.iconbtn.sm{width:28px;height:28px}.bottomrail{height:var(--bottomrail-h);display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-top:1px solid var(--line);background:var(--panel2);overflow:hidden}.bottomrail-left{display:flex;align-items:center;gap:6px;min-width:0}.tab{height:32px;padding:0 10px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-size:12.5px;display:inline-flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none;white-space:nowrap}.tab:hover{background:var(--state-hover-bg);color:var(--text)}.tab.active{background:var(--state-selected-bg);border-color:var(--state-selected-border);color:var(--text)}.iconbtn{width:34px;height:34px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--btn);display:grid;place-items:center;cursor:pointer}.iconbtn:hover{background:var(--btnHover)}.iconbtn:focus{outline:none;box-shadow:var(--focus)}.text-editor{position:absolute;z-index:80;min-width:180px;max-width:360px;min-height:44px;resize:none;padding:10px 12px;border-radius:var(--radius-surface);border:1px solid color-mix(in srgb,var(--text) 14%,transparent);background:color-mix(in srgb,var(--panel2) 78%,transparent);color:var(--text);box-shadow:var(--shadow);outline:none;font-family:var(--font);font-size:12.5px;line-height:1.35;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.rightdock{width:var(--rightdock-w);flex:0 0 auto;overflow:hidden;background:var(--bg1);position:relative;transition:none}.app.right-dock-open .rightdock{border-left:1px solid var(--line)}.rightdock-inner{height:100%;display:grid;grid-template-rows:44px 1fr;width:var(--rightbar-w)}.rightdock-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 10px;border-bottom:1px solid var(--line);background:var(--panel2);gap:8px}.rightdock-title{display:flex;align-items:center;gap:10px;min-width:0;font-size:12.5px;font-weight:750;letter-spacing:.2px}.dock-body{overflow:auto;padding:10px}.dock-body.dock-body-watchlist{overflow:hidden}#dockWatchlist{height:100%}.section{display:flex;align-items:center;justify-content:space-between;padding:6px 4px;color:var(--muted);font-size:12px;letter-spacing:.2px;text-transform:uppercase}.list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.watchlist-dock{height:100%;display:flex;flex-direction:column;min-height:0}.watchlist-split{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.watchlist-top{min-height:80px;overflow:auto;padding-right:2px}.watchlist-split .gutter.gutter-vertical{height:10px;flex:0 0 auto;cursor:ns-resize;border-radius:999px;background:transparent;margin:2px 0 6px;position:relative;touch-action:none}.watchlist-split .gutter.gutter-vertical:after{content:"";position:absolute;left:25%;right:25%;top:50%;height:2px;transform:translateY(-50%);border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent)}.watchlist-split .gutter.gutter-vertical:hover{background:var(--state-drag-bg)}.watchlist-bottom{min-height:80px;overflow:auto;padding-right:2px}.wdetail{padding:10px;border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--text) 4%,transparent);margin-bottom:10px}.wdetail-sym{font-weight:850;font-size:13px;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wdetail-meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:11.5px;color:var(--muted2);min-width:0;flex-wrap:wrap}.wdetail-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}.wdetail-dot{width:5px;height:5px;border-radius:999px;background:color-mix(in srgb,var(--text) 22%,transparent);flex-shrink:0}.drawing-props-panel{--drawing-toolbar-item-size: 26px;position:absolute;top:8px;left:50%;right:auto;transform:translate(-50%);z-index:24;display:block;box-sizing:border-box;max-width:calc(100% - var(--chart-axis-w) - 24px);width:min(max-content,calc(100% - var(--chart-axis-w) - 24px));padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-control);background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 10px 28px #00000038;pointer-events:auto;overflow-x:auto;overflow-y:hidden}.drawing-props-panel[data-menu-open="1"]{overflow:visible}.drawing-props-bar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:max-content;min-width:max-content}.drawing-props-grip{width:22px;height:var(--drawing-toolbar-item-size);border-radius:var(--radius-control);border:1px solid transparent;background:transparent;cursor:grab;padding:0;position:relative}.drawing-props-grip:active{cursor:grabbing}.drawing-props-grip:before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%);background:radial-gradient(circle,color-mix(in srgb,var(--text) 45%,transparent) 2px,transparent 2.5px) 0 0 / 6px 6px;opacity:.85}.drawing-props-color{width:28px;height:28px;border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 82%,transparent);overflow:hidden;cursor:pointer}.drawing-props-color input[type=color]{width:42px;height:42px;padding:0;border:none;background:transparent;transform:translate(-7px,-7px);cursor:pointer}.drawing-props-colorwrap{position:relative;width:var(--drawing-toolbar-item-size);height:var(--drawing-toolbar-item-size);flex:0 0 var(--drawing-toolbar-item-size)}.drawing-props-colorbtn{width:var(--drawing-toolbar-item-size);height:var(--drawing-toolbar-item-size);box-sizing:border-box;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--c);cursor:pointer;box-shadow:none;padding:0;display:block;appearance:none}.drawing-props-colorbtn:hover{box-shadow:none;border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.drawing-props-colormenu{--drawing-swatch-size: 20px;position:absolute;top:calc(100% + 8px);left:0;display:none;width:max-content;min-width:0;max-width:calc(100vw - 40px);padding:8px;border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 14px 34px #00000047;z-index:3}.drawing-props-colorwrap[data-open="1"] .drawing-props-colormenu{display:block}.drawing-props-grid{display:grid;grid-template-columns:repeat(5,var(--drawing-swatch-size));justify-content:start;gap:4px;width:max-content;margin-top:0}.drawing-props-recent{display:flex;flex-wrap:wrap;gap:4px;width:max-content;max-width:116px;margin-bottom:6px}.drawing-props-sq{width:var(--drawing-swatch-size);height:var(--drawing-swatch-size);border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--line) 78%,transparent);background:var(--c);cursor:pointer;padding:0;filter:none;box-shadow:none}.drawing-props-sq:hover{border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.drawing-props-sq.active{border-color:color-mix(in srgb,var(--brand) 70%,transparent);box-shadow:none}.drawing-props-widthwrap{position:relative}.drawing-props-widthbtn{height:var(--drawing-toolbar-item-size);min-width:54px;padding:0 10px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 82%,transparent);color:var(--text);cursor:pointer;font-size:12px;border-radius:var(--radius-control);font-family:var(--mono)}.drawing-props-widthbtn:hover{background:var(--state-hover-bg)}.drawing-props-menu{position:absolute;top:calc(100% + 6px);left:0;right:auto;display:none;padding:4px;border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 12px 28px #00000038;z-index:2;width:max-content;min-width:0}.drawing-props-menu--list{display:none;flex-direction:column;align-items:stretch}.drawing-props-widthwrap[data-open="1"] .drawing-props-menu,.drawing-props-patternwrap[data-open="1"] .drawing-props-menu{display:flex}.drawing-props-menuitem{width:max-content;height:30px;border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 82%,transparent);cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 8px;margin:0;min-width:0;max-width:100%;white-space:nowrap}.drawing-props-menuitem+.drawing-props-menuitem{margin-top:4px}.drawing-props-menuitem:hover{background:var(--state-hover-bg)}.drawing-props-menuitem.active{border-color:color-mix(in srgb,var(--brand) 65%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 35%,transparent)}.drawing-props-strokepreview{width:18px;height:0;border-top:max(1px,calc(var(--sw) * 1px)) solid color-mix(in srgb,var(--text) 85%,transparent);border-radius:1px}.drawing-props-menuitem-label{font-size:12px;color:var(--text);font-family:var(--mono)}.drawing-props-patternwrap{position:relative}.drawing-props-stylebtn{width:var(--drawing-toolbar-item-size);height:var(--drawing-toolbar-item-size);border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 82%,transparent);cursor:pointer;padding:0;position:relative;display:grid;place-items:center}.drawing-props-stylebtn:hover{background:var(--state-hover-bg)}.drawing-props-patternpreview{--drawing-pattern-color: color-mix(in srgb, var(--text) 85%, transparent);display:block;width:15px;height:2px;background:var(--drawing-pattern-color);border-radius:999px}.drawing-props-patternpreview[data-pattern=dashed]{background:repeating-linear-gradient(to right,var(--drawing-pattern-color) 0 3px,transparent 3px 6px)}.drawing-props-patternpreview[data-pattern=dotted]{background:repeating-linear-gradient(to right,var(--drawing-pattern-color) 0 1px,transparent 1px 4px)}.drawing-props-menuitem--pattern{width:44px;min-width:44px;justify-content:center;padding:0}.drawing-props-patternwrap .drawing-props-menu{width:fit-content;min-width:0}.drawing-props-select,.drawing-props-input{height:28px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 82%,transparent);color:var(--text);padding:0 8px;font-size:12px;min-width:110px}.drawing-props-select--compact{min-width:84px;width:auto;max-width:128px;padding:0 6px}.drawing-props-select:focus,.drawing-props-input:focus{outline:none;box-shadow:var(--focus)}.drawing-props-range-wrap{display:inline-flex;align-items:center;gap:8px;min-width:140px}.drawing-props-range{width:110px;accent-color:color-mix(in srgb,var(--brand) 70%,transparent)}.drawing-props-value{min-width:34px;text-align:right;color:var(--muted2);font-size:11px;font-family:var(--mono)}.drawing-props-iconbtn{height:var(--drawing-toolbar-item-size);width:var(--drawing-toolbar-item-size);padding:0;border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 82%,transparent);color:var(--text);cursor:pointer;display:grid;place-items:center;border-radius:var(--radius-control)}.drawing-props-iconbtn .ms{font-size:18px;opacity:.9}.drawing-props-iconbtn:hover{background:var(--state-hover-bg)}.drawing-props-iconbtn.danger{border-color:color-mix(in srgb,var(--red) 55%,var(--line));color:color-mix(in srgb,var(--red) 75%,var(--text) 25%)}.wmetrics{display:grid;grid-template-columns:1fr;gap:10px;padding-bottom:8px}.wmetric{border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 65%,transparent);padding:10px 10px 8px}.wmetric-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.wmetric-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:750}.wmetric-period{font-size:11px;color:var(--muted2);display:inline-flex;align-items:center;position:relative}.wmetric-period-select{appearance:none;-webkit-appearance:none;font-size:11px;line-height:1.2;padding:2px 18px 2px 8px;border-radius:var(--md-sys-shape-corner-small);border:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 70%,transparent);color:var(--muted2);cursor:pointer}.wmetric-period:after{content:"expand_more";font-family:Material Symbols Outlined;font-weight:450;position:absolute;right:6px;top:50%;transform:translateY(-45%);font-size:18px;color:var(--muted2);pointer-events:none}.wmetric-spacer{margin-left:auto}.wmetric-value{font-weight:800;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text)}.wmetric-canvas{width:100%;height:120px;display:block}.wmetric-canvas.wmetric-canvas--empty{background:color-mix(in srgb,var(--text) 3%,transparent);border-radius:var(--radius-control)}.wmetric-foot{margin-top:6px;display:flex;justify-content:flex-end;font-size:11px;color:var(--muted2);font-variant-numeric:tabular-nums}.wmetric-ai-meta{margin-top:6px;font-size:11.5px;color:var(--muted2);line-height:1.35}.wmetric-ai-top{align-items:center}.wmetric-ai-age{margin-left:8px;font-size:11px;color:var(--muted2);font-variant-numeric:tabular-nums;white-space:nowrap}.wmetric-ai-headline{margin-top:6px;display:flex;align-items:flex-start;gap:6px;min-width:0;flex:1 1 auto}.wmetric-ai-headlineIcon{color:var(--muted2)}.wmetric-ai-headlineText{flex:1 1 auto;min-width:0;font-size:12px;font-weight:800;color:var(--text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.wmetric-ai-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.wmetric-ai-biasMini{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--aiColor) 55%,var(--line));background:color-mix(in srgb,var(--aiColor) var(--aiBgPct),transparent);min-width:0;flex:0 0 auto;white-space:nowrap;font-size:11px}.wmetric-ai-biasMini .ms{font-size:16px;color:var(--aiColor)}.wmetric-ai-settingsBtn{margin-left:0}.wmetric-ai-picker:after{right:5px}.wmetric-ai-select{padding:2px 16px 2px 7px;font-size:10.5px;max-width:210px}.wmetric-ai-error{margin-top:8px;font-size:12px;color:var(--neg)}.wmetric-ai-out{margin-top:8px;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.35;padding:8px 10px;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--text) 10%,transparent);background:color-mix(in srgb,var(--bg1) 70%,transparent);max-height:240px;overflow:auto}.wmetric-ai-summary{margin-top:8px;font-size:12.5px;line-height:1.35;font-weight:650;color:var(--text)}.wmetric-ai-takeaway{margin-top:6px;font-size:12px;line-height:1.35;color:color-mix(in srgb,var(--brand) 70%,var(--text));font-weight:700}.expansion-tile{margin-top:8px;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--text) 9%,transparent);background:color-mix(in srgb,var(--bg1) 70%,transparent);overflow:hidden}.expansion-tile-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:transparent;border:0;color:var(--text);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none}.expansion-tile-head:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.expansion-tile-head:active{background:color-mix(in srgb,var(--text) 9%,transparent)}.expansion-tile-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.expansion-tile-title{font-size:12px;font-weight:850;letter-spacing:.2px}.expansion-tile-subtitle{font-size:11px;color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expansion-tile-arrow{font-size:22px;color:var(--muted2);transition:transform .16s ease}.expansion-tile.expanded .expansion-tile-arrow{transform:rotate(180deg)}.expansion-tile-body{padding:10px;border-top:1px solid color-mix(in srgb,var(--text) 7%,transparent)}.wmetric-ai-expanded{display:flex;flex-direction:column;gap:10px}.wmetric-ai-biasBadge{margin-top:8px;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-control);border:1px solid color-mix(in srgb,var(--aiColor) 55%,var(--line));background:color-mix(in srgb,var(--aiColor) var(--aiBgPct),transparent);min-width:0}.wmetric-ai-biasBadge .ms{font-size:18px;color:var(--aiColor)}.wmetric-ai-biasBadge .label{font-weight:900;font-size:12px;letter-spacing:.2px;color:var(--text)}.wmetric-ai-biasBadge .bar{flex:1 1 auto;height:8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--aiColor) 35%,var(--line));background:color-mix(in srgb,var(--text) 5%,transparent);overflow:hidden;min-width:40px;max-width:120px;margin-left:6px}.wmetric-ai-biasBadge .bar .fill{height:100%;width:var(--aiConfPct);background:color-mix(in srgb,var(--aiColor) 75%,transparent)}.wmetric-ai-biasBadge .conf{font-size:12px;color:var(--muted2);font-variant-numeric:tabular-nums;margin-left:auto}.wmetric-ai-section-title{font-size:12px;font-weight:800;color:var(--text);letter-spacing:.2px}.wmetric-ai-section-bullets{margin:6px 0 0;padding-left:16px;color:var(--muted2);font-size:12px;line-height:1.35}.wmetric-ai-section-bullets li{margin:2px 0}.wmetric-ai-kv{margin-top:6px;color:var(--muted2);font-size:12px;line-height:1.35}.watchlist-empty{color:var(--muted2);font-size:12px;padding:6px 4px 12px;display:none}.row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--text) 4%,transparent);cursor:pointer}.row:hover{background:var(--btnHover)}.row .l{min-width:0}.row .sym{font-weight:800;font-size:12.5px;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .name{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.row .r{text-align:right;display:flex;flex-direction:column;gap:4px;align-items:flex-end;justify-content:center;font-variant-numeric:tabular-nums;font-size:12.5px}.row .meta{color:var(--muted2);font-size:11.5px;letter-spacing:.2px}.row .watchlist-remove{width:26px;height:26px;border-radius:var(--radius-control);border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);cursor:pointer;transition:background .16s ease}.row .watchlist-remove:hover{background:var(--state-hover-bg);color:var(--text)}.row .watchlist-remove .ms{font-size:18px}#watchlist .watchlist-row{padding:6px 8px;gap:8px;align-items:center;grid-template-columns:1fr minmax(100px,140px)}#watchlist .watchlist-row .sym{font-size:12px;font-weight:800;line-height:1.15}#watchlist .watchlist-row .r{flex-direction:row;align-items:center;gap:6px;min-width:0}#watchlist .watchlist-row .meta{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;font-size:10.5px;letter-spacing:.12em;color:var(--muted2);white-space:nowrap}#watchlist .watchlist-row .meta-broker{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:88px}#watchlist .watchlist-row .meta-market{flex:0 0 auto}#watchlist .watchlist-row .watchlist-remove{width:24px;height:24px}.alarm-row.disabled{opacity:.65}.alarm-actionbar{display:flex;gap:6px}.alarm-btn{width:26px;height:26px;border-radius:var(--radius-control);border:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);cursor:pointer;transition:background .16s ease}.alarm-btn:hover{background:var(--state-hover-bg);color:var(--text)}.alarm-btn .ms{font-size:18px}.row .pct{font-size:12px;padding:2px 8px;border-radius:var(--radius-chip);border:1px solid color-mix(in srgb,var(--green) 25%,transparent);background:color-mix(in srgb,var(--green) 10%,transparent);color:var(--green)}.row .pct.down{border-color:color-mix(in srgb,var(--red) 25%,transparent);background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red)}.splitter-v{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:ew-resize;background:transparent;z-index:5;touch-action:none}.splitter-v:hover{background:var(--state-drag-bg)}.rightrail{width:var(--rightrail-w);flex:0 0 auto;border-left:1px solid var(--line);background:var(--bg1);padding:8px 6px;gap:6px;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1000}.railbtn{width:36px;height:36px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.railbtn:hover{background:var(--state-hover-bg);border-color:var(--state-hover-border)}.railbtn.active{background:var(--state-selected-bg);border-color:var(--state-selected-border)}.railbtn .ms{font-size:20px;color:var(--muted)}.railbtn.align-bottom{margin-top:auto}.railbtn.align-bottom+.railbtn.align-bottom{margin-top:6px}.ctxmenu{position:fixed;min-width:200px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius-surface);padding:6px;display:none;z-index:1200}.ctxmenu .item{width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text);text-align:left;display:flex;align-items:center;gap:8px;border-radius:var(--radius-control);cursor:pointer;font-size:12px}.ctxmenu .item .item-left{display:inline-flex;align-items:center;gap:8px;min-width:0}.ctxmenu .item.has-submenu{justify-content:space-between}.ctxmenu .item .submenu-chevron{margin-left:8px;font-size:16px;opacity:.8}.ctxmenu .item .ms{font-size:18px;opacity:.9}.ctxmenu .item:hover{background:var(--state-selected-bg);color:var(--text)}.ctxmenu .item.disabled{opacity:.55;cursor:default}.ctxmenu .item.disabled:hover{background:transparent}.ctxmenu .sep{height:1px;background:var(--line);margin:6px 4px;opacity:.9}.ctxmenu.ctxmenu-submenu{position:fixed;min-width:200px;z-index:1201}.modal-scrim{position:fixed;inset:0;background:#00000059;display:none;z-index:1300}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 28px));height:min(640px,calc(100vh - 120px));border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--modal);box-shadow:var(--shadow);display:none;z-index:1350;overflow:hidden}.modal .head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 10px;border-bottom:1px solid var(--line);background:var(--modal2)}.modal .head .title{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.2px}.modal .body{padding:10px;display:grid;grid-template-rows:auto 1fr;gap:10px}.modal .search{height:34px;width:100%;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--bg1);color:var(--text);padding:0 10px;outline:none}.modal .search:focus{box-shadow:var(--focus);border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.modal .list{overflow:auto;padding:4px;border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--bg1)}.modal .list .row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-control);cursor:pointer;color:var(--text);font-size:12.5px}.modal .list .row:hover{background:var(--state-hover-bg)}.modal .list .row .ms{color:var(--muted)}.modal .list .row .meta{margin-left:auto;color:var(--muted2);font-size:12px}.modal.prompt-modal{width:min(520px,calc(100vw - 28px));height:auto;max-height:calc(100vh - 120px)}.modal.prompt-modal .body{display:flex;flex-direction:column;grid-template-rows:none}.modal.prompt-modal .prompt-label{font-size:12px;color:var(--muted2)}.modal.prompt-modal .prompt-error{font-size:12px;color:color-mix(in srgb,#ef4444 85%,var(--text))}.modal.prompt-modal .prompt-actions{margin-top:4px;display:flex;justify-content:flex-end;gap:8px}.app-settings-modal{width:min(980px,calc(100vw - 28px));height:min(760px,calc(100vh - 120px));max-height:calc(100vh - 80px);flex-direction:column}.app-settings-modal .app-settings-body{display:grid;grid-template-rows:1fr;gap:10px;min-height:0;flex:1 1 auto}.app-settings-main{min-height:0;display:grid;grid-template-columns:220px 1fr;grid-template-rows:1fr;align-content:stretch;gap:10px;flex:1 1 auto}.app-settings-nav{min-height:0;overflow:auto;padding:6px;border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--bg1)}.app-settings-nav-group{margin:8px 8px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2)}.app-settings-nav-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;text-align:left;font-size:12.5px}.app-settings-nav-item .ms{font-size:18px;color:var(--muted)}.app-settings-nav-item:hover{background:var(--state-hover-bg);border-color:var(--state-hover-border)}.app-settings-nav-item.active{background:var(--state-selected-bg);border-color:var(--state-selected-border)}.app-settings-nav-item:disabled{opacity:.45;cursor:default}.app-settings-content{min-height:0;border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--bg1);overflow:hidden;display:flex;flex-direction:column}.app-settings-content-head{padding:10px 10px 8px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--panel2) 65%,transparent)}.app-settings-content-title{font-weight:850;font-size:13px;letter-spacing:.2px}.app-settings-content-body{padding:10px 10px 24px;overflow:auto;flex:1 1 auto;min-height:0}.alert-modal{width:min(420px,calc(100vw - 28px));height:auto}.alert-modal .body{grid-template-rows:auto auto}.alert-modal .alert-form{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;align-items:center}.alert-modal label{font-size:12px;color:var(--muted2)}.alert-modal .alert-input,.alert-modal .alert-value{height:32px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--bg1);color:var(--text);padding:0 10px;display:flex;align-items:center}.alert-modal .alert-range{width:100%;height:32px;accent-color:var(--brand)}.alert-modal .alert-input:focus{outline:none;box-shadow:var(--focus);border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.alert-modal .alert-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.trade-modal{width:min(520px,calc(100vw - 28px));height:auto;max-height:min(720px,calc(100vh - 120px))}.trade-modal.dragging,.trade-modal.positioned{transform:none}.trade-modal .head{cursor:grab;touch-action:none}.trade-modal.dragging .head{cursor:grabbing}.trade-modal .body{display:grid;grid-template-rows:1fr auto;gap:10px;min-height:0}.trade-modal .trade-form{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;align-items:center;overflow:auto;min-height:0;padding-right:4px}.trade-modal label{font-size:12px;color:var(--muted2)}.trade-modal .trade-input{height:32px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--bg1);color:var(--text);padding:0 10px}.trade-modal .trade-input:focus{outline:none;box-shadow:var(--focus);border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.trade-control{display:flex;flex-direction:column;gap:8px}.trade-control.inline{flex-direction:row;align-items:center;gap:10px}.trade-control.inline .trade-slider{flex:3 1 0}.trade-control.inline .trade-input-wrap{flex:1 1 0}.trade-row{display:flex;align-items:center;gap:8px}.trade-num{flex:1;min-width:0;text-align:center}.trade-unit{font-size:12px;color:var(--muted2);min-width:18px;text-align:right}.trade-input-wrap{position:relative;flex:1;min-width:0}.trade-input-wrap .trade-input{width:100%;padding-right:26px}.trade-input-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--muted2);pointer-events:none}.trade-slider{flex:1;appearance:none;height:6px;border-radius:999px;background:var(--line2);outline:none}.trade-slider::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--line2)}.trade-slider::-moz-range-track{height:6px;border-radius:999px;background:var(--line2)}.trade-slider::-moz-range-progress{height:6px;border-radius:999px;background:#4da3ff59}.trade-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--brand);border:2px solid var(--modal);cursor:pointer;box-shadow:0 0 0 0 var(--brand);margin-top:-5px}.trade-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--brand);border:none;cursor:pointer}.minTickSlider{--mts-bg: var(--modal2);--mts-halo: color-mix(in srgb, var(--text) 18%, transparent);--mts-label: color-mix(in srgb, var(--text) 92%, transparent);--mts-muted: color-mix(in srgb, var(--text) 72%, transparent);--mts-track: color-mix(in srgb, var(--text) 55%, transparent);--mts-trackFill: color-mix(in srgb, var(--text) 92%, transparent);--mts-h: 92px;--mts-track-y: 46px;--mts-pad: 16px;position:relative;width:100%;height:var(--mts-h);-webkit-user-select:none;user-select:none;touch-action:none;background:var(--mts-bg);border:1px solid var(--line);border-radius:var(--radius-control);min-width:0}.minTickSlider .mtsInner{position:relative;height:100%;margin:0 var(--mts-pad)}.tradeMinSlider{background:transparent;border:none;--mts-bg: var(--modal);--mts-pad: 18px;width:100%;margin:0}.minTickSlider[data-disabled=true]{opacity:.6}.minTickSlider .mtsTrack{position:absolute;left:0;right:0;top:var(--mts-track-y);height:2px;background:var(--mts-track);border-radius:999px;z-index:1}.minTickSlider .mtsTrackFill{position:absolute;left:0;top:var(--mts-track-y);height:2px;background:var(--mts-trackFill);border-radius:999px;width:0%;pointer-events:none;z-index:2}.minTickSlider .mtsLineMask{position:absolute;top:var(--mts-track-y);transform:translate(-50%,-50%);height:6px;width:30px;background:var(--mts-bg);border-radius:999px;z-index:3;pointer-events:none}.minTickSlider .mtsLineMask.isEdgeLeft{transform:translateY(-50%)}.minTickSlider .mtsLineMask.isEdgeRight{transform:translate(-100%,-50%)}.minTickSlider .mtsMajorLabel{position:absolute;top:calc(var(--mts-track-y) + 20px);transform:translate(-50%);font-size:12px;color:var(--mts-muted);white-space:nowrap;pointer-events:none;z-index:4}.minTickSlider .mtsMajorLabel.isEdgeLeft{transform:translate(0)}.minTickSlider .mtsMajorLabel.isEdgeRight{transform:translate(-100%)}.minTickSlider .mtsTrackHit{position:absolute;left:0;right:0;top:calc(var(--mts-track-y) - 12px);height:28px;cursor:pointer;background:transparent;z-index:5}.minTickSlider[data-disabled=true] .mtsTrackHit{cursor:not-allowed}.minTickSlider .mtsCircleTick{appearance:none;padding:0;position:absolute;top:var(--mts-track-y);transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--text) 92%,transparent);background:transparent;cursor:pointer;z-index:6}.minTickSlider .mtsCircleTick:hover{box-shadow:0 0 0 8px var(--mts-halo);border-color:var(--text)}.minTickSlider .mtsCircleTick.isSelected{background:color-mix(in srgb,var(--text) 95%,transparent);border-color:var(--text)}.minTickSlider[data-disabled=true] .mtsCircleTick{cursor:not-allowed;box-shadow:none}.minTickSlider .mtsValueKnob{position:absolute;top:var(--mts-track-y);transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,var(--text) 95%,transparent);background:color-mix(in srgb,var(--text) 95%,transparent);z-index:8;pointer-events:none}.minTickSlider .mtsValueKnob.isDragging{box-shadow:0 0 0 10px var(--mts-halo)}.minTickSlider .mtsHandle{position:absolute;top:var(--mts-track-y);transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;cursor:grab;z-index:9;opacity:0}.minTickSlider .mtsHandle.isDragging{cursor:grabbing}.minTickSlider[data-disabled=true] .mtsHandle{cursor:not-allowed}.minTickSlider .mtsFloatLabel{position:absolute;top:10px;transform:translate(-50%);padding:4px 8px;border-radius:8px;background:#00000059;border:1px solid rgba(255,255,255,.18);color:var(--mts-label);font-size:12px;letter-spacing:.2px;pointer-events:none;white-space:nowrap;z-index:10}.minTickSlider .mtsFloatLabel.isEdgeLeft{transform:translate(0)}.minTickSlider .mtsFloatLabel.isEdgeRight{transform:translate(-100%)}.trade-modal .trade-kv{grid-column:1 / -1;display:grid;grid-template-columns:110px 1fr;gap:6px 12px;padding:8px 10px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--modal2)}.trade-modal .trade-kv .k{color:var(--muted2);font-size:12px}.trade-modal .trade-kv .v{color:var(--text);font-size:12px}.trade-modal .trade-error{grid-column:1 / -1;color:#ef4444;font-size:12px;line-height:1.4;padding:6px 10px;border-radius:var(--radius-control);border:1px solid rgba(239,68,68,.35);background:#ef444414}.trade-modal .trade-actions{display:flex;justify-content:flex-end;gap:8px}.symbol-modal .body{display:flex;flex-direction:column;gap:12px;height:calc(100% - 44px);min-height:0}.symbol-modal .symbol-tools{display:grid;gap:10px}.symbol-modal .symbol-search{display:flex;align-items:center;gap:8px;padding:0 8px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--modal2)}.symbol-modal .symbol-search:focus-within{box-shadow:var(--focus);border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.symbol-modal .symbol-search .ms{color:var(--muted);font-size:18px}.symbol-modal .symbol-search .search{border:none;background:transparent;height:34px;padding:0;flex:1;outline:none;box-shadow:none;border-radius:var(--radius-control)}.symbol-modal .symbol-filters{display:grid;gap:8px}.symbol-modal .chips{display:flex;flex-wrap:wrap;gap:6px}.symbol-modal .chip{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:4px 10px;border-radius:var(--radius-control);font-size:12px;cursor:pointer}.symbol-modal .chip.active{border-color:color-mix(in srgb,var(--brand) 60%,transparent);background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand)}.symbol-modal .symbol-list{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-color:var(--line2) var(--modal2);min-height:0;max-height:100%;padding:4px;border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--modal2);display:flex;flex-direction:column;gap:6px;flex:1}.symbol-modal .symbol-list::-webkit-scrollbar{width:10px}.symbol-modal .symbol-list::-webkit-scrollbar-track{background:var(--modal2)}.symbol-modal .symbol-list::-webkit-scrollbar-thumb{background:var(--line2);border-radius:var(--radius-chip)}.symbol-modal .symbol-empty{color:var(--muted2);font-size:12px;padding:12px}.symbol-modal .symbol-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px;border-radius:var(--radius-control);cursor:pointer;color:var(--text);font-size:12.5px;border:1px solid transparent}.symbol-modal .symbol-row:hover{background:var(--state-hover-bg);border-color:color-mix(in srgb,var(--brand) 18%,transparent)}.symbol-modal .symbol-row .sym{font-weight:800;letter-spacing:.2px}.symbol-modal .symbol-row .name{color:var(--muted);font-size:12px;margin-top:2px}.symbol-modal .symbol-row .right{display:flex;align-items:center;gap:10px}.symbol-modal .symbol-row .tags{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:11px;color:var(--muted2);text-transform:uppercase;letter-spacing:.2px}.symbol-modal .symbol-row .fav{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--modal2);color:var(--muted);cursor:pointer}.symbol-modal .iconbtn{border-radius:var(--radius-control)}.symbol-modal .symbol-row .fav.active{border-color:#facc1573;background:#facc1526;color:#facc15}.symbol-modal .symbol-row .fav .ms{font-size:18px}.app.symbol-open #symbolScrim,.app.symbol-open #symbolModal,.app.indicators-open #indicatorsScrim,.app.indicators-open #indicatorsModal,.app.alert-open #alertScrim,.app.alert-open #alertModal,.app.settings-open #settingsScrim{display:block}.app.settings-open #settingsModal{display:flex}.app.trade-open #tradeScrim,.app.trade-open #tradeModal,.app.appsettings-open #appSettingsScrim{display:block}.app.appsettings-open #appSettingsModal{display:flex}.app.brokercreds-open #brokerCredsScrim,.app.brokercreds-open #brokerCredsModal{display:block}.toast-host{position:fixed;right:14px;bottom:14px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{pointer-events:none;display:inline-flex;align-items:center;gap:8px;max-width:min(520px,calc(100vw - 28px));min-height:64px;padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0a0e12eb;color:#ffffffeb;font-size:12px;line-height:1.2;opacity:0;transform:translateY(6px);transition:opacity .14s ease,transform .14s ease}.toast.show{opacity:1;transform:translateY(0)}.toast .ms{font-size:16px;opacity:.9}.toast.toast--success{border-color:#22c55e59}.toast.toast--info{border-color:#4da3ff59}.toast.toast--warn{border-color:#eab30859}.toast.toast--error{border-color:#ef444459}.settings-modal{width:min(560px,calc(100vw - 28px));height:min(680px,calc(100vh - 120px));flex-direction:column}.settings-modal .body{display:grid;grid-template-rows:1fr auto;gap:10px;flex:1;min-height:0}.settings-modal .settings-form{overflow:auto;min-height:0;padding:10px;border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--modal2)}.settings-modal .settings-group{font-size:12px;font-weight:800;letter-spacing:.2px;padding:10px 0 6px;color:var(--muted)}.settings-modal .settings-row{display:grid;grid-template-columns:1fr minmax(160px,260px);gap:10px;align-items:center;padding:6px 0}.settings-modal .settings-label{font-size:12.5px;color:var(--text)}.settings-modal .settings-input{height:32px;width:100%;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--bg1);color:var(--text);padding:0 10px;outline:none}.settings-modal .settings-input:focus{box-shadow:var(--focus);border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.settings-modal .settings-check{width:18px;height:18px;accent-color:var(--brand);justify-self:end}.settings-modal .settings-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 10px 10px}.crosshair-plus{position:fixed;width:22px;height:22px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);display:none;padding:0;margin:0;cursor:pointer;z-index:1100;box-shadow:var(--shadow)}.crosshair-plus .ms{font-size:18px;line-height:1}.overlay-scrim{position:fixed;top:var(--topbar-h);left:0;right:var(--rightrail-w);bottom:var(--bottomrail-h);background:#00000047;display:none;z-index:1120}.overlaydrawer{position:fixed;top:var(--topbar-h);right:var(--rightrail-w);bottom:var(--bottomrail-h);width:min(var(--overlay-w, 380px),90vw);border-left:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);transform:translate(110%);transition:none;z-index:1140;display:grid;grid-template-rows:44px 1fr}.overlay-resizer{position:absolute;top:0;bottom:0;left:0;width:10px;cursor:ew-resize;z-index:2;touch-action:none}.overlay-resizer:after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:transparent}.app.overlay-open .overlay-resizer:hover:after{background:color-mix(in srgb,var(--brand) 25%,transparent)}.overlaydrawer .head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 10px;border-bottom:1px solid var(--line);background:var(--panel2);gap:8px}.overlaydrawer .title{display:flex;align-items:center;gap:10px;min-width:0;font-size:12.5px;font-weight:750;letter-spacing:.2px}.overlaydrawer .body{overflow:auto;padding:10px;color:var(--muted);font-size:12.5px;line-height:1.45}.newswrap{height:auto;display:flex;flex-direction:column;gap:10px}.news-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:1;background:var(--panel);padding-bottom:8px}.news-status{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin-left:auto}.news-err{color:var(--red);font-weight:700}.news-warn{color:color-mix(in srgb,var(--warn, #f59e0b) 70%,var(--text) 30%);font-weight:700}.news-list{padding-right:2px;display:flex;flex-direction:column;gap:12px}.news-card{background:var(--panel2);padding:12px;position:relative}.news-card:hover{border-color:color-mix(in srgb,var(--brand) 30%,var(--line))}.news-title{color:var(--text);font-weight:850;letter-spacing:.2px;font-size:12.5px;line-height:1.25;overflow-wrap:anywhere;white-space:normal;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.news-title-link{color:inherit;text-decoration:none}.news-title-link:hover{text-decoration:underline}.news-source{display:inline-flex;margin-left:8px;padding:1px 6px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--muted2);font-size:10px;font-weight:800;letter-spacing:.4px;vertical-align:baseline}.news-meta{margin-top:4px;font-size:11.5px;color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-excerpt{margin-top:6px;color:var(--muted2);font-size:12px;line-height:1.35;overflow-wrap:anywhere;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;border:1px solid var(--line);background:var(--panel2);flex:0 0 auto}.news-detail{min-height:0;overflow:auto;padding-right:2px}.news-detail-crumb{font-size:12px;color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.news-detail-title{color:var(--text);font-weight:900;font-size:13.5px;line-height:1.25}.news-meta-dot{margin:0 6px}.news-meta-link{color:var(--muted2)}.news-hero{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);margin-top:10px;background:var(--panel2)}.news-detail-body{margin-top:10px;color:var(--textSecondary);line-height:1.55}.news-detail-body p{margin:0 0 10px}.news-detail-body h1,.news-detail-body h2,.news-detail-body h3,.news-detail-body h4,.news-detail-body h5,.news-detail-body h6{margin:14px 0 8px;color:var(--text)}.news-detail-body h1{font-size:1.25em;font-weight:900}.news-detail-body h2{font-size:1.18em;font-weight:900}.news-detail-body h3{font-size:1.12em;font-weight:850}.news-detail-body h4{font-size:1.06em;font-weight:850}.news-detail-body h5{font-size:1.02em;font-weight:800}.news-detail-body h6{font-size:1em;font-weight:800}.news-detail-body ul,.news-detail-body ol{margin:0 0 10px 18px;padding:0}.news-detail-body li{margin:0 0 6px}.news-detail-body blockquote{margin:0 0 10px;padding:8px 10px;border-left:3px solid var(--line);background:color-mix(in srgb,var(--panel2) 75%,transparent);color:var(--muted);border-radius:10px}.news-detail-body strong,.news-detail-body b{font-weight:850}.news-detail-body a{color:color-mix(in srgb,var(--brand) 85%,var(--text) 15%);text-decoration:underline;text-underline-offset:2px}.news-detail-body img{max-width:100%;height:auto;border-radius:10px;border:1px solid var(--line);margin:10px 0}.news-detail-body pre,.news-detail-body code{font-family:var(--mono)}.news-detail-body pre{padding:10px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);overflow:auto}.pinepanel{height:100%;display:flex;flex-direction:column;gap:8px;min-height:0}.pinebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pinebar .pinebtn{height:28px;padding:0 10px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer;font-size:12px}.pinebar .pinebtn:hover{border-color:color-mix(in srgb,var(--brand) 35%,transparent)}.pinebar .pine-scriptbtn{display:inline-flex;align-items:center;gap:8px;padding:0 10px;max-width:100%}.pinebar .pine-scriptbtn .name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;letter-spacing:.1px}.pinebar .pine-scriptbtn .caret{font-size:18px;opacity:.85}.pinebar .label{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pineeditor{flex:1;min-height:280px;border:1px solid var(--line);border-radius:var(--radius-surface);overflow:hidden;background:color-mix(in srgb,var(--text) 6%,transparent);position:relative}.pineeditor-host{position:absolute;inset:0}.pine-start{position:absolute;inset:0;background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:auto;padding:12px}.pine-start-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--panel2)}.pine-start-head .title{display:flex;align-items:center;gap:10px;font-weight:850;font-size:12.5px;letter-spacing:.2px;color:var(--text)}.pine-start-head .actions{display:inline-flex;align-items:center;gap:8px}.pine-start-body{margin-top:10px;display:flex;flex-direction:column;gap:10px}.pine-start-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pine-start-tabs .spacer{flex:1}.pine-start-search{display:inline-flex;align-items:center;gap:8px;padding:0 10px;height:34px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--bg1);color:var(--muted2);min-width:min(360px,100%)}.pine-start-search .search{border:none;background:transparent;color:var(--text);outline:none;width:100%;height:100%;padding:0}.pine-start-grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(280px,1.1fr);gap:10px}@media(max-width:900px){.pine-start-grid{grid-template-columns:1fr}}.pine-start-section{border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--panel);padding:10px}.pine-start-section .h{font-size:12px;font-weight:850;letter-spacing:.2px;color:var(--muted2);margin-bottom:8px}.pine-start-templates{display:grid;gap:8px}.pine-start-card{border:1px solid var(--line);border-radius:var(--radius-surface);background:color-mix(in srgb,var(--text) 4%,transparent);padding:10px;text-align:left;cursor:pointer;color:var(--text)}.pine-start-card:hover{background:var(--state-hover-bg);border-color:var(--state-hover-border)}.pine-start-card.disabled{opacity:.55;cursor:not-allowed}.pine-start-card .k{display:flex;align-items:center;gap:10px;font-weight:800;font-size:12.5px}.pine-start-card .d{margin-top:6px;font-size:12px;color:var(--muted2);line-height:1.35}.pine-start-list{display:grid;gap:6px}.pine-start-row{display:flex;gap:6px;align-items:center}.pine-start-open{flex:1;display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:var(--radius-control);border:1px solid var(--line);background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--text);cursor:pointer;min-width:0}.pine-start-open:hover{background:var(--state-hover-bg);border-color:var(--state-hover-border)}.pine-start-open .name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:12.5px}.pine-start-open .meta{margin-left:auto;color:var(--muted2);font-size:12px;white-space:nowrap}.pine-start-empty{padding:10px;border-radius:var(--radius-control);border:1px dashed var(--line);color:var(--muted2);font-size:12.5px}.app.overlay-open .overlay-scrim{display:block}.app.overlay-open .overlaydrawer{transform:translate(0)}.app[data-overlay=tools] .overlaydrawer{left:0;right:auto;transform:translate(-110%)}.app.overlay-open[data-overlay=tools] .overlaydrawer{transform:translate(0)}.menu{position:fixed;z-index:1200;min-width:220px;padding:6px;border-radius:var(--radius-surface);border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);display:none}.menu .item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius-control);cursor:pointer;color:var(--text);font-size:12.5px}.menu .item .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu .item .actions{margin-left:auto;display:inline-flex;gap:6px;align-items:center}.menu .item .actions .icon-chip{pointer-events:auto;width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.menu .item .actions .icon-chip:hover{background:var(--state-hover-bg)}.menu .item .actions .icon-chip .ms{color:var(--muted)}.menu .item.disabled{opacity:.6;cursor:default}.menu .item:hover{background:var(--state-hover-bg)}.menu .item.disabled:hover{background:transparent}.menu .item .ms{color:var(--muted)}.menu .hr{height:1px;background:var(--line);margin:6px 4px}.bottomsheet-scrim{position:fixed;left:0;right:0;top:var(--topbar-h);bottom:var(--bottomrail-h);background:#0000002e;z-index:1110}.bottomsheet{position:fixed;left:10px;right:10px;bottom:calc(var(--bottomrail-h) + 10px);max-width:520px;max-height:min(70dvh,520px);margin:0 auto;border-radius:var(--radius-surface);border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:var(--shadow);z-index:1160;padding:8px;display:grid;gap:6px;overflow:auto;overscroll-behavior:contain}.bottomsheet-item{width:100%;height:40px;padding:0 10px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:10px}.bottomsheet-item:hover{background:var(--state-hover-bg);border-color:var(--state-hover-border)}.bottomsheet-item .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.bottomsheet-item .badge{margin-left:auto;min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;line-height:18px;font-weight:800;text-align:center}@media(max-width:1100px){.rightdock{display:none}.app.right-dock-open{--rightdock-w: 0px}.overlaydrawer{width:min(var(--overlay-w, 420px),92vw)}.overlay-scrim{right:var(--rightrail-w)}}@media(max-width:740px){:root{--leftbar-w: 0px;--rightrail-w: 0px;--rightbar-w: min(420px, 92vw)}.leftbar,.rightrail,#symbolSub,#btnIndicators .btn-label,#btnLayout,#btnLayoutPresets,#btnLayoutPresetSave{display:none}.topbar{padding:0 6px;gap:6px;overflow:hidden}.top-left,.top-right{gap:6px}.top-left{flex:1 1 auto;min-width:0}.top-right{flex:0 0 auto}.topbar .btn,.topbar .pill,.topbar .btn-ghost{height:34px;padding:0 8px;font-size:12px}.pill .sym{max-width:120px}#symbolText,#symbolSub,#tfText,#layoutText,.topbar .btn:not(.btn-ghost) .btn-label{display:none}#btnSymbol>div{display:none}#btnSymbol .sep,#btnSymbol .ms:last-child{display:none}#btnSymbol{padding:0 8px}#btnTimeframe .ms:last-child,#btnLayout .ms:last-child{display:none}.top-right button[aria-label=User] .ms:last-child{display:none}#btnTimeframe,#btnIndicators,#btnTheme,#btnLayout,#btnLayoutPresets,#btnLayoutPresetSave{justify-content:center;min-width:36px;padding:0 8px}.menu{max-width:calc(100vw - 10px)}.menu[aria-label="Timeframe menu"]{min-width:0;width:max-content}.menu[aria-label="Timeframe menu"] .item{white-space:nowrap}.splitter-h,.pane-splitter{height:12px}.splitter-v{width:12px;left:-6px}.overlay-resizer{display:none}.app[data-overlay=tools] .overlaydrawer{left:0;right:0;width:100vw}.overlay-scrim,.overlaydrawer{right:0}.overlaydrawer{width:min(var(--overlay-w, 420px),100vw)}.brokers-connect{padding:8px 0}.brokers-connect-head{margin-bottom:10px}.brokers-connect-search{min-width:0;width:100%;padding:7px 10px}.brokers-connect-search .search{width:100%}.broker-tiles{gap:8px}.broker-tile{padding:10px 8px}.broker-tile-icon{width:36px;height:36px;border-radius:10px;margin:0 auto 8px}.broker-tile-icon .ms{font-size:22px}.broker-tile-sub{margin-bottom:8px}.bottomrail{padding:6px}.bottomrail-left{gap:4px}.bottomrail .bottomrail-extra{display:none}.bottomrail .bottomrail-more{display:inline-flex}.app.overlay-open .topbar,.app.overlay-open .bottomrail{display:none}.app.overlay-open .overlay-scrim{inset:0}.app.overlay-open .overlaydrawer{inset:0;width:100vw;border-left:none}}}.login-container{display:flex;min-height:100vh;font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,sans-serif}.login-left{flex:1;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;color:#fff}.login-left .overlay{position:absolute;inset:0;background-color:#00000080}.login-left .content{position:relative;z-index:1;text-align:center;padding:2rem;max-width:500px}.login-left h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.login-left p{font-size:1.1rem;opacity:.9}.login-right{flex:1;padding:2rem;display:flex;align-items:center;justify-content:center;transition:background-color .3s;background-color:#fff;color:#333}.login-form-container{max-width:400px;width:100%}.login-form-container h2{font-size:2rem;font-weight:700;margin-bottom:.5rem}.login-form-container p{font-size:.9rem;margin-bottom:2rem}.login-error{background-color:#fee2e2;color:#dc2626;padding:.8rem;border-radius:6px;margin-bottom:1.5rem;font-size:.9rem}.login-form label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.login-form input{width:100%;padding:.8rem 1rem;border:1px solid #ddd;border-radius:6px;font-size:.95rem;margin-bottom:1.5rem;transition:border-color .2s ease}.login-form input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533}.login-remember{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.login-remember label{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.login-remember input[type=checkbox]{margin:0;width:16px;height:16px;cursor:pointer}.login-remember a{font-size:.9rem;font-weight:600;text-decoration:none;color:#4f46e5;white-space:nowrap;transition:color .2s ease}.login-remember a:hover{text-decoration:underline}.login-button{width:100%;padding:.8rem;background-color:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .1s ease}.login-button:hover{background-color:#4338ca}.login-button:active{transform:scale(.98)}.login-button:disabled{background-color:#a5b4fc;cursor:not-allowed}.login-spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.login-container{flex-direction:column}.login-left{display:none}.login-right{flex:none;width:100%;padding:2rem 1rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-form-container{animation:fadeInUp .4s ease-out forwards}.login-container{font-family:var(--font, "Trebuchet MS", "Lucida Sans Unicode", "Lucida Grande", sans-serif);--rl-bg: var(--bg0, #101010);--rl-surface: var(--bg1, #ffffff);--rl-text: var(--text, #111827);--rl-muted: var(--muted, rgba(17, 24, 39, .72));--rl-line: var(--line, #dddddd);--rl-brand: var(--brand, #4f46e5);--rl-on-brand: var(--md-sys-color-on-primary, #ffffff);--rl-focus: var(--focus, 0 0 0 3px rgba(79, 70, 229, .25));--rl-error: var(--red, #dc2626)}.login-right{background-color:var(--rl-surface);color:var(--rl-text)}.login-form-container p{color:var(--rl-muted)}.login-error{background-color:color-mix(in srgb,var(--rl-error) 16%,transparent);border:1px solid color-mix(in srgb,var(--rl-error) 35%,transparent);color:var(--rl-error)}.login-form label{color:var(--rl-text)}.login-form input{border-color:var(--rl-line);background-color:color-mix(in srgb,var(--rl-surface) 92%,var(--rl-text) 3%);color:var(--rl-text)}.login-form input:focus{border-color:var(--rl-brand);box-shadow:var(--rl-focus)}.login-remember a{color:var(--rl-brand)}.login-button{background-color:var(--rl-brand);color:var(--rl-on-brand)}.login-button:hover{background-color:color-mix(in srgb,var(--rl-brand) 86%,#000000)}.login-button:disabled{background-color:color-mix(in srgb,var(--rl-brand) 40%,var(--rl-surface));color:color-mix(in srgb,var(--rl-on-brand) 60%,var(--rl-text))}.login-spinner{border-top-color:var(--rl-on-brand)}
