/* ============================================================
   QUANTUMEQUITY AI — MASTER DESIGN SYSTEM
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg-void:#050508;--bg-deep:#080b12;--bg-base:#0c1018;--bg-surface:#111620;
  --bg-elevated:#161d2a;--bg-card:#1a2235;--bg-hover:#1f2940;
  --border-subtle:rgba(255,255,255,0.04);--border-dim:rgba(255,255,255,0.08);
  --border-mid:rgba(255,255,255,0.12);--border-bright:rgba(255,255,255,0.20);
  --accent-primary:#00d4ff;--accent-glow:rgba(0,212,255,0.15);
  --accent-green:#00e676;--accent-red:#ff3d57;--accent-yellow:#ffd740;
  --accent-orange:#ff9100;--accent-purple:#b388ff;
  --text-primary:#e8edf5;--text-secondary:#8b9ab5;--text-muted:#4a5568;--text-dim:#2d3748;
  --grad-primary:linear-gradient(135deg,#00d4ff 0%,#0099cc 100%);
  --grad-green:linear-gradient(135deg,#00e676 0%,#00b248 100%);
  --grad-red:linear-gradient(135deg,#ff3d57 0%,#cc0022 100%);
  --grad-gold:linear-gradient(135deg,#ffd740 0%,#ff9100 100%);
  --grad-hero:linear-gradient(135deg,#00d4ff 0%,#b388ff 50%,#00e676 100%);
  --shadow-sm:0 2px 8px rgba(0,0,0,0.4);--shadow-md:0 4px 20px rgba(0,0,0,0.5);
  --shadow-lg:0 8px 40px rgba(0,0,0,0.6);--shadow-glow:0 0 30px rgba(0,212,255,0.15);
  --font-display:'Syne',sans-serif;--font-body:'Bricolage Grotesque',sans-serif;
  --font-mono:'Space Mono',monospace;
  --nav-h:64px;--ticker-h:36px;
  --radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg-void);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* TICKER */
.ticker-wrapper{position:fixed;top:0;left:0;right:0;height:var(--ticker-h);background:var(--bg-deep);border-bottom:1px solid var(--border-dim);z-index:1000;overflow:hidden}
.ticker-tape{height:100%;display:flex;align-items:center;overflow:hidden}
.ticker-inner{display:flex;align-items:center;white-space:nowrap;animation:tickerScroll 80s linear infinite;will-change:transform}
.ticker-item{display:inline-flex;align-items:center;gap:8px;padding:0 20px;font-family:var(--font-mono);font-size:11px;border-right:1px solid var(--border-dim)}
.ticker-symbol{color:var(--text-secondary);font-weight:700;letter-spacing:.05em}
.ticker-price{color:var(--text-primary)}
.ticker-change.up{color:var(--accent-green)}
.ticker-change.down{color:var(--accent-red)}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* FLASH ANIMATIONS */
@keyframes flashGreen{0%,100%{background:transparent}50%{background:rgba(0,230,118,0.18)}}
@keyframes flashRed{0%,100%{background:transparent}50%{background:rgba(255,61,87,0.18)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(0,212,255,.2)}50%{box-shadow:0 0 40px rgba(0,212,255,.5)}}

.flash-green{animation:flashGreen .6s ease}
.flash-red{animation:flashRed .6s ease}

/* NAVBAR */
.navbar{position:fixed;top:var(--ticker-h);left:0;right:0;height:var(--nav-h);background:rgba(8,11,18,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-dim);z-index:999;transition:all .3s ease}
.navbar.scrolled{background:rgba(5,5,8,.98);border-bottom-color:var(--border-mid);box-shadow:0 4px 30px rgba(0,0,0,.5)}
.nav-container{max-width:1440px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;gap:24px}
.nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}
.logo-icon{font-size:20px;filter:drop-shadow(0 0 8px var(--accent-primary))}
.logo-text{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--text-primary)}
.logo-accent{color:var(--accent-primary)}
.logo-badge{background:var(--grad-primary);color:var(--bg-void);font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.1em}
.nav-links{display:flex;align-items:center;gap:2px;flex:1}
.nav-link{color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;padding:6px 11px;border-radius:var(--radius-sm);transition:all .2s ease;white-space:nowrap}
.nav-link:hover,.nav-link.active{color:var(--text-primary);background:var(--bg-elevated)}
.nav-link.active{color:var(--accent-primary)}
.nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:auto}
.market-status{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--accent-green)}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:pulse 2s infinite}
.btn-primary{display:flex;align-items:center;gap:8px;background:var(--grad-primary);color:var(--bg-void);border:none;padding:8px 18px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;white-space:nowrap}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,212,255,.4)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:2px;background:var(--text-secondary);border-radius:2px;transition:all .3s}

