@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap);:root{--bg:#0b0e14;--surface:#131722;--surface-2:#171b26;--border:#232734;--border-soft:#1b1f2b;--text:#d1d4dc;--text-dim:#787b86;--text-faint:#4a4e5a;--accent:#2962ff;--accent-dim:#1b3a8a;--accent-hover:#1f4fd6;--pos:#089981;--pos-dim:#0899811f;--neg:#f23645;--neg-dim:#f236451f;--warn:#d97706;--warn-dim:#d977061f;--radius:6px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0b0e14;background-color:var(--bg);color:#d1d4dc;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;margin:0}.mono,code{font-family:IBM Plex Mono,Menlo,Monaco,Consolas,Courier New,monospace}.num{font-feature-settings:"tnum" 1,"tnum";font-variant-numeric:tabular-nums}.nav-bar{background-color:var(--surface);border-bottom:1px solid var(--border);height:60px;justify-content:space-between;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-bar,.nav-brand{align-items:center;display:flex}.nav-brand{flex:1 1;gap:8px}.nav-brand-mark{display:flex;flex-shrink:0}.nav-brand-text{color:var(--text);font-size:14px;font-weight:700;letter-spacing:.02em;line-height:1.15}.nav-brand-text small{color:var(--text-faint);display:block;font-size:9.5px;font-weight:500;letter-spacing:.12em}.links{background-color:var(--surface-2);border-radius:6px;display:flex;gap:2px;padding:3px}.sign-in-button{align-items:center;display:flex;flex:1 1;gap:8px;justify-content:flex-end}.navbar-link,.navbar-link-active{border-radius:4px;font-size:12.5px;font-weight:600;padding:6px 14px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.navbar-link{background-color:initial;color:var(--text-dim)}.navbar-link:hover{color:var(--text)}.navbar-link-active{background-color:var(--accent);color:#fff}.navbar-link-sign-in{background-color:initial;border:1px solid var(--border);border-radius:5px;color:var(--text);font-size:12.5px;font-weight:600;padding:6px 14px;text-decoration:none;transition:border-color .15s ease,color .15s ease}.navbar-link-sign-in:hover{border-color:var(--text-dim);color:#fff}.navbar-link-sign-up{background-color:var(--accent);border:1px solid var(--accent);border-radius:5px;color:#fff;font-size:12.5px;font-weight:600;padding:6px 14px;text-decoration:none;transition:background-color .15s ease}.navbar-link-sign-up:hover{background-color:var(--accent-hover)}a{color:inherit;text-decoration:none}.layout{display:flex;height:calc(100vh - 60px)}.sidebar{background-color:var(--surface);border-right:1px solid var(--border-soft);color:var(--text);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:14px 10px;width:208px}.side-group{margin-bottom:18px}.side-group:last-child{margin-bottom:0}.side-title{color:var(--text-faint);font-size:10.5px;font-weight:600;letter-spacing:.09em;padding:4px 10px 8px;text-transform:uppercase}.sidebar-items{display:flex;flex-direction:column;gap:2px}.sidebar-item{align-items:center;border-left:2px solid #0000;border-radius:5px;color:var(--text-dim);display:flex;font-size:12.5px;font-weight:500;gap:9px;padding:7px 10px;text-decoration:none;transition:background-color .15s ease,color .15s ease}.sidebar-item svg{flex-shrink:0;opacity:.75}.sidebar-item.active,.sidebar-item:hover{background-color:var(--surface-2);color:var(--text)}.sidebar-item.active{border-left-color:var(--accent)}.sidebar-item.active svg{stroke:var(--accent);opacity:1}.main-content{background-color:var(--bg);background-image:radial-gradient(circle at 20% 30%,#2962ff08 0,#0000 50%),radial-gradient(circle at 80% 70%,#2962ff05 0,#0000 50%);flex:1 1;overflow-y:auto;padding:24px}.indices-page{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1600px;padding:24px;width:100%}.indices-hero{width:100%}.indices-secondary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);width:100%}.indices-stock-chart{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-width:0;padding:18px 20px;transition:border-color .15s ease}.indices-stock-chart:hover{border-color:var(--accent)}.indices-stock-chart--hero{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.chart-card-head{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:2px}.chart-title{color:var(--text);font-size:15px;font-weight:700;margin:0}.chart-title--hero{font-size:20px}.chart-symbol{color:var(--text-faint);display:block;font-size:11px;font-weight:500;margin-top:2px}.chart-price{color:var(--text);font-size:19px;font-weight:700;margin:2px 0 10px}.chart-price--hero{font-size:27px;margin:4px 0 14px}.chart{width:100%}.indices-skeleton-card,.indices-skeleton-hero{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.skeleton-block,.skeleton-line{animation:indices-shimmer 1.5s infinite}@keyframes indices-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (min-width:1920px){.indices-secondary{grid-template-columns:repeat(4,1fr)}}@media (max-width:900px){.indices-secondary{grid-template-columns:1fr}.indices-page{padding:16px}}.stock-change{font-feature-settings:"tnum" 1,"tnum";align-items:center;align-self:flex-start;border-radius:4px;display:inline-flex;font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:600;gap:3px;padding:3px 8px;white-space:nowrap}.stock-change.positive{background-color:var(--pos-dim);color:var(--pos)}.stock-change.negative{background-color:var(--neg-dim);color:var(--neg)}.stock-change.neutral{background-color:var(--surface-2);color:var(--text-dim)}.stock-change-arrow{flex-shrink:0}.ai-chat-container{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;height:420px;overflow:hidden}.ai-chat-history{flex:1 1;overflow-y:auto;padding:18px}.ai-chat-empty{align-items:center;color:var(--text-faint);display:flex;flex-direction:column;height:100%;justify-content:center;padding:20px;text-align:center}.ai-chat-empty svg{margin-bottom:8px;opacity:.6}.ai-chat-empty h4{color:var(--text);font-size:13.5px;font-weight:700;margin:0 0 4px}.ai-chat-empty p{color:var(--text-dim);font-size:12px;line-height:1.5;margin:0 0 14px;max-width:320px}.ai-chat-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ai-chat-chip{background-color:var(--surface-2);border:1px solid var(--border);border-radius:16px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:11.5px;padding:7px 12px;transition:border-color .15s ease,color .15s ease}.ai-chat-chip:hover{border-color:var(--accent);color:var(--text)}.ai-chat-exchange{margin-bottom:16px}.ai-chat-user-message{background-color:var(--accent-dim);margin-bottom:8px;margin-left:auto;padding:10px 14px}.ai-chat-ai-message,.ai-chat-user-message{border-radius:8px;color:var(--text);font-size:13px;line-height:1.55;max-width:80%}.ai-chat-ai-message{background-color:var(--surface-2);border:1px solid var(--border);padding:14px 16px}.ai-chat-ai-label{color:var(--text-faint);display:block;font-size:10.5px;font-weight:600;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.ai-chat-ai-message p{margin:0 0 10px}.ai-chat-ai-message p:last-child{margin-bottom:0}.ai-chat-ai-message h1,.ai-chat-ai-message h2,.ai-chat-ai-message h3{color:var(--text);font-size:14px;font-weight:700;margin:14px 0 8px}.ai-chat-ai-message h4{font-size:13px}.ai-chat-ai-message h4,.ai-chat-ai-message strong{color:var(--text);font-weight:600}.ai-chat-ai-message em{color:var(--text-dim)}.ai-chat-ai-message ol,.ai-chat-ai-message ul{margin:8px 0;padding-left:18px}.ai-chat-ai-message li{margin-bottom:4px}.ai-chat-loading{background-color:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:12.5px;max-width:80%;padding:10px 14px}.ai-chat-form{border-top:1px solid var(--border-soft);display:flex;gap:8px;padding:12px}.ai-chat-input{background-color:var(--surface-2);border:1px solid var(--border);border-radius:5px;color:var(--text);flex:1 1;font-family:inherit;font-size:12.5px;outline:none;padding:9px 12px;transition:border-color .15s ease}.ai-chat-input::placeholder{color:var(--text-faint)}.ai-chat-input:focus{border-color:var(--accent)}.ai-chat-input:disabled{cursor:not-allowed;opacity:.6}.ai-chat-submit-btn{background-color:var(--accent);border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;padding:0 18px;transition:background-color .15s ease}.ai-chat-submit-btn:hover:not(:disabled){background-color:var(--accent-hover)}.ai-chat-submit-btn:disabled{cursor:not-allowed;opacity:.5}.ai-chat-clear-btn{background-color:initial;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:0 14px;transition:color .15s ease,border-color .15s ease}.ai-chat-clear-btn:hover:not(:disabled){border-color:var(--text-dim);color:var(--text)}.ai-chat-clear-btn:disabled{cursor:not-allowed;opacity:.5}.ai-chat-history::-webkit-scrollbar{width:8px}.ai-chat-history::-webkit-scrollbar-track{background:var(--surface)}.ai-chat-history::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.ai-chat-history::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:6px solid #3a404a;border-radius:50%;border-top-color:#0ea5e9;height:60px;width:60px}.loading-container p{color:#fff;font-size:16px;font-weight:500;margin:0}.trade-loading-spinner{animation:spin 1s linear infinite;border:4px solid #3a404a;border-radius:50%;border-top-color:#0ea5e9;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.search-stocks-page{display:flex;flex-direction:column;gap:14px;margin:0 auto;max-width:1200px;padding:24px;width:100%}.search-bar{display:flex;gap:10px}.search-input{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1 1;font-family:inherit;font-size:13px;outline:none;padding:11px 16px;transition:border-color .15s ease}.search-input::placeholder{color:var(--text-faint)}.search-input:focus{border-color:var(--accent)}.search-submit{background-color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:0 22px;transition:background-color .15s ease}.search-submit:hover{background-color:var(--accent-hover)}.search-stocks-meta{color:var(--text-faint);font-size:12px}.stocks-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.stock-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;display:block;font-family:inherit;padding:16px 18px;text-align:left;transition:border-color .15s ease,background-color .15s ease;width:100%}.stock-card:hover{background-color:var(--surface-2);border-color:var(--accent)}.stock-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stock-card-head{margin-bottom:6px}.stock-symbol{color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.03em}.stock-name{color:var(--text);font-size:15px;font-weight:600;line-height:1.3;margin:0}@media (max-width:640px){.search-stocks-page{padding:16px}.search-bar{flex-direction:column}.search-submit{padding:10px}}.stock-details-page{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:900px;padding:24px;width:100%}.stock-details-error-message{background-color:var(--neg-dim);border:1px solid var(--neg);border-radius:var(--radius);color:var(--neg);font-size:13px;padding:12px 16px;text-align:center}.details-ticker-switch{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-faint);display:flex;gap:8px;max-width:320px;padding:9px 14px;transition:border-color .15s ease}.details-ticker-switch:focus-within{border-color:var(--accent)}.details-ticker-switch input{background:none;border:none;color:var(--text);flex:1 1;font-family:inherit;font-size:12.5px;outline:none}.details-ticker-switch input::placeholder{color:var(--text-faint)}.details-header{display:flex;flex-direction:column;gap:8px}.details-header-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.details-header-left{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.details-header-left h1{color:var(--text);font-size:28px;font-weight:700;letter-spacing:-.01em;margin:0}.details-company-name{color:var(--text-dim);font-size:14px}.details-sector-badge{background-color:var(--surface-2);border:1px solid var(--border);border-radius:12px;color:var(--text-dim);font-size:11px;font-weight:600;padding:3px 9px}.details-header-actions{align-items:center;display:flex;gap:8px}.btn-buy-lg,.btn-sell-lg{border-radius:5px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:9px 22px}.details-watchlist-btn{align-items:center;background-color:initial;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);cursor:pointer;display:flex;height:38px;justify-content:center;transition:color .15s ease,border-color .15s ease;width:38px}.details-watchlist-btn:hover{border-color:var(--text-dim);color:var(--text)}.details-watchlist-btn.active{border-color:var(--accent);color:var(--accent)}.details-watchlist-btn:disabled{cursor:not-allowed;opacity:.5}.details-price-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px}.details-price{color:var(--text);font-size:38px;font-weight:700;line-height:1}.details-change{font-size:14px;font-weight:600}.details-change.positive{color:var(--pos)}.details-change.negative{color:var(--neg)}.details-holding-bar{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);display:flex;font-size:13px;gap:10px;padding:14px 18px}.details-holding-bar svg{color:var(--accent);flex-shrink:0}.details-holding-note{color:var(--text-faint);font-size:11.5px;margin-left:auto}.details-chart-section{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.details-chart-head{display:flex;justify-content:flex-end;margin-bottom:10px}.details-timeframe-toggle{background-color:var(--surface-2);border-radius:6px;display:flex;gap:2px;padding:3px}.details-timeframe-toggle button{background:#0000;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:600;padding:6px 14px;transition:background-color .15s ease,color .15s ease}.details-timeframe-toggle button:hover{color:var(--text)}.details-timeframe-toggle button.active{background-color:var(--accent);color:#fff}.details-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.details-stat{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.details-stat-label{color:var(--text-faint);font-size:11px;margin-bottom:5px}.details-stat-value{font-feature-settings:"tnum";color:var(--text);font-size:17px;font-variant-numeric:tabular-nums;font-weight:700}.details-week52{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.details-week52-track{background-color:var(--border);border-radius:2px;height:3px;margin:12px 0 8px;position:relative}.details-week52-marker{background-color:var(--text);border-radius:2px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);width:3px}.details-week52-labels{font-feature-settings:"tnum";color:var(--text-dim);display:flex;font-size:12px;font-variant-numeric:tabular-nums;justify-content:space-between}.details-whatif{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.details-whatif h3{color:var(--text);font-size:14px;font-weight:700;margin:0 0 14px}.details-whatif-row{align-items:center;color:var(--text-dim);display:flex;flex-wrap:wrap;font-size:13px;gap:10px}.details-whatif-dollar{color:var(--text-faint)}.details-whatif-input{font-size:14px;width:110px}.details-whatif-input,.details-whatif-select{background-color:var(--surface-2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:inherit;padding:9px 12px}.details-whatif-select{flex:1 1;font-size:13px;min-width:160px}.details-whatif-btn{background-color:initial;border:1px solid var(--border);border-radius:5px;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;transition:border-color .15s ease}.details-whatif-btn:hover{border-color:var(--accent)}.details-whatif-result{border-top:1px solid var(--border-soft);color:var(--text-dim);font-size:14px;margin-top:14px;padding-top:14px}.details-whatif-result strong{color:var(--text);font-size:17px}.details-whatif-result .positive{color:var(--pos);font-weight:600}.details-whatif-result .negative{color:var(--neg);font-weight:600}.details-news{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.details-news h3{color:var(--text);font-size:14px;font-weight:700;margin:0 0 12px}.details-news-item{border-bottom:1px solid var(--border-soft);display:block;padding:10px 0;text-decoration:none}.details-news-item:last-child{border-bottom:none}.details-news-title{color:var(--text);font-size:13.5px;font-weight:600;line-height:1.4;margin-bottom:4px}.details-news-item:hover .details-news-title{color:var(--accent)}.details-news-meta{color:var(--text-faint);font-size:11.5px}.details-news-empty{color:var(--text-faint);font-size:12.5px;margin:0}.details-news-skeleton{gap:10px}.details-news-skeleton,.details-skeleton{display:flex;flex-direction:column}.skeleton-block{border-radius:var(--radius)}.skeleton-block,.skeleton-line{animation:details-shimmer 1.5s infinite}@keyframes details-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ai-agent-div{margin-top:4px}@media (max-width:640px){.stock-details-page{padding:16px}.details-stats-grid{grid-template-columns:repeat(2,1fr)}.details-header-actions{width:100%}.details-whatif-row{align-items:stretch}}.trade-modal-backdrop{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background-color:#06080cb8;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:999}.buy-container{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:440px;overflow-y:auto;padding:28px;width:100%}.buy-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.buy-header h1{color:var(--text);font-size:17px;font-weight:700;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;display:flex;font-size:16px;height:26px;justify-content:center;padding:0;transition:background-color .15s ease,color .15s ease;width:26px}.close-button:hover{background-color:var(--surface-2);color:var(--text)}.stock-search-section{margin-bottom:18px}.form-group label,.stock-search-section label{color:var(--text-faint);display:block;font-size:10.5px;font-weight:600;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.form-group input,.stock-search-input{background-color:var(--surface-2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:inherit;font-size:13px;padding:10px 12px;transition:border-color .15s ease;width:100%}.form-group input:focus,.stock-search-input:focus{border-color:var(--accent);outline:none}.order-form{display:flex;flex-direction:column;gap:18px}.order-type-buttons{display:flex;gap:8px}.order-type-buttons button{background-color:var(--surface-2);border:1px solid var(--border);border-radius:5px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:9px 16px;transition:border-color .15s ease,color .15s ease}.order-type-buttons button:hover{border-color:var(--accent);color:var(--text)}.order-type-buttons button.active{background-color:var(--accent-dim);border-color:var(--accent);color:#8fb2ff}.order-type-buttons button.coming-soon{align-items:center;cursor:not-allowed;display:inline-flex;gap:6px;opacity:.55}.order-type-buttons button.coming-soon:hover{border-color:var(--border);color:var(--text-dim)}.order-type-soon-badge{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-faint);font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 5px;text-transform:uppercase}.order-summary{background-color:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:14px 16px}.summary-row{color:var(--text-dim);display:flex;font-size:12.5px;justify-content:space-between;margin-bottom:10px}.summary-row:last-child{margin-bottom:0}.summary-row.total{border-top:1px solid var(--border-soft);color:var(--text);font-size:14px;font-weight:700;margin-top:10px;padding-top:10px}.summary-row .positive{color:var(--pos)}.summary-row .negative{color:var(--neg)}.error-message{background-color:var(--neg-dim);border:1px solid var(--neg);border-radius:5px;color:var(--neg)}.error-message,.warning-message{font-size:12.5px;padding:10px 14px}.warning-message{background-color:var(--warn-dim);border:1px solid var(--warn);border-radius:5px;color:var(--warn)}.form-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 2fr;margin-top:4px}.cancel-button{background-color:initial;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:10px;transition:color .15s ease,border-color .15s ease}.cancel-button:hover{border-color:var(--text-dim);color:var(--text)}.buy-button{background-color:var(--accent);border:1px solid var(--accent);border-radius:5px;color:#fff;cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;padding:10px;transition:background-color .15s ease}.buy-button:hover:not(:disabled){background-color:var(--accent-hover)}.buy-button:disabled{background-color:var(--surface-2);border-color:var(--border);color:var(--text-faint);cursor:not-allowed}@media (max-width:480px){.buy-container{padding:20px}.form-actions{grid-template-columns:1fr}}.movers-page{margin:0 auto;max-width:1400px;padding:24px;width:100%}.movers-columns{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.movers-panel{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.movers-panel-head{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;padding:12px 16px}.movers-panel-head h3{color:var(--text);font-size:13px;font-weight:700;margin:0}.movers-count{color:var(--text-faint);font-size:11px;font-weight:600}.movers-list-scroll{max-height:640px;overflow-y:auto}.movers-table{border-collapse:collapse;table-layout:fixed;width:100%}.movers-row{cursor:pointer}.movers-row:hover td{background-color:var(--surface-2)}.movers-row td{border-bottom:1px solid var(--border-soft);font-size:12.5px;padding:8px 12px;transition:background-color .15s ease;vertical-align:middle}.movers-row:last-child td{border-bottom:none}.movers-rank{color:var(--text-faint);font-size:11px;text-align:right;width:28px}.movers-symbol{color:var(--accent);font-weight:600;white-space:nowrap;width:62px}.movers-name{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.movers-bar-cell{width:72px}.movers-bar-track{background-color:var(--surface-2);border-radius:3px;height:5px;overflow:hidden;width:100%}.movers-bar-fill{border-radius:3px;height:100%}.movers-bar-fill.positive{background-color:var(--pos)}.movers-bar-fill.negative{background-color:var(--neg)}.movers-change{text-align:right;white-space:nowrap;width:92px}.movers-skeleton-rows{display:flex;flex-direction:column;gap:10px;padding:12px 16px}.skeleton-line{animation:movers-shimmer 1.5s infinite}@keyframes movers-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:800px){.movers-columns{grid-template-columns:1fr}}@media (max-width:480px){.movers-page{padding:16px}.movers-name{display:none}}.sectors-page{display:flex;flex-direction:column;gap:18px;margin:0 auto;max-width:1600px;padding:24px;width:100%}.sectors-hero{width:100%}.sectors-secondary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.sectors-skeleton-card,.sectors-skeleton-hero{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.skeleton-block,.skeleton-line{animation:sectors-shimmer 1.5s infinite}@keyframes sectors-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:480px){.sectors-page{padding:16px}}.mini-stock-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:10px;padding:12px 14px;text-align:left;transition:border-color .15s ease,background-color .15s ease}.mini-stock-card:hover{background-color:var(--surface-2);border-color:var(--accent)}.mini-stock-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mini-stock-head{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.mini-stock-name{color:var(--text);font-size:12.5px;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-stock-symbol{color:var(--text-faint);display:block;font-size:10.5px;margin-top:2px}.mini-stock-change{flex-shrink:0;font-size:11.5px;font-weight:700}.mini-stock-change.positive{color:var(--pos)}.mini-stock-change.negative{color:var(--neg)}.mini-stock-bottom{align-items:center;display:flex;gap:8px;justify-content:space-between}.mini-stock-price{color:var(--text);font-size:15px;font-weight:700}.mini-stock-spark{flex-shrink:0;height:28px;width:90px}.mini-stock-spark svg{display:block;height:100%;width:100%}.sign-up-page{align-items:center;background-color:#0f1419;display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif;justify-content:center;min-height:100vh}.sign-up-form{background:linear-gradient(180deg,#1a2230,#16181d);border:1px solid #2a2e35;border-radius:12px;box-shadow:0 8px 24px #00000080;max-width:420px;padding:40px;width:100%}.sign-up-title{color:#fff;font-size:28px;font-weight:700;margin:0 0 32px;text-align:center}.form-group{display:block;margin-bottom:24px;width:100%}.form-label{color:#93c5fd;display:block;font-size:14px;font-weight:600;letter-spacing:.02em;margin-bottom:8px}.form-input{background-color:#0f1419;border:1px solid #2a2e35;border-radius:8px;box-sizing:border-box;color:#e5e7eb;display:block;font-family:Inter,system-ui,sans-serif;font-size:16px;max-width:100%;padding:12px 16px;transition:all .2s;width:100%}.form-input::placeholder{color:#6b7280}.form-input:focus{background-color:#16181d;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.password-hint{color:#6b7280;font-size:12px;margin-bottom:0;margin-top:6px}.password-input-wrapper{display:block;position:relative;width:100%}.password-input-wrapper .form-input{box-sizing:border-box;max-width:100%;padding-right:45px;width:100%}.password-toggle{background:none;border:none;cursor:pointer;font-size:18px;opacity:.6;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:opacity .2s}.password-toggle:hover{opacity:1}.error-message{background-color:#ef44441a;border:1px solid #ef4444;border-radius:8px;color:#ef4444;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}.submit-button{background:#0ea5e9;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:600;margin-top:8px;padding:12px 24px;transition:all .2s;width:100%}.submit-button:hover{background-color:#0284c7;box-shadow:0 4px 20px #0ea5e94d}.submit-button:active{transform:translateY(1px)}.submit-button:disabled{background-color:#6b7280;cursor:not-allowed;opacity:.6}.submit-button:disabled:hover{background-color:#6b7280;box-shadow:none;transform:none}.auth-switch{color:#9ca3af;font-size:14px;margin-top:20px;text-align:center}.auth-link{color:#0ea5e9;font-weight:600;text-decoration:none;transition:color .2s}.auth-link:hover{color:#0284c7;text-decoration:underline}.sign-in-loading{display:flex;justify-content:center;margin-top:8px;padding:12px}.watchlist-page{display:flex;flex-direction:column;gap:18px;margin:0 auto;max-width:1600px;min-height:calc(100vh - 60px);padding:24px;width:100%}.watchlist-skeleton-card,.watchlist-skeleton-hero{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.skeleton-block,.skeleton-line{animation:watchlist-shimmer 1.5s infinite}.skeleton-block{margin-top:10px}@keyframes watchlist-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.watchlist-toolbar{display:flex;gap:10px}.watchlist-btn-primary{background-color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;transition:background-color .15s ease}.watchlist-btn-primary:hover{background-color:var(--accent-hover)}.watchlist-btn-secondary{background-color:initial;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;transition:color .15s ease,border-color .15s ease}.watchlist-btn-secondary:hover{border-color:var(--text-dim);color:var(--text)}.watchlist-empty{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px 24px;text-align:center}.watchlist-empty p{color:var(--text-dim);font-size:13px;margin:0 0 14px}.watchlist-hero{width:100%}.watchlist-secondary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.delete-watchlist-list{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding:10px}.delete-watchlist-list::-webkit-scrollbar{width:8px}.delete-watchlist-list::-webkit-scrollbar-track{background:var(--bg);border-radius:4px}.delete-watchlist-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.delete-watchlist-list::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.delete-watchlist-button{background-color:initial;border:1px solid var(--neg);border-radius:5px;color:var(--neg);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:10px 14px;text-align:left;transition:background-color .15s ease,color .15s ease;width:100%}.delete-watchlist-button:hover{background-color:var(--neg);color:#fff}.form-backdrop{align-items:center;animation:fadeIn .15s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background-color:#06080cb8;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.add-stocks-form{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:480px;overflow-y:auto;padding:28px;position:relative;width:100%;z-index:1000}.add-stocks-button{border-bottom:1px solid var(--border-soft);color:var(--text);font-size:18px;font-weight:700;margin:0 0 20px;padding-bottom:14px}.stocks-to-add{background-color:var(--surface-2);border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:6px;margin-bottom:16px;max-height:180px;min-height:50px;overflow-y:auto;padding:10px}.stocks-to-add:empty:before{color:var(--text-faint);content:"No stocks selected yet";display:block;font-size:12.5px;padding:16px 0;text-align:center}.filtered-stocks-list::-webkit-scrollbar,.stocks-to-add::-webkit-scrollbar{width:8px}.filtered-stocks-list::-webkit-scrollbar-track,.stocks-to-add::-webkit-scrollbar-track{background:var(--bg);border-radius:4px}.filtered-stocks-list::-webkit-scrollbar-thumb,.stocks-to-add::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.filtered-stocks-list::-webkit-scrollbar-thumb:hover,.stocks-to-add::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.stocks-to-add .stock-form-card{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--text);display:flex;font-size:13px;font-weight:600;justify-content:space-between;padding:10px 12px;width:100%}.stocks-to-add .stock-form-card h1{color:var(--text);flex-grow:1;font-size:13px;font-weight:600;margin:0}.remove-stock-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--neg);cursor:pointer;display:flex;font-size:18px;font-weight:700;height:22px;justify-content:center;line-height:1;padding:0;transition:background-color .15s ease;width:22px}.remove-stock-btn:hover{background-color:var(--neg-dim)}.search-add-stocks{background-color:var(--surface-2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:inherit;font-size:13px;margin-bottom:10px;padding:10px 12px;transition:border-color .15s ease;width:100%}.search-add-stocks::placeholder{color:var(--text-faint)}.search-add-stocks:focus{border-color:var(--accent);outline:none}.add-button{background-color:initial;border:1px solid var(--accent);border-radius:5px;color:var(--accent);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;margin-bottom:14px;padding:9px 18px;transition:background-color .15s ease,color .15s ease;width:100%}.add-button:hover{background-color:var(--accent);color:#fff}.filtered-stocks-list{background-color:var(--surface-2);border:1px solid var(--border);border-radius:6px;margin-bottom:16px;max-height:240px;overflow-y:auto}.filtered-stocks-list:empty{display:none}.filtered-stocks-list .stock-form-card{border-bottom:1px solid var(--border-soft);color:var(--text);cursor:pointer;padding:10px 12px;transition:background-color .15s ease;width:100%}.filtered-stocks-list .stock-form-card:last-child{border-bottom:none}.filtered-stocks-list .stock-form-card:hover{background-color:var(--surface)}.filtered-stocks-list .stock-form-card h1{color:var(--text);font-size:12.5px;font-weight:600;margin:0}.form-save-button{background-color:var(--accent);border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:11px 20px;transition:background-color .15s ease;width:100%}.form-save-button:hover{background-color:var(--accent-hover)}@media (max-width:768px){.add-stocks-form{max-height:95vh;padding:20px}}@media (max-width:480px){.add-stocks-form,.watchlist-page{padding:16px}.watchlist-toolbar{flex-direction:column}}.overview-page{display:flex;flex-direction:column;gap:28px;min-height:calc(100vh - 60px);padding:24px}.overview-page-header{align-items:center;background-color:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:2px;padding:3px;width:-webkit-fit-content;width:fit-content}.overview-header-button{background:#0000;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 18px;transition:background-color .15s ease,color .15s ease}.overview-header-button:hover{color:var(--text)}.overview-header-button.active{background-color:var(--accent);color:#fff}.news-card:focus-visible,.overview-header-button:focus-visible,.stock-overview-card:focus-visible,.view-all-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overview-tab-content{display:flex;flex-direction:column;gap:32px}.overview-ai-section{margin-top:12px}.index-overview{display:flex;flex-direction:column;gap:14px}.overview-divider{border-bottom:1px solid var(--border-soft);display:flex;justify-content:flex-end;margin:0 0 4px;padding-bottom:10px}.view-all-link{color:var(--accent);font-size:12.5px;font-weight:600;letter-spacing:0;text-decoration:none;text-transform:none;transition:color .15s ease}.view-all-link:hover{color:var(--text)}.overview-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.stock-overview-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px 18px;transition:border-color .15s ease,background-color .15s ease}.stock-overview-card:hover{background-color:var(--surface-2);border-color:var(--accent)}.card-header{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.card-title{color:var(--text);font-size:14.5px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-symbol{color:var(--text-faint);flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.03em}.card-price{color:var(--text);font-size:21px;font-weight:700;margin:0}.sparkline{align-items:center;border-radius:4px;display:flex;height:56px;margin:2px 0;overflow:hidden}.sparkline svg{display:block;height:100%;width:100%}.sparkline.loading{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%}.overview-portfolio-row{grid-gap:14px;align-items:stretch;display:grid;gap:14px;grid-template-columns:3fr 2fr}.overview-side-column{display:flex;flex-direction:column;gap:14px}.mini-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.mini-card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.mini-card-head h3{color:var(--text);font-size:13px;font-weight:700;margin:0}.mini-card-link{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:600;padding:0;text-decoration:none}.mini-card-link:hover{color:var(--text)}.mini-card-empty{color:var(--text-faint);font-size:12px;margin:0}.mini-movers-list{display:flex;flex-direction:column;gap:2px}.mini-mover-row{align-items:center;display:flex;font-size:13px;justify-content:space-between;padding:6px 0;text-decoration:none}.mini-mover-symbol{color:var(--accent);font-weight:600}.mini-mover-divider{background-color:var(--border-soft);height:1px;margin:4px 0}.mini-news-list{gap:14px}.mini-news-item,.mini-news-list{display:flex;flex-direction:column}.mini-news-item{gap:4px}.mini-news-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text);display:-webkit-box;font-size:13px;font-weight:600;line-height:1.4;overflow:hidden;text-decoration:none}.mini-news-title:hover{color:var(--accent)}.mini-news-meta{color:var(--text-faint);font-size:11px}.sector-heatmap-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}.heatmap-tile{border:none;border-radius:6px;cursor:pointer;display:block;font-family:inherit;padding:18px 14px;text-align:center;transition:filter .15s ease;width:100%}.heatmap-tile:hover{filter:brightness(1.15)}.heatmap-tile:focus-visible{outline:2px solid var(--text);outline-offset:2px}.heatmap-tile-name{color:var(--text);font-size:13px;font-weight:600;margin-bottom:6px}.heatmap-tile-pct{color:var(--text);font-size:17px;font-weight:700}@media (max-width:900px){.overview-portfolio-row{grid-template-columns:1fr}.sector-heatmap-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.sector-heatmap-grid{grid-template-columns:1fr}}.skeleton-card{cursor:default;pointer-events:none}.skeleton-card .skeleton-line{border-radius:4px;height:12px}.news-section{display:flex;flex-direction:column;gap:18px}.news-search-bar{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:10px;padding:10px 12px}.news-input-wrapper{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.news-input-icon{color:var(--accent);flex-shrink:0;font-size:14px;font-weight:700}.news-input{background:#0000;border:none;color:var(--text);flex:1 1;font-family:inherit;font-size:13px;font-weight:500;min-width:0;outline:none}.news-input::placeholder{color:var(--text-faint)}.news-select{background-color:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12.5px;font-weight:500;outline:none;padding:7px 10px;transition:border-color .15s ease}.news-select:focus,.news-select:hover{border-color:var(--accent)}.news-search-btn{background-color:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 16px;transition:background-color .15s ease}.news-search-btn:hover{background-color:var(--accent-hover)}.news-list{display:flex;flex-direction:column;gap:10px}.news-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;cursor:pointer;display:flex;gap:16px;overflow:hidden;padding:14px;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.news-card:hover{background-color:var(--surface-2);border-color:var(--accent)}.news-card-image{background-color:var(--surface-2);border-radius:4px;flex-shrink:0;height:80px;overflow:hidden;width:100px}.news-card-image img{height:100%;object-fit:cover;width:100%}.news-card-body{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.news-card-meta{align-items:center;display:flex;gap:6px}.news-source{color:var(--accent);font-size:11.5px;font-weight:600}.news-dot{font-size:12px}.news-dot,.news-time{color:var(--text-faint)}.news-time{font-size:11.5px}.news-title{color:var(--text);font-size:14px;font-weight:700;line-height:1.4}.news-description,.news-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;margin:0;overflow:hidden}.news-description{color:var(--text-dim);font-size:12.5px;line-height:1.5}.news-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.news-tag{background-color:var(--accent-dim);border:1px solid var(--border);border-radius:4px;color:var(--accent);font-size:10.5px;font-weight:600;letter-spacing:.03em;padding:2px 7px}.news-empty,.news-error{color:var(--text-dim);font-size:13px;padding:40px 0;text-align:center}.news-error{color:var(--neg)}.news-card-skeleton{pointer-events:none}.skeleton-image{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%;border-radius:4px;flex-shrink:0;height:80px;width:100px}.skeleton-image,.skeleton-line{animation:shimmer 1.5s infinite}.skeleton-line.short{width:35%}.skeleton-line.medium{width:65%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (min-width:1600px){.overview-cards{grid-template-columns:repeat(4,1fr)}}@media (max-width:1200px){.overview-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.overview-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.overview-page{gap:22px;padding:16px}.overview-cards{gap:10px;grid-template-columns:repeat(2,1fr)}.stock-overview-card{padding:14px 16px}.news-search-bar{flex-wrap:wrap}.news-input-wrapper{width:100%}.news-card-image{height:65px;width:80px}.news-title{font-size:13.5px}}@media (max-width:480px){.overview-page{padding:12px}.overview-cards{grid-template-columns:1fr}.card-title{font-size:14px}}.holdings-panel{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden}.holdings-panel-head{align-items:center;border-bottom:1px solid var(--border-soft);display:flex;justify-content:space-between;padding:14px 18px}.holdings-panel-head h3{color:var(--text);font-size:14px;font-weight:700;margin:0}.holdings-cash{color:var(--text-dim);font-size:12.5px}.holdings-table-scroll{flex:1 1;overflow-x:auto}.holdings-table{border-collapse:collapse;width:100%}.holdings-header .holdings-data{border-bottom:1px solid var(--border-soft);color:var(--text-faint);font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:8px 18px;text-align:right;text-transform:uppercase;white-space:nowrap}.holdings-header .holdings-data:first-child{text-align:left}.holdings-row{border-bottom:1px solid var(--border-soft);transition:background-color .15s ease}.holdings-row:last-child{border-bottom:none}.holdings-row:hover{background-color:var(--surface-2)}.holdings-data{color:var(--text);font-size:12.5px;padding:10px 18px;text-align:right;white-space:nowrap}.holdings-data:first-child{text-align:left}.holdings-symbol a{color:var(--accent);font-weight:600;text-decoration:none}.holdings-symbol a:hover{text-decoration:underline}.positive{color:var(--pos)}.negative{color:var(--neg)}.holdings-more{border-top:1px solid var(--border-soft);padding:10px 18px;text-align:center}.holdings-more a{color:var(--accent);font-size:12.5px;font-weight:600;text-decoration:none}.holdings-more a:hover{color:var(--text)}.holdings-empty{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);font-size:13px;padding:32px 20px;text-align:center}.holdings-empty p{margin:0}.holdings-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.holdings-action-buy,.holdings-action-sell{border-radius:4px;cursor:pointer;font-family:inherit;font-size:10.5px;font-weight:700;padding:4px 10px;transition:background-color .15s ease,color .15s ease}.holdings-action-buy{background-color:var(--pos);border:1px solid var(--pos);color:#04120e}.holdings-action-buy:hover{background-color:#0bb894}.holdings-action-sell{background-color:initial;border:1px solid var(--neg);color:var(--neg)}.holdings-action-sell:hover{background-color:var(--neg-dim)}.holdings-empty-cta{background:none;border:none;color:var(--accent);cursor:pointer;display:inline-block;font-family:inherit;font-size:12.5px;font-weight:600;margin-top:12px;text-decoration:none}.holdings-empty-cta:hover{color:var(--text)}.holdings-skeleton-rows{display:flex;flex-direction:column;gap:8px;padding:14px 18px}.skeleton-line{animation:holdings-shimmer 1.5s infinite;width:100%}@keyframes holdings-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.simulator-page{display:flex;flex-direction:column;gap:20px;min-height:calc(100vh - 60px);padding:24px}.skeleton-block,.skeleton-line{animation:simulator-shimmer 1.5s infinite}@keyframes simulator-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.simulator-hero{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 28px}.simulator-hero-label{color:var(--text-dim);font-size:12.5px;margin-bottom:6px}.simulator-hero-value{color:var(--text);font-size:38px;font-weight:700;line-height:1.1}.simulator-hero-change{align-items:center;display:flex;font-size:13.5px;font-weight:600;gap:6px;margin-top:10px}.simulator-hero-change.positive{color:var(--pos)}.simulator-hero-change.negative{color:var(--neg)}.simulator-hero-change.muted{color:var(--text-faint);font-weight:500}.simulator-hero-change .today-label{color:var(--text-dim);font-weight:500;margin-left:2px}.simulator-hero-chart-section{margin-top:20px}.simulator-hero-chart-head{display:flex;justify-content:flex-end;margin-bottom:8px}.simulator-timeframe-toggle{background-color:var(--surface-2);border-radius:6px;display:flex;gap:2px;padding:3px}.simulator-timeframe-toggle button{background:#0000;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:600;padding:6px 14px;transition:background-color .15s ease,color .15s ease}.simulator-timeframe-toggle button:hover{color:var(--text)}.simulator-timeframe-toggle button.active{background-color:var(--accent);color:#fff}.simulator-hero-spark-wide{height:130px;width:100%}.simulator-hero-spark-wide svg{display:block;height:100%;width:100%}.simulator-hero-axis{color:var(--text-faint);display:flex;font-size:11px;justify-content:space-between;padding-top:4px}.simulator-hero-spark-empty{align-items:center;border:1px dashed var(--border);border-radius:5px;color:var(--text-faint);display:flex;font-size:12.5px;height:130px;justify-content:center}.simulator-hero-stats{grid-gap:20px;border-top:1px solid var(--border-soft);display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-top:22px;padding-top:20px}.simulator-stat-label{color:var(--text-dim);font-size:11.5px;margin-bottom:4px}.simulator-stat-value{color:var(--text);font-size:18px;font-weight:700}.simulator-stat-value.positive{color:var(--pos)}.simulator-stat-value.negative{color:var(--neg)}.simulator-stat-value.muted{color:var(--text-faint);font-weight:500}@media (max-width:640px){.simulator-hero-stats{grid-template-columns:repeat(2,1fr);row-gap:16px}.simulator-hero-spark-wide{height:90px}}.trade-buttons{display:flex;gap:12px;justify-content:center}.btn-buy-lg,.btn-sell-lg{border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:11px 28px;transition:background-color .15s ease,border-color .15s ease}.btn-buy-lg{background-color:var(--pos);border:1px solid var(--pos);color:#04120e}.btn-buy-lg:hover{background-color:#0bb894}.btn-sell-lg{background-color:initial;border:1px solid var(--neg);color:var(--neg)}.btn-sell-lg:hover{background-color:var(--neg-dim)}.danger-zone{align-items:center;background-color:var(--surface);border:1px solid #3a1f22;border-radius:var(--radius);display:flex;gap:16px;justify-content:space-between;margin-top:8px;padding:16px 20px}.danger-zone-text strong{color:var(--text);display:block;font-size:13px;margin-bottom:2px}.danger-zone-text p{color:var(--text-dim);font-size:12px;line-height:1.4;margin:0;max-width:480px}.reset-portfolio-button{background-color:initial;border:1px solid var(--neg);border-radius:var(--radius);color:var(--neg);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:700;padding:9px 18px;transition:background-color .15s ease,color .15s ease;white-space:nowrap}.reset-portfolio-button:hover{background-color:var(--neg);color:#fff}@media (max-width:900px){.simulator-page{padding:16px}.simulator-total-value{font-size:2.1rem}.trade-buttons{flex-direction:column}.trade-buttons button{width:100%}.danger-zone{align-items:flex-start;flex-direction:column}}.analytics-page{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:1400px;padding:24px;width:100%}.analytics-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.analytics-title{color:var(--text);font-size:20px;font-weight:700;margin:0 0 4px}.analytics-subtitle{color:var(--text-dim);font-size:12.5px;margin:0}.analytics-mode-toggle,.analytics-timeframe-toggle{background-color:var(--surface-2);border-radius:6px;display:flex;gap:2px;padding:3px}.analytics-mode-toggle button,.analytics-timeframe-toggle button{background:#0000;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:7px 16px;transition:background-color .15s ease,color .15s ease}.analytics-timeframe-toggle button{font-size:11px;padding:5px 12px}.analytics-mode-toggle button:hover,.analytics-timeframe-toggle button:hover{color:var(--text)}.analytics-mode-toggle button.active,.analytics-timeframe-toggle button.active{background-color:var(--accent);color:#fff}.analytics-meta-row{align-items:center;color:var(--text-faint);display:flex;font-size:12px;gap:8px}.analytics-excluded-note{color:var(--text-faint);font-size:12px;padding:10px 14px}.analytics-excluded-note,.analytics-performance-panel{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.analytics-performance-panel{padding:20px 22px}.analytics-performance-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px}.analytics-performance-panel h3{color:var(--text);font-size:14px;font-weight:700;margin:0}.analytics-legend{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:14px}.analytics-legend-item{align-items:center;display:flex;font-size:12.5px;font-weight:600;gap:7px}.analytics-legend-item.positive{color:var(--pos)}.analytics-legend-item.negative{color:var(--neg)}.analytics-legend-item.muted{color:var(--text-dim)}.analytics-legend-swatch{background-color:currentColor;display:inline-block;height:2px;width:18px}.analytics-legend-swatch.dashed{background-color:initial;background-image:linear-gradient(90deg,currentColor 0,currentColor 5px,#0000 0,#0000 9px);background-repeat:repeat-x;background-size:9px 2px}.analytics-stats-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.analytics-stat-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.analytics-stat-label{color:var(--text-dim);font-size:11px;margin-bottom:6px}.analytics-stat-value{font-feature-settings:"tnum";color:var(--text);font-size:24px;font-variant-numeric:tabular-nums;font-weight:700}.analytics-stat-value.negative{color:var(--neg)}.analytics-stat-value.positive{color:var(--pos)}.analytics-stat-sub{color:var(--text-faint);font-size:11.5px;margin-top:4px}.analytics-stat-sub.positive{color:var(--pos)}.analytics-stat-sub.negative{color:var(--neg)}.analytics-bottom-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.analytics-panel{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.analytics-panel h3{color:var(--text);font-size:14px;font-weight:700;margin:0 0 16px}.analytics-empty-inline{color:var(--text-faint);font-size:12.5px;margin:0}.analytics-concentration-row{display:flex;gap:32px}.analytics-contrib-list{display:flex;flex-direction:column;gap:10px}.analytics-contrib-row{grid-gap:10px;align-items:center;display:grid;font-size:12.5px;gap:10px;grid-template-columns:56px 1fr 48px}.analytics-contrib-symbol{color:var(--accent);font-weight:600}.analytics-contrib-track{background-color:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.analytics-contrib-fill{background-color:var(--accent);border-radius:3px;height:100%}.analytics-contrib-pct{color:var(--text);font-weight:600;text-align:right}.analytics-corr-wrapper{overflow-x:auto}.analytics-corr-table{border-collapse:collapse;width:100%}.analytics-corr-table th{color:var(--text-faint);font-size:11px;font-weight:600;padding:8px 10px;text-align:center}.analytics-corr-table th:first-child{text-align:left}.analytics-corr-table td{border:1px solid var(--bg);color:var(--text);font-size:12px;padding:10px;text-align:center}.analytics-dist-chart{align-items:flex-end;display:flex;gap:10px;height:160px}.analytics-dist-bar-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%}.analytics-dist-bar-track{align-items:flex-end;display:flex;flex:1 1;width:100%}.analytics-dist-bar-fill{background-color:var(--accent);border-radius:3px 3px 0 0;min-height:2px;width:100%}.analytics-dist-bar-value{color:var(--text-dim);font-size:11px;margin-top:6px}.analytics-dist-bar-label{color:var(--text-faint);font-size:9.5px;margin-top:2px;text-align:center;white-space:nowrap}.skeleton-line{border-radius:4px;height:12px}.skeleton-block,.skeleton-line{animation:analytics-shimmer 1.5s infinite;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 50%,var(--surface-2) 75%);background-size:200% 100%}.skeleton-block{border-radius:6px}@keyframes analytics-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.analytics-empty,.analytics-error{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);font-size:13px;padding:32px 24px;text-align:center}@media (max-width:900px){.analytics-stats-row{grid-template-columns:repeat(2,1fr)}.analytics-bottom-row{grid-template-columns:1fr}.analytics-concentration-row{flex-direction:column;gap:16px}}@media (max-width:480px){.analytics-page{padding:16px}.analytics-stats-row{grid-template-columns:1fr}}
/*# sourceMappingURL=main.1037a8d4.css.map*/