.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#050510d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top,0px) + 1rem) 1.5rem calc(env(safe-area-inset-bottom,0px) + 1rem);animation:authFadeIn .2s ease}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}.auth-modal{position:relative;width:100%;max-width:400px;background:#1e1e36;border:1px solid #2e2e4e;border-radius:20px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;animation:authSlideUp .25s ease;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 2rem);overflow-y:auto}@keyframes authSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:6px;transition:color .2s,background .2s}.auth-modal-close:hover{color:#ccc;background:#ffffff0f}.auth-modal-logo-section{text-align:center}.auth-modal-logo{width:80px;height:auto;filter:drop-shadow(0 0 16px rgba(59,191,94,.2))}.auth-modal-gate-msg{text-align:center;color:var(--text-secondary);font-size:.9rem;line-height:1.5;padding:0 .5rem}.auth-modal-form{width:100%;display:flex;flex-direction:column;gap:1rem}.auth-modal-title{font-size:1.25rem;font-weight:700;color:#e0e0e0;text-align:center;margin:0}.auth-modal-input-group{display:flex;flex-direction:column;gap:.35rem}.auth-modal-input-group label{font-size:.75rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.auth-modal-input-group input{background:#14142a;border:1px solid #3a3a5c;border-radius:10px;padding:.7rem .9rem;font-size:.95rem;color:#e0e0e0;outline:none;transition:border-color .2s,box-shadow .2s}.auth-modal-input-group input::-moz-placeholder{color:#555}.auth-modal-input-group input::placeholder{color:#555}.auth-modal-input-group input:focus{border-color:#3bbf5e;box-shadow:0 0 0 3px #3bbf5e26}.auth-modal-button{width:100%;padding:.8rem;border:none;border-radius:10px;background:linear-gradient(135deg,#3bbf5e,#1f8a3a);color:#0f0f1a;font-size:.95rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.auth-modal-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.auth-modal-button:disabled{opacity:.5;cursor:not-allowed}.auth-modal-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#f87171;padding:.6rem .8rem;border-radius:8px;font-size:.85rem;text-align:center}.auth-modal-message{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#4ade80;padding:.6rem .8rem;border-radius:8px;font-size:.85rem;text-align:center}.auth-modal-switch{text-align:center;color:#888;font-size:.83rem;display:flex;flex-direction:column;gap:.4rem}.auth-modal-link{background:none;border:none;color:#3bbf5e;cursor:pointer;font-size:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;padding:0}.auth-modal-link:hover{color:#1f8a3a}.auth-modal-magic{display:inline-block;padding:.4rem .8rem;border:1px solid #3a3a5c;border-radius:8px;text-decoration:none;color:#ccc;font-weight:500;transition:border-color .2s,color .2s}.auth-modal-magic:hover{border-color:#3bbf5e;color:#3bbf5e}.auth-modal-divider{color:#555;font-size:.78rem;margin:0}.terms-checkbox{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.82rem;color:#999;line-height:1.4}.terms-checkbox input[type=checkbox]{margin-top:2px;width:16px;height:16px;accent-color:#3BBF5E;cursor:pointer;flex-shrink:0}.terms-checkbox a{color:#3bbf5e;text-decoration:underline;text-underline-offset:2px}.terms-checkbox a:hover{color:#1f8a3a}@media(max-width:480px){.auth-modal-overlay{align-items:flex-start;padding-top:calc(env(safe-area-inset-top,0px) + .75rem)}.auth-modal{padding:1.5rem;border-radius:16px;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.5rem)}.auth-modal-logo{width:64px}}body.auth-modal-open{overflow:hidden}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;min-height:300px}.spinner{position:relative;width:60px;height:60px}.spinner-ball{font-size:2.5rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.loading-message{margin-top:1rem;color:#888;font-size:.875rem}.home-page{position:relative;max-width:960px;margin:0 auto;padding:24px 16px 16px;min-height:100vh}.home-announcement{display:block;border-radius:14px;margin-bottom:14px;overflow:hidden;cursor:pointer;transition:opacity .2s ease}.home-announcement:hover{opacity:.9}.home-announcement-banner{display:block;width:100%;height:auto;border-radius:14px}.home-welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:welcomeFadeIn .25s ease}@keyframes welcomeFadeIn{0%{opacity:0}to{opacity:1}}.home-welcome-modal{position:relative;max-width:580px;width:100%;max-height:90vh;overflow-y:auto;padding:36px 28px 32px;border-radius:20px;background:linear-gradient(135deg,#1d1d1d,#141414);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 64px #0009;animation:welcomeSlideUp .3s ease}@keyframes welcomeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.home-welcome-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;transition:color .15s}.home-welcome-close:hover{color:var(--text-primary)}.home-welcome-title{font-size:24px;font-weight:800;color:#fff;margin-bottom:6px}.home-welcome-tagline{font-size:15px;color:var(--text-secondary);margin-bottom:16px}.home-welcome-letter{font-size:13.5px;color:var(--text-secondary);line-height:1.65;margin-bottom:24px;padding:16px;border-radius:12px;background:#ffffff08;border-left:3px solid var(--brand-green);font-style:italic}.home-welcome-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px}.home-welcome-item{padding:16px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.home-welcome-icon{font-size:26px;display:block;margin-bottom:10px}.home-welcome-item h3{font-size:14px;font-weight:700;color:#fff;margin-bottom:6px}.home-welcome-item p{font-size:12.5px;color:var(--text-secondary);line-height:1.5;margin:0}.home-welcome-cta{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;border-radius:999px;background:var(--brand-green);color:#0f0f1a;font-weight:700;font-size:14px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.home-welcome-cta:hover{transform:translateY(-2px);box-shadow:0 4px 20px #3bbf5e66}.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 16px 48px}.home-hero-logo{width:220px;height:220px;-o-object-fit:contain;object-fit:contain;margin-bottom:24px;filter:drop-shadow(0 0 32px rgba(59,191,94,.3))}.home-hero-subtitle{font-size:16px;color:var(--text-secondary);max-width:420px;line-height:1.6;margin-bottom:32px}.home-hero-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:999px;background:var(--brand-green);color:#0f0f1a;font-weight:700;font-size:15px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}.home-hero-cta:hover{transform:translateY(-2px);box-shadow:0 4px 20px #3bbf5e66}.home-social-proof{margin-bottom:28px}.home-proof-card{border-radius:14px;background:linear-gradient(135deg,#3bbf5e14,#3bbf5e05);border:1px solid rgba(59,191,94,.28);padding:18px 20px}.home-proof-kicker{display:inline-flex;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-green);margin-bottom:8px}.home-proof-card h2{margin:0 0 8px;font-size:20px;color:#fff;text-align:center}.home-proof-card p{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.6;text-align:center}.home-proof-stats{margin-top:14px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.home-proof-stat{padding:10px 12px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);text-align:center}.home-proof-stat strong{display:block;font-size:15px;color:#fff;margin-bottom:2px}.home-proof-stat span{font-size:12px;color:var(--text-muted)}.home-digest{margin-bottom:32px}.home-digest-card{border-radius:14px;background:var(--bg-card);border:1px solid rgba(255,255,255,.08);padding:20px}.home-digest-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.home-digest-date{font-size:14px;font-weight:700;color:#fff}.home-digest-count{font-size:12px;color:var(--text-muted)}.home-digest-narrative{font-size:13.5px;color:var(--text-secondary);line-height:1.6;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06)}.home-digest-picks{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.home-digest-pick{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);text-decoration:none;color:inherit;transition:background .15s,border-color .15s}.home-digest-pick:hover{background:#ffffff0f;border-color:#ffffff1f}.home-digest-rank{font-size:11px;font-weight:800;color:var(--text-muted);min-width:24px}.home-digest-teams{display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600;color:var(--text-secondary);min-width:110px}.home-digest-at{color:var(--text-muted);font-size:11px}.home-digest-logo{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}.home-digest-pick-info{display:flex;align-items:center;gap:6px;margin-left:auto}.home-digest-winner{font-size:13px;font-weight:700;color:#fff}.home-digest-prob{font-size:13px;font-weight:800}.home-digest-ou{font-size:11px;color:#a78bfa;font-weight:600;padding:2px 8px;background:#8b5cf61f;border-radius:6px;white-space:nowrap}.home-digest-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brand-green);text-decoration:none;transition:gap .15s}.home-digest-more:hover{gap:10px}.home-digest-skeleton{display:flex;flex-direction:column;gap:10px;padding:4px 0}.home-skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,#ffffff0d 25%,#ffffff17,#ffffff0d 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.home-skeleton-wide{width:55%}.home-skeleton-med{width:40%}.home-skeleton-full{width:100%;height:10px}.home-digest-empty{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:4px 0 2px;font-size:13.5px;color:var(--text-muted)}.home-props-digest{margin-top:0}.home-prop-pick{flex-wrap:nowrap}.home-prop-player{display:flex;align-items:center;gap:6px;min-width:140px}.home-prop-name{font-size:13px;font-weight:700;color:#fff;white-space:nowrap}.home-prop-team{font-size:11px;color:var(--text-muted);font-weight:600}.home-prop-matchup{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.home-prop-vs{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-prop-game{font-size:11px;color:var(--text-muted)}.home-prop-score{font-size:14px;font-weight:800;min-width:36px;text-align:right}.home-prop-tier{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:6px;white-space:nowrap}@media(max-width:640px){.home-prop-pick{flex-wrap:wrap}.home-prop-matchup{margin-left:34px;flex-basis:100%}.home-prop-player{min-width:unset}}.home-section-title{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px}.home-features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.home-feature-card{display:flex;align-items:center;gap:14px;padding:18px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:var(--bg-card);text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.home-feature-card:hover{transform:translateY(-2px);border-color:#fff3;box-shadow:0 6px 20px #00000059}.home-feature-accent{border-color:#3bbf5e40}.home-feature-accent:hover{border-color:#3bbf5e80;box-shadow:0 6px 24px #3bbf5e1f}.home-feature-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#3bbf5e14;color:var(--brand-green);transition:background .15s,color .15s}.home-feature-card:hover .home-feature-icon{background:#3bbf5e24}.home-feature-accent .home-feature-icon{background:#3bbf5e24;color:var(--brand-green)}.home-feature-title{font-size:15px;font-weight:700;margin-bottom:2px;color:#fff}.home-feature-desc{font-size:13px;color:var(--text-secondary);line-height:1.45}.home-feature-arrow{margin-left:auto;flex-shrink:0;color:var(--text-muted);transition:transform .15s ease,color .15s ease}.home-feature-card:hover .home-feature-arrow{transform:translate(3px);color:var(--text-primary)}@media(max-width:640px){.home-hero{padding:36px 8px 32px}.home-hero-logo{width:140px;height:140px}.home-hero-subtitle{font-size:14px}.home-features-grid{grid-template-columns:1fr}.home-welcome-modal{padding:24px 16px;max-height:85vh}.home-welcome-title{font-size:20px}.home-welcome-grid{grid-template-columns:1fr}.home-digest-pick{flex-wrap:wrap}.home-digest-pick-info{margin-left:34px}}.odds-movement{display:flex;flex-direction:column;align-items:center;gap:4px}.movement-sparkline{border-radius:4px}.movement-label{display:flex;align-items:center;gap:4px;font-size:.65rem;font-weight:600}.movement-arrow{font-size:.75rem;font-weight:800}.movement-range{opacity:.85}.movement-stable{color:#f59e0b}.movement-down{color:#22c55e}.movement-up{color:#ef4444}.odds-arrow{font-size:.7rem;font-weight:800;margin-left:2px}.arrow-favorable{color:#22c55e}.arrow-unfavorable{color:#ef4444}.odds-movement-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.odds-movement-title{font-size:.7rem;font-weight:700;letter-spacing:.08em;color:#888;text-transform:uppercase;margin-bottom:8px}.odds-movement-charts{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.odds-movement-chart-item{display:flex;flex-direction:column;align-items:center;gap:4px}.odds-movement-team{font-size:.7rem;font-weight:700;color:var(--text-secondary, #aaa)}.custom-pick-banner{background:linear-gradient(135deg,#eab3081f,#eab3080a);border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:var(--spacing-md);cursor:pointer;transition:background .2s ease}.custom-pick-banner:hover{background:linear-gradient(135deg,#eab3082e,#eab30814)}.pick-banner-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pick-banner-crown{font-size:1rem;color:#eab308;filter:drop-shadow(0 0 4px rgba(234,179,8,.5))}.pick-banner-label{font-size:.8rem;font-weight:800;letter-spacing:.04em;color:#eab308;text-transform:uppercase}.pick-type-badge{font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-primary)}.pick-confidence-badge{font-size:.6rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:999px;color:#000;text-transform:uppercase}.pick-description{margin-top:6px;font-size:.92rem;font-weight:700;color:var(--text-primary);letter-spacing:.01em}.pick-writeup{margin-top:8px;font-size:.78rem;line-height:1.5;color:var(--text-secondary);max-height:2.4em;overflow:hidden;position:relative;transition:max-height .3s ease}.pick-writeup-expanded{max-height:500px}.pick-writeup p{margin:0}.pick-read-more{display:block;margin-top:4px;font-size:.68rem;font-weight:600;color:#eab308;opacity:.8}.pick-locked{cursor:default;background:linear-gradient(135deg,#6b72801f,#6b72800a);border-color:#6b72804d}.pick-locked:hover{background:linear-gradient(135deg,#6b72801f,#6b72800a)}.pick-locked .pick-banner-crown{color:#6b7280;filter:none}.pick-locked .pick-banner-label{color:#6b7280}.pick-locked-badge{font-size:.6rem;font-weight:700;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff}.pick-locked-text{margin:6px 0 0;font-size:.72rem;color:var(--text-muted)}.featured-picks-section{margin-bottom:var(--spacing-lg)}.featured-picks-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.featured-picks-crown{font-size:1.2rem;color:#eab308;filter:drop-shadow(0 0 6px rgba(234,179,8,.5))}.featured-picks-title{font-size:1rem;font-weight:800;letter-spacing:.04em;color:#eab308;text-transform:uppercase}.featured-picks-count{font-size:.72rem;font-weight:600;color:var(--text-muted);background:#ffffff0f;padding:2px 8px;border-radius:999px}.featured-picks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.featured-pick-card{background:var(--bg-card);border:2px solid rgba(234,179,8,.35);border-radius:var(--radius-lg);padding:var(--spacing-lg);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.featured-pick-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(234,179,8,.06),transparent);pointer-events:none}.featured-pick-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #eab30826;border-color:#eab30899}.featured-pick-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;position:relative;z-index:1}.featured-pick-author{display:flex;align-items:center;gap:6px}.featured-pick-author-crown{font-size:.9rem;color:#eab308}.featured-pick-author-name{font-size:.75rem;font-weight:800;color:#eab308;text-transform:uppercase;letter-spacing:.05em}.featured-pick-badges{display:flex;align-items:center;gap:6px}.featured-pick-matchup{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px;position:relative;z-index:1}.featured-pick-team{display:flex;align-items:center;gap:6px}.featured-pick-team-logo{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.featured-pick-team-abbr{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.featured-pick-vs{font-size:.75rem;color:var(--text-muted);font-weight:500}.featured-pick-details{position:relative;z-index:1}.featured-pick-description{font-size:1rem;font-weight:800;color:var(--text-primary);margin-top:4px;letter-spacing:.01em}.featured-pick-writeup{font-size:.78rem;line-height:1.5;color:var(--text-secondary);margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.featured-pick-time{font-size:.72rem;color:var(--text-muted);margin-top:8px;display:flex;align-items:center;justify-content:space-between}.featured-pick-arrow{font-size:.72rem;color:#eab308;font-weight:600}.add-pick-btn{position:absolute;top:var(--spacing-sm);left:56px;background:#eab30826;border:1px solid rgba(234,179,8,.3);color:#eab308;font-size:.6rem;font-weight:700;padding:3px 8px;border-radius:var(--radius-sm);cursor:pointer;z-index:2;transition:all .15s ease;text-transform:uppercase;letter-spacing:.05em}.add-pick-btn:hover{background:#eab30840;border-color:#eab30880}@media(max-width:480px){.featured-picks-grid{grid-template-columns:1fr}}.matchup-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);cursor:pointer;transition:all .2s ease;position:relative;border-left:4px solid #444;overflow:hidden}.matchup-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background-image:var(--stadium-bg);background-size:cover;background-position:center;opacity:.07;z-index:0;pointer-events:none;transition:opacity .3s ease}.matchup-card:hover:before{opacity:.12}.card-content{position:relative;z-index:1}.matchup-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--bg-hover)}.matchup-card.high{border-left-color:var(--success)}.matchup-card.medium{border-left-color:var(--warning)}.matchup-card.low{border-left-color:var(--danger)}.rank-badge{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:var(--bg-secondary);color:var(--brand-green);font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);font-size:.875rem;color:var(--text-muted)}.game-time{font-weight:600;color:var(--text-primary)}.venue{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100px;margin-right:48px}.teams-container{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.team{flex:1}.team.away{text-align:left}.team.home{text-align:right}.team-identity{display:flex;align-items:center;gap:.375rem}.team.home .team-identity{justify-content:flex-end}.team-logo{width:36px;height:36px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.team.winner .team-abbr{color:var(--brand-green);font-weight:700}.team-abbr{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.pitcher{margin-top:var(--spacing-sm);font-size:.75rem;color:var(--text-secondary)}.pitcher-name{font-weight:500}.pitcher-hand{color:var(--text-muted);margin-left:.25rem}.pitcher-era{display:block;color:var(--text-muted);margin-top:.125rem}.vs-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.probability-wheels{display:flex;align-items:flex-start;gap:6px}.wheel-wrapper{display:flex;flex-direction:column;align-items:center;gap:2px}.wheel-label{font-size:8px;font-weight:800;letter-spacing:.5px;color:var(--text-muted)}.probability-ring{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center}.probability-inner{width:42px;height:42px;background:var(--bg-card);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.probability-value{font-size:.8rem;font-weight:700;color:var(--text-primary)}.vs-text{font-size:.75rem;color:var(--text-muted);font-weight:500}.prediction-container{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.prediction-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.predicted-winner{display:flex;align-items:center;gap:var(--spacing-sm);padding:.25rem .5rem;border-radius:var(--radius-sm);border:2px solid;background:var(--bg-card)}.winner-logo{width:24px;height:24px;-o-object-fit:contain;object-fit:contain}.winner-abbr{font-weight:700;font-size:1rem;color:var(--text-primary)}.confidence-badge{font-size:.625rem;font-weight:600;color:var(--bg-primary);padding:.125rem .375rem;border-radius:var(--radius-sm);text-transform:uppercase}.ai-enhanced-card-badge{font-size:.55rem;font-weight:800;color:#a78bfa;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);padding:1px 4px;border-radius:3px;letter-spacing:.05em}.reasons-container{margin-bottom:var(--spacing-md)}.reasons-header{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.reasons-list{list-style:none;font-size:.8125rem;color:var(--text-secondary)}.reasons-list li{padding:.25rem 0;padding-left:var(--spacing-md);position:relative}.reasons-list li:before{content:"•";position:absolute;left:0;color:var(--brand-green)}.click-hint{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:var(--spacing-md)}@media(max-width:480px){.matchup-card{padding:var(--spacing-md)}.team-logo{width:30px;height:30px}.team-abbr{font-size:1rem}.probability-ring{width:44px;height:44px}.probability-inner{width:34px;height:34px}.probability-value{font-size:.7rem}.probability-wheels{gap:4px}.wheel-label{font-size:7px}}.odds-row{margin-bottom:var(--spacing-md)}.odds-grid{display:grid;grid-template-columns:auto repeat(3,1fr);gap:0;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);overflow:hidden;font-size:.72rem}.odds-col-header{padding:4px 6px;font-size:.6rem;font-weight:800;letter-spacing:.08em;color:var(--text-muted);text-align:center;border-bottom:1px solid rgba(255,255,255,.06)}.odds-col-header:first-child{text-align:left}.odds-team-label{padding:5px 8px;font-weight:700;font-size:.72rem;color:var(--text-secondary);display:flex;align-items:center}.odds-cell{padding:5px 6px;text-align:center;font-weight:600;color:var(--text-primary);white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:2px}.odds-grid>:nth-child(n+5):nth-child(-n+8){border-top:1px solid rgba(255,255,255,.05)}.odds-muted{font-size:.75rem;color:var(--text-muted)}.edge-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;margin-bottom:var(--spacing-md);font-size:.8rem;font-weight:600}.edge-row.edge-positive{background:#22c55e1a;border:1px solid rgba(34,197,94,.25)}.edge-row.edge-negative{background:#ef44441a;border:1px solid rgba(239,68,68,.25)}.edge-label{font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:2px 6px;border-radius:4px;text-transform:uppercase}.edge-positive .edge-label{background:#22c55e33;color:#22c55e}.edge-negative .edge-label{background:#ef444433;color:#ef4444}.edge-details{flex:1;color:var(--text-secondary);font-weight:500}.edge-value{font-size:1rem;font-weight:800}.edge-positive .edge-value{color:#22c55e}.edge-negative .edge-value{color:#ef4444}.ou-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);background:#8b5cf60f;border:1px solid rgba(139,92,246,.15);font-size:.78rem;margin-bottom:6px}.ou-label{font-size:.6rem;font-weight:800;letter-spacing:.08em;background:#8b5cf633;color:#a78bfa;padding:2px 6px;border-radius:4px;flex-shrink:0}.ou-projected{font-weight:800;font-size:.95rem;color:var(--text-primary)}.ou-ctx-adj{font-size:.65rem;margin-left:2px;vertical-align:super}.ou-ctx-adj.adj-up{color:#22c55e}.ou-ctx-adj.adj-down{color:#60a5fa}.ou-vs{color:var(--text-muted);font-size:.72rem}.ou-lean{font-weight:800;font-size:.72rem;padding:1px 6px;border-radius:4px}.ou-lean-over{background:#22c55e26;color:#22c55e}.ou-lean-under{background:#3b82f626;color:#60a5fa}.ou-breakdown{margin-left:auto;font-size:.7rem;color:var(--text-muted);white-space:nowrap}.value-badge{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.1em;padding:3px 8px;border-radius:var(--radius-sm);text-transform:uppercase;animation:value-glow 2s ease-in-out infinite}@keyframes value-glow{0%,to{box-shadow:0 0 6px #22c55e66}50%{box-shadow:0 0 14px #22c55eb3}}.card-live{border-left-color:#ef4444}.card-final{opacity:.75}.live-badge{display:inline-flex;align-items:center;gap:4px;background:#ef444426;color:#ef4444;font-size:.6rem;font-weight:800;letter-spacing:.1em;padding:3px 8px;border-radius:var(--radius-sm);text-transform:uppercase;flex-shrink:0}.live-dot{width:6px;height:6px;background:#ef4444;border-radius:50%;animation:live-pulse 1.5s ease-in-out infinite}.final-badge{display:inline-flex;align-items:center;background:#6b728033;color:#9ca3af;font-size:.6rem;font-weight:800;letter-spacing:.1em;padding:3px 8px;border-radius:var(--radius-sm);text-transform:uppercase;flex-shrink:0}.live-score-display{font-size:1rem;font-weight:800;color:var(--text-primary);letter-spacing:.02em;margin-right:48px;margin-left:8px}.pitcher-change-note{font-size:.68rem;font-weight:700;color:#ef4444;margin-top:2px;padding:1px 6px;background:#ef444414;border-radius:4px;display:inline-block}.lineup-confirmed{display:inline-block;margin-top:3px;padding:1px 6px;font-size:.62rem;font-weight:700;color:#22c55e;background:#22c55e1f;border-radius:4px}.context-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.context-tag{font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:#3bbf5e1a;border:1px solid rgba(59,191,94,.2);color:#3bbf5e}.trend-strip{border-top:1px solid rgba(255,255,255,.07);margin-top:10px;padding-top:8px;display:flex;flex-direction:column;gap:5px}.trend-strip-label{font-size:9px;font-weight:700;letter-spacing:.08em;color:#ffffff59;text-transform:uppercase;margin-bottom:2px}.trend-strip-row{display:flex;align-items:center;gap:8px}.trend-strip-team{display:flex;align-items:center;gap:4px;width:46px;flex-shrink:0}.trend-strip-logo{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.trend-strip-logo.dark-logo{filter:brightness(0) invert(1)}.trend-strip-abbr{font-size:10px;font-weight:700;color:#ffffffbf;letter-spacing:.03em}.trend-strip-chart{flex:1;min-width:0;display:flex;align-items:center}.trend-strip-chart canvas{display:block}.trend-strip-meta{display:flex;align-items:center;gap:5px;flex-shrink:0}.trend-strip-ops{font-size:11px;font-weight:700;font-family:SF Mono,Fira Code,monospace;min-width:36px;text-align:right}.trend-strip-rank{font-size:10px;font-weight:600;min-width:28px;text-align:right}.trend-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:700;font-family:SF Mono,Fira Code,monospace}.trend-badge-mini{padding:1px 5px;font-size:.62rem;border-radius:6px}.cat-surge{background:#a855f72e;color:#c084fc}.cat-heating{background:#22c55e26;color:#22c55e}.cat-sustained{background:#f59e0b1f;color:#f59e0b}.cat-cooling{background:#ef444426;color:#ef4444}.cat-ice{background:#38bdf824;color:#38bdf8}.mini-sparkline{display:block}.pick-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.pick-editor-modal{background:var(--bg-card);border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.pick-editor-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;position:relative}.pick-editor-header h3{font-size:1.1rem;font-weight:800;color:#eab308;margin:0}.pick-editor-matchup{font-size:.8rem;font-weight:600;color:var(--text-muted)}.pick-editor-close{position:absolute;right:0;top:-4px;background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1}.pick-editor-close:hover{color:var(--text-primary)}.pick-editor-field{margin-bottom:16px}.pick-editor-field label{display:block;font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.pick-optional{font-weight:400;text-transform:none;letter-spacing:normal;color:var(--text-muted)}.pick-editor-input{width:100%;padding:10px 12px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color .15s ease;box-sizing:border-box}.pick-editor-input:focus{border-color:#eab308}.pick-type-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pick-type-chip{font-size:.68rem;font-weight:600;padding:4px 10px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pick-type-chip:hover{background:#ffffff1a;color:var(--text-primary)}.pick-type-chip.active{background:#eab30826;border-color:#eab30866;color:#eab308}.pick-confidence-options,.pick-visibility-options{display:flex;gap:8px}.pick-conf-option,.pick-vis-option{flex:1;padding:8px 12px;font-size:.78rem;font-weight:600;background:var(--bg-secondary);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;text-align:center;transition:all .15s ease}.pick-conf-option:hover,.pick-vis-option:hover{border-color:#ffffff40}.pick-conf-option.active{background:#ffffff0d}.pick-vis-option.active{border-color:#eab308;color:#eab308;background:#eab30814}.pick-editor-textarea{width:100%;padding:10px 12px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-primary);font-size:.84rem;line-height:1.5;outline:none;resize:vertical;font-family:inherit;transition:border-color .15s ease;box-sizing:border-box}.pick-editor-textarea:focus{border-color:#eab308}.pick-editor-error{font-size:.78rem;color:#ef4444;background:#ef44441a;padding:8px 12px;border-radius:var(--radius-sm);margin-bottom:12px}.pick-editor-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:20px}.pick-delete-btn{margin-right:auto;padding:8px 16px;font-size:.78rem;font-weight:600;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;cursor:pointer;transition:all .15s ease}.pick-delete-btn:hover{background:#ef444433}.pick-cancel-btn{padding:8px 16px;font-size:.78rem;font-weight:600;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pick-cancel-btn:hover{background:#ffffff14}.pick-save-btn{padding:8px 20px;font-size:.78rem;font-weight:700;background:linear-gradient(135deg,#eab308,#ca8a04);border:none;border-radius:var(--radius-md);color:#000;cursor:pointer;transition:all .15s ease}.pick-save-btn:hover{background:linear-gradient(135deg,#facc15,#eab308)}.pick-save-btn:disabled,.pick-cancel-btn:disabled,.pick-delete-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.pick-editor-modal{padding:18px}.pick-confidence-options{flex-direction:column}}.matchups-page{max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.header-left h2{font-size:1.5rem;color:var(--text-primary)}.date-picker{padding:var(--spacing-sm) var(--spacing-md);border:1px solid #444;border-radius:var(--radius-md);font-size:.875rem;color:var(--text-primary);background:var(--bg-card);cursor:pointer}.date-picker:focus{outline:none;border-color:var(--brand-green);box-shadow:0 0 0 3px #3bbf5e33}.header-left-row{display:flex;align-items:center;gap:.75rem}.active-model-badge{display:inline-flex;align-items:center;gap:.3rem;background:#3bbf5e1a;border:1px solid rgba(59,191,94,.3);border-radius:20px;padding:.3rem .75rem;font-size:.72rem;font-weight:600;color:var(--brand-green);letter-spacing:.3px;white-space:nowrap}.live-indicator{display:inline-flex;align-items:center;gap:5px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:20px;padding:.3rem .75rem;font-size:.72rem;font-weight:700;color:#ef4444;white-space:nowrap}.live-indicator-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;animation:live-pulse 1.5s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.header-stats{display:flex;gap:var(--spacing-sm);align-items:center}.share-matchups-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--text-secondary, #aaa);padding:6px 8px;cursor:pointer;display:flex;align-items:center;transition:color .2s,border-color .2s}.share-matchups-btn:hover{color:var(--accent, #3BBF5E);border-color:var(--accent, #3BBF5E)}.stat-badge{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);min-width:70px}.stat-badge .stat-number{font-size:1.25rem;font-weight:700}.stat-badge .stat-label{font-size:.625rem;color:var(--text-muted);text-transform:uppercase}.stat-badge.total .stat-number{color:var(--brand-green)}.stat-badge.high .stat-number{color:var(--success)}.stat-badge.medium .stat-number{color:var(--warning)}.stat-badge.low .stat-number{color:var(--danger)}.sort-pill-wrap{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.sort-pill{display:inline-flex;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.sort-pill-half{border:0;background:transparent;color:var(--text-secondary);padding:.5rem 1rem;min-width:130px;font-size:.82rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background-color .18s ease,color .18s ease}.sort-pill-half+.sort-pill-half{border-left:1px solid rgba(255,255,255,.12)}.sort-pill-half.active{background:#3bbf5e38;color:#dfffe8}.matchups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-lg)}.error-message,.no-games{text-align:center;padding:4rem;color:var(--text-muted)}.error-icon,.no-games-icon{font-size:3rem;display:block;margin-bottom:var(--spacing-md)}.retry-button{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--brand-green);color:var(--bg-primary);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600}.retry-button:hover{background:var(--brand-green-dark)}.todays-edge-card{background:linear-gradient(135deg,#3bbf5e14,#3bbf5e05);border:1px solid rgba(59,191,94,.25);border-radius:14px;padding:1.2rem 1.5rem;margin-bottom:var(--spacing-lg);cursor:pointer;transition:border-color .2s ease,transform .15s ease}.todays-edge-card:hover{border-color:var(--brand-green);transform:translateY(-1px)}.edge-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.edge-card-label{font-size:.65rem;font-weight:800;letter-spacing:.15em;color:var(--brand-green);text-transform:uppercase}.edge-card-time{font-size:.75rem;color:var(--text-muted)}.edge-card-matchup{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:.75rem}.edge-card-team{display:flex;flex-direction:column;align-items:center;gap:4px;font-weight:800;font-size:1.1rem;color:var(--text-primary)}.edge-card-logo{width:48px;height:48px;-o-object-fit:contain;object-fit:contain}.edge-card-center{display:flex;flex-direction:column;align-items:center;gap:2px}.edge-card-prob{font-size:1.8rem;font-weight:900;color:#fff}.edge-card-conf{font-size:.65rem;font-weight:800;letter-spacing:.1em}.edge-card-pick{display:flex;align-items:center;justify-content:center;gap:10px;padding:.5rem 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.edge-card-pick-logo{width:24px;height:24px;-o-object-fit:contain;object-fit:contain}.edge-card-pick-name{font-weight:800;font-size:1rem;color:var(--text-primary)}.edge-card-edge-badge{font-size:.72rem;font-weight:800;color:#22c55e;background:#22c55e1f;padding:2px 10px;border-radius:12px}.edge-card-odds{font-size:.85rem;font-weight:700;color:var(--text-secondary)}.edge-card-meta{display:flex;align-items:center;gap:12px;margin-top:.5rem;font-size:.72rem;color:var(--text-muted)}.edge-card-park{font-weight:700}.edge-card-arrow{margin-left:auto;color:var(--brand-green);font-weight:600}.value-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.value-strip{background:linear-gradient(135deg,#22c55e14,#22c55e05);border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg)}.value-strip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.value-strip-title{font-size:.8rem;font-weight:800;letter-spacing:.1em;color:#22c55e;text-transform:uppercase}.value-strip-subtitle{font-size:.7rem;color:var(--text-muted)}.value-strip-items{display:flex;flex-direction:column;gap:6px}.value-strip-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#ffffff0a;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease}.value-strip-item:hover{background:#ffffff14}.value-team-logo{width:22px;height:22px;-o-object-fit:contain;object-fit:contain}.value-team{font-weight:700;font-size:.85rem;color:var(--text-primary);min-width:36px}.value-odds{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-left:auto}.value-edge-badge{font-size:.7rem;font-weight:800;color:#22c55e;background:#22c55e26;padding:2px 8px;border-radius:12px}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-lg)}.skeleton-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:14px;border-left:4px solid #333}.skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,#2a2a45 25%,#3a3a5c,#2a2a45 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-wide{width:85%}.skeleton-med{width:60%}.skeleton-narrow{width:40%}.skeleton-teams{display:flex;justify-content:center;align-items:center;gap:20px;padding:10px 0}.skeleton-circle{width:44px;height:44px;border-radius:50%;background:linear-gradient(90deg,#2a2a45 25%,#3a3a5c,#2a2a45 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-ring{width:56px;height:56px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.no-games-hint{font-size:.85rem;color:#666;margin-top:.5rem}@media(max-width:768px){.page-header{flex-direction:column}.header-left{flex-direction:column;align-items:flex-start;width:100%}.header-stats{width:100%;justify-content:space-between}.stat-badge{flex:1;min-width:auto}.matchups-grid,.skeleton-grid,.value-section{grid-template-columns:1fr}.sort-pill-wrap{justify-content:flex-start}.digest-banner{flex-direction:column;text-align:center}}.lineup-change-indicator{display:inline-flex;align-items:center;gap:4px;background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:20px;padding:.3rem .75rem;font-size:.72rem;font-weight:700;color:#ef4444;white-space:nowrap;animation:pulseChange 2s ease infinite}@keyframes pulseChange{0%,to{opacity:1}50%{opacity:.6}}.digest-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#3bbf5e14,#3b82f60f);border:1px solid rgba(59,191,94,.2);border-radius:12px;padding:1rem 1.2rem;margin-bottom:var(--spacing-md)}.digest-banner-content{display:flex;align-items:center;gap:12px}.digest-banner-icon{font-size:1.5rem}.digest-banner-content strong{display:block;font-size:.88rem;color:var(--text-primary);margin-bottom:2px}.digest-banner-content p{font-size:.78rem;color:var(--text-muted);margin:0;line-height:1.4}.digest-banner-actions{display:flex;gap:8px;flex-shrink:0}.digest-enable-btn{padding:.4rem 1rem;background:#3bbf5e;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.8rem;cursor:pointer;transition:background .15s ease}.digest-enable-btn:hover{background:#a8477a}.digest-dismiss-btn{padding:.4rem .8rem;background:transparent;color:var(--text-muted);border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.78rem;cursor:pointer}.digest-dismiss-btn:hover{color:var(--text-primary);border-color:#fff3}.page-transition{animation:page-fade-in .3s ease-out}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.install-prompt{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:12px 16px;background:linear-gradient(135deg,#1a2a1a,#0f0f1a);border-top:1px solid rgba(59,191,94,.3);box-shadow:0 -4px 20px #0006;animation:install-slide-up .4s ease-out}@keyframes install-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-prompt-content{max-width:600px;margin:0 auto;display:flex;align-items:center;gap:12px}.install-logo{width:40px;height:40px;border-radius:10px}.install-text{flex:1;display:flex;flex-direction:column;gap:2px}.install-text strong{font-size:.9rem;color:var(--text-primary)}.install-text span{font-size:.75rem;color:var(--text-muted)}.install-btn{padding:8px 20px;background:var(--brand-green);color:#0f0f1a;border:none;border-radius:20px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .15s ease;white-space:nowrap}.install-btn:hover{background:var(--brand-green-dark);transform:scale(1.02)}.install-dismiss{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s ease}.install-dismiss:hover{color:var(--text-primary)}.bottom-tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:var(--bg-secondary);border-top:1px solid rgba(59,191,94,.2);padding:6px 0;padding-bottom:calc(6px + env(safe-area-inset-bottom));z-index:200}.bottom-tab{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.3px;padding:4px 8px;border:none;background:none;cursor:pointer;transition:color .2s;-webkit-tap-highlight-color:transparent}.bottom-tab.active{color:var(--brand-green)}.bottom-tab:not(.active):hover{color:var(--text-secondary)}.welcome-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch}.welcome-splash-content{max-width:440px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(135deg,#1a1a2e,#0f0f1a);border:1px solid rgba(59,191,94,.2);border-radius:20px;padding:28px 24px;box-shadow:0 24px 48px #00000080,0 0 0 1px #ffffff0d;max-height:85vh;overflow-y:auto}.welcome-splash-logo{width:80px;height:80px;-o-object-fit:contain;object-fit:contain;margin-bottom:14px;filter:drop-shadow(0 0 24px rgba(59,191,94,.3))}.welcome-splash-title{font-size:22px;font-weight:800;color:#fff;margin-bottom:4px}.welcome-splash-tagline{font-size:13px;color:var(--text-secondary);margin-bottom:16px}.welcome-splash-letter{font-size:12px;color:var(--text-secondary);line-height:1.55;margin-bottom:16px;padding:12px;border-radius:10px;background:#ffffff08;border-left:3px solid var(--brand-green);font-style:italic;text-align:left}.welcome-splash-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:20px;width:100%}.welcome-splash-item{padding:12px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);text-align:left}.welcome-splash-icon{font-size:22px;display:block;margin-bottom:6px}.welcome-splash-item h3{font-size:13px;font-weight:700;color:#fff;margin-bottom:4px}.welcome-splash-item p{font-size:11.5px;color:var(--text-secondary);line-height:1.45;margin:0}.welcome-splash-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:999px;background:var(--brand-green);color:#0f0f1a;font-weight:700;font-size:15px;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.welcome-splash-cta:hover{transform:translateY(-2px);box-shadow:0 4px 20px #3bbf5e66}:root{--brand-green: #3BBF5E;--brand-green-dark: #1F8A3A;--brand-pink: #3BBF5E;--brand-pink-dark: #1F8A3A;--bg-primary: #101215;--bg-secondary: #16181d;--bg-card: #1d2024;--bg-hover: #262a2f;--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--text-muted: #666;--accent-blue: #3b82f6;--accent-orange: #f59e0b;--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--stat-excellent: #22c55e;--stat-good: #84cc16;--stat-average: #f59e0b;--stat-below: #f97316;--stat-poor: #ef4444;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5)}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;max-width:100vw;overscroll-behavior-x:none}body{overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none}body.native-app{overscroll-behavior:auto}html{background-color:var(--bg-primary)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5}body.native-app .app-main{padding-top:calc(env(safe-area-inset-top) + var(--spacing-md));padding-bottom:calc(60px + env(safe-area-inset-bottom));padding-left:calc(env(safe-area-inset-left) + var(--spacing-md));padding-right:calc(env(safe-area-inset-right) + var(--spacing-md))}body.native-app .nav-dropdown,body.native-app .app-header{display:none}body.native-app .header-content{justify-content:space-between}.app.dark-mode{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);overflow-x:hidden}.app-header{background:linear-gradient(135deg,#1d2024,#111418);border-bottom:1px solid var(--brand-green);padding:var(--spacing-sm) var(--spacing-lg);padding-top:calc(env(safe-area-inset-top,0px) + var(--spacing-sm));position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.nav-dropdown{position:relative;flex-shrink:0}.nav-dropdown-toggle{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-weight:700;font-size:.82rem;letter-spacing:.8px;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.nav-dropdown-toggle:hover{border-color:var(--brand-green);background:var(--bg-hover)}.nav-dropdown-chevron{transition:transform .2s ease}.nav-dropdown-chevron.open{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:200px;background:var(--bg-secondary);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);box-shadow:0 12px 32px #00000080;z-index:200;padding:6px;display:flex;flex-direction:column;gap:2px;animation:dropdownFade .15s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-item{color:var(--text-secondary);text-decoration:none;padding:8px 12px;border-radius:var(--radius-md);font-weight:600;font-size:.8rem;letter-spacing:.8px;transition:all .15s ease;white-space:nowrap}.nav-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-dropdown-item.active{background:var(--brand-green);color:#0f0f1a;font-weight:700}.nav-dropdown-item.edge-link:not(.active){color:var(--brand-green)}.nav-dropdown-item.pricing-link:not(.active){color:#a78bfa}.nav-dropdown-item.pricing-link.tier-pro-link:not(.active){color:#a78bfa;background:#8b5cf614}.nav-dropdown-item.pricing-link.tier-vip-link:not(.active){color:#fbbf24;background:#fbbf2414}.nav-dropdown-item.guide-link:not(.active){color:var(--text-muted)}.header-user-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-avatar-link{text-decoration:none}.header-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#c0548a,#8a3066);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:800;cursor:pointer;border:none;transition:transform .15s}.header-avatar:hover{transform:scale(1.08)}.header-avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.header-avatar-wrapper{position:relative;display:inline-flex}.avatar-tier-badge{position:absolute;bottom:-4px;right:-6px;font-size:10px;line-height:1;pointer-events:none}.avatar-tier-pro{font-size:12px;color:#a78bfa;filter:drop-shadow(0 0 3px rgba(139,92,246,.6))}.avatar-tier-vip{font-size:7px;font-weight:900;letter-spacing:.5px;color:#1a1a2e;background:linear-gradient(135deg,#fbbf24,#f59e0b);padding:1px 3px;border-radius:3px;box-shadow:0 0 6px #fbbf2480}.sign-out-btn{background:none;border:1px solid #3a3a5c;border-radius:var(--radius-md);color:var(--text-secondary);padding:6px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.sign-out-btn:hover{border-color:var(--danger);color:var(--danger);background:#ef444414}.sign-in-btn{background:linear-gradient(135deg,#3bbf5e,#1f8a3a);border:none;border-radius:var(--radius-md);color:#0f0f1a;padding:6px 16px;font-size:.82rem;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:opacity .2s,transform .1s;flex-shrink:0;white-space:nowrap}.sign-in-btn:hover{opacity:.9;transform:translateY(-1px)}.sign-in-btn:active{transform:translateY(0)}.app-main{flex:1;max-width:1400px;margin:0 auto;padding:var(--spacing-lg);width:100%}.pull-to-refresh-container{position:relative;width:100%;min-height:100%}.ptr-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;position:absolute;top:0;left:0;right:0;z-index:10;pointer-events:none}.ptr-spinner{color:var(--brand-green);display:flex;align-items:center;justify-content:center}.ptr-spinning{animation:ptr-spin .8s linear infinite}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ptr-content{will-change:transform}.app-footer{background:var(--bg-secondary);border-top:1px solid #333;color:var(--text-muted);text-align:center;padding:var(--spacing-md);font-size:.875rem;display:flex;flex-direction:column;align-items:center;gap:6px}.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.footer-legal-link{color:#888;text-decoration:none;font-size:.8rem;transition:color .2s}.footer-legal-link:hover{color:#3bbf5e;text-decoration:underline}.footer-discord-link{color:#7289da;text-decoration:none;font-size:.8rem;font-weight:600;transition:color .2s}.footer-discord-link:hover{color:#99aab5;text-decoration:underline}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.auth-loading-logo{width:120px;height:auto;animation:pulse-logo 1.8s ease-in-out infinite}@keyframes pulse-logo{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@media(max-width:768px){.header-content{gap:var(--spacing-xs)}.sign-in-btn{padding:5px 10px;font-size:.72rem}.app-main{padding:var(--spacing-md)}}@media(max-width:480px){.app-header{padding:var(--spacing-xs) var(--spacing-sm);padding-top:calc(env(safe-area-inset-top,0px) + var(--spacing-xs))}.nav-dropdown-toggle{padding:5px 10px;font-size:.75rem}}img.dark-logo{filter:drop-shadow(0 0 3px rgba(255,255,255,.55))}img[src$="/logos/nyy-white.svg"],img[src$="/logos/sd-orange.svg"]{transform:scale(1.16);transform-origin:center}
