:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-canvas:#06080d;--bg-surface:#0b0f19;--bg-surface-elevated:#111726;--bg-subtle:#172033;--bg-overlay:#06080de0;--border-subtle:#ffffff12;--border-strong:#ffffff24;--border-focus:#6366f180;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-dim:#475569;--accent:#6366f1;--accent-light:#818cf8;--accent-glow:#6366f133;--emerald:#10b981;--emerald-glow:#10b98133;--emerald-bg:#10b9811f;--rose:#f43f5e;--rose-glow:#f43f5e33;--rose-bg:#f43f5e1f;--amber:#f59e0b;--amber-glow:#f59e0b33;--amber-bg:#f59e0b1f;--cyan:#06b6d4;--shadow-sm:0 2px 8px #00000080;--shadow-md:0 8px 24px #0009;--shadow-lg:0 20px 48px #000000b3;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"SF Mono", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:14px;line-height:1.5}.tabular,[data-num],strong,.price,.val,.metric-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.metric-positive,.val-rose,.val.positive,.col-sub.positive,.chip-val.val-rose,.text-rose{color:var(--rose)!important}.metric-negative,.val-emerald,.val.negative,.col-sub.negative,.chip-val.val-emerald,.text-emerald{color:var(--emerald)!important}.metric-neutral,.val-neutral,.col-sub.neutral{color:var(--text-secondary)!important}.metric-warning,.val-amber{color:var(--amber)!important}.badge-strong-undervalued,.quadrant-badge.quadrant-undervalued,.quadrant-badge.strong_buy_undervalued{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex;color:var(--rose)!important;background:#f43f5e24!important;border:1px solid #f43f5e4d!important}.badge-growth-priced-in,.quadrant-badge.quadrant-growth,.quadrant-badge.growth_priced_in{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex;color:var(--accent-light)!important;background:#6366f124!important;border:1px solid #6366f14d!important}.badge-value-trap,.quadrant-badge.quadrant-trap,.quadrant-badge.value_trap{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex;color:var(--amber)!important;background:#f59e0b24!important;border:1px solid #f59e0b4d!important}.badge-overvalued,.quadrant-badge.quadrant-overvalued,.quadrant-badge.overvalued{border-radius:var(--radius-sm);align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex;color:var(--text-muted)!important;background:#64748b29!important;border:1px solid #64748b40!important}button,input,select,textarea{color:inherit;background:0 0;border:none;outline:none;font-family:inherit}button{cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1f}::-webkit-scrollbar-thumb:hover{background:#ffffff3d}.valulens-app-shell{background:radial-gradient(circle at 50% 0%, #6366f10d 0%, transparent 55%), radial-gradient(circle at 100% 100%, #10b98108 0%, transparent 45%), var(--bg-canvas);flex-direction:column;min-height:100vh;display:flex}.global-toast-banner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;box-shadow:var(--shadow-sm);cursor:pointer;z-index:200;background:linear-gradient(135deg,#6366f1f2,#4f46e5f2);justify-content:space-between;align-items:center;padding:10px 24px;font-size:13px;font-weight:600;display:flex;position:sticky;top:0}.global-toast-banner .toast-close{color:#fffc;background:0 0;padding:2px 6px;font-size:14px}.valulens-global-header{background:var(--bg-overlay);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);z-index:100;justify-content:space-between;align-items:center;height:62px;padding:0 24px;display:flex;position:sticky;top:0}.header-brand-group{align-items:center;gap:20px;display:flex}.brand-logo-btn{text-align:left;align-items:center;gap:10px;display:flex}.brand-badge{width:30px;height:30px;font-family:var(--font-mono);color:#fff;background:linear-gradient(135deg,#6366f1 0%,#3b82f6 100%);border-radius:8px;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:flex;box-shadow:0 2px 10px #6366f159}.brand-text strong{letter-spacing:-.02em;font-size:15px;font-weight:800;line-height:1.2;display:block}.brand-text small{color:var(--text-muted);font-size:10px;display:block}.header-asset-select-wrap select{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:7px 32px 7px 14px;font-size:13px;font-weight:600;transition:all .2s}.header-asset-select-wrap select:hover{border-color:var(--accent);background-color:var(--bg-subtle)}.header-view-nav{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#0006;gap:2px;padding:4px;display:flex}.nav-tab-btn{border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.nav-tab-btn:hover{color:var(--text-primary)}.nav-tab-btn.active{background:var(--bg-surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.header-right-group{align-items:center;gap:14px;display:flex}.sync-indicator{border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:flex}.sync-indicator.synced{background:var(--emerald-bg);color:var(--emerald);border:1px solid #10b98140}.sync-indicator.syncing{color:var(--accent);background:#6366f11f;border:1px solid #6366f140}.sync-indicator.offline{background:var(--amber-bg);color:var(--amber);border:1px solid #f59e0b40}.sync-pulse{background:currentColor;border-radius:50%;width:6px;height:6px}.primary-button{color:#fff;border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border:1px solid #ffffff1a;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 2px 10px #6366f140}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.primary-button.small{padding:6px 12px;font-size:12px}.canvas-studio-container{flex-direction:column;gap:20px;width:100%;max-width:1560px;margin:0 auto;padding:24px;display:flex}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select option{color:#f8fafc;background-color:#0b0f19}.studio-top-ribbon{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);z-index:100;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;display:flex;position:relative;overflow:visible}.ribbon-identity{flex:1;align-items:center;gap:24px;min-width:0;display:flex}.studio-top-ribbon .research-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.identity-search-trigger{text-align:left;border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;gap:4px;padding:4px 8px;transition:all .2s;display:flex}.identity-search-trigger:hover{background:#ffffff08}.identity-title{white-space:nowrap;align-items:center;gap:10px;display:flex}.identity-title h1{letter-spacing:-.02em;color:var(--text-primary);font-size:24px;font-weight:800}.ticker-badge{font-family:var(--font-mono);background:var(--bg-subtle);color:var(--accent-light);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:2px 8px;font-size:12px;font-weight:700}.sector-tag{color:var(--text-muted);white-space:nowrap;font-size:12px}.quick-switch-hint{color:var(--text-dim);letter-spacing:.04em;white-space:nowrap;font-size:10px}.identity-market-data{border-left:1px solid var(--border-subtle);align-items:center;gap:24px;padding-left:24px;display:flex}.market-metric{flex-direction:column;display:flex}.metric-label{color:var(--text-muted);font-size:11px}.metric-value{color:var(--text-primary);font-size:16px;font-weight:700}.metric-value.price{color:#38bdf8;font-size:18px}.metric-subtext{color:var(--text-dim);font-size:10px}.ribbon-verdict-banner{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#ffffff05;align-items:center;gap:24px;padding:12px 20px;display:flex}.verdict-summary-group{flex-direction:column;gap:4px;display:flex}.verdict-kicker{letter-spacing:.08em;color:var(--accent);text-transform:uppercase;font-size:9px;font-weight:800}.verdict-status-row{align-items:center;gap:10px;display:flex}.verdict-pill{border-radius:var(--radius-full);padding:4px 10px;font-size:12px;font-weight:700}.verdict-pill.strong_buy_undervalued{background:var(--rose-bg);color:var(--rose);border:1px solid #f43f5e4d}.verdict-pill.growth_priced_in{background:var(--amber-bg);color:var(--amber);border:1px solid #f59e0b4d}.verdict-pill.fair_value{color:var(--text-primary);border:1px solid var(--border-strong);background:#ffffff14}.verdict-pill.value_trap{color:var(--accent-light);background:#6366f126;border:1px solid #6366f14d}.verdict-pill.overvalued{background:var(--emerald-bg);color:var(--emerald);border:1px solid #10b9814d}.confidence-tag{color:var(--text-muted);font-size:11px}.verdict-quick-stats{border-left:1px solid var(--border-subtle);align-items:center;gap:18px;padding-left:18px;display:flex}.stat-item{flex-direction:column;display:flex}.stat-item .label{color:var(--text-muted);font-size:10px}.stat-item .val{font-size:16px;font-weight:800}.stat-item .val.positive{color:var(--rose)}.stat-item .val.negative{color:var(--emerald)}.studio-main-grid{grid-template-columns:360px 1fr;align-items:start;gap:20px;display:grid}@media (max-width:1100px){.studio-main-grid{grid-template-columns:1fr}}.studio-driver-cockpit{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;gap:20px;padding:24px;display:flex;position:sticky;top:82px}.cockpit-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding-bottom:16px;display:flex}.cockpit-kicker{letter-spacing:.08em;color:var(--accent);text-transform:uppercase;font-size:10px;font-weight:800}.cockpit-header h2{letter-spacing:-.02em;font-size:18px;font-weight:800}.scenario-switcher{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.scenario-btn{color:var(--text-muted);border-radius:var(--radius-sm);text-align:center;flex:1;padding:6px 0;font-size:12px;font-weight:600;transition:all .18s}.scenario-btn:hover{color:var(--text-primary)}.scenario-btn.active{background:var(--bg-surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.cockpit-sliders-list{flex-direction:column;gap:16px;display:flex}.derived-metric{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#ffffff04;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.slider-label-row{justify-content:space-between;align-items:flex-start;display:flex}.slider-title{color:var(--text-primary);font-size:12px;font-weight:700;display:block}.slider-hint{color:var(--text-dim);font-size:10px;display:block}.slider-display{font-family:var(--font-mono);color:var(--accent-light);font-size:16px;font-weight:800}.cockpit-footer-note{color:var(--text-dim);text-align:center;border-top:1px solid var(--border-subtle);padding-top:12px;font-size:11px}.studio-triangulation-canvas{flex-direction:column;gap:20px;display:flex}.canvas-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:24px}.card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:14px;display:flex}.card-kicker{letter-spacing:.08em;color:var(--accent);text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:800;display:block}.card-header h3{letter-spacing:-.01em;font-size:17px;font-weight:800}.verdict-summary-text{color:var(--text-primary);margin-bottom:12px;font-size:14px;font-weight:600;line-height:1.6}.verdict-driver-box{border-radius:var(--radius-md);color:#c7d2fe;background:#6366f10f;border:1px solid #6366f133;margin-bottom:20px;padding:12px 16px;font-size:12px;line-height:1.5}.verdict-driver-box .box-title{margin-bottom:2px;font-weight:700;display:block}.triangulation-comparison-table{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#ffffff05;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px;padding:16px 20px;display:grid}@media (max-width:800px){.triangulation-comparison-table{grid-template-columns:1fr;gap:12px}.comparison-divider{display:none}}.comparison-col{flex-direction:column;gap:4px;display:flex}.comparison-col.current{border-radius:var(--radius-md);background:#38bdf80f;border:1px solid #38bdf833;padding:10px 14px}.col-label{color:var(--text-muted);font-size:11px}.col-price{font-family:var(--font-mono);font-size:20px;font-weight:800}.col-sub{font-size:11px;font-weight:600}.col-sub.positive{color:var(--rose)}.col-sub.negative{color:var(--emerald)}.col-sub.neutral{color:var(--text-dim)}.comparison-divider{color:var(--text-dim);font-size:12px;font-weight:700}.laser-legend{color:var(--rose);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.laser-dot{background:var(--rose);width:8px;height:8px;box-shadow:0 0 8px var(--rose);border-radius:50%}.football-field-body{flex-direction:column;gap:18px;padding:10px 0 24px;display:flex;position:relative}.football-field-row{flex-direction:column;gap:6px;display:flex}.football-field-row .row-title{color:var(--text-muted);font-size:11px;font-weight:600}.field-track{border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #ffffff0d;height:28px;position:relative}.field-bar{font-family:var(--font-mono);color:#fff;border-radius:4px;justify-content:space-between;align-items:center;padding:0 8px;font-size:10px;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;top:3px;bottom:3px}.field-bar.range-52w{background:linear-gradient(90deg,#94a3b840,#94a3b880);border:1px solid #94a3b866}.field-bar.range-pe{background:linear-gradient(90deg,#6366f14d,#6366f1b3);border:1px solid #6366f199}.field-bar.range-dcf{background:linear-gradient(90deg,#10b9814d,#10b981b3);border:1px solid #10b98199}.laser-ruler-track{pointer-events:none;position:absolute;inset:0}.laser-ruler{background:var(--rose);width:2px;box-shadow:0 0 10px var(--rose);z-index:5;position:absolute;top:-6px;bottom:0;transform:translate(-50%)}.laser-bubble{background:var(--rose);color:#fff;font-family:var(--font-mono);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.canvas-dual-cards{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:900px){.canvas-dual-cards{grid-template-columns:1fr}}.radar-stats-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.radar-stat{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05;flex-direction:column;gap:2px;padding:12px;display:flex}.radar-stat .stat-label{color:var(--text-muted);font-size:10px}.radar-stat .stat-num{font-family:var(--font-mono);font-size:18px;font-weight:800}.radar-stat .stat-num.accent{color:var(--accent-light)}.radar-stat .stat-num.positive{color:var(--rose)}.radar-stat .stat-num.negative{color:var(--emerald)}.radar-stat small{color:var(--text-dim);font-size:10px}.radar-explainer{border-radius:var(--radius-md);padding:12px 14px;font-size:12px;line-height:1.6}.radar-explainer .positive{background:var(--rose-bg);color:#fecdd3;border-radius:var(--radius-md);border:1px solid #f43f5e40;padding:10px 12px}.radar-explainer .negative{background:var(--emerald-bg);color:#a7f3d0;border-radius:var(--radius-md);border:1px solid #10b98140;padding:10px 12px}.radar-explainer .neutral{border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-md);background:#ffffff08;padding:10px 12px}.gauges-body{flex-direction:column;gap:20px;display:flex}.gauge-row{flex-direction:column;gap:8px;display:flex}.gauge-label-row{color:var(--text-secondary);justify-content:space-between;font-size:12px;display:flex}.gauge-label-row strong{color:var(--text-primary)}.percentile-tag strong{color:var(--accent-light)}.gauge-bar-track{border-radius:var(--radius-full);background:#ffffff0d;height:8px;display:flex;position:relative;overflow:hidden}.zone.cheap{color:#064e3b;background:linear-gradient(90deg,#10b981,#34d399);justify-content:center;align-items:center;font-size:8px;font-weight:800;display:flex}.zone.fair{color:#78350f;background:linear-gradient(90deg,#fbbf24,#f59e0b);justify-content:center;align-items:center;font-size:8px;font-weight:800;display:flex}.zone.expensive{color:#7f1d1d;background:linear-gradient(90deg,#f87171,#ef4444);justify-content:center;align-items:center;font-size:8px;font-weight:800;display:flex}.gauge-needle{background:#fff;border-radius:2px;width:3px;position:absolute;top:-2px;bottom:-2px;transform:translate(-50%);box-shadow:0 0 6px #fff}.gauge-ticks{font-family:var(--font-mono);color:var(--text-dim);justify-content:space-between;font-size:10px;display:flex}.model-drawer-card{padding:0;overflow:hidden}.drawer-toggle-bar{background:var(--bg-surface-elevated);cursor:pointer;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.drawer-title-group{align-items:center;gap:8px;display:flex}.drawer-arrow{color:var(--text-muted);font-size:10px}.drawer-heading{font-size:13px;font-weight:700}.drawer-title-group small{color:var(--text-dim);margin-left:6px;font-size:11px}.drawer-tabs{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:2px;display:flex}.drawer-tab-btn{color:var(--text-muted);border-radius:var(--radius-sm);padding:5px 12px;font-size:11px;font-weight:600;transition:all .18s}.drawer-tab-btn:hover{color:var(--text-primary)}.drawer-tab-btn.active{background:var(--bg-surface);color:var(--accent-light);box-shadow:var(--shadow-sm)}.drawer-body{padding:20px 24px}.table-responsive{overflow-x:auto}.studio-data-table{border-collapse:collapse;text-align:right;width:100%;font-size:12px}.studio-data-table th{color:var(--text-muted);border-bottom:1px solid var(--border-strong);background:var(--bg-canvas);padding:10px 14px;font-size:11px;font-weight:700}.studio-data-table td{font-family:var(--font-mono);border-bottom:1px solid #ffffff0a;padding:10px 14px}.studio-data-table th:first-child,.studio-data-table td:first-child{text-align:left;font-family:var(--font-sans);color:var(--text-primary);font-weight:600}.studio-data-table tr:hover td{background:#ffffff05}.highlight-row td{background:#6366f10f;font-weight:700}.accent-text{color:var(--accent-light)}.sensitivity-wrapper{flex-direction:column;gap:12px;display:flex}.sensitivity-note{color:var(--text-muted);font-size:12px}.heatmap-table{border-collapse:collapse;width:100%;font-family:var(--font-mono);text-align:center;font-size:12px}.heatmap-table th{color:var(--text-muted);border-bottom:1px solid var(--border-subtle);padding:8px 10px;font-size:11px}.heatmap-table .row-header{color:var(--text-primary);background:var(--bg-canvas)}.heatmap-table td{border:1px solid #ffffff08;padding:10px;transition:transform .15s;position:relative}.heatmap-table td:hover{box-shadow:var(--shadow-sm);z-index:2;transform:scale(1.08)}.heatmap-table .current-cell{border:2px solid #fff;box-shadow:0 0 10px #fff6}.cell-pct{opacity:.8;font-size:10px;display:block}.portfolio-radar-container{flex-direction:column;gap:24px;width:100%;max-width:1560px;margin:0 auto;padding:24px;display:flex}.radar-hero-header{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.hero-kicker{letter-spacing:.08em;color:var(--accent);text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800}.radar-hero-header h1{letter-spacing:-.02em;margin-bottom:6px;font-size:26px;font-weight:800}.radar-hero-header p{color:var(--text-secondary);max-width:680px;font-size:13px}.radar-matrix-panel,.radar-ledger-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:24px 28px}.panel-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.panel-kicker{letter-spacing:.08em;color:var(--accent);text-transform:uppercase;font-size:10px;font-weight:800}.panel-header h2{font-size:18px;font-weight:800}.panel-header small{color:var(--text-dim);font-size:11px}.sweet-badge{background:var(--rose-bg);color:var(--rose);border-radius:var(--radius-full);border:1px solid #f43f5e4d;padding:4px 12px;font-size:11px;font-weight:700}.sweet-spot-matrix{background:radial-gradient(circle at 25% 25%, #f43f5e14 0%, transparent 60%), radial-gradient(circle at 75% 75%, #10b9810d 0%, transparent 60%), var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:450px;position:relative;overflow:hidden}.matrix-viewport{transform-origin:50%;pointer-events:auto;will-change:transform;backface-visibility:hidden;width:100%;height:100%;position:absolute;top:0;left:0}.axis-line{pointer-events:none;background:#ffffff1a;position:absolute}.axis-line.x-axis{border-top:1px dashed #ffffff2e;height:1px;top:50%;left:-200%;right:-200%}.axis-line.y-axis{border-left:1px dashed #ffffff2e;width:1px;top:-200%;bottom:-200%;left:50%}.quadrant-watermark{pointer-events:none;opacity:.65;z-index:5;font-size:11px;font-weight:700;position:absolute}.quadrant-watermark.top-left{color:var(--rose);top:16px;left:20px}.quadrant-watermark.top-right{color:var(--amber);top:16px;right:20px}.quadrant-watermark.bottom-left{color:var(--accent-light);bottom:16px;left:20px}.quadrant-watermark.bottom-right{color:var(--emerald);bottom:16px;right:20px}.axis-label{color:var(--text-dim);text-transform:uppercase;pointer-events:none;z-index:5;font-size:10px;font-weight:600;position:absolute}.axis-label.top{top:8px;left:50%;transform:translate(-50%)}.axis-label.bottom{bottom:8px;left:50%;transform:translate(-50%)}.axis-label.left{top:50%;left:8px;transform:translateY(-50%)}.axis-label.right{top:50%;right:8px;transform:translateY(-50%)}.matrix-asset-dot{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);z-index:10;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);transform:translate(-50%, -50%) scale(var(--card-scale,1));transform-origin:50%;border:1px solid #ffffff26;flex-direction:column;justify-content:center;align-items:center;padding:6px 10px;transition:opacity .18s,filter .18s,box-shadow .18s,background .18s;display:flex;position:absolute}.matrix-asset-dot.is-focused{transform:translate(-50%, -50%) scale(calc(var(--card-scale,1) * 1.15))!important}.matrix-asset-dot.strong_buy_undervalued{background:#f43f5e2e;border-color:#f43f5e80;box-shadow:0 0 12px #f43f5e40}.matrix-asset-dot.strong_buy_undervalued:hover,.matrix-asset-dot.strong_buy_undervalued.is-focused{background:#240e15 linear-gradient(135deg,#f43f5e6b,#9f12398c)!important;border-color:#fb7185!important;box-shadow:0 0 24px #f43f5ea6,0 8px 20px #00000080!important}.matrix-asset-dot.growth_priced_in{background:#f59e0b2e;border-color:#f59e0b80;box-shadow:0 0 12px #f59e0b40}.matrix-asset-dot.growth_priced_in:hover,.matrix-asset-dot.growth_priced_in.is-focused{background:#26190a linear-gradient(135deg,#f59e0b6b,#b453098c)!important;border-color:#fcd34d!important;box-shadow:0 0 24px #f59e0ba6,0 8px 20px #00000080!important}.matrix-asset-dot.fair_value{background:#ffffff14;border-color:#ffffff40}.matrix-asset-dot.fair_value:hover,.matrix-asset-dot.fair_value.is-focused{background:#1e293b linear-gradient(135deg,#ffffff40,#ffffff1f)!important;border-color:#fff9!important;box-shadow:0 0 20px #fff6,0 8px 20px #00000080!important}.matrix-asset-dot.value_trap{background:#6366f12e;border-color:#6366f180;box-shadow:0 0 12px #6366f140}.matrix-asset-dot.value_trap:hover,.matrix-asset-dot.value_trap.is-focused{background:#12142d linear-gradient(135deg,#6366f16b,#4338ca8c)!important;border-color:#a5b4fc!important;box-shadow:0 0 24px #6366f1a6,0 8px 20px #00000080!important}.matrix-asset-dot.overvalued{background:#10b9812e;border-color:#10b98180;box-shadow:0 0 12px #10b98140}.matrix-asset-dot.overvalued:hover,.matrix-asset-dot.overvalued.is-focused{background:#0b2218 linear-gradient(135deg,#10b9816b,#0478578c)!important;border-color:#6ee7b7!important;box-shadow:0 0 24px #10b981a6,0 8px 20px #00000080!important}.dot-label{color:#fff;white-space:nowrap;font-size:11px;font-weight:800}.dot-sub{font-family:var(--font-mono);color:#ffffffd9;font-size:10px;font-weight:700}.matrix-asset-dot.is-focused .dot-label{color:#fff;text-shadow:0 1px 4px #0009;font-size:11.5px}.matrix-asset-dot.is-focused .dot-sub{color:#fff;text-shadow:0 1px 3px #0009}.matrix-hint-pill{z-index:80;color:#64748b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#0c1222b3;border:1px solid #ffffff0f;border-radius:6px;padding:3px 8px;font-size:10.5px;position:absolute;bottom:10px;left:14px}.ledger-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ledger-controls{align-items:center;gap:12px;display:flex}.ledger-search-input{background:var(--bg-canvas);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:240px;padding:7px 14px;font-size:12px}.ledger-search-input:focus{border-color:var(--accent)}.ledger-filter-select{background:var(--bg-canvas);border:1px solid var(--border-strong);border-radius:var(--radius-md);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:7px 28px 7px 12px;font-size:12px}.portfolio-ledger-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.portfolio-ledger-table th{text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-strong);background:var(--bg-canvas);white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:700}.portfolio-ledger-table td{border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:12px 14px}.clickable-row{cursor:pointer;transition:background .15s}.clickable-row:hover td{background:#ffffff08}.asset-cell strong{font-size:13px;display:block}.asset-cell small{color:var(--text-muted);font-size:11px}.cell-sub{color:var(--text-dim);font-size:10px;display:block}.table-dive-btn{color:#a5b4fc;border-radius:var(--radius-sm);background:#6366f11f;border:1px solid #6366f14d;padding:5px 12px;font-size:11px;font-weight:600;transition:all .18s}.table-dive-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.modal-overlay{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1000;background:#000c;justify-content:center;align-items:center;animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.search-modal-card{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-xl);flex-direction:column;gap:20px;width:min(620px,100vw - 32px);padding:28px 32px;display:flex;box-shadow:0 24px 64px #000c,0 0 32px #6366f126}.search-modal-header{justify-content:space-between;align-items:flex-start;display:flex}.modal-close-button{color:var(--text-muted);border-radius:var(--radius-sm);padding:4px 8px;font-size:16px}.modal-close-button:hover{color:var(--text-primary);background:#ffffff14}.search-main-input{background:var(--bg-canvas);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:12px 16px;font-size:14px;transition:all .2s}.search-main-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}.section-small-title{color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.asset-chips-grid{grid-template-columns:repeat(2,1fr);gap:10px;max-height:240px;display:grid;overflow-y:auto}@media (max-width:500px){.asset-chips-grid{grid-template-columns:1fr}}.asset-chip-card{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:left;justify-content:space-between;align-items:center;padding:10px 14px;transition:all .18s;display:flex}.asset-chip-card:hover{border-color:var(--accent);background:#6366f114}.chip-info strong{font-size:13px;display:block}.chip-info small{color:var(--text-dim);font-size:11px}.chip-stats{text-align:right}.chip-stats .price{font-size:13px;font-weight:700;display:block}.chip-stats .pe{color:var(--text-dim);font-size:10px}.search-new-asset-section{border-top:1px solid var(--border-subtle);padding-top:16px}.create-inputs-row{grid-template-columns:1.2fr 1.5fr 1fr auto;gap:8px;display:grid}@media (max-width:600px){.create-inputs-row{grid-template-columns:1fr}}.create-inputs-row input{background:var(--bg-canvas);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);padding:8px 12px;font-size:12px}.create-inputs-row input:focus{border-color:var(--accent)}.living-contract-bar{margin:16px 24px 0}.contract-sealed-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#1e293bbf 0%,#0f172af2 100%);border:1px solid #6366f159;padding:14px 20px;box-shadow:0 4px 24px #0006,inset 0 1px #ffffff0d}.contract-unsealed-banner{border-radius:var(--radius-lg);background:#f59e0b0f;border:1px dashed #f59e0b59;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.unsealed-info .unsealed-kicker{font-family:var(--font-mono);letter-spacing:.1em;color:#fbbf24;margin-bottom:2px;font-size:10px;font-weight:800;display:block}.unsealed-info p{color:var(--text-muted);margin:0;font-size:12px;line-height:1.5}.seal-trigger-btn{white-space:nowrap;color:#000!important;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)!important;border:none!important;font-weight:800!important;box-shadow:0 2px 12px #f59e0b59!important}.contract-status-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.status-badge-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status-badge-group strong{font-size:14px;font-weight:700}.status-badge-group .sealed-date{color:var(--text-dim);font-size:11px}.contract-alert-pill{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700}.contract-alert-pill.expanded{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.contract-alert-pill.contracted{color:#fb7185;background:#f43f5e26;border:1px solid #f43f5e4d}.contract-alert-pill.neutral{color:#818cf8;background:#6366f126;border:1px solid #6366f14d}.contract-actions{align-items:center;gap:8px;display:flex}.action-link-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:#ffffff0d;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s}.action-link-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.action-link-btn.danger:hover{color:#fb7185;border-color:#f43f5e80}.contract-metrics-row{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#0000004d;grid-template-columns:repeat(5,1fr);gap:12px;padding:10px 14px;display:grid}@media (max-width:800px){.contract-metrics-row{grid-template-columns:1fr 1fr}}.contract-metric{flex-direction:column;gap:2px;display:flex}.contract-metric .metric-lbl{color:var(--text-dim);font-size:11px}.contract-metric .metric-val{font-size:15px;font-weight:700}.contract-metric small{font-size:10px;font-weight:600}.contract-insight-alert{color:var(--text-muted);margin-top:10px;font-size:12px;line-height:1.5}.quote-refresh-metric{flex-direction:column;justify-content:center;align-items:flex-end;gap:4px;display:flex}.refresh-live-quote-btn{border-radius:var(--radius-sm);color:#a5b4fc;cursor:pointer;background:#6366f11f;border:1px solid #6366f14d;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.refresh-live-quote-btn:hover{color:#fff;background:#6366f140}.refresh-secondary-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;background:#ffffff0d;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.refresh-secondary-btn:hover{background:#ffffff1a}.refresh-icon.spin{animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.probe-loading-indicator{border-radius:var(--radius-md);color:#a5b4fc;background:#6366f114;border:1px solid #6366f133;align-items:center;gap:10px;margin:10px 0;padding:14px;font-size:12px;display:flex}.pulse-dot{background:#6366f1;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse;box-shadow:0 0 10px #6366f1}@keyframes pulse{0%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}to{opacity:.4;transform:scale(.9)}}.probed-live-card{border-radius:var(--radius-md);background:linear-gradient(135deg,#1e293bcc 0%,#0f172af2 100%);border:1px solid #6366f166;margin:12px 0;padding:14px;box-shadow:0 4px 20px #0006}.probed-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.probed-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.probed-title h3{margin:0;font-size:16px;font-weight:800}.probed-tag{color:#a5b4fc;background:#6366f140;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800}.launch-button{white-space:nowrap;padding:6px 14px;font-size:12px}.probed-stats-row{border-radius:var(--radius-sm);background:#0000004d;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;display:grid}.probed-stat{flex-direction:column;gap:2px;display:flex}.probed-stat .label{color:var(--text-dim);font-size:11px}.probed-stat .val{font-size:14px;font-weight:700}.probed-stat small{color:var(--text-dim);font-size:10px}.probe-error-hint{color:var(--text-muted);border-radius:var(--radius-sm);background:#ffffff08;margin:8px 0;padding:8px 12px;font-size:12px}.quick-benchmarks-section{margin:12px 0 16px}.benchmark-chips-row{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.benchmark-chip{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);align-items:center;gap:6px;padding:6px 10px;transition:all .15s;display:flex}.benchmark-chip:hover{border-color:var(--accent);background:#6366f11a}.benchmark-chip strong{font-size:12px}.benchmark-chip small{color:var(--text-dim);font-size:10px}.search-manual-toggle{text-align:center;margin:14px 0 8px}.manual-toggle-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:11px;text-decoration:underline}.manual-toggle-btn:hover{color:var(--text-primary)}.slider-input-wrapper{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 8px;transition:border-color .15s;display:flex}.slider-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #6366f133}.lever-num-input{color:var(--accent-light);font-family:var(--font-mono);text-align:right;background:0 0;border:none;outline:none;width:58px;font-size:14px;font-weight:800}.lever-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.lever-num-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.lever-input-unit{font-family:var(--font-mono);color:var(--text-dim);font-size:12px;font-weight:700}.delete-asset-ribbon-btn{color:var(--rose);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:#f43f5e14;border:1px solid #f43f5e33;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s}.delete-asset-ribbon-btn:hover{border-color:var(--rose);background:#f43f5e33}.table-actions-cell{align-items:center;gap:8px;display:flex}.table-delete-btn{color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 6px;font-size:13px;line-height:1;transition:all .15s}.table-delete-btn:hover{color:var(--rose);background:#f43f5e26;border-color:#f43f5e4d}.axis-benchmark-tag{font-size:10px;font-family:var(--font-mono);border-radius:var(--radius-xs);pointer-events:none;z-index:5;white-space:nowrap;padding:2px 7px;font-weight:700;position:absolute}.axis-benchmark-tag.x-tag{color:var(--emerald);background:#10b9811f;border:1px solid #10b9814d;right:12px;transform:translateY(-50%)}.axis-benchmark-tag.y-tag{color:var(--accent-light);background:#6366f11f;border:1px solid #6366f14d;top:10px;transform:translate(-50%)}.search-input-group{align-items:center;display:flex;position:relative}.search-clear-btn{color:var(--text-dim);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;transition:all .15s;display:flex;position:absolute;right:12px}.search-clear-btn:hover{color:var(--text-primary);background:#fff3}.reverse-dcf-boundary-badge{border-radius:var(--radius-xs);color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b59;margin-top:6px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.drawer-notes-section{flex-direction:column;gap:12px;padding:4px 0;display:flex}.notes-header-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.notes-heading{color:var(--text-primary);margin-bottom:4px;font-size:13px;font-weight:700}.notes-subtext{color:var(--text-dim);font-size:11px;line-height:1.5}.notes-auto-saved-badge{color:var(--emerald);border-radius:var(--radius-full);white-space:nowrap;background:#10b9811f;border:1px solid #10b98140;padding:3px 8px;font-size:10px;font-weight:600}.studio-notes-textarea{background:var(--bg-canvas);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;color:var(--text-primary);resize:vertical;padding:12px 14px;font-family:inherit;font-size:12px;line-height:1.6;transition:border-color .15s}.studio-notes-textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #6366f126}.research-app{max-width:1600px;color:var(--text-primary);margin:auto;font-family:system-ui,Microsoft YaHei,sans-serif;line-height:1.6}.research-app button,.research-app input,.research-app select,.research-app textarea{font:inherit}.research-app button{color:#e2e8f0;cursor:pointer;background:#162033;border:1px solid #334155;border-radius:8px;padding:8px 13px}.research-app button:not(.matrix-asset-dot):hover{background:#253550}.research-app button:disabled{opacity:.5;cursor:wait}.research-app button[aria-pressed=true]{color:#fff;background:#4f46e5;border-color:#818cf8}.research-app :focus-visible{outline-offset:3px;outline:2px solid #a5b4fc}.research-app .primary-button{color:#fff;background:#4f46e5;border-color:#6366f1}.research-app input,.research-app select,.research-app textarea{color:#f1f5f9;background:#0b1220;border:1px solid #3b4960;border-radius:7px;max-width:100%;padding:9px}.research-app label{color:#cbd5e1;flex-direction:column;gap:5px;font-size:13px;display:flex}.research-app p{color:#a8b7cb;margin:10px 0;font-size:14px}.research-app small{color:#9aaac0;font-size:12px;display:block}.research-app h1{margin:14px 0 6px;font-size:28px}.research-app h1 small{margin-left:12px;font-weight:400;display:inline}.research-app h2{margin:0 0 10px;font-size:19px}.research-app h3{font-size:17px}.research-app a{color:#a5b4fc;text-decoration:underline}.research-header{border-bottom:1px solid #263248;justify-content:space-between;align-items:center;gap:20px;padding:20px 30px;display:flex}.research-header>div{align-items:center;gap:15px;display:flex}.research-header span{color:#94a3b8;font-size:13px}.research-brand{letter-spacing:-1px;font-size:25px}.research-header nav{gap:8px;display:flex}.research-status{color:#b5c4d8;background:#101929;justify-content:space-between;align-items:center;padding:8px 30px;font-size:12px;display:flex}.research-status button{padding:3px 8px;font-size:12px}.research-main{padding:28px 30px 60px}.research-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.research-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.research-notice,.research-warning{background:#2c2516;border:1px solid #796332;border-radius:8px;padding:14px 18px;color:#f5d995!important}.research-notice{justify-content:space-between;gap:16px;margin:12px 30px;display:flex}.research-warning ul{padding-left:20px}.research-empty{text-align:center;max-width:750px;margin:auto;padding:100px 25px}.research-empty p{margin:20px 0}.research-kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0;display:grid}.research-kpis>div{background:linear-gradient(135deg,#17223a,#101827);border:1px solid #334155;border-radius:12px;min-width:0;padding:20px}.research-kpis strong{font-variant-numeric:tabular-nums;margin:10px 0;font-size:28px;display:block}.research-kpis span{color:#a8b7cb;font-size:12px}.research-workspace{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:20px;display:grid}.research-card{background:#0e1727;border:1px solid #29364c;border-radius:12px;min-width:0;margin-bottom:20px;padding:22px}.research-inputs{gap:14px;display:grid}.research-inputs details>label{margin:12px 0}.research-app details summary{cursor:pointer;color:#bac9f5;padding:8px 0}.research-app details ul{color:#b7c4d6;padding-left:20px;font-size:13px}.research-scenarios{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;display:grid}.research-scenarios>div{background:#141f33;border:1px solid #334155;border-radius:8px;padding:15px}.research-scenarios strong{color:#c7d2fe;font-size:23px;display:block}.research-scenarios span{color:#94a3b8;font-size:12px}.research-table-wrap{max-width:100%;margin:15px 0;overflow:auto}.research-app table{border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.research-app th,.research-app td{text-align:right;border-bottom:1px solid #263247;padding:10px 12px}.research-app th:first-child,.research-app td:first-child{text-align:left}.research-app th{color:#b9c8dd;font-weight:500}.research-app td{color:#f1f5f9}.research-app button.research-value{background:0 0;border:0;min-width:35px;padding:3px}.research-selected{color:#e0e7ff!important;background:#313967!important}.research-evidence{overflow-wrap:anywhere;background:#18273e;border-radius:8px;padding:15px}.research-app textarea{resize:vertical;width:100%}.research-import{max-width:260px;display:inline-flex!important}.research-import input{font-size:12px}.research-dialog{color:#f1f5f9;background:#101a2b;border:1px solid #4b5e7c;border-radius:16px;width:min(760px,94vw);max-height:90vh;margin:auto;padding:0}.research-dialog::backdrop{background:#000000b8}.research-dialog-content{padding:26px}.research-dialog .research-notice{margin:15px 0}.research-candidates{margin:12px 0;list-style:none}.research-candidates li button{justify-content:space-between;gap:12px;width:100%;margin:6px 0;display:flex}.research-candidates span{color:#a5b4fc}@media (max-width:1000px){.research-kpis{grid-template-columns:repeat(2,1fr)}.research-workspace{grid-template-columns:270px minmax(0,1fr)}}@media (max-width:700px){.research-header{flex-wrap:wrap;padding:15px}.research-header>div{width:100%}.research-main{padding:18px 12px}.research-status{padding:8px 12px}.research-workspace{grid-template-columns:1fr}.research-kpis{gap:8px}.research-kpis>div{padding:12px}.research-kpis strong{font-size:22px}.research-card{padding:15px}.research-notice{margin:12px}.research-header nav{flex:1}.research-scenarios>div{padding:9px}.research-row{gap:8px}.research-app h1 small{margin:0;display:block}}.research-toast-banner{z-index:10000;color:#f1f5f9;-webkit-backdrop-filter:blur(8px);pointer-events:auto;background:#0f172af0;border:1px solid #6366f166;border-radius:9999px;align-items:center;gap:12px;padding:8px 16px;font-size:13.5px;animation:.25s cubic-bezier(.16,1,.3,1) toastSlideDown;display:inline-flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 25px -5px #0009,0 0 0 1px #ffffff0d}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%,-10px)scale(.97)}to{opacity:1;transform:translate(-50%)scale(1)}}.research-toast-banner .toast-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-size:16px;line-height:1;transition:color .15s;display:inline-flex}.research-toast-banner .toast-close-btn:hover{color:#f8fafc}.portfolio-builder-container{flex-direction:column;gap:20px;width:100%;max-width:1680px;margin:0 auto;padding:16px 24px 40px;display:flex}.portfolio-toolbar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:18px 24px;display:flex;box-shadow:0 4px 20px #00000040}.toolbar-row-primary{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.portfolio-title-group{align-items:center;gap:12px;display:flex}.portfolio-name-input{color:var(--text-primary);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;width:280px;padding:4px 8px;font-size:18px;font-weight:700;transition:all .2s}.portfolio-name-input:hover,.portfolio-name-input:focus{border-color:var(--border-strong);background:#ffffff0d}.portfolio-tag-badge{color:#a5b4fc;background:#6366f126;border:1px solid #6366f159;border-radius:9999px;padding:2px 10px;font-size:11px;font-weight:600}.toolbar-actions{gap:10px;display:flex}.toolbar-row-controls{grid-template-columns:1.4fr 1.6fr 1fr 1fr;align-items:end;gap:20px;display:grid}.control-group{flex-direction:column;gap:8px;display:flex}.control-group label{color:var(--text-muted);font-size:12px;font-weight:500}.capital-input-wrapper{align-items:center;gap:8px;display:flex}.capital-input-wrapper input{border:1px solid var(--border-strong);color:var(--text-primary);border-radius:var(--radius-sm);background:#0f172ab3;width:140px;padding:7px 12px;font-size:14px;font-weight:600}.quick-capital-pills,.strategy-pills{gap:6px;display:flex}.pill-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:#ffffff0a;padding:6px 12px;font-size:12px;transition:all .18s}.pill-btn:hover{color:var(--text-primary);background:#ffffff14}.pill-btn.active{color:#c7d2fe;background:#6366f133;border-color:#6366f1;font-weight:600}.portfolio-range-slider{appearance:none;border-radius:var(--radius-full);background:var(--bg-subtle);cursor:pointer;border:1px solid #ffffff14;outline:none;width:100%;height:6px;margin:8px 0 4px;transition:border-color .15s}.portfolio-range-slider:hover{border-color:#fff3}.portfolio-range-slider::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;box-shadow:0 0 10px #6366f180}.portfolio-range-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.portfolio-range-slider::-moz-range-thumb{border:2px solid var(--accent);cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 10px #6366f180}.slider-label-row{justify-content:space-between;font-size:12px;display:flex}.slider-label-row strong{color:#a5b4fc}.undo-exclude-banner{border-radius:var(--radius-md);color:#c7d2fe;background:#6366f124;border:1px solid #6366f159;justify-content:space-between;align-items:center;margin-bottom:14px;padding:8px 14px;font-size:12px;animation:.2s ease-in-out fadeIn;display:flex}.undo-actions-group{align-items:center;gap:8px;display:flex}.undo-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#6366f1;border:none;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s}.undo-btn:hover{background:#4f46e5}.banner-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px}.banner-close-btn:hover{color:#fff}.excluded-tickers-tray{border-radius:var(--radius-md);background:#00000040;border:1px dashed #ffffff26;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;padding:8px 12px;font-size:12px;display:flex}.tray-label{color:var(--text-muted);font-size:11px}.restore-ticker-chip{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;gap:4px;padding:2px 8px;font-size:11px;transition:all .15s;display:inline-flex}.restore-ticker-chip:hover{color:#fff;background:#6366f133;border-color:#6366f1}.restore-all-btn{color:var(--accent-light);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:11px;text-decoration:underline}.portfolio-main-grid{grid-template-columns:1.15fr .85fr;gap:20px;display:grid}.portfolio-mixer-panel,.portfolio-radar-panel,.portfolio-orders-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px 24px}.panel-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.panel-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.panel-sub{color:var(--text-muted);margin:4px 0 0;font-size:12px}.total-sum-lock{color:#10b981;background:#10b9811f;border-radius:4px;padding:2px 6px;font-weight:700}.text-link-btn{color:#818cf8;cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.asset-mixer-list{flex-direction:column;gap:12px;max-height:820px;padding-right:6px;display:flex;overflow-y:auto}.mixer-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0f172a80;flex-direction:column;gap:10px;padding:14px 16px;transition:all .2s;display:flex}.mixer-card:hover{background:#0f172acc;border-color:#6366f166}.mixer-card.pinned{border-left:3px solid #818cf8}.card-top-row{justify-content:space-between;align-items:center;display:flex}.asset-identification{align-items:center;gap:10px;display:flex}.asset-name-link{color:#f1f5f9;cursor:pointer;font-size:15px;font-weight:700;transition:color .15s}.asset-name-link:hover{color:#818cf8;text-decoration:underline}.ticker-code{color:var(--text-muted);font-family:monospace;font-size:12px}.sector-tag{color:#94a3b8;background:#ffffff0f;border-radius:4px;padding:2px 8px;font-size:11px}.sector-tag-sm{color:#94a3b8;background:#ffffff0d;border-radius:3px;padding:1px 6px;font-size:11px}.card-top-metrics{align-items:center;gap:10px;display:flex}.quadrant-badge{border-radius:9999px;padding:2px 8px;font-size:11px;font-weight:600}.quadrant-undervalued{background:var(--rose-bg,#f43f5e26);color:var(--rose,#f43f5e);border:1px solid #f43f5e4d}.quadrant-growth{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.quadrant-neutral{color:#cbd5e1;background:#94a3b826;border:1px solid #94a3b84d}.card-quick-actions{gap:6px;display:flex}.pin-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0a;padding:3px 8px;font-size:11px}.pin-btn.active{color:#a5b4fc;background:#6366f140;border-color:#818cf8}.exclude-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;padding:1px 6px;font-size:16px}.exclude-btn:hover{color:#ef4444;background:#ef444426}.card-middle-metrics{border-radius:var(--radius-sm);background:#0003;grid-template-columns:1fr 1.2fr 1fr 1.4fr;align-items:center;gap:12px;padding:8px 12px;display:grid}.metric-chip{flex-direction:column;gap:2px;display:flex}.chip-label{color:var(--text-muted);font-size:11px}.chip-val{color:var(--text-primary);font-size:13px;font-weight:600}.val-rose{color:var(--rose,#f43f5e);font-weight:700}.val-emerald{color:var(--emerald,#10b981);font-weight:700}.val-green{color:#34d399}.val-light-green{color:#6ee7b7}.val-red{color:#f87171}.mini-progress-bar{background:#ffffff1a;border-radius:9999px;height:5px;margin-top:4px;overflow:hidden}.progress-fill{border-radius:9999px;height:100%;transition:width .3s}.card-slider-row{flex-direction:column;gap:6px;display:flex}.slider-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.weight-display-box{border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-sizing:border-box;background:#0f172ae6;justify-content:flex-end;align-items:center;gap:2px;min-width:64px;padding:2px 6px;display:inline-flex}.weight-display-box input{color:#a5b4fc;text-align:right;appearance:textfield;background:0 0;border:none;outline:none;width:38px;margin:0;padding:0;font-size:13px;font-weight:700}.weight-display-box input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.weight-display-box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.weight-display-box span{color:var(--text-muted);-webkit-user-select:none;user-select:none;margin-left:1px;font-size:11px}.weight-slider-input{accent-color:#6366f1;width:100%}.kpi-cards-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.kpi-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0f172a99;flex-direction:column;gap:4px;padding:14px;display:flex}.kpi-title{color:var(--text-muted);font-size:11px}.kpi-value{font-size:20px;font-weight:800}.kpi-desc{color:var(--text-secondary);font-size:11px}.text-rose{color:var(--rose,#f43f5e)}.text-emerald{color:var(--emerald,#10b981)}.text-amber{color:#fbbf24}.text-warn{color:#f59e0b;font-weight:700}.sync-indicator{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff14;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:inline-flex}.sync-indicator.syncing{color:#a5b4fc;background:#6366f11a;border-color:#6366f14d}.sync-indicator.synced{color:#94a3b8}.sync-dot{background:#94a3b8;border-radius:50%;width:6px;height:6px;display:inline-block}.sync-indicator.syncing .sync-dot{background:#818cf8;animation:1.2s infinite pulse}.sync-indicator.synced .sync-dot{background:var(--rose,#f43f5e)}.radar-section{border-top:1px solid #ffffff0f;margin-top:20px;padding-top:16px}.radar-section h4{color:var(--text-secondary);margin:0 0 12px;font-size:13px;font-weight:600}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sub-hint{color:var(--text-muted);font-size:11px}.sector-bars-list{flex-direction:column;gap:10px;max-height:280px;padding-right:4px;display:flex;overflow-y:auto}.sector-bar-item{flex-direction:column;gap:4px;display:flex}.sec-bar-header{justify-content:space-between;font-size:12px;display:flex}.sec-name{color:var(--text-secondary)}.sec-weight{color:var(--text-primary);font-weight:600}.sec-progress-track{background:#ffffff14;border-radius:9999px;height:6px;overflow:hidden}.sec-progress-fill{background:#6366f1;border-radius:9999px;height:100%;transition:width .3s}.sec-progress-fill.fill-warn{background:#f59e0b}.sec-progress-fill.fill-cash{background:#10b981}.stress-test-table{flex-direction:column;gap:8px;display:flex}.stress-row{border-radius:var(--radius-sm);background:#0003;grid-template-columns:1.2fr 1fr 2fr;align-items:center;padding:10px 14px;font-size:12px;display:grid}.stress-tag{color:var(--text-primary);font-weight:600}.stress-val{font-size:14px;font-weight:700}.stress-desc{color:var(--text-muted)}.portfolio-orders-panel{flex-direction:column;gap:16px;display:flex}.orders-header{justify-content:space-between;align-items:center;display:flex}.orders-header h3{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.orders-sub{color:var(--text-muted);margin:4px 0 0;font-size:12px}.orders-table-wrapper{overflow-x:auto}.orders-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.orders-table th{border-bottom:1px solid var(--border-strong);color:var(--text-muted);padding:10px 12px;font-size:12px;font-weight:600}.orders-table td{color:var(--text-secondary);border-bottom:1px solid #ffffff0d;padding:12px}.orders-table tbody tr:hover td{background:#ffffff05}.orders-table tfoot td{border-top:2px solid var(--border-strong);color:var(--text-primary);background:#0f172a66;padding:14px 12px}.shares-val{color:var(--accent-light,#818cf8);font-family:var(--font-mono,monospace);font-size:14px}.text-right{text-align:right}