/* HERO */
.hero{min-height:100vh;padding-top:calc(var(--ticker-h) + var(--nav-h) + 60px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1440px;margin:0 auto;padding-left:60px;padding-right:60px;padding-bottom:80px;position:relative}
.hero-bg{position:fixed;inset:0;z-index:-1;overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 1px);background-size:60px 60px}
.hero-glow{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none}
.glow-1{width:600px;height:600px;background:rgba(0,212,255,.06);top:-200px;left:-100px}
.glow-2{width:500px;height:500px;background:rgba(179,136,255,.05);top:200px;right:-100px}
.glow-3{width:400px;height:400px;background:rgba(0,230,118,.04);bottom:0;left:40%}
#heroParticles{position:absolute;inset:0;width:100%;height:100%;opacity:.4}
.hero-content{z-index:1;animation:fadeInUp .8s ease both}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);color:var(--accent-primary);font-size:12px;font-weight:600;padding:6px 14px;border-radius:100px;margin-bottom:24px;letter-spacing:.05em}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 8px var(--accent-primary);animation:pulse 2s infinite}
.hero-title{font-family:var(--font-display);font-size:clamp(32px,3.8vw,56px);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin-bottom:20px}
.gradient-text{background:var(--grad-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{font-size:16px;color:var(--text-secondary);line-height:1.7;margin-bottom:36px;max-width:520px}

/* SEARCH */
.hero-search{position:relative;margin-bottom:40px}
.search-container{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-md);padding:4px 4px 4px 16px;gap:12px;transition:all .3s ease}
.search-container:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(0,212,255,.1),var(--shadow-glow)}
.search-icon{color:var(--text-muted);flex-shrink:0}
.search-input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-family:var(--font-body);font-size:15px;padding:10px 0}
.search-input::placeholder{color:var(--text-muted)}
.search-btn{display:flex;align-items:center;gap:8px;background:var(--grad-primary);color:var(--bg-void);border:none;padding:10px 20px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}
.search-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,212,255,.4)}
.search-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-md);overflow:hidden;z-index:100;display:none;box-shadow:var(--shadow-lg)}
.search-suggestions.active{display:block}
.suggestion-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border-subtle)}
.suggestion-item:hover{background:var(--bg-hover)}
.suggestion-item:last-child{border-bottom:none}
.sug-left{display:flex;align-items:center;gap:12px}
.sug-symbol{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--accent-primary)}
.sug-name{font-size:13px;color:var(--text-secondary)}
.sug-right{display:flex;align-items:center;gap:12px}
.sug-price{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}
.sug-chg{font-family:var(--font-mono);font-size:12px}
.sug-chg.up{color:var(--accent-green)}
.sug-chg.down{color:var(--accent-red)}
.quick-searches{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.qs-label{font-size:12px;color:var(--text-muted)}
.qs-btn{background:var(--bg-elevated);border:1px solid var(--border-dim);color:var(--text-secondary);font-family:var(--font-body);font-size:12px;padding:4px 12px;border-radius:100px;cursor:pointer;transition:all .2s}
.qs-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:rgba(0,212,255,.05)}

/* HERO STATS */
.hero-stats{display:flex;align-items:center}
.hero-stat{display:flex;flex-direction:column;align-items:center;padding:0 28px}
.hero-stat:first-child{padding-left:0}
.stat-num{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--text-primary);line-height:1}
.stat-suffix{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--accent-primary)}
.stat-label{font-size:11px;color:var(--text-muted);margin-top:4px;letter-spacing:.05em;text-transform:uppercase}
.stat-divider{width:1px;height:40px;background:var(--border-dim)}

