:root{--bg-main:#070a0f;--bg-panel:#12161e;--bg-panel-2:#171c25;--border-color:#242b36;--border-subtle:#ffffff0f;--text-main:#f4f7fb;--text-soft:#c0c7d6;--text-dim:#758096;--accent-blue:#4d8dff;--accent-green:#30d17c;--accent-red:#ff5b6e;--font-body:"IBM Plex Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display:"Space Grotesk", "IBM Plex Sans", "PingFang SC", sans-serif;color:var(--text-main);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-main);font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%}html{background:var(--bg-main)}body{min-width:320px;color:var(--text-main);background:radial-gradient(circle at 100% 0,#4d8dff1a,#0000 22%),radial-gradient(circle at 0 100%,#ff5b6e14,#0000 20%),linear-gradient(#0b0f15,#06080d 60%);margin:0;overflow:hidden}body.is-resizing-columns,body.is-resizing-columns *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}body,button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}::-webkit-scrollbar-track{background:0 0}@media (width<=1200px){body{overflow:auto}}.auth-page{background:radial-gradient(circle at 20% 15%,#4d8dff33,#0000 28%),radial-gradient(circle at 80% 85%,#35d0ba2e,#0000 32%),linear-gradient(135deg,#09111f 0%,#101722 48%,#080b10 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:linear-gradient(#171d28f2,#0b0f17f2);border:1px solid #ffffff1f;border-radius:24px;width:min(420px,100%);padding:32px;box-shadow:0 24px 80px #0000006b,inset 0 1px #ffffff0d}.auth-kicker{color:#35d0ba;letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.auth-card h1{color:var(--text-main);font:800 30px/1.1 var(--font-display);margin:0}.auth-subtitle{color:var(--text-dim);margin:10px 0 24px;line-height:1.6}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--text-soft);gap:7px;font-size:13px;display:grid}.auth-form input{height:42px;color:var(--text-main);background:#05080dc7;border:1px solid #ffffff1f;border-radius:12px;outline:none;padding:0 12px}.auth-form input:focus{border-color:#4d8dffb8;box-shadow:0 0 0 3px #4d8dff24}.auth-error{color:#ff9b8d;margin:0;font-size:13px}.auth-primary,.auth-x,.auth-switch,.auth-user-chip button{cursor:pointer;border:0;border-radius:999px}.auth-primary{color:#071018;background:linear-gradient(135deg,#35d0ba,#74a9ff);height:44px;margin-top:4px;font-weight:800}.auth-primary:disabled{cursor:progress;opacity:.72}.auth-divider{color:#d5dfef75;align-items:center;gap:12px;margin:18px 0 14px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#ffffff17;flex:1;height:1px}.auth-x{color:#f5f8fa;background:#05070a;border:1px solid #ffffff24;width:100%;height:44px;font-weight:800}.auth-x:hover{background:#111820}.auth-x:disabled{cursor:progress;opacity:.72}.auth-switch{width:100%;color:var(--text-soft);background:0 0;margin-top:16px}.auth-switch:hover{color:var(--text-main)}.auth-user-chip{color:var(--text-soft);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090d14d1;border:1px solid #ffffff1a;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:3px 4px 3px 8px;font-size:11px;line-height:1.2;display:flex}.auth-user-chip button{color:var(--text-main);background:#ffffff14;padding:3px 7px;font-size:11px}.terminal-page{grid-template-rows:minmax(0,1fr) auto;height:100vh;padding:14px 18px 10px;display:grid;overflow:hidden}.terminal-shell{grid-template-columns:var(--left-panel-width,332px) 12px minmax(0, 1fr) 12px var(--right-panel-width,368px);min-height:0;display:grid}.panel-splitter{cursor:col-resize;touch-action:none;outline:none;position:relative}.panel-splitter:before{content:"";background:#ffffff14;border-radius:999px;width:2px;transition:background .15s,box-shadow .15s;position:absolute;top:12px;bottom:12px;left:50%;transform:translate(-50%)}.panel-splitter:hover:before,.panel-splitter:focus-visible:before{background:#4d8dffb3;box-shadow:0 0 0 4px #4d8dff1f}.chart-panel,.panel-card{border:1px solid var(--border-color);background:linear-gradient(#1a1f28fa,#0f131bfa);box-shadow:inset 0 1px #ffffff05}.chart-panel,.detail-panel,.panel-card{border-radius:14px;min-height:0}.chart-panel,.detail-panel{min-width:0}.panel-title-row,.chart-header,.chart-footer,.quote-header,.quote-price-row,.after-hours-band,.finance-header,.terminal-footer,.symbol-line,.chart-header-metrics,.timeframes,.footer-indexes,.footer-index,.stat-row,.mini-metrics,.eps-header{align-items:center;display:flex}.panel-title-row,.chart-header,.chart-footer,.quote-header,.quote-price-row,.finance-header{justify-content:space-between}.panel-title-row,.chart-header,.chart-footer,.panel-card,.finance-card,.quote-card{padding:14px 16px}.panel-kicker{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1px;font-size:10px}.panel-title-row h1,.quote-header h2,.finance-header h3{font:700 18px/1.1 var(--font-display);letter-spacing:.01em;margin:0}.tiny-action,.tool-button,.timeframe,.market-badge,.unlock-button{cursor:pointer;font:inherit;border:0}.tiny-action,.market-badge{color:var(--text-soft);background:#4a546657;border-radius:999px;padding:4px 10px;font-size:11px}.tiny-action.ghost{background:#ffffff0a}.tiny-action.danger{color:#ff8f8f}.tiny-action:disabled{cursor:not-allowed;opacity:.45}.panel-title-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.quote-price,.stat-row strong,.quote-delta strong,.finance-metrics strong,.footer-index strong,.chart-header-metrics strong,.symbol-line strong{color:var(--text-main)}.quote-time,.quote-code,.finance-tag,.chart-subline,.chart-header-metrics span,.stat-row span,.finance-metrics span,.mini-metrics span,.footer-index span,.system-clock,.chart-footnote,.chart-label,.eps-header .muted,.eps-column small{color:var(--text-dim)}.left-tab-panel,.chart-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.left-tab-panel{border:1px solid var(--border-color);background:linear-gradient(#1a1f28fa,#0f131bfa);border-radius:14px;min-width:0;box-shadow:inset 0 1px #ffffff05}.left-tab{font:inherit;background:0 0;border-top:0;border-left:0;border-right:0}.left-tab-content,.left-tab-pane{flex-direction:column;flex:auto;min-height:0;display:flex}.left-tab-pane .portfolio-panel{box-shadow:none;background:0 0;border:0;border-radius:0;flex:auto}.center-tab-bar{border-bottom:1px solid var(--border-color);scrollbar-width:none;flex-shrink:0;align-items:stretch;gap:0;padding:0 8px;display:flex;overflow-x:auto}.center-tab-bar::-webkit-scrollbar{display:none}.center-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-bottom:2px solid #0000;align-items:center;gap:5px;padding:10px 12px;font-size:.75rem;transition:color .12s,border-color .12s;display:flex}.center-tab:hover{color:var(--text-secondary);background:#ffffff05}.center-tab.active{color:var(--text-primary);border-bottom-color:#4d8dffb3}.center-tab-label{text-overflow:ellipsis;max-width:120px;overflow:hidden}.center-tab-close{width:16px;height:16px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;margin-left:2px;padding:0;font-size:13px;line-height:1;transition:opacity .12s,background .12s;display:inline-flex}.center-tab:hover .center-tab-close,.center-tab.active .center-tab-close{opacity:1}.center-tab-close:hover{color:var(--text-primary);background:#ffffff1a}.center-tab-content{flex-direction:column;flex:auto;min-height:0;display:flex}.center-tab-pane{flex-direction:column;flex:auto;min-height:0}.chart-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:12px;min-width:0;padding:10px 14px}.symbol-line{flex-wrap:nowrap;flex:auto;gap:8px;min-width:0;margin-bottom:0}.symbol-line strong{font:700 18px/1 var(--font-display);flex:none}.after-hours{white-space:nowrap;color:var(--text-soft);flex:none}.chart-subline{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:11px;overflow:hidden}.chart-stage{flex:auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.chart-empty-state{text-align:center;min-height:0;color:var(--text-dim);background:radial-gradient(circle at 50% 35%,#4d8dff17,#0000 28%),linear-gradient(#0f131bf5,#080b11fa);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:8px;padding:16px;display:flex}.chart-empty-state strong{color:var(--text-main);font-size:18px}.timeframe:hover,.tiny-action:hover,.market-badge:hover,.unlock-button:hover{filter:brightness(1.08)}.chart-surface{grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;padding:12px;display:grid;position:relative}.price-chart{background:radial-gradient(circle at 100% 0,#385db61f,#0000 30%),linear-gradient(#111721f5,#0b0f16fa);border:1px solid #ffffff0f;border-radius:16px;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff08}.tv-chart-container{width:100%;height:100%}.tv-chart-indicator-bar{z-index:6;pointer-events:none;gap:6px;display:flex;position:absolute;top:10px;right:16px}.tv-indicator-toggle{pointer-events:auto;font:600 11px/1 var(--font-body);letter-spacing:.08em;color:#9baec8;cursor:pointer;background:#090d13b8;border:1px solid #ffffff1f;border-radius:6px;padding:4px 10px;transition:color .15s,background .15s,border-color .15s}.tv-indicator-toggle:hover{color:#d7e2f4;border-color:#ffffff3d}.tv-indicator-toggle.active{color:#0b1019;background:#1bbf9b;border-color:#1bbf9b}.tv-indicator-panel{z-index:6;color:#b1bdd2;width:220px;font:400 12px/1.4 var(--font-body);background:#090d13f0;border:1px solid #ffffff24;border-radius:8px;flex-direction:column;gap:10px;padding:12px 14px;display:flex;position:absolute;top:44px;right:16px;box-shadow:0 6px 18px #00000080}.tv-indicator-panel-title{font:600 12px/1 var(--font-body);color:#d7e2f4;letter-spacing:.05em;margin-bottom:2px}.tv-indicator-panel label{flex-direction:column;gap:4px;display:flex}.tv-indicator-panel label>span{color:#9baec8;font-size:11px}.tv-indicator-panel select,.tv-indicator-panel input[type=range]{color:#d7e2f4;width:100%;font:400 12px/1 var(--font-body);background:#141c28e6;border:1px solid #ffffff1a;border-radius:4px;padding:4px 6px}.tv-indicator-panel input[type=range]{accent-color:#1bbf9b;height:20px;padding:0}.tv-hover-metrics{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#090d13d1;border:1px solid #ffffff14;border-radius:10px;flex-wrap:wrap;gap:12px;padding:8px 12px;display:flex;position:absolute;top:14px;left:16px}.tv-hover-metrics__item{font:600 12px/1.4 var(--font-body);letter-spacing:.01em;white-space:nowrap}.tv-chart-container iframe{border:0}.tv-chart-fallback{color:var(--text-soft);font:500 13px/1.5 var(--font-body);text-align:center;background:linear-gradient(#10161feb,#10161ffa);place-items:center;padding:20px;display:grid;position:absolute;inset:0}.grid-line{stroke:#ffffff12;stroke-width:1px}.grid-line-vertical{stroke-dasharray:3 9;stroke-opacity:.42}.volume-divider{stroke:#ffffff1a}.axis-label{fill:var(--text-dim);font-size:11px}.wick{stroke-width:2px}.candle-body,.volume-bar{stroke-width:0}.wick.up,.candle-body.up,.volume-bar.up,.up{color:var(--accent-green);stroke:var(--accent-green);fill:var(--accent-green)}.wick.down,.candle-body.down,.volume-bar.down,.down{color:var(--accent-red);stroke:var(--accent-red);fill:var(--accent-red)}.ma-line{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.ma-blue{stroke:#56c8ff}.ma-gold{stroke:#ffc857}.ma-violet{stroke:#9f7bff}.price-guide{stroke:#46c6768c;stroke-width:1px;stroke-dasharray:5 5}.price-tag-box{fill:#26c36c29;stroke:#26c36c73}.price-tag-text{fill:var(--accent-green);font-size:12px;font-weight:700}.chart-label{fill:var(--text-dim);font-size:11px}.chart-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;justify-content:center;gap:12px;padding:6px 14px}.timeframes{flex-wrap:nowrap;flex:auto;justify-content:center;gap:4px;width:100%;min-width:0}.timeframe{color:var(--text-dim);background:0 0;border-radius:8px;flex-shrink:0;padding:3px 8px;font-size:11px}.timeframe.active{color:var(--accent-blue);background:#316eff29}.chart-footnote{text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;margin-left:auto;font-size:11px;overflow:hidden}.detail-panel{border:1px solid var(--border-color);background:linear-gradient(#1a1f28fa,#0f131bfa);flex-direction:column;gap:0;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff05}.detail-panel .company-info-card{min-height:0;box-shadow:none;background:radial-gradient(circle at 88% 0,#4d8dff14,#0000 30%),linear-gradient(#181d26fa,#0a0e15fc);border:0;border-radius:0;flex-direction:column;flex:auto;transition:opacity .15s;display:flex;overflow:auto;gap:12px!important;padding:16px!important}.company-info-card.is-stale{opacity:.4;pointer-events:none}.company-info-card.is-loading{opacity:.5;pointer-events:none;transition:opacity .2s}@keyframes skeleton-pulse{0%,to{opacity:.12}50%{opacity:.28}}.company-info-skeleton .skeleton-line{background:#ffffff24;border-radius:4px;animation:1.4s ease-in-out infinite skeleton-pulse}.company-info-skeleton .skeleton-title{width:60%;height:16px;margin-bottom:6px}.company-info-skeleton .skeleton-sub{width:80%;height:11px}.company-info-skeleton .skeleton-badge{background:#ffffff1a;border-radius:999px;width:44px;height:28px;animation:1.4s ease-in-out infinite skeleton-pulse}.company-info-skeleton .skeleton-label{width:40%;height:10px}.company-info-skeleton .skeleton-value{width:30%;height:10px;margin-left:auto}.company-info-skeleton .skeleton-paragraph{width:100%;height:10px;margin-top:3px}.company-info-skeleton .skeleton-paragraph.short{width:65%}.company-info-skeleton .company-info-section{padding:12px 14px}.company-info-header{box-sizing:border-box;border-bottom:1px solid #ffffff0a;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:41px;padding:5px 16px;display:flex}.company-info-header>div:first-child{flex-wrap:wrap;align-items:baseline;gap:4px 6px;display:flex}.company-info-header h2{font:700 15px/1.15 var(--font-display);letter-spacing:.01em;margin:0}.company-info-sub{color:var(--text-dim);margin-top:0;font-size:11px;line-height:1.2;display:block}.company-info-grid{background:#0e121a94;border:1px solid #ffffff13;border-radius:14px;grid-template-columns:1fr 1fr;gap:12px 18px;padding:14px 12px;display:grid}.company-info-item{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:24px;padding:0 2px;display:flex}.company-info-item:hover{background:#ffffff06}.company-info-label{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:11px}.company-info-value{color:var(--text-main);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.company-info-section{background:#0e121a85;border:1px solid #ffffff13;border-radius:12px;padding:14px}.company-info-section .company-info-label{letter-spacing:.02em;margin-bottom:10px;font-size:11px;display:block}.company-info-section .company-info-value{white-space:normal;color:var(--text-main);text-align:left;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12.5px;font-weight:500;line-height:1.68;display:-webkit-box;overflow:hidden}.company-info-profile{cursor:pointer;border-radius:8px;transition:color .12s,background .12s}.company-info-profile:hover{color:var(--text-primary);background:#ffffff06}.company-info-profile:focus-visible{outline-offset:3px;outline:1px solid #4d8dffb3}.company-info-profile.is-expanded{-webkit-line-clamp:unset;-webkit-box-orient:initial;display:block;overflow:visible}.company-info-pe{color:var(--text-main);background:0 0;border:0;padding:0;font-size:12px;line-height:1.65}.company-info-section>.company-info-grid{background:0 0;border:0;border-radius:0;padding:0}.company-info-pe strong{color:#4d8dff;font-weight:600}.panel-card{gap:16px;display:grid}.ai-panel{grid-template-rows:auto auto auto minmax(0,1fr) auto;min-height:0;overflow:hidden}.ai-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ai-panel-header h2{font:700 18px/1.1 var(--font-display);letter-spacing:.01em;margin:0}.ai-panel-status{color:var(--text-dim);margin-top:6px;font-size:12px;display:inline-block}.ai-live-badge{color:#83ebb0;background:#26c36c24}.ai-context-strip{border:1px solid var(--border-subtle);background:#141820eb;border-radius:12px;flex-wrap:wrap;gap:8px;padding:12px 14px;display:flex}.ai-context-strip span,.ai-context-strip strong{font-size:12px}.ai-context-strip strong{color:var(--text-main)}.ai-quick-prompts{flex-wrap:wrap;gap:8px;display:flex}.ai-prompt-chip,.ai-send-button{cursor:pointer;font:inherit;border:0}.ai-prompt-chip{color:var(--text-soft);background:#3a465c52;border-radius:999px;padding:9px 12px;font-size:12px}.ai-prompt-chip:hover{color:var(--text-main);background:#4d8dff2e}.ai-message-list{gap:12px;min-height:0;padding-right:2px;display:grid;overflow:auto}.ai-message{gap:6px;display:grid}.ai-message.user{justify-items:end}.ai-message-meta{color:var(--text-dim);align-items:center;gap:8px;font-size:11px;display:flex}.ai-message.user .ai-message-meta{justify-content:flex-end}.ai-message-bubble{border:1px solid var(--border-subtle);max-width:100%;color:var(--text-main);white-space:pre-wrap;background:#141820f0;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.6}.ai-message.assistant .ai-message-bubble{background:linear-gradient(#161e2bfa,#10151efa)}.ai-message.user .ai-message-bubble{background:linear-gradient(#24324ffa,#192439fa);border-color:#4d8dff3d;max-width:92%}.ai-composer{border:1px solid var(--border-subtle);background:#0f131bf5;border-radius:14px;gap:10px;padding:12px;display:grid}.ai-composer textarea{resize:none;width:100%;min-height:84px;color:var(--text-main);font:500 13px/1.6 var(--font-body);background:0 0;border:0;outline:none;padding:0}.ai-composer textarea::placeholder{color:var(--text-dim)}.ai-composer-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-composer-footer span{color:var(--text-dim);font-size:11px}.ai-send-button{color:#fff;background:linear-gradient(#4d8dff,#2f6fe5);border-radius:10px;padding:10px 16px;font-weight:700}.ai-send-button:disabled{cursor:not-allowed;opacity:.45}.footer-index em{font-size:12px;font-style:normal}.terminal-footer{justify-content:space-between;gap:18px;padding:10px 6px 0;font-size:12px}.footer-indexes{flex-wrap:wrap;gap:18px}.footer-index{gap:8px}.footer-index strong{font-size:13px}@media (width<=1460px){.chart-header{align-items:center}}@media (width<=1200px){.terminal-page{height:auto;min-height:100vh;overflow:visible}.terminal-shell{grid-template-columns:1fr}.panel-splitter{display:none}.price-chart{min-height:460px}}@media (width<=760px){.terminal-page{padding:10px}.panel-title-row,.chart-header,.chart-footer,.panel-card,.finance-card,.quote-card{padding-inline:12px}.chart-header,.chart-footer{padding-block:8px}.symbol-line{flex-wrap:wrap;row-gap:4px}.chart-subline{flex-basis:100%}.chart-stage{grid-template-columns:1fr}.tool-rail{border-right:0;border-bottom:1px solid var(--border-subtle);grid-auto-columns:34px;grid-auto-flow:column;overflow-x:auto}.mini-metrics{grid-template-columns:1fr}.terminal-footer{flex-direction:column;align-items:flex-start}.auth-user-chip{margin-left:0}.panel-title-actions{justify-content:flex-start;width:100%}}.portfolio-heatmap{background:radial-gradient(circle at 18% 12%,#4d8dff14,#0000 28%),radial-gradient(circle at 86% 10%,#ff5b6e0d,#0000 28%),linear-gradient(#0f131bf5,#080b11fa);flex-direction:column;flex:auto;gap:14px;min-height:0;padding:16px;display:flex;overflow:hidden}.portfolio-heatmap-state{text-align:center;color:var(--text-dim);justify-content:center;align-items:center}.portfolio-heatmap-state strong{color:var(--text-main);font-size:18px}.portfolio-heatmap-state.danger strong{color:#ff8f8f}.heatmap-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.heatmap-header h2{font:700 22px/1.1 var(--font-display);letter-spacing:.01em;margin:0}.heatmap-header span{color:var(--text-dim);margin-top:5px;font-size:12px;display:block}.heatmap-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.heatmap-stat{color:var(--text-soft);white-space:nowrap;background:#ffffff0d;border-radius:999px;padding:5px 8px;font-size:11px}.heatmap-stat.up{color:#54e3a0;background:#26b9761f}.heatmap-stat.down{color:#ff8d98;background:#eb4a571f}.heatmap-sections{flex:auto;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-auto-rows:auto;align-items:start;gap:12px;min-height:0;padding:2px 2px 8px;display:grid;overflow:auto}.heatmap-sections.has-expanded{flex-direction:column;align-items:stretch;display:flex;overflow:hidden}.heatmap-group{background:linear-gradient(#161b24eb,#0b0f16f5);border:1px solid #ffffff13;border-radius:14px;flex-direction:column;min-width:0;min-height:0;transition:opacity .18s,transform .18s,border-color .18s,box-shadow .18s;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff09}.heatmap-group.expanded{border-color:#7499ff3d;flex:auto;min-height:0;box-shadow:0 18px 48px #00000047,inset 0 1px #ffffff0e}.heatmap-group-title{width:100%;color:var(--text-main);font:700 13px/1.1 var(--font-display);text-align:left;cursor:zoom-in;background:linear-gradient(#1f2531f5,#141922f5);border:0;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 11px;transition:background .16s,color .16s;display:flex}.heatmap-group-title:hover,.heatmap-group-title:focus-visible{background:radial-gradient(circle at 12%,#4d8dff29,#0000 34%),linear-gradient(#272f3efa,#181e2afa);outline:none}.heatmap-group.expanded .heatmap-group-title{cursor:zoom-out;background:radial-gradient(circle at 14%,#4d8dff2e,#0000 38%),linear-gradient(#272f3efa,#141922fa)}.heatmap-group-title span{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.heatmap-group-title small{color:var(--text-dim);font:700 10px/1 var(--font-body);background:#ffffff0b;border:1px solid #ffffff12;border-radius:999px;padding:3px 7px}.heatmap-group-title em{color:var(--text-dim);font:700 11px/1 var(--font-body);font-style:normal}.heatmap-treemap{flex:none;min-height:220px;margin:3px;transition:height .22s;position:relative;overflow:hidden}.heatmap-group.expanded .heatmap-treemap{flex:auto;min-height:0}.heatmap-tile{min-width:0;min-height:0;color:var(--text-main);text-align:left;cursor:pointer;border:0;border-radius:0;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px;transition:transform .14s,border-color .14s,filter .14s;display:flex;position:absolute;overflow:hidden;transform:translate(1.5px,1.5px);box-shadow:inset 0 0 0 1.5px #0b0f16eb,inset 0 0 0 2.5px #ffffff0b}.heatmap-tile:after{content:"";opacity:.8;pointer-events:none;background:linear-gradient(145deg,#ffffff0e,#0000 44%);position:absolute;inset:0}.heatmap-tile:hover,.heatmap-tile:focus-visible{filter:brightness(1.08);outline:none;transform:translate(1.5px,1.5px)scale(.985)}.heatmap-symbol,.heatmap-name,.heatmap-change,.heatmap-price,.heatmap-path{z-index:1;position:relative}.heatmap-symbol{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:800 clamp(9px, 1.55vw, 16px)/1 var(--font-display);letter-spacing:.02em;overflow:hidden}.heatmap-name,.heatmap-path{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.heatmap-name{color:#f4f7fb9e;font-size:10px}.heatmap-change{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:800 clamp(10px, 2vw, 26px)/1 var(--font-display);margin-top:auto;overflow:hidden}.heatmap-price{text-overflow:ellipsis;white-space:nowrap;color:#f4f7fba8;max-width:100%;font:600 clamp(9px, 1.25vw, 12px)/1 var(--font-body);margin-top:3px;overflow:hidden}.heatmap-tile.size-medium .heatmap-symbol{font-size:14px}.heatmap-tile.size-medium .heatmap-change{font-size:20px}.heatmap-tile.size-large .heatmap-symbol,.heatmap-tile.size-mega .heatmap-symbol{font-size:16px}.heatmap-tile.size-large .heatmap-change,.heatmap-tile.size-mega .heatmap-change{font-size:26px}.heatmap-tile.size-small .heatmap-name,.heatmap-tile.size-tiny .heatmap-name,.heatmap-tile.size-tiny .heatmap-price,.heatmap-tile.size-tiny .heatmap-change{display:none}.heatmap-tile.size-tiny{padding:4px}.heatmap-tile.size-tiny .heatmap-symbol{font-size:8px}.heatmap-tile.size-small .heatmap-symbol{font-size:11px}.heatmap-tile.size-small .heatmap-change{font-size:13px}.heatmap-path{color:#f6f8fb80;margin-top:7px;font-size:10px}.heatmap-footer{color:var(--text-dim);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.company-info-empty{justify-content:flex-start}.heatmap-tooltip{z-index:1000;width:280px;color:var(--text-main);pointer-events:none;background:radial-gradient(circle at 100% 0,#4d8dff1f,#0000 34%),linear-gradient(#181d27fa,#090c12fa);border:1px solid #ffffff1c;border-radius:12px;padding:12px 13px;position:fixed;box-shadow:0 18px 48px #0000006b,inset 0 1px #ffffff0d}.heatmap-tooltip-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.heatmap-tooltip-head strong{font:800 16px/1 var(--font-display);letter-spacing:.02em}.heatmap-tooltip-head span{font:800 14px/1 var(--font-display)}.heatmap-tooltip-name,.heatmap-tooltip-path{color:var(--text-dim);margin-top:6px;font-size:11px;line-height:1.35}.heatmap-tooltip-grid{border-top:1px solid #ffffff12;grid-template-columns:auto minmax(0,1fr);gap:7px 14px;margin-top:12px;padding-top:10px;font-size:12px;display:grid}.heatmap-tooltip-grid span{color:var(--text-dim)}.heatmap-tooltip-grid b{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-main);text-align:right;font-variant-numeric:tabular-nums;font-weight:700;overflow:hidden}.hg-monitor{z-index:1200;color:var(--text-main);position:fixed;bottom:48px;right:22px}.hg-monitor.embedded{z-index:auto;min-height:0;color:var(--text-main);flex-direction:column;flex:auto;display:flex;position:static}.hg-monitor-toggle{color:#dfffee;cursor:pointer;background:radial-gradient(circle at 20% 20%,#54e3a038,#0000 42%),linear-gradient(#141f1ef5,#080d11fa);border:1px solid #54e3a040;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:9px 11px;display:flex;box-shadow:0 16px 40px #00000059,inset 0 1px #ffffff14}.hg-monitor-toggle span{font:800 12px/1 var(--font-display);letter-spacing:.08em}.hg-monitor-toggle strong{color:#54e3a0;min-width:22px;font:800 11px/1 var(--font-body);text-align:center;background:#54e3a029;border-radius:999px;padding:3px 6px}.hg-monitor-panel{background:radial-gradient(circle at 100% 0,#54e3a021,#0000 34%),radial-gradient(circle at 0 0,#4d8dff1f,#0000 32%),linear-gradient(#141922fa,#070a0ffa);border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;width:min(360px,100vw - 32px);max-height:min(560px,100vh - 130px);margin-bottom:10px;display:flex;overflow:hidden;box-shadow:0 22px 60px #0000007a,inset 0 1px #ffffff0e}.hg-monitor.embedded .hg-monitor-panel{width:auto;min-height:0;max-height:none;box-shadow:none;background:radial-gradient(circle at 100% 0,#54e3a014,#0000 36%),linear-gradient(#0f131b33,#080b1173);border:0;border-radius:0;flex:auto;margin:0}.hg-monitor-head,.hg-monitor-actions,.hg-monitor-meta{align-items:center;gap:8px;display:flex}.hg-monitor-head{justify-content:space-between;padding:14px 14px 10px}.hg-monitor-head p{color:var(--text-dim);letter-spacing:.16em;text-transform:uppercase;margin:0 0 3px;font-size:10px}.hg-monitor-head h3{font:800 17px/1 var(--font-display);margin:0}.hg-monitor-close{width:28px;height:28px;color:var(--text-soft);cursor:pointer;background:#ffffff0b;border:1px solid #ffffff14;border-radius:999px}.hg-monitor-meta{color:var(--text-dim);flex-wrap:wrap;padding:0 14px 10px;font-size:11px}.hg-monitor-meta span{background:#ffffff0b;border-radius:999px;padding:4px 7px}.hg-monitor-actions{flex-wrap:wrap;padding:0 14px 12px}.hg-monitor-pool-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 14px 8px;display:grid}.hg-monitor-pool-form input{min-width:0;color:var(--text-main);background:#ffffff0b;border:1px solid #ffffff14;border-radius:10px;outline:none;padding:8px 10px;font-size:12px}.hg-monitor-pool-form input:focus{border-color:#54e3a052}.hg-monitor-pool-form input::placeholder{color:var(--text-dim)}.hg-monitor-pool-actions{flex-wrap:wrap;gap:8px;padding:0 14px 8px;display:flex}.hg-monitor-pool{flex-wrap:wrap;gap:6px;max-height:84px;margin:0 14px 12px;display:flex;overflow:auto}.hg-monitor-pool-chip{color:#dfffee;font:700 11px/1 var(--font-body);background:#54e3a014;border:1px solid #54e3a024;border-radius:999px;align-items:center;gap:5px;padding:5px 7px;display:inline-flex}.hg-monitor-pool-chip button{width:16px;height:16px;color:var(--text-dim);cursor:pointer;background:#ffffff14;border:0;border-radius:999px;padding:0}.hg-monitor-pool-empty{width:100%;color:var(--text-dim);text-align:center;border:1px dashed #ffffff17;border-radius:10px;padding:8px 9px;font-size:11px}.hg-monitor-actions button,.hg-monitor-pool-form button,.hg-monitor-pool-actions button,.hg-monitor-permission{color:var(--text-main);background:#ffffff0e;border:1px solid #ffffff14;border-radius:999px;padding:7px 9px;font-size:11px}.hg-monitor-actions button,.hg-monitor-pool-form button,.hg-monitor-pool-actions button{cursor:pointer}.hg-monitor-actions button:disabled,.hg-monitor-pool-actions button:disabled{cursor:not-allowed;opacity:.55}.hg-monitor-permission{color:#54e3a0}.hg-monitor-error{color:#ff9aa4;background:#ff5b6e1a;border-radius:10px;margin:0 14px 10px;padding:8px 9px;font-size:11px}.hg-monitor-message{border-radius:10px;margin:0 14px 10px;padding:8px 9px;font-size:11px}.hg-monitor-message.success{color:#79ecb5;background:#54e3a01a}.hg-monitor-message.error{color:#ff9aa4;background:#ff5b6e1a}.hg-monitor-list{min-height:0;padding:0 10px 12px;overflow:auto}.hg-monitor-alert{width:100%;color:var(--text-main);text-align:left;background:linear-gradient(135deg,#30d17c1f,#ffffff09);border:1px solid #54e3a024;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:8px;padding:0;display:grid;overflow:hidden}.hg-monitor-alert:hover,.hg-monitor-alert:focus-within{border-color:#54e3a052}.hg-monitor-alert-main{min-width:0;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;padding:10px 0 10px 10px;display:grid}.hg-monitor-alert-main:focus-visible{outline:none}.hg-monitor-alert-remove{width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;margin-right:8px;font-size:16px;line-height:1;display:inline-flex}.hg-monitor-alert-remove:hover,.hg-monitor-alert-remove:focus-visible{color:#ff9aa4;border-color:#ff5b6e40;outline:none}.hg-monitor-alert-type{color:#54e3a0;font:800 10px/1 var(--font-body);background:#54e3a029;border-radius:8px;grid-row:span 3;align-self:start;padding:4px 6px}.hg-monitor-alert-type.retest{color:#8fb6ff;background:#4d8dff29}.hg-monitor-alert strong,.hg-monitor-alert em,.hg-monitor-alert small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hg-monitor-alert strong{font:800 13px/1 var(--font-display)}.hg-monitor-alert em{color:var(--text-dim);font-size:11px;font-style:normal}.hg-monitor-alert small{color:var(--text-soft);font-size:11px}.hg-monitor-empty{color:var(--text-dim);text-align:center;padding:18px 10px 20px;font-size:12px}.portfolio-panel{border:1px solid var(--border-color);background:linear-gradient(#1a1f28fa,#0f131bfa);border-radius:14px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff05}.portfolio-panel-head{border-bottom:1px solid #ffffff0a;justify-content:space-between;align-items:center;gap:12px;padding:5px 16px;display:flex}.portfolio-panel-head>div:first-child{align-items:baseline;gap:6px;display:flex}.portfolio-panel-head h1{color:#f5f6f8;margin:0;font-size:15px;font-weight:600}.portfolio-kicker{letter-spacing:.1em;text-transform:uppercase;color:#e1e5eb80;margin:0;font-size:10px}.portfolio-panel-actions{align-items:center;gap:8px;display:flex}.portfolio-ghost-btn{color:#e1e5ebd9;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;padding:5px 10px;font-size:12px;transition:background .12s,border-color .12s}.portfolio-ghost-btn:hover{background:#ffffff14;border-color:#ffffff24}.portfolio-ghost-btn:disabled{cursor:not-allowed;opacity:.5}.portfolio-primary-btn{color:#1a1d25;cursor:pointer;background:#f5c563;border:none;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600}.portfolio-primary-btn:disabled{opacity:.6;cursor:not-allowed}.portfolio-search-bar{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:8px 12px;display:flex}.portfolio-search-input{color:#f5f6f8;background:0 0;border:none;outline:none;flex:auto;min-width:0;padding:0;font-size:13px}.portfolio-search-input::placeholder{color:#e1e5eb59}.portfolio-search-clear{color:#e1e5eb80;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px;line-height:1}.portfolio-search-clear:hover{color:#e1e5ebd9}.portfolio-tree-wrap{flex:auto;min-height:0;padding:6px 0;overflow-y:auto}.tree-row{color:#e1e5ebdb;cursor:pointer;-webkit-user-select:none;user-select:none;border-left:2px solid #0000;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:13px;transition:background .1s,border-color .1s;display:flex;position:relative}.tree-row:hover{background:#ffffff0a}.tree-row.selected{color:#f5f6f8;background:#f5c5631f;border-left-color:#f5c563}.tree-row.menu-open{background:#ffffff0f}.tree-row.dragging{opacity:.45}.tree-row.drop-inside{outline-offset:-2px;background:#50a0ff29;border-left-color:#4aa3ff;outline:1px dashed #64aaff8c}.tree-row.drop-before:before,.tree-row.drop-after:after{content:"";pointer-events:none;background:#4aa3ff;border-radius:999px;height:2px;position:absolute;left:8px;right:8px;box-shadow:0 0 0 1px #1e416ecc,0 0 10px #4aa3ff99}.tree-row.drop-before:before{top:0}.tree-row.drop-after:after{bottom:0}.portfolio-root-drop-zone{color:#afd2ffb3;text-align:center;background:#50a0ff0d;border:1px dashed #64aaff73;border-radius:6px;margin:10px 12px 6px;padding:10px 12px;font-size:12px}.portfolio-root-drop-zone.active{color:#dceaff;background:#50a0ff2e;border-style:solid}.tree-row.type-folder{font-weight:500}.tree-chevron{color:#e1e5eb8c;cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:10px;line-height:1;display:inline-flex}.tree-chevron:hover{color:#e1e5ebe6}.tree-chevron.placeholder{cursor:default;pointer-events:none}.tree-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.tree-name-stock{flex-direction:column;gap:1px;line-height:1.2;display:flex;overflow:hidden}.tree-name-primary{font-variant-numeric:tabular-nums;color:#f5f6f8f2;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.tree-name-secondary{color:#e1e5eb8c;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.tree-row.type-stock{align-items:center;padding-top:5px;padding-bottom:5px}.tree-folder-count{color:#e1e5eb99;font-variant-numeric:tabular-nums;text-align:center;background:#ffffff0f;border-radius:10px;flex:none;min-width:22px;padding:1px 7px;font-size:11px}.tree-row.selected .tree-folder-count,.tree-row:hover .tree-folder-count{color:#f5f6f8d9;background:#ffffff1a}.tree-quote{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;gap:1px;font-size:11px;line-height:1.15;display:flex}.tree-quote-price{color:#e1e5ebe6}.tree-quote-change{font-size:10px}.tree-quote.up .tree-quote-change{color:var(--accent-green)}.tree-quote.down .tree-quote-change{color:var(--accent-red)}.tree-children{display:block}.portfolio-empty{text-align:center;color:#e1e5eb80;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;font-size:12px;display:flex}.portfolio-empty strong{color:#f5f6f8d1;font-size:13px}.portfolio-footnote{color:#e1e5eb80;border-top:1px solid #ffffff0a;padding:8px 16px;font-size:11px}.portfolio-context-menu{z-index:1100;background:#1a1e26fa;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:fixed;box-shadow:0 16px 40px #0006}.portfolio-context-menu-item{text-align:left;color:#e1e5ebe0;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13px}.portfolio-context-menu-item:hover{background:#ffffff14}.portfolio-context-menu-item.danger{color:#ea8b7e}.portfolio-context-menu-item.danger:hover{background:#ea8b7e1f}.portfolio-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1200;background:#0a0c1099;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.portfolio-modal{overscroll-behavior:contain;background:#191c24;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:14px;width:min(520px,100vw - 40px);max-height:calc(100vh - 40px);padding:20px 20px 16px;display:flex;overflow-y:auto;box-shadow:0 24px 64px #00000073}.portfolio-markdown-modal{width:min(1080px,100vw - 40px);height:min(720px,100vh - 40px)}.portfolio-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portfolio-modal-head h2{color:#f5f6f8;margin:0;font-size:18px;font-weight:600}.portfolio-modal-form{flex-direction:column;gap:12px;display:flex}.portfolio-modal-field{color:#e1e5eb99;flex-direction:column;gap:6px;font-size:12px;display:flex}.portfolio-modal-field input,.portfolio-modal-field textarea,.portfolio-modal-field select{color:#f5f6f8;box-sizing:border-box;background:#0c0e12e6;border:1px solid #ffffff14;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.portfolio-modal-field textarea{resize:vertical;min-height:140px}.portfolio-modal-field input:focus,.portfolio-modal-field textarea:focus,.portfolio-modal-field select:focus{border-color:#f5c56380}.portfolio-metric-picker,.portfolio-metric-picker-head,.portfolio-metric-picker-actions,.portfolio-metric-options,.portfolio-metric-option{display:flex}.portfolio-metric-picker{flex-direction:column;gap:10px}.portfolio-metric-picker-head{color:#e1e5eb99;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;font-size:11px}.portfolio-metric-picker-actions{flex-wrap:wrap;gap:6px}.portfolio-metric-action{color:#e1e5ebd1;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:4px 9px;font-size:11px}.portfolio-metric-action:hover{background:#ffffff14}.portfolio-metric-options{flex-wrap:wrap;gap:8px}.portfolio-metric-option{color:#e1e5ebc2;cursor:pointer;text-align:left;background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;flex:calc(50% - 4px);align-items:flex-start;gap:3px;min-width:0;max-width:calc(50% - 4px);padding:10px 11px}@media (width<=680px){.portfolio-type-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-metric-option{flex-basis:100%;max-width:100%}}.portfolio-metric-option strong{color:#f5f6f8;font-size:12px}.portfolio-metric-option span,.portfolio-metric-option em{color:#e1e5eb7a;font-size:10px;font-style:normal}.portfolio-metric-option.active{background:#f5c5631f;border-color:#f5c563b8;box-shadow:inset 0 0 0 1px #f5c56329}.portfolio-metric-option.active span,.portfolio-metric-option.active em{color:#f5f6f8ad}.portfolio-type-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.portfolio-type-option{color:#e1e5ebb3;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;font-size:12px;display:flex}.portfolio-type-option.active{color:#f5f6f8;background:#f5c56314;border-color:#f5c563b3}.portfolio-symbol-field{position:relative}.portfolio-symbol-suggestions{z-index:10;background:#20242e;border:1px solid #ffffff14;border-radius:6px;flex-direction:column;max-height:240px;padding:4px;display:flex;position:absolute;top:calc(100% - 4px);left:0;right:0;overflow-y:auto}.portfolio-symbol-suggestion{text-align:left;color:#e1e5ebd9;cursor:pointer;background:0 0;border:none;border-radius:4px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:grid}.portfolio-symbol-suggestion strong{font-variant-numeric:tabular-nums;color:#f5f6f8}.portfolio-symbol-suggestion em{color:#e1e5eb73;font-size:10px;font-style:normal}.portfolio-symbol-suggestion span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portfolio-symbol-suggestion.active,.portfolio-symbol-suggestion:hover{background:#f5c5631f}.portfolio-symbol-suggestion-state{color:#e1e5eb8c;padding:8px 10px;font-size:12px}.portfolio-editor-error{color:#ea8b7e;margin:0;font-size:12px}.portfolio-modal-actions{justify-content:flex-end;gap:8px;display:flex}.portfolio-markdown-split{flex:auto;grid-template-columns:1fr 1fr;gap:12px;min-height:0;display:grid}.portfolio-markdown-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.portfolio-markdown-pane-label{letter-spacing:.1em;text-transform:uppercase;color:#e1e5eb73;margin-bottom:4px;font-size:11px}.portfolio-markdown-textarea{color:#f5f6f8;box-sizing:border-box;resize:none;background:#0c0e12e6;border:1px solid #ffffff14;border-radius:6px;outline:none;flex:auto;width:100%;min-height:0;padding:10px 12px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:13px;line-height:1.55}.portfolio-markdown-preview{color:#ebeef3e6;background:#0c0e1280;border:1px solid #ffffff0f;border-radius:6px;flex:auto;min-height:0;padding:16px 18px;font-size:13px;line-height:1.65;overflow-y:auto}.portfolio-markdown-preview h1,.portfolio-markdown-preview h2,.portfolio-markdown-preview h3,.portfolio-markdown-preview h4{color:#f5f6f8;margin:16px 0 8px;line-height:1.3}.portfolio-markdown-preview h1{font-size:20px}.portfolio-markdown-preview h2{font-size:17px}.portfolio-markdown-preview h3{color:#f5f6f8eb;font-size:14px}.portfolio-markdown-preview h4{color:#f5f6f8d1;font-size:13px}.portfolio-markdown-preview p{margin:8px 0}.portfolio-markdown-preview ul,.portfolio-markdown-preview ol{margin:8px 0;padding-left:22px}.portfolio-markdown-preview li{margin:3px 0}.portfolio-markdown-preview code{color:#f3c57d;background:#ffffff14;border-radius:4px;padding:1px 5px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:12px}.portfolio-markdown-preview pre{background:#0c0e12d9;border:1px solid #ffffff0f;border-radius:6px;margin:10px 0;padding:10px 12px;overflow-x:auto}.portfolio-markdown-preview pre code{color:#ebeef3f2;background:0 0;padding:0}.portfolio-markdown-preview blockquote{color:#e1e5ebbf;background:#f5c5630d;border-left:3px solid #f5c56380;border-radius:0 4px 4px 0;margin:10px 0;padding:2px 12px}.portfolio-markdown-preview a{color:#6db3ff}.portfolio-markdown-preview hr{border:none;border-top:1px solid #ffffff1a;margin:16px 0}.portfolio-markdown-preview table{border-collapse:collapse;width:100%;margin:10px 0}.portfolio-markdown-preview th,.portfolio-markdown-preview td{text-align:left;border:1px solid #ffffff1a;padding:6px 10px;font-size:12px}.portfolio-markdown-preview th{color:#f5f6f8;background:#ffffff0a;font-weight:600}.portfolio-markdown-preview strong{color:#f5f6f8}.portfolio-markdown-preview em{color:#ebeef3f2}@media (width<=900px){.portfolio-markdown-split{grid-template-columns:1fr}}.dataview-panel{border:1px solid var(--border-color);background:linear-gradient(#1a1f28fa,#0f131bfa);border-radius:14px;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.dataview-header{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:16px 20px 12px}.dataview-title-row{align-items:center;gap:8px;display:flex}.dataview-title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600}.dataview-badge{color:#4d8dffe6;text-transform:uppercase;letter-spacing:.04em;background:#4d8dff26;border-radius:4px;padding:2px 8px;font-size:.7rem}.dataview-meta{color:var(--text-muted);margin-top:4px;font-size:.75rem}.dataview-body{flex:auto;min-height:0;overflow:auto}.dataview-status{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:48px 24px;font-size:.85rem;display:flex}.dataview-error{color:var(--color-down,#e74c4c)}.dataview-retry-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:4px 14px;font-size:.78rem}.dataview-retry-btn:hover{background:#ffffff0f}.dataview-table-wrap{min-height:0;overflow:auto}.dataview-bar-view{gap:18px;padding:20px;display:grid}.dataview-bar-head,.dataview-bar-tools,.dataview-bar-legend,.dataview-bar-legend-item,.dataview-bar-columns{display:flex}.dataview-bar-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px}.dataview-bar-title{color:var(--text-primary);margin:0;font-size:1rem}.dataview-bar-tools{flex-direction:column;align-items:flex-end;gap:10px}.dataview-bar-subtitle{color:var(--text-muted);margin-top:6px;font-size:.76rem}.dataview-range-switch{background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;padding:4px;display:inline-flex}.dataview-range-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 10px;font-size:.76rem;line-height:1;transition:background .12s,color .12s}.dataview-range-btn:hover{color:var(--text-primary);background:#ffffff0f}.dataview-range-btn.active{color:#f5c563;background:#f5c56329}.dataview-bar-legend{flex-wrap:wrap;justify-content:flex-end;gap:12px}.dataview-bar-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:.78rem}@media (width<=960px){.dataview-bar-tools,.dataview-bar-legend{justify-content:flex-start;align-items:flex-start}}.dataview-bar-legend-swatch{border-radius:999px;width:10px;height:10px;display:inline-block}.dataview-bar-chart{background:linear-gradient(#ffffff05,#ffffff03),radial-gradient(circle at top,#4d8dff24,#0000 45%);border:1px solid #ffffff0f;border-radius:16px;min-height:360px;padding:24px 16px 12px 44px;position:relative;overflow:hidden}.dataview-bar-axis-label{color:var(--text-muted);font-size:.72rem;position:absolute;left:12px}.dataview-bar-axis-label.top{top:10px}.dataview-bar-axis-label.bottom{bottom:10px}.dataview-bar-baseline{background:#ffffff2e;height:1px;position:absolute;left:40px;right:12px}.dataview-bar-groups{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:18px;display:grid;position:absolute;inset:18px 12px 16px 44px}.dataview-bar-group{min-width:0;position:relative}.dataview-bar-columns{justify-content:center;align-items:stretch;gap:10px;position:absolute;inset:0 0 24px}.dataview-bar-column-wrap{width:32px;height:100%;position:relative}.dataview-bar-column{border-radius:12px 12px 4px 4px;min-height:2px;position:absolute;left:0;right:0;box-shadow:0 10px 18px #0003}.dataview-bar-group-label{text-align:center;color:var(--text-secondary);font-size:.78rem;position:absolute;bottom:0;left:0;right:0}.dataview-bar-summary{overflow:auto}.dataview-series-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.dataview-series-card{background:linear-gradient(#ffffff05,#ffffff03),radial-gradient(circle at top,#4d8dff1f,#0000 52%);border:1px solid #ffffff0f;border-radius:16px;padding:16px}.dataview-series-card-head,.dataview-series-card-columns{display:flex}.dataview-series-card-head{justify-content:space-between;align-items:flex-start;gap:12px}.dataview-series-card-title{color:var(--text-primary);margin:0;font-size:.92rem}.dataview-series-card-subtitle{color:var(--text-muted);margin-top:4px;font-size:.73rem}.dataview-series-card-value{color:var(--text-secondary);font-size:.78rem}.dataview-series-card-chart{height:190px;margin-top:14px;position:relative;overflow:visible}.dataview-series-card-grid{background:linear-gradient(0deg,#ffffff0d 1px,#0000 1px) 0 0/100% 25%;border-bottom:1px solid #ffffff24;position:absolute;inset:0 0 24px}.dataview-series-card-columns{justify-content:space-between;align-items:flex-end;gap:10px;position:absolute;inset:0}.dataview-series-card-column-group{flex:1 1 0;grid-template-rows:minmax(0,1fr) auto;gap:8px;min-width:0;height:100%;display:grid}.dataview-series-card-column-wrap{outline:none;justify-content:center;align-items:flex-end;min-height:0;display:flex}.dataview-series-card-column-wrap:focus-visible .dataview-series-card-column{box-shadow:0 0 0 2px #f5c56340,0 10px 18px #0003}.dataview-series-card-column{border-radius:12px 12px 4px 4px;width:min(22px,68%);min-height:2px;box-shadow:0 10px 18px #0003}.dataview-series-card-column-label{text-align:center;font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:.67rem;line-height:1.15}.dataview-series-card-tooltip{pointer-events:none;z-index:2;background:#0c1018f5;border:1px solid #ffffff14;border-radius:10px;gap:2px;min-width:120px;max-width:min(220px,100% - 12px);padding:8px 10px;display:grid;position:absolute;top:-8px;transform:translate(-50%,-100%);box-shadow:0 16px 30px #00000052}.dataview-series-card-tooltip strong,.dataview-series-card-tooltip span,.dataview-series-card-tooltip em{font-style:normal}.dataview-series-card-tooltip strong{color:var(--text-primary);font-size:.72rem}.dataview-series-card-tooltip span{color:var(--text-secondary);font-size:.72rem}.dataview-series-card-tooltip em{font-size:.68rem}.dataview-series-card-tooltip em.up{color:var(--color-up,#3ccf91)}.dataview-series-card-tooltip em.down{color:var(--color-down,#ff6b6b)}.dataview-summary-table .dataview-td strong{color:var(--text-primary);font-size:.82rem;display:block}.dataview-summary-yoy{margin-top:4px;font-size:.72rem;display:block}.dataview-summary-yoy.up{color:var(--color-up,#35d07f)}.dataview-summary-yoy.down{color:var(--color-down,#ff7b72)}.dataview-table{border-collapse:collapse;width:100%;font-size:.8rem}.dataview-th,.dataview-td{text-align:left;white-space:nowrap;border-bottom:1px solid #ffffff0a;padding:8px 12px}.dataview-th{color:var(--text-secondary);z-index:1;background:#141820fa;font-size:.75rem;font-weight:600;position:sticky;top:0}.dataview-th-metric{min-width:90px;color:var(--text-muted)}.dataview-th-symbol{color:var(--text-primary);font-size:.8rem;display:block}.dataview-th-name{color:var(--text-muted);margin-top:1px;font-size:.7rem;font-weight:400;display:block}.dataview-th-name.not-found{color:var(--color-down,#e74c4c)}.dataview-td-label{color:var(--text-muted);z-index:1;background:#14182080;min-width:90px;font-weight:500;position:sticky;left:0}.dataview-td{color:var(--text-primary);text-overflow:ellipsis;max-width:260px;overflow:hidden}tr:hover .dataview-td{background:#ffffff05}@media (width<=900px){.dataview-bar-chart{min-height:320px;padding-left:18px}.dataview-bar-baseline{left:18px}.dataview-bar-groups{grid-template-columns:repeat(5,minmax(88px,1fr));inset:18px 12px 16px 18px;overflow-x:auto}.dataview-series-grid{grid-template-columns:1fr}}.markdown-tab{flex-direction:column;height:100%;min-height:0;display:flex}.markdown-tab-status{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-size:.85rem;display:flex}.markdown-tab-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.markdown-tab-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.markdown-tab-actions{gap:6px;display:flex}.markdown-tab-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:4px 12px;font-size:.75rem}.markdown-tab-btn:hover{background:#ffffff0f}.markdown-tab-btn.primary{color:#4d8dffe6;background:#4d8dff26;border-color:#4d8dff4d}.markdown-tab-body{flex:auto;min-height:0;overflow:hidden}.markdown-tab-split{background:var(--border-color);grid-template-columns:1fr 1fr;gap:1px;height:100%;display:grid}.markdown-tab-editor{color:#f5f6f8;resize:none;background:#0c0e12e6;border:none;outline:none;width:100%;height:100%;padding:14px 16px;font-family:SF Mono,Fira Code,monospace;font-size:13px;line-height:1.6}.markdown-tab-preview{color:var(--text-primary);background:#0f131bfa;padding:14px 16px;font-size:.85rem;line-height:1.7;overflow:auto}.markdown-tab-preview.full{height:100%;overflow:auto}.markdown-tab-preview h1,.markdown-tab-preview h2,.markdown-tab-preview h3{color:var(--text-primary);margin:1em 0 .5em}.markdown-tab-preview h1{font-size:1.4em}.markdown-tab-preview h2{font-size:1.2em}.markdown-tab-preview h3{font-size:1.05em}.markdown-tab-preview p{margin:.5em 0}.markdown-tab-preview code{background:#ffffff0f;border-radius:3px;padding:2px 5px;font-size:.9em}.markdown-tab-preview pre{background:#0c0e12e6;border-radius:6px;padding:12px;overflow-x:auto}.markdown-tab-preview pre code{background:0 0;padding:0}.markdown-tab-preview ul,.markdown-tab-preview ol{margin:.5em 0;padding-left:1.5em}.markdown-tab-preview table{border-collapse:collapse;width:100%;margin:.5em 0}.markdown-tab-preview th,.markdown-tab-preview td{border:1px solid var(--border-color);text-align:left;padding:6px 10px;font-size:.82rem}.markdown-tab-preview th{background:#ffffff0a}.options-tab{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:14px 16px;display:flex}.options-tab-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.options-tab-title{align-items:center;gap:8px;min-width:0;display:flex}.options-tab-symbol{font:700 16px/1 var(--font-display);color:var(--text-main);letter-spacing:.02em}.options-tab-label{color:var(--text-dim);background:#ffffff0a;border-radius:6px;padding:2px 8px;font-size:12px}.options-tab-controls{flex-shrink:0;align-items:center;gap:10px;display:flex}.options-tab-select-label{color:var(--text-dim);align-items:center;gap:8px;font-size:12px;display:flex}.options-tab-select{min-width:120px;color:var(--text-main);font:inherit;cursor:pointer;background:#080b11b8;border:1px solid #ffffff14;border-radius:8px;padding:6px 10px;font-size:12px}.options-tab-select:focus{outline:1px solid #4d8dff99}.options-tab-select:disabled{opacity:.5;cursor:not-allowed}.options-tab-body{background:#080b116b;border:1px solid #ffffff0f;border-radius:12px;flex:auto;min-height:0;position:relative;overflow:auto}.options-tab-loading,.options-tab-empty,.options-tab-error{min-height:120px;color:var(--text-dim);text-align:center;place-items:center;padding:24px;font-size:13px;display:grid}.options-tab-error{color:#ff9c9c}.options-charts{flex-direction:column;flex-shrink:0;gap:10px;padding:12px 14px 6px;display:flex}.options-chart-card{background:#080b118c;border:1px solid #ffffff0f;border-radius:10px;padding:10px 12px}.options-chart-title{color:var(--text-dim);letter-spacing:.05em;margin-bottom:6px;font-size:11px;font-weight:600}.options-skew-chart,.options-oibar-chart{width:100%;height:auto;max-height:180px}.chart-grid{stroke:#ffffff0f;stroke-width:1px}.chart-axis{stroke:#ffffff1f;stroke-width:1px}.chart-label{fill:var(--text-dim);font-size:9px;font-family:var(--font-mono,monospace)}.chart-legend-call{fill:#35d0ba;font-size:10px;font-weight:600}.chart-legend-put{fill:#ff7b72;font-size:10px;font-weight:600}.options-chart-tooltip{z-index:10;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-main);white-space:nowrap;background:#0c1018f0;border:1px solid #ffffff1a;border-radius:8px;padding:8px 12px;font-size:11px;line-height:1.5;position:absolute;box-shadow:0 8px 24px #00000073}.options-tooltip-inner{gap:2px;display:grid}.options-tooltip-row{color:var(--text-dim)}.options-tooltip-row strong{color:var(--text-main)}.options-tooltip-row.call{color:#35d0ba}.options-tooltip-row.put{color:#ff7b72}.options-chain-table-wrap{min-height:0;overflow:visible}.options-chain-table{border-collapse:separate;border-spacing:0;width:100%;min-width:680px;font-size:12px}.options-chain-table thead{z-index:3;position:sticky;top:0}.options-chain-table th{z-index:3;text-align:center;color:var(--text-dim);white-space:nowrap;background:#0c1018fa;border-bottom:1px solid #ffffff14;padding:8px 10px;font-size:11px;font-weight:600;position:sticky;top:0;box-shadow:0 8px 18px #00000038}.options-chain-table th:first-child{text-align:left}.options-chain-table td{color:var(--text-main);white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff09;padding:8px 10px;font-size:12px}.options-chain-table td:first-child{text-align:left}.options-chain-table tbody tr:hover{background:#ffffff06}.options-chain-strike{color:var(--text-main);font-variant-numeric:tabular-nums;font-weight:700}.options-chain-call{color:#35d0ba}.options-chain-put{color:#ff7b72}.options-chain-call-header{color:#35d0ba;border-bottom:1px solid #35d0ba33}.options-chain-put-header{color:#ff7b72;border-bottom:1px solid #ff7b7233}
