*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}:root{--bg:#0b0f0d;--bg-raised:#111613;--bg-card:#151c18;--text:#a9b4ad;--text-h:#f2f7f4;--text-dim:#6b7670;--border:#232f28;--code-bg:#111613;--accent:#1fd45f;--accent-strong:#16b34d;--accent-bg:#1fd45f1f;--accent-border:#1fd45f73;--danger:#e5484d;--warn:#f5a623;--shadow:#00000080 0 10px 25px -5px, #0000004d 0 4px 6px -2px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:16px/145% var(--sans);letter-spacing:.1px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:1400px;min-height:100svh;margin:0 auto;display:flex}body{background:radial-gradient(circle at top, #101a14 0%, var(--bg) 55%);min-height:100vh;margin:0}h1,h2,h3{font-family:var(--heading);color:var(--text-h);font-weight:600}h1{letter-spacing:-.5px;margin:0;font-size:32px}h2{letter-spacing:-.1px;text-transform:uppercase;color:var(--text-dim);margin:0 0 12px;font-size:13px;font-weight:700;line-height:118%}h3{margin:0 0 8px;font-size:16px}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.app{text-align:left;padding:0 28px 40px}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(18px)}.reveal-visible{opacity:1;transform:translateY(0)}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.lift-card{transition:transform .2s,box-shadow .2s,border-color .2s}.lift-card:hover{border-color:var(--accent-border);transform:translateY(-5px);box-shadow:0 16px 32px -12px #1fd45f47}header{margin-bottom:24px;padding-top:16px}.tagline{color:var(--text-dim);margin-top:2px;font-size:13px}.navbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:16px 0;display:flex}.navbar-logo{text-decoration:none}.navbar-links{align-items:center;gap:18px;display:flex}.navbar-links a{color:var(--text);font-size:14px;font-weight:500;text-decoration:none}.navbar-links a:hover{color:var(--text-h)}.navbar-button{background:var(--accent);color:#06150a;cursor:pointer;border:none;border-radius:6px;align-items:center;padding:8px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:background .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:0 0 #1fd45f00}.navbar-button:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 6px 20px -4px #1fd45f8c}.navbar-button:active{transform:translateY(0)}.navbar-button:disabled{opacity:.6;cursor:default}.navbar-button.ghost{color:var(--text-h);border:1px solid var(--border);background:0 0}.navbar-button.ghost:hover{border-color:var(--accent-border);background:var(--accent-bg)}.navbar-tier-pill{text-transform:uppercase;letter-spacing:.4px;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700}.navbar-toggle{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;display:none}.navbar-toggle span{background:var(--text-h);border-radius:2px;height:2px;margin:0 7px;display:block}.hero{text-align:center;max-width:760px;margin:0 auto;padding:80px 20px 50px;position:relative}.hero:before{content:"";background:radial-gradient(circle at 30% 30%, #1fd45f29 0%, transparent 55%), radial-gradient(circle at 70% 60%, #1fd45f1a 0%, transparent 50%), radial-gradient(circle, var(--accent-bg) 0%, transparent 70%);z-index:-1;pointer-events:none;width:760px;height:420px;animation:8s ease-in-out infinite heroGlowPulse;position:absolute;top:-80px;left:50%;transform:translate(-50%)}@keyframes heroGlowPulse{0%,to{opacity:.85}50%{opacity:1}}.hero-title{letter-spacing:-.8px;margin-bottom:18px;font-size:44px;line-height:1.15}.hero-accent{color:var(--accent)}.hero-subtitle{color:var(--text);margin-bottom:32px;font-size:17px;line-height:1.5}.hero-ctas{justify-content:center;gap:14px;margin-bottom:18px;display:flex}.hero-cta{padding:12px 24px;font-size:15px}.hero-disclaimer{color:var(--text-dim);font-size:12px}.features{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto 60px;padding:0 20px;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:22px}.feature-card-icon{margin-bottom:10px;font-size:24px;display:block}.feature-card h3{color:var(--accent);margin-bottom:8px;font-size:16px}.feature-card p{color:var(--text);font-size:14px;line-height:1.5}.fantasy-promo{max-width:760px;margin:0 auto 60px;padding:0 20px}.fantasy-promo-text{text-align:center;background:linear-gradient(135deg, var(--bg-card) 0%, var(--accent-bg) 100%);border:1px solid var(--accent-border);border-radius:14px;padding:40px 36px}.fantasy-promo-badge{background:linear-gradient(90deg, var(--accent) 0%, #7af0a3 50%, var(--accent) 100%);color:#06150a;letter-spacing:.5px;text-transform:uppercase;background-size:200% 100%;border-radius:999px;margin-bottom:14px;padding:4px 12px;font-size:11px;font-weight:700;animation:3s linear infinite shimmer;display:inline-block}.fantasy-promo-text h2{margin-bottom:10px;font-size:26px}.fantasy-promo-text p{color:var(--text);max-width:520px;margin:0 auto 22px;font-size:15px;line-height:1.5}@media (width<=800px){.features{grid-template-columns:1fr}.hero-title{font-size:32px}}.model-record{background:var(--bg-card);border:1px solid var(--accent-border);text-align:center;border-radius:12px;max-width:640px;margin:0 auto 60px;padding:28px 30px}.model-record-title{letter-spacing:.3px;color:var(--text-h);text-transform:none;margin-bottom:18px;font-size:15px}.model-record-rows{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.model-record-row{background:var(--bg-raised);text-align:left;border-radius:8px;grid-template-columns:1fr auto auto;align-items:baseline;gap:16px;padding:10px 14px;transition:background .2s,transform .15s;display:grid}.model-record-row:hover{background:var(--accent-bg);transform:translate(3px)}.model-record-icon{margin-right:6px}.model-record-label{color:var(--text);font-size:14px}.model-record-score{color:var(--text-h);font-size:14px;font-weight:600}.model-record-pct{color:var(--accent);text-align:right;min-width:56px;font-size:15px;font-weight:700}.model-record-note{color:var(--text-dim);font-size:12px;line-height:1.5}.model-record-link{color:var(--accent);margin-top:14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.model-record-link:hover{text-decoration:underline}.top-picks-today{background:var(--bg-card);border:1px solid var(--accent-border);text-align:center;border-radius:12px;max-width:640px;margin:0 auto 60px;padding:28px 30px}.top-picks-today-title{letter-spacing:.3px;color:var(--text-h);text-transform:none;margin-bottom:20px;font-size:15px}.top-picks-columns{text-align:left;grid-template-columns:1fr 1fr;gap:24px;display:grid}.top-picks-list-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;font-size:13px}.top-picks-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.top-picks-row{background:var(--bg-raised);border-radius:8px;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:8px 10px;transition:background .2s,transform .15s;display:grid}.top-picks-row:hover{background:var(--accent-bg);transform:translate(3px)}.top-picks-rank{color:var(--accent);font-size:13px;font-weight:800}.top-picks-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;text-decoration:none;overflow:hidden}.top-picks-name:hover{text-decoration:underline}.top-picks-team{display:none}.top-picks-today-link{color:var(--accent);margin-top:18px;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}.top-picks-today-link:hover{text-decoration:underline}.top-picks-locked-text{color:var(--text-dim);max-width:420px;margin:0 auto;font-size:13px;line-height:1.6}@media (width<=640px){.top-picks-columns{grid-template-columns:1fr;gap:18px}}@media (width<=800px){.model-record{margin:0 16px 40px;padding:22px 18px}}.track-record-page{max-width:720px;margin:0 auto;padding:30px 20px 60px}.track-record-page h1{margin-bottom:12px;font-size:28px}.track-record-intro{color:var(--text-dim);margin-bottom:28px;line-height:1.6}.track-record-progress{color:var(--text-h);align-items:center;gap:14px;margin-bottom:16px;font-size:13px;display:flex}.track-record-progress-track{background:var(--bg-raised);border-radius:999px;flex:1;height:8px;overflow:hidden}.track-record-progress-fill{background:var(--accent);border-radius:999px;height:100%}.track-record-note{color:var(--text-dim);margin-bottom:24px;font-size:13px;line-height:1.5}.track-record-rows{margin-bottom:0}.player-detail-page{max-width:720px;margin:0 auto;padding:30px 20px 60px}.back-link{color:var(--text-dim);margin-bottom:20px;font-size:13px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.player-detail-name{margin-bottom:4px;font-size:28px}.player-detail-sub{color:var(--text-dim);margin-bottom:24px}.player-season-stats{flex-wrap:wrap;gap:16px;margin-bottom:32px;display:flex}.player-season-stat{background:var(--bg-card);border:1px solid var(--accent-border);text-align:center;border-radius:10px;flex:1;min-width:110px;padding:14px 20px}.player-season-stat-value{color:var(--text-h);font-size:24px;font-weight:700;display:block}.player-season-stat-label{color:var(--text-dim);margin-top:4px;font-size:11px;display:block}.trend-chart{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:20px}.trend-chart-title{color:var(--text-h);margin-bottom:16px;font-size:15px}.trend-chart-bars{align-items:flex-end;gap:4px;height:120px;display:flex}.trend-bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.trend-bar-track{align-items:flex-end;width:100%;height:100px;display:flex}.trend-bar-fill{background:var(--accent);border-radius:3px 3px 0 0;width:100%;min-height:0}.trend-bar-value{color:var(--text-dim);margin-top:4px;font-size:10px}.trend-chart-hint{color:var(--text-dim);text-align:center;margin-top:10px;font-size:11px}.my-picks-page{max-width:900px;margin:0 auto;padding:30px 20px 60px}.my-picks-page h1{margin-bottom:20px;font-size:28px}.my-picks-table{width:100%}.pick-badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.pick-badge.pending{background:var(--bg-raised);color:var(--text-dim)}.pick-badge.win{background:var(--accent-bg);color:var(--accent)}.pick-badge.loss{color:var(--danger);background:#e5484d1f}.pick-remove{padding:4px 10px;font-size:12px}.save-pick-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:4px;font-size:18px;line-height:1}.save-pick-btn:hover{color:var(--accent)}.save-pick-btn.saved{color:var(--accent);cursor:default}.navbar-streak-pill{color:var(--text-h);font-size:13px;font-weight:600}.pricing-page{text-align:center;max-width:900px;margin:0 auto;padding:40px 20px}.pricing-title{margin-bottom:8px;font-size:32px}.pricing-subtitle{color:var(--text-dim);margin-bottom:36px}.pricing-grid{text-align:left;grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.pricing-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:28px;position:relative}.pricing-card.premium{border-color:var(--accent-border);background:linear-gradient(180deg, var(--accent-bg), var(--bg-card) 60%)}.pricing-badge{background:linear-gradient(90deg, var(--accent) 0%, #7af0a3 50%, var(--accent) 100%);color:#06150a;text-transform:uppercase;background-size:200% 100%;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;animation:3s linear infinite shimmer;position:absolute;top:-10px;right:20px}.pricing-card-icon{margin-bottom:8px;font-size:22px;display:block}.pricing-card h3{margin-bottom:6px;font-size:18px}.pricing-amount{color:var(--text-h);margin-bottom:18px;font-size:32px;font-weight:700}.pricing-features{flex-direction:column;gap:10px;margin:0 0 24px;padding:0;list-style:none;display:flex}.pricing-features li{color:var(--text);padding-left:20px;font-size:14px;position:relative}.pricing-features li:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:0}.pricing-cta{justify-content:center;width:100%;padding:10px 0}.pricing-message{color:var(--text-dim);margin-top:20px}.dev-upgrade-box{border:1px dashed var(--warn);color:var(--text-dim);text-align:left;border-radius:8px;margin-top:36px;padding:16px;font-size:13px}.dev-upgrade-box code{font-size:12px}.pricing-addon-card{background:var(--bg-card);border:1px solid var(--accent-border);text-align:center;border-radius:12px;max-width:480px;margin:36px auto 0;padding:24px 28px}.pricing-addon-card h3{margin-bottom:8px}.pricing-addon-card p{color:var(--text-dim);margin-bottom:18px;font-size:14px}.fantasy-page{max-width:720px;margin:0 auto;padding:30px 20px 60px}.fantasy-page h1{margin-bottom:8px;font-size:28px}.fantasy-intro{color:var(--text-dim);margin-bottom:28px}.fantasy-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;padding:24px}.fantasy-card h3{margin-bottom:10px}.fantasy-card p{color:var(--text-dim);margin-bottom:16px;font-size:14px}.fantasy-link-form{gap:10px;display:flex}.fantasy-link-form input{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-h);border-radius:8px;flex:1;padding:10px 14px;font-size:14px}.fantasy-autocomplete-input{flex:1;position:relative}.fantasy-autocomplete-input input{width:100%}.fantasy-suggestions{z-index:10;background:var(--bg-card);border:1px solid var(--accent-border);border-radius:8px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 12px 24px -8px #00000080}.fantasy-suggestions li{cursor:pointer;color:var(--text-h);justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.fantasy-suggestions li:hover{background:var(--accent-bg)}.fantasy-league-list{flex-direction:column;gap:10px;display:flex}.fantasy-league-list li{background:var(--bg-raised);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.manual-roster-list{margin-top:16px}.manual-roster-meta{color:var(--text-dim);margin-left:8px;font-size:12px}.fantasy-mode-toggle{gap:10px;margin-bottom:20px;display:flex}.fantasy-mode-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;flex:1;padding:12px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s}.fantasy-mode-btn.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.fantasy-team-total{background:var(--bg-raised);color:var(--text);border-radius:8px;justify-content:space-between;align-items:baseline;margin-bottom:18px;padding:14px 18px;font-size:14px;display:flex}.fantasy-team-total-value{color:var(--accent);font-size:20px;font-weight:700}.fantasy-team-table{width:100%}.rankings-position-toggle{flex-wrap:wrap;margin-bottom:24px}.rankings-table td:first-child,.rankings-table th:first-child{width:50px;color:var(--text-dim)}.rankings-sort-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.rankings-sort-label{color:var(--text-dim);margin-right:4px;font-size:13px}.rankings-sort-btn{flex:none;padding:7px 14px;font-size:13px}.rankings-ppg{color:var(--text-h);font-weight:700}.rankings-range-cell{min-width:160px}.range-bar{width:100%;min-width:140px}.range-bar-track{background:var(--border);border-radius:4px;height:8px;position:relative}.range-bar-fill{background:linear-gradient(90deg, var(--accent-strong), var(--accent));border-radius:4px;height:100%;position:absolute;top:0}.range-bar-avg{background:var(--text-h);border-radius:2px;width:3px;height:14px;position:absolute;top:-3px;transform:translate(-1.5px)}.range-bar-labels{color:var(--text-dim);justify-content:space-between;margin-top:4px;font-size:11px;display:flex}.trend-badge{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-block}.trend-up{background:var(--accent-bg);color:var(--accent)}.trend-down{color:var(--danger);background:#e5484d1f}.trend-flat{background:var(--bg-raised);color:var(--text-dim)}.volatility-badge{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.volatility-badge.boom-bust{color:var(--warn);background:#f5a62324}.volatility-badge.steady{background:var(--accent-bg);color:var(--accent)}.rankings-legend{color:var(--text-dim);font-size:13px}.auth-page{justify-content:center;padding:60px 20px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:16px;width:360px;padding:32px;display:flex}.auth-title{text-align:center;margin-bottom:4px}.auth-card label{color:var(--text-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.auth-card input{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-h);border-radius:6px;padding:9px 12px;font-size:14px}.auth-card input:focus{border-color:var(--accent-border);outline:none}.auth-switch{text-align:center;color:var(--text-dim);font-size:13px}.auth-switch a{color:var(--accent)}.conditions-strip{color:var(--text-dim);background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:10px 16px;font-size:12px;display:flex}.conditions-item strong{color:var(--text-h)}.conditions-item.park-factor{color:var(--accent);font-weight:600}.paywall-banner{background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--text);border-radius:8px;margin-bottom:16px;padding:10px 16px;font-size:13px}.paywall-banner a{color:var(--accent);font-weight:600}.locked-cell{color:var(--text-dim);filter:blur(.2px);align-items:center;gap:6px;display:inline-flex}.locked-text{color:var(--text-dim)}.unlock-link{color:var(--accent);font-size:11px;font-weight:600}.disclaimer{color:var(--text-dim);background:var(--bg-raised);border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:4px;margin-top:14px;padding:8px 12px;font-size:12px}.layout{align-items:flex-start;gap:20px;display:flex}aside{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex:0 0 300px;padding:16px;position:sticky;top:20px}main{flex:1;min-width:0}.game-list{flex-direction:column;gap:8px;max-height:75vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.game-item{border:1px solid var(--border);background:var(--bg-raised);cursor:pointer;border-radius:8px;padding:10px 12px;transition:border-color .15s,background .15s,transform .15s}.game-item:hover{border-color:var(--accent-border);transform:translate(2px)}.game-item.selected{border-color:var(--accent);background:var(--accent-bg)}.game-matchup{color:var(--text-h);font-size:14px;font-weight:600}.game-meta{color:var(--text-dim);margin-top:3px;font-size:12px}.game-header-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px 20px;display:flex}.game-header-card h2{text-transform:none;color:var(--text-h);margin:0;font-size:20px;font-weight:600}.status-pill{letter-spacing:.4px;text-transform:uppercase;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.status-pill-live{color:#ff7b7b;background:#ff5a5a1f;border-color:#ff5a5a66}.live-dot{background:#ff5a5a;border-radius:50%;width:7px;height:7px;animation:1.6s ease-out infinite liveDotPulse;box-shadow:0 0 #ff5a5ab3}@keyframes liveDotPulse{0%{box-shadow:0 0 #ff5a5a99}70%{box-shadow:0 0 0 6px #ff5a5a00}to{box-shadow:0 0 #ff5a5a00}}.team-section{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:22px;overflow:hidden}.team-section h3{background:var(--bg-raised);border-bottom:1px solid var(--border);color:var(--text-h);letter-spacing:.3px;margin:0;padding:12px 16px;font-size:14px}.prop-group{border-bottom:1px solid var(--border)}.prop-group:last-of-type{border-bottom:none}.prop-group-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 16px;list-style:none;transition:background .15s;display:flex}.prop-group-summary:hover{background:var(--bg-raised)}.prop-group-summary::-webkit-details-marker{display:none}.prop-group-title{color:var(--text-h);font-size:14px;font-weight:600}.prop-group-count{background:var(--accent-bg);color:var(--accent);border-radius:999px;margin-right:10px;padding:2px 9px;font-size:12px;font-weight:700}.prop-group-summary:after{content:"▾";color:var(--text-dim);font-size:12px;transition:transform .2s}.prop-group[open] .prop-group-summary:after{transform:rotate(180deg)}.prop-group .scroll-hint{padding:0 16px}.prop-group .props-table-scroll{padding:0 16px 16px}.props-table{border-collapse:collapse;width:100%;font-size:13px}.props-table th,.props-table td{border-bottom:1px solid var(--border);text-align:left;color:var(--text);padding:9px 14px}.props-table th{background:var(--bg-raised);color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.props-table tbody tr:hover{background:var(--bg-raised)}.player-name-cell{color:var(--text-h);font-weight:600}.prop-type-badge{text-transform:uppercase;letter-spacing:.3px;color:var(--text-dim);font-size:11px;font-weight:600;display:inline-block}.prob-cell{align-items:center;gap:8px;min-width:120px;display:flex}.prob-bar-track{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.prob-bar-fill{background:linear-gradient(90deg, var(--accent-strong), var(--accent));border-radius:3px;height:100%;transition:box-shadow .2s}.grade-badge{text-align:center;letter-spacing:.2px;border-radius:6px;width:36px;padding:3px 0;font-size:13px;font-weight:800}.grade-a-plus,.grade-a{color:#06150a;background:var(--accent)}.grade-b-plus,.grade-b{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border)}.grade-c-plus,.grade-c{color:#e0b84d;background:#e0b84d1f;border:1px solid #e0b84d59}.grade-d{color:var(--text-dim);background:var(--bg-raised);border:1px solid var(--border)}:is(tr:has(.grade-a-plus) .prob-bar-fill,tr:has(.grade-a) .prob-bar-fill){box-shadow:0 0 8px var(--accent)}.book-line{color:var(--text-h);font-weight:600}.book-line.empty{color:var(--text-dim);font-weight:400}.status-badge{color:var(--text-dim);font-size:11px}.error{color:var(--danger)}.empty-state{color:var(--text-dim);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:60px 0;display:flex}.empty-state-icon{opacity:.5;font-size:34px;animation:3s ease-in-out infinite emptyStateFloat}@keyframes emptyStateFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.site-footer{border-top:1px solid var(--border);text-align:center;margin-top:50px;padding:24px 0}.footer-links{justify-content:center;gap:18px;margin-bottom:10px;display:flex}.footer-links a{color:var(--text);font-size:13px;text-decoration:none}.footer-links a:hover{color:var(--text-h)}.skeleton-block,.skeleton-cell{background:linear-gradient(90deg, var(--bg-raised) 25%, var(--border) 50%, var(--bg-raised) 75%);background-size:800px 100%;border-radius:6px;animation:1.4s ease-in-out infinite shimmer}.skeleton-header{height:52px;margin-bottom:16px}.skeleton-conditions{border-radius:8px;height:36px;margin-bottom:20px}.skeleton-team-name{width:180px;height:22px;margin-bottom:12px}.skeleton-cell{width:100%;min-width:48px;height:16px}.error-boundary{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px 0;display:flex}.footer-disclaimer{max-width:600px;color:var(--text-dim);margin:0 auto 8px;font-size:11px;line-height:1.5}.footer-copyright{color:var(--text-dim);font-size:11px}.legal-page{max-width:720px;margin:0 auto;padding:30px 20px}.legal-page h1{margin-bottom:4px}.legal-updated{color:var(--text-dim);margin-bottom:24px;font-size:12px}.legal-page h2{text-transform:none;color:var(--text-h);margin-top:26px;margin-bottom:8px;font-size:17px}.legal-page p{color:var(--text);font-size:14px;line-height:1.6}.auth-fineprint{text-align:center;color:var(--text-dim);margin-top:-6px;font-size:11px}.auth-fineprint a{color:var(--accent)}.props-table-scroll{-webkit-overflow-scrolling:touch;position:relative;overflow-x:auto}.scroll-hint{color:var(--text-dim);padding:6px 14px 0;font-size:11px;display:none}@media (width<=768px){.app{padding:0 16px 32px}.navbar-toggle{display:flex}.navbar-links{background:var(--bg-card);border:1px solid var(--border);z-index:20;border-top:none;flex-direction:column;align-items:flex-start;gap:14px;padding:16px;display:none;position:absolute;top:64px;left:0;right:0}.navbar-links.open{display:flex}.navbar{position:relative}.layout{flex-direction:column;align-items:stretch}main{width:100%;min-width:0}aside{flex:none;width:100%;position:static}.game-list{max-height:50vh}.pricing-grid{grid-template-columns:1fr}.auth-page{padding:32px 16px}.auth-card{width:100%;max-width:360px}.game-header-card{flex-direction:column;align-items:flex-start;gap:10px}.hero{padding:56px 16px 36px}.hero-ctas{flex-direction:column}.hero-cta{justify-content:center;width:100%}.features{padding:0 16px}.col-status{display:none}.scroll-hint{display:block}.props-table th,.props-table td{white-space:nowrap}.player-name-cell{white-space:normal;min-width:110px}.feature-card{text-align:center}.conditions-strip{text-align:center;justify-content:center}.props-table th,.props-table td{padding:8px 10px;font-size:12px}}