/* TERMINAL CARD */
.hero-visual{z-index:1;animation:fadeInUp .8s .2s ease both}
.terminal-card{background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg),var(--shadow-glow);animation:floatCard 6s ease-in-out infinite}
.terminal-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--border-dim)}
.terminal-dots{display:flex;gap:6px}
.dot{width:12px;height:12px;border-radius:50%}
.dot-red{background:#ff5f57}.dot-yellow{background:#febc2e}.dot-green{background:#28c840}
.terminal-title{flex:1;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.05em}
.terminal-live{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--accent-green);letter-spacing:.1em}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 6px var(--accent-green);animation:pulse 1.5s infinite}
.terminal-body{padding:16px;display:flex;flex-direction:column;gap:8px}
.t-line{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:12px}
.t-key{color:var(--text-muted)}
.t-val{color:var(--text-primary);font-weight:700}
.t-val.up{color:var(--accent-green)}.t-val.down{color:var(--accent-red)}.t-val.accent{color:var(--accent-primary)}.t-val.warn{color:var(--accent-yellow)}.t-val.dim{color:var(--text-muted)}
.t-chg.up{color:var(--accent-green);font-size:11px}.t-chg.down{color:var(--accent-red);font-size:11px}
.t-signal{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;letter-spacing:.05em}
.t-signal.strong-buy{background:rgba(0,230,118,.15);color:var(--accent-green);border:1px solid rgba(0,230,118,.3)}
.t-signal.buy{background:rgba(0,212,255,.15);color:var(--accent-primary);border:1px solid rgba(0,212,255,.3)}
.t-signal.hold{background:rgba(255,215,64,.15);color:var(--accent-yellow);border:1px solid rgba(255,215,64,.3)}
.t-signal.sell{background:rgba(255,61,87,.15);color:var(--accent-red);border:1px solid rgba(255,61,87,.3)}
.t-divider{height:1px;background:var(--border-dim);margin:4px 0}
.t-blink .t-val{animation:blink 2s infinite}

/* INDICES BAR */
.indices-bar{background:var(--bg-deep);border-top:1px solid var(--border-dim);border-bottom:1px solid var(--border-dim);padding:16px 0;overflow-x:auto}
.indices-container{max-width:1440px;margin:0 auto;padding:0 24px;display:flex;gap:16px;min-width:max-content}
.index-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-md);padding:14px 20px;min-width:180px;display:flex;flex-direction:column;gap:4px;transition:all .3s ease;cursor:pointer}
.index-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-2px)}
.idx-name{font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.idx-value{font-family:var(--font-mono);font-size:18px;font-weight:700}
.idx-value.up{color:var(--accent-green)}.idx-value.down{color:var(--accent-red)}.idx-value.warn{color:var(--accent-yellow)}
.idx-change{font-family:var(--font-mono);font-size:11px}
.idx-change.up{color:var(--accent-green)}.idx-change.down{color:var(--accent-red)}.idx-change.warn{color:var(--accent-yellow)}

/* SECTIONS */
.section-container{max-width:1440px;margin:0 auto;padding:0 60px}
.section-header{text-align:center;margin-bottom:60px}
.section-tag{display:inline-block;background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);color:var(--accent-primary);font-size:11px;font-weight:700;padding:5px 14px;border-radius:100px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.section-title{font-family:var(--font-display);font-size:clamp(26px,3vw,42px);font-weight:800;line-height:1.15;letter-spacing:-.02em;margin-bottom:16px}
.section-subtitle{font-size:16px;color:var(--text-secondary);max-width:560px;margin:0 auto;line-height:1.7}
.section-header-row{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.section-title-sm{font-family:var(--font-display);font-size:22px;font-weight:700}
.live-badge{display:flex;align-items:center;gap:5px;background:rgba(0,230,118,.1);border:1px solid rgba(0,230,118,.25);color:var(--accent-green);font-family:var(--font-mono);font-size:10px;font-weight:700;padding:3px 10px;border-radius:100px;letter-spacing:.1em}
.view-all-link{margin-left:auto;color:var(--accent-primary);text-decoration:none;font-size:13px;font-weight:600;transition:opacity .2s}
.view-all-link:hover{opacity:.7}

/* FEATURES */
.features-section{padding:100px 0;background:var(--bg-void)}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:28px;transition:all .3s ease;position:relative;overflow:hidden}
.feature-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,212,255,.03) 0%,transparent 60%);pointer-events:none}
.feature-card:hover{border-color:rgba(0,212,255,.3);transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow)}
.feature-card.feature-large{grid-column:span 1}
.feature-icon{font-size:32px;margin-bottom:16px;display:block}
.feature-card h3{font-family:var(--font-display);font-size:18px;font-weight:700;margin-bottom:10px}
.feature-card p{font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}
.feature-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.feature-tags span{background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.15);color:var(--accent-primary);font-size:11px;padding:3px 10px;border-radius:100px}
.feature-link{color:var(--accent-primary);text-decoration:none;font-size:13px;font-weight:600;transition:opacity .2s}
.feature-link:hover{opacity:.7}

