:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color-scheme:dark;--bg: #0b1220;--panel: #0f1a30;--muted: #93a4c7;--text: #e7eefc;--accent: #6ea8ff;--border: rgba(255, 255, 255, .12);--danger: #ff6b6b;--ok: #2ee59d;--subtle-bg: rgba(255,255,255,.03);--subtle-bg-hover: rgba(255,255,255,.06);--input-bg: rgba(0,0,0,.22);--overlay-bg: rgba(0,0,0,.14);--tooltip-bg: rgba(10, 16, 30, .62);--tooltip-border: rgba(255,255,255,.18);--table-header-bg: rgba(11, 18, 32, .92)}[data-theme=light]{color-scheme:light;--bg: #f5f7fa;--panel: #ffffff;--muted: #6b7280;--text: #1f2937;--accent: #2563eb;--border: rgba(0, 0, 0, .12);--danger: #dc2626;--ok: #16a34a;--subtle-bg: rgba(0,0,0,.03);--subtle-bg-hover: rgba(0,0,0,.06);--input-bg: rgba(0,0,0,.05);--overlay-bg: rgba(0,0,0,.04);--tooltip-bg: rgba(255, 255, 255, .88);--tooltip-border: rgba(0,0,0,.15);--table-header-bg: rgba(255, 255, 255, .92)}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent)}button,input,select{font:inherit}.app{display:flex;height:100vh;width:100vw}.sidebar{width:var(--sidebar-width, 360px);min-width:280px;max-width:1200px;border-right:1px solid var(--border);background:linear-gradient(180deg,var(--subtle-bg),transparent);padding:14px;overflow:auto}.sidebarResizer{width:10px;cursor:col-resize;flex:0 0 auto;position:relative;background:transparent;touch-action:none}.sidebarResizer:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin-left:3px;width:3px;border-radius:2px;background:var(--border);transition:background .15s,width .15s}.sidebarResizer:hover:before{width:5px;background:#6ea8ff99}.sidebarResizer.dragging:before{width:5px;background:#6ea8ffd9}.main{flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.mainContent{flex:1;overflow-y:auto;display:flex;flex-direction:column}.pageTabs{display:flex;align-items:center;gap:2px;padding:4px 8px 0;border-bottom:1px solid var(--border);flex-shrink:0}.pageTab{display:flex;align-items:center;gap:4px;padding:5px 12px;font-size:12px;cursor:pointer;border-radius:6px 6px 0 0;background:var(--subtle-bg);color:var(--muted);border:1px solid transparent;border-bottom:none;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s}.pageTab.active{background:var(--subtle-bg-hover);color:var(--text);border-color:var(--border)}.pageTab:hover:not(.active){background:var(--subtle-bg-hover)}.pageTabLabel{outline:none}.pageTabLabel[contenteditable=true]{background:var(--input-bg);padding:0 4px;border-radius:3px;min-width:30px}.pageTab[draggable]{cursor:grab}.pageTab[draggable]:active{cursor:grabbing}.pageTabDragOver{border-color:var(--accent)!important;background:#2563eb1f!important}.pageTabDuplicate{background:none;border:none;color:var(--muted);cursor:pointer;font-size:12px;padding:0 2px;line-height:1;opacity:0;transition:opacity .15s}.pageTab:hover .pageTabDuplicate{opacity:1}.pageTabDuplicate:hover{color:var(--accent)}.pageTabClose{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;opacity:0;transition:opacity .15s}.pageTab:hover .pageTabClose{opacity:1}.pageTabClose:hover{color:var(--danger)}.pageTabAdd{background:none;border:1px dashed var(--border);color:var(--muted);cursor:pointer;font-size:14px;padding:4px 10px;border-radius:6px 6px 0 0;margin-left:2px}.pageTabAdd:hover{color:var(--text);border-color:var(--text)}.header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.header h1{font-size:14px;font-weight:600;margin:0}.header .meta{color:var(--muted);font-size:12px}.chartToolbar{display:flex;align-items:center;gap:6px;padding:6px 8px;flex-shrink:0}.toolbarDivider{width:1px;height:18px;background:var(--border);margin:0 4px}.carouselControls{display:flex;align-items:center;gap:4px}.carouselArrow{padding:2px 6px!important;font-size:16px!important;font-weight:700;line-height:1;min-width:24px}.carouselArrow:disabled{opacity:.3;cursor:default}.carouselLabel{font-size:11px;color:var(--muted);white-space:nowrap;padding:0 2px}.carouselSizeSelect{width:52px;padding:2px 4px!important;font-size:11px!important}.drawToolBtn.active{background:var(--accent);color:#fff}.drawingActive{cursor:crosshair}.paneLogToggle{position:absolute;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--subtle-bg);color:var(--muted);border:1px solid var(--border);cursor:pointer;z-index:5;line-height:1.2}.paneLogToggle:hover{background:var(--subtle-bg-hover);color:var(--text)}.chartWrap{position:relative;min-height:360px;display:flex;flex-direction:column}.chartWrap.stacked{flex:0 0 auto;height:70vh}.chartWrap.fill{flex:1}.app.chartMaximized>.sidebar,.app.chartMaximized>.sidebarResizer,.app.chartMaximized .header,.app.chartMaximized .pageTabs,.app.chartMaximized .dataTableWrap{display:none!important}.app.chartMaximized .chartWrap{min-height:0}.maximizeBtn{font-size:12px!important;padding:4px 10px!important;white-space:nowrap}.chartContainer{position:absolute;top:0;right:0;bottom:0;left:0}.chartTooltip{position:absolute;z-index:10;max-width:520px;pointer-events:none;padding:10px;border-radius:12px;border:1px solid var(--tooltip-border);background:var(--tooltip-bg);box-shadow:0 10px 26px #00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.chartTooltipTime{font-size:12px;font-weight:650;color:var(--text);opacity:.92;margin-bottom:8px}.chartTooltipRows{display:flex;flex-direction:column;gap:6px}.chartTooltipRow{display:flex;gap:10px;align-items:baseline}.chartTooltipName{flex:1;font-size:12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chartTooltipValue{font-variant-numeric:tabular-nums;font-size:12px;color:var(--text);opacity:.95}.chartTooltipSwatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.panel{background:var(--subtle-bg);border:1px solid var(--border);border-radius:12px;padding:12px;margin-bottom:12px}.panel h2{font-size:13px;margin:0 0 8px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.panel h2 .panelArrow{display:inline-block;font-size:10px;transition:transform .15s ease}.panel h2 .panelArrow.collapsed{transform:rotate(-90deg)}.panel.collapsed h2{margin-bottom:0}.panel.collapsed>*:not(h2){display:none}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.small{font-size:12px;color:var(--muted)}.dropZone{border:1px dashed var(--border);border-radius:12px;padding:14px;background:var(--subtle-bg);text-align:center}.dropZone.dragging{border-color:var(--accent);background:#6ea8ff1f}.dropZone strong{display:block;margin-bottom:6px}.input{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--input-bg);color:var(--text)}select.input{padding:9px 10px}.btn{padding:9px 10px;border-radius:10px;border:1px solid var(--border);background:var(--subtle-bg-hover);color:var(--text);cursor:pointer}.btn:hover{background:var(--subtle-bg)}.btn.primary{border-color:#6ea8ff80}.btn.danger{border-color:#ff6b6b80}.btn.danger:hover{background:#ff6b6b1f}.btn:disabled{opacity:.55;cursor:not-allowed}.metricList{max-height:60vh;min-height:380px;overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--overlay-bg)}.tickerNavItem{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none}.tickerNavItem:hover{background:var(--subtle-bg)}.tickerNavItem:last-child{border-bottom:none}.tickerNavMain{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:2px}.tickerNavSymbol{font-size:13px;font-weight:650;color:var(--text)}.tickerNavCompany{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tickerNavRight{display:flex;align-items:center;gap:8px;flex-shrink:0}.tickerNavSelBadge{font-size:11px;padding:2px 6px;border-radius:999px;background:#6ea8ff26;border:1px solid rgba(110,168,255,.35);color:var(--accent)}.tickerNavCount{font-size:12px;color:var(--muted)}.tickerNavArrow{font-size:16px;color:var(--muted);line-height:1}.tickerDrillHeader{padding:9px 12px 8px;border-bottom:1px solid rgba(110,168,255,.15);background:#6ea8ff0d;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px}.tickerDrillCompany{font-size:12px;color:var(--muted)}.metricGroup{border-bottom:1px solid var(--border)}.metricGroup:last-child{border-bottom:none}.metricGroupHeader{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--subtle-bg);position:sticky;top:0;z-index:1}.metricGroupHeader:hover{background:var(--subtle-bg-hover)}.metricGroupChevron{font-size:12px;color:var(--accent);width:14px;flex-shrink:0;line-height:1}.metricGroupLabel{flex:1;font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metricGroupCount{font-size:12px;color:var(--muted);flex-shrink:0}.metricItem{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);align-items:center}.metricItem:hover{background:var(--subtle-bg)}.metricItem input[type=checkbox]{transform:scale(1.06)}.metricItem:last-child{border-bottom:none}.metricItem.singleSelected{background:#6ea8ff1f;border-left:3px solid var(--accent, #6ea8ff);padding-left:9px}.metricName{flex:1;font-size:13.5px;line-height:1.35rem}.metricMeta{color:var(--muted);font-size:12px;margin-top:4px}.panes{display:flex;flex-direction:column;gap:10px}.paneCard{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--subtle-bg);transition:border-color .1s,background .1s}.paneCard.paneCardDragOver{border-color:#6ea8ffb3;background:#6ea8ff12}.paneCard.paneCardOffscreen{opacity:.5;border-style:dashed}.carouselJumpBtn{font-size:10px!important;opacity:.8}.paneDragHandle{cursor:grab;opacity:.4;font-size:15px;line-height:1;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px;flex-shrink:0}.paneDragHandle:hover{opacity:.8;background:var(--subtle-bg-hover)}.paneTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.paneTitle strong{font-size:12.5px}.seriesList{display:flex;flex-direction:column;gap:6px}.seriesItem{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:7px 8px;border-radius:10px;border:1px solid var(--border);background:var(--overlay-bg)}.swatch{width:12px;height:12px;border-radius:3px;border:1px solid var(--border)}.colorControl{display:flex;align-items:center;gap:6px}.colorInput{width:26px;height:20px;padding:0;border:none;background:transparent}.alphaInput{width:66px;height:18px;accent-color:var(--accent)}.alphaInput::-webkit-slider-runnable-track{height:4px}.alphaInput::-webkit-slider-thumb{margin-top:-6px}.seriesLabel{flex:1 1 220px;font-size:12px;min-width:200px}.tag{font-size:11px;color:var(--muted);border:1px solid var(--border);padding:2px 6px;border-radius:999px}.workbookList{display:flex;flex-direction:column;gap:8px}.workbookCard{border:1px solid var(--border);border-radius:12px;padding:10px;background:var(--overlay-bg)}.checkboxList{max-height:160px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:6px;background:var(--overlay-bg)}.tickerList{max-height:180px;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:6px;background:var(--overlay-bg)}.checkRow{display:flex;gap:8px;align-items:center;padding:6px;border-radius:8px;-webkit-user-select:none;user-select:none}.checkRow:hover{background:var(--subtle-bg)}.dataTableWrap{border-top:1px solid var(--border);background:var(--overlay-bg);display:flex;flex-direction:column}.dataTableWrap.open{height:70vh;min-height:420px}.dataTableHeader{padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.dataTableHeaderTitle{display:flex;flex-direction:column;gap:2px}.dataTableHeaderTitle strong{font-size:12.5px}.dataTableScroller{flex:1;overflow:auto;padding:0 14px 14px}.dataTable{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.dataTable th,.dataTable td{padding:7px 10px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:top}.dataTable th{position:sticky;top:0;z-index:2;background:var(--table-header-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:left;font-weight:650}.dataTable td{color:var(--text);opacity:.92}.dataTable td.num{font-variant-numeric:tabular-nums;text-align:right}.dataRow.hovered{background:#6ea8ff1f}.dataRow:hover{background:var(--subtle-bg)}.pill{font-size:11px;border:1px solid var(--border);padding:4px 8px;border-radius:999px;background:var(--subtle-bg);color:var(--text)}.mb-4{margin-bottom:4px}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-10{margin-bottom:10px}.mb-12{margin-bottom:12px}.mb-14{margin-bottom:14px}.mt-6{margin-top:6px}.mt-10{margin-top:10px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-10{gap:10px}.gap-12{gap:12px}.flex-1{flex:1}.min-w-160{min-width:160px}.w-full{width:100%}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-bold{font-weight:650}.opacity-dim{opacity:.4}.opacity-muted{opacity:.85}.color-ok{color:var(--ok)}.color-danger{color:var(--danger)}.spacer{height:10px}.divider{height:1px;background:#ffffff1a;margin:14px 0}[data-theme=light] .divider{background:#0000001a}.card-bg{padding:8px 10px;background:var(--subtle-bg);border-radius:6px}.compact-btn{padding:2px 5px;font-size:14px;line-height:1;min-width:0}.icon-btn{background:none;border:none;cursor:pointer;padding:0;color:var(--muted)}.icon-btn:hover{color:var(--text)}.col{display:flex;flex-direction:column}.stat-table{font-size:11px;line-height:1.5}.inline-num{font-variant-numeric:tabular-nums;text-align:right}.section-label{font-size:12px;color:var(--muted);margin-bottom:6px}
