.workspace:has(.compact-data-page){padding:16px}.data-page.compact-data-page{width:100%;min-width:0;padding-top:0}.compact-data-page .data-page-header{margin-bottom:16px;gap:12px;flex-wrap:wrap}.compact-data-page .instrument-summary{gap:12px}.compact-data-page .instrument-summary dl{min-width:0}.compact-data-page .instrument-summary dd{overflow-wrap:anywhere}.compact-data-page .timeframe-table-wrap{margin-top:14px;overflow-x:auto}.history-timezone{color:var(--text-muted);font-size:10px;margin:8px 0}.compact-data-page .history-progress-table{min-width:0;table-layout:fixed}.compact-data-page .history-progress-table th:nth-child(n){width:auto}.compact-data-page .history-progress-table th,.compact-data-page .history-progress-table td{padding:6px;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}.compact-data-page .history-progress-table th:first-child,.compact-data-page .history-progress-table td:first-child{padding-left:0}.compact-data-page .history-progress-table th:last-child,.compact-data-page .history-progress-table td:last-child{padding-right:0}.history-progress-cell{width:auto;min-width:0;display:grid;gap:3px;font-size:10px;line-height:1.4}.history-progress-value{font-variant-numeric:tabular-nums;font-size:11px}.history-progress-status,.history-progress-scope{color:var(--text-muted)}.history-progress-track{display:block;height:3px;background:var(--line)}.history-progress-track>span{display:block;height:100%;background:var(--accent)}.history-coverage-cell{color:var(--text-muted);font-size:10px}.history-progress-cell:focus-visible,.history-coverage-cell:focus-visible{outline:1px solid var(--accent)}.history-table-date{display:grid;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.history-table-date>span:last-child{color:var(--text-muted)}.history-number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap!important}.compact-data-page .history-progress-table .data-status{white-space:normal;font-size:10px;line-height:1.4}.compact-data-page .history-progress-table .data-status>span{flex-shrink:0}.compact-data-page .history-progress-table .history-mobile-details{display:none}.compact-data-page .history-load-panel{display:block;margin-block:10px;padding:12px}.history-load-panel p{margin:6px 0;font-size:11px}.history-load-facts{display:flex;gap:6px 18px;flex-wrap:wrap}.history-current-progress{max-width:260px;margin-block:8px}.history-freshness-note{color:var(--text-muted);font-size:11px}@media(max-width:1000px){.compact-data-page .history-progress-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.compact-data-page .history-progress-table colgroup{display:none}.compact-data-page .history-progress-table,.compact-data-page .history-progress-table tbody{display:block;width:100%}.compact-data-page .history-progress-table tbody>tr{display:grid;grid-template-columns:10% 34% 27% 29%;border-bottom:1px solid var(--line)}.compact-data-page .history-progress-table td{display:block;min-width:0;height:auto;border:0;padding:8px 6px}.compact-data-page .history-progress-table td[data-label]:before{content:attr(data-label);display:block;color:var(--text-muted);font-size:9px;margin-bottom:4px}.compact-data-page .history-progress-table .history-secondary{display:none}.compact-data-page .history-progress-table .history-mobile-details{display:block;grid-column:1 / -1;padding:4px 0 10px}.history-mobile-details summary{font-size:11px;cursor:pointer}.history-mobile-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:11px}.history-mobile-details dt{color:var(--text-muted)}.history-mobile-details dd{margin:4px 0 0}.compact-data-page .instrument-summary{display:block}}.instrument-logo,.instrument-fallback{width:18px;height:18px;flex:0 0 18px;display:inline-block;vertical-align:middle}.instrument-logo{object-fit:contain;padding:1px;box-sizing:border-box;background:var(--instrument-logo-surface);border-radius:2px}.instrument-fallback{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--panel-muted)}.instrument-identity{display:inline-flex;align-items:center;gap:6px;min-width:0}.chart-command-dialog .instrument-command{display:flex;align-items:center;gap:8px}.chart-instrument .instrument-selection{display:inline-flex;align-items:center;gap:6px;min-width:0}.data-export-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:20px;color:var(--text-primary);background:var(--bg-workspace);border:1px solid var(--panel-border)}.data-export-dialog::backdrop{background:var(--backdrop)}.data-export-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--panel-border);margin-bottom:16px}.data-export-dialog h2{font-size:16px;font-weight:500}.data-export-dialog button,.data-export-dialog select,.data-export-dialog input:not([type=checkbox]){color:inherit;background:var(--bg-control);border:1px solid var(--panel-border);padding:7px 9px;font:inherit}.data-export-dialog form{display:grid;gap:14px}.data-export-dialog label{display:grid;gap:6px;font-size:12px}.data-export-dialog fieldset{border:1px solid var(--panel-border);padding:10px;min-width:0}.data-export-dialog legend{font-size:12px;color:var(--panel-muted)}.export-checks{display:flex;flex-wrap:wrap;gap:10px 18px}.export-checks label{display:inline-flex;align-items:center;gap:6px}.export-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-dates input{width:100%;min-width:0;box-sizing:border-box}.export-help{font-size:11px;line-height:1.5;color:var(--panel-muted);margin:0}.data-export-dialog [role=alert]{color:var(--danger);font-size:12px}.data-export-dialog [role=status]{font-size:12px;overflow-wrap:anywhere}@media(max-width:520px){.export-dates{grid-template-columns:1fr}}.data-catalog{margin-block:12px}.compact-group{margin-block:8px}.compact-group h2{margin:0;font-size:13px}.compact-group-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 8px;background:transparent;border:0;border-bottom:1px solid var(--line-strong);color:inherit;font:inherit;text-align:left;cursor:pointer}.compact-group-content[hidden]{display:none}.compact-instrument{border-bottom:1px solid var(--panel-border);scroll-margin-top:90px}.compact-instrument-row{display:grid;grid-template-columns:76px minmax(100px,1fr) 105px 46px 105px 170px 28px;gap:8px;align-items:center;min-height:44px;padding:5px 8px;font-size:12px}.compact-symbol{font-size:13px}.compact-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--panel-muted)}.compact-progress,.compact-count{font-variant-numeric:tabular-nums;text-align:right}.compact-main-action{font-size:12px;padding:6px 8px;min-height:30px}.compact-toggle{display:grid;place-items:center;background:transparent;border:0;color:inherit;padding:6px;cursor:pointer}.compact-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.compact-instrument.is-expanded{background:color-mix(in srgb,var(--info) 3%,transparent)}.compact-instrument .instrument-details{padding:16px 8px}.data-active-history{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--input-border);background:var(--panel);box-shadow:0 3px 8px color-mix(in srgb,var(--shadow) 33.333%,transparent)}.data-active-history div{display:grid;gap:4px;font-size:12px}.compact-toggle:focus-visible,.compact-group-toggle:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}@media(max-width:1050px){.compact-instrument-row{grid-template-columns:66px minmax(80px,1fr) 95px 40px 86px 145px 28px;gap:5px}}@media(max-width:760px){.compact-instrument-row{grid-template-columns:64px minmax(70px,1fr) 90px 36px}.compact-main-action{grid-column:2 / 4;grid-row:2}.compact-count{grid-column:1;grid-row:2;font-size:10px}.compact-toggle{grid-column:4;grid-row:2}.data-active-history{flex-wrap:wrap}}.compact-instrument-row{grid-template-columns:112px minmax(90px,1fr) 116px 40px 90px 158px 135px 155px 28px;gap:6px}.compact-symbol{display:flex;align-items:center;gap:5px}.compact-period,.compact-latest{font-size:11px;font-variant-numeric:tabular-nums;color:var(--panel-muted)}.data-queue-selection{margin-block:8px}.data-queue-management{border-bottom:1px solid var(--line-strong);padding:10px 8px}.data-queue-management>div{display:flex;align-items:center;justify-content:space-between;padding-block:4px}@media(max-width:1300px){.compact-instrument-row{grid-template-columns:108px minmax(100px,1fr) 125px 40px 90px 150px 28px}.compact-period{grid-column:2 / 4;grid-row:2}.compact-latest{grid-column:4 / 7;grid-row:2}.compact-main-action{grid-column:6;grid-row:1}.compact-toggle{grid-column:7;grid-row:1}}@media(max-width:900px){.compact-instrument-row{grid-template-columns:108px minmax(80px,1fr) 125px 40px}.compact-count{grid-column:1;grid-row:2}.compact-main-action{grid-column:2 / 4;grid-row:2}.compact-toggle{grid-column:4;grid-row:2}.compact-period{grid-column:1 / 3;grid-row:3}.compact-latest{grid-column:3 / 5;grid-row:3}}.mcp-key-settings{display:grid;gap:10px;margin-top:16px}.mcp-key-settings h4{margin:0;font-size:14px;font-weight:550}.mcp-key-settings label{display:grid;gap:6px;font-size:13px;max-width:460px;min-width:0}.mcp-key-settings input{width:100%;min-width:0;box-sizing:border-box;background:var(--input);color:var(--input-text);border:1px solid var(--input-border);padding:8px}.mcp-key-settings button{justify-self:start;border:1px solid var(--line);background:var(--bg-control);color:var(--text);padding:7px 12px;cursor:pointer}.mcp-key-settings button:disabled{opacity:.6;cursor:not-allowed}.mcp-key-settings :is(input,button):focus-visible{outline:1px solid var(--accent);outline-offset:2px}.mcp-key-settings [role=dialog]{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.mcp-key-settings [role=status]{font-size:13px}.server-monitor{display:grid;gap:16px;min-width:0}.server-monitor-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.server-monitor-header h2{margin:0;font-size:18px;font-weight:550}.server-monitor-header button{border:1px solid var(--line);background:var(--bg-control);color:var(--text);padding:7px 12px;cursor:pointer}.server-monitor-header button:disabled{opacity:.6;cursor:wait}.server-monitor-header button:focus-visible{outline:1px solid var(--accent)}.server-monitor-disks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.server-monitor-panel{min-width:0;border:1px solid var(--line);padding:16px;background:var(--bg-workspace);overflow-wrap:anywhere}.server-monitor-panel h3{margin:0 0 12px;font-size:14px;font-weight:550}.server-monitor p{margin:0}.server-monitor-caption{color:var(--text-muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.server-monitor-panel .server-monitor-caption{margin-top:12px}.server-monitor-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 16px;margin:16px 0 0;font-size:13px}.server-monitor-facts dt{color:var(--text-muted)}.server-monitor-facts dd{margin:0;min-width:0;text-align:right;font-variant-numeric:tabular-nums}.server-monitor .server-disk-percent{margin:8px 0;font-size:24px;font-variant-numeric:tabular-nums}.server-monitor-state{color:var(--text-muted);font-size:12px}.server-disk.is-normal .server-monitor-state{color:var(--success)}.server-disk.is-warning .server-monitor-state{color:var(--warning)}.server-disk.is-critical .server-monitor-state{color:var(--danger)}.server-disk-track{height:5px;overflow:hidden;background:var(--line)}.server-disk-track span{display:block;height:100%;background:var(--text-muted)}.server-disk.is-normal .server-disk-track span{background:var(--success)}.server-disk.is-warning .server-disk-track span{background:var(--warning)}.server-disk.is-critical .server-disk-track span{background:var(--danger)}.server-monitor-warning{color:var(--warning);font-size:13px}.server-monitor-services{list-style:none;margin:0;padding:0}.server-monitor-services li{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.server-monitor-services li:last-child{border-bottom:0}.server-monitor-service{display:inline-flex;align-items:center;gap:7px;color:var(--text-muted)}.server-monitor-service i{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.server-monitor-service.is-healthy{color:var(--success)}.server-monitor-service.is-unhealthy{color:var(--danger)}.server-monitor-service.is-stopped{color:var(--warning)}.server-monitor-services.is-uncertain .server-monitor-service{color:var(--text-muted)}.server-mcp-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;font-size:13px}.server-mcp-controls button{background:var(--bg-control);color:var(--text-muted);border:1px solid var(--line);padding:6px 10px}.server-mcp-controls button:disabled,.server-mcp-controls input:disabled{opacity:.65;cursor:not-allowed}@media(max-width:1000px){.server-monitor-disks{grid-template-columns:minmax(0,1fr)}}.development-page{max-width:1440px;min-width:0;padding:28px 32px 64px}.development-header{border-bottom:1px solid var(--line);padding-bottom:20px}.development-header p,.development-path{color:var(--accent);font:11px/1.5 IBM Plex Mono,monospace;letter-spacing:.08em}.development-header h1{margin:4px 0 6px;font-size:28px;font-weight:550}.development-header span,.development-muted{color:var(--text-muted)}.development-tabs{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid var(--line);margin:0 0 24px}.development-tabs button{border:0;border-bottom:2px solid transparent;padding:15px 0 12px;background:transparent;color:var(--text-muted);white-space:nowrap;cursor:pointer}.development-tabs button[aria-current=page]{border-bottom-color:var(--accent);color:var(--text)}.development-stack{display:grid;gap:16px}.development-section{min-width:0;border:1px solid var(--line);padding:20px 22px;background:var(--bg-workspace)}.development-section h2{margin:0 0 16px;font-size:17px;font-weight:550}.development-section h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text)}.development-facts{display:grid;grid-template-columns:150px minmax(0,1fr);gap:9px 20px;margin:0;font-size:13px}.development-facts dt{color:var(--text-muted)}.development-facts dd{min-width:0;margin:0;overflow-wrap:anywhere}.development-facts code{color:var(--accent)}.development-table-wrap{overflow-x:auto}.development-section table{width:100%;border-collapse:collapse;font-size:13px}.development-section th,.development-section td{border-bottom:1px solid var(--line);padding:10px 12px 10px 0;text-align:left;vertical-align:top}.development-file-list>div{border-bottom:1px solid var(--line)}.development-file-list>div:last-child{border-bottom:0}.development-folder{margin:0;padding:12px 14px 4px;color:var(--text-muted);font:11px/1.4 IBM Plex Mono,monospace}.development-section th{font-weight:550}.development-section td{color:var(--text-muted)}.development-columns{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.development-list{display:grid;border:1px solid var(--line)}.development-list button{display:flex;width:100%;flex-direction:column;gap:4px;min-width:0;border:0;border-bottom:1px solid var(--line);padding:11px 14px;background:transparent;text-align:left;cursor:pointer;overflow-wrap:anywhere}.development-list button:last-child{border-bottom:0}.development-list button:hover,.development-list button.is-active{background:var(--bg-control-hover);color:var(--accent)}.development-list span{color:var(--text-muted);font-size:11px}.development-file-list button{font:12px/1.5 IBM Plex Mono,monospace}.development-detail{min-height:240px}.development-subsection{border-top:1px solid var(--line);padding:14px 0}.development-current{border-left:2px solid var(--accent)}.development-potential{border-style:dashed;background:transparent}.development-markdown{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.development-markdown>:first-child{margin-top:0}.development-markdown>:last-child{margin-bottom:0}.development-markdown a{color:var(--accent)}.development-markdown pre{overflow-x:auto;border:1px solid var(--line);padding:12px;background:var(--bg-deep)}.development-markdown code{font-family:IBM Plex Mono,monospace}.development-markdown blockquote{border-left:2px solid var(--line-strong);margin-left:0;padding-left:14px;color:var(--text-muted)}.development-markdown table{display:block;overflow-x:auto}.development-error{color:var(--danger)}.development-tabs button:focus-visible,.development-list button:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}@media(max-width:760px){.development-page{padding:20px 16px 48px}.development-columns{grid-template-columns:1fr}.development-list{max-height:240px;overflow-y:auto}.development-facts{grid-template-columns:1fr;gap:4px}.development-facts dd{margin-bottom:8px}}.drawing-context-menu{position:fixed;z-index:1000;display:grid;min-width:180px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:4px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:12px}.drawing-context-menu button{border:0;background:transparent;color:inherit;padding:7px 10px;text-align:left;font:inherit;cursor:pointer}.drawing-context-menu button:hover,.drawing-context-menu button:focus-visible{background:var(--bg-control-hover);outline:1px solid var(--accent)}.chart-page{display:flex;flex-direction:column;gap:20px;min-height:0}.chart-page-header{display:flex;align-items:end;justify-content:space-between;gap:16px}.chart-page-header h1{margin:4px 0 0}.chart-source{color:var(--panel-muted);font-size:12px;white-space:nowrap}.chart-workspace{overflow:hidden;min-width:0;border:1px solid var(--line-strong);border-radius:12px;background:var(--chart-background)}.chart-toolbar,.chart-settings,.chart-footer{display:flex;align-items:center;gap:12px;padding:12px 16px}.chart-toolbar{flex-wrap:wrap;border-bottom:1px solid var(--panel-border)}.chart-toolbar label{display:flex;align-items:center;gap:8px;color:var(--panel-muted);font-size:12px}.chart-toolbar select,.chart-offset input{border:1px solid var(--input-border);border-radius:6px;background:var(--input);color:var(--input-text);padding:6px 8px}.chart-instrument select{max-width:240px}.chart-tf-list{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:3px}.chart-tf-list button,.chart-footer button,.chart-overlay button,.chart-error button{border:1px solid transparent;border-radius:5px;background:transparent;color:var(--panel-text);padding:6px 8px;cursor:pointer}.chart-tf-list button:hover,.chart-footer button:hover,.chart-overlay button:hover,.chart-error button:hover{background:var(--selected)}.chart-tf-list button.is-active{border-color:var(--accent-border);background:var(--selected);color:var(--accent-text)}.chart-settings{flex-wrap:wrap;border-bottom:1px solid var(--panel-border);color:var(--panel-muted);font-size:12px}.chart-settings label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.chart-settings input[type=checkbox]{accent-color:var(--accent)}.chart-offset{margin-left:auto}.chart-offset input{width:62px}.chart-ohlcv{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-height:38px;padding:8px 16px;color:var(--panel-muted);font-size:12px}.chart-ohlcv b{color:var(--input-text);font-weight:600}.chart-stage{position:relative;height:clamp(420px,62vh,780px);min-height:420px}.chart-drawing-stage{display:flex;min-width:0}.chart-drawing-stage .chart-stage{flex:1;min-width:0}.chart-main-with-tree{display:flex;flex:1;min-width:0}.chart-main-with-tree .chart-stage{flex:1;min-width:0}.chart-object-tree{display:flex;flex:0 0 300px;flex-direction:column;width:300px;min-width:0;height:clamp(420px,62vh,780px);border-left:1px solid var(--line-strong);background:var(--panel);color:var(--panel-text);font-size:12px}.chart-object-tree-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--line-strong)}.chart-object-tree-header h2{margin:0;font-size:13px}.chart-object-tree button,.chart-object-tree-toggle{border:1px solid transparent;border-radius:5px;background:transparent;color:var(--panel-text);cursor:pointer}.chart-object-tree button:hover,.chart-object-tree-toggle:hover{background:var(--selected)}.chart-object-tree-filters{display:flex;flex-direction:column;gap:6px;padding:8px;border-bottom:1px solid var(--line-strong)}.chart-object-tree-filters input,.chart-object-tree-filters select,.chart-object-rename input{width:100%;min-width:0;padding:6px;border:1px solid var(--input-border);border-radius:5px;background:var(--input);color:var(--input-text)}.chart-object-tree-list{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.chart-object-row{display:flex;align-items:center;gap:7px;min-width:0;padding:5px 7px;cursor:pointer}.chart-object-row:hover{background:var(--selected)}.chart-object-row.is-selected{background:var(--selected-strong)}.chart-object-row.is-hidden{opacity:.55}.chart-object-type{width:18px;flex:0 0 18px;text-align:center;color:var(--warning)}.chart-object-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-object-state{font-size:11px}.chart-object-row button{flex:0 0 25px;min-height:25px}.chart-object-empty{padding:8px;color:var(--panel-muted)}.chart-object-menu{display:flex;flex-direction:column;gap:3px;padding:8px;border-top:1px solid var(--line-strong)}.chart-object-menu button{padding:5px;text-align:left}.chart-object-rename{display:flex;flex-direction:column;gap:4px}.chart-object-tree-footer{padding:8px;border-top:1px solid var(--line-strong);color:var(--panel-muted)}.chart-object-tree-toggle{flex:0 0 34px;border-left:1px solid var(--line-strong);border-radius:0;writing-mode:vertical-rl}@media(max-width:900px){.chart-main-with-tree{flex-direction:column}.chart-main-with-tree .chart-stage{flex:0 0 420px;width:100%;min-height:420px}.chart-object-tree{flex:0 0 280px;width:100%;height:280px;border-top:1px solid var(--line-strong);border-left:0}.chart-object-tree-toggle{flex:0 0 30px;width:100%;border-top:1px solid var(--line-strong);border-left:0;writing-mode:horizontal-tb}}.chart-drawing-toolbar{display:flex;flex:0 0 68px;flex-direction:column;align-items:center;gap:4px;max-height:clamp(420px,62vh,780px);overflow-y:auto;padding:8px 4px;border-right:1px solid var(--panel-border);background:var(--panel);scrollbar-width:thin}.chart-drawing-toolbar button{display:flex;width:56px;min-height:44px;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--panel-text);cursor:pointer;font-size:17px}.chart-drawing-toolbar button span{font-size:9px;line-height:1.05;text-align:center}.chart-drawing-toolbar button:hover:not(:disabled){background:var(--selected)}.chart-drawing-toolbar button.is-active{border-color:var(--accent-border);background:var(--selected);color:var(--accent-text)}.chart-drawing-toolbar button:disabled{opacity:.45;cursor:not-allowed}.chart-canvas-frame{position:relative;width:100%;height:100%}.chart-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.drawing-overlay{position:absolute;top:0;left:0;z-index:2;overflow:hidden;pointer-events:none}.drawing-overlay.is-placing{pointer-events:auto;cursor:crosshair}.drawing-overlay.is-cursor .drawing-object{pointer-events:visiblePainted;cursor:pointer}.drawing-overlay.is-placing .drawing-object{pointer-events:none}.drawing-object{fill:none;stroke:currentColor;stroke-width:2}.drawing-object circle{fill:currentColor;stroke:var(--chart-background);stroke-width:2}.drawing-object .drawing-hit-area{fill:transparent;stroke:transparent}.drawing-object text{fill:var(--drawing-label);stroke:var(--chart-background);stroke-width:3px;paint-order:stroke;font-size:11px;font-weight:700}.drawing-object .drawing-zone{fill:color-mix(in srgb,var(--warning) 12.549%,transparent)}.drawing-object .drawing-guide{stroke-dasharray:3 4;opacity:.55}.drawing-object .drawing-measure-box{fill:color-mix(in srgb,var(--info) 7.059%,transparent);stroke:color-mix(in srgb,var(--info) 66.667%,transparent);stroke-dasharray:4 4}.drawing-object.pending{stroke-dasharray:2 2}.drawing-object.error{color:var(--danger)!important}.drawing-object.is-preview{color:var(--accent-text)!important;stroke-dasharray:5 4;opacity:.8;pointer-events:none}.drawing-object.is-temporary{color:var(--info)!important;stroke-dasharray:3 2;pointer-events:none}.drawing-object.is-selected{filter:drop-shadow(0 0 4px var(--warning))}.drawing-object .drawing-point-marker{stroke-width:1.5}.drawing-object.is-selected.is-point-marker-object{filter:none}.drawing-object.is-locked .drawing-hit{cursor:not-allowed!important}.drawing-object .drawing-lock-on-hover{display:none}.drawing-object.is-locked:hover .drawing-lock-on-hover,.drawing-object.is-locked.is-selected .drawing-lock-on-hover{display:block}.drawing-draft-anchor{fill:var(--accent-text);stroke:var(--chart-background);stroke-width:2}.drawing-price-label{position:absolute;z-index:3;min-width:60px;padding:3px 4px;border-radius:3px;background:var(--badge);color:var(--badge-text);font-size:10px;font-weight:700;pointer-events:none}.drawing-text-editor{position:absolute;z-index:4}.drawing-text-editor input{width:200px;max-width:40vw;padding:6px 8px;border:1px solid var(--accent-border);border-radius:5px;outline:none;background:var(--input);color:var(--input-text)}.chart-measure-actions{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid var(--panel-border);color:var(--panel-muted);font-size:12px}.chart-measure-actions button{border:1px solid var(--input-border);border-radius:5px;background:var(--selected);color:var(--accent-text);padding:5px 8px;cursor:pointer}.chart-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:10px;background:color-mix(in srgb,var(--chart-background) 90.98%,transparent);color:var(--text)}.chart-overlay button,.chart-error button{border-color:var(--input-border);color:var(--accent-text)}.chart-older{position:absolute;top:8px;left:16px;border-radius:5px;padding:5px 8px;background:var(--selected);color:var(--panel-text);font-size:12px}.chart-history-start{position:absolute;top:8px;left:16px;border-radius:5px;padding:5px 8px;background:var(--selected);color:var(--panel-text);font-size:12px;pointer-events:none}.chart-error{margin:0;padding:5px 16px;color:var(--danger);font-size:12px}.chart-footer{justify-content:space-between;gap:8px;border-top:1px solid var(--panel-border);color:var(--panel-muted);font-size:12px}.chart-footer div{display:flex;flex-wrap:wrap;justify-content:end;gap:2px}@media(max-width:700px){.chart-page-header,.chart-toolbar{align-items:start;flex-direction:column}.chart-tf-list{flex:none}.chart-settings{gap:9px}.chart-offset{margin-left:0}.chart-footer{align-items:start;flex-direction:column}.chart-footer div{justify-content:start}}.drawing-overlay.is-box-selecting{pointer-events:auto;cursor:crosshair}.drawing-overlay.is-cursor .drawing-hit{pointer-events:stroke;cursor:grab}.drawing-overlay.is-cursor .drawing-hit-area{pointer-events:all}.drawing-overlay.is-cursor .drawing-hit:active{cursor:grabbing}.drawing-hit{fill:none;stroke:transparent;stroke-width:14}.drawing-overlay.is-cursor .drawing-handle{pointer-events:all;cursor:grab}.drawing-overlay.is-cursor .drawing-handle:active{cursor:grabbing}.drawing-handle{fill:var(--input-text);stroke:var(--text-faint);stroke-width:2}.drawing-handle.is-compact-marker-handle{fill:transparent;stroke:transparent}.chart-offset-slider{display:inline-flex;align-items:center;gap:7px}.chart-offset-slider input{width:120px;accent-color:var(--accent)}.chart-offset-slider output{min-width:20px;color:var(--input-text)}.chart-analysis-controls{display:inline-flex;align-items:center;gap:8px;margin:0;padding:4px 9px;border:1px solid var(--line-strong);border-radius:4px;color:var(--panel-text)}.chart-analysis-controls legend{padding:0 4px;color:var(--panel-muted);font-size:10px}.chart-analysis-controls label{display:inline-flex;align-items:center;gap:6px}.chart-analysis-controls input{accent-color:var(--accent)}.drawing-selection-box{fill:color-mix(in srgb,var(--info) 13.333%,transparent);stroke:var(--info);stroke-width:1;stroke-dasharray:4 3;pointer-events:none}.drawing-object.is-hidden{opacity:.3;stroke-dasharray:3 4}.chart-selection-panel{display:flex;flex-wrap:wrap;align-items:center;gap:7px;padding:7px 12px;border-top:1px solid var(--panel-border);color:var(--panel-text);font-size:11px}.chart-selection-panel>span{min-width:80px;color:var(--input-text);font-weight:600}.chart-selection-panel label{display:inline-flex;align-items:center;gap:4px}.chart-selection-panel input:not([type=checkbox]),.chart-selection-panel select{max-width:125px;padding:3px 5px;border:1px solid var(--input-border);border-radius:3px;background:var(--input);color:var(--input-text)}.chart-selection-panel input[type=color]{width:30px;height:24px;padding:0}.chart-selection-panel button{padding:4px 6px;border:1px solid var(--input-border);border-radius:3px;background:var(--input);color:var(--panel-text);cursor:pointer}.chart-selection-panel button:hover{background:var(--accent-hover)}.drawing-object{--drawing-outline: transparent}[data-theme=light] .drawing-object{--drawing-outline: var(--text-muted)}[data-theme=light] .drawing-object>line,[data-theme=light] .drawing-object>rect:not(.drawing-hit),[data-theme=light] .drawing-object>circle:not(.drawing-hit){filter:drop-shadow(0 0 .6px var(--drawing-outline))}.chart-command-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--backdrop);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.chart-command-dialog{width:min(560px,90vw);background:var(--surface);color:var(--text-primary);border:1px solid var(--border);padding:12px;box-shadow:0 8px 24px var(--shadow)}.chart-command-dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.chart-command-dialog input{width:100%;background:var(--input);color:var(--input-text);border:1px solid var(--input-border);padding:8px}.chart-command-dialog ul{list-style:none;margin:8px 0;padding:0;max-height:50vh;overflow:auto}.chart-command-dialog li button{width:100%;text-align:left;padding:8px;border:0;background:transparent;color:inherit}.chart-command-dialog li[aria-selected=true]{background:var(--selected)}.chart-command-dialog button{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);cursor:pointer}.chart-workflow-actions{display:flex;gap:6px;padding:6px 12px;border-bottom:1px solid var(--border)}.chart-right-panel{display:flex;flex:0 0 300px;flex-direction:column;width:300px;min-width:0;height:clamp(420px,62vh,780px);border-left:1px solid var(--line-strong);background:var(--panel);color:var(--panel-text);font-size:12px}.chart-right-panel>nav{display:flex;gap:5px;padding:5px;border-bottom:1px solid var(--line-strong)}.chart-right-panel button,.chart-panel-toggles button{background:transparent;color:var(--panel-text);border:1px solid transparent;border-radius:4px;padding:5px;cursor:pointer}.chart-right-panel button:hover,.chart-right-panel button[aria-pressed=true]{background:var(--selected)}.chart-right-panel button:disabled{opacity:.5;cursor:default}.chart-right-panel>nav button:last-child{margin-left:auto}.chart-right-panel .chart-object-tree{flex:1;width:100%;height:auto;border:0}.chart-panel-toggles{display:flex;flex:0 0 32px;flex-direction:column;border-left:1px solid var(--line-strong)}.chart-panel-toggles button{writing-mode:vertical-rl}.chart-watchlist{display:flex;flex:1;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:thin}.chart-watchlist>header{display:flex;align-items:center;gap:3px;padding:7px}.chart-watchlist>header strong{flex:1}.chart-watchlist input,.chart-watchlist select{background:var(--input);color:var(--input-text);border:1px solid var(--input-border);border-radius:4px;min-width:0;max-width:100%;padding:5px}.chart-watchlist input{width:100%}.chart-watchlist form,.watch-group-edit{padding:6px}.chart-watchlist p{margin:6px 0}.watch-catalog{display:flex;flex-direction:column;max-height:180px;overflow:auto}.watch-catalog button{text-align:left}.watch-columns{padding:5px 8px;font-size:10px;color:var(--panel-muted);border-block:1px solid var(--line-strong)}.watch-groups{flex:1;min-height:90px;overflow:auto}.watch-group{min-height:30px;position:relative}.watch-group-title{display:flex;align-items:center;justify-content:space-between;background:var(--surface)}.watch-group-title>button:first-child{flex:1;text-align:left}.watch-group.is-drop-target>.watch-group-title{background:var(--selected);box-shadow:inset 0 0 0 1px var(--info)}.watch-group.is-drop-target>.watch-group-title>button:first-child{color:var(--info)}.watch-row{border-bottom:1px solid var(--line-strong)}.watch-row.is-selected{background:var(--selected)}.watch-instrument{display:grid;grid-template-columns:5px 18px minmax(48px,1fr) 1fr 1fr 1fr;align-items:center;gap:5px;width:100%;min-height:32px;font-size:11px}.watch-instrument strong{text-align:left;overflow:hidden;text-overflow:ellipsis}.watch-instrument span{text-align:right;font-variant-numeric:tabular-nums}.watch-flag{width:5px;height:18px;border-radius:2px}.watch-instrument .positive{color:var(--success)}.watch-instrument .negative{color:var(--danger)}.watch-details{padding:7px;border-top:1px solid var(--line-strong);font-size:11px}.watch-details label{display:inline-flex;align-items:center;gap:3px;margin:3px}.chart-watchlist>small{padding:5px;color:var(--panel-muted)}@media(max-width:900px){.chart-main-with-tree{flex-direction:row}.chart-main-with-tree .chart-stage{flex:1;width:auto;min-width:0}.chart-right-panel{flex-basis:240px;width:240px}.chart-panel-toggles{flex-basis:28px}.chart-right-panel .chart-object-tree{width:100%;height:auto}}@media(max-width:550px){.chart-right-panel{flex-basis:200px;width:200px}.watch-instrument{font-size:10px;gap:2px}}.watch-group.is-group-drop-target>.watch-group-title{background:var(--selected);box-shadow:inset 0 0 0 1px var(--info)}.watch-group.is-group-drop-target:before{content:"";position:absolute;left:0;right:0;height:2px;background:var(--info);z-index:2;pointer-events:none}.watch-group.insert-before:before{top:0}.watch-group.insert-after:before{bottom:0}.watch-group-palette{display:flex;gap:3px;padding-block:5px}.watch-group-palette button{min-width:25px;font-size:17px}.watch-instrument-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--panel-muted);flex-shrink:0}@media(max-width:550px){.watch-instrument{grid-template-columns:4px 18px minmax(43px,1fr) 1fr 1fr 1fr;gap:2px}}.pattern-page{display:flex;flex-direction:column;gap:16px;min-width:0;color:var(--text)}.pattern-header-description{max-width:75ch;white-space:pre-wrap}.pattern-featured{display:flex;flex-direction:column;width:100%}.pattern-featured .pattern-card-content{gap:8px;padding:12px 16px}.pattern-detail-chart{width:100%;min-width:0;background:var(--chart-background)}.pattern-detail-chart-stage{position:relative;width:100%;height:clamp(420px,58vh,760px)}.pattern-detail-chart-message{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:20px;color:var(--text);text-align:center}.pattern-detail-chart [role=img]{width:100%}.pattern-detail-chart .drawing-overlay,.pattern-detail-chart .drawing-overlay *{pointer-events:none!important}.pattern-main-status{color:var(--accent-text);font-size:12px}.pattern-materials{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line-strong);padding-top:12px}.pattern-material-grid .pattern-cover{height:160px}.pattern-header,.pattern-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.pattern-header{align-items:start;border-bottom:1px solid var(--line-strong);padding-bottom:12px}.pattern-header h1{margin:4px 0}.pattern-section-title{margin:0;font-size:18px}.pattern-header p{margin-bottom:0;color:var(--panel-muted)}.pattern-page button,.pattern-button{border:1px solid var(--input-border);border-radius:5px;padding:6px 10px;background:var(--selected);color:var(--accent-text);cursor:pointer;font:inherit;text-decoration:none}.pattern-page button:hover:not(:disabled),.pattern-button:hover{background:var(--accent-hover)}.pattern-page button:disabled{opacity:.5;cursor:not-allowed}.pattern-page a{color:var(--accent-text)}.pattern-form,.pattern-upload{display:flex;flex-wrap:wrap;align-items:end;gap:12px;border:1px solid var(--line-strong);padding:14px;background:var(--chart-background)}.pattern-form label,.pattern-upload label{display:flex;flex-direction:column;gap:5px;color:var(--panel-muted);font-size:12px}.pattern-form input,.pattern-form textarea,.pattern-form select,.pattern-upload input,.pattern-chart-banner input,.pattern-chart-banner select{border:1px solid var(--input-border);border-radius:5px;background:var(--input);color:var(--input-text);padding:7px 8px}.pattern-form input{min-width:220px}.pattern-form textarea{width:min(420px,75vw);min-height:60px}.pattern-error{margin:0;padding:8px 12px;border:1px solid var(--input-border);color:var(--danger)}.pattern-empty{color:var(--panel-muted)}.pattern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.pattern-card{overflow:hidden;min-width:0;border:1px solid var(--line-strong);background:var(--chart-background);color:inherit!important;text-decoration:none}.pattern-card:hover{border-color:var(--accent-border)}.pattern-library-card{position:relative}.pattern-library-card-link{display:block;height:100%;color:inherit!important;text-decoration:none}.pattern-library-card .pattern-card-content{padding-right:48px}.pattern-page button.pattern-card-delete{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border-color:transparent;background:transparent;color:var(--panel-muted)}.pattern-page button.pattern-card-delete:hover:not(:disabled){background:var(--input);color:var(--danger)}.pattern-delete-confirm{border:1px solid var(--input-border);background:var(--chart-background);padding:12px}.pattern-delete-confirm>p{margin:0 0 10px}.pattern-cover{display:flex;align-items:center;justify-content:center;height:130px;background:var(--panel);color:var(--panel-muted);font-size:12px}.pattern-cover img{display:block;width:100%;height:100%;object-fit:contain}.pattern-card-content{display:flex;flex-direction:column;gap:6px;padding:12px;font-size:12px}.pattern-card-content strong{color:var(--input-text);font-size:14px}.pattern-card-content>span{color:var(--panel-muted)}.pattern-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pattern-section-head h2{margin:0;font-size:18px}.pattern-chart-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px solid var(--accent-border);padding:9px 12px;background:var(--input);font-size:12px}.pattern-chart-banner strong{color:var(--input-text)}.pattern-chart-banner button{border:1px solid var(--input-border);border-radius:5px;padding:6px 8px;background:var(--selected);color:var(--accent-text);cursor:pointer}.pattern-chart-banner button:disabled{opacity:.5;cursor:not-allowed}.pattern-chart-banner a{color:var(--accent-text)}.pattern-chart-stage{position:relative;height:clamp(420px,62vh,780px)}.pattern-workspace-page{gap:10px;width:100%}.pattern-workspace-page .pattern-chart-banner{flex-wrap:wrap}.pattern-workspace-page .pattern-chart-stage,.pattern-workspace-page .chart-object-tree{height:clamp(520px,74vh,980px)}.pattern-workspace-page .chart-drawing-toolbar{max-height:clamp(520px,74vh,980px)}.pattern-workspace-meta{color:var(--panel-muted)}.pattern-right-offset{display:flex;align-items:center;gap:9px;padding:5px 10px;color:var(--panel-muted);font-size:12px}.pattern-right-offset input{width:150px;accent-color:var(--accent)}.pattern-right-offset output{min-width:2ch;color:var(--text)}.pattern-save-state{color:var(--accent-text)}.pattern-card-details{display:flex;flex-direction:column;gap:3px;color:var(--panel-muted)}.pattern-workspace-action{font-weight:600}@media(max-width:900px){.pattern-detail-chart-stage{height:460px}.pattern-workspace-page .pattern-chart-stage{height:520px}.pattern-workspace-page .chart-object-tree{height:280px}}.pattern-chart-tools{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border-bottom:1px solid var(--line-strong)}.pattern-chart-tools button{border:1px solid var(--input-border);background:var(--input);color:var(--panel-text);padding:5px 8px;cursor:pointer}.pattern-chart-tools button.is-active{border-color:var(--accent-border);color:var(--accent-text)}.pattern-chart-tools button:disabled{opacity:.5}.pattern-chart-drawings{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid var(--line-strong);padding:8px}.pattern-chart-drawings button{border:1px solid var(--input-border);background:var(--input);color:var(--panel-text);padding:5px 8px}.pattern-chart-drawings button.is-selected{border-color:var(--accent-border);color:var(--accent-text)}.pattern-chart-labels{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;color:var(--panel-muted);font-size:12px}.pattern-semantics{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line-strong);padding-top:14px}.pattern-semantics summary{color:var(--text);font-size:18px;cursor:pointer}.pattern-semantics[open]{display:flex}.pattern-semantics[open]>.pattern-section-head{margin-top:12px}.pattern-semantic-list{border-top:1px solid var(--line-strong)}.pattern-semantic-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line-strong);font-size:12px}.pattern-semantic-row>div{flex:1;min-width:0}.pattern-semantic-row strong{color:var(--input-text)}.pattern-semantic-row p{margin:3px 0 0;color:var(--panel-muted)}.pattern-semantic-row>span{color:var(--panel-muted);white-space:nowrap}.pattern-semantic-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:10px;background:var(--chart-background);border:1px solid var(--line-strong)}.pattern-semantic-form label{display:flex;flex-direction:column;gap:5px;color:var(--panel-muted);font-size:12px}.pattern-semantic-form input,.pattern-semantic-form textarea,.pattern-semantic-form select{border:1px solid var(--input-border);border-radius:5px;background:var(--input);color:var(--input-text);padding:7px 8px}.pattern-semantic-form textarea{min-width:min(400px,70vw);min-height:50px}.pattern-card-semantics{display:flex;flex-wrap:wrap;gap:5px;color:var(--accent-text)}.pattern-drawing-semantic{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:8px 12px;border-top:1px solid var(--line-strong);font-size:12px;color:var(--panel-muted)}.pattern-drawing-semantic label{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pattern-drawing-semantic form{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.pattern-drawing-semantic input,.pattern-drawing-semantic textarea,.pattern-drawing-semantic select{border:1px solid var(--input-border);border-radius:5px;background:var(--input);color:var(--input-text);padding:5px 7px}.pattern-drawing-semantic button{border:1px solid var(--input-border);border-radius:5px;padding:5px 8px;background:var(--selected);color:var(--accent-text);cursor:pointer}.pattern-drawing-semantic button:disabled{opacity:.5}.pattern-capture-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;width:100%}.pattern-capture-range{color:var(--panel-text)}.pattern-capture-help{color:var(--warning)}.pattern-capture-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid var(--accent-border);background:var(--input)}.pattern-volume-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;color:var(--panel-text);font-size:12px}.pattern-volume-toggle input{accent-color:var(--accent)}.pattern-range-overlay{position:absolute;top:0;bottom:0;left:0;z-index:5;pointer-events:none;overflow:hidden}.pattern-range-fill{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent-muted) 13.333%,transparent);border:0;pointer-events:none}.pattern-range-boundary{position:absolute;top:0;bottom:0;width:1px;background:var(--range-boundary);pointer-events:none}.pattern-range-overlay button.pattern-range-handle{position:absolute;top:0;bottom:0;width:14px;padding:0;transform:translate(-50%);border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;cursor:ew-resize;pointer-events:auto}.pattern-range-overlay button.pattern-range-handle:hover:not(:disabled),.pattern-range-overlay button.pattern-range-handle:focus-visible{background:transparent;box-shadow:none;outline:none}.pattern-range-overlay:has(.pattern-range-handle:focus-visible) .pattern-range-boundary{background:var(--range-focus)}.login-screen{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:var(--bg-deep)}.login-market-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;opacity:.24;pointer-events:none}.login-market-grid path{fill:none;stroke:var(--text-faint);stroke-width:.5}.login-market-candles g{fill:var(--success);stroke:var(--success);stroke-width:1.5}.login-market-candles g.is-down{fill:var(--danger);stroke:var(--danger)}.login-market-candles .login-market-volume{opacity:.55}.login-screen .login-panel{position:relative;width:min(100%,418px);background:var(--bg-sidebar)}.login-screen .login-brand{padding:28px 24px}.login-screen .login-brand h1{font-size:17px}.login-screen .login-brand p{line-height:1.4}.login-screen .login-form{gap:20px}.login-screen .login-password-control{display:flex;flex-direction:column;gap:8px}.login-screen .login-password-control label{color:var(--text-muted);font-size:12px}.login-screen .login-password-field{position:relative;display:block;width:100%}.login-screen .login-password-field input{padding-right:48px}.login-form .password-visibility{position:absolute;top:1px;right:1px;display:grid;width:42px;height:40px;place-items:center;border:0;background:transparent;color:var(--text-muted)}.login-form .password-visibility:hover{background:var(--bg-control-hover);color:var(--text)}.login-service{display:flex;min-height:38px;align-items:center;gap:8px;padding:10px 24px;border-top:1px solid var(--line);color:var(--text-faint);font:11px/1.4 IBM Plex Mono,monospace}.login-service-dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--text-faint)}.login-service.is-available .login-service-dot{background:var(--accent)}.login-service.is-unavailable .login-service-dot{background:var(--danger)}.ai-settings{max-width:960px}.ai-settings nav{border-bottom:1px solid var(--panel-border);padding-bottom:10px;color:var(--accent)}.ai-provider{padding:18px 0;border-bottom:1px solid var(--panel-border)}.ai-provider header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-provider h2{font-size:17px;margin:0}.ai-provider header span,.ai-provider dt,.ai-provider small{color:var(--panel-muted);font-size:12px}.ai-provider dl{font-size:13px}.ai-provider dl div{display:flex;gap:12px;padding:4px 0;flex-wrap:wrap}.ai-provider dt{min-width:85px}.ai-provider dd{margin:0;overflow-wrap:anywhere}.ai-settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ai-provider button{border:1px solid var(--line-strong);background:var(--panel);color:var(--text);padding:6px 10px;cursor:pointer}.ai-provider button:disabled{opacity:.5;cursor:default}.ai-provider form{display:grid;gap:8px;max-width:460px;padding-top:14px}.ai-provider label{font-size:13px}.ai-provider input:not([type=checkbox]),.ai-provider select{width:100%;box-sizing:border-box;border:1px solid var(--line-strong);background:var(--chart-background);color:var(--text);padding:8px}.ai-provider [role=alert]{color:var(--danger);font-size:13px}.ai-provider [role=status]{color:var(--panel-muted);font-size:13px}.ai-settings nav{display:flex;gap:16px}.ai-settings nav button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);padding:6px 0;cursor:pointer;font:inherit}.ai-settings nav button[aria-current=page]{border-bottom-color:var(--accent);color:var(--text)}.interface-settings{max-width:540px;display:grid;gap:10px}.interface-settings h2{font-size:17px}.interface-settings select{background:var(--input);color:var(--input-text);border:1px solid var(--input-border);padding:7px 8px;border-radius:5px}.semantic-panel{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.semantic-panel label{display:inline-flex;gap:6px;align-items:center;margin:4px 8px 4px 0}.semantic-panel button{margin:4px 6px 4px 0}.semantic-panel textarea{min-width:240px;max-width:100%}.semantic-selection,.semantic-results{max-height:220px;overflow:auto;display:flex;gap:4px;flex-wrap:wrap}.semantic-panel p{overflow-wrap:anywhere}.semantic-panel th,.semantic-panel td{text-align:left;padding:4px 8px}.semantic-panel h5{margin:14px 0 6px}@media(max-width:700px){.semantic-panel table{display:block;overflow-x:auto}.semantic-panel label{flex-wrap:wrap}}.similarity-panel{border-top:1px solid var(--border);padding:16px 0;margin-top:16px;min-width:0}.similarity-panel details,.similarity-panel article,.similarity-panel section{border-top:1px solid var(--border);padding:10px 0}.similarity-panel label{display:inline-flex;gap:6px;align-items:center;margin:5px 12px 5px 0;max-width:100%;flex-wrap:wrap}.similarity-panel textarea{display:block;width:min(100%,650px);min-height:72px}.similarity-panel input,.similarity-panel select{max-width:100%;background:var(--chart-background);color:var(--panel-text);border:1px solid var(--line-strong);padding:5px}.similarity-panel button{margin:4px 6px 4px 0}.similarity-panel small{color:var(--panel-muted)}.similarity-controls{display:flex;gap:8px;flex-wrap:wrap}.similarity-results{max-height:540px;overflow:auto}.similarity-panel table{width:100%;font-size:12px;border-collapse:collapse}.similarity-panel td,.similarity-panel th{padding:6px;text-align:left;border-bottom:1px solid var(--panel-border);overflow-wrap:anywhere}.similarity-panel [role=alert]{color:var(--danger)}.similarity-panel [role=dialog]{border:1px solid var(--input-border);padding:12px}@media(max-width:700px){.similarity-panel table{display:block;overflow:auto}.similarity-controls{display:block}}.similarity-flow-card{border-block:1px solid var(--border);padding:12px 0;margin:12px 0}.similarity-flow-card p,.similarity-flow-card li{overflow-wrap:anywhere}.similarity-flow-card label{display:block;margin:8px 0}.similarity-flow-card button{margin:4px 8px 4px 0}.similarity-flow-card pre{max-height:360px;overflow:auto;font-size:11px;white-space:pre-wrap}.similarity-flow-card fieldset{border:0;padding:0}.similarity-flow-card small{display:block;color:var(--muted)}.research-advanced{border-top:1px solid var(--border);padding:10px 0}.research-advanced>summary{cursor:pointer}.research-similarity-summary{font-size:12px;color:var(--muted)}.market-analysis-panel{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.market-analysis-panel button,.market-analysis-panel select{font:inherit;color:inherit;background:var(--bg-control-hover);border:1px solid var(--line);border-radius:2px;padding:5px 8px}.market-analysis-panel button:hover{background:var(--input)}.market-analysis-panel button[aria-pressed=true],.market-analysis-panel button[aria-selected=true]{border-color:var(--accent)}.market-analysis-panel p{line-height:1.5;overflow-wrap:anywhere}.market-analysis-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.market-analysis-controls label{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%}.market-analysis-controls select{min-width:0;max-width:100%}.market-analysis-chart{height:480px;min-width:0;position:relative}.market-analysis-chart .chart-engine{height:100%}.market-analysis-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.market-analysis-object{pointer-events:visiblePainted;cursor:pointer}.market-analysis-overlay text{font:11px monospace}.market-analysis-object-list{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.market-analysis-panel aside{padding:12px 0;border-block:1px solid var(--line)}@media(max-width:760px){.market-analysis-chart{height:360px}}.period-analysis-panel{border-top:1px solid var(--border);margin-top:24px;padding-top:16px;min-width:0}.period-controls,.period-tf{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.period-analysis-panel label{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;min-width:0}.period-analysis-panel textarea{min-height:65px;width:100%;max-width:100%}.period-analysis-panel input,.period-analysis-panel select,.period-analysis-panel textarea{background:var(--bg-workspace);color:inherit;border:1px solid var(--border);padding:6px;max-width:100%}.period-segment{padding:12px 0;border-top:1px solid var(--border)}.period-analysis-panel p{overflow-wrap:anywhere}.search-request-card{border:1px solid var(--border);padding:12px;margin-top:12px;overflow-wrap:anywhere}.search-request-card header,.search-request-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.search-request-card h3{margin:0;font-size:14px}.search-request-card p{margin:8px 0}.search-request-card small{display:block;opacity:.75;margin:6px 0}.search-request-card form{display:grid;gap:10px}.search-request-card fieldset{display:flex;flex-wrap:wrap;gap:10px;border:1px solid var(--border)}.search-request-card label{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.search-request-card select,.search-request-card input{min-width:0;max-width:100%}.search-request-results{padding-left:20px}.search-request-results li{padding:8px 0;border-bottom:1px solid var(--border)}.research-entry-points{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.idea-creation{max-width:900px;padding:20px;border:1px solid var(--line-strong);border-radius:8px}.idea-creation>label,.idea-example-editor label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.idea-creation fieldset{display:flex;flex-wrap:wrap;gap:12px}.idea-creation textarea{width:100%;box-sizing:border-box}.idea-example-editor,.idea-source-example{padding:12px;border-top:1px solid var(--line-strong)}.idea-example-editor img,.idea-source-example img{max-width:100%;max-height:180px;object-fit:contain}.idea-source-example button{display:block;margin:8px 0;max-width:100%}.research-search-rules{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.research-search-rules button{max-width:100%;white-space:normal;text-align:left}.research-search-rules .research-rule{overflow-wrap:anywhere}.research-search-rules h3{margin:14px 0 8px;font-size:13px}.research-search-rules ul{padding-left:20px;line-height:1.6}.research-search-rules .research-rule button{margin-top:8px;font-size:12px}.research-search-rules .research-confirm-dialog{margin-top:12px}.research-search-rules small{color:var(--text-muted)}.research-page{min-width:0;container-type:inline-size}.research-dialogue{position:relative}.research-dialogue.is-image-drop{outline:2px dashed var(--accent);outline-offset:4px}.research-drop-notice{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:20px;background:var(--bg-control);opacity:.94;color:var(--accent);pointer-events:none;text-align:center}.research-image-hint{color:var(--text-muted);font-size:11px;line-height:1.5}.research-attachment-gallery{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.research-attachment-gallery button{display:flex;flex-direction:column;gap:5px;width:96px;min-width:0;padding:5px;border:1px solid var(--line);border-radius:6px;background:var(--bg-workspace);color:var(--text);cursor:pointer}.research-attachment-gallery img{width:84px;height:64px;object-fit:contain}.research-attachment-gallery span{width:100%;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.research-image-draft{display:grid;gap:4px}.research-composer .research-add-image{justify-self:start}.research-image-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--backdrop) 73.333%,transparent)}.research-image-viewer{width:min(1100px,95vw);max-height:92dvh;padding:12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg-control)}.research-image-viewer header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;overflow-wrap:anywhere}.research-image-viewer img{display:block;max-width:100%;max-height:78dvh;object-fit:contain;margin:auto}.research-image-viewer button{color:var(--accent);background:var(--bg-workspace);border:1px solid var(--line);padding:8px 12px;cursor:pointer}.research-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.research-header h1{margin:0 0 8px;font-size:28px}.research-header p{color:var(--text-muted)}.research-session-summary{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px}.research-session-summary strong{color:var(--text)}.research-back,.research-action{color:var(--accent);text-decoration:none}.research-back{white-space:nowrap;padding-top:12px}.research-action{display:inline-flex;padding:10px 12px;border:1px solid var(--line-strong);border-radius:7px;font-size:13px}.research-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.research-session-card,.research-empty{background:var(--bg-control);border:1px solid var(--line);border-radius:10px;padding:20px}.research-session-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--text);min-width:0;overflow-wrap:anywhere}.research-session-card:hover{border-color:var(--accent)}.research-session-card time,.research-session-card>span{font-size:12px;color:var(--text-muted)}.research-session-card p{margin:4px 0 0;white-space:pre-wrap}.research-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.research-badge{font-size:11px;padding:4px 7px;border:1px solid var(--line);border-radius:5px;color:var(--text-muted);white-space:nowrap}.research-error{color:var(--danger)}.research-checklist{list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:12px;margin:0;background:var(--bg-control);border:1px solid var(--line);border-radius:8px}.research-checklist li{display:flex;align-items:center;gap:8px;min-width:0}.research-checklist strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.research-checklist small{display:block;color:var(--text-muted);font-size:11px;margin-top:4px}.research-step-number{flex-shrink:0;width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;font-size:12px;color:var(--text-muted)}.research-checklist .is-complete .research-step-number{color:var(--accent);border-color:var(--accent)}.research-workspace-shell{min-width:0}.research-layout-tools{display:flex;justify-content:flex-end;padding:10px 0}.research-layout-tools button{background:transparent;border:1px solid var(--line);border-radius:5px;padding:5px 8px;color:var(--text-muted);font-size:11px;cursor:pointer}.research-workspace{display:grid;grid-template-columns:minmax(260px,var(--research-left)) 8px minmax(400px,var(--research-center)) 8px minmax(260px,var(--research-right));height:max(570px,calc(100dvh - 260px));min-width:0}.research-panel{min-width:0;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--bg-control)}.research-panel-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.research-panel-heading h2{font-size:17px;line-height:1.4;margin:0}.research-panel h3{font-size:13px;margin:0 0 8px}.research-screenshot{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px;margin-bottom:12px}.research-metadata{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;font-size:12px;margin:20px 0}.research-metadata dt{color:var(--text-muted);margin-bottom:5px}.research-metadata dd{margin:0;overflow-wrap:anywhere}.research-metadata-range{grid-column:1 / -1}.research-initial-text p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}.research-context{border-top:1px solid var(--line);padding:14px 0;font-size:12px}.research-context summary{cursor:pointer}.research-context ul{padding:0;list-style:none}.research-context li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.research-context li span{display:block;margin-top:5px;color:var(--text-muted);font-size:11px}.research-splitter{cursor:col-resize;touch-action:none;position:relative}.research-splitter:after{content:"";position:absolute;width:2px;height:40px;top:45%;left:3px;background:var(--line-strong);border-radius:2px}.research-splitter:hover:after,.research-splitter:focus-visible:after{background:var(--accent)}.research-splitter:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.research-dialogue{display:flex;flex-direction:column;min-height:100%}.research-messages{flex:1;display:grid;place-items:center;min-height:220px}.research-dialogue-empty{text-align:center;max-width:340px;padding:25px 8px}.research-ai-symbol{display:inline-grid;place-items:center;width:44px;height:44px;color:var(--accent);border:1px solid var(--line-strong);border-radius:12px;margin-bottom:18px}.research-dialogue-empty p,.research-panel-intro{color:var(--text-muted);font-size:13px;line-height:1.6}.research-composer{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:8px}.research-composer label{font-size:12px;color:var(--text-muted)}.research-composer textarea{resize:none;width:100%;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:7px;padding:10px;color:var(--text-muted);background:var(--bg-workspace);font:inherit;font-size:12px}.research-composer button{justify-self:end;padding:8px 18px;border-radius:6px;border:1px solid var(--line);color:var(--text-muted);background:var(--bg-workspace);opacity:.6;cursor:not-allowed}.research-composer button:not(:disabled){color:var(--accent);opacity:1;cursor:pointer}.research-chat-messages{flex:1;min-height:220px;overflow:auto}.research-dialogue{height:100%;min-height:0}.research-chat-message{margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:13px}.research-chat-message.is-user{background:var(--bg-workspace)}.research-chat-message header{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-muted)}.research-chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin-bottom:0}.research-dialogue-notice{font-size:12px;color:var(--text-muted)}.research-chat-error{font-size:12px;color:var(--danger);padding:10px;border:1px solid var(--line);border-radius:6px}.research-rule{margin-bottom:12px}.research-rule p{color:var(--text);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.research-rule-source{display:inline-block;font-size:10px;color:var(--text-muted);margin-top:6px}.research-rule-source.is-user_defined{color:var(--accent)}.research-rule-source.is-ai_proposed{color:var(--warning)}.research-model ul{padding-left:18px;font-size:12px;line-height:1.65;overflow-wrap:anywhere}.research-model li{margin-bottom:8px}.research-confirm-button,.research-dialogue-empty button,.research-confirm-dialog button,.research-chat-error button{background:var(--bg-workspace);color:var(--accent);border:1px solid var(--line-strong);border-radius:6px;padding:8px 12px;font:inherit;font-size:12px;cursor:pointer}.research-confirm-button:disabled,.research-dialogue-empty button:disabled,.research-confirm-dialog button:disabled{opacity:.5;cursor:not-allowed}.research-confirm-dialog{border:1px solid var(--accent);padding:14px;margin-top:16px;border-radius:8px;font-size:12px;line-height:1.6}.research-confirm-dialog label{display:block;margin:12px 0}.research-confirm-dialog button{margin:6px 6px 0 0}.research-confirmed{color:var(--accent);font-size:12px;line-height:1.6}.research-model section{padding:16px 0;border-top:1px solid var(--line)}.research-model p{font-size:12px;color:var(--text-muted);margin:0}.research-source-notice{font-size:13px;color:var(--text-muted)}.research-source-chart{height:max(450px,calc(100dvh - 230px));min-width:0}.research-source-controls{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}.research-source-controls button,.research-source-dialog>header button,button.research-action{border:1px solid var(--line-strong);border-radius:6px;padding:8px 12px;color:var(--accent);background:var(--bg-workspace);font:inherit;font-size:12px;cursor:pointer}.research-source-chart .drawing-overlay,.research-source-chart .drawing-overlay *,.research-source-chart .drawing-price-label{pointer-events:none!important}.research-source-dialog{width:96vw;max-width:1600px;height:90dvh;max-height:96dvh;padding:16px;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg-control);color:var(--text)}.research-source-dialog::backdrop{background:color-mix(in srgb,var(--backdrop) 73.333%,transparent)}.research-source-dialog>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:8px}.research-source-dialog h2{font-size:18px;margin:0 0 4px}.research-source-dialog small{color:var(--text-muted)}.research-source-dialog[open]{display:flex;flex-direction:column}.research-source-dialog .research-source-view{display:flex;flex-direction:column;flex:1;min-height:0}.research-source-dialog .research-source-chart{flex:1;min-height:200px;height:auto}.research-source-dialog .chart-ohlcv{flex-wrap:wrap}.search-analysis{padding:16px;margin:16px 0;border:1px solid var(--line-strong);border-radius:8px;background:var(--bg-control)}.search-analysis article>section{border-top:1px solid var(--line-strong);padding:12px 0}.search-analysis button{margin:4px}.search-analysis h4{margin:8px 0}.search-analysis select{margin:8px}@container (max-width: 935px){.research-workspace{display:flex;flex-direction:column;height:auto;gap:14px}.research-panel{overflow:visible}.research-splitter,.research-layout-tools{display:none}.research-dialogue{min-height:450px}.research-checklist{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (max-width: 520px){.research-header{flex-direction:column;gap:4px}.research-checklist{grid-template-columns:repeat(2,minmax(0,1fr))}.research-panel{padding:14px}}.research-results{flex:none;max-height:65vh;overflow:auto;border:1px solid var(--border);padding:10px;margin:8px 0;color:var(--text-primary)}.research-results>summary{cursor:pointer;font-weight:600}.research-results h2,.research-results h3{margin:12px 0 8px}.results-table{overflow-x:auto;margin:8px 0}.results-table table{border-collapse:collapse;width:100%;font-size:12px}.results-table th,.results-table td{border-bottom:1px solid var(--border);padding:7px;text-align:left;vertical-align:top;min-width:65px}.results-table small{display:block;color:var(--text-muted);margin-top:3px}.research-results textarea{display:block;width:100%;min-height:60px}.results-actions,.research-results nav{display:flex;flex-wrap:wrap;gap:8px}.research-results article section{padding:8px 0;border-bottom:1px solid var(--border)}.historical-search-page{padding:24px;min-width:0}.historical-search-page form{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:16px 0}.historical-search-page form label{display:grid;gap:6px}.historical-search-page fieldset{display:flex;flex-wrap:wrap;gap:10px;border:1px solid var(--line-strong)}.historical-search-page fieldset label{display:flex;align-items:center}.historical-search-page select,.historical-search-page input{color:inherit;background:var(--chart-background);padding:5px}.historical-search-page button{padding:8px;margin:3px;text-align:left}.historical-search-page nav{display:flex;flex-wrap:wrap;gap:6px}.historical-search-workspace{display:grid;grid-template-columns:210px minmax(0,1fr) 290px;gap:14px}.historical-search-workspace aside{max-height:650px;overflow:auto}.historical-search-workspace aside button{display:block;width:95%}.historical-search-workspace h3{font-size:14px}.historical-search-workspace main{min-width:0}.historical-search-chart{height:560px;position:relative}.historical-case-controls{display:flex;flex-wrap:wrap;gap:4px}.historical-case-controls button{font-size:12px;padding:6px}.historical-case-view .chart-ohlcv{min-height:42px;flex-wrap:wrap;padding:5px 8px;box-sizing:border-box}.historical-case-view .historical-search-chart{height:510px}.historical-event-marker{pointer-events:all;cursor:help}.historical-event-marker:focus{outline:none}.historical-event-marker:focus circle:last-child{stroke:var(--range-focus);stroke-width:2px}.historical-event-detail{position:absolute;z-index:6;top:8px;left:8px;max-width:min(440px,85%);padding:8px;background:color-mix(in srgb,var(--chart-background) 93.333%,transparent);color:var(--text);border:1px solid var(--input-border);border-radius:4px;font-size:12px;pointer-events:none}.historical-event-detail small{display:block;overflow-wrap:anywhere}.historical-search-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;font-size:11px}.historical-search-page [aria-pressed=true]{outline:1px solid var(--accent-border)}@media(max-width:1100px){.historical-search-workspace{grid-template-columns:1fr}.historical-search-workspace aside{max-height:240px}}.case-review-progress{display:grid;gap:6px;margin-bottom:16px}.historical-search-workspace aside button small{display:block;margin-top:5px}.historical-search-workspace aside>label{display:grid;gap:6px;margin-bottom:12px}.case-review{border-top:1px solid var(--border);margin-top:20px;padding-top:12px}.case-review-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.case-review button[aria-pressed=true]{outline:2px solid var(--accent-border)}.case-review label{display:grid;gap:6px;margin:12px 0 8px}.case-review textarea{width:100%;min-height:100px;resize:vertical;box-sizing:border-box}.case-review>small{display:block;margin-top:12px;opacity:.75}.sensitivity-page{max-width:1500px}.sensitivity-table{overflow-x:auto;margin:16px 0}.sensitivity-table table{width:100%;border-collapse:collapse;font-size:13px}.sensitivity-table th,.sensitivity-table td{border-bottom:1px solid var(--border);text-align:left;padding:9px;white-space:nowrap}.sensitivity-page details{border-top:1px solid var(--border);padding:12px 0}.sensitivity-page details>section{padding:8px 0}.sensitivity-page [role=alert]{color:var(--danger)}.sensitivity-page form input{max-width:290px}.sensitivity-page form select{max-width:min(430px,85vw)}:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--sidebar-width: 230px;--sidebar-collapsed-width: 68px}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden;background:var(--bg-workspace);color:var(--text)}button,input,select{font:inherit}button{color:inherit}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;width:100%;height:100vh;min-width:0;flex-direction:column;overflow:hidden;border-right:1px solid var(--line);background:var(--bg-sidebar)}.sidebar-brand{display:flex;height:72px;flex:0 0 72px;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--line);white-space:nowrap}.sidebar-brand-mark{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:1px solid var(--line-strong);color:var(--accent);font:600 12px/1 IBM Plex Mono,monospace;letter-spacing:.08em}.sidebar-brand-name{overflow:hidden;color:var(--panel-text);font:500 12px/1.3 IBM Plex Mono,monospace;letter-spacing:.02em;text-overflow:ellipsis}.sidebar-nav{display:flex;flex-direction:column;gap:3px;padding:16px 10px}.sidebar-link,.sidebar-action,.sidebar-toggle,.sidebar-user{display:flex;width:100%;min-width:0;height:42px;align-items:center;gap:13px;padding:0 13px;border:0;border-radius:3px;color:var(--text-muted);text-decoration:none;white-space:nowrap}.sidebar-link:focus-visible,.sidebar-action:focus-visible,.sidebar-toggle:focus-visible,.workspace-link:focus-visible,.market-data-link:focus-visible,.login-form input:focus-visible,.login-form button:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.sidebar-link{position:relative;transition:color .13s ease,background .13s ease}.sidebar-link:before{position:absolute;top:10px;bottom:10px;left:0;width:2px;background:transparent;content:""}.sidebar-link:hover,.sidebar-action:hover,.sidebar-toggle:hover{background:var(--bg-control-hover);color:var(--text)}.sidebar-link.is-active{background:var(--chart-background);color:var(--text)}.sidebar-link.is-active:before{background:var(--accent)}.sidebar-link svg,.sidebar-action svg,.sidebar-toggle svg{flex:0 0 auto}.sidebar-label{overflow:hidden;font-size:13px;text-overflow:ellipsis;transition:opacity .12s ease}.sidebar-utility{display:flex;min-height:0;flex:1;flex-direction:column;justify-content:flex-end}.sidebar-utility>.sidebar-nav{border-top:1px solid var(--line)}.sidebar-account{padding:10px;border-top:1px solid var(--line)}.sidebar-user{color:var(--text-faint)}.sidebar-user-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.sidebar-action,.sidebar-toggle{cursor:pointer;background:transparent;text-align:left}.sidebar-toggle{flex:0 0 50px;height:50px;border-top:1px solid var(--line);border-radius:0;padding-inline:23px}.sidebar-collapsed .sidebar-brand{padding-inline:18px}.sidebar-collapsed .sidebar-brand-name,.sidebar-collapsed .sidebar-label{width:0;opacity:0}.sidebar-collapsed .sidebar-link,.sidebar-collapsed .sidebar-action,.sidebar-collapsed .sidebar-user,.sidebar-collapsed .sidebar-toggle{justify-content:center;padding-inline:0}.workspace{width:100%;min-width:0;min-height:100vh;padding:30px 32px;overflow-x:hidden;background:var(--bg-workspace)}.home-page{width:min(100%,1180px);padding-top:clamp(8px,2.5vh,28px)}.page-kicker{margin:0 0 10px;color:var(--text-faint);font:500 10px/1.4 IBM Plex Mono,monospace;letter-spacing:.14em}.home-header{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:28px}.home-header h1{margin:0;font-size:clamp(28px,3vw,38px);font-weight:500;letter-spacing:-.035em}.home-header-note{max-width:310px;margin:0 0 4px;color:var(--text-faint);font-size:12px;line-height:1.5;text-align:right}.market-overview{border:1px solid var(--line-strong);background:linear-gradient(145deg,var(--bg-workspace) 0%,var(--bg-sidebar) 72%)}.market-overview-lead{display:flex;min-height:132px;align-items:center;justify-content:space-between;gap:28px;padding:24px 26px;border-bottom:1px solid var(--line)}.market-overview-symbol{display:flex;min-width:0;align-items:center;gap:18px}.market-monogram{display:grid;width:64px;height:64px;flex:0 0 64px;place-items:center;border:1px solid var(--accent-muted);background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--accent);font:600 15px/1 IBM Plex Mono,monospace;letter-spacing:.09em}.market-overview-symbol p,.market-overview-symbol h2,.market-overview-symbol span{margin:0}.market-overview-symbol p{margin-bottom:7px;color:var(--text-faint);font:500 9px/1.4 IBM Plex Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.market-overview-symbol h2{color:var(--text);font:600 25px/1.15 IBM Plex Mono,monospace;letter-spacing:-.025em}.market-overview-symbol span{display:block;margin-top:7px;color:var(--text-muted);font-size:13px}.market-overview-status{display:flex;align-items:flex-end;flex-direction:column;gap:8px;color:var(--text-faint);font:10px/1.3 IBM Plex Mono,monospace;letter-spacing:.05em}.market-state,.market-loading{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font:500 12px/1.4 IBM Plex Mono,monospace;letter-spacing:0}.market-state i{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.market-state.is-ready{color:var(--success)}.market-state.is-ready i{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 8%,transparent)}.market-state.is-updating{color:var(--info)}.market-state.is-updating i{background:var(--info)}.market-state.has-gaps{color:var(--warning)}.market-state.has-gaps i{background:var(--warning)}.market-state.has-error{color:var(--danger)}.market-state.has-error i{background:var(--danger)}.market-loading svg{animation:data-spin .85s linear infinite}.market-metrics{display:grid;grid-template-columns:.75fr 1fr 1.35fr;border-bottom:1px solid var(--line)}.market-metrics>div{min-width:0;padding:21px 26px;border-right:1px solid var(--line)}.market-metrics>div:last-child{border-right:0}.market-metrics span,.market-metrics strong{display:block}.market-metrics span{margin-bottom:9px;color:var(--text-faint);font-size:11px}.market-metrics strong{overflow:hidden;color:var(--text);font:500 16px/1.35 IBM Plex Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.market-overview-foot{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:20px;padding-left:26px}.timeframe-strip{display:flex;align-items:center;gap:7px}.timeframe-strip span{margin-right:5px;color:var(--text-faint);font:500 9px/1 IBM Plex Mono,monospace;letter-spacing:.1em}.timeframe-strip b{min-width:30px;padding:5px 7px;border:1px solid var(--line);color:var(--panel-muted);font:500 10px/1 IBM Plex Mono,monospace;text-align:center}.market-data-link{display:flex;min-height:51px;align-items:center;gap:9px;padding:0 20px;border-left:1px solid var(--line);color:var(--panel-text);font-size:12px;text-decoration:none;transition:background .13s ease,color .13s ease}.market-data-link:hover{background:var(--bg-control-hover);color:var(--accent)}.workspace-links{margin-top:40px}.workspace-links-heading{display:flex;min-height:64px;align-items:end;justify-content:space-between;gap:20px;padding-bottom:14px}.workspace-links-heading h2,.workspace-links-heading p{margin:0}.workspace-links-heading .page-kicker{margin-bottom:7px}.workspace-links-heading h2{color:var(--panel-text);font-size:18px;font-weight:500;letter-spacing:-.015em}.workspace-links-heading>p{color:var(--text-faint);font-size:11px}.workspace-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-link{position:relative;display:grid;min-width:0;min-height:116px;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:16px;padding:24px;border:1px solid var(--line);background:var(--bg-workspace);color:var(--text-muted);text-decoration:none;transition:border-color .13s ease,background .13s ease,transform .13s ease}.workspace-link:hover{border-color:var(--line-strong);background:var(--bg-control);transform:translateY(-1px)}.workspace-index{position:absolute;top:10px;right:12px;color:var(--text-faint);font:500 9px/1 IBM Plex Mono,monospace;letter-spacing:.08em}.workspace-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);color:var(--text-muted);transition:border-color .13s ease,color .13s ease}.workspace-link:hover .workspace-icon{border-color:var(--accent-muted);color:var(--accent)}.workspace-link-copy{display:flex;min-width:0;flex-direction:column;gap:7px}.workspace-link-copy strong{color:var(--text);font-size:14px;font-weight:500}.workspace-link-copy span{color:var(--text-faint);font-size:12px;line-height:1.5}.workspace-link-arrow{color:var(--text-faint);transition:color .13s ease,transform .13s ease}.workspace-link:hover .workspace-link-arrow{color:var(--accent);transform:translate(2px)}.section-page{max-width:960px;padding-top:clamp(20px,5vh,60px)}.section-page h1{margin:0;color:var(--text);font-size:clamp(27px,3vw,36px);font-weight:500;letter-spacing:-.025em}.section-description{max-width:640px;margin:15px 0 0;color:var(--text-muted);font-size:14px;line-height:1.65}.section-state{display:flex;width:fit-content;align-items:center;gap:9px;margin-top:42px;padding-top:14px;border-top:1px solid var(--line);color:var(--text-faint);font:10px/1.4 IBM Plex Mono,monospace;letter-spacing:.04em}.section-state span{width:6px;height:6px;border:1px solid var(--accent-border)}.auth-loading,.login-screen{display:grid;min-height:100vh;place-items:center;background:var(--bg-deep)}.auth-loading{color:var(--text-muted);font:13px/1.5 IBM Plex Mono,monospace}.login-screen{padding:24px}.login-panel{width:min(100%,388px);border:1px solid var(--line);background:var(--bg-sidebar)}.login-context{margin:0;padding:12px 24px;border-bottom:1px solid var(--line);color:var(--text-faint);font:500 9px/1.4 IBM Plex Mono,monospace;letter-spacing:.14em}.login-brand{display:flex;align-items:center;gap:14px;padding:24px;border-bottom:1px solid var(--line)}.login-mark{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid var(--line-strong);color:var(--accent);font:600 14px/1 IBM Plex Mono,monospace;letter-spacing:.08em}.login-brand h1{margin:0;font:500 16px/1.3 IBM Plex Mono,monospace}.login-brand p{margin:5px 0 0;color:var(--text-faint);font-size:12px}.login-form{display:flex;flex-direction:column;gap:18px;padding:24px}.login-form label{display:flex;flex-direction:column;gap:8px;color:var(--text-muted);font-size:12px}.login-form input[type=text],.login-form input[type=password],.login-form input:not([type]){width:100%;height:42px;border:1px solid var(--line);border-radius:2px;outline:none;background:var(--bg-control);color:var(--text);padding:0 12px;transition:border-color .13s ease}.login-form input:focus{border-color:var(--accent-border)}.login-form .remember-option{display:flex;flex-direction:row;align-items:center;gap:9px;cursor:pointer}.remember-option input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.login-error{margin:-4px 0 0;color:var(--danger);font-size:12px;line-height:1.5}.login-form button{height:42px;cursor:pointer;border:1px solid var(--accent-border);border-radius:2px;background:var(--bg-control-hover);color:var(--panel-text);font-weight:500;transition:background .13s ease,border-color .13s ease}.login-form button:hover:not(:disabled){border-color:var(--accent-border);background:var(--bg-control-hover)}.login-form button:disabled{cursor:wait;opacity:.65}.data-page{width:min(100%,1240px);padding-top:12px}.data-page-header{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.data-page-header h1{margin:0;font-size:clamp(27px,3vw,36px);font-weight:500;letter-spacing:-.025em}.data-page-header>p{max-width:360px;margin:0 0 3px;color:var(--text-muted);font-size:13px;line-height:1.55;text-align:right}.instrument-list{border-top:1px solid var(--line-strong)}.instrument-list-head,.instrument-row{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(100px,.8fr) minmax(145px,1fr) minmax(130px,.9fr) 28px;align-items:center;gap:18px}.instrument-list-head{min-height:38px;padding:0 16px;border-bottom:1px solid var(--line);color:var(--text-faint);font:500 9px/1.3 IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.instrument-item{border-bottom:1px solid var(--line-strong)}.instrument-row{width:100%;min-height:58px;padding:0 16px;cursor:pointer;border:0;background:transparent;text-align:left;transition:background .13s ease}.instrument-row:hover{background:var(--bg-control)}.instrument-row:focus-visible,.data-button:focus-visible,.instrument-actions select:focus-visible,.data-message button:focus-visible,.data-diagnostics summary:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.instrument-row>svg{color:var(--text-faint);transition:transform .15s ease}.instrument-item.is-expanded .instrument-row>svg{transform:rotate(180deg)}.instrument-symbol{color:var(--text);font:600 13px/1.4 IBM Plex Mono,monospace;letter-spacing:.02em}.instrument-provider,.instrument-interval,.data-muted{color:var(--text-muted);font-size:12px}.data-status{display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:11px;white-space:nowrap}.data-status>span{width:6px;height:6px;border-radius:50%;background:var(--text-faint)}.data-status.is-ready{color:var(--success)}.data-status.is-ready>span{background:var(--accent)}.data-status.is-updating{color:var(--info)}.data-status.is-updating>span{background:var(--info)}.data-status.has-gaps{color:var(--warning)}.data-status.has-gaps>span{background:var(--warning)}.data-status.has-error{color:var(--danger)}.data-status.has-error>span{background:var(--danger)}.data-status.is-empty{color:var(--text-faint)}.instrument-details{padding:24px 16px 18px;border-top:1px solid var(--line);background:var(--bg-sidebar)}.instrument-summary{display:flex;align-items:end;justify-content:space-between;gap:30px}.instrument-summary dl,.data-diagnostics dl{margin:0}.instrument-summary dl{display:grid;min-width:0;grid-template-columns:repeat(4,minmax(120px,auto));gap:18px 28px}.instrument-summary dl>div,.data-diagnostics dl>div{display:flex;min-width:0;flex-direction:column;gap:6px}.instrument-summary dt,.data-diagnostics dt,.instrument-actions label>span{color:var(--text-faint);font:500 9px/1.3 IBM Plex Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.instrument-summary dd,.data-diagnostics dd{margin:0;color:var(--panel-text);font-size:12px;line-height:1.45}.instrument-actions{display:flex;flex:0 0 auto;align-items:end;gap:10px}.instrument-actions label{display:flex;flex-direction:column;gap:7px}.data-button,.instrument-actions select,.data-message button{height:36px;border:1px solid var(--line-strong);border-radius:2px;background:var(--bg-control);color:var(--panel-text)}.data-button{display:inline-flex;align-items:center;gap:8px;padding:0 13px;cursor:pointer}.data-button:hover:not(:disabled),.data-message button:hover{border-color:var(--input-border);background:var(--bg-control-hover)}.data-button:disabled,.instrument-actions select:disabled{cursor:wait;opacity:.6}.instrument-actions select{min-width:134px;padding:0 30px 0 10px}.data-action-error{margin:16px 0 0;color:var(--danger);font-size:12px}.timeframe-table-wrap{margin-top:24px;overflow-x:auto;border-top:1px solid var(--line)}.timeframe-table{width:100%;min-width:680px;table-layout:fixed;border-collapse:collapse;font-size:11px}.timeframe-table th{height:36px;color:var(--text-faint);font:500 9px/1.3 IBM Plex Mono,monospace;letter-spacing:.05em;text-align:left;text-transform:uppercase}.timeframe-table th,.timeframe-table td{padding:0 12px;border-bottom:1px solid var(--line);white-space:nowrap}.timeframe-table th:first-child{width:7%}.timeframe-table th:nth-child(2),.timeframe-table th:nth-child(3){width:18%}.timeframe-table th:nth-child(4){width:16%}.timeframe-table th:nth-child(5){width:22%}.timeframe-table th:nth-child(6){width:19%}.timeframe-table th:first-child,.timeframe-table td:first-child{padding-left:0}.timeframe-table th:last-child,.timeframe-table td:last-child{padding-right:0}.timeframe-table td{height:42px;color:var(--panel-muted)}.timeframe-name{color:var(--panel-text)!important;font:600 11px/1.3 IBM Plex Mono,monospace}.data-diagnostics{margin-top:14px;border-bottom:1px solid var(--line)}.data-diagnostics summary{width:fit-content;padding:10px 0 12px;cursor:pointer;color:var(--text-muted);font-size:11px}.data-diagnostics dl{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:18px 28px;padding:8px 0 18px}.data-diagnostics dl>div:last-child{grid-column:1 / -1}.technical-status{color:var(--text-muted)!important;font:10px/1.6 IBM Plex Mono,monospace!important}.data-message{display:flex;min-height:80px;align-items:center;justify-content:space-between;gap:18px;color:var(--text-muted);font-size:12px}.data-message.has-error{color:var(--danger)}.data-message button{padding:0 13px;cursor:pointer}@keyframes data-spin{to{transform:rotate(360deg)}}.is-spinning{animation:data-spin .85s linear infinite}@media(max-width:1200px){.data-page-header{align-items:start;flex-direction:column;gap:10px}.data-page-header>p{text-align:left}.instrument-summary{align-items:stretch;flex-direction:column}.instrument-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){:root{--sidebar-collapsed-width: 60px}.app-shell{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.sidebar-brand{padding-inline:14px}.sidebar-brand-name,.sidebar-label{display:none}.sidebar-link,.sidebar-action,.sidebar-user,.sidebar-toggle{justify-content:center;padding-inline:0}.workspace{padding:24px 20px}.home-page,.section-page{padding-top:10px}.home-header{align-items:flex-start;flex-direction:column;gap:10px}.home-header-note{text-align:left}.market-overview-lead{align-items:flex-start;flex-direction:column}.market-overview-status{align-items:flex-start}.market-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.market-metrics>div:nth-child(2){border-right:0}.market-metrics>div:last-child{grid-column:1 / -1;border-top:1px solid var(--line)}.market-overview-foot{align-items:stretch;flex-direction:column;gap:0;padding:14px 0 0}.timeframe-strip{flex-wrap:wrap;padding:0 20px 14px}.market-data-link{justify-content:center;border-top:1px solid var(--line);border-left:0}.workspace-links-heading{align-items:flex-start;flex-direction:column;justify-content:center;gap:4px}.workspace-links-grid{grid-template-columns:minmax(0,1fr)}.data-page{padding-top:8px}.data-page-header{align-items:start;flex-direction:column;gap:10px}.data-page-header>p{text-align:left}.instrument-list-head{display:none}.instrument-row{grid-template-columns:minmax(90px,1fr) minmax(110px,auto) 20px;gap:10px}.instrument-provider,.instrument-interval{display:none}.instrument-summary{align-items:stretch;flex-direction:column}.instrument-summary dl,.data-diagnostics dl{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:480px){.login-screen{padding:16px}.login-brand,.login-form{padding:20px}.login-context{padding-inline:20px}.market-overview-lead{padding:20px}.market-monogram{width:50px;height:50px;flex-basis:50px}.market-overview-symbol h2{font-size:21px}.market-overview-symbol span{font-size:12px}.market-metrics{grid-template-columns:minmax(0,1fr)}.market-metrics>div,.market-metrics>div:nth-child(2){border-top:1px solid var(--line);border-right:0}.market-metrics>div:first-child{border-top:0}.market-metrics>div:last-child{grid-column:auto}.workspace-link{min-height:106px;grid-template-columns:38px minmax(0,1fr) 16px;gap:13px;padding:20px 17px}.workspace-icon{width:38px;height:38px}.instrument-summary dl,.data-diagnostics dl{grid-template-columns:minmax(0,1fr)}.instrument-actions{align-items:stretch;flex-direction:column}.data-diagnostics dl>div:last-child{grid-column:auto}}