/* MOVERS */
.movers-section{padding:80px 0;background:var(--bg-deep)}
.movers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.movers-panel{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);overflow:hidden}
.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-dim);background:var(--bg-elevated)}
.panel-title{font-family:var(--font-display);font-size:14px;font-weight:700}
.panel-sub{font-size:11px;color:var(--text-muted)}
.movers-list{padding:8px 0}
.mover-item{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;transition:background .15s;cursor:pointer;border-bottom:1px solid var(--border-subtle)}
.mover-item:hover{background:var(--bg-hover)}
.mover-item:last-child{border-bottom:none}
.mover-left{display:flex;flex-direction:column;gap:2px}
.mover-symbol{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--text-primary)}
.mover-name{font-size:11px;color:var(--text-muted)}
.mover-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.mover-price{font-family:var(--font-mono);font-size:13px;font-weight:700}
.mover-chg{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px}
.mover-chg.up{color:var(--accent-green);background:rgba(0,230,118,.1)}
.mover-chg.down{color:var(--accent-red);background:rgba(255,61,87,.1)}

/* HEATMAP */
.heatmap-section{padding:80px 0;background:var(--bg-void)}
.heatmap-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px;border-radius:var(--radius-lg);overflow:hidden}
.heatmap-cell{padding:16px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-height:80px;justify-content:center}
.heatmap-cell:hover{filter:brightness(1.3);z-index:2;transform:scale(1.02)}
.hm-symbol{font-family:var(--font-mono);font-size:12px;font-weight:700;color:rgba(255,255,255,.9)}
.hm-chg{font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.8)}
.hm-price{font-size:10px;color:rgba(255,255,255,.6)}

/* AI PICKS */
.ai-preview-section{padding:80px 0;background:var(--bg-deep)}
.ai-picks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:24px}
.ai-pick-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:24px;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}
.ai-pick-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.ai-pick-card.strong-buy::before{background:var(--grad-green)}
.ai-pick-card.buy::before{background:var(--grad-primary)}
.ai-pick-card.hold::before{background:var(--grad-gold)}
.ai-pick-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.pick-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.pick-symbol{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text-primary)}
.pick-name{font-size:12px;color:var(--text-muted);margin-top:2px}
.pick-signal{font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;letter-spacing:.05em}
.pick-signal.strong-buy{background:rgba(0,230,118,.15);color:var(--accent-green);border:1px solid rgba(0,230,118,.3)}
.pick-signal.buy{background:rgba(0,212,255,.15);color:var(--accent-primary);border:1px solid rgba(0,212,255,.3)}
.pick-signal.hold{background:rgba(255,215,64,.15);color:var(--accent-yellow);border:1px solid rgba(255,215,64,.3)}
.pick-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.pick-metric{display:flex;flex-direction:column;gap:2px}
.pm-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}
.pm-value{font-family:var(--font-mono);font-size:14px;font-weight:700}
.pm-value.up{color:var(--accent-green)}.pm-value.down{color:var(--accent-red)}.pm-value.accent{color:var(--accent-primary)}
.pick-bar{height:4px;background:var(--bg-elevated);border-radius:2px;overflow:hidden;margin-bottom:12px}
.pick-bar-fill{height:100%;border-radius:2px;transition:width .5s ease}
.pick-bar-fill.green{background:var(--grad-green)}
.pick-bar-fill.blue{background:var(--grad-primary)}
.pick-thesis{font-size:12px;color:var(--text-secondary);line-height:1.6}
.ai-disclaimer{display:flex;align-items:flex-start;gap:8px;background:rgba(255,215,64,.05);border:1px solid rgba(255,215,64,.15);border-radius:var(--radius-md);padding:12px 16px;font-size:12px;color:var(--text-muted);line-height:1.6}
.ai-disclaimer svg{flex-shrink:0;color:var(--accent-yellow);margin-top:1px}

