.magic-link-overlay{position:fixed;inset:0;background:#0a0a12f2;display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(10px)}.magic-link-card{background:#12121f;border:1px solid rgba(155,93,229,.3);box-shadow:0 0 40px #9b5de533;padding:3rem;border-radius:12px;text-align:center;max-width:400px;animation:fadeInScale .3s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.spinner{width:48px;height:48px;border:4px solid rgba(155,93,229,.2);border-top:4px solid #9b5de5;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem;box-shadow:0 0 20px #9b5de54d}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon{width:64px;height:64px;background:linear-gradient(135deg,#00f5d4,#00b8a9);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem;font-weight:700;box-shadow:0 0 30px #00f5d480}.error-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--accent-pink),#f15bb5);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.5rem;font-weight:700;box-shadow:0 0 30px #ff6b9d80}.magic-link-card h2{margin-bottom:1rem;color:#fff;text-shadow:0 0 20px rgba(255,107,157,.4)}.magic-link-card p{color:#9ca3af;margin-bottom:1.5rem}.magic-link-card .modal-btn{margin-top:1rem;padding:.75rem 2rem;background:linear-gradient(135deg,#9b5de5,#f15bb5);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 0 20px #9b5de566}.magic-link-card .modal-btn:hover{box-shadow:0 0 30px #9b5de599;transform:translateY(-2px)}.mover-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.25rem 1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-height:145px;contain:layout style}.mover-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(155,93,229,.3) 20%,rgba(241,91,181,.3) 50%,rgba(155,93,229,.3) 80%,transparent);opacity:0;transition:opacity .3s ease}.mover-card:hover{background:var(--bg-card-hover);border-color:#9b5de54d;transform:translateY(-2px);box-shadow:0 8px 30px #0000004d,0 0 40px #9b5de50d}.mover-card:hover:before{opacity:1}.mover-card.expanded{cursor:default;border-color:#9b5de540}.mover-card.expanded:before{opacity:1}.mover-card:focus-visible{outline:none;border-color:var(--accent-purple);box-shadow:0 0 0 2px #9b5de566,0 0 20px #9b5de533,0 8px 30px #0000004d}.mover-card:focus-visible:before{opacity:1}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.75rem}.header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.session-label{font-size:.625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#b8b8c8;background:#ffffff0f;padding:.2rem .5rem;border-radius:10px;white-space:nowrap;margin-left:.5rem;vertical-align:middle}.exchange-badge{font-size:.575rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#a0c4ff;background:#a0c4ff1a;padding:.15rem .4rem;border-radius:8px;white-space:nowrap;margin-left:.4rem;vertical-align:middle}.company-name{font-size:.875rem;color:var(--text-muted);margin:0 0 .5rem}.ticker-group{display:flex;align-items:center;gap:0}.ticker{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;letter-spacing:.08em;text-shadow:0 0 20px rgba(255,255,255,.1);min-width:3ch;display:inline-block;line-height:1}.z-score-info{font-family:var(--font-mono);font-size:.6875rem;color:#8c8c8c80;margin-top:.5rem;margin-bottom:0;letter-spacing:.01em;font-weight:400;line-height:1.2}.change-badge{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:8px;font-family:var(--font-mono);font-size:1.125rem;font-weight:600;letter-spacing:.02em;transition:all .3s ease;position:relative}.change-badge.positive{background:var(--positive-bg);color:var(--positive);border:1px solid var(--positive-border);box-shadow:0 0 10px #00f5d433,0 0 20px #00f5d414,inset 0 0 10px #00f5d40d;text-shadow:0 0 8px rgba(0,245,212,.4);animation:pulse-positive calc(3s - var(--intensity, .3) * 1.5s) ease-in-out infinite}.change-badge.negative{background:var(--negative-bg);color:var(--negative);border:1px solid var(--negative-border);box-shadow:0 0 10px #ff6b9d33,0 0 20px #ff6b9d14,inset 0 0 10px #ff6b9d0d;text-shadow:0 0 8px rgba(255,107,157,.4);animation:pulse-negative calc(3s - var(--intensity, .3) * 1.5s) ease-in-out infinite}@keyframes pulse-positive{0%,to{box-shadow:0 0 calc(8px + var(--intensity, .3) * 8px) rgba(0,245,212,calc(.15 + var(--intensity, .3) * .2)),0 0 calc(15px + var(--intensity, .3) * 15px) rgba(0,245,212,calc(.05 + var(--intensity, .3) * .1)),inset 0 0 10px #00f5d40d;transform:scale(1)}50%{box-shadow:0 0 calc(10px + var(--intensity, .3) * 12px) rgba(0,245,212,calc(.25 + var(--intensity, .3) * .35)),0 0 calc(22px + var(--intensity, .3) * 22px) rgba(0,245,212,calc(.1 + var(--intensity, .3) * .2)),inset 0 0 12px #00f5d41a;transform:scale(calc(1 + var(--intensity, .3) * .02))}}@keyframes pulse-negative{0%,to{box-shadow:0 0 calc(8px + var(--intensity, .3) * 8px) rgba(255,107,157,calc(.15 + var(--intensity, .3) * .2)),0 0 calc(15px + var(--intensity, .3) * 15px) rgba(255,107,157,calc(.05 + var(--intensity, .3) * .1)),inset 0 0 10px #ff6b9d0d;transform:scale(1)}50%{box-shadow:0 0 calc(10px + var(--intensity, .3) * 12px) rgba(255,107,157,calc(.25 + var(--intensity, .3) * .35)),0 0 calc(22px + var(--intensity, .3) * 22px) rgba(255,107,157,calc(.1 + var(--intensity, .3) * .2)),inset 0 0 12px #ff6b9d1a;transform:scale(calc(1 + var(--intensity, .3) * .02))}}.mover-card:hover .change-badge.positive{box-shadow:0 0 25px #00f5d459,0 0 50px #00f5d426,inset 0 0 25px #00f5d414}.mover-card:hover .change-badge.negative{box-shadow:0 0 25px #ff6b9d59,0 0 50px #ff6b9d26,inset 0 0 25px #ff6b9d14}.change-badge .arrow{font-size:.875rem;filter:drop-shadow(0 0 4px currentColor)}.extended-hours-badge{font-size:.75rem;font-family:var(--font-mono);padding:.25rem .5rem;border-radius:6px;background:#ffffff0d;white-space:nowrap;display:flex;align-items:center;gap:.25rem}.extended-hours-badge.positive{color:var(--positive)}.extended-hours-badge.negative{color:var(--negative)}.extended-hours-badge .ext-label{font-size:.6rem;opacity:.7;text-transform:uppercase;letter-spacing:.03em}.headline{color:var(--text-primary);font-size:1rem;line-height:1.5;margin-bottom:.5rem}.analysis-age-badge{font-size:.7em;padding:2px 6px;margin-left:8px;background:#ffc80026;border:1px solid rgba(255,200,0,.3);border-radius:4px;color:#fc0;font-weight:500;white-space:nowrap;vertical-align:middle}.click-hint{color:var(--text-secondary);font-size:.8125rem;margin-top:.5rem;opacity:.85;transition:all .3s ease}.mover-card:hover .click-hint{opacity:1;color:var(--accent-purple);text-shadow:0 0 8px rgba(155,93,229,.3)}.card-details{margin-top:1rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.divider{height:1px;background:linear-gradient(90deg,transparent,rgba(155,93,229,.5) 20%,rgba(241,91,181,.5) 50%,rgba(155,93,229,.5) 80%,transparent);margin:1rem 0 1.25rem;box-shadow:0 0 8px #9b5de54d}.section-title{font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-cyan);margin-bottom:.75rem;text-shadow:0 0 20px rgba(0,245,212,.4)}.news-section{margin-bottom:1.5rem}.news-text{color:#d4d0e0;font-size:.9375rem;line-height:1.7;transition:color .3s ease}.mover-card:hover .news-text{color:#e4e0f0}.analysis-section{background:linear-gradient(135deg,#9b5de514,#f15bb50d);border:1px solid rgba(155,93,229,.15);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;position:relative;overflow:hidden}.analysis-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(241,91,181,.4),transparent)}.analysis-title{display:flex;align-items:center;gap:.5rem;color:var(--accent-pink);text-shadow:0 0 20px rgba(255,107,157,.4)}.confidence-dot{width:8px;height:8px;border-radius:50%;display:inline-block;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.confidence-dot.confidence-high{background:var(--positive);box-shadow:0 0 8px var(--positive),0 0 16px #00f5d466}.confidence-dot.confidence-medium{background:#fcd34d;box-shadow:0 0 8px #fcd34d,0 0 16px #fcd34d66}.confidence-dot.confidence-low{background:var(--negative);box-shadow:0 0 8px var(--negative),0 0 16px #ff6b9d66}.analysis-text{color:var(--text-primary);font-size:.9375rem;line-height:1.7}.sources-section{margin-bottom:1rem}.sources-loading{font-size:.75rem;color:var(--text-muted);font-style:italic;margin:.25rem 0}.sources-title{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem;font-weight:500;letter-spacing:.05em;display:flex;justify-content:space-between;align-items:center}.show-all-sources-btn{background:none;border:1px solid var(--text-muted);color:var(--text-muted);padding:.25rem .5rem;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .2s ease;font-weight:500}.show-all-sources-btn:hover{background:var(--text-muted);color:var(--background);transform:scale(1.05)}.sources-list{list-style:none;display:flex;flex-direction:column;gap:.375rem}.sources-list li{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sources-list a{color:var(--accent-cyan);text-decoration:none;font-size:.8125rem;opacity:.75;transition:all .3s ease}.sources-list a:hover{opacity:1;text-shadow:0 0 10px rgba(0,245,212,.5)}.source-age{color:var(--text-muted);font-size:.75rem;font-style:italic}.company-brief-section{margin-bottom:1rem}.company-brief-toggle{background:none;border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;padding:.25rem 0;display:flex;align-items:center;gap:.375rem;transition:color .2s ease;font-weight:500;letter-spacing:.01em}.company-brief-toggle:hover{color:var(--text-primary)}.company-brief-chevron{font-size:.625rem;transition:transform .2s ease;display:inline-block}.company-brief-chevron.open{transform:rotate(180deg)}.company-brief-text{color:#d1d5db;font-size:.8125rem;line-height:1.6;margin:.5rem 0 0;padding-left:.125rem}.card-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(155,93,229,.15);margin-top:.5rem}.price-info{display:flex;flex-direction:column;gap:.25rem}.price{font-family:var(--font-mono);font-size:1rem;color:var(--text-secondary);letter-spacing:.02em}.volatility-info{font-family:var(--font-mono);font-size:.75rem;color:#b4b4b499;letter-spacing:.01em}.meta{display:flex;align-items:center;gap:1rem}.move-type{font-size:.75rem;color:var(--accent-purple);background:#9b5de51a;border:1px solid rgba(155,93,229,.2);padding:.25rem .625rem;border-radius:4px;letter-spacing:.02em}.updated{font-size:.8125rem;color:var(--text-muted)}.card-disclaimer{width:100%;font-size:.7rem;color:var(--text-secondary);opacity:.5;text-align:left;padding-top:.5rem}.card-disclaimer a{color:var(--text-muted);text-decoration:underline;text-underline-offset:2px}.card-disclaimer a:hover{opacity:1;color:var(--accent)}.share-btn{display:flex;align-items:center;justify-content:center;background:#9b5de51a;border:1px solid rgba(155,93,229,.2);border-radius:6px;padding:.375rem .625rem;cursor:pointer;color:var(--accent-purple);transition:all .2s ease;min-width:32px;height:28px}.share-btn:hover{background:#9b5de533;border-color:#9b5de566;color:var(--accent-pink);transform:scale(1.05)}.share-btn:active{transform:scale(.95)}.share-btn.copied{background:#00f5d426;border-color:#00f5d44d;color:var(--positive)}.share-btn svg{width:14px;height:14px}.share-feedback{font-size:.6875rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.share-btn.twitter-btn{background:#1d9bf01a;border-color:#1d9bf033;color:#1d9bf0;padding:.375rem .5rem}.share-btn.twitter-btn:hover{background:#1d9bf033;border-color:#1d9bf066;color:#1d9bf0}.mover-card.no-analysis{padding:1rem 1.25rem}.mover-card.no-analysis:hover{transform:none;cursor:default}.category-tag{font-size:.75rem;color:var(--text-muted);background:#ffffff0d;padding:.125rem .5rem;border-radius:4px;margin-left:.5rem}.no-analysis-text{color:var(--text-muted);font-style:italic;font-size:.875rem}.stale-label{display:block;color:var(--text-muted);font-size:.75rem;font-style:italic;margin-top:.25rem}.stale-label.stale-contradictory{color:#ff6b9db3}.card-footer-simple{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.5rem}.category-badge{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-purple);background:#9b5de51a;border:1px solid rgba(155,93,229,.2);padding:.1875rem .5rem;border-radius:4px}.mover-card.mystery-move{background:linear-gradient(135deg,rgba(255,180,50,.12) 0%,var(--bg-card) 60%);border-color:#ffb4324d}.mover-card.mystery-move:before{background:linear-gradient(90deg,transparent,rgba(255,180,50,.4) 20%,rgba(255,200,100,.4) 50%,rgba(255,180,50,.4) 80%,transparent);opacity:.6}.mover-card.mystery-move:hover{border-color:#ffb43280;box-shadow:0 8px 30px #0000004d,0 0 40px #ffb43226}.mover-card.mystery-move:hover:before{opacity:1}.mystery-badge{font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1a1a2e;background:linear-gradient(135deg,gold,#ffb832);border:1px solid rgba(255,200,50,.6);padding:.2rem .6rem;border-radius:10px;white-space:nowrap;margin-left:.5rem;vertical-align:middle;display:inline-flex;align-items:center;box-shadow:0 0 8px #ffc8324d}.mover-card.mystery-move:hover .mystery-badge{background:linear-gradient(135deg,#ffe44d,#ffc832);box-shadow:0 0 12px #ffc83280}.mover-card.mystery-solved{background:linear-gradient(135deg,rgba(34,197,94,.1) 0%,var(--bg-card) 60%);border-color:#22c55e40}.mover-card.mystery-solved:before{background:linear-gradient(90deg,transparent,rgba(34,197,94,.35) 20%,rgba(74,222,128,.35) 50%,rgba(34,197,94,.35) 80%,transparent);opacity:.6}.mover-card.mystery-solved:hover{border-color:#22c55e73;box-shadow:0 8px 30px #0000004d,0 0 40px #22c55e1f}.mover-card.mystery-solved:hover:before{opacity:1}.mystery-solved-badge{font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1a2e1a;background:linear-gradient(135deg,#4ade80,#22c55e);border:1px solid rgba(34,197,94,.6);padding:.2rem .6rem;border-radius:10px;white-space:nowrap;margin-left:.5rem;vertical-align:middle;display:inline-flex;align-items:center;box-shadow:0 0 8px #22c55e4d}.mover-card.mystery-solved:hover .mystery-solved-badge{background:linear-gradient(135deg,#86efac,#4ade80);box-shadow:0 0 12px #22c55e80}.mystery-resolution-callout{background:linear-gradient(135deg,#22c55e14,#4ade800d);border:1px solid rgba(34,197,94,.2);border-left:3px solid rgba(34,197,94,.5);border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.875rem;line-height:1.5;color:#a8e6cf}.mystery-resolution-callout strong{color:#4ade80;margin-right:.25rem}@media (max-width: 640px){.mover-card{padding:1rem;min-height:125px;contain:layout style}.card-header{display:grid;grid-template-columns:1fr minmax(0,auto);align-items:center;gap:.5rem}.ticker{font-size:1.125rem}.header-right{gap:.375rem;min-width:0;overflow:hidden}.change-badge{flex-shrink:0;padding:5px 10px;font-size:.875rem}.ticker-group{min-width:0;overflow:hidden}.company-name{font-size:.75rem}.headline{font-size:.875rem}.card-footer{flex-direction:column;gap:.75rem;align-items:flex-start}.analysis-section{padding:1rem}.feedback-bar{flex-direction:column;gap:.75rem;align-items:stretch}.feedback-bar-label,.feedback-bar-buttons{justify-content:center}}.feedback-bar{display:flex;align-items:center;justify-content:space-between;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:.75rem 1rem;margin-top:1rem}.feedback-bar-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted)}.feedback-bar-label svg{opacity:.7}.feedback-bar-buttons{display:flex;gap:.5rem}.feedback-btn{display:flex;align-items:center;justify-content:center;border-radius:6px;padding:.375rem .625rem;cursor:pointer;transition:all .2s ease;min-width:32px;height:28px}.feedback-btn svg{width:14px;height:14px}.feedback-btn.thumbs-up{background:#00f5d41a;border:1px solid rgba(0,245,212,.25);color:var(--positive)}.feedback-btn.thumbs-up:hover{background:#00f5d433;border-color:#00f5d466;box-shadow:0 0 12px #00f5d433;transform:scale(1.05)}.feedback-btn.thumbs-up:active{transform:scale(.95)}.feedback-btn.thumbs-down{background:#ff6b9d1a;border:1px solid rgba(255,107,157,.25);color:var(--negative)}.feedback-btn.thumbs-down:hover{background:#ff6b9d33;border-color:#ff6b9d66;box-shadow:0 0 12px #ff6b9d33;transform:scale(1.05)}.feedback-btn.thumbs-down:active{transform:scale(.95)}.feedback-btn.comment{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:var(--text-secondary)}.feedback-btn.comment:hover{background:#ffffff1a;border-color:#ffffff40;color:var(--text-primary);transform:scale(1.05)}.feedback-btn.comment:active{transform:scale(.95)}.feedback-toast{display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--bg-card);border:1px solid rgba(0,245,212,.3);border-radius:8px;padding:.75rem 1rem;margin-top:.75rem;font-size:.875rem;color:var(--positive);animation:toastSlideIn .3s ease}.feedback-toast.down{border-color:#ff6b9d4d;color:var(--negative)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mover-card:not(.is-visible) .change-badge{animation-play-state:paused}.mover-card:not(.is-visible) .confidence-dot{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.change-badge.positive,.change-badge.negative,.confidence-dot{animation:none}.change-badge.positive{box-shadow:0 0 12px #00f5d440,0 0 20px #00f5d41a,inset 0 0 10px #00f5d40d}.change-badge.negative{box-shadow:0 0 12px #ff6b9d40,0 0 20px #ff6b9d1a,inset 0 0 10px #ff6b9d0d}.card-details,.feedback-toast{animation:none}.mover-card,.mover-card:before,.click-hint,.news-text{transition-duration:.1s}}.list-badges{display:flex;gap:6px;align-items:center}.list-badge{font-size:1.25rem;line-height:1;cursor:default;transition:transform .15s ease;background:#8b5cf626;padding:6px 10px;border-radius:8px;display:flex;align-items:center;justify-content:center}.list-badge:hover{transform:scale(1.1);background:#8b5cf640}.list-badge.portfolio{background:#8b5cf626}.list-badge.watchlist{background:#7dd3fc26}@media (max-width: 640px){.list-badges{gap:2px;flex-shrink:1;min-width:0;overflow:hidden}.list-badge{font-size:.75rem;padding:2px 4px;border-radius:5px}}:root{--bg-primary: #0a0a12;--bg-secondary: #0f0f1a;--bg-tertiary: #12121a;--bg-card: #12121f;--bg-card-hover: #1a1a2e;--bg-elevated: #16213e;--text-primary: #ffffff;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent-pink: #ff6b9d;--accent-cyan: #00f5d4;--accent-cyan-bright: #00d9ff;--accent-purple: #9b5de5;--accent-magenta: #f15bb5;--accent-blue: #7dd3fc;--accent-green: #00c853;--positive: #00f5d4;--positive-bg: rgba(0, 245, 212, .08);--positive-border: rgba(0, 245, 212, .4);--positive-glow: rgba(0, 245, 212, .6);--negative: #ff6b9d;--negative-bg: rgba(255, 107, 157, .08);--negative-border: rgba(255, 107, 157, .4);--negative-glow: rgba(255, 107, 157, .6);--border-color: rgba(255, 255, 255, .08);--border-radius: 12px;--border-radius-sm: 6px;--border-radius-lg: 16px;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--grid-color: rgba(155, 93, 229, .12);--grid-glow: rgba(241, 91, 181, .08);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}.app{max-width:800px;margin:0 auto;padding:2rem 1.5rem;position:relative;min-height:100vh}.app.admin-mode,.app.vcr-mode,.app.monitor-mode{max-width:none;padding:0;margin:0}.background-lines{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;contain:strict}.background-lines:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,80,60,.04) 2px,rgba(0,80,60,.04) 4px)}.background-lines:after{content:"";position:absolute;bottom:0;left:-300%;right:-300%;height:100vh;background:repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(0,255,180,.2) 40px,rgba(0,255,180,.2) 41px),repeating-linear-gradient(0deg,transparent,transparent 20px,rgba(0,255,180,.15) 20px,rgba(0,255,180,.15) 21px);transform:perspective(250px) rotateX(75deg);transform-origin:center bottom;mask-image:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.7) 20%,rgba(0,0,0,.4) 40%,rgba(0,0,0,.15) 60%,transparent 80%);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.7) 20%,rgba(0,0,0,.4) 40%,rgba(0,0,0,.15) 60%,transparent 80%)}.app:before{content:"";position:fixed;top:20%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(155,93,229,.15) 0%,transparent 70%);filter:blur(60px);pointer-events:none;z-index:-1;animation:float 20s ease-in-out infinite;will-change:transform;contain:layout style paint}.app:after{content:"";position:fixed;bottom:10%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(241,91,181,.1) 0%,transparent 70%);filter:blur(80px);pointer-events:none;z-index:-1;animation:float 25s ease-in-out infinite reverse;will-change:transform;contain:layout style paint}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(30px,-30px,0)}}.header{margin-bottom:2rem;position:relative}.header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1.5rem}.header-top>div:first-child{flex:1}.header-actions{display:flex;align-items:center;gap:.75rem}.help-btn{width:36px;height:36px;border-radius:50%;background:#9b5de526;border:1px solid rgba(155,93,229,.3);color:#9b5de5;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-family:var(--font-sans)}.help-btn:hover{background:#9b5de540;border-color:#9b5de5;box-shadow:0 0 15px #9b5de566;transform:scale(1.05)}.help-btn:active{transform:scale(.95)}.title{font-size:2.75rem;font-weight:700;margin-bottom:.375rem;letter-spacing:-.03em;line-height:1.1}.title-question{color:var(--accent-pink);text-shadow:0 0 10px var(--accent-pink),0 0 30px rgba(255,107,157,.5);animation:pulse-glow 4s ease-in-out infinite}@keyframes pulse-glow{0%,to{text-shadow:0 0 10px var(--accent-pink),0 0 30px rgba(255,107,157,.5)}50%{text-shadow:0 0 15px var(--accent-pink),0 0 40px rgba(255,107,157,.7)}}.subtitle{color:var(--text-muted);font-size:.875rem;margin-bottom:0;letter-spacing:.01em}.market-summary{margin-top:1.25rem;margin-bottom:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;max-width:420px}.index-badge,.spy-badge,.portfolio-badge{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:10px;font-size:.875rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.02em;transition:all .3s ease}.index-badge.positive,.spy-badge.positive{background:var(--positive-bg);color:var(--positive);border:1px solid var(--positive-border);box-shadow:0 0 20px #00f5d440,0 0 40px #00f5d41a,inset 0 0 20px #00f5d414}.index-badge.negative,.spy-badge.negative{background:var(--negative-bg);color:var(--negative);border:1px solid var(--negative-border);box-shadow:0 0 20px #ff6b9d40,0 0 40px #ff6b9d1a,inset 0 0 20px #ff6b9d14}.portfolio-badge{background:#9b5de51a;color:var(--accent-purple);border:1px solid rgba(155,93,229,.3)}.refresh-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:var(--text-secondary);padding:.375rem .875rem;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:var(--font-sans)}.refresh-btn:hover:not(:disabled){background:#ffffff1a;color:var(--text-primary);border-color:#ffffff40}.refresh-btn:disabled{cursor:not-allowed;opacity:.6}.refresh-btn.refreshing{background:#9b5de526;color:var(--accent-purple);border-color:#9b5de566;animation:pulse 1s ease-in-out infinite}.banner-container{min-height:76px;margin-bottom:2rem}.notification-banner{background:linear-gradient(135deg,#9b5de51a,#f15bb51a);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem 1.5rem;margin-bottom:0;display:flex;align-items:center;gap:1rem;animation:slideDown .3s ease-out}.notification-banner.enabled{background:linear-gradient(135deg,#00f5d41a,#00c8aa1a);border-color:var(--positive-border)}.notification-icon{font-size:1.5rem;flex-shrink:0}.notification-text{flex:1;color:var(--text-secondary);font-size:.95rem}.notification-btn{background:linear-gradient(135deg,var(--accent-purple),var(--accent-magenta));color:var(--text-primary);border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.notification-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #9b5de54d}.notification-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.notification-btn.secondary{background:transparent;border:1px solid var(--border-color);padding:.5rem 1rem}.notification-btn.secondary:hover{background:#ffffff0d;box-shadow:none}.notification-dismiss{background:transparent;border:none;color:var(--text-tertiary);font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;margin-left:.5rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.notification-dismiss:hover{opacity:1;color:var(--text-secondary)}@keyframes slideDown{0%{opacity:0}to{opacity:1}}.filters-container{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.filters{display:flex;gap:.5rem;margin-bottom:0}.filters-primary{display:flex;gap:.5rem}.list-pills-row{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{background:transparent;border:1px solid rgba(255,200,87,.25);color:#ffc857b3;padding:.625rem 1.25rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-family:var(--font-sans);font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.filter-btn:hover{color:#ffc857;background:#ffc8570d;border-color:#ffc85780}.filter-btn.active{background:#ffc8571a;color:#ffc857;border-color:#ffc857;box-shadow:0 0 20px #ffc85726}.filter-btn .arrow{display:inline-block;width:0;height:0}.filter-btn .arrow.up{border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:6px solid var(--positive);filter:drop-shadow(0 0 3px var(--positive))}.filter-btn .arrow.down{border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--negative);filter:drop-shadow(0 0 3px var(--negative))}.filter-btn:nth-child(2){border-color:#00f5d440;color:#00f5d4b3}.filter-btn:nth-child(2):hover{color:var(--positive);background:#00f5d40d;border-color:#00f5d480}.filter-btn.active:nth-child(2){background:#00f5d41a;color:var(--positive);border-color:var(--positive);box-shadow:0 0 20px #00f5d426}.filter-btn:nth-child(3){border-color:#ff6b9d40;color:#ff6b9db3}.filter-btn:nth-child(3):hover{color:var(--negative);background:#ff6b9d0d;border-color:#ff6b9d80}.filter-btn.active:nth-child(3){background:#ff6b9d1a;color:var(--negative);border-color:var(--negative);box-shadow:0 0 20px #ff6b9d26}.filter-btn.portfolio-filter{background:transparent;color:var(--accent-purple);border-color:#9b5de54d;box-shadow:0 0 15px #9b5de533}.filter-btn.portfolio-filter:hover{border-color:var(--accent-purple);box-shadow:0 0 25px #9b5de566}.filter-btn.portfolio-filter.active{background:#9b5de51a;color:var(--accent-purple);border-color:var(--accent-purple);box-shadow:0 0 30px #9b5de580}.filter-btn.watchlist-filter{background:transparent;color:var(--accent-blue);border-color:#7dd3fc4d;box-shadow:0 0 15px #7dd3fc33}.filter-btn.watchlist-filter:hover{border-color:var(--accent-blue);box-shadow:0 0 25px #7dd3fc66}.filter-btn.watchlist-filter.active{background:#7dd3fc1a;color:var(--accent-blue);border-color:var(--accent-blue);box-shadow:0 0 30px #7dd3fc80}.list-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:20px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;background:#ffffff08}.list-pill .list-icon{font-size:.875rem;transition:transform .3s ease}.list-pill:hover .list-icon{transform:scale(1.15)}.list-pill .count{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;padding:.1rem .3rem;border-radius:6px;background:#ffffff1a;min-width:1.25rem;text-align:center}.list-pill.portfolio-pill{color:var(--accent-purple);border-color:#9b5de54d}.list-pill.portfolio-pill:hover{background:#9b5de514;border-color:#9b5de580;box-shadow:0 0 15px #9b5de533}.list-pill.portfolio-pill.active{background:#9b5de526;border-color:var(--accent-purple);box-shadow:0 0 20px #9b5de566}.list-pill.watchlist-pill{color:var(--accent-blue);border-color:#7dd3fc4d}.list-pill.watchlist-pill:hover{background:#7dd3fc14;border-color:#7dd3fc80;box-shadow:0 0 15px #7dd3fc33}.list-pill.watchlist-pill.active{background:#7dd3fc26;border-color:var(--accent-blue);box-shadow:0 0 20px #7dd3fc66}.movers-list{display:flex;flex-direction:column;gap:1rem;contain:content;min-height:789px}.movers-list>.mover-card{opacity:0;animation:cardEntrance .3s ease-out forwards;animation-delay:min(calc(var(--card-index, 0) * .06s),1.5s)}.movers-list>.skeleton-card,.movers-list>.loading-progress{opacity:1;animation:none}@keyframes cardEntrance{0%{opacity:0}to{opacity:1}}.loading-progress{text-align:center;padding:.75rem 0}.loading-progress-bar{height:3px;border-radius:2px;background:linear-gradient(90deg,var(--accent-purple),var(--accent-pink),var(--accent-purple));background-size:200% 100%;animation:shimmerBar 1.5s ease-in-out infinite;margin-bottom:.5rem}.loading-progress-text{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.05em}@keyframes shimmerBar{0%{background-position:200% 0}to{background-position:-200% 0}}.loading,.error,.empty{text-align:center;padding:4rem 2rem;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:1rem}.loading{font-size:.9375rem;letter-spacing:.02em}.loading-spinner{width:32px;height:32px;border:2px solid rgba(155,93,229,.2);border-top-color:var(--accent-purple);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.empty{color:var(--text-muted);font-size:.9375rem}.empty-icon{font-size:2rem;opacity:.4;font-family:var(--font-mono)}.error{color:var(--negative);text-shadow:0 0 20px rgba(255,107,157,.3)}.about-section{margin-top:4rem;padding:2.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-primary);font-size:.9375rem;line-height:1.7}.about-section h2{font-size:1.125rem;font-weight:600;color:var(--accent-purple);margin-bottom:1.25rem;letter-spacing:-.01em;text-shadow:0 0 20px rgba(155,93,229,.3)}.about-section p{margin-bottom:1rem;color:#d4d0e0}.about-section p:last-child{margin-bottom:0}.about-section strong{color:var(--text-primary);font-weight:600}.about-section .about-tagline{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(155,93,229,.2);color:var(--accent-pink);font-style:italic;font-size:.9375rem;text-shadow:0 0 15px rgba(255,107,157,.3)}.footer{margin-top:2rem;padding:2rem 0;text-align:center;position:relative}.footer p{display:flex;justify-content:center;align-items:center;gap:.5rem}.footer-badge{font-size:.6875rem;color:#ffffff40;font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase}.footer-badge+.footer-badge:before{content:"·";margin-right:.5rem;opacity:.5}.footer-badge.cached{color:#ffc85780}.footer-legal{margin-top:.25rem;gap:1rem}.footer-legal a{font-size:.6875rem;color:#fff3;text-decoration:none;letter-spacing:.03em}.footer-legal a:hover{color:#ffffff80}.notification-banner.ios-install{background:linear-gradient(135deg,#007aff1a,#9b5de51a);border-color:#007aff4d}.notification-banner.warning{background:linear-gradient(135deg,#ff95001a,#ff6b9d1a);border-color:#ff95004d}.notification-banner.cache-banner,.notification-banner.connection-cache{background:linear-gradient(135deg,#58a6ff1a,#8b949e1a);border-color:#58a6ff4d}.notification-banner.connection-cache.stale{background:linear-gradient(135deg,#ffc8571a,#ff95001a);border-color:#ffc85766}.notification-banner.connection-cache.stale .notification-icon{color:#ffc857}.notification-banner.connection-cache.very-stale{background:linear-gradient(135deg,#ff950026,#ff6b9d1a);border-color:#ff950080}.notification-banner.connection-cache.very-stale .notification-icon{color:#ff9500}.notification-banner.connection-retrying{background:linear-gradient(135deg,#9b5de51a,#58a6ff1a);border-color:#9b5de54d}.notification-banner.connection-retrying .connecting-spinner{display:inline-block;animation:pulse 1s ease-in-out infinite}.notification-banner.connection-error{background:linear-gradient(135deg,#ff6b9d1a,#ff44441a);border-color:#ff6b9d66}.notification-banner.connection-error .notification-icon{color:var(--negative);font-weight:700}.notification-banner.connection-degraded{background:linear-gradient(135deg,#ffc85714,#8b949e14);border-color:#ffc85740}.notification-banner.connection-degraded .notification-icon{color:#ffc857cc}.notification-banner.market-closed-banner{background:#8b949e0f;border-color:#8b949e26;padding:.6rem 1.5rem;justify-content:center}.market-closed-banner .notification-text{flex:none;color:var(--text-muted, var(--text-secondary));font-size:.85rem;opacity:.8}.modal-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2rem;max-width:400px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.modal-close-x{position:absolute;top:1rem;right:1rem;background:#9b5de51a;border:1px solid rgba(155,93,229,.25);font-size:1.25rem;cursor:pointer;color:#ffffff80;line-height:1;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s;z-index:1}.modal-close-x:hover{background:#ff6b9d26;border-color:#ff6b9d66;color:#ff6b9d;box-shadow:0 0 12px #ff6b9d33;transform:scale(1.05)}.modal-content.ios-modal h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--text-primary)}.modal-content.ios-modal>p{color:var(--text-secondary);margin-bottom:1.5rem}.install-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.install-steps li{display:flex;align-items:flex-start;gap:1rem;padding:.75rem;background:#ffffff08;border-radius:8px;color:var(--text-secondary);font-size:.95rem}.install-steps li .step-icon{font-size:1.5rem;flex-shrink:0;width:2rem;text-align:center}.install-steps li strong{color:var(--text-primary)}.modal-close-btn{width:100%;margin-top:1.5rem;background:linear-gradient(135deg,var(--accent-purple),var(--accent-magenta));color:var(--text-primary);border:none;padding:.875rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #9b5de566}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.app{padding:1.5rem 1rem}.title{font-size:2rem}.title-question{text-shadow:0 0 8px var(--accent-pink),0 0 20px rgba(255,107,157,.4)}.subtitle{font-size:.8125rem}.loading,.empty{padding:3rem 1.5rem}.movers-list{min-height:689px}.market-summary,.filters-primary{max-width:100%}.filters,.list-pills-row{flex-wrap:wrap}.app:before,.app:after{width:200px;height:200px}.banner-container{min-height:140px}.notification-banner{flex-direction:column;text-align:center;gap:.75rem}.notification-btn{width:100%}}.compare-btn{background:linear-gradient(135deg,#9333ea1a,#4f46e51a)!important;border-color:#9333ea4d!important}.compare-btn:hover{background:linear-gradient(135deg,#9333ea33,#4f46e533)!important;border-color:#9333ea80!important}.comparison-modal{max-width:1200px;width:95%;max-height:90vh;overflow-y:auto}.modal-subtitle{color:var(--text-secondary);margin:-.5rem 0 1.5rem;font-size:.9rem}.comparison-select{text-align:center;padding:2rem}.stock-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.stock-buttons button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#00d4ff1a,#0909791a);border:1px solid rgba(0,212,255,.3);border-radius:8px;color:#00d4ff;cursor:pointer;font-weight:600;transition:all .2s}.stock-buttons button:hover{background:linear-gradient(135deg,#00d4ff33,#09097933);border-color:#00d4ff80;transform:translateY(-2px)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0}@media (max-width: 768px){.comparison-grid{grid-template-columns:1fr}}.analysis-column{background:#ffffff05;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.analysis-column.old{border-color:#ff44444d}.analysis-column.new{border-color:#00d4ff4d}.analysis-column h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.analysis-meta{display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:.85rem;color:var(--text-secondary);flex-wrap:wrap}.analysis-content h4{margin:1.5rem 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary)}.analysis-content p{margin:0 0 1rem;line-height:1.6;color:var(--text-primary)}.analysis-footer{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.85rem;color:var(--text-secondary)}.improvements{margin-top:2rem;padding:1.5rem;background:#00d4ff0d;border:1px solid rgba(0,212,255,.2);border-radius:12px}.improvements h4{margin:0 0 1rem;color:#00d4ff}.improvements ul{list-style:none;padding:0;margin:0}.improvements li{padding:.5rem 0;color:var(--text-secondary)}.improvements li.improved{color:#4ade80}.info-message{text-align:center;padding:2rem;color:var(--text-secondary)}.shared-analysis-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.shared-analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:0 .25rem}.shared-analysis-label{font-size:.8rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent-blue, #7dd3fc);font-weight:600}.shared-analysis-feed-link{font-size:.8rem;color:var(--text-secondary);text-decoration:none;transition:color .2s}.shared-analysis-feed-link:hover{color:var(--accent-blue, #7dd3fc);text-decoration:underline}.shared-analysis-error{text-align:center;padding:1.5rem;color:var(--text-secondary);font-size:.9rem}.login-btn{padding:.5rem 1.25rem;background:linear-gradient(135deg,#9b5de5,#f15bb5);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem;box-shadow:0 0 20px #9b5de566}.login-btn:hover{box-shadow:0 0 30px #9b5de599;transform:translateY(-2px)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#12121f;border:1px solid rgba(155,93,229,.3);border-radius:8px;cursor:pointer;transition:all .2s;font-size:.9rem;color:#fff}.user-menu-trigger:hover{border-color:#9b5de5;background:var(--bg-card-hover);box-shadow:0 0 20px #9b5de54d}.user-icon{font-size:1.2rem}.user-email{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.dropdown-arrow{font-size:.7rem;transition:transform .2s;color:#999}.dropdown-arrow.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:260px;background:#12121f;border:1px solid rgba(155,93,229,.3);border-radius:8px;box-shadow:0 8px 24px #00000080,0 0 40px #9b5de533;z-index:1000;animation:dropdownSlide .2s ease-out}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-header{padding:1rem;background:#9b5de51a;border-bottom:1px solid rgba(155,93,229,.2);border-radius:8px 8px 0 0}.menu-email{font-weight:600;color:#00f5d4;margin-bottom:.25rem;word-break:break-all;text-shadow:0 0 10px rgba(0,245,212,.3)}.menu-joined{font-size:.8rem;color:#9ca3af}.menu-divider{height:1px;background:#9b5de533;margin:.5rem 0}.menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;transition:all .2s;font-size:.95rem;color:#fff}.menu-item:hover{background:#9b5de533}.menu-item.logout{color:var(--accent-pink)}.menu-item.logout:hover{background:#ff6b9d1a}.menu-icon{font-size:1.1rem}@media (max-width: 768px){.user-email{display:none}.user-menu-dropdown{right:-1rem}}.announcement-section{margin-bottom:1rem}.announcement-card{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s ease-out,opacity .3s ease-out;opacity:1}.announcement-card.collapsing{grid-template-rows:0fr;opacity:0}.announcement-card-inner{overflow:hidden;background:#ffffff08;border:1px solid var(--border-color, rgba(255, 255, 255, .08));border-radius:var(--border-radius, 12px);padding:1rem 1.25rem;margin-bottom:.5rem}.announcement-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.announcement-headline{font-weight:600;color:var(--text-primary, #e0e0e0);font-size:.95rem;line-height:1.4}.announcement-dismiss{flex-shrink:0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted, #6b7280);font-size:1.25rem;line-height:1;cursor:pointer;padding:0;margin:-.5rem -.5rem -.5rem 0;border-radius:8px;transition:color .15s ease,background .15s ease}.announcement-dismiss:hover{color:var(--text-secondary, #a0a0a0);background:#ffffff0d}.announcement-body{color:var(--text-secondary, #a0a0a0);font-size:.9rem;line-height:1.5;margin-top:.25rem;margin-bottom:0}.announcement-expand-toggle{background:none;border:none;color:var(--accent-purple, #9b5de5);font-size:.8rem;cursor:pointer;padding:.25rem 0;margin-top:.25rem}.announcement-expand-toggle:hover{text-decoration:underline}.announcement-cta{display:inline-block;margin-top:.75rem;background:linear-gradient(135deg,#9b5de5,#f15bb5);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.announcement-cta:hover{transform:translateY(-2px);box-shadow:0 4px 12px #9b5de54d}.announcement-cta:active{transform:translateY(0)}@media (max-width: 600px){.announcement-card-inner{padding:.75rem 1rem}.announcement-cta{width:100%;text-align:center}}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.25rem 1.5rem;position:relative;overflow:hidden;min-height:145px;contain:layout style}.skeleton-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(155,93,229,.08),transparent);animation:shimmer 1.5s infinite;will-change:transform}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.skeleton-ticker{width:80px;height:28px;background:#ffffff0f;border-radius:4px}.skeleton-badge{width:90px;height:36px;background:#ffffff0f;border-radius:8px}.skeleton-company{width:140px;height:14px;background:#ffffff0a;border-radius:3px;margin-bottom:.75rem}.skeleton-headline{width:100%;height:16px;background:#ffffff0d;border-radius:3px;margin-bottom:.5rem}.skeleton-headline.short{width:75%}.skeleton-hint{width:100px;height:12px;background:#ffffff08;border-radius:3px;margin-top:.75rem}@media (max-width: 640px){.skeleton-card{padding:1rem;min-height:125px;contain:layout style}.skeleton-ticker{width:60px;height:22px}.skeleton-badge{width:70px;height:30px}.skeleton-company{width:100px;height:12px}.skeleton-headline{height:14px}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary, #0a0a0f);padding:2rem}.error-boundary-content{text-align:center;max-width:400px}.error-boundary-content h1{font-size:1.5rem;color:var(--text-primary, #fff);margin-bottom:.5rem}.error-boundary-content p{color:var(--text-muted, rgba(255, 255, 255, .6));margin-bottom:1.5rem}.error-boundary-actions{display:flex;gap:1rem;justify-content:center}.error-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.error-btn.primary{background:linear-gradient(135deg,#9b5de5,#f15bb5);color:#fff}.error-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #9b5de566}.error-btn.secondary{background:#ffffff1a;color:var(--text-primary, #fff);border:1px solid rgba(255,255,255,.2)}.error-btn.secondary:hover{background:#ffffff26}.error-details{margin-top:2rem;text-align:left;background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:8px;padding:1rem}.error-details summary{cursor:pointer;color:var(--text-muted, rgba(255, 255, 255, .6));font-size:.75rem}.error-details pre{margin-top:.5rem;font-size:.75rem;color:#ff6b6b;white-space:pre-wrap;word-break:break-word}
