:root{--bg-primary: #0b0b12;--bg-card: #13131e;--bg-card-hover: #1b1b2a;--border-subtle: #1f1f32;--border-hover: #2d2d45;--text-primary: #e8e8ec;--text-secondary: #8a8a9a;--text-dim: #555566;--green-primary: #00d66b;--green-dim: rgba(0, 214, 107, .1);--red-primary: #ff2952;--font-mono: "SF Mono", "Fira Code", "Cascadia Code", "Consolas", "Menlo", "Roboto Mono", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 8px;--bg-header: rgba(11, 11, 18, .88);--shadow-color: rgba(0, 0, 0, .5);--overlay-bg: rgba(0, 0, 0, .6);--hover-overlay: rgba(255, 255, 255, .04);--scrollbar-thumb: #1f1f32;--glass-bg: rgba(11, 11, 18, .45);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .45);--glass-blur: blur(20px);--glass-blur: blur(16px);--tooltip-bg: rgba(15, 15, 24, .9);--tooltip-border: rgba(255, 255, 255, .1);--accent-cyan: #00e5ff;--accent-cyan-dim: rgba(0, 229, 255, .08);--accent-amber: #ffab00;--accent-amber-dim: rgba(255, 171, 0, .08);--accent-purple: #b388ff;--accent-purple-dim: rgba(179, 136, 255, .08);--green-glow: rgba(0, 214, 107, .35);--red-glow: rgba(255, 41, 82, .35);--price-glow-up: 0 0 20px rgba(0, 214, 107, .4), 0 0 60px rgba(0, 214, 107, .1);--price-glow-down: 0 0 20px rgba(255, 41, 82, .4), 0 0 60px rgba(255, 41, 82, .1);--card-shadow-rest: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .08);--card-shadow-hover: 0 8px 25px rgba(0, 0, 0, .25), 0 3px 10px rgba(0, 0, 0, .12);--card-gradient: linear-gradient( 145deg, rgba(255, 255, 255, .03) 0%, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, .02) 100% );--card-accent-border: linear-gradient( 180deg, var(--accent-cyan) 0%, transparent 60% );--accent-gradient: linear-gradient(135deg, #0cebeb, #20e3b2, #29ffc6);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary: #f7f7fa;--bg-card: #ffffff;--bg-card-hover: #f2f2f8;--border-subtle: #e2e2ec;--border-hover: #c8c8d8;--text-primary: #1a1a2e;--text-secondary: #606078;--text-dim: #a0a0b4;--green-primary: #00a846;--green-dim: rgba(0, 168, 70, .08);--red-primary: #e01535;--bg-header: rgba(247, 247, 250, .92);--shadow-color: rgba(0, 0, 0, .1);--overlay-bg: rgba(0, 0, 0, .3);--hover-overlay: rgba(0, 0, 0, .03);--scrollbar-thumb: #c8c8d8;--glass-bg: rgba(255, 255, 255, .82);--glass-border: rgba(0, 0, 0, .07);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .06);--glass-blur: blur(16px);--tooltip-bg: rgba(255, 255, 255, .94);--tooltip-border: rgba(0, 0, 0, .08);--accent-cyan: #0097a7;--accent-cyan-dim: rgba(0, 151, 167, .06);--accent-amber: #f59e0b;--accent-amber-dim: rgba(245, 158, 11, .06);--accent-purple: #9333ea;--accent-purple-dim: rgba(147, 51, 234, .06);--green-glow: rgba(0, 168, 70, .2);--red-glow: rgba(224, 21, 53, .2);--price-glow-up: 0 0 16px rgba(0, 168, 70, .25);--price-glow-down: 0 0 16px rgba(224, 21, 53, .25);--card-shadow-rest: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--card-shadow-hover: 0 8px 25px rgba(0, 0, 0, .1), 0 3px 10px rgba(0, 0, 0, .06);--card-gradient: linear-gradient( 145deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, .01) 100% );--card-accent-border: linear-gradient( 180deg, var(--accent-cyan) 0%, transparent 60% );--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{background:radial-gradient(ellipse at 20% 0%,rgba(0,229,255,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(179,136,255,.02) 0%,transparent 50%),var(--bg-primary);color:var(--text-primary);overflow-x:hidden}[data-theme=light] html,[data-theme=light] body{background:radial-gradient(ellipse at 20% 0%,rgba(0,151,167,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(147,51,234,.02) 0%,transparent 50%),var(--bg-primary)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,a,input,select,textarea{transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}@media (max-width: 1024px){input,textarea,select{font-size:16px!important}}*{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}*::-webkit-scrollbar-corner{background:transparent}.stock-logo{border-radius:6px;object-fit:contain;flex-shrink:0;background:var(--border-subtle);padding:2px}.stock-logo-fallback{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:#fff;font-weight:700;font-family:var(--font-mono);line-height:1;-webkit-user-select:none;user-select:none;letter-spacing:-.02em;text-transform:uppercase}.app{min-height:100dvh;display:flex;flex-direction:column}@supports not (min-height: 100dvh){.app{min-height:100vh}}.app-body{display:flex;flex:1}.app-content{flex:1;min-width:0;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 24px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:background var(--transition-fast),box-shadow var(--transition-fast)}.header-utility,.header-tabs-container,.header-mobile-digest,.sidebar-toggle-btn{display:none}.header-desktop-search{display:block}.sidebar-toggle-btn{width:32px;height:32px;flex-shrink:0;background:none;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s}.sidebar-toggle-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.grid-status-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 8px 8px;font-size:11px;color:var(--text-dim);font-family:var(--font-mono);grid-column:1 / -1}.grid-status-meta{display:flex;align-items:center;gap:6px}.grid-status-sep{opacity:.4}.header-left{display:flex;align-items:center;gap:10px;min-width:0}.header-tabs{display:flex;gap:2px;flex-wrap:wrap}.header-tab{background:none;border:none;color:var(--text-dim);font-size:14px;font-weight:500;padding:6px 14px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);position:relative}.header-tab:hover{color:var(--text-primary);background:var(--hover-overlay)}.header-tab-active{color:var(--text-primary);background:#00e5ff14;font-weight:600;position:relative}.header-tab-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent-gradient);border-radius:2px 2px 0 0}[data-theme=light] .header-tab-active{background:#0097a70f}.digest-banner-spacer{min-width:0;flex:0}.digest-banner{display:flex;align-items:center;gap:6px;min-width:0;flex:1;max-width:420px;padding:4px 10px;background:linear-gradient(135deg,#ffb43214,#ff78320a);border:1px solid rgba(255,180,50,.12);border-radius:6px;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;overflow:hidden}.digest-banner:hover{background:linear-gradient(135deg,#ffb43224,#ff783214);border-color:#ffb43240;box-shadow:0 0 12px #ffa03214}.digest-banner-icon{font-size:12px;flex-shrink:0}.digest-banner-slide{overflow:hidden;min-width:0;flex:1;mask-image:linear-gradient(to right,transparent,black 5%,black 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 5%,black 90%,transparent)}.digest-banner-text{display:inline-block;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;will-change:transform;padding-left:100%;animation:digest-slide 18s linear infinite}.digest-banner:hover .digest-banner-text{animation-play-state:paused}@keyframes digest-slide{0%{transform:translate(0)}to{transform:translate(-100%)}}.digest-banner-time{font-size:10px;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.digest-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:80px;animation:digest-fade-in .15s ease}@keyframes digest-fade-in{0%{opacity:0}to{opacity:1}}.digest-modal{width:520px;max-width:90vw;max-height:80vh;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:24px 28px 28px;box-shadow:0 24px 64px #00000080;animation:digest-slide-up .2s ease}@keyframes digest-slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.digest-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.digest-modal-label{font-size:13px;color:var(--text-dim);font-weight:500}.digest-modal-close{background:none;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s ease}.digest-modal-close:hover{color:var(--text-primary)}.digest-modal-headline{font-size:22px;font-weight:600;color:var(--text-primary);line-height:1.35;margin:0 0 20px}.digest-modal-bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.digest-modal-bullets li{position:relative;padding-left:16px;font-size:14px;line-height:1.55;color:var(--text-secondary)}.digest-modal-bullets li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:#7878c899}.search-wrapper{position:relative;justify-self:center;width:clamp(200px,30vw,400px);max-width:100%}.search-form{width:100%}.search-input{width:100%;padding:8px 14px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:var(--font-mono);outline:none;transition:border-color .15s ease}.search-input::placeholder{color:var(--text-dim)}.search-input:focus{border-color:var(--border-hover)}.search-suggestions{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:480px;margin:0;padding:4px 0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;list-style:none;overflow:hidden;z-index:1000;box-shadow:0 8px 24px #0006}.search-suggestion{display:flex;align-items:center;gap:12px;padding:10px 16px;cursor:pointer;transition:background .1s ease}.search-suggestion:hover,.search-suggestion-active{background:var(--bg-card-hover)}.suggestion-star{background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:0 6px 0 0;line-height:1;flex-shrink:0;transition:color .15s ease}.suggestion-star:hover,.suggestion-star.starred{color:#f5c842}.suggestion-symbol{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text-primary);min-width:60px}.suggestion-name{font-size:12px;color:var(--text-secondary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-exchange{font-size:11px;color:var(--text-dim);white-space:nowrap}.grid-dropdown{position:relative}.grid-dropdown-btn{display:flex;align-items:center;gap:6px;padding:4px 12px;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.grid-dropdown-btn:hover{background:#ffffff0a;border-color:var(--text-dim);color:var(--text-primary)}.grid-dropdown-count{font-size:10px;font-family:var(--font-mono);font-weight:400;background:#ffffff0f;padding:0 5px;border-radius:3px;line-height:1.6;color:var(--text-dim)}.grid-dropdown-arrow{transition:transform .15s}.grid-dropdown-arrow--open{transform:rotate(180deg)}.grid-dropdown-panel{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);width:320px;max-height:420px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:8px;z-index:50;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;animation:grid-dropdown-fadein .12s ease}@keyframes grid-dropdown-fadein{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.grid-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-subtle)}.grid-dropdown-header span{font-size:10px;font-weight:400;color:var(--text-dim)}.grid-dropdown-list{flex:1;overflow-y:auto;overscroll-behavior:contain}.grid-dropdown-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text-primary);font-family:inherit;font-size:12px;transition:background .1s}.grid-dropdown-row:hover{background:#ffffff0a}.grid-dropdown-symbol{font-weight:600;min-width:55px}.grid-dropdown-price{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);margin-left:auto}.grid-dropdown-change{font-family:var(--font-mono);font-size:11px;font-weight:500;min-width:60px;text-align:right}.grid-dropdown-change.positive{color:var(--green-primary)}.grid-dropdown-change.negative{color:var(--red-primary)}.header-right{display:flex;align-items:center;justify-self:end;gap:12px;font-size:13px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.header-count{color:var(--text-dim)}.status-dot{width:8px;height:8px;border-radius:50%}.status-live{background:var(--green-primary);box-shadow:0 0 6px #00c85380;animation:pulse-dot 2s ease-in-out infinite}.status-error{background:var(--red-primary)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.alerts-panel-wrapper{position:relative}.alerts-bell-btn{position:relative;width:24px;height:24px;border-radius:50%;border:1px solid var(--border-subtle);background:transparent;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.alerts-bell-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.alerts-bell-count{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;border-radius:7px;background:var(--green-primary);color:#000;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.alerts-panel-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:200;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:0;min-width:260px;max-width:320px;max-height:400px;overflow-y:auto;box-shadow:0 8px 24px #0006}.alerts-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid var(--border-subtle)}.alerts-panel-title{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.alerts-panel-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.alerts-panel-close:hover{color:var(--text-primary)}.alerts-panel-empty{padding:20px 14px;text-align:center;font-size:12px;color:var(--text-dim);line-height:1.5}.alerts-panel-list{padding:6px 0}.alerts-panel-section-label{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;padding:6px 12px 4px}.alerts-panel-item{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:background .12s}.alerts-panel-item:hover{background:var(--bg-card-hover)}.alerts-panel-item--triggered{opacity:.5}.alerts-panel-symbol{font-weight:600;color:var(--text-primary);font-family:var(--font-mono);min-width:50px}.alerts-panel-direction{font-size:13px;font-weight:700}.alerts-panel-direction.above{color:var(--green-primary)}.alerts-panel-direction.below{color:var(--red-primary)}.alerts-panel-price{color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;flex:1}.alerts-panel-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.alerts-panel-toggle,.alerts-panel-remove{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px 4px;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:color .12s,background .12s}.alerts-panel-toggle:hover{color:var(--text-primary);background:var(--bg-primary)}.alerts-panel-remove{font-size:16px;line-height:1}.alerts-panel-remove:hover{color:var(--red-primary);background:var(--bg-primary)}.theme-toggle-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-subtle);background:transparent;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s;flex-shrink:0}.theme-toggle-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.hotkeys-wrapper{position:relative}.hotkeys-btn{width:24px;height:24px;border-radius:50%;border:1px solid var(--border-subtle);background:transparent;color:var(--text-dim);font-size:13px;font-weight:700;font-family:var(--font-sans);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.hotkeys-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.hotkeys-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top,16px) 16px env(safe-area-inset-bottom,16px);touch-action:none;overscroll-behavior:contain}.hotkeys-popover{position:relative;z-index:201;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:36px 20px 16px;min-width:240px;max-width:360px;width:calc(100vw - 32px);max-height:80vh;max-height:80dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;box-shadow:0 8px 24px #0006}.hotkeys-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;line-height:1;padding:2px 6px;z-index:2}.hotkeys-close:hover{color:var(--text-primary)}.hotkeys-title{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.hotkeys-divider{height:1px;background:var(--border-subtle);margin:12px 0}.hotkeys-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0}.hotkeys-key{font-family:var(--font-mono);font-size:11px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:4px;padding:2px 7px;color:var(--text-primary);white-space:nowrap}.hotkeys-desc{font-size:12px;color:var(--text-secondary);text-align:right}.hotkeys-tabs{display:flex;gap:0;margin-bottom:12px;border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.hotkeys-tab{flex:1;padding:6px 8px;font-size:11px;font-weight:600;border:none;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .15s,color .15s}.hotkeys-tab:hover{background:#ffffff0a}.hotkeys-tab--active{background:var(--accent);color:#fff}.hotkeys-guide{display:flex;flex-direction:column;gap:14px}.hotkeys-guide-section h4{font-size:12px;font-weight:700;color:var(--text-primary);margin:0 0 4px;text-transform:uppercase;letter-spacing:.3px}.hotkeys-guide-section p{font-size:12px;line-height:1.55;color:var(--text-secondary);margin:0}.hotkeys-guide-section ul{margin:4px 0 0;padding-left:16px;list-style:none}.hotkeys-guide-section li{font-size:12px;line-height:1.5;color:var(--text-secondary);padding:1px 0;position:relative}.hotkeys-guide-section li:before{content:"•";color:var(--accent);position:absolute;left:-12px}.hotkeys-guide-section strong{color:var(--text-primary)}.stock-grid{flex:1 0 auto;min-width:0;max-width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:16px;padding:24px;align-content:start}.stock-card{position:relative;background:var(--card-gradient),var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:16px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-smooth),transform var(--transition-smooth);box-shadow:var(--card-shadow-rest);overflow:hidden}.stock-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--card-accent-border);opacity:0;transition:opacity var(--transition-smooth);z-index:2}.stock-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s ease;background:radial-gradient(600px circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.06),transparent 40%);z-index:1;pointer-events:none}.stock-card:hover{background:var(--card-gradient),var(--bg-card-hover);border-color:var(--border-hover);box-shadow:var(--card-shadow-hover);transform:translateY(-4px)}.stock-card:hover:before,.stock-card:hover:after{opacity:1}.stock-card>*{position:relative;z-index:2}.card-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.stock-card-flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:relative;width:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-back{position:absolute;top:0;left:0;height:100%;transform:rotateY(180deg);display:flex;flex-direction:column}.card-back-header{text-align:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.card-back-title{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.card-back-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;flex:1}.card-back-stat{display:flex;flex-direction:column;gap:4px}.card-back-stat span{color:var(--text-dim);font-size:11px}.card-back-stat strong{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-primary)}.card-back-btn{margin-top:16px;background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-subtle);padding:8px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s;width:100%}.card-back-btn:hover{background:#ffffff1a}.stock-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.stock-card-symbol{font-size:16px;font-weight:600;font-family:var(--font-mono);letter-spacing:.5px}.stock-card-change{font-size:12px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:3px 10px;border-radius:6px;letter-spacing:.3px}.change-up-badge{color:var(--green-primary);background:var(--green-dim);box-shadow:0 0 12px #00d66b26}.change-down-badge{color:var(--red-primary);background:#ff29521a;box-shadow:0 0 12px #ff295226}.stock-card-name{font-size:12px;color:var(--text-secondary);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-card-name-symbol{color:var(--text-primary);font-weight:600}.stock-card-price{font-size:24px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-bottom:4px;letter-spacing:-.5px;transition:color .3s ease,text-shadow .3s ease}.stock-card-ext{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;margin-bottom:8px}.stock-card-ext-label{color:var(--text-dim);font-weight:600;text-transform:uppercase;font-size:9px;background:#ffffff0f;padding:1px 4px;border-radius:3px}.stock-card-ext-price{color:var(--text-secondary)}.stock-card-ext-change{font-weight:600}.stock-card-meta{display:flex;gap:16px;font-size:11px;color:var(--text-dim);margin-bottom:12px}.stock-card-chart{height:120px}.stock-card.flash-up{border-color:#00d66b66;box-shadow:var(--card-shadow-rest),0 0 20px #00d66b26;animation:card-flash-green .7s ease-out}.stock-card.flash-down{border-color:#ff295266;box-shadow:var(--card-shadow-rest),0 0 20px #ff295226;animation:card-flash-red .7s ease-out}.stock-card-price.flash-up{color:var(--green-primary);text-shadow:0 0 8px rgba(0,214,107,.3);animation:price-flash .7s ease-out}.stock-card-price.flash-down{color:var(--red-primary);text-shadow:0 0 8px rgba(255,41,82,.3);animation:price-flash .7s ease-out}@keyframes card-flash-green{0%{background:#00d66b14;box-shadow:var(--card-shadow-rest),0 0 30px #00d66b33}to{background:var(--bg-card);box-shadow:var(--card-shadow-rest)}}@keyframes card-flash-red{0%{background:#ff295214;box-shadow:var(--card-shadow-rest),0 0 30px #ff295233}to{background:var(--bg-card);box-shadow:var(--card-shadow-rest)}}@keyframes price-flash{0%,30%{transform:scale(1.04)}to{transform:scale(1)}}.particle-point{animation:explode .6s cubic-bezier(.25,1,.5,1) forwards}@keyframes explode{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--tx, 0)),calc(-50% + var(--ty, 0))) scale(0);opacity:0}}.mini-chart{width:100%;height:100%;position:relative;pointer-events:none}.mini-chart:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:60%;border-radius:50%;pointer-events:none;z-index:2}.mini-chart--up:after{background:radial-gradient(ellipse at center bottom,rgba(0,200,83,.1) 0%,transparent 70%)}.mini-chart--down:after{background:radial-gradient(ellipse at center bottom,rgba(255,23,68,.1) 0%,transparent 70%)}.spark-glow--up,.spark-glow--down{position:relative}.spark-glow--up:after,.spark-glow--down:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:70%;border-radius:50%;pointer-events:none;z-index:0}.spark-glow--up:after{background:radial-gradient(ellipse at center bottom,rgba(0,200,83,.12) 0%,transparent 70%)}.spark-glow--down:after{background:radial-gradient(ellipse at center bottom,rgba(255,23,68,.12) 0%,transparent 70%)}.mini-chart-loading{width:100%;height:100%;background:var(--bg-card);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}.expanded-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;animation:fade-in .2s ease;overscroll-behavior:contain}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.expanded-modal{position:relative;width:92vw;height:85vh;max-width:1400px;background:var(--bg-primary);border:1px solid var(--glass-border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px #0009,0 0 1px #ffffff0d}.expanded-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:10px;width:96vw;height:92vh;max-width:1600px;padding:8px;overflow-y:auto}.expanded-grid .expanded-modal{width:100%;height:100%;max-width:none;border-radius:8px}.expanded-modal.compact .expanded-header{padding:8px 14px;gap:10px}.expanded-modal.compact .expanded-header h2,.expanded-modal.compact .expanded-header-price{font-size:14px}.expanded-modal.compact .expanded-header-change{font-size:11px}.expanded-modal.compact .expanded-header-ext{font-size:10px}.expanded-modal.compact .chart-toolbar{padding:4px 10px}.expanded-modal.compact .timeframe-btn{padding:2px 5px;font-size:10px}.expanded-modal.compact .timeframe-divider{margin:0 4px}.stock-card-selected{outline:2px solid var(--green-primary);outline-offset:-2px;box-shadow:var(--card-shadow-hover),0 0 0 4px #00d66b1a}.stock-card-focused{outline:2px solid rgba(255,255,255,.5);outline-offset:-2px;background:var(--card-gradient),var(--bg-card-hover);box-shadow:var(--card-shadow-hover)}.stock-card-earnings{font-size:9px;font-family:var(--font-mono);font-weight:600;color:#ffab00;background:#ffab001f;padding:1px 5px;border-radius:3px;letter-spacing:.3px;white-space:nowrap}.grid-badge{position:fixed;bottom:20px;right:20px;z-index:100;background:var(--green-primary);color:#000;border:none;border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;box-shadow:0 4px 16px #00c8534d;transition:transform .15s ease,box-shadow .15s ease}.grid-badge:hover{transform:scale(1.05);box-shadow:0 6px 20px #00c85366}.expanded-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--glass-border);gap:12px}.expanded-header-left{display:flex;align-items:center;gap:10px;min-width:0}.expanded-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.expanded-star{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.expanded-star:hover,.expanded-star.starred{color:#f5c842}.expanded-header h2{font-size:17px;font-family:var(--font-mono);font-weight:700;letter-spacing:.8px}.expanded-header-name{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7}.expanded-header-center{display:flex;align-items:baseline;gap:10px;margin-left:auto;margin-right:16px}.expanded-header-price{font-size:22px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.5px;transition:text-shadow var(--transition-smooth)}.expanded-header-price.glow-up{text-shadow:var(--price-glow-up)}.expanded-header-price.glow-down{text-shadow:var(--price-glow-down)}.expanded-header-change{font-size:14px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.expanded-header-abs{font-size:12px;font-family:var(--font-mono)}.expanded-header-ext{font-size:12px;font-family:var(--font-mono);color:var(--text-secondary);border-left:1px solid var(--border-subtle);padding-left:10px}.expanded-header-volume{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);border-left:1px solid var(--border-subtle);padding-left:10px}.expanded-header-ext-label{color:var(--text-dim);font-weight:600;font-size:9px;text-transform:uppercase;background:#ffffff0f;padding:1px 4px;border-radius:3px;margin-right:6px}.change-up{color:var(--green-primary)}.change-down{color:var(--red-primary)}.expanded-close{background:none;border:1px solid var(--glass-border);color:var(--text-dim);width:30px;height:30px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.expanded-close:hover{background:#ff17441a;border-color:#ff17444d;color:var(--red-primary)}.expanded-chart-area{flex:1;position:relative;display:flex;flex-direction:column;overflow:hidden}.chart-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--glass-border)}.chart-tooltip{display:flex;gap:14px;font-size:11px;font-family:var(--font-mono);color:var(--text-dim);min-height:28px;align-items:center;font-style:italic}.timeframe-groups{display:flex;align-items:center;gap:4px}.timeframe-divider{width:1px;height:14px;background:var(--glass-border);margin:0 8px}.timeframe-bar{display:flex;gap:2px}.timeframe-btn{background:none;border:1px solid transparent;color:var(--text-dim);font-size:11px;font-family:var(--font-mono);font-weight:600;padding:5px 12px;border-radius:20px;cursor:pointer;transition:all var(--transition-fast);letter-spacing:.3px}.timeframe-btn:hover{color:var(--text-primary);background:#ffffff0f;border-color:var(--glass-border)}.timeframe-btn.timeframe-active,.timeframe-btn.timeframe-active:hover{color:var(--accent-cyan);background:var(--accent-cyan-dim);border-color:#00e5ff33;box-shadow:0 0 12px #00e5ff1a}.chart-tooltip b{font-weight:600}.chart-tooltip .val-up{color:var(--green-primary)}.chart-tooltip .val-down{color:var(--red-primary)}.tooltip-hint{color:var(--text-dim);font-style:italic}.floating-tooltip{position:absolute;z-index:15;pointer-events:none;background:var(--tooltip-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--tooltip-border);border-radius:10px;padding:10px 14px;min-width:140px;box-shadow:var(--glass-shadow);font-family:var(--font-mono);font-size:12px;animation:tooltipFadeIn .08s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.floating-tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:2px 0}.floating-tooltip-label{color:var(--text-dim);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;min-width:24px}.floating-tooltip-value{font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.floating-tooltip-value.val-up{color:var(--green-primary)}.floating-tooltip-value.val-down{color:var(--red-primary)}.floating-tooltip-divider{height:1px;background:var(--glass-border);margin:4px 0}.expanded-chart-container{flex:1;position:relative}.expanded-chart-container canvas{filter:drop-shadow(0 0 1px rgba(0,200,83,.12)) drop-shadow(0 0 1px rgba(255,23,68,.12))}.chart-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:14px}.chart-tools{display:flex;align-items:center;gap:4px;padding:4px 16px;border-bottom:1px solid var(--glass-border)}.chart-tool-wrapper{position:relative}.chart-tool-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;background:none;border:1px solid transparent;border-radius:7px;color:var(--text-dim);cursor:pointer;transition:all var(--transition-fast);position:relative}.chart-tool-btn:hover{color:var(--text-primary);background:#ffffff0f;border-color:var(--glass-border)}.chart-tool-btn--open{color:var(--accent-cyan);background:var(--accent-cyan-dim);border-color:#00e5ff26}.chart-tool-btn--active:after{content:"";position:absolute;bottom:1px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 6px var(--accent-cyan)}.chart-tool-btn--text{font-family:var(--font-mono);font-size:11px;font-weight:700;width:auto;padding:0 8px;letter-spacing:.5px}.chart-tool-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:12px;box-shadow:var(--glass-shadow);z-index:1000;padding:8px 0;animation:panelSlideIn .15s cubic-bezier(.4,0,.2,1)}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alertSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.chart-tool-panel--compare{min-width:240px}.snapshot-toast{position:absolute;top:calc(100% + 6px);right:0;white-space:nowrap;background:var(--green-primary);color:#000;font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;z-index:10;animation:panelFadeIn .15s ease-out;pointer-events:none}.expanded-chart-container.snip-active{cursor:crosshair}.snip-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;cursor:crosshair;background:#00000040;touch-action:none}.snip-selection{position:absolute;border:2px dashed var(--green-primary);background:#00c8530f;box-shadow:0 0 0 9999px #00000059;pointer-events:none}.snip-hint{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:5px 14px;background:#000000bf;color:#fff;font-size:12px;font-weight:500;border-radius:6px;pointer-events:none;white-space:nowrap;animation:panelFadeIn .15s ease-out}@keyframes panelFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chart-tool-panel-title{font-size:9px;font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;padding:6px 16px 8px}.chart-tool-panel-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:8px 16px;background:none;border:none;color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);text-align:left}.chart-tool-panel-item:hover{background:#ffffff0f;color:var(--text-primary)}.chart-tool-panel-item.active{color:var(--accent-cyan);background:var(--accent-cyan-dim)}.chart-tool-panel-item.danger{color:var(--red-primary)}.chart-tool-panel-item.danger:hover{background:#ff17441a}.chart-tool-panel-item-label{font-weight:500;font-size:12px}.chart-tool-panel-item-desc{font-size:10px;color:var(--text-dim);margin-top:1px}.chart-tool-panel-item.active .chart-tool-panel-item-desc{color:#00e5ff80}.chart-tool-panel-divider{height:1px;background:var(--glass-border);margin:4px 0}.chart-tool-compare-active{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.chart-tool-compare-active button{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.chart-tool-compare-active button:hover{color:var(--red-primary)}.chart-tool-compare-search{padding:6px 10px 8px}.chart-tool-compare-input{width:100%;background:#ffffff0f;border:1px solid var(--border-hover);color:var(--text-primary);font-size:12px;font-family:var(--font-mono);padding:6px 10px;border-radius:5px;outline:none;box-sizing:border-box}.chart-tool-compare-input:focus{border-color:var(--accent-cyan)}.chart-tool-compare-suggestions{list-style:none;margin:6px 0 0;padding:0;max-height:200px;overflow-y:auto}.chart-tool-compare-suggestion{display:flex;align-items:center;gap:8px;padding:6px 4px;cursor:pointer;border-radius:4px;transition:background .1s ease}.chart-tool-compare-suggestion:hover,.chart-tool-compare-suggestion.active{background:#ffffff0f}.chart-tool-compare-symbol{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-primary);min-width:50px}.chart-tool-compare-name{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expanded-chart-container.drawing-active{cursor:crosshair}.draw-mode-badge{position:absolute;top:8px;left:50%;transform:translate(-50%);background:#ffeb3b26;border:1px solid rgba(255,235,59,.3);color:#ffeb3b;font-size:11px;font-family:var(--font-mono);padding:4px 12px;border-radius:6px;display:flex;align-items:center;gap:8px;z-index:10;pointer-events:auto;white-space:nowrap}.draw-mode-cancel{background:none;border:none;color:#ffeb3bb3;font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.draw-mode-cancel:hover{color:#ff1744}.draw-measure{color:#ffffffe6;font-weight:600;letter-spacing:.01em}.alert-wrapper{position:relative}.expanded-alert-btn{background:none;border:1px solid var(--glass-border);color:var(--text-dim);cursor:pointer;width:30px;height:30px;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:4px;transition:all var(--transition-fast)}.expanded-alert-btn:hover{color:var(--text-primary)}.expanded-alert-btn.has-alerts{color:#ffab00}.alert-count{font-size:9px;font-family:var(--font-mono);background:#ffab00;color:#000;border-radius:8px;padding:0 4px;min-width:14px;text-align:center;font-weight:700;line-height:14px}.alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199}.alert-popover{position:absolute;top:100%;left:0;margin-top:6px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:12px;padding:12px;z-index:200;min-width:210px;box-shadow:var(--glass-shadow);animation:panelSlideIn .15s cubic-bezier(.4,0,.2,1)}.alert-popover-title{font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.alert-popover-row{display:flex;gap:4px;align-items:center}.alert-direction{background:#ffffff0f;border:1px solid var(--border-subtle);color:var(--text-primary);font-size:11px;font-family:var(--font-mono);padding:4px 6px;border-radius:4px;cursor:pointer}.alert-price-input{background:#ffffff0f;border:1px solid var(--border-subtle);color:var(--text-primary);font-size:12px;font-family:var(--font-mono);padding:4px 8px;border-radius:4px;width:80px;outline:none}.alert-price-input:focus{border-color:#ffab00}.alert-add-btn{background:#ffab0026;border:1px solid rgba(255,171,0,.3);color:#ffab00;font-size:11px;font-family:var(--font-mono);font-weight:600;padding:4px 10px;border-radius:4px;cursor:pointer;transition:background .15s}.alert-add-btn:hover{background:#ffab0040}.alert-list{margin-top:8px;border-top:1px solid var(--border-subtle);padding-top:6px}.alert-list-item{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);padding:2px 0}.alert-remove{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.alert-remove:hover{color:var(--red-primary)}.sub-chart-pane{position:relative;border-top:1px solid var(--glass-border);background:#00000026}[data-theme=light] .sub-chart-pane{background:#00000005}.sub-chart-label{position:absolute;top:6px;left:10px;z-index:2;font-size:10px;font-family:var(--font-mono);font-weight:600;color:var(--text-dim);pointer-events:none;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);padding:2px 8px;border-radius:4px;border:1px solid var(--glass-border)}.skeleton-grid{display:contents}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);height:260px;display:flex;flex-direction:column;padding:16px;gap:12px;overflow:hidden}.skeleton-card-header{display:flex;align-items:center;gap:10px}.skeleton-card-titles{display:flex;flex-direction:column;gap:4px}.skeleton-card-chart{flex:1;min-height:0}.skeleton-card-footer{display:flex;align-items:center;justify-content:space-between}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.3}.empty-state-title{font-size:18px;font-weight:500;margin-bottom:8px;color:var(--text-primary)}.empty-state-message{font-size:14px;color:var(--text-secondary);max-width:400px;line-height:1.5}.ticker-sidebar{position:relative;flex-shrink:0;background:var(--bg-card);border-right:1px solid var(--border-subtle);transition:width .25s ease;overflow:visible}@media (min-width: 1025px){.ticker-sidebar{position:sticky;top:0;align-self:flex-start;height:100vh;z-index:10}}.ticker-sidebar--open{width:320px}.ticker-sidebar--closed{width:0;border-right:none}@media (min-width: 1025px){.ticker-sidebar--closed{width:32px;background:transparent}}.ticker-sidebar--closed .ticker-sidebar-content{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility 0s .15s}.ticker-sidebar-toggle{position:absolute;top:12px;right:-28px;z-index:5;width:24px;height:24px;background:var(--bg-card);border:1px solid var(--border-subtle);border-left:none;border-radius:0 6px 6px 0;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;transition:background .15s ease,color .15s ease,width .2s ease,height .2s ease}.ticker-sidebar-toggle:hover{background:var(--bg-card-hover);color:var(--text-primary)}.ticker-sidebar-toggle--collapsed{top:0;right:0;width:32px;height:auto;padding:10px 4px;flex-direction:column;gap:6px;border-radius:0 8px 8px 0;background:#1e1e32f2;border:1px solid rgba(100,100,180,.3);border-left:none;color:#a0a0dce6}.ticker-sidebar-toggle--collapsed:hover{background:#282846;border-color:#7878c880;color:#fff}.ticker-sidebar-toggle--collapsed .toggle-icon{font-size:10px}.ticker-sidebar-toggle--collapsed .toggle-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;font-weight:600;letter-spacing:1px;font-family:var(--font-mono)}.ticker-sidebar-content{width:320px;min-width:320px;display:flex;flex-direction:column;height:100%;overflow:hidden;opacity:1;transition:opacity .15s ease .1s}.ticker-sidebar-header{padding:14px 14px 10px;border-bottom:1px solid var(--border-subtle)}.ticker-sidebar-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ticker-sidebar-title{font-size:13px;font-weight:700;color:var(--text-primary);letter-spacing:0}.ticker-sidebar-search{width:120px;padding:5px 10px;font-size:12px;font-family:var(--font-mono);color:var(--text-primary);background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:8px;outline:none;transition:border-color .15s,background .15s}.ticker-sidebar-search:focus{border-color:var(--border-hover);background:#ffffff12}.ticker-sidebar-search::placeholder{color:var(--text-dim)}.ticker-sidebar-search-wrapper{position:relative}.ticker-sidebar-search-wrapper form{margin:0}.ticker-sidebar-suggestions{position:absolute;top:100%;right:-10px;width:300px;max-height:200px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-hover);border-radius:4px;margin-top:4px;padding:0;list-style:none;z-index:100}.ticker-sidebar-suggestion{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border-subtle)}.ticker-sidebar-suggestion:last-child{border-bottom:none}.ticker-sidebar-suggestion:hover,.ticker-sidebar-suggestion-active{background:var(--bg-card)}.ticker-sidebar-suggestion-star{background:none;border:none;color:var(--text-dim);font-size:11px;cursor:pointer;padding:0;line-height:1;flex-shrink:0;transition:color .15s ease}.ticker-sidebar-suggestion-star:hover,.ticker-sidebar-suggestion-star.starred{color:#f5c842}.ticker-sidebar-suggestion-symbol{font-size:11px;font-weight:600;color:var(--text-primary);font-family:var(--font-mono);min-width:40px;flex-shrink:0}.ticker-sidebar-suggestion-name{font-size:10px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ticker-sidebar-tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.ticker-sidebar-tab{flex:1;padding:8px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s}.ticker-sidebar-tab:hover{color:var(--text-secondary)}.ticker-sidebar-tab--active{color:var(--text-primary);border-bottom-color:var(--green-primary)}.ticker-sidebar-list{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.ticker-sidebar-list::-webkit-scrollbar{width:4px}.ticker-sidebar-list::-webkit-scrollbar-track{background:transparent}.ticker-sidebar-list::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.ticker-sidebar-list::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.ticker-row{position:relative;display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:52px;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;transition:background .15s ease;font-family:var(--font-mono);font-size:12px;border-bottom:1px solid rgba(255,255,255,.04)}.ticker-row:hover{background:var(--bg-card-hover)}.ticker-row:focus-visible{outline:1px solid var(--border-hover);outline-offset:-1px}.ticker-row-star{background:none;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:0;line-height:1;flex-shrink:0;transition:color .15s ease}.ticker-row-star:hover,.ticker-row-star.starred{color:#f5c842}.ticker-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ticker-row-info-top{display:flex;align-items:center;gap:5px}.ticker-row-symbol{font-size:13px;font-weight:700;color:var(--text-primary);white-space:nowrap}.ticker-row-name{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, sans-serif);font-weight:400}.ticker-row-news-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:1px;line-height:1;display:flex;align-items:center;flex-shrink:0;transition:color .15s ease}.ticker-row-news-btn:hover{color:#4fc3f7}.ticker-row .news-popover{top:100%;left:0;right:auto;width:300px;margin-top:4px}.ticker-row-right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.ticker-row-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border:none;border-radius:6px;font-size:12px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2;cursor:pointer;transition:filter .15s;min-width:72px}.ticker-row-badge:hover{filter:brightness(1.2)}.ticker-row-badge.badge-up{background:#00e67626;color:var(--green-primary)}.ticker-row-badge.badge-down{background:#ff525226;color:var(--red-primary)}.ticker-row-ext-line{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.ticker-row.flash-up{animation:card-flash-green .7s ease-out}.ticker-row.flash-down{animation:card-flash-red .7s ease-out}.ticker-row-badge.flash-up{animation:badge-flash-green .7s ease-out}.ticker-row-badge.flash-down{animation:badge-flash-red .7s ease-out}@keyframes badge-flash-green{0%{background:#00e67666}to{background:#00e67626}}@keyframes badge-flash-red{0%{background:#ff525266}to{background:#ff525226}}.ticker-row-price.flash-up{color:var(--green-primary);animation:price-flash .7s ease-out}.ticker-row-price.flash-down{color:var(--red-primary);animation:price-flash .7s ease-out}.ticker-row--dragging{opacity:.3}.ticker-row--dragover-above{box-shadow:inset 0 2px 0 0 var(--green-primary)}.ticker-row--dragover-below{box-shadow:inset 0 -2px 0 0 var(--green-primary)}.ticker-drag-ghost{display:flex;align-items:center;justify-content:center;height:36px;padding:0 18px;background:#00e5ff26;border:1px solid rgba(0,229,255,.3);color:#fff;font-family:var(--font-mono);font-size:13px;font-weight:700;border-radius:10px;box-shadow:0 8px 32px #00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);white-space:nowrap}.ticker-sidebar-empty{padding:24px 14px;text-align:center;color:var(--text-dim);font-size:12px}.ticker-sidebar-backdrop{display:none}.stock-card-symbol-group{display:flex;align-items:center;gap:6px}.stock-card-news-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px;line-height:1;display:flex;align-items:center;transition:color .15s ease}.stock-card-news-btn:hover{color:#4fc3f7}.stock-card-fav-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px;font-size:14px;line-height:1;transition:color .15s ease,transform .15s ease;opacity:0}.stock-card:hover .stock-card-fav-btn,.stock-card-fav-btn--active{opacity:1}.stock-card-fav-btn--active{color:gold}.stock-card-fav-btn:hover{color:gold;transform:scale(1.2)}@media (max-width: 1024px){.stock-card-fav-btn{opacity:1}}.stock-card-note-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:2px;font-size:13px;line-height:1;transition:color .15s ease,transform .15s ease;opacity:0;display:flex;align-items:center}.stock-card:hover .stock-card-note-btn,.stock-card-note-btn--active{opacity:1}.stock-card-note-btn--active{color:var(--green-primary)}.stock-card-note-btn:hover{color:var(--green-primary);transform:scale(1.15)}@media (max-width: 1024px){.stock-card-note-btn{opacity:1}}.stock-card-note-preview{font-size:10px;color:var(--text-dim);padding:3px 6px;margin:2px 0;background:var(--bg-card);border-left:2px solid var(--green-primary);border-radius:0 4px 4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.note-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;touch-action:none;overscroll-behavior:contain}.note-modal{width:100%;max-width:400px;background:var(--bg-primary);border:1px solid var(--border-hover);border-radius:var(--radius);box-shadow:0 12px 40px #00000080}.stock-note-popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.stock-note-popover-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stock-note-popover-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0;line-height:1}.stock-note-popover-close:hover{color:var(--text-primary)}.stock-note-textarea{width:100%;padding:10px 12px;background:transparent;border:none;border-bottom:1px solid var(--border-subtle);color:var(--text-primary);font-size:12px;font-family:inherit;resize:vertical;min-height:60px;outline:none;box-sizing:border-box}.stock-note-textarea::placeholder{color:var(--text-dim)}.stock-note-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 12px}.stock-note-save{padding:4px 14px;background:var(--green-primary);color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:opacity .15s}.stock-note-save:hover{opacity:.85}.stock-note-delete{padding:4px 14px;background:transparent;color:var(--red-primary);border:1px solid var(--red-primary);border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.stock-note-delete:hover{background:var(--red-primary);color:#fff}.expanded-note-btn{background:none;border:1px solid var(--glass-border);color:var(--text-dim);cursor:pointer;width:30px;height:30px;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.expanded-note-btn:hover,.expanded-note-btn.has-note{color:var(--green-primary);border-color:var(--green-primary)}.note-wrapper{position:relative;flex-shrink:0}.news-popover{position:absolute;top:44px;left:-1px;right:-1px;z-index:50;background:var(--bg-primary);border:1px solid var(--border-hover);border-radius:var(--radius);padding:0;box-shadow:0 8px 24px #0009;max-height:300px;overflow-y:auto}.news-popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.news-popover-title{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.news-popover-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0;line-height:1;display:flex;align-items:center;transition:color .15s ease}.news-popover-close:hover{color:var(--text-primary)}.news-popover-item{display:block;padding:10px 12px;text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:background .1s ease}.news-popover-item:last-child{border-bottom:none}.news-popover-item:hover{background:var(--bg-card)}.news-popover-headline{display:block;font-size:12px;color:var(--text-primary);line-height:1.4;margin-bottom:3px}.news-popover-meta{font-size:10px;color:var(--text-dim);font-family:var(--font-mono)}.expanded-news-btn{background:none;border:1px solid var(--glass-border);color:var(--text-dim);width:30px;height:30px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.expanded-news-btn:hover{background:#ffffff0f;border-color:var(--border-hover);color:var(--text-primary)}.expanded-news-btn.active{background:var(--accent-cyan-dim);border-color:#00e5ff33;color:var(--accent-cyan)}.expanded-news-panel{position:absolute;top:0;right:0;width:320px;height:100%;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-left:1px solid var(--glass-border);z-index:10;overflow-y:auto;animation:slide-in-right .25s cubic-bezier(.4,0,.2,1)}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.expanded-news-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-subtle);font-size:12px;font-weight:600;color:var(--text-secondary)}.expanded-news-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 4px;transition:color .15s ease}.expanded-news-close:hover{color:var(--text-primary)}.expanded-news-item{display:block;padding:12px 14px;text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:background .1s ease}.expanded-news-item:last-child{border-bottom:none}.expanded-news-item:hover{background:var(--bg-card)}.expanded-news-headline{display:block;font-size:13px;color:var(--text-primary);line-height:1.4;margin-bottom:4px}.expanded-news-meta{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.expanded-stats-btn{background:none;border:1px solid var(--glass-border);color:var(--text-dim);width:30px;height:30px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.expanded-stats-btn:hover{background:#ffffff0f;border-color:var(--border-hover);color:var(--text-primary)}.expanded-stats-btn.active{background:var(--accent-cyan-dim);border-color:#00e5ff33;color:var(--accent-cyan)}.panel-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.expanded-stats-panel{position:absolute;top:0;right:0;width:300px;height:100%;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-left:1px solid var(--glass-border);z-index:11;overflow-y:auto;animation:slide-in-right .25s cubic-bezier(.4,0,.2,1)}.expanded-stats-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-subtle);font-size:12px;font-weight:600;color:var(--text-secondary);position:sticky;top:0;background:var(--bg-primary);z-index:1}.expanded-stats-close{background:none;border:none;color:var(--text-dim);font-size:16px;cursor:pointer;padding:0 4px;transition:color .15s ease}.expanded-stats-close:hover{color:var(--text-primary)}.expanded-stats-loading{padding:24px 14px;text-align:center;font-size:12px;color:var(--text-dim)}.expanded-stats-table{padding:4px 0}.stats-row{display:flex;justify-content:space-between;align-items:center;padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.03);transition:background .1s ease}.stats-row:hover{background:var(--bg-card)}.stats-label{font-size:12px;color:var(--text-secondary)}.stats-value{font-size:12px;font-family:var(--font-mono);color:var(--text-primary);text-align:right}.stats-green{color:var(--green-primary)}.stats-red{color:var(--red-primary)}.stats-highlight{color:#4fc3f7;font-weight:600}.heatmap-main{flex:1 0 auto;padding:8px}.heatmap-container{position:relative;width:100%;height:100%;min-height:500px;border-radius:10px;overflow:hidden;background:#0a0a0f;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.heatmap-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-dim);font-size:14px}.heatmap-skeleton{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:3px;width:100%;height:100%;padding:4px}.heatmap-skeleton-cell{border-radius:4px;min-height:0}.heatmap-skeleton-cell--0{grid-column:span 2;grid-row:span 2}.heatmap-skeleton-cell--1,.heatmap-skeleton-cell--2,.heatmap-skeleton-cell--3,.heatmap-skeleton-cell--4{grid-column:span 1}.heatmap-sector{position:absolute;overflow:hidden;transition:opacity .2s ease}.heatmap-sector--dimmed{opacity:.35}.heatmap-sector--active{z-index:1}.heatmap-sector--active .heatmap-sector-label{background:linear-gradient(180deg,#ffffff1f,#00000080);color:#fff}.heatmap-sector-label{position:absolute;top:0;left:0;right:0;height:18px;padding:2px 6px;font-size:9.5px;font-weight:700;color:#ffffffd9;background:linear-gradient(180deg,#000000b3,#0006);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2;text-transform:uppercase;letter-spacing:.8px}.heatmap-industry{position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:2px;overflow:hidden}.heatmap-industry-label{position:absolute;top:0;left:0;right:0;height:13px;padding:1px 4px;font-size:7.5px;font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#00000040;z-index:1}.heatmap-cell{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid rgba(0,0,0,.5);border-radius:3px;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.heatmap-cell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,rgba(255,255,255,.08) 0%,transparent 40%,transparent 80%,rgba(0,0,0,.12) 100%);pointer-events:none;border-radius:inherit}.heatmap-cell:hover,.heatmap-cell--hovered{transform:scale(1.03);z-index:3;border-color:#fff9;box-shadow:0 0 20px #ffffff26,inset 0 0 20px #ffffff0d}.heatmap-cell-symbol{font-weight:700;color:#fff;line-height:1.1;text-shadow:0 1px 4px rgba(0,0,0,.7);letter-spacing:.3px}.heatmap-cell-change{font-weight:600;color:#ffffffe0;line-height:1.1;text-shadow:0 1px 3px rgba(0,0,0,.6);font-variant-numeric:tabular-nums}.heatmap-cell-name{color:#ffffff80;line-height:1.1;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heatmap-legend{position:absolute;top:4px;right:6px;display:flex;align-items:center;gap:4px;z-index:4;padding:3px 7px;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:5px;border:1px solid rgba(255,255,255,.08)}.heatmap-legend-label{font-size:9px;color:#ffffff80;font-weight:500}.heatmap-legend-bar{width:100px;height:8px;border-radius:4px;background:linear-gradient(90deg,#b4141e,#50161a,#141416,#0f3c1e,#00a03c)}.heatmap-tooltip{position:absolute;z-index:10;width:250px;background:#0a0a10f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding-bottom:4px;box-shadow:0 8px 32px #0009;pointer-events:none}.heatmap-tooltip-close{display:none}.heatmap-tooltip-featured{padding:8px 10px 6px;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff0a;border-radius:8px 8px 0 0}.heatmap-tooltip-featured-top{display:flex;align-items:baseline;gap:8px}.heatmap-tooltip-featured-symbol{font-size:16px;font-weight:800;color:#fff;letter-spacing:.3px}.heatmap-tooltip-featured-price{font-size:15px;font-weight:600;color:#ffffffd9;font-variant-numeric:tabular-nums}.heatmap-tooltip-featured-change{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.heatmap-tooltip-featured-change.positive{color:#00c853}.heatmap-tooltip-featured-change.negative{color:#ff1744}.heatmap-tooltip-featured-name{font-size:10.5px;color:#ffffff73;margin-top:2px}.heatmap-tooltip-header{padding:5px 10px 4px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#ffffff80;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:2px}.heatmap-tooltip-industry{padding:4px 10px 1px;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:#ffffff59;border-top:1px solid rgba(255,255,255,.04);margin-top:2px}.heatmap-tooltip-row{display:flex;align-items:center;gap:6px;padding:2px 10px;font-size:11px;line-height:1.6}.heatmap-tooltip-row--active{background:#ffffff12}.heatmap-tooltip-symbol{font-weight:700;color:#ffffffd9;width:50px;flex-shrink:0}.heatmap-tooltip-row--active .heatmap-tooltip-symbol{color:#fff}.heatmap-tooltip-price{color:#ffffff73;flex:1;text-align:right;font-variant-numeric:tabular-nums}.heatmap-tooltip-change{width:58px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.heatmap-tooltip-change.positive{color:#00c853}.heatmap-tooltip-change.negative{color:#ff1744}[data-theme=light] .heatmap-container{background:#f5f5f8}[data-theme=light] .heatmap-sector-label{color:#000000d9;background:linear-gradient(180deg,#ffffffd9,#ffffff80)}[data-theme=light] .heatmap-sector--active .heatmap-sector-label{background:linear-gradient(180deg,#fffffff2,#fff9);color:#111}[data-theme=light] .heatmap-industry{border-color:#00000014}[data-theme=light] .heatmap-industry-label{color:#00000080;background:#fff6}[data-theme=light] .heatmap-cell{border-color:#fff9}[data-theme=light] .heatmap-cell:after{background:linear-gradient(160deg,rgba(255,255,255,.15) 0%,transparent 40%,transparent 80%,rgba(0,0,0,.06) 100%)}[data-theme=light] .heatmap-cell:hover,[data-theme=light] .heatmap-cell--hovered{border-color:#0006;box-shadow:0 0 16px #0000001f,inset 0 0 12px #fff3}[data-theme=light] .heatmap-cell-symbol{color:#111;text-shadow:0 1px 2px rgba(255,255,255,.5)}[data-theme=light] .heatmap-cell-change{color:#000c;text-shadow:0 1px 2px rgba(255,255,255,.4)}[data-theme=light] .heatmap-cell-name{color:#00000073}[data-theme=light] .heatmap-legend{background:#ffffffbf;border-color:#0000001a}[data-theme=light] .heatmap-legend-label{color:#00000080}[data-theme=light] .heatmap-legend-bar{background:linear-gradient(90deg,#dc6464,#ebbebe,#f0f0f5,#bee6c3,#50c864)}[data-theme=light] .heatmap-tooltip{background:#fffffff5;border-color:#0000001f;box-shadow:0 8px 32px #00000026}[data-theme=light] .heatmap-tooltip-featured{border-bottom-color:#00000014;background:#00000008}[data-theme=light] .heatmap-tooltip-featured-symbol{color:#111}[data-theme=light] .heatmap-tooltip-featured-price{color:#000000bf}[data-theme=light] .heatmap-tooltip-featured-name{color:#00000073}[data-theme=light] .heatmap-tooltip-header{color:#00000080;border-bottom-color:#00000014}[data-theme=light] .heatmap-tooltip-industry{color:#0006;border-top-color:#0000000f}[data-theme=light] .heatmap-tooltip-row--active{background:#0000000d}[data-theme=light] .heatmap-tooltip-symbol{color:#000c}[data-theme=light] .heatmap-tooltip-row--active .heatmap-tooltip-symbol{color:#111}[data-theme=light] .heatmap-tooltip-price{color:#00000073}[data-theme=light] .heatmap-tooltip-featured-change.positive{color:#00a846}[data-theme=light] .heatmap-tooltip-featured-change.negative{color:#e01535}[data-theme=light] .heatmap-tooltip-change.positive{color:#00a846}[data-theme=light] .heatmap-tooltip-change.negative{color:#e01535}[data-theme=light] .home-heatmap-cell-name{color:#000c}[data-theme=light] .home-heatmap-cell-change.change-up,[data-theme=light] .home-heatmap-cell-change.change-down{color:#000000d9}[data-theme=light] .home-card--hero-up{background:linear-gradient(135deg,rgba(0,168,70,.05) 0%,var(--bg-card) 50%);border-color:#00a84633;animation-name:hero-glow-green-light}[data-theme=light] .home-card--hero-down{background:linear-gradient(135deg,rgba(224,21,53,.05) 0%,var(--bg-card) 50%);border-color:#e0153533;animation-name:hero-glow-red-light}@keyframes hero-glow-green-light{0%,to{box-shadow:0 0 0 1px #00a8461a,0 0 20px -5px #00a84614}50%{box-shadow:0 0 0 1px #00a8462e,0 0 30px -3px #00a84626}}@keyframes hero-glow-red-light{0%,to{box-shadow:0 0 0 1px #e015351a,0 0 20px -5px #e0153514}50%{box-shadow:0 0 0 1px #e015352e,0 0 30px -3px #e0153526}}.news-feed-main{flex:1 0 auto;padding:24px}.news-feed-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}.news-feed-title{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px;margin:0}.news-feed-updated{font-size:11px;font-family:var(--font-mono);color:var(--text-dim)}.news-feed-hero{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.news-feed-hero--single{grid-template-columns:1fr}.news-feed-hero-card{position:relative;display:block;height:280px;border-radius:var(--radius);overflow:hidden;text-decoration:none;cursor:pointer;border:1px solid var(--border-subtle);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.news-feed-hero-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0006;border-color:var(--border-hover)}.news-feed-hero-image{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-color:var(--bg-card);filter:brightness(.4);transition:filter .3s ease,transform .3s ease}.news-feed-hero-card:hover .news-feed-hero-image{filter:brightness(.5);transform:scale(1.03)}.news-feed-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(10,10,15,.95) 0%,rgba(10,10,15,.4) 50%,transparent 100%)}.news-feed-hero-content{position:absolute;bottom:0;left:0;right:0;padding:20px;z-index:1}.news-feed-publisher-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#fff;padding:3px 8px;border-radius:4px;margin-bottom:8px}.news-feed-hero-title{font-size:18px;font-weight:600;color:#fff;line-height:1.35;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-feed-hero-time{font-size:11px;font-family:var(--font-mono);color:#ffffff80}.news-feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.news-feed-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-subtle);border-left:3px solid var(--text-dim);border-radius:var(--radius);padding:16px;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease}.news-feed-card:hover{background:var(--bg-card-hover);border-color:var(--border-hover);transform:translateY(-1px)}.news-feed-card--with-image{border-left:1px solid var(--border-subtle);padding:0;overflow:hidden}.news-feed-card--with-image:hover{border-left-color:var(--border-hover)}.news-feed-card--with-image .news-feed-card-body{padding:12px 16px 16px}.news-feed-card-image{width:100%;height:140px;background-size:cover;background-position:center;background-color:var(--bg-card-hover);border-bottom:1px solid var(--border-subtle);transition:filter .2s ease}.news-feed-card--with-image:hover .news-feed-card-image{filter:brightness(1.1)}.news-feed-card-body{display:flex;flex-direction:column;gap:6px;flex:1}.news-feed-card-publisher{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.news-feed-card-title{font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.news-feed-card-time{font-size:11px;font-family:var(--font-mono);color:var(--text-dim);margin-top:auto}.news-feed-skeleton{display:flex;flex-direction:column;gap:24px}.news-feed-skeleton-hero{display:grid;grid-template-columns:1fr 1fr;gap:16px}.news-feed-skeleton-hero-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;min-height:280px;overflow:hidden}.news-feed-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.news-feed-skeleton-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;min-height:160px;overflow:hidden}.news-feed-empty{text-align:center;padding:80px 24px;color:var(--text-dim);font-size:14px}.earnings-main{padding:24px;display:flex;flex-direction:column;gap:16px;max-width:1400px;margin:0 auto;width:100%}.ecal{display:flex;flex-direction:column;gap:16px}.ecal-header{display:flex;align-items:center;justify-content:space-between}.ecal-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.ecal-nav{display:flex;align-items:center;gap:6px}.ecal-nav-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-secondary);font-size:20px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.ecal-nav-btn:hover{border-color:var(--border-hover);color:var(--text-primary);background:#ffffff0a}.ecal-today-btn{padding:4px 10px;background:#00c8531a;border:1px solid rgba(0,200,83,.25);border-radius:4px;color:var(--green-primary);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.ecal-today-btn:hover{background:#00c8532e;border-color:#00c85366}.ecal-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ecal-day{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;background:#12121a66;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;color:inherit;font-family:inherit}.ecal-day:hover{border-color:var(--border-hover);background:#ffffff08}.ecal-day--selected{border-color:#64b4ff99!important;background:#64b4ff14!important;box-shadow:0 0 14px #64b4ff26,inset 0 0 12px #64b4ff0a!important}.ecal-day--today{border-top:2px solid var(--green-primary)}.ecal-day--today.ecal-day--selected{border-color:var(--green-primary)!important;border-top:2px solid var(--green-primary);background:#00c85314!important;box-shadow:0 0 14px #00c85326,inset 0 0 12px #00c8530a!important}.ecal-day-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.ecal-day--selected .ecal-day-name{color:var(--text-secondary)}.ecal-day--today .ecal-day-name{color:var(--green-primary)}.ecal-day-date{font-size:13px;font-weight:600;color:var(--text-secondary)}.ecal-day--selected .ecal-day-date{color:var(--text-primary)}.ecal-day-count{font-size:10px;font-family:var(--font-mono);color:var(--text-secondary);background:#64b4ff14;padding:2px 8px;border-radius:10px;margin-top:2px}.ecal-day-count--empty{color:var(--text-dim);background:#ffffff08}.ecal-day-label{font-size:13px;font-weight:600;color:var(--text-secondary);padding:0 4px}.ecal-list{display:flex;flex-direction:column;gap:6px;max-height:480px;overflow-y:auto}.ecal-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;background:#12121a66;border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;text-align:left;color:var(--text-primary);font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s}.ecal-card:hover{border-color:var(--border-hover);background:#ffffff08;box-shadow:0 2px 8px #0003}.ecal-card-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.ecal-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ecal-card-top-row{display:flex;align-items:baseline;gap:8px}.ecal-card-symbol{font-size:15px;font-weight:700;color:var(--text-primary);flex-shrink:0}.ecal-card-name{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecal-card-highlight{font-size:11px;color:var(--text-dim);margin:0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecal-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.ecal-card-price{font-size:14px;font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.ecal-card-mcap{font-size:12px;font-family:var(--font-mono);color:var(--text-secondary)}.ecal-card-change{font-size:12px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ecal-card-change.positive{color:var(--green-primary)}.ecal-card-change.negative{color:var(--red-primary)}.ecal-empty{text-align:center;color:var(--text-dim);font-size:13px;padding:40px 16px;opacity:.7}.movers-main{flex:1 0 auto;padding:24px;max-width:1100px;margin:0 auto;width:100%}.movers-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.movers-header-left{display:flex;align-items:center;gap:12px}.movers-title{font-size:20px;font-weight:700;color:var(--text-primary)}.movers-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.movers-status-dot{width:6px;height:6px;border-radius:50%;background:var(--green-primary);animation:movers-pulse 2s ease-in-out infinite}.movers-status-dot--market{background:#4fc3f7}.movers-status-dot--closed{background:var(--text-dim);animation:none}@keyframes movers-pulse{0%,to{opacity:1}50%{opacity:.4}}.movers-session-toggle{display:flex;gap:2px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:3px}.movers-session-btn{padding:6px 14px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.movers-session-btn:hover{color:var(--text-secondary)}.movers-session-btn.active{background:var(--green-dim);color:var(--green-primary);font-weight:600}.movers-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.movers-section{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.movers-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.movers-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.movers-section-title--gain{color:var(--green-primary)}.movers-section-title--lose{color:var(--red-primary)}.movers-section-count{font-size:10px;font-family:var(--font-mono);color:var(--text-dim);background:#ffffff0d;padding:1px 6px;border-radius:3px}.movers-list{display:flex;flex-direction:column}.movers-row{display:flex;align-items:center;gap:10px;padding:10px 16px;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.03);cursor:pointer;text-align:left;color:var(--text-primary);font-family:inherit;transition:background .12s}.movers-row:last-child{border-bottom:none}.movers-row:hover{background:#ffffff08}.movers-row-rank{font-size:11px;font-family:var(--font-mono);color:var(--text-dim);min-width:18px;text-align:right}.movers-row-info{display:flex;flex-direction:column;min-width:90px}.movers-row-symbol{font-size:13px;font-weight:600;color:var(--text-primary)}.movers-row-name{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.movers-row-data{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto}.movers-row-price{font-size:12px;font-family:var(--font-mono);color:var(--text-primary)}.movers-row-mcap{font-size:10px;color:var(--text-dim)}.movers-row-right{display:flex;flex-direction:column;align-items:flex-end;min-width:75px}.movers-row-change{font-size:12px;font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;padding:3px 10px;border-radius:6px;letter-spacing:.3px}.movers-row-change.positive{color:var(--green-primary);background:var(--green-dim);box-shadow:0 0 12px #00d66b26}.movers-row-change.negative{color:var(--red-primary);background:#ff29521a;box-shadow:0 0 12px #ff295226}.movers-row-volume{font-size:10px;color:var(--text-dim);font-family:var(--font-mono)}.movers-row.flash-up{animation:home-flash-green .7s ease-out}.movers-row.flash-down{animation:home-flash-red .7s ease-out}.movers-row-price.flash-up{color:var(--green-primary);animation:price-flash .7s ease-out}.movers-row-price.flash-down{color:var(--red-primary);animation:price-flash .7s ease-out}.movers-empty{padding:32px 16px;text-align:center;color:var(--text-dim);font-size:13px}.movers-footer{text-align:center;font-size:11px;color:var(--text-dim);padding:12px 0 4px}.movers-skeleton-row{height:44px;margin:4px 12px;background:#ffffff08;border-radius:6px;display:flex;align-items:center;gap:8px;padding:0 12px}[data-theme=light] .movers-skeleton-row{background:#00000008}.fav-main{flex:1 0 auto;padding:24px;max-width:1400px;margin:0 auto;width:100%}.fav-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.fav-title{font-size:18px;font-weight:600;color:var(--text-main);margin:0;display:flex;align-items:center;gap:8px}.fav-count{font-size:12px;font-weight:500;color:var(--text-dim);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:1px 8px}.fav-hint{font-size:12px;color:var(--text-dim);opacity:.7}.fav-card-wrap,.fav-card-wrap *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.fav-card-wrap{position:relative;touch-action:manipulation}.fav-card--held{border-radius:12px;outline:2px solid var(--accent-cyan, #00e5ff);outline-offset:-2px;animation:fav-held-pulse 1s ease-in-out infinite}@keyframes fav-held-pulse{0%,to{outline-color:var(--accent-cyan, #00e5ff);box-shadow:0 0 12px #00e5ff33}50%{outline-color:#00e5ff66;box-shadow:0 0 20px #00e5ff59}}.fav-card--dragging{opacity:.3;pointer-events:none}.fav-card--dragover{outline:2px solid var(--accent-cyan, #00e5ff);outline-offset:-2px;border-radius:12px;transform:scale(1.03);transition:transform .15s ease}.fav-card--dragover .stock-card{box-shadow:0 0 28px #00e5ff4d,inset 0 0 0 1px #00e5ff1f;background:#00e5ff0d}.fav-drag-ghost{border-radius:12px;background:var(--bg-card, #111);border:1px solid var(--accent-cyan, #00e5ff);box-shadow:0 12px 40px #00000080,0 0 20px #00e5ff1f;opacity:.92;transform-origin:center center;overflow:hidden}.fav-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center}.fav-empty-icon{color:var(--text-dim);opacity:.3;margin-bottom:20px}.fav-empty-text{font-size:16px;font-weight:500;color:var(--text-main);margin:0 0 8px}.fav-empty-sub{font-size:13px;color:var(--text-dim);margin:0}@media (max-width: 1024px){.fav-main{padding:16px}.fav-header{flex-direction:column;align-items:flex-start;gap:4px}}.futures-main{flex:1 0 auto;padding:24px;max-width:1400px;margin:0 auto;width:100%}.futures-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.futures-header-left{display:flex;align-items:center;gap:16px}.futures-tab-toggle{display:flex;gap:2px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:3px}.futures-tab-btn{padding:6px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.futures-tab-btn:hover{color:var(--text-secondary)}.futures-tab-btn.active{background:var(--green-dim);color:var(--green-primary);font-weight:600}.futures-status-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim)}.futures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:12px;max-width:100%}.econ-main{flex:1 0 auto;padding:24px;max-width:900px;margin:0 auto;width:100%}.econ-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.econ-header-left{display:flex;align-items:baseline;gap:12px}.econ-title{font-size:18px;font-weight:600;color:var(--text-primary)}.econ-event-count{font-size:12px;color:var(--text-dim);font-family:var(--font-mono)}.econ-filter{display:flex;gap:2px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:2px}.econ-filter-btn{padding:4px 12px;font-size:11px;font-weight:500;background:none;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;transition:all .15s ease}.econ-filter-btn:hover{color:var(--text-secondary)}.econ-filter-btn.active{background:var(--border-subtle);color:var(--text-primary)}.econ-next-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#00c8530f;border:1px solid rgba(0,200,83,.15);border-radius:8px;margin-bottom:16px}.econ-next-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);white-space:nowrap}.econ-next-title{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.econ-next-when{font-size:12px;font-family:var(--font-mono);color:var(--green-primary);white-space:nowrap}.econ-legend{display:flex;gap:16px;margin-bottom:16px;font-size:11px;color:var(--text-dim)}.econ-legend-item{display:flex;align-items:center;gap:6px}.econ-impact{width:8px;height:8px;border-radius:50%;flex-shrink:0}.econ-impact--high{background:#ff1744}.econ-impact--medium{background:#ff9800}.econ-impact--low{background:#555}.econ-timeline{display:flex;flex-direction:column;gap:0}.econ-empty{text-align:center;padding:48px 24px;color:var(--text-dim);font-size:13px}.econ-day-group{position:relative}.econ-day-group:before{content:"";position:absolute;left:15px;top:28px;bottom:0;width:1px;background:var(--border-subtle)}.econ-day-group:last-child:before{display:none}.econ-day-header{display:flex;align-items:center;gap:10px;padding:10px 0;position:relative;z-index:1}.econ-day-dot{width:10px;height:10px;border-radius:50%;background:var(--border-hover);border:2px solid var(--bg-primary);flex-shrink:0;margin-left:10px}.econ-day-header--today .econ-day-dot{background:var(--green-primary);box-shadow:0 0 6px #00c85366}.econ-day-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.econ-day-header--today .econ-day-label{color:var(--text-primary)}.econ-today-badge{font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:3px;background:#00c8531f;color:var(--green-primary);font-weight:600}.econ-day-count{font-size:11px;color:var(--text-dim);margin-left:auto;font-family:var(--font-mono)}.econ-day-events{padding-left:36px;padding-bottom:4px}.econ-event{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:6px;transition:background .1s ease}.econ-event:hover{background:var(--bg-card)}.econ-event--past{opacity:.5}.econ-event--released{opacity:1}.econ-event-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.econ-event-info{display:flex;align-items:baseline;gap:8px;min-width:0}.econ-event-title{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.econ-event--past .econ-event-title{color:var(--text-secondary)}.econ-event-time{font-size:11px;color:var(--text-dim);font-family:var(--font-mono);white-space:nowrap}.econ-event-data{display:flex;gap:16px;flex-shrink:0}.econ-data-cell{display:flex;flex-direction:column;align-items:flex-end;min-width:55px}.econ-data-label{font-size:9px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-dim)}.econ-data-value{font-size:12px;font-family:var(--font-mono);color:var(--text-primary)}.econ-actual .econ-data-value{color:var(--green-primary);font-weight:600}.econ-forecast .econ-data-value{color:#4fc3f7}.econ-previous .econ-data-value{color:var(--text-secondary)}.econ-footer{text-align:center;font-size:11px;color:var(--text-dim);padding:8px 0}.econ-skeleton{display:flex;flex-direction:column;gap:8px;padding-left:36px}.econ-skeleton-row{height:40px;background:var(--bg-card);border-radius:6px;display:flex;align-items:center;gap:10px;padding:0 14px}@media (max-width: 1200px) and (min-width: 1025px){.header-right .digest-banner,.header-right .digest-banner-spacer{display:none}}@media (max-width: 1024px){.header{grid-template-columns:1fr;gap:4px;padding:8px 12px}.header-left,.header-right,.header-desktop-search{display:none!important}.header-utility{display:flex!important;align-items:center;gap:8px}.sidebar-toggle-btn{display:flex}.header-utility .header-utility-search{flex:1;width:auto;min-width:0}.header-utility .auth-signin-btn{padding:4px 10px;font-size:11px;flex-shrink:0;white-space:nowrap}.header-utility .hotkeys-wrapper{display:block;flex-shrink:0}.header-utility .hotkeys-btn{width:26px;height:26px;font-size:13px}.header-mobile-digest{display:block!important;overflow:hidden}.header-mobile-digest .digest-banner{width:100%;max-width:100%;border-radius:4px;padding:3px 8px;font-size:11px;overflow:hidden;box-sizing:border-box}.header-mobile-digest .digest-banner-time{font-size:9px}.header-mobile-digest .digest-banner-spacer{display:none}.header-right .digest-banner,.header-right .digest-banner-spacer{display:none!important}.header-tabs-container{display:block!important;overflow:hidden;position:relative}.header-tabs-container .header-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px;padding-bottom:2px}.header-tabs-container .header-tabs::-webkit-scrollbar{display:none}.header-tabs-container .header-tab{flex-shrink:0;font-size:13px;padding:5px 12px}.header-tabs-scroll-hint{position:absolute;right:0;top:0;bottom:2px;display:flex;align-items:center;padding:0 5px 0 16px;font-size:15px;font-weight:600;color:#ffffffbf;z-index:3;pointer-events:none;background:linear-gradient(to right,transparent,rgba(10,10,15,.95) 40%);animation:scroll-hint-pulse 1.6s ease-in-out infinite}@keyframes scroll-hint-pulse{0%,to{opacity:.5}50%{opacity:1}}.search-suggestions{left:0;right:auto;min-width:min(360px,calc(100vw - 24px));max-width:calc(100vw - 24px)}.suggestion-symbol{min-width:44px;font-size:12px}.suggestion-name{font-size:11px}.suggestion-exchange{display:none}.search-suggestion{gap:6px;padding:7px 10px}.hotkeys-popover{min-width:0}.ticker-sidebar,.ticker-sidebar.ticker-sidebar--open,.ticker-sidebar.ticker-sidebar--closed{position:fixed;top:0;left:0;bottom:0;width:300px;height:100vh;height:100dvh;z-index:50;box-shadow:4px 0 24px #00000080;overscroll-behavior:contain}.ticker-sidebar-content{width:300px;min-width:300px}.ticker-sidebar.ticker-sidebar--closed{width:0;box-shadow:none}.ticker-sidebar-toggle{display:none}.ticker-sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080}.expanded-overlay{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) 0;overscroll-behavior:contain}.expanded-modal{width:100%;height:100%;max-width:none;border-radius:0;touch-action:pan-x pan-y;overscroll-behavior:contain}.expanded-chart-container{touch-action:none}.expanded-header{flex-direction:column;align-items:flex-start;padding:10px 44px 10px 14px;gap:2px}.expanded-header-left{width:100%;align-items:center;gap:6px;flex-wrap:wrap}.expanded-header h2{font-size:16px;flex-shrink:0}.expanded-header-name{font-size:12px;flex:0 1 auto;min-width:0;max-width:50%}.expanded-header-center{width:100%;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:0}.expanded-header-price{font-size:18px}.expanded-header-change{font-size:13px}.expanded-header-abs{font-size:11px}.expanded-header-ext{font-size:11px;opacity:.75}.expanded-header-volume{font-size:11px;opacity:.6}.expanded-close{position:absolute;top:8px;right:10px}.alert-popover{left:auto;right:0}.chart-tooltip{display:none}.chart-toolbar{padding:4px 10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.chart-toolbar::-webkit-scrollbar{display:none}.timeframe-groups,.timeframe-bar{flex-shrink:0}.timeframe-btn{padding:3px 7px;font-size:11px;white-space:nowrap;flex-shrink:0}.expanded-stats-panel{width:55%;min-width:220px;background:#0a0a0ff2}.expanded-news-panel{width:100%}.econ-main{padding:16px}.econ-header{flex-direction:column;align-items:flex-start;gap:10px}.econ-next-banner{flex-wrap:wrap;gap:6px}.econ-event{flex-direction:column;align-items:flex-start;gap:6px}.econ-event-data{padding-left:18px;gap:12px}.econ-data-cell{align-items:flex-start}.econ-day-group:before{left:15px}.earnings-main{height:auto;overflow-y:visible;padding:16px;gap:12px}.earnings-main .smartmoney-tab-toggle{width:auto}}@media (max-width: 480px){.heatmap-tooltip{position:fixed;bottom:0;left:0;right:0;top:auto!important;width:100%!important;max-height:28vh;overflow-y:auto;border-radius:12px 12px 0 0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:auto;z-index:100;padding:6px 12px 10px}.heatmap-tooltip-close{display:block;position:absolute;top:4px;right:10px;background:none;border:none;color:#ffffff80;font-size:20px;padding:0 4px;cursor:pointer}.heatmap-tooltip-featured{padding:4px 8px}.heatmap-tooltip-header{font-size:10px;padding:3px 8px 2px}.heatmap-tooltip-row{font-size:11px;padding:1px 8px;line-height:1.5}.heatmap-sector--dimmed{opacity:1}.heatmap-cell{gap:0;border-radius:2px}.heatmap-cell-symbol{letter-spacing:0}.heatmap-cell-name{display:none}.heatmap-sector-label{font-size:7px;height:14px;padding:1px 4px}.heatmap-industry-label{font-size:6px;height:10px;padding:0 3px;letter-spacing:.3px}.heatmap-industry{border-color:#ffffff08}.heatmap-tooltip-industry{font-size:7px;padding:3px 8px 1px}.stock-grid{padding:12px;gap:12px;grid-template-columns:1fr}.news-feed-main{padding:12px}.news-feed-hero{grid-template-columns:1fr;gap:12px;margin-bottom:16px}.news-feed-hero-card{height:200px}.news-feed-hero-title{font-size:15px;-webkit-line-clamp:2}.news-feed-grid{grid-template-columns:1fr;gap:12px}.news-feed-card-image{height:120px}.news-feed-skeleton-hero{grid-template-columns:1fr}.news-feed-skeleton-hero-card{min-height:200px}.news-feed-skeleton-grid{grid-template-columns:1fr}.earnings-main{height:auto;overflow-y:visible;padding:16px 12px;gap:12px}.ecal-strip{grid-template-columns:repeat(7,1fr);gap:4px}.ecal-day{padding:8px 2px;border-radius:6px}.ecal-day-name{font-size:10px}.ecal-day-date{font-size:11px}.ecal-day-count{font-size:9px;padding:1px 5px}.ecal-card{padding:12px;gap:10px}.ecal-card-left{gap:10px}.ecal-card-symbol{font-size:14px}.ecal-card-name{font-size:12px}.ecal-card-highlight{font-size:10px}.ecal-card-price{font-size:13px}.ecal-card-change{font-size:11px}.movers-main{padding:16px 12px}.movers-header{flex-direction:column;align-items:flex-start;gap:10px}.movers-title{font-size:16px}.movers-columns{grid-template-columns:1fr;gap:12px}.movers-row-name{max-width:100px}.futures-main{padding:16px 12px}.futures-grid{grid-template-columns:1fr}.stock-card-symbol{font-size:18px;font-weight:700;letter-spacing:.8px}.stock-card-name{font-size:13px}.stock-card-price{font-size:26px;font-weight:700}.stock-card:hover{transform:none}.ticker-sidebar-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.expanded-header h2{font-size:14px}.expanded-header-price{font-size:16px}.chart-tools{padding:4px 10px;gap:3px}.chart-tool-btn{width:30px;height:26px}.chart-tool-btn--text{padding:0 6px;font-size:10px}.chart-tool-panel{position:fixed;left:10px;right:10px;top:auto;min-width:auto;max-height:60vh;overflow-y:auto}.chart-tool-panel--compare{min-width:auto}}.auth-signin-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-primary);font-size:12px;font-weight:600;font-family:var(--font-sans);padding:5px 14px;border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.auth-signin-btn:hover{border-color:var(--text-secondary);background:#ffffff0d}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000b3;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-modal{position:relative;background:var(--bg-card, #1a1a2e);border:1px solid var(--border-subtle);border-radius:12px;padding:32px;width:90vw;max-width:400px;box-shadow:0 16px 48px #00000080}.auth-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;line-height:1;padding:4px 8px}.auth-modal-close:hover{color:var(--text-primary)}.auth-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:1px solid var(--border-subtle)}.auth-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-size:14px;font-weight:600;font-family:var(--font-sans);padding:10px 0;cursor:pointer;transition:color .15s,border-color .15s}.auth-tab:hover{color:var(--text-secondary)}.auth-tab-active{color:var(--text-primary);border-bottom-color:#00c853}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.auth-input{background:var(--bg-primary, #0a0a0f);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 14px;font-size:14px;font-family:var(--font-sans);color:var(--text-primary);outline:none;transition:border-color .15s}.auth-input:focus{border-color:#00c853}.auth-error{background:#ff17441a;border:1px solid rgba(255,23,68,.3);border-radius:8px;padding:10px 14px;font-size:13px;color:#ff1744}.auth-btn{background:#00c853;color:#000;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:700;font-family:var(--font-sans);cursor:pointer;transition:background .15s}.auth-btn:hover{background:#00e676}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;font-size:13px;color:var(--text-dim);margin-top:16px}.auth-switch-btn{background:none;border:none;color:#00c853;font-size:13px;cursor:pointer;font-family:var(--font-sans);text-decoration:underline}.auth-switch-btn:hover{color:#00e676}.auth-success{text-align:center;padding:16px 0}.auth-success-icon{font-size:48px;color:#00c853;margin-bottom:12px}.auth-success h2{font-size:20px;color:var(--text-primary);margin:0 0 8px}.auth-success p{font-size:14px;color:var(--text-secondary);margin:0 0 20px;line-height:1.5}.user-menu-wrapper{position:relative}.user-avatar-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border-subtle);background:#00c85326;color:#00c853;font-size:13px;font-weight:700;font-family:var(--font-sans);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.user-avatar-btn:hover{border-color:#00c853;background:#00c85340}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:200;background:var(--bg-card, #1a1a2e);border:1px solid var(--border-subtle);border-radius:var(--radius, 8px);padding:12px 16px;min-width:200px;box-shadow:0 8px 24px #0006}.user-menu-email{font-size:13px;color:var(--text-primary);font-weight:600;margin-bottom:6px;word-break:break-all}.user-menu-tier{margin-bottom:10px}.user-menu-divider{height:1px;background:var(--border-subtle);margin:8px 0}.user-menu-signout{display:block;width:100%;background:none;border:none;color:var(--text-dim);font-size:13px;font-family:var(--font-sans);padding:6px 0;cursor:pointer;text-align:left;transition:color .15s}.user-menu-signout:hover{color:#ff1744}.app-footer{margin-top:auto;flex-shrink:0;border-top:1px solid var(--border-primary);background:var(--bg-card);padding:12px 24px;font-size:.75rem;color:var(--text-tertiary)}.app-footer-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.app-footer-links{display:flex;align-items:center;gap:8px}.app-footer-link{background:none;border:none;color:var(--text-secondary);font-size:.75rem;cursor:pointer;padding:0;text-decoration:none;font-family:inherit;transition:color .15s}.app-footer-link:hover{color:var(--green-primary)}.app-footer-sep{color:var(--text-tertiary);opacity:.4}.app-footer-copy{color:var(--text-dim)}.app-footer-brand{color:var(--text-secondary);font-weight:600}.contact-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:500;display:flex;align-items:center;justify-content:center;padding:24px;animation:contact-fade-in .2s ease-out;touch-action:none;overscroll-behavior:contain}@keyframes contact-fade-in{0%{opacity:0}to{opacity:1}}.contact-modal{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;width:100%;max-width:520px;padding:24px;box-shadow:0 16px 48px #0006;animation:contact-slide-in .25s ease-out}@keyframes contact-slide-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.contact-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.contact-modal-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.contact-modal-close{background:none;border:none;color:var(--text-tertiary);font-size:1.5rem;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.contact-modal-close:hover{color:var(--text-primary)}.contact-form{display:flex;flex-direction:column;gap:16px}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-field{display:flex;flex-direction:column;gap:6px}.contact-label{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.contact-input,.contact-textarea{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;padding:10px 12px;color:var(--text-primary);font-size:.85rem;font-family:inherit;outline:none;transition:border-color .15s}.contact-input:focus,.contact-textarea:focus{border-color:var(--green-primary)}.contact-textarea{resize:vertical;min-height:100px}.contact-error{color:#ff5252;font-size:.8rem;margin:0}.contact-submit{background:var(--green-primary);color:#000;border:none;border-radius:8px;padding:12px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.contact-submit:hover{opacity:.9}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-sent{text-align:center;padding:24px 0;display:flex;flex-direction:column;align-items:center;gap:12px}.contact-sent-icon{width:48px;height:48px;border-radius:50%;background:#00c85326;color:var(--green-primary);font-size:1.5rem;display:flex;align-items:center;justify-content:center}.contact-sent p{color:var(--text-secondary);margin:0;font-size:.9rem}.contact-sent-btn{background:var(--bg-primary);border:1px solid var(--border-primary);color:var(--text-primary);border-radius:8px;padding:8px 24px;font-size:.85rem;cursor:pointer;font-family:inherit;margin-top:4px;transition:border-color .15s}.contact-sent-btn:hover{border-color:var(--text-tertiary)}.legal-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.legal-modal .contact-modal-header{flex-shrink:0}.legal-modal-body{overflow-y:auto;padding-right:8px;line-height:1.6;color:var(--text-secondary);font-size:.85rem}.legal-modal-body h3{color:var(--text-primary);font-size:.95rem;font-weight:600;margin:20px 0 8px}.legal-modal-body h3:first-of-type{margin-top:8px}.legal-modal-body p{margin:0 0 12px}.legal-modal-body strong{color:var(--text-primary)}.legal-updated{color:var(--text-tertiary);font-size:.78rem;font-style:italic;margin:0 0 16px}.app-footer-disclaimer{color:var(--text-tertiary);opacity:.6;font-size:.7rem}@media (max-width: 768px){.app-footer{padding:10px 12px}.app-footer-inner{flex-direction:column;gap:4px;text-align:center}.contact-form-row{grid-template-columns:1fr}.contact-modal{padding:20px 16px}.legal-modal{max-height:85vh}.app-footer-links{flex-wrap:wrap;justify-content:center}}.consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:600;background:var(--bg-card);border-top:1px solid var(--border-primary);padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:16px;box-shadow:0 -4px 16px #0000004d;animation:consent-slide-up .3s ease-out;-webkit-transform:translateZ(0);transform:translateZ(0)}@keyframes consent-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.consent-text{flex:1;font-size:.78rem;color:var(--text-secondary);line-height:1.5;margin:0}.consent-link{background:none;border:none;color:var(--green-primary);font-size:inherit;cursor:pointer;padding:0;font-family:inherit;text-decoration:underline}.consent-accept{flex-shrink:0;background:var(--green-primary);color:#000;border:none;border-radius:6px;padding:8px 20px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap;transition:opacity .15s}.consent-accept:hover{opacity:.9}.legal-modal-body ul{margin:0 0 12px;padding-left:20px;color:var(--text-secondary);font-size:.85rem;line-height:1.6}.legal-modal-body li{margin-bottom:4px}@media (max-width: 768px){.consent-banner{flex-direction:column;padding:14px 16px;gap:12px}.consent-accept{width:100%;padding:10px}}.home-main{flex:1 0 auto;padding:20px 24px;display:flex;flex-direction:column;gap:20px;max-width:1400px;margin:0 auto;width:100%;font-family:var(--font-sans);-webkit-text-size-adjust:100%}.home-brand{display:flex;flex-direction:column;gap:4px}.home-brand-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-brand-name{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin:0;line-height:1}.home-brand-tickr{color:var(--text-primary)}.home-brand-pulse{color:var(--green-primary);position:relative;animation:brand-pulse-glow 3s ease-in-out infinite}@keyframes brand-pulse-glow{0%,to{text-shadow:0 0 8px rgba(0,200,83,.3)}50%{text-shadow:0 0 20px rgba(0,200,83,.6),0 0 40px rgba(0,200,83,.2)}}.home-brand-tagline{margin:0;color:var(--text-tertiary);font-size:.85rem;font-weight:400}.home-top-row{display:grid;grid-template-columns:3fr 2fr;gap:16px}.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-card{position:relative;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:16px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;flex:1;display:flex;flex-direction:column}.home-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s ease;background:radial-gradient(600px circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.06),transparent 40%);z-index:1;pointer-events:none}.home-card:hover:after{opacity:1}.home-card>*{position:relative;z-index:2}.home-card:hover{transform:translateY(-2px);border-color:var(--border-hover);box-shadow:0 6px 24px #00000059}.home-card:focus-visible{outline:1px solid var(--green-primary);outline-offset:2px}.home-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.home-card-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase}.home-card-title:before{content:"";display:inline-block;width:3px;height:14px;border-radius:2px;background:var(--green-primary);flex-shrink:0}.home-card--hero .home-card-title:before{display:none}.home-card--hero .home-card-title{font-size:12px;color:var(--text-primary);letter-spacing:.04em}.home-card-link{font-size:10px;color:var(--text-dim);font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:color .15s}.home-card:hover .home-card-link,.home-news-section:hover>.home-section-header .home-card-link,.home-section-header:hover .home-card-link{color:var(--green-primary)}.home-card-body{min-height:60px;flex:1;display:flex;flex-direction:column}.home-card-empty{font-size:12px;color:var(--text-dim);padding:12px 0;flex:1;display:flex;align-items:center}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-line,.skeleton-circle{background-color:#ffffff0f;background-image:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.08) 50%,transparent 75%);background-size:200% 100%;animation:skeleton-shimmer 1.8s ease-in-out infinite;border-radius:4px}.skeleton-circle{border-radius:50%;flex-shrink:0}[data-theme=light] .skeleton-line,[data-theme=light] .skeleton-circle{background-color:#00000014;background-image:linear-gradient(90deg,transparent 25%,rgba(0,0,0,.06) 50%,transparent 75%);background-size:200% 100%}.skeleton-row{display:flex;align-items:center;gap:8px;padding:5px 4px}.skeleton-stock-list,.skeleton-futures-list{display:flex;flex-direction:column;gap:6px;flex:1;justify-content:space-evenly}.skeleton-movers-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;align-content:space-evenly}.skeleton-movers-col{display:flex;flex-direction:column;gap:8px}.skeleton-econ-list{display:flex;flex-direction:column;gap:12px;flex:1;justify-content:space-evenly}.skeleton-news-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:240px}.skeleton-news-featured{border-radius:10px}.skeleton-news-side{display:flex;flex-direction:column;gap:10px}.skeleton-news-item{display:flex;gap:10px;align-items:center}.skeleton-heatmap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;flex:1}.skeleton-heatmap-cell{border-radius:4px;min-height:48px}.skeleton-hero-main{display:flex;align-items:center;gap:24px;padding:12px 0}.skeleton-hero-text{display:flex;flex-direction:column;gap:10px;flex:1}.skeleton-hero-chart{flex-shrink:0}.skeleton-gauge{display:flex;flex-direction:column;align-items:center;gap:12px;flex:1;justify-content:center}.home-card-stat{font-size:11px;color:var(--text-secondary);margin-bottom:8px}.home-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;cursor:pointer}.home-section-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase}.home-section-title:before{content:"";display:inline-block;width:3px;height:14px;border-radius:2px;background:var(--green-primary);flex-shrink:0}.home-card--hero{padding:20px 24px}.home-card--hero-up{background:linear-gradient(135deg,rgba(0,200,83,.06) 0%,var(--bg-card) 50%);border-color:#00c85333;animation:hero-glow-green 4s ease-in-out infinite}.home-card--hero-down{background:linear-gradient(135deg,rgba(255,23,68,.06) 0%,var(--bg-card) 50%);border-color:#ff174433;animation:hero-glow-red 4s ease-in-out infinite}@keyframes hero-glow-green{0%,to{box-shadow:0 0 0 1px #00c85314,0 0 20px -5px #00c8531f}50%{box-shadow:0 0 0 1px #00c85326,0 0 30px -3px #00c85338}}@keyframes hero-glow-red{0%,to{box-shadow:0 0 0 1px #ff174414,0 0 20px -5px #ff17441f}50%{box-shadow:0 0 0 1px #ff174426,0 0 30px -3px #ff174438}}.home-card--hero:hover{animation:none}.hero-status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0}.hero-status-dot--open{background:var(--green-primary);box-shadow:0 0 6px #00c85399;animation:hero-dot-pulse 2s ease-in-out infinite}.hero-status-dot--pre,.hero-status-dot--after{background:#f5a623;box-shadow:0 0 4px #f5a62380}.hero-status-dot--closed{background:var(--red-primary);opacity:.7}@keyframes hero-dot-pulse{0%,to{opacity:1;box-shadow:0 0 6px #00c85399}50%{opacity:.6;box-shadow:0 0 10px #00c853e6}}.hero-status-label{font-size:11px;color:var(--text-secondary);font-weight:500}.hero-title-sep{color:var(--text-dim);margin:0 2px;font-weight:300}.hero-main{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 16px}.hero-main-left{flex-shrink:0}.hero-main-label{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;margin-bottom:4px}.hero-price-value{font-size:32px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary);line-height:1.1}.hero-main-changes{margin-top:4px}.hero-change{font-size:15px;font-weight:600;font-family:var(--font-mono)}.hero-change.change-up{color:var(--green-primary)}.hero-change.change-down{color:var(--red-primary)}.hero-main-chart{flex:1;min-width:0;max-width:55%}.hero-sparkline-svg{display:block;width:100%}.hero-secondary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:14px;border-top:1px solid var(--border-subtle)}.hero-secondary{padding:6px 8px;border-radius:6px;transition:background .15s;min-width:0;overflow:hidden}.hero-secondary-label{font-size:10px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.hero-secondary-price{font-size:15px;font-weight:700;font-family:var(--font-mono);color:var(--text-primary);margin-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-secondary-change{font-size:12px;font-weight:600;font-family:var(--font-mono);margin-bottom:6px}.hero-secondary-change.change-up{color:var(--green-primary)}.hero-secondary-change.change-down{color:var(--red-primary)}.hero-secondary-spark{height:24px}.sparkline-svg{display:block;width:100%}.home-stock-list{display:flex;flex-direction:column;gap:6px;flex:1;justify-content:space-evenly}.home-stock-row{display:flex;align-items:center;gap:8px;padding:5px 4px;font-size:12px;border-radius:4px}.home-stock-row--compact{padding:2px 0;gap:6px}.home-stock-rank{font-size:10px;color:var(--text-dim);font-weight:600;font-family:var(--font-mono);min-width:14px;text-align:right}.home-stock-symbol{font-weight:600;color:var(--text-primary);font-family:var(--font-mono);min-width:48px;font-size:12px}.home-stock-name{color:var(--text-dim);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.home-stock-price{font-family:var(--font-mono);color:var(--text-secondary);font-size:12px;font-weight:500}.home-stock-row.flash-up,.hero-secondary.flash-up,.home-futures-row.flash-up,.home-movers-row.flash-up{animation:home-flash-green .7s ease-out}.home-stock-row.flash-down,.hero-secondary.flash-down,.home-futures-row.flash-down,.home-movers-row.flash-down{animation:home-flash-red .7s ease-out}.home-stock-price.flash-up,.hero-price-value.flash-up,.hero-secondary-price.flash-up{color:var(--green-primary);animation:price-flash .7s ease-out}.home-stock-price.flash-down,.hero-price-value.flash-down,.hero-secondary-price.flash-down{color:var(--red-primary);animation:price-flash .7s ease-out}@keyframes home-flash-green{0%{background:#00c8531a}to{background:transparent}}@keyframes home-flash-red{0%{background:#ff17441a}to{background:transparent}}.home-badge{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.home-badge--green{color:var(--green-primary);background:var(--green-dim)}.home-badge--red{color:var(--red-primary);background:#ff17441a}.home-badge--sm{font-size:10px;padding:1px 5px}.home-futures-list{display:flex;flex-direction:column;gap:6px;flex:1;justify-content:space-evenly}.home-futures-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 4px;border-radius:4px}.home-futures-name{flex:1;color:var(--text-secondary);font-size:11px;font-weight:500}.home-news-section{width:100%}.home-news-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-news-featured{position:relative;display:block;border-radius:10px;overflow:hidden;text-decoration:none;min-height:240px;transition:transform .18s ease,box-shadow .18s ease}.home-news-featured:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0006}.home-news-featured-img{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-color:var(--bg-card)}.home-news-featured-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#000000d9,#0003,#0000000d)}.home-news-featured-content{position:absolute;bottom:0;left:0;right:0;padding:16px;display:flex;flex-direction:column;gap:6px}.home-news-pub-badge{display:inline-block;font-size:10px;font-weight:600;color:#ffffffe6;background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2px 8px;border-radius:4px;width:fit-content}.home-news-featured-title{font-size:15px;font-weight:600;color:#fff;line-height:1.35;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-news-featured-time{font-size:11px;color:#ffffff8c}.home-news-side{display:flex;flex-direction:column;gap:10px}.home-news-side-item{display:flex;gap:12px;text-decoration:none;padding:8px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-subtle);transition:border-color .15s ease,background .15s ease}.home-news-side-item:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.home-news-side-thumb{width:80px;min-height:56px;border-radius:6px;background-size:cover;background-position:center;background-color:var(--border-subtle);flex-shrink:0}.home-news-side-text{display:flex;flex-direction:column;gap:4px;justify-content:center;min-width:0}.home-news-side-title{font-size:12px;font-weight:500;color:var(--text-primary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-news-side-meta{display:flex;align-items:center;gap:8px;font-size:10px}.home-news-publisher{color:var(--text-dim);font-weight:500}.home-news-time{color:var(--text-dim);opacity:.7}.home-heatmap-section{width:100%}.home-feargreed{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.home-feargreed-header{width:100%;margin-bottom:4px}.home-feargreed-gauge{width:100%;max-width:240px}.home-feargreed-svg{width:100%;height:auto;display:block}.home-feargreed-factors{display:flex;gap:12px;margin-top:4px}.home-feargreed-factor{font-size:10px;color:var(--text-dim);font-family:var(--font-mono)}.home-breadth-section{width:100%;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:14px 16px}.home-breadth-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.home-breadth-pct{font-size:13px;font-weight:600;color:var(--green-primary);font-family:var(--font-mono)}.home-breadth-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--bg-primary);margin-bottom:10px}.home-breadth-bar-adv{background:var(--green-primary);transition:width .5s ease}.home-breadth-bar-unch{background:var(--text-dim);transition:width .5s ease}.home-breadth-bar-dec{background:var(--red-primary);transition:width .5s ease}.home-breadth-stats{display:flex;gap:16px;flex-wrap:wrap}.home-breadth-stat{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono)}.home-breadth-stat--adv{color:var(--green-primary)}.home-breadth-stat--dec{color:var(--red-primary)}.home-breadth-stat--unch{color:var(--text-dim)}.home-heatmap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:3px;cursor:pointer;border-radius:8px;overflow:hidden}.home-heatmap-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;min-height:64px;transition:filter .15s ease}.home-heatmap-cell:hover{filter:brightness(1.25)}.home-heatmap-cell-name{font-size:10px;font-weight:600;color:#ffffffd9;text-align:center;line-height:1.2;margin-bottom:4px}.home-heatmap-cell-change{font-size:12px;font-weight:700;font-family:var(--font-mono)}.home-heatmap-cell-change.change-up,.home-heatmap-cell-change.change-down{color:#fffffff2}.home-earnings-date{font-size:11px;color:var(--text-dim);font-weight:500;margin-left:auto}.home-econ-list{display:flex;flex-direction:column;gap:8px;flex:1;justify-content:space-evenly}.home-econ-item{display:flex;flex-direction:column;gap:2px}.home-econ-title{font-size:12px;color:var(--text-primary);font-weight:500}.home-econ-date{font-size:10px;color:var(--text-dim)}.home-movers-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;flex:1;align-content:space-evenly}.home-movers-col{display:flex;flex-direction:column;gap:6px}.home-movers-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.home-movers-label--up{color:var(--green-primary)}.home-movers-label--down{color:var(--red-primary)}.home-movers-row{display:flex;align-items:center;gap:8px;font-size:12px;padding:3px 4px;border-radius:4px}.home-movers-row .home-stock-symbol{flex:1;min-width:0}.home-movers-row .home-badge{margin-left:auto;flex-shrink:0}.home-sections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;grid-auto-flow:dense}.home-section-wrapper{min-width:0;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.home-section-wrapper,.home-section-wrapper *,.home-section-wrapper *:before,.home-section-wrapper *:after{-webkit-tap-highlight-color:transparent!important;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}.home-section-wrapper>*{flex:1;display:flex;flex-direction:column}.home-section--wide{grid-column:span 2}.home-section--full{grid-column:1 / -1}.home-section-wrapper--editing{position:relative;border:1px dashed var(--border-hover);border-radius:var(--radius);padding-top:32px;cursor:grab;transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s ease,opacity .25s ease;animation:edit-breathe 2s ease-in-out infinite}@keyframes edit-breathe{0%,to{border-color:var(--border-hover);box-shadow:0 0 0 0 transparent}50%{border-color:#6366f1;box-shadow:0 0 10px #6366f133}}[data-theme=light] .home-section-wrapper--editing{animation-name:edit-breathe-light}@keyframes edit-breathe-light{0%,to{border-color:var(--border-hover);box-shadow:0 0 0 0 transparent}50%{border-color:#818cf8;box-shadow:0 0 10px #6366f126}}.home-section-wrapper--editing:active{cursor:grabbing}.home-section-controls{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);border-radius:var(--radius) var(--radius) 0 0;z-index:2;pointer-events:none}.home-section-controls-label{flex:1;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.home-section-controls-btns{display:flex;gap:4px;pointer-events:auto}.home-section-ctrl-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border-subtle);border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s}.home-section-ctrl-btn:hover{background:var(--hover-overlay);border-color:var(--border-hover);color:var(--text-primary)}.home-section-ctrl-btn--hide:hover{color:var(--red-primary);border-color:var(--red-primary)}.home-edit-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;transition:all .2s}.home-edit-toggle:hover{color:var(--text-primary);border-color:var(--border-hover)}.home-edit-toggle--active{color:var(--green-primary);border-color:var(--green-primary);background:var(--green-dim)}.home-edit-toggle--active svg{animation:spin-gear 4s linear infinite}@keyframes spin-gear{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.home-section--dragging{opacity:.25;transform:scale(.95);border-color:var(--green-primary)!important;border-style:solid!important}.home-section--dragover{border-color:var(--green-primary)!important;border-style:solid!important;box-shadow:0 0 0 2px var(--green-dim),inset 0 0 20px var(--green-dim);transform:scale(1.03)}.home-drag-ghost{display:flex;align-items:center;justify-content:center;background:var(--green-primary);color:#fff;font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border-radius:10px;box-shadow:0 8px 32px #0006;backface-visibility:hidden;-webkit-backface-visibility:hidden}.home-edit-toolbar{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:10px 16px;display:flex;flex-direction:column;gap:10px}.home-edit-toolbar-inner{display:flex;align-items:center;justify-content:center;gap:12px}.home-edit-toolbar-label{font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.home-hidden-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px solid var(--border-subtle)}.home-hidden-inline-label{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.home-hidden-item{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:11px;font-family:inherit;cursor:pointer;transition:all .15s}.home-hidden-item:hover{border-color:var(--green-primary);color:var(--text-primary)}.home-hidden-show{color:var(--green-primary);font-weight:700;font-size:12px}.home-reset-btn{padding:8px 20px;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s}.home-reset-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.home-edit-done-btn{padding:8px 24px;border:1px solid var(--green-primary);border-radius:6px;background:var(--green-dim);color:var(--green-primary);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.home-edit-done-btn:hover{background:var(--green-primary);color:#fff}@media (max-width: 1024px){.home-main{padding:16px;gap:16px}.home-sections-grid{grid-template-columns:repeat(2,1fr);gap:12px}.home-section--wide{grid-column:span 1}.home-card--hero{padding:16px}.hero-price-value{font-size:26px}.hero-change{font-size:13px}.hero-main-chart{max-width:50%}.hero-secondary-row{gap:6px}.hero-secondary{padding:6px 4px}.hero-secondary-price{font-size:13px}.home-top-row,.home-grid{grid-template-columns:repeat(2,1fr);gap:12px}.home-news-grid{gap:12px}.home-news-featured{min-height:200px}.home-brand-name{font-size:1.75rem}}@media (max-width: 768px){.home-main{padding:12px;gap:12px}.home-sections-grid{grid-template-columns:1fr}.home-section--wide,.home-section--full{grid-column:1}.home-brand-top{gap:8px}.home-brand-name{font-size:1.35rem}.home-brand-tagline{font-size:.7rem}.home-top-row,.home-grid,.home-news-grid{grid-template-columns:1fr;gap:10px}.home-news-featured{min-height:180px}.home-news-side-thumb{width:64px;min-height:48px}.home-card--hero{padding:14px 16px}.hero-main{flex-direction:column;align-items:flex-start;gap:12px;margin:8px 0 12px}.hero-main-chart{max-width:100%;width:100%}.hero-price-value{font-size:24px}.hero-secondary-row{grid-template-columns:repeat(2,1fr);gap:8px}.hero-secondary-spark{height:20px}.home-card{padding:14px}}@media (max-width: 400px){.home-brand-top{gap:8px}.home-brand-name{font-size:1.2rem}.home-brand-tagline{font-size:.65rem}.home-main{padding:10px;gap:10px}.home-card{padding:12px}.home-card-header{font-size:.7rem}.home-card--hero{padding:12px}.hero-price-value{font-size:20px}.hero-change{font-size:12px}.hero-secondary-row{grid-template-columns:repeat(2,1fr);gap:6px}.hero-secondary-price{font-size:12px}.hero-secondary-change{font-size:10px}.home-edit-toolbar{flex-direction:column;align-items:stretch;gap:8px}.home-edit-toolbar button{font-size:.65rem}}.screener-main{flex:1 0 auto;padding:24px;max-width:1400px;margin:0 auto;width:100%;font-family:var(--font-sans);-webkit-text-size-adjust:100%}.screener-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.screener-header-left{display:flex;align-items:baseline;gap:12px}.screener-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.screener-count{font-size:12px;color:var(--text-secondary);font-family:var(--font-mono)}.screener-clear-btn{padding:5px 14px;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}.screener-clear-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.screener-filters{display:flex;align-items:flex-end;gap:12px;padding:16px;margin-bottom:20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.screener-filters::-webkit-scrollbar{display:none}.screener-filter{display:flex;flex-direction:column;gap:4px;min-width:0;flex-shrink:0;position:relative}.screener-filter-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-dim);letter-spacing:.5px;padding-left:2px}.screener-filter-btn{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:12px;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap;-webkit-user-select:none;user-select:none}.screener-filter-btn:hover{border-color:var(--text-secondary)}.screener-filter-btn--active{border-color:var(--green-primary);color:var(--green-primary)}.screener-filter-btn--active .screener-filter-chevron{color:var(--green-primary)}.screener-filter-btn--open{border-color:var(--border-hover);color:var(--text-primary)}.screener-filter-btn-text{flex:1;text-align:left}.screener-filter-chevron{color:var(--text-dim);flex-shrink:0;transition:transform .15s}.screener-filter-btn--open .screener-filter-chevron{transform:rotate(180deg)}.screener-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:transparent;touch-action:none;overscroll-behavior:contain}.screener-dropdown{position:fixed;min-width:180px;background:var(--bg-card);border:1px solid var(--border-hover);border-radius:8px;box-shadow:0 8px 24px #00000080;z-index:100;overflow:hidden;animation:screener-dropdown-in .12s ease-out}@keyframes screener-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.screener-dropdown-header{padding:10px 14px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim)}.screener-dropdown-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 14px;border:none;background:none;color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer;text-align:left;transition:background .1s,color .1s}.screener-dropdown-option:hover{background:var(--bg-card-hover);color:var(--text-primary)}.screener-dropdown-option--selected,.screener-dropdown-option--selected:hover{color:var(--green-primary)}.screener-filter--sort{margin-left:auto}.screener-filter--sort>.screener-filter-label{display:none}.screener-sort-group{display:flex;gap:4px;align-items:flex-end}.screener-sort-group>.screener-filter{gap:0}.screener-sort-group>.screener-filter>.screener-filter-label{display:block}.screener-sort-dir{padding:7px 9px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:14px;font-family:var(--font-mono);cursor:pointer;transition:all .15s;line-height:1}.screener-sort-dir:hover{border-color:var(--text-secondary);color:var(--text-primary)}.screener-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;align-content:start}.screener-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:var(--text-dim);text-align:center}.screener-empty-icon{font-size:36px;margin-bottom:12px;opacity:.6}.screener-empty-title{font-size:15px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.screener-empty-text{font-size:13px;color:var(--text-dim)}@media (max-width: 1024px){.screener-filters{gap:10px;padding:12px}.screener-filter--sort{margin-left:0}}@media (max-width: 768px){.screener-main{padding:16px 12px}.screener-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.screener-filters{gap:8px;padding:10px;margin-bottom:14px}.screener-results{grid-template-columns:1fr;gap:10px}.screener-dropdown-backdrop{background:#0009;z-index:999;touch-action:none}.screener-dropdown{position:fixed;top:auto!important;left:0!important;right:0;bottom:0;min-width:unset;border-radius:16px 16px 0 0;border:none;border-top:1px solid var(--border-hover);z-index:1000;max-height:60vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,16px);animation:screener-sheet-in .2s ease-out;overscroll-behavior:contain}@keyframes screener-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.screener-dropdown-header{padding:16px 20px 8px;font-size:13px;position:sticky;top:0;background:var(--bg-card)}.screener-dropdown-option{padding:14px 20px;font-size:15px}}.smartmoney-main{flex:1 0 auto;padding:24px;max-width:1400px;margin:0 auto;width:100%}.smartmoney-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}.smartmoney-header-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.smartmoney-source-note{font-size:11px;color:#ffffff4d;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}.smartmoney-title{font-size:18px;font-weight:700;color:var(--text-primary);white-space:nowrap;margin:0}.smartmoney-tab-toggle{display:flex;gap:2px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:3px}.smartmoney-tab-btn{padding:6px 16px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s}.smartmoney-tab-btn:hover{color:var(--text-secondary)}.smartmoney-tab-btn.active{background:#ffc1071f;color:#ffc107;font-weight:600}.smartmoney-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 20px;color:var(--text-dim);font-size:14px}.smartmoney-loading-pulse{width:40px;height:40px;border-radius:50%;border:3px solid rgba(255,193,7,.15);border-top-color:#ffc107;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.smartmoney-empty{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-dim);font-size:14px}.smartmoney-table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-card)}.smartmoney-table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--font-mono)}.smartmoney-table th{padding:10px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);background:#ffc1070a;border-bottom:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;position:sticky;top:0;z-index:1}.smartmoney-table th:hover{color:var(--text-secondary);background:#ffc10714}.smartmoney-table th.sorted{color:#ffc107}.smartmoney-table td{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.03);white-space:nowrap}.smartmoney-table tr{transition:background var(--transition-fast)}.smartmoney-table tbody tr:hover{background:var(--hover-overlay);cursor:pointer}.smartmoney-table tr.row-buy{border-left:3px solid var(--green-primary)}.smartmoney-table tr.row-sell{border-left:3px solid var(--red-primary)}.smartmoney-table tr.row-expanded{background:#ffc1070a}.smartmoney-table tr.row-detail{background:#ffc10705}.smartmoney-table tr.row-detail:hover{background:#ffc1070a}.sm-symbol{font-weight:700;color:var(--text-primary)}.sm-name{color:var(--text-dim);max-width:160px;overflow:hidden;text-overflow:ellipsis}.sm-date{color:var(--text-dim);font-size:12px}.sm-title{color:var(--text-dim);font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.text-green{color:var(--green-primary)}.text-red{color:var(--red-primary)}.sentiment-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.sentiment-badge.bullish{background:var(--green-dim);color:var(--green-primary)}.sentiment-badge.bearish{background:#ff17441a;color:var(--red-primary)}.sentiment-badge.sm{font-size:10px;padding:1px 6px}.value-highlight{color:#ffc107;font-weight:600}.squeeze-cell{display:flex;align-items:center;gap:8px}.squeeze-label{font-size:11px;font-weight:600;min-width:54px}.squeeze-label.squeeze-low{color:var(--green-primary)}.squeeze-label.squeeze-moderate{color:#ffc107}.squeeze-label.squeeze-high{color:#ff9800}.squeeze-label.squeeze-extreme{color:var(--red-primary)}.squeeze-meter{width:60px;height:5px;background:#ffffff0f;border-radius:3px;overflow:hidden}.squeeze-meter-fill{height:100%;border-radius:3px;transition:width .3s ease}.squeeze-fill-low{background:var(--green-primary)}.squeeze-fill-moderate{background:#ffc107}.squeeze-fill-high{background:#ff9800}.squeeze-fill-extreme{background:linear-gradient(90deg,#ff9800,var(--red-primary))}.options-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:20px}.options-summary-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:14px;cursor:pointer;transition:all var(--transition-fast)}.options-summary-card:hover{border-color:#ffc1074d;background:var(--bg-card-hover)}.options-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.options-card-symbol{font-weight:700;font-size:15px;color:var(--text-primary);font-family:var(--font-mono)}.options-card-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0}.options-card-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.options-card-value{font-size:13px;font-weight:600;font-family:var(--font-mono);color:var(--text-secondary)}.options-card-value.up{color:var(--green-primary)}.options-card-value.down{color:var(--red-primary)}.unusual-detail{padding:8px 12px 12px}.unusual-detail-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffc107;margin-bottom:8px}.unusual-detail-row{display:flex;align-items:center;gap:12px;padding:4px 0;font-size:12px;color:var(--text-secondary)}.unusual-detail-view{margin-top:8px;padding:5px 14px;border:1px solid rgba(255,193,7,.3);border-radius:6px;background:#ffc10714;color:#ffc107;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.unusual-detail-view:hover{background:#ffc10729}.congress-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px}.congress-summary-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:14px;transition:all var(--transition-fast)}.congress-summary-card:hover{border-color:#ffc1074d;background:var(--bg-card-hover)}.congress-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:8px}.congress-card-name{font-weight:700;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.congress-card-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0}.congress-card-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.congress-card-value{font-size:13px;font-weight:600;font-family:var(--font-mono);color:var(--text-secondary)}.congress-card-value.up{color:var(--green-primary)}.congress-card-value.down{color:var(--red-primary)}.sentiment-badge.senate{background:#673ab726;color:#b388ff}.sentiment-badge.house{background:#2196f326;color:#64b5f6}.congress-delay{font-weight:600;font-family:var(--font-mono)}.congress-delay.delay-fast{color:var(--green-primary)}.congress-delay.delay-normal{color:var(--text-secondary)}.congress-delay.delay-slow{color:#ff9800}.congress-delay.delay-late{color:var(--red-primary)}.sentiment-badge.gov-badge{background:#4caf5026;color:#81c784}.sentiment-badge.lobby-badge{background:#ff980026;color:#ffb74d}.sentiment-badge.darkpool-badge{background:#9c27b026;color:#ce93d8}.wsb-filter-bar{display:flex;gap:6px;margin-bottom:16px;padding:4px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;width:fit-content}.wsb-filter-btn{padding:6px 14px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.wsb-filter-btn:hover{color:var(--text-primary);background:#ffffff0d}.wsb-filter-btn.active{background:#ffc1071f;color:#ffc107;box-shadow:0 0 12px #ffc10733}.sentiment-badge.neutral{background:#ffffff0f;color:var(--text-dim)}.wsb-summary-card{cursor:pointer}.wsb-rank{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.wsb-rank-badge{display:inline-block;font-size:11px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:2px 8px;border-radius:6px;letter-spacing:.3px}.wsb-rank-badge.wsb-rank-up{color:var(--green-primary);background:var(--green-dim);box-shadow:0 0 10px #00d66b1f}.wsb-rank-badge.wsb-rank-down{color:var(--red-primary);background:#ff29521a;box-shadow:0 0 10px #ff29521f}.wsb-rank-badge.wsb-rank-flat{color:var(--text-dim);background:#ffffff0a}.wsb-mention-change{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums}.wsb-mention-change.positive{color:var(--green-primary)}.wsb-mention-change.negative{color:var(--red-primary)}.wsb-mention-pct{opacity:.6;font-size:11px}.sm-issues{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:var(--text-dim)}.expanded-smartmoney-btn{background:none;border:1px solid var(--glass-border);color:var(--text-dim);width:30px;height:30px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.expanded-smartmoney-btn:hover{background:#ffc10714;border-color:#ffc1074d;color:#ffc107}.expanded-smartmoney-btn.active{background:#ffc1071f;border-color:#ffc1074d;color:#ffc107}.expanded-smartmoney-panel{position:absolute;top:0;right:0;width:340px;height:100%;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-left:1px solid rgba(255,193,7,.15);z-index:10;overflow-y:auto;animation:slide-in-right .25s cubic-bezier(.4,0,.2,1)}.expanded-smartmoney-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(255,193,7,.1);font-size:12px;font-weight:600;color:#ffc107}.expanded-smartmoney-close{background:none;border:none;color:var(--text-dim);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.expanded-smartmoney-close:hover{color:var(--text-primary)}.smartmoney-panel-content{padding:0}.smartmoney-section{border-bottom:1px solid var(--border-subtle)}.smartmoney-section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary);transition:background var(--transition-fast)}.smartmoney-section-header:hover{background:var(--hover-overlay)}.smartmoney-section-label{display:flex;align-items:center;gap:6px}.smartmoney-section-chevron{font-size:10px;color:var(--text-dim);transition:transform .2s}.smartmoney-section-chevron.open{transform:rotate(90deg)}.smartmoney-section-body{padding:0 14px 12px}.smartmoney-panel-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px}.smartmoney-panel-row-label{color:var(--text-dim)}.smartmoney-panel-row-value{color:var(--text-secondary);font-family:var(--font-mono);font-weight:500}.smartmoney-panel-trade{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:12px;border-bottom:1px solid rgba(255,255,255,.03)}.smartmoney-panel-trade:last-child{border-bottom:none}.smartmoney-panel-trade-name{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smartmoney-panel-trade-value{font-family:var(--font-mono);font-weight:500;color:var(--text-secondary)}.smartmoney-panel-trade-date{font-size:11px;color:var(--text-dim)}.smartmoney-panel-empty{padding:12px 0;font-size:12px;color:var(--text-dim);text-align:center}@media (max-width: 768px){.smartmoney-main{padding:16px;overflow-x:hidden}.smartmoney-header{flex-direction:column;align-items:flex-start;gap:12px}.smartmoney-header-left{flex-direction:column;align-items:flex-start;gap:10px;width:100%}.smartmoney-source-note{white-space:normal;max-width:100%;font-size:10px}.smartmoney-tab-toggle{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.smartmoney-tab-toggle::-webkit-scrollbar{display:none}.smartmoney-tab-btn{flex:0 0 auto;padding:6px 12px;font-size:12px;text-align:center;white-space:nowrap}.smartmoney-table{font-size:12px}.smartmoney-table th,.smartmoney-table td{padding:6px 8px}.sm-hide-mobile{display:none}.options-summary-grid,.congress-summary-grid{grid-template-columns:1fr 1fr;gap:8px}.congress-card-name{font-size:12px}.unusual-detail-row{flex-wrap:wrap;gap:6px}.expanded-smartmoney-panel{width:100%}.squeeze-meter{width:40px}}.earnings-calendar-inner{width:100%}.el-container{width:100%;padding:0 4px 40px}.el-search-section{position:relative;max-width:480px;margin-bottom:20px}.el-search-form{display:flex}.el-search-input{width:100%;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;color:#fff;font-size:14px;outline:none;transition:border-color .2s}.el-search-input:focus{border-color:#6366f180}.el-search-input::placeholder{color:#ffffff4d}.el-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;margin-top:4px;z-index:50;max-height:280px;overflow-y:auto;box-shadow:0 8px 24px #0006}.el-suggestion-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:#fff;cursor:pointer;text-align:left;font-size:13px;transition:background .15s}.el-suggestion-item:hover,.el-suggestion-item.active{background:#6366f11a}.el-sug-symbol{font-weight:600;min-width:60px}.el-sug-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.6}.el-sug-exchange{font-size:11px;opacity:.4}.el-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;opacity:.5}.el-empty-icon{font-size:48px;margin-bottom:16px}.el-empty-state p{margin:0;font-size:15px}.el-empty-sub{font-size:13px!important;opacity:.6;margin-top:6px!important}.el-profile-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.el-profile-left{display:flex;align-items:baseline;gap:12px}.el-profile-symbol{font-size:24px;font-weight:700;color:#fff}.el-profile-name{font-size:14px;opacity:.5}.el-profile-badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.el-streak-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.el-streak-badge.beat{background:#10b98126;color:#10b981}.el-streak-badge.miss{background:#ef444426;color:#ef4444}.el-streak-badge.met{background:#ffffff1a;color:#fff9}.el-next-earnings{font-size:12px;padding:4px 10px;border-radius:12px;background:#6366f11f;color:#6366f1e6;font-weight:500}.el-section{margin-bottom:28px}.el-section-title{font-size:14px;font-weight:600;color:#ffffffb3;margin:0 0 14px}.el-bar-chart{display:flex;align-items:flex-end;gap:6px;height:180px;padding:0 4px}.el-bar-group{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;position:relative;min-width:0}.el-bar-values{height:22px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:4px}.el-bar-val{font-size:10px;font-weight:600;white-space:nowrap}.el-bar-val.beat{color:#10b981}.el-bar-val.miss{color:#ef4444}.el-bars{flex:1;display:flex;align-items:flex-end;gap:3px;width:100%;justify-content:center}.el-bar{width:40%;max-width:20px;border-radius:3px 3px 0 0;min-height:3px;transition:height .3s ease}.el-bar.estimate{background:#ffffff26}.el-bar.actual{background:#6366f1b3}.el-bar.actual.beat{background:#10b981b3}.el-bar.actual.miss{background:#ef4444b3}.el-bar-label{font-size:10px;opacity:.5;margin-top:6px;white-space:nowrap}.el-beat-indicator{font-size:10px;color:#10b981;margin-top:2px}.el-miss-indicator{font-size:10px;color:#ef4444;margin-top:2px}.el-chart-legend{display:flex;gap:16px;margin-top:10px;justify-content:center}.el-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;opacity:.5}.el-legend-dot{width:10px;height:10px;border-radius:2px}.el-legend-dot.estimate{background:#ffffff26}.el-legend-dot.actual{background:#6366f1b3}.el-consensus{max-width:600px}.el-consensus-bar{display:flex;height:32px;border-radius:6px;overflow:hidden;gap:2px}.el-con-seg{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;min-width:24px;transition:flex .3s ease}.el-con-seg.strong-buy{background:#059669}.el-con-seg.buy{background:#10b981}.el-con-seg.hold{background:#f59e0b}.el-con-seg.sell{background:#ef4444}.el-con-seg.strong-sell{background:#b91c1c}.el-consensus-labels{display:flex;justify-content:space-between;margin-top:8px}.el-con-label{font-size:10px;font-weight:500}.el-con-label.strong-buy{color:#059669}.el-con-label.buy{color:#10b981}.el-con-label.hold{color:#f59e0b}.el-con-label.sell{color:#ef4444}.el-con-label.strong-sell{color:#b91c1c}.el-consensus-total{font-size:11px;opacity:.4;margin-top:8px;text-align:center}.el-highlights-section{margin-bottom:28px}.el-highlights{display:flex;flex-direction:column;gap:12px}.el-highlight-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;color:var(--text-secondary)}.el-highlight-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--accent-cyan);margin-top:7px}.el-highlight-content{flex:1}.el-highlight-title{font-weight:600;color:var(--text-primary)}.el-beat-text{color:#10b981}.el-miss-text{color:#ef4444}@media (max-width: 768px){.el-bar-chart{height:140px;gap:4px}.el-bar-val,.el-bar-label{font-size:9px}.el-profile-header{flex-direction:column;align-items:flex-start;gap:8px}.el-profile-symbol{font-size:20px}.el-consensus-labels{font-size:9px}.el-search-section{max-width:100%}}.portfolio-main{padding:24px 32px;max-width:1400px;margin:0 auto;width:100%}.pf-header{margin-bottom:20px}.pf-title{font-size:22px;font-weight:700;color:var(--text-primary)}.pf-summary-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.pf-stat-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:border-color .3s ease,box-shadow .3s ease}.pf-stat-card.pf-flash-up{border-color:#00d66b66;box-shadow:0 0 20px #00d66b26;animation:pf-card-flash-green .7s ease-out}.pf-stat-card.pf-flash-down{border-color:#ff295266;box-shadow:0 0 20px #ff295226;animation:pf-card-flash-red .7s ease-out}.pf-stat-value.pf-flash-up{color:var(--green-primary);text-shadow:0 0 8px rgba(0,214,107,.3);animation:pf-price-flash .7s ease-out}.pf-stat-value.pf-flash-down{color:var(--red-primary);text-shadow:0 0 8px rgba(255,41,82,.3);animation:pf-price-flash .7s ease-out}.pf-chart-value.pf-flash-up{color:var(--green-primary);text-shadow:0 0 12px rgba(0,214,107,.3);animation:pf-price-flash .7s ease-out}.pf-chart-value.pf-flash-down{color:var(--red-primary);text-shadow:0 0 12px rgba(255,41,82,.3);animation:pf-price-flash .7s ease-out}@keyframes pf-card-flash-green{0%{background:#00d66b14;box-shadow:0 0 30px #00d66b33}to{background:var(--bg-card);box-shadow:none}}@keyframes pf-card-flash-red{0%{background:#ff295214;box-shadow:0 0 30px #ff295233}to{background:var(--bg-card);box-shadow:none}}@keyframes pf-price-flash{0%,30%{transform:scale(1.03)}to{transform:scale(1)}}.pf-stat-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.pf-stat-value{font-size:18px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.pf-stat-pct{font-size:13px;font-weight:500}.pf-stat-ext{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;font-family:var(--font-mono);margin-top:2px}.pf-up{color:var(--green-primary)}.pf-down{color:var(--red-primary)}.pf-ext-line{display:flex;align-items:center;gap:4px;margin-top:2px;font-size:11px}.pf-ext-label{font-size:9px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px;background:#ffffff0f;padding:1px 4px;border-radius:3px}[data-theme=light] .pf-ext-label{background:#0000000f}.pf-add-form{display:flex;gap:8px;margin-bottom:20px;align-items:stretch}.pf-input{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:8px 12px;color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s ease}.pf-input:focus{border-color:var(--accent)}.pf-input::placeholder{color:var(--text-dim)}.pf-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pf-input[type=number]::-webkit-inner-spin-button,.pf-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.pf-num-wrapper{position:relative;display:flex;align-items:stretch}.pf-num-wrapper .pf-input{width:100%;padding-right:28px;box-sizing:border-box}.pf-num-arrows{position:absolute;right:1px;top:1px;bottom:1px;width:24px;display:flex;flex-direction:column;border-left:1px solid var(--border-subtle);border-radius:0 7px 7px 0;overflow:hidden}.pf-num-arrow{flex:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:8px;padding:0;line-height:1;transition:background .1s ease,color .1s ease}.pf-num-arrow:hover{background:var(--bg-card-hover);color:var(--text-primary)}.pf-num-arrow:active{background:var(--accent);color:#fff}.pf-num-arrow+.pf-num-arrow{border-top:1px solid var(--border-subtle)}.pf-search-wrapper{position:relative;flex:1;min-width:160px}.pf-search-input{width:100%;box-sizing:border-box}.pf-num-wrapper.pf-shares-wrapper,.pf-num-wrapper.pf-cost-wrapper{width:110px}.pf-suggestions{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:0 0 8px 8px;max-height:220px;overflow-y:auto;list-style:none;margin:0;padding:0;box-shadow:0 8px 24px #0006}.pf-suggestion{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .1s ease}.pf-suggestion:hover{background:var(--bg-card-hover)}.pf-suggestion-sym{font-weight:700;font-size:13px;color:var(--text-primary);min-width:60px}.pf-suggestion-name{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-add-btn{padding:8px 20px;background:var(--green-primary);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s ease,transform .1s ease;white-space:nowrap}.pf-add-btn:hover{background:var(--green-hover);transform:translateY(-1px)}.pf-chart-section{margin-bottom:24px}.pf-chart-header{margin-bottom:8px}.pf-chart-value{font-size:28px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono);line-height:1.2;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pf-chart-market-badge{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;background:#ffffff0f;padding:2px 8px;border-radius:4px;vertical-align:middle}[data-theme=light] .pf-chart-market-badge{background:#0000000f}.pf-chart-changes{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pf-chart-change{font-size:14px;font-weight:600;font-family:var(--font-mono)}.pf-chart-ext-change{font-size:13px;font-weight:600;font-family:var(--font-mono);display:inline-flex;align-items:center;gap:5px}.pf-chart-ext-label{font-size:9px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;background:#ffffff0f;padding:1px 5px;border-radius:3px}[data-theme=light] .pf-chart-ext-label{background:#0000000f}.pf-chart-container{position:relative;width:100%;height:260px;border-radius:8px;overflow:hidden}.pf-chart-container a[href*=tradingview]{opacity:.08!important;font-size:9px!important;position:absolute!important;left:8px!important;right:auto!important;bottom:4px!important;top:auto!important;z-index:1!important;transition:none!important}.pf-chart-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:13px}.pf-chart-timeframes{display:flex;gap:4px;margin-top:12px}.pf-tf-btn{flex:1;padding:6px 0;background:none;border:1px solid transparent;border-radius:6px;color:var(--text-dim);font-size:12px;font-weight:600;cursor:pointer;transition:color .15s ease,background .15s ease;text-align:center;font-family:var(--font-mono)}.pf-tf-btn:hover{color:var(--text-primary);background:var(--hover-overlay)}.pf-tf-active{color:var(--text-primary);background:var(--bg-card);border-color:var(--border-subtle)}.pf-allocation-section{margin-bottom:20px}.pf-allocation-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-subtle);margin-bottom:8px}.pf-allocation-seg{min-width:3px;transition:width .3s ease}.pf-allocation-legend{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--text-dim)}.pf-legend-item{display:flex;align-items:center;gap:4px}.pf-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.pf-table-wrapper{overflow-x:auto}.pf-holdings-table{width:100%;border-collapse:collapse;font-size:13px}.pf-th{padding:10px 12px;text-align:right;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:1px solid var(--border-subtle);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:color .15s ease}.pf-th:hover{color:var(--text-primary)}.pf-th-symbol{text-align:left}.pf-row{cursor:pointer;transition:background .1s ease}.pf-row:hover{background:var(--bg-card-hover)}.pf-td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);text-align:right;white-space:nowrap}.pf-td-symbol{text-align:left;display:flex;align-items:center;gap:10px;font-family:inherit}.pf-symbol-info{display:flex;flex-direction:column}.pf-symbol-name{font-weight:700;font-size:13px;color:var(--text-primary)}.pf-symbol-full{font-size:11px;color:var(--text-dim);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-td-actions{text-align:center;white-space:nowrap}.pf-action-btn{background:none;border:none;cursor:pointer;padding:4px 6px;font-size:14px;border-radius:4px;transition:background .15s ease;color:var(--text-dim)}.pf-action-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.pf-delete-btn:hover{color:var(--red-primary)}.pf-save-btn:hover{color:var(--green-primary)}.pf-edit-input{background:var(--bg-card);border:1px solid var(--accent);border-radius:4px;padding:4px 6px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;width:80px;outline:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pf-edit-input::-webkit-inner-spin-button,.pf-edit-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.pf-empty{text-align:center;padding:60px 20px;color:var(--text-dim)}.pf-empty-icon{font-size:48px;margin-bottom:12px}.pf-empty h3{font-size:18px;color:var(--text-primary);margin:0 0 8px}.pf-empty p{font-size:14px;max-width:340px;margin:0 auto;line-height:1.5}.pf-cards-mobile{display:none}.portfolio-edge-toggle{position:absolute;top:120px;right:0;z-index:5;width:32px;height:auto;padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;border-radius:0 8px 8px 0;background:#1e1e32f2;border:1px solid rgba(100,100,180,.3);border-left:none;color:#a0a0dce6;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.portfolio-edge-toggle:hover{background:#282846;border-color:#7878c880;color:#fff}.portfolio-edge-toggle .toggle-icon{font-size:12px}.portfolio-edge-toggle .toggle-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:11px;font-weight:600;letter-spacing:1px;font-family:var(--font-mono)}.ticker-sidebar-tab--portfolio{font-size:11px}.pf-sidebar-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono)}.pf-sidebar-total{font-size:14px;font-weight:700;color:var(--text-primary)}.pf-sidebar-pl{font-size:13px;font-weight:600}.pf-sidebar-row{cursor:pointer}.pf-sidebar-open-btn{display:block;width:calc(100% - 24px);margin:12px auto;padding:8px 16px;background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-size:12px;font-weight:600;cursor:pointer;text-align:center;transition:background .15s ease,border-color .15s ease}.pf-sidebar-open-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}@media (max-width: 768px){.portfolio-main{padding:16px 12px}.pf-summary-bar{grid-template-columns:repeat(2,1fr);gap:8px}.pf-stat-value{font-size:15px}.pf-add-form{flex-wrap:wrap}.pf-search-wrapper{flex:1 1 100%}.pf-num-wrapper.pf-shares-wrapper,.pf-num-wrapper.pf-cost-wrapper{flex:1;width:auto;min-width:80px}.pf-add-btn{flex:0 0 auto}.pf-table-wrapper{display:none}.pf-cards-mobile{display:flex;flex-direction:column;gap:8px;margin-top:16px}.pf-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;padding:12px;cursor:pointer;transition:background .15s ease}.pf-card:active{background:var(--bg-card-hover)}.pf-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.pf-card-symbol-row{display:flex;align-items:center;gap:10px}.pf-card-sym{font-weight:700;font-size:14px;color:var(--text-primary)}.pf-card-name{font-size:11px;color:var(--text-dim)}.pf-card-actions{display:flex;gap:4px}.pf-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pf-card-cell{display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.pf-card-label{font-size:10px;color:var(--text-dim);font-family:inherit;text-transform:uppercase;letter-spacing:.3px}.pf-chart-value{font-size:22px}.pf-chart-market-badge{font-size:9px}.pf-chart-ext-change{font-size:11px}.pf-chart-container{height:200px}.pf-chart-change{font-size:12px}}.pf-edit-overlay{position:fixed;left:0;right:0;top:0;height:100%;z-index:200;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:12px;animation:pf-edit-fade-in .15s ease;overflow:hidden}@keyframes pf-edit-fade-in{0%{opacity:0}to{opacity:1}}.pf-edit-sheet{width:100%;max-width:400px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:20px;box-shadow:0 8px 40px #00000080;animation:pf-edit-pop-in .2s ease}@keyframes pf-edit-pop-in{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.pf-edit-sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.pf-edit-sheet-symbol{display:flex;align-items:center;gap:10px}.pf-edit-sheet-sym{font-weight:700;font-size:16px;color:var(--text-primary)}.pf-edit-sheet-name{font-size:12px;color:var(--text-dim)}.pf-edit-sheet-close{background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1;transition:color .15s ease}.pf-edit-sheet-close:hover{color:var(--text-primary)}.pf-edit-sheet-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pf-edit-sheet-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.pf-edit-sheet-input{background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:8px;padding:10px 14px;color:var(--text-primary);font-family:var(--font-mono);font-size:16px;outline:none;transition:border-color .15s ease;-webkit-appearance:none}.pf-edit-sheet-input:focus{border-color:var(--accent-cyan, #00e5ff)}.pf-edit-sheet-input::-webkit-inner-spin-button,.pf-edit-sheet-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.pf-edit-sheet-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pf-edit-sheet-actions{display:flex;gap:10px}.pf-edit-sheet-btn{flex:1;padding:12px 0;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.pf-edit-sheet-cancel{background:var(--bg-card-hover);color:var(--text-primary);border:1px solid var(--border-subtle)}.pf-edit-sheet-save{background:#00c853;color:#fff}.pf-edit-sheet-save:active{transform:scale(.98)}@media (max-width: 1024px){.portfolio-edge-toggle{display:none}}