/* SENTIMENT */
.sentiment-section{padding:80px 0;background:var(--bg-void)}
.sentiment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sentiment-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:28px}
.sentiment-card h3{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:20px}
.gauge-container{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:16px}
.gauge-value{font-family:var(--font-display);font-size:36px;font-weight:800;color:var(--accent-yellow)}
.gauge-label{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--accent-yellow);letter-spacing:.1em}
.sentiment-desc{font-size:13px;color:var(--text-secondary);line-height:1.6}
.breadth-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.breadth-item{display:flex;flex-direction:column;gap:4px}
.breadth-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}
.breadth-val{font-family:var(--font-mono);font-size:18px;font-weight:700}
.breadth-val.up{color:var(--accent-green)}.breadth-val.down{color:var(--accent-red)}.breadth-val.dim{color:var(--text-secondary)}
.flow-stats{display:flex;flex-direction:column;gap:16px}
.flow-item{display:flex;flex-direction:column;gap:6px}
.flow-label{font-size:12px;color:var(--text-muted)}
.flow-bar-wrap{height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}
.flow-bar{height:100%;border-radius:3px;transition:width .5s ease}
.flow-bar.up{background:var(--grad-green)}.flow-bar.warn{background:var(--grad-gold)}.flow-bar.down{background:var(--grad-red)}
.flow-val{font-family:var(--font-mono);font-size:14px;font-weight:700}
.flow-val.up{color:var(--accent-green)}.flow-val.warn{color:var(--accent-yellow)}.flow-val.down{color:var(--accent-red)}

/* CTA */
.cta-section{padding:100px 60px;text-align:center;position:relative;overflow:hidden;background:var(--bg-deep);border-top:1px solid var(--border-dim);border-bottom:1px solid var(--border-dim)}
.cta-glow{position:absolute;width:600px;height:600px;background:rgba(0,212,255,.06);border-radius:50%;filter:blur(100px);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}
.cta-content{position:relative;z-index:1}
.cta-content h2{font-family:var(--font-display);font-size:clamp(28px,3vw,44px);font-weight:800;line-height:1.15;letter-spacing:-.02em;margin-bottom:16px}
.cta-content p{font-size:16px;color:var(--text-secondary);margin-bottom:32px}
.cta-search{display:flex;align-items:center;gap:0;max-width:500px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-md);overflow:hidden;transition:all .3s}
.cta-search:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(0,212,255,.1)}
.cta-search input{flex:1;background:none;border:none;outline:none;color:var(--text-primary);font-family:var(--font-body);font-size:15px;padding:14px 20px}
.cta-search input::placeholder{color:var(--text-muted)}
.cta-search button{background:var(--grad-primary);color:var(--bg-void);border:none;padding:14px 24px;font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .2s}
.cta-search button:hover{filter:brightness(1.1)}

/* FOOTER */
.footer{background:var(--bg-deep);border-top:1px solid var(--border-dim);padding:60px 0 0}
.footer-container{max-width:1440px;margin:0 auto;padding:0 60px;display:grid;grid-template-columns:1.5fr 1fr;gap:60px;margin-bottom:40px}
.footer-brand{display:flex;flex-direction:column;gap:16px}
.footer-logo{display:flex;align-items:center;gap:8px}
.footer-tagline{font-size:14px;color:var(--text-secondary);line-height:1.7;max-width:400px}
.footer-disclaimer{background:rgba(255,215,64,.05);border:1px solid rgba(255,215,64,.15);border-radius:var(--radius-md);padding:12px 16px;font-size:12px;color:var(--text-muted);line-height:1.6}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-col h4{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em}
.footer-col a{color:var(--text-secondary);text-decoration:none;font-size:13px;transition:color .2s}
.footer-col a:hover{color:var(--accent-primary)}
.footer-bottom{max-width:1440px;margin:0 auto;padding:20px 60px;border-top:1px solid var(--border-dim);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted)}

/* ============================================================
   DASHBOARD PAGE
   ============================================================ */
.page-wrapper{padding-top:calc(var(--ticker-h) + var(--nav-h));min-height:100vh;background:var(--bg-void)}
.page-header{background:var(--bg-deep);border-bottom:1px solid var(--border-dim);padding:20px 0}
.page-header-inner{max-width:1440px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.page-title{font-family:var(--font-display);font-size:22px;font-weight:800}
.page-subtitle{font-size:13px;color:var(--text-muted);margin-top:2px}
.page-actions{display:flex;align-items:center;gap:10px}
.btn-secondary{background:var(--bg-elevated);border:1px solid var(--border-mid);color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}
.btn-secondary:hover{border-color:var(--accent-primary);color:var(--accent-primary)}
.btn-icon{background:var(--bg-elevated);border:1px solid var(--border-dim);color:var(--text-secondary);width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:16px}
.btn-icon:hover{border-color:var(--accent-primary);color:var(--accent-primary)}

.dashboard-layout{max-width:1440px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.dashboard-full{grid-column:1/-1}
.dashboard-half{grid-column:span 2}
.dashboard-third{grid-column:span 1}

.card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);overflow:hidden}
.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-dim);background:var(--bg-elevated)}
.card-title{font-family:var(--font-display);font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.card-body{padding:20px}
.card-body.no-pad{padding:0}

/* TABS */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--border-dim);padding:0 20px;background:var(--bg-elevated)}
.tab{padding:12px 16px;font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}
.tab:hover{color:var(--text-secondary)}
.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}

/* DATA TABLE */
.data-table{width:100%;border-collapse:collapse}
.data-table th{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:10px 16px;text-align:left;border-bottom:1px solid var(--border-dim);white-space:nowrap}
.data-table td{padding:10px 16px;font-size:13px;border-bottom:1px solid var(--border-subtle);transition:background .15s;white-space:nowrap}
.data-table tr:hover td{background:var(--bg-hover)}
.data-table tr:last-child td{border-bottom:none}
.td-symbol{font-family:var(--font-mono);font-weight:700;color:var(--accent-primary);cursor:pointer}
.td-symbol:hover{text-decoration:underline}
.td-name{color:var(--text-secondary);font-size:12px}
.td-price{font-family:var(--font-mono);font-weight:700}
.td-chg{font-family:var(--font-mono);font-size:12px;padding:2px 8px;border-radius:4px;display:inline-block}
.td-chg.up{color:var(--accent-green);background:rgba(0,230,118,.1)}
.td-chg.down{color:var(--accent-red);background:rgba(255,61,87,.1)}
.td-vol{font-family:var(--font-mono);font-size:12px;color:var(--text-secondary)}
.td-signal{font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.04em}
.td-signal.strong-buy{background:rgba(0,230,118,.15);color:var(--accent-green)}
.td-signal.buy{background:rgba(0,212,255,.15);color:var(--accent-primary)}
.td-signal.hold{background:rgba(255,215,64,.15);color:var(--accent-yellow)}
.td-signal.sell{background:rgba(255,61,87,.15);color:var(--accent-red)}

/* STOCK ANALYSIS PAGE */
.analysis-layout{max-width:1440px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 380px;gap:16px;align-items:start}
.analysis-main{display:flex;flex-direction:column;gap:16px}
.analysis-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--ticker-h) + var(--nav-h) + 24px)}

.stock-hero{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:24px}
.stock-hero-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:16px}
.stock-identity{display:flex;flex-direction:column;gap:4px}
.stock-symbol{font-family:var(--font-display);font-size:28px;font-weight:800}
.stock-name{font-size:14px;color:var(--text-secondary)}
.stock-badges{display:flex;gap:6px;margin-top:6px}
.stock-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.05em}
.stock-badge.nse{background:rgba(0,212,255,.1);color:var(--accent-primary);border:1px solid rgba(0,212,255,.2)}
.stock-badge.bse{background:rgba(179,136,255,.1);color:var(--accent-purple);border:1px solid rgba(179,136,255,.2)}
.stock-badge.sector{background:rgba(255,215,64,.1);color:var(--accent-yellow);border:1px solid rgba(255,215,64,.2)}
.stock-price-block{text-align:right}
.stock-price{font-family:var(--font-display);font-size:36px;font-weight:800;line-height:1}
.stock-price.up{color:var(--accent-green)}.stock-price.down{color:var(--accent-red)}
.stock-change{font-family:var(--font-mono);font-size:14px;margin-top:4px}
.stock-change.up{color:var(--accent-green)}.stock-change.down{color:var(--accent-red)}
.stock-meta{font-size:12px;color:var(--text-muted);margin-top:4px}

.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-dim);border-radius:var(--radius-md);overflow:hidden;margin-top:20px}
.metric-item{background:var(--bg-elevated);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.metric-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.metric-value{font-family:var(--font-mono);font-size:15px;font-weight:700}
.metric-value.up{color:var(--accent-green)}.metric-value.down{color:var(--accent-red)}.metric-value.accent{color:var(--accent-primary)}

/* AI RECOMMENDATION CARD */
.ai-rec-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);overflow:hidden}
.ai-rec-header{padding:20px;background:linear-gradient(135deg,rgba(0,230,118,.08) 0%,rgba(0,212,255,.05) 100%);border-bottom:1px solid var(--border-dim)}
.ai-signal-big{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ai-signal-label{font-family:var(--font-display);font-size:24px;font-weight:800}
.ai-signal-label.strong-buy{color:var(--accent-green)}
.ai-signal-label.buy{color:var(--accent-primary)}
.ai-signal-label.hold{color:var(--accent-yellow)}
.ai-signal-label.sell{color:var(--accent-red)}
.ai-confidence{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.ai-conf-val{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--accent-primary)}
.ai-conf-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.ai-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ai-score-item{display:flex;flex-direction:column;gap:6px}
.ai-score-label{font-size:11px;color:var(--text-muted)}
.ai-score-bar{height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}
.ai-score-fill{height:100%;border-radius:3px;transition:width .8s ease}
.ai-score-fill.green{background:var(--grad-green)}
.ai-score-fill.blue{background:var(--grad-primary)}
.ai-score-fill.gold{background:var(--grad-gold)}
.ai-score-val{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-primary)}
.ai-rec-body{padding:20px;display:flex;flex-direction:column;gap:16px}
.ai-thesis{font-size:13px;color:var(--text-secondary);line-height:1.7;padding:12px;background:var(--bg-elevated);border-radius:var(--radius-sm);border-left:3px solid var(--accent-primary)}

/* RED FLAGS */
.flags-grid{display:flex;flex-direction:column;gap:8px}
.flag-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid}
.flag-item.green{background:rgba(0,230,118,.05);border-color:rgba(0,230,118,.2)}
.flag-item.yellow{background:rgba(255,215,64,.05);border-color:rgba(255,215,64,.2)}
.flag-item.red{background:rgba(255,61,87,.05);border-color:rgba(255,61,87,.2)}
.flag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.flag-item.green .flag-dot{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green)}
.flag-item.yellow .flag-dot{background:var(--accent-yellow);box-shadow:0 0 6px var(--accent-yellow)}
.flag-item.red .flag-dot{background:var(--accent-red);box-shadow:0 0 6px var(--accent-red)}
.flag-text{font-size:13px;flex:1}
.flag-item.green .flag-text{color:var(--accent-green)}
.flag-item.yellow .flag-text{color:var(--accent-yellow)}
.flag-item.red .flag-text{color:var(--accent-red)}
.flag-status{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.05em}

/* CHART CONTAINER */
.chart-container{position:relative;background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);overflow:hidden}
.chart-toolbar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-dim);background:var(--bg-elevated);flex-wrap:wrap}
.chart-tf-btn{background:none;border:1px solid var(--border-dim);color:var(--text-muted);font-family:var(--font-mono);font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .2s}
.chart-tf-btn:hover,.chart-tf-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-void)}
.chart-indicator-btn{background:none;border:1px solid var(--border-dim);color:var(--text-muted);font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .2s}
.chart-indicator-btn.active{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.3);color:var(--accent-primary)}
.chart-canvas-wrap{padding:0;height:320px;position:relative}
#mainChart{width:100%;height:100%}

/* SCREENER */
.screener-layout{max-width:1440px;margin:0 auto;padding:24px;display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}
.screener-filters{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);overflow:hidden;position:sticky;top:calc(var(--ticker-h) + var(--nav-h) + 24px)}
.filter-section{padding:16px 20px;border-bottom:1px solid var(--border-dim)}
.filter-section:last-child{border-bottom:none}
.filter-title{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.filter-group{display:flex;flex-direction:column;gap:8px}
.filter-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.filter-label{font-size:12px;color:var(--text-secondary)}
.filter-input{background:var(--bg-elevated);border:1px solid var(--border-dim);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:5px 10px;border-radius:var(--radius-sm);width:90px;outline:none;transition:border-color .2s}
.filter-input:focus{border-color:var(--accent-primary)}
.filter-select{background:var(--bg-elevated);border:1px solid var(--border-dim);color:var(--text-primary);font-family:var(--font-body);font-size:12px;padding:5px 10px;border-radius:var(--radius-sm);width:100%;outline:none;cursor:pointer}
.preset-btns{display:flex;flex-wrap:wrap;gap:6px}
.preset-btn{background:var(--bg-elevated);border:1px solid var(--border-dim);color:var(--text-secondary);font-size:11px;padding:5px 10px;border-radius:100px;cursor:pointer;transition:all .2s;white-space:nowrap}
.preset-btn:hover,.preset-btn.active{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.3);color:var(--accent-primary)}
.apply-btn{width:100%;background:var(--grad-primary);color:var(--bg-void);border:none;padding:12px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;margin-top:4px}
.apply-btn:hover{filter:brightness(1.1)}

/* SECTOR PAGE */
.sector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.sector-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:24px;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}
.sector-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.sector-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.sector-icon{font-size:28px;margin-bottom:12px}
.sector-name{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:4px}
.sector-chg{font-family:var(--font-mono);font-size:14px;font-weight:700;margin-bottom:12px}
.sector-chg.up{color:var(--accent-green)}.sector-chg.down{color:var(--accent-red)}
.sector-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sector-stat{display:flex;flex-direction:column;gap:2px}
.ss-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}
.ss-value{font-family:var(--font-mono);font-size:13px;font-weight:700}

/* PORTFOLIO */
.portfolio-layout{max-width:1440px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 360px;gap:16px;align-items:start}
.portfolio-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}
.summary-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:20px}
.summary-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.summary-value{font-family:var(--font-display);font-size:24px;font-weight:800}
.summary-value.up{color:var(--accent-green)}.summary-value.down{color:var(--accent-red)}
.summary-sub{font-size:12px;color:var(--text-muted);margin-top:4px}

/* NEWS PAGE */
.news-layout{max-width:1440px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.news-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:20px;margin-bottom:12px;transition:all .3s ease;cursor:pointer}
.news-card:hover{border-color:rgba(0,212,255,.3);transform:translateX(4px)}
.news-sentiment{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:100px;margin-bottom:10px;letter-spacing:.05em}
.news-sentiment.positive{background:rgba(0,230,118,.1);color:var(--accent-green);border:1px solid rgba(0,230,118,.2)}
.news-sentiment.negative{background:rgba(255,61,87,.1);color:var(--accent-red);border:1px solid rgba(255,61,87,.2)}
.news-sentiment.neutral{background:rgba(139,154,181,.1);color:var(--text-secondary);border:1px solid rgba(139,154,181,.2)}
.news-headline{font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.4;margin-bottom:8px}
.news-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--text-muted)}
.news-source{color:var(--accent-primary)}
.news-impact{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600}
.news-impact.high{color:var(--accent-red)}.news-impact.medium{color:var(--accent-yellow)}.news-impact.low{color:var(--accent-green)}

/* LOADING SPINNER */
.spinner{width:40px;height:40px;border:3px solid var(--border-dim);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin:40px auto}

/* TOOLTIP */
.tooltip{position:absolute;background:var(--bg-elevated);border:1px solid var(--border-mid);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px;color:var(--text-primary);pointer-events:none;z-index:1000;white-space:nowrap;box-shadow:var(--shadow-md)}

/* SCROLLBAR */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--bg-deep)}
::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--border-bright)}

/* MOBILE NAV */
@media(max-width:1024px){
  .nav-links{display:none;position:fixed;top:calc(var(--ticker-h) + var(--nav-h));left:0;right:0;background:var(--bg-deep);border-bottom:1px solid var(--border-dim);flex-direction:column;padding:16px;gap:4px;z-index:998}
  .nav-links.open{display:flex}
  .hamburger{display:flex}
  .hero{grid-template-columns:1fr;padding:calc(var(--ticker-h) + var(--nav-h) + 40px) 24px 60px}
  .hero-visual{display:none}
  .features-grid{grid-template-columns:1fr 1fr}
  .movers-grid{grid-template-columns:1fr}
  .sentiment-grid{grid-template-columns:1fr}
  .footer-container{grid-template-columns:1fr}
  .section-container{padding:0 24px}
  .analysis-layout{grid-template-columns:1fr}
  .analysis-sidebar{position:static}
  .screener-layout{grid-template-columns:1fr}
  .screener-filters{position:static}
  .portfolio-layout{grid-template-columns:1fr}
  .news-layout{grid-template-columns:1fr}
  .dashboard-layout{grid-template-columns:1fr}
  .dashboard-half,.dashboard-third{grid-column:1/-1}
  .portfolio-summary{grid-template-columns:1fr 1fr}
  .metrics-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .features-grid{grid-template-columns:1fr}
  .hero-stats{flex-wrap:wrap;gap:16px}
  .stat-divider{display:none}
  .hero-stat{padding:0 16px}
  .footer-links{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .portfolio-summary{grid-template-columns:1fr}
  .indices-container{padding:0 16px}
  .cta-section{padding:60px 24px}
}

/* UTILITY */
.up{color:var(--accent-green)}.down{color:var(--accent-red)}.warn{color:var(--accent-yellow)}.accent{color:var(--accent-primary)}
.mono{font-family:var(--font-mono)}
.text-muted{color:var(--text-muted)}
.text-secondary{color:var(--text-secondary)}
.bold{font-weight:700}
.hidden{display:none!important}
.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}
.w-full{width:100%}
.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}
.p-16{padding:16px}.p-20{padding:20px}
.rounded{border-radius:var(--radius-md)}
.border-dim{border:1px solid var(--border-dim)}
.bg-card{background:var(--bg-card)}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}