*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e2e8f0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0f1117;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}#root{min-height:100vh}.lp{--lp-bg:#0b0e1a;--lp-surface:#111525;--lp-border:#8cb4ff14;--lp-accent:#7cacf8;--lp-accent-soft:#a6c8ff;--lp-accent-glow:#7cacf833;--lp-accent-bg:#7cacf80f;--lp-positive:#6ee7a0;--lp-negative:#f87171;--lp-text:#b8c4d8;--lp-text-muted:#6a7a94;--lp-heading:#e8edf5;--lp-font-display:"Instrument Serif", Georgia, serif;--lp-font-body:"DM Sans", system-ui, sans-serif;background:var(--lp-bg);min-height:100vh;color:var(--lp-text);font-family:var(--lp-font-body);position:relative;overflow-x:hidden}.lp-bg-mesh{z-index:0;pointer-events:none;background:radial-gradient(80% 60% at 15% 10%,#7cacf812 0%,#0000 60%),radial-gradient(60% 50% at 85% 25%,#a6c8ff0d 0%,#0000 60%),radial-gradient(70% 40% at 50% 85%,#7cacf80a 0%,#0000 50%);position:fixed;inset:0}.lp>:not(.lp-bg-mesh){z-index:1;position:relative}.lp-nav{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:20px 40px;display:flex}.lp-nav-logo{opacity:.95;height:32px}.lp-nav-signin{border:1px solid var(--lp-border);color:var(--lp-text);font-family:var(--lp-font-body);cursor:pointer;background:0 0;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .25s}.lp-nav-signin:hover{color:#fff;background:#ffffff0a;border-color:#ffffff26}.lp-ticker-wrap{border-top:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border);margin-top:8px;padding:10px 0;overflow:hidden}.lp-ticker{white-space:nowrap;gap:48px;width:max-content;animation:30s linear infinite lp-scroll;display:flex}.lp-ticker-item{letter-spacing:.05em;color:var(--lp-text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}@keyframes lp-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.lp-hero{text-align:center;max-width:1200px;margin:0 auto;padding:80px 40px 48px}.lp-hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--lp-accent);margin-bottom:16px;font-size:12px;font-weight:600}.lp-hero-headline{font-family:var(--lp-font-display);color:var(--lp-heading);letter-spacing:-.02em;margin:0 0 24px;font-size:clamp(42px,5.5vw,68px);font-weight:400;line-height:1.08}.lp-hero-headline em{color:var(--lp-accent);font-style:italic}.lp-hero-sub{color:var(--lp-text-muted);max-width:540px;margin:0 auto 36px;font-size:17px;line-height:1.65}.lp-hero-cta{background:var(--lp-accent);color:#0a0b14;font-family:var(--lp-font-body);cursor:pointer;box-shadow:0 0 30px var(--lp-accent-glow), 0 0 80px #7cacf814;border:none;border-radius:10px;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:600;transition:all .25s;display:inline-flex}.lp-hero-cta:hover{box-shadow:0 0 40px var(--lp-accent-glow), 0 0 100px #7cacf81f;transform:translateY(-1px)}.lp-previews{grid-template-columns:1fr 1fr;align-items:start;gap:28px;max-width:1200px;margin:0 auto;padding:0 40px 64px;display:grid}.lp-preview-card .lp-mock{max-width:100%}.lp-signin-page{justify-content:center;align-items:center;min-height:calc(100vh - 80px);display:flex}.lp-login-logo{opacity:.9;height:36px;margin-bottom:20px}.lp-nav-logo-link{cursor:pointer}.lp-mock{background:#0d1020;border:1px solid #8cb4ff1a;border-radius:14px;width:100%;max-width:380px;overflow:hidden;box-shadow:0 12px 48px #0006,0 0 60px #7cacf80a}.lp-mock-titlebar{background:#ffffff05;border-bottom:1px solid #8cb4ff0f;align-items:center;gap:6px;padding:10px 14px;display:flex}.lp-mock-dot{border-radius:50%;width:8px;height:8px}.lp-mock-dot-red{background:#f87171}.lp-mock-dot-yellow{background:#fbbf24}.lp-mock-dot-green{background:#6ee7a0}.lp-mock-tab-label{color:var(--lp-text-muted);letter-spacing:.02em;margin-left:8px;font-size:11px;font-weight:600}.lp-mock-body{flex-direction:column;gap:8px;padding:12px;display:flex}.lp-live-header{border-bottom:1px solid #8cb4ff0d;justify-content:space-between;align-items:center;padding:14px 12px 10px;display:flex}.lp-live-team{flex:1;align-items:center;gap:8px;display:flex}.lp-live-team-right{justify-content:flex-end}.lp-live-team-name{color:var(--lp-heading);font-size:12px;font-weight:600}.lp-live-score-block{flex-direction:column;align-items:center;gap:2px;padding:0 16px;display:flex}.lp-live-scores{align-items:center;gap:8px;display:flex}.lp-live-score-wrap{display:inline-flex;position:relative}.lp-live-score-num{color:var(--lp-text-muted);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.lp-live-score-num.lp-live-leading{color:var(--lp-heading)}.lp-live-score-delta{color:#22c55e;text-shadow:0 0 8px #22c55e99;pointer-events:none;font-size:12px;font-weight:800;position:absolute;top:-2px;right:-20px}.lp-live-score-dash{color:var(--lp-text-muted);opacity:.4;font-size:16px}.lp-live-clock{color:#22c55e;letter-spacing:.04em;background:#22c55e1a;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.lp-live-bet-section{border-bottom:1px solid #8cb4ff0a;padding:10px 12px}.lp-live-bet-section:last-child{border-bottom:none}.lp-live-bet-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.lp-live-bet-type{letter-spacing:.1em;color:var(--lp-text-muted);font-size:9px;font-weight:800}.lp-live-bet-side{color:var(--lp-text);font-size:11px;font-weight:600}.lp-live-bet-status{border-radius:4px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.lp-live-status-good{color:#22c55e;background:#22c55e1a}.lp-live-track{background:#1e2231;border-radius:3px;height:6px;position:relative;overflow:visible}.lp-live-track-marker{background:#fff3;border-radius:1px;width:2px;height:10px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.lp-live-track-dot{border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%)}.lp-live-dot-good{background:#22c55e;box-shadow:0 0 6px #22c55e66}.lp-live-props-grid{gap:8px;display:flex}.lp-live-prop-card{background:#8cb4ff05;border:1px solid #8cb4ff0d;border-radius:8px;flex:1;align-items:center;gap:8px;padding:8px;display:flex}.lp-live-prop-hit{background:#22c55e08;border-color:#22c55e1a}.lp-live-prop-ring{flex-shrink:0;width:40px;height:40px;position:relative}.lp-live-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}.lp-live-ring-text{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex;position:absolute;inset:0}.lp-live-prop-delta{color:#22c55e;text-shadow:0 0 8px #22c55e99;pointer-events:none;font-size:11px;font-weight:800;position:absolute;top:-4px;right:-8px}.lp-live-prop-info{flex-direction:column;gap:1px;min-width:0;display:flex}.lp-live-prop-name{color:var(--lp-heading);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.lp-live-prop-stat{color:var(--lp-text-muted);font-variant-numeric:tabular-nums;font-size:9px;font-weight:500}.lp-live-prop-side{color:var(--lp-text-muted);opacity:.7;font-size:9px;font-weight:500}.lp-mock-card-header{margin-bottom:10px}.lp-mock-card-matchup{align-items:center;gap:8px;margin-bottom:2px;display:flex}.lp-mock-team-big{color:var(--lp-heading);font-size:16px;font-weight:700}.lp-mock-at{color:var(--lp-text-muted);opacity:.4;font-size:12px}.lp-mock-card-time{color:var(--lp-text-muted);font-size:11px}.lp-mock-odds-row{background:#8cb4ff08;border-radius:8px;gap:12px;margin-bottom:10px;padding:8px 10px;display:flex}.lp-mock-odds-item{flex-direction:column;gap:2px;display:flex}.lp-mock-odds-label{color:var(--lp-text-muted);letter-spacing:.04em;font-size:10px;font-weight:600}.lp-mock-odds-val{color:var(--lp-text);font-size:12px;font-weight:600}.lp-mock-rec{border-radius:8px;margin-bottom:6px;padding:10px}.lp-mock-rec:last-child{margin-bottom:0}.lp-mock-rec-bet{background:#6ee7a00a;border:1px solid #6ee7a01a}.lp-mock-rec-pass{background:#8cb4ff05;border:1px solid #8cb4ff0d}.lp-mock-rec-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.lp-mock-rec-type{color:var(--lp-text-muted);font-size:11px;font-weight:600}.lp-mock-rec-verdict{letter-spacing:.06em;color:#6ee7a0;background:#6ee7a01f;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800}.lp-mock-verdict-pass{color:var(--lp-text-muted);background:#8cb4ff0f}.lp-mock-rec-side{color:var(--lp-heading);font-size:11px;font-weight:600}.lp-mock-rec-conf{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.lp-mock-conf-high{color:#6ee7a0;background:#6ee7a01a}.lp-mock-conf-low{color:#94a3b8;background:#64748b1f}.lp-mock-rec-details{color:var(--lp-text-muted);gap:16px;font-size:11px;display:flex}.lp-mock-edge-pos{color:#6ee7a0}.lp-features-layout{flex-direction:column;gap:40px;display:flex}.lp-stats{border-top:1px solid var(--lp-border);border-bottom:1px solid var(--lp-border);background:#ffffff04;padding:48px 40px}.lp-stats-inner{justify-content:center;align-items:center;gap:48px;max-width:1000px;margin:0 auto;display:flex}.lp-stat{text-align:center}.lp-stat-value{font-family:var(--lp-font-display);color:var(--lp-heading);margin-bottom:6px;font-size:40px;font-weight:400;line-height:1}.lp-stat-label{letter-spacing:.04em;color:var(--lp-text-muted);font-size:12px;font-weight:500}.lp-stat-divider{background:var(--lp-border);width:1px;height:40px}.lp-section-header{text-align:center;margin-bottom:56px}.lp-section-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--lp-accent);margin-bottom:12px;font-size:12px;font-weight:600}.lp-section-title{font-family:var(--lp-font-display);color:var(--lp-heading);letter-spacing:-.01em;margin:0;font-size:clamp(30px,4vw,44px);font-weight:400}.lp-features{max-width:1200px;margin:0 auto;padding:80px 40px 72px}.lp-features-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.lp-feature-card{background:var(--lp-surface);border:1px solid var(--lp-border);border-radius:16px;padding:36px 32px;transition:border-color .3s,transform .3s}.lp-feature-card:hover{border-color:#7cacf833;transform:translateY(-3px)}.lp-feature-icon{background:var(--lp-accent-bg);width:48px;height:48px;color:var(--lp-accent);border:1px solid #7cacf826;border-radius:12px;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.lp-feature-title{font-family:var(--lp-font-display);color:var(--lp-heading);margin:0 0 10px;font-size:22px;font-weight:400}.lp-feature-desc{color:var(--lp-text-muted);margin:0;font-size:14px;line-height:1.65}.lp-how{max-width:1200px;margin:0 auto;padding:64px 40px 80px}.lp-pipe{max-width:680px;margin:0 auto}.lp-pipe-flow{justify-content:center;align-items:center;gap:0;margin-bottom:28px;display:flex}.lp-pipe-segment{align-items:center;display:flex}.lp-pipe-node{border:1px solid var(--lp-border);background:var(--lp-surface);cursor:pointer;z-index:1;border-radius:14px;flex-direction:column;align-items:center;gap:6px;min-width:100px;padding:18px 24px 14px;transition:border-color .3s;display:flex;position:relative}.lp-pipe-node:hover,.lp-pipe-node--on{border-color:var(--nc)}.lp-pipe-glow{z-index:-1;pointer-events:none;border:1.5px solid;border-radius:14px;position:absolute;inset:-1px}.lp-pipe-num{letter-spacing:.12em;color:var(--nc);opacity:.7;font-size:10px;font-weight:700}.lp-pipe-node--on .lp-pipe-num{opacity:1}.lp-pipe-title{font-family:var(--lp-font-display);color:var(--lp-text-muted);font-size:22px;font-weight:400;transition:color .3s}.lp-pipe-node--on .lp-pipe-title{color:var(--lp-heading)}.lp-pipe-wire{flex-shrink:0;width:56px;height:2px;position:relative}.lp-pipe-wire-line{background:linear-gradient(90deg,#7cacf826,#7cacf80f);border-radius:1px;position:absolute;inset:0}.lp-pipe-dot{background:var(--dc);width:5px;height:5px;box-shadow:0 0 8px var(--dc);opacity:0;border-radius:50%;animation:3.2s ease-in-out infinite lp-dot-travel;position:absolute;top:-1.5px}@keyframes lp-dot-travel{0%{opacity:0;left:0}8%{opacity:1}48%{opacity:1}56%{opacity:0;left:100%}to{opacity:0;left:100%}}.lp-pipe-card{background:var(--lp-surface);border:1px solid var(--lp-border);border-top:2px solid var(--cc);border-radius:14px;padding:22px 26px 18px}.lp-pipe-card-desc{color:var(--lp-text);margin:0 0 18px;font-size:14px;line-height:1.65}.lp-pipe-card-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.lp-pipe-stat{border:1px solid var(--lp-border);text-align:center;background:#ffffff08;border-radius:10px;padding:10px 12px}.lp-pipe-stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--lp-text-muted);margin-bottom:4px;font-size:10px;font-weight:600;display:block}.lp-pipe-stat-val{color:var(--cc);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;display:block}.lp-pipe-bar-track{background:#ffffff0d;border-radius:1px;height:2px;overflow:hidden}.lp-pipe-bar-fill{border-radius:1px;height:100%}@media (width<=600px){.lp-pipe-node{min-width:72px;padding:12px 14px 10px}.lp-pipe-title{font-size:17px}.lp-pipe-wire{width:28px}.lp-pipe-card{padding:16px 18px 14px}.lp-pipe-stat{padding:8px 6px}.lp-pipe-stat-val{font-size:13px}}.lp-login{justify-content:center;padding:80px 40px 100px;display:flex}.lp-login-card{background:var(--lp-surface);border:1px solid var(--lp-border);text-align:center;border-radius:20px;width:100%;max-width:400px;padding:48px 44px}.lp-login-title{font-family:var(--lp-font-display);color:var(--lp-heading);margin:0 0 28px;font-size:26px;font-weight:400}.lp-login-form{flex-direction:column;gap:14px;display:flex}.lp-login-input{border:1px solid var(--lp-border);font-size:14px;font-family:var(--lp-font-body);color:var(--lp-heading);background:#ffffff0a;border-radius:10px;outline:none;padding:13px 16px;transition:border-color .2s}.lp-login-input:focus{border-color:var(--lp-green)}.lp-login-input::placeholder{color:var(--lp-text-muted)}.lp-login-error{color:#ef4444;text-align:left;font-size:13px}.lp-login-btn{background:var(--lp-accent);color:#0a0b14;font-size:15px;font-weight:600;font-family:var(--lp-font-body);cursor:pointer;box-shadow:0 0 20px var(--lp-accent-glow);border:none;border-radius:10px;margin-top:4px;padding:13px;transition:all .25s}.lp-login-btn:hover{box-shadow:0 0 30px var(--lp-green-glow)}.lp-login-btn:disabled{opacity:.5;cursor:not-allowed}.lp-footer{text-align:center;color:var(--lp-text-muted);border-top:1px solid var(--lp-border);justify-content:center;align-items:center;gap:8px;padding:24px 40px 32px;font-size:13px;display:flex}.lp-footer-dot{opacity:.4}@media (width<=900px){.lp-hero{grid-template-columns:1fr;min-height:auto;padding:60px 24px 50px}.lp-previews{grid-template-columns:1fr;padding:0 20px 60px}.lp-previews .lp-live-props-grid{flex-direction:column}.lp-hero-headline{font-size:clamp(34px,8vw,50px)}.lp-features-grid{grid-template-columns:1fr;gap:16px}.lp-pipe-flow{-webkit-overflow-scrolling:touch;justify-content:flex-start;overflow-x:auto}.lp-stats-inner{flex-wrap:wrap;gap:24px}.lp-stat-divider{display:none}.lp-nav{padding:16px 20px}.lp-features,.lp-how{padding:60px 20px}.lp-stats{padding:36px 20px}.lp-login{padding:40px 20px 60px}.lp-login-card{padding:36px 28px}}@media (width<=480px){.lp-hero-sub{font-size:15px}.lp-stat-value{font-size:32px}.lp-stats-inner{gap:20px}.lp-stat{min-width:40%}}.login-page{background:#11121b;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{text-align:center;background:#1a1b2e;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:380px;padding:48px 40px}.login-logo{height:45px;margin-bottom:16px}.login-title{color:#fff;margin-bottom:32px;font-size:28px;font-weight:700}.login-form{flex-direction:column;gap:14px;display:flex}.login-input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;outline:none;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .2s}.login-input:focus{border-color:#6366f1}.login-error{color:#ef4444;text-align:left;font-size:13px}.login-button{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:10px;margin-top:4px;padding:12px;font-family:inherit;font-size:15px;font-weight:600;transition:background .2s}.login-button:hover{background:#4f46e5}.login-button:disabled{opacity:.5;cursor:not-allowed}.settings-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal{background:#1a1b2e;border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:440px;max-height:90vh;padding:28px 32px;overflow-y:auto}.settings-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.settings-header h2{color:#fff;margin:0;font-size:20px}.settings-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:24px}.settings-section{border-bottom:1px solid #ffffff0f;margin-bottom:24px;padding-bottom:24px}.settings-section:last-child{border-bottom:none}.settings-section h3{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px;font-size:14px}.settings-row{margin-bottom:12px}.settings-row label{color:#64748b;margin-bottom:4px;font-size:12px;display:block}.settings-input{color:#e2e8f0;box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.settings-input:focus{border-color:#6366f1}.settings-message{margin-bottom:8px;font-size:13px}.settings-message.success{color:#22c55e}.settings-message.error{color:#ef4444}.settings-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600}.settings-save:hover{background:#4f46e5}.settings-save:disabled{opacity:.5;cursor:not-allowed}.header-right{align-items:center;display:flex;position:relative}.hamburger-btn{color:#e2e8f0;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:8px;padding:6px 10px;font-size:22px;line-height:1;transition:background .2s}.hamburger-btn:hover{background:#ffffff14}.hamburger-menu{z-index:100;background:#1e2030;border:1px solid #ffffff1a;border-radius:10px;min-width:160px;margin-top:6px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0006}.hamburger-menu-item{color:#e2e8f0;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:block}.hamburger-menu-item:hover{background:#ffffff14}.hamburger-menu-item:disabled{opacity:.5;cursor:not-allowed}.hamburger-menu-user{color:#e2e8f0;border-bottom:1px solid #ffffff0f;margin-bottom:4px;padding:10px 14px 6px;font-size:13px;font-weight:600}.hamburger-menu-divider{background:#ffffff0f;height:1px;margin:4px 0}.hamburger-menu-logout{color:#ef4444!important}.admin-panel{margin-top:12px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-header h2{color:#fff;margin:0;font-size:20px}.admin-add-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600}.admin-add-form{background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;margin-bottom:20px;padding:20px}.admin-form-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.admin-form-grid input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px}.admin-checkbox{color:#e2e8f0;align-items:center;gap:8px;font-size:13px;display:flex}.admin-error{color:#ef4444;margin-bottom:8px;font-size:13px}.admin-submit{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600}.admin-action-btn{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px}.admin-action-btn:hover{background:#ffffff1a}.admin-reset-input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;outline:none;width:120px;padding:4px 8px;font-family:inherit;font-size:11px}.dashboard{max-width:1400px;margin:0 auto;padding:24px 32px 48px;position:relative}.dashboard:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(70% 50% at 10% 5%,#3b82f609 0%,#0000 60%),radial-gradient(50% 40% at 90% 20%,#6366f106 0%,#0000 55%),radial-gradient(60% 35% at 50% 95%,#3b82f605 0%,#0000 50%);position:fixed;inset:0}.header{border-bottom:1px solid #2a2d37;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.header-brand{align-items:center;gap:8px;display:flex}.header-logo{width:auto;height:26px;position:relative;top:3px;left:2px}.sport-switcher{background:#ffffff0f;border-radius:10px;align-items:center;gap:2px;margin-left:16px;padding:3px;display:flex}.sport-btn{color:#64748b;cursor:pointer;z-index:1;background:0 0;border:none;border-radius:8px;padding:5px 14px;font-size:13px;font-weight:500;transition:color .2s;position:relative}.sport-btn:hover{color:#94a3b8}.sport-btn.active{color:#e2e8f0}.sport-btn-bg{z-index:-1;background:#6366f133;border-radius:8px;position:absolute;inset:0}.sport-btn-content{z-index:1;align-items:center;gap:5px;display:flex;position:relative}.sport-emoji{font-size:14px;line-height:1}.sport-label{letter-spacing:.3px;font-size:13px;font-weight:600}.mlb-placeholder{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;padding:80px 20px;display:flex}.mlb-placeholder-icon{opacity:.5;margin-bottom:16px;font-size:48px}.mlb-placeholder h2{color:#e2e8f0;margin-bottom:8px;font-size:20px;font-weight:600}.mlb-placeholder p{max-width:400px;font-size:14px}.header h1{color:#fff;letter-spacing:-.5px;font-size:24px;font-weight:700}.app-footer{color:#64748b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;background:#11121bd9;border-top:1px solid #ffffff0d;justify-content:center;align-items:center;gap:12px;padding:6px 0;font-size:11px;display:flex;position:fixed;bottom:0;left:0;right:0}.refresh-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sub-tabs{background:#1a1d27;border:1px solid #2a2d37;border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:inline-flex}.sub-tab-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.sub-tab-btn:hover{color:#94a3b8;background:#ffffff08}.sub-tab-btn.active{color:#fff;background:#3b82f6}.tabs{border-bottom:1px solid #2a2d37;justify-content:space-between;margin-bottom:28px;display:flex}.tabs-left,.tabs-right{gap:4px;display:flex}.tabs button{color:#64748b;cursor:pointer;letter-spacing:.01em;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:color .2s,border-color .2s,background .2s}.tabs button:hover{color:#94a3b8;background:#ffffff05}.tabs button.active{color:#e2e8f0;background:#3b82f60f;border-bottom-color:#3b82f6;font-weight:600}.live-dot{vertical-align:middle;background:#22c55e;border-radius:50%;width:7px;height:7px;margin-left:6px;animation:1.5s ease-in-out infinite live-blink;display:inline-block}@keyframes live-blink{0%,to{opacity:1;box-shadow:0 0 4px #22c55e99}50%{opacity:.3;box-shadow:none}}.backtest-running-dot{vertical-align:middle;background:#f59e0b;border-radius:50%;width:7px;height:7px;margin-left:6px;animation:1.5s ease-in-out infinite backtest-blink;display:inline-block}@keyframes backtest-blink{0%,to{opacity:1;box-shadow:0 0 4px #f59e0b99}50%{opacity:.3;box-shadow:none}}.backtest-done-dot{vertical-align:middle;background:#22c55e;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.games-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:20px;display:grid}@media (width<=480px){.games-grid{grid-template-columns:1fr}}.game-card{-webkit-tap-highlight-color:transparent;background:#1a1d27;border:1px solid #2a2d37;border-top-color:#32363f;border-radius:12px;padding:20px;transition:border-color .2s;box-shadow:0 2px 12px #0003,0 1px 3px #00000026}@media (hover:hover){.game-card:hover{border-color:#3b82f6}}.game-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:16px;display:flex}.game-card-header>div:first-child{flex:1;min-width:0}.game-header-right{align-items:center;gap:8px;display:flex}.game-runs-wrapper{position:relative}.game-runs-toggle{color:#64748b;cursor:pointer;background:0 0;border:1px solid #2a2d37;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.game-runs-toggle:hover{color:#94a3b8;border-color:#3b82f6}.game-runs-dropdown{z-index:30;background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;flex-direction:column;gap:6px;min-width:190px;padding:10px 12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 16px #0006}.game-runs-header{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:2px;font-size:10px;font-weight:600}.game-run-item{align-items:center;gap:8px;font-size:12px;display:flex}.game-run-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.game-run-dot-done{background:#22c55e}.game-run-dot-pending{background:#475569}.game-run-label{color:#94a3b8;font-weight:600}.game-run-time{color:#64748b;font-variant-numeric:tabular-nums;margin-left:auto}.matchup{color:#fff;align-items:center;gap:6px;font-size:16px;font-weight:600;display:flex}.team-logo{vertical-align:middle;flex-shrink:0}.team-with-logo{align-items:center;gap:4px;display:inline-flex}.matchup-names{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.game-time{color:#64748b;margin-top:4px;font-size:12px}.score-section{justify-content:center;align-items:center;gap:16px;margin-bottom:12px;display:flex}.score-inline{justify-content:center;align-items:center;gap:12px;margin-bottom:12px;padding:8px 0;display:flex}.score-inline-team{align-items:center;gap:6px;min-width:70px;display:flex}.score-inline-team-right{justify-content:flex-end}.score-inline-name{color:#e2e8f0;text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:700}.score-inline-numbers{align-items:center;gap:6px;display:flex}.score-inline-pts{color:#94a3b8;font-variant-numeric:tabular-nums;text-align:center;min-width:36px;font-size:24px;font-weight:800}.score-inline-pts.score-leading{color:#e2e8f0}.score-inline-dash{color:#475569;font-size:18px;font-weight:300}.score-team{flex-direction:column;align-items:center;gap:2px;display:flex}.score-team-name{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.score-number{color:#fff;font-size:22px;font-weight:700}.score-divider{color:#475569;padding-top:16px;font-size:18px}.status-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.status-badge.scheduled{color:#22c55e;background:#22c55e26}.status-badge.in_progress,.status-badge.live{color:#eab308;background:#eab30826;animation:2s infinite pulse}.status-badge.final{color:#ef4444;background:#ef444426}.header-badges{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.status-badge.roster-adjusted{color:#eab308;background:#eab30826}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.bovada-odds{margin-bottom:16px}.no-odds-note{color:#64748b;text-align:center;padding:8px 16px;font-size:12px;font-style:italic}.bovada-odds-header{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:8px;font-size:11px;font-weight:600}.bovada-odds-row{gap:16px;display:flex}.bovada-odds-item{text-align:center;background:#2a2d3766;border-radius:6px;flex:1;padding:8px 10px}.bovada-odds-label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:4px;font-size:10px;display:block}.bovada-odds-value{color:#e2e8f0;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;display:block}.injury-note{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.roster-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.roster-active{color:#22c55e;background:#22c55e1f}.roster-pending{color:#eab308;background:#eab3081f}.injury-tag{color:#f87171;background:#ef44441a;border:1px solid #ef444433;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.injury-disclaimer{color:#475569;margin-top:4px;font-size:10px;font-style:italic;display:block}.rest-tag{color:#eab308;background:#eab3081a;border:1px solid #eab30833;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.prediction-section{background:#3b82f60d;border:1px solid #3b82f626;border-radius:8px;padding:14px}.prediction-section.totals-section{margin-top:12px}.prediction-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.model-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.model-hybrid{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.model-elo{color:#94a3b8;background:#64748b26;border:1px solid #64748b4d}.prediction-section h4{text-transform:uppercase;letter-spacing:.5px;color:#3b82f6;margin-bottom:0;font-size:11px;font-weight:600}.prediction-row{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.prediction-row:last-child{margin-bottom:0}.prediction-label{color:#64748b}.prediction-value{color:#e2e8f0;font-variant-numeric:tabular-nums;font-weight:600}.win-prob-bar-container{background:#2a2d37;border-radius:3px;width:100%;height:6px;margin-top:4px;overflow:hidden}.win-prob-bar{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:3px;height:100%;transition:width .5s}.edge-positive{color:#22c55e}.edge-negative{color:#ef4444}.edge-losing{color:#f59e0b}.edge-lost{color:#ef4444}.value-badge{text-transform:uppercase;letter-spacing:.5px;color:#22c55e;background:#22c55e26;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.confidence-badge{color:#60a5fa;background:#3b82f61f;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.team-ratings{border-collapse:collapse;width:100%}.team-ratings th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#64748b;border-bottom:1px solid #2a2d37;padding:10px 16px;font-size:11px;font-weight:600}.team-ratings td{color:#cbd5e1;border-bottom:1px solid #2a2d3780;padding:10px 16px;font-size:14px}.team-ratings tr:hover td{background:#3b82f60a}.team-ratings .rank-cell{font-variant-numeric:tabular-nums;width:50px;font-weight:700}.team-ratings .team-name{color:#fff;font-weight:600}.team-abbr{color:#64748b;font-size:12px;font-weight:400}.team-ratings .top-team .rank-cell,.team-ratings .top-team .team-name{color:#fbbf24}.team-ratings .bottom-team .rank-cell,.team-ratings .bottom-team .team-name{color:#475569}.rating-bar-container{align-items:center;gap:12px;min-width:200px;display:flex}.rating-number{font-variant-numeric:tabular-nums;text-align:right;color:#e2e8f0;min-width:48px;font-weight:700}.rating-bar{background:#2a2d37;border-radius:4px;flex:1;height:8px;overflow:hidden}.rating-bar-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;height:100%;transition:width .5s}.top-team .rating-bar-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.bottom-team .rating-bar-fill{background:#334155}.stats-table-wrapper{overflow-x:auto}.stats-table{border-collapse:collapse;width:100%;min-width:700px}.stats-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid #2a2d37;padding:10px 16px;font-size:11px;font-weight:600;transition:color .2s}.stats-table th:hover{color:#94a3b8}.stats-table th.sorted{color:#3b82f6}.stats-table th .sort-arrow{margin-left:4px;font-size:10px}.stats-table td{color:#cbd5e1;font-variant-numeric:tabular-nums;border-bottom:1px solid #2a2d3780;padding:10px 16px;font-size:14px}.stats-table tr:hover td{background:#3b82f60a}.stats-table .team-name{color:#fff;font-weight:600}.record-cell{align-items:center;gap:10px;display:flex}.record-text{min-width:50px}.win-pct-bar{background:#2a2d37;border-radius:2px;width:60px;height:4px;overflow:hidden}.win-pct-fill{background:#3b82f6;border-radius:2px;height:100%}.net-positive{color:#22c55e;font-weight:600}.net-negative{color:#ef4444;font-weight:600}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.backtest-progress-container{width:100%;max-width:400px}.backtest-progress-bar{background:#2a2d37;border-radius:5px;width:100%;height:10px;overflow:hidden}.backtest-progress-fill{background:#22c55e;border-radius:5px;height:100%;transition:width .3s}.backtest-progress-text{color:#94a3b8;text-align:center;margin-top:8px;font-size:13px}.loading-spinner{border:3px solid #2a2d37;border-top-color:#3b82f6;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.loading-text{color:#64748b;font-size:14px}.maintenance-container{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 20px;display:flex}.maintenance-icon{font-size:48px;line-height:1}.maintenance-title{color:#e2e8f0;margin:0;font-size:18px;font-weight:600}.maintenance-text{color:#64748b;text-align:center;max-width:320px;margin:0;font-size:14px}.retry-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;margin-top:4px;padding:8px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:background .2s}.retry-button:hover{background:#2563eb}.empty-state{text-align:center;color:#475569;padding:80px 20px;font-size:16px}.table-container{background:#1a1d27;border:1px solid #2a2d37;border-radius:12px;overflow:hidden}.props-countdown{color:#86efac;background:#86efac1a;border:1px solid #86efac40;border-radius:8px;margin-top:12px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-block}.countdown-banner{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:12px;align-items:center;gap:14px;margin-bottom:20px;padding:16px 20px;display:flex}.countdown-icon{font-size:24px;line-height:1}.countdown-message{color:#f59e0b;font-size:14px;font-weight:600}.countdown-time{color:#94a3b8;margin-top:2px;font-size:12px}.bankroll-input-section{align-items:center;margin-bottom:20px;display:flex}.bankroll-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:12px;font-size:13px;font-weight:600;display:flex}.bankroll-input-wrapper{background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;align-items:center;padding:0 12px;transition:border-color .2s;display:flex}.bankroll-input-wrapper:focus-within{border-color:#3b82f6}.bankroll-dollar{color:#64748b;font-size:16px;font-weight:600}.bankroll-input{color:#e2e8f0;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;width:120px;padding:8px;font-family:inherit;font-size:16px;font-weight:700}.bankroll-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bankroll-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bet-recommendation-section{border-radius:8px;margin-top:12px;padding:14px}.bet-recommendation-section.rec-bet{background:#22c55e0f;border:1px solid #7cacf833}.bet-recommendation-section.rec-pass{background:#64748b0f;border:1px solid #64748b26}.rec-header h4{text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:8px;font-size:11px;font-weight:600}.rec-verdict-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.bet-verdict{text-transform:uppercase;letter-spacing:1px;border-radius:4px;padding:3px 12px;font-size:14px;font-weight:800}.verdict-bet{color:#22c55e;background:#22c55e33}.verdict-pass{color:#ef4444;background:#ef444426}.bet-side{color:#22c55e;font-size:14px;font-weight:700}.confidence-badge.confidence-low{color:#64748b;background:#64748b1f}.confidence-badge.confidence-medium{color:#eab308;background:#eab3081f}.confidence-badge.confidence-very_high{color:#a855f7;background:#a855f726}.confidence-badge.confidence-high{color:#22c55e;background:#22c55e1f}.rec-details{margin-bottom:10px}.rec-detail-row{color:#64748b;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;display:flex}.rec-detail-value{color:#e2e8f0;font-variant-numeric:tabular-nums;font-weight:600}.rec-bet-amount{border-top:1px solid #2a2d3780;margin-top:4px;padding-top:6px}.bet-amount{color:#22c55e;font-size:16px;font-weight:800}.rec-explanation{color:#94a3b8;border-top:1px solid #2a2d3780;padding-top:8px;font-size:12px;line-height:1.5}.prediction-grid{flex-direction:column;gap:4px;display:flex}.bet-analysis-consolidated{flex-direction:column;gap:8px;display:flex}.bet-analysis-item{border-radius:8px;padding:10px 14px}.bet-analysis-item.rec-bet{background:#22c55e0d;border:1px solid #7cacf826}.bet-analysis-item.rec-pass{background:#64748b0d;border:1px solid #64748b26}.bet-analysis-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.bet-analysis-type{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;min-width:50px;font-size:12px;font-weight:700}.bet-analysis-details{color:#94a3b8;flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.bet-analysis-details .bet-amount{color:#22c55e;font-weight:600}.log-bet-section{border-top:1px solid #2a2d37;justify-content:center;margin-top:12px;padding-top:12px;display:flex}.log-bet-buttons{justify-content:center;gap:8px;width:100%;display:flex}.log-bet-button{color:#22c55e;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:#22c55e26;border:1px solid #22c55e4d;border-radius:6px;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:700;transition:background .2s,border-color .2s}.log-bet-button:hover{background:#22c55e40;border-color:#22c55e80}.log-bet-button:disabled{opacity:.5;cursor:not-allowed}.log-bet-manual-button{color:#60a5fa;cursor:pointer;background:#3b82f61a;border:1px solid #3b82f640;border-radius:6px;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s}.log-bet-manual-button:hover{background:#3b82f633}.log-bet-logged{color:#22c55e;background:var(--lp-accent-bg);border-radius:6px;padding:8px 24px;font-size:13px;font-weight:600}.log-bet-form{width:100%}.log-bet-form-row{gap:12px;margin-bottom:10px;display:flex}.log-bet-form-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;flex-direction:column;flex:1;gap:4px;min-width:0;font-size:11px;font-weight:600;display:flex}.log-bet-select,.log-bet-amount-input{color:#e2e8f0;box-sizing:border-box;background:#12141c;border:1px solid #2a2d37;border-radius:6px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .2s}.log-bet-select:focus,.log-bet-amount-input:focus{border-color:#3b82f6}.log-bet-form-actions{justify-content:center;gap:8px;display:flex}.log-bet-cancel{color:#64748b;cursor:pointer;background:0 0;border:1px solid #2a2d37;border-radius:6px;padding:8px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:color .2s}.log-bet-cancel:hover{color:#94a3b8}.performance-page{flex-direction:column;gap:20px;display:flex}.perf-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.perf-card{text-align:center;background:#1a1d27;border:1px solid #2a2d37;border-top-color:#32363f;border-radius:12px;padding:16px;box-shadow:0 2px 12px #0003,0 1px 3px #00000026}.perf-card-label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:6px;font-size:11px;font-weight:600}.perf-card-value{color:#e2e8f0;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.perf-card-sub{color:#475569;margin-top:4px;font-size:12px}.perf-charts-row{grid-template-columns:2fr 1fr;gap:16px;display:grid}@media (width<=900px){.perf-charts-row{grid-template-columns:1fr}}.perf-chart-card{background:#1a1d27;border:1px solid #2a2d37;border-top-color:#32363f;border-radius:12px;padding:16px;box-shadow:0 2px 12px #0003,0 1px 3px #00000026}.perf-chart-card h4{text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;margin-bottom:12px;font-size:11px;font-weight:600}.perf-table-section{background:#1a1d27;border:1px solid #2a2d37;border-top-color:#32363f;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0003,0 1px 3px #00000026}.perf-table-header{border-bottom:1px solid #2a2d37;justify-content:space-between;align-items:center;padding:16px;display:flex}.perf-table-header h4{color:#e2e8f0;margin:0;font-size:14px;font-weight:600}.perf-filters{gap:4px;display:flex}.pill-tabs{background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;gap:2px;width:fit-content;padding:3px;display:flex}.pill-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:color .2s;position:relative}.pill-tab:hover{color:#94a3b8}.pill-tab-active{color:#fff}.pill-tab-bg{z-index:0;background:#3b82f633;border:1px solid #3b82f64d;border-radius:6px;position:absolute;inset:0}.pill-tab-label{z-index:1;position:relative}.perf-filter-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #2a2d37;border-radius:4px;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .2s}.perf-filter-btn:hover{color:#94a3b8;border-color:#3b82f6}.perf-filter-btn.active{color:#3b82f6;background:#3b82f626;border-color:#3b82f6}.result-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.result-badge.result-win{color:#22c55e;background:#22c55e26}.result-badge.result-loss{color:#ef4444;background:#ef444426}.result-badge.result-push{color:#eab308;background:#eab30826}.result-badge.result-pending{color:#64748b;background:#64748b26}.result-badge.result-void{color:#a855f7;background:#a855f726}.model-action-btn{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;height:40px;padding:0 20px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,border-color .2s;display:inline-flex}.model-action-btn:disabled{opacity:.5;cursor:not-allowed}.snapshot-btn{color:#3b82f6;background:#3b82f626;border:1px solid #3b82f64d}.snapshot-btn:hover:not(:disabled){background:#3b82f640}.games-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.games-filters{gap:4px;display:flex}.my-bet-tag{background:#3b82f614;border:1px solid #3b82f633;border-radius:6px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.my-bet-label{text-transform:uppercase;letter-spacing:.5px;color:#3b82f6;white-space:nowrap;background:#3b82f633;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:800}.my-bet-detail{color:#e2e8f0;font-size:13px;font-weight:600}.odds-status{cursor:help;align-items:center;gap:5px;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot-green{background:#22c55e;box-shadow:0 0 6px #22c55e80}.status-dot-red{background:#ef4444;box-shadow:0 0 6px #ef444480}.status-dot-label{color:#64748b;font-size:11px;font-weight:500}.odds-status-tooltip{z-index:9999;pointer-events:none;background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;width:280px;padding:12px 14px;display:none;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 24px #00000080}.odds-status:hover .odds-status-tooltip{display:block}.odds-status{position:relative}.odds-tooltip-title{margin-bottom:6px;font-size:13px;font-weight:700}.odds-tooltip-body{color:#94a3b8;font-size:12px;line-height:1.5}.games-section{margin-bottom:28px}.games-section-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #2a2d37;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;font-size:14px;font-weight:600;display:flex}.section-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.help-icon{color:#94a3b8;cursor:help;vertical-align:middle;background:#64748b40;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;margin-left:4px;font-size:9px;font-weight:700;display:inline-flex;position:relative}.tooltip-text{color:#e2e8f0;text-transform:none;letter-spacing:normal;white-space:normal;text-align:left;z-index:100;pointer-events:none;background:#1a1d27;border:1px solid #3b82f6;border-radius:6px;width:220px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0006}.tooltip-text:after{content:"";border:5px solid #0000;border-top-color:#3b82f6;position:absolute;top:100%;left:50%;transform:translate(-50%)}.help-icon:hover .tooltip-text{display:block}.floating-tooltip{color:#e2e8f0;text-align:left;z-index:9999;pointer-events:none;background:#1a1d27;border:1px solid #3b82f6;border-radius:6px;width:240px;padding:10px 14px;font-size:12px;font-weight:400;line-height:1.5;box-shadow:0 4px 16px #00000080}.manual-odds-section{margin-bottom:12px}.manual-odds-toggle{color:#eab308;cursor:pointer;background:#eab30814;border:1px dashed #eab3084d;border-radius:8px;width:100%;padding:10px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s}.manual-odds-toggle:hover{background:#eab30826}.manual-odds-form{background:#eab3080d;border:1px solid #eab30833;border-radius:8px;padding:12px}.manual-odds-header{text-transform:uppercase;letter-spacing:.5px;color:#eab308;margin-bottom:10px;font-size:11px;font-weight:600}.manual-odds-row{align-items:flex-end;gap:10px;display:flex}.manual-odds-check{color:#eab308;cursor:pointer;white-space:nowrap;background:#eab30826;border:1px solid #eab3084d;border-radius:6px;height:36px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:700;transition:background .2s}.manual-odds-check:hover:not(:disabled){background:#eab30840}.manual-odds-check:disabled{opacity:.5;cursor:not-allowed}.props-instructions{color:#94a3b8;margin-bottom:16px;font-size:13px;line-height:1.5}.props-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;display:grid}.prop-card{background:#1a1d27;border:1px solid #2a2d37;border-radius:12px;padding:16px;transition:border-color .2s}.prop-card:hover{border-color:#3b82f6}.prop-card-bet{border-color:#22c55e4d}.prop-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.prop-player-name{color:#e2e8f0;font-size:15px;font-weight:700}.prop-player-meta{color:#64748b;margin-top:2px;font-size:12px}.prop-predictions{border-bottom:1px solid #2a2d37;gap:12px;margin-bottom:12px;padding:8px 0;display:flex}.prop-pred-item{flex-direction:column;align-items:center;gap:2px;display:flex}.prop-pred-label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-size:10px;font-weight:600}.prop-pred-value{color:#e2e8f0;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.prop-pred-range{color:#475569;font-size:10px}.prop-pred-line{font-size:10px;font-weight:600}.prop-inputs{align-items:flex-end;gap:6px;margin-bottom:10px;display:flex}.prop-input-label{color:#64748b;text-transform:uppercase;flex-direction:column;flex:1;gap:2px;font-size:10px;font-weight:600;display:flex}.prop-input{color:#e2e8f0;box-sizing:border-box;background:#12141c;border:1px solid #2a2d37;border-radius:6px;outline:none;width:100%;padding:6px 8px;font-family:inherit;font-size:13px;transition:border-color .2s}.prop-input:focus{border-color:#3b82f6}.prop-check-btn{color:#eab308;cursor:pointer;white-space:nowrap;background:#eab30826;border:1px solid #eab3084d;border-radius:6px;height:32px;padding:0 14px;font-family:inherit;font-size:12px;font-weight:700}.prop-check-btn:hover:not(:disabled){background:#eab30840}.prop-check-btn:disabled{opacity:.4;cursor:not-allowed}.prop-edges{flex-direction:column;gap:6px;display:flex}.prop-edge-item{background:#64748b0d;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.prop-edge-bet{background:#22c55e0f;border:1px solid #7cacf826}.prop-edge-stat{color:#94a3b8;min-width:28px;font-weight:700}.prop-edge-side{font-weight:600}.prop-edge-value{font-variant-numeric:tabular-nums;font-weight:700}.props-game-section{background:#1a1d27;border:1px solid #2a2d37;border-top-color:#32363f;border-radius:12px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 12px #0003,0 1px 3px #00000026}.props-game-header{background:#3b82f608;border-bottom:1px solid #2a2d37;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.props-game-title{color:#e2e8f0;margin:0;font-size:15px;font-weight:700}.props-game-meta{align-items:center;gap:10px;display:flex}.props-game-time{color:#94a3b8;white-space:nowrap;font-size:12px}.props-game-value-count{color:#22c55e;background:#22c55e1a;border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600}.props-stat-group{border-bottom:1px solid #2a2d3780}.props-stat-group:last-child{border-bottom:none}.props-stat-label{text-transform:uppercase;letter-spacing:.5px;color:#3b82f6;padding:8px 16px 0;font-size:11px;font-weight:700}.compact-props-table{table-layout:fixed;width:100%;margin:0}.compact-props-table th,.compact-props-table td{text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.compact-props-table th:first-child,.compact-props-table td:first-child{text-align:center;width:32px;min-width:32px;max-width:32px;padding-left:4px;padding-right:4px}.compact-props-table th:nth-child(2),.compact-props-table td:nth-child(2){width:auto}.compact-props-table th:nth-child(3),.compact-props-table td:nth-child(3){text-align:center;width:10%}.compact-props-table th:nth-child(4),.compact-props-table td:nth-child(4),.compact-props-table th:nth-child(5),.compact-props-table td:nth-child(5){text-align:center;width:9%}.compact-props-table th:nth-child(6),.compact-props-table td:nth-child(6),.compact-props-table th:nth-child(7),.compact-props-table td:nth-child(7),.compact-props-table th:nth-child(8),.compact-props-table td:nth-child(8){text-align:center;width:10%}.compact-props-table th:nth-child(9),.compact-props-table td:nth-child(9){text-align:center;width:12%}.compact-props-table th{border-bottom:1px solid #2a2d374d;padding:4px 10px;font-size:10px}.compact-props-table td{border-bottom:1px solid #2a2d3733;padding:5px 10px;font-size:12px}.compact-props-table tr:last-child td{border-bottom:none}.compact-props-table .confidence-badge{padding:1px 6px;font-size:9px}.prop-row-value td{background:#22c55e0a}.prop-row-placed td{opacity:.5}.player-meta{color:#64748b;font-size:.85em;font-weight:400}.prop-checkbox{cursor:pointer;accent-color:#22c55e;width:16px;height:16px}.compact-table .stats-table th{padding:6px 8px;font-size:10px}.compact-table .stats-table td{padding:6px 8px;font-size:12px}.compact-table .confidence-badge,.compact-table .result-badge{padding:1px 6px;font-size:9px}.backtest-page{justify-content:center;padding:60px 20px;display:flex}.backtest-intro{text-align:center;max-width:500px}.backtest-intro h3{color:#e2e8f0;margin-bottom:12px;font-size:20px;font-weight:700}.backtest-desc{color:#94a3b8;margin-bottom:24px;font-size:14px;line-height:1.6}.calibration-legend{text-align:center;color:#475569;margin-top:8px;font-size:11px}.backtest-note{color:#64748b;background:#f59e0b0f;border:1px solid #f59e0b26;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:12px;line-height:1.5}.backtest-controls{justify-content:center;align-items:flex-end;gap:12px;display:flex}.model-actions{align-items:center;gap:12px;margin-bottom:16px;display:flex}.backtest-season-label{color:#64748b;align-self:center;font-size:13px}.model-features-panel{background:#1a1d27;border:1px solid #2a2d37;border-radius:10px;margin-bottom:20px;padding:16px 20px}.model-features-panel h4{color:#e2e8f0;margin-bottom:12px;font-size:14px;font-weight:600}.model-features-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.model-feature-item{background:#ffffff05;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;display:flex}.model-feature-item.feature-inactive{opacity:.5}.feature-indicator{border-radius:50%;flex-shrink:0;width:10px;height:10px}.feature-indicator.indicator-on{background:#22c55e;box-shadow:0 0 6px #22c55e66}.feature-indicator.indicator-off{background:#475569;border:1px solid #64748b}.feature-info{flex-direction:column;gap:1px;display:flex}.feature-label{color:#e2e8f0;font-size:13px;font-weight:600}.feature-desc{color:#64748b;font-size:11px;line-height:1.3}@media (width<=768px){.dashboard{padding:16px}.header{flex-direction:row;justify-content:space-between;align-items:center}.header h1{font-size:20px}.sport-switcher{margin-left:10px}.sport-btn{padding:4px 10px}.sport-label{display:none}.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tabs button{white-space:nowrap;padding:8px 14px;font-size:13px}.games-grid{grid-template-columns:1fr}}.how-it-works{max-width:800px;margin:0 auto}.hiw-section{margin-bottom:32px}.hiw-section h2{color:#fff;margin-bottom:12px;font-size:22px;font-weight:700}.hiw-section h3{color:#e2e8f0;margin-bottom:8px;font-size:17px;font-weight:600}.hiw-section p{color:#94a3b8;margin-bottom:10px;line-height:1.7}.hiw-section ul{color:#94a3b8;margin-bottom:10px;padding-left:20px;line-height:1.7}.hiw-section li{margin-bottom:6px}.hiw-formula{color:#60a5fa;text-align:center;background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;margin:12px 0;padding:14px 18px;font-family:SF Mono,Fira Code,monospace;font-size:14px}.hiw-table-wrap{max-width:320px;margin:12px 0}.hiw-table td,.hiw-table th{text-align:center}.hiw-disclaimer{background:#1a1d27;border:1px solid #2a2d37;border-radius:10px;padding:20px 24px}.hiw-disclaimer h3{color:#eab308}.pipeline-animation{margin:24px 0 32px}.pipe-flow{-webkit-overflow-scrolling:touch;justify-content:center;align-items:center;gap:0;padding:16px 0 20px;display:flex;overflow-x:auto}.pipe-node-wrap{flex-shrink:0;align-items:center;display:flex}.pipe-node{cursor:pointer;background:#111525;border:1px solid #2a2d37;border-radius:14px;flex-direction:column;align-items:center;gap:6px;min-width:84px;padding:14px 16px 10px;transition:border-color .25s,background .25s;display:flex;position:relative}.pipe-node:hover{border-color:var(--node-color);background:var(--node-glow)}.pipe-node--active{border-color:var(--node-color);background:var(--node-glow);box-shadow:0 0 20px var(--node-glow), 0 0 40px #0000004d}.pipe-node-icon{font-size:22px;line-height:1}.pipe-node-label{color:#94a3b8;text-align:center;letter-spacing:.2px;white-space:nowrap;font-size:11px;font-weight:600}.pipe-node--active .pipe-node-label{color:#e2e8f0}.pipe-node-ring{border:2px solid var(--node-color);opacity:.5;border-radius:18px;animation:2s ease-in-out infinite pipe-ring-pulse;position:absolute;inset:-4px}@keyframes pipe-ring-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.7;transform:scale(1.04)}}.pipe-connector{flex-shrink:0;align-items:center;width:48px;height:24px;display:flex;position:relative}.pipe-line{background:linear-gradient(90deg,#2a2d37 0%,#3a3d4a 50%,#2a2d37 100%);border-radius:1px;width:100%;height:2px}.pipe-particle-track{pointer-events:none;position:absolute;inset:0}.pipe-particle{border-radius:50%;width:6px;height:6px;animation:2.4s linear infinite pipe-particle-move;position:absolute;top:9px;left:0}@keyframes pipe-particle-move{0%{opacity:0;left:0}10%{opacity:1}90%{opacity:1}to{opacity:0;left:calc(100% - 6px)}}.pipe-particle:nth-child(2){animation-delay:1.2s}.pipe-analytics{border:1px solid #2a2d37;border-top:2px solid var(--card-color);background:#111525;border-radius:14px;padding:20px 24px}.pipe-analytics-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.pipe-analytics-icon{font-size:28px;line-height:1}.pipe-analytics-title{color:#e2e8f0;font-size:16px;font-weight:700}.pipe-analytics-detail{color:#64748b;margin-top:2px;font-size:13px}.pipe-metrics{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.pipe-metric{text-align:center;background:#ffffff0a;border-radius:10px;padding:12px 14px}.pipe-metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:500}.pipe-metric-value{color:var(--card-color,#e2e8f0);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.pipe-progress-wrap{background:#ffffff0f;border-radius:2px;height:3px;overflow:hidden}.pipe-progress-bar{border-radius:2px;height:100%}@media (width<=768px){.pipe-flow{justify-content:flex-start;padding:12px 0 16px}.pipe-node{min-width:68px;padding:10px 12px 8px}.pipe-node-icon{font-size:18px}.pipe-node-label{font-size:10px}.pipe-connector{width:28px}.pipe-metrics{grid-template-columns:repeat(3,1fr);gap:8px}.pipe-metric{padding:8px 6px}.pipe-metric-value{font-size:13px}}.live-page{flex-direction:column;gap:20px;display:flex}.live-empty{text-align:center;padding:60px 20px}.live-empty-icon{opacity:.5;margin-bottom:16px}.live-empty h3{color:#e2e8f0;margin-bottom:8px;font-size:18px}.live-empty p{color:#64748b;font-size:14px}.live-upcoming{text-align:left;max-width:420px;margin-top:28px;margin-left:auto;margin-right:auto}.live-upcoming h4{color:#94a3b8;text-align:center;margin-bottom:12px;font-size:14px;font-weight:600}.live-upcoming-date{color:#64748b;text-transform:uppercase;letter-spacing:.5px;text-align:center;margin-top:12px;margin-bottom:6px;font-size:12px;font-weight:600}.live-upcoming-list{flex-direction:column;gap:8px;display:flex}.live-upcoming-row{background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;justify-content:center;align-items:center;gap:16px;padding:8px 14px;display:flex}.live-upcoming-time{color:#3b82f6;min-width:75px;font-size:13px;font-weight:600}.live-upcoming-matchup{color:#e2e8f0;align-items:center;gap:5px;font-size:14px;font-weight:600;display:flex}.live-card{background:#1a1d27;border:1px solid #2a2d37;border-top-color:#32363f;border-left:3px solid #0000;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #0003,0 1px 3px #00000026}.live-card.live-accent-good{border-left-color:#22c55e}.live-card.live-accent-losing{border-left-color:#f59e0b}.live-card.live-accent-mixed{border-left-color:#3b82f6}.live-card.live-accent-lost{border-left-color:#ef4444}.live-card-final{opacity:.85}.live-clock.live-clock-final{color:#ef4444;font-weight:700;animation:none}.live-header{border-bottom:1px solid #2a2d37;padding:16px 20px}.live-matchup{justify-content:center;align-items:center;gap:32px;display:flex}.live-team{flex:1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.live-team-right{text-align:right;flex-direction:row-reverse;justify-content:flex-end}.live-team-name{color:#fff;font-size:20px;font-weight:700}.live-team-trailing{opacity:.5}.live-score-block{text-align:center}.live-scores{align-items:center;gap:12px;display:flex}.live-score-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.live-score-num{color:#94a3b8;text-align:center;min-width:50px;font-size:32px;font-weight:800}.score-delta{color:#22c55e;pointer-events:none;font-size:13px;font-weight:700;position:absolute;top:-4px;right:-4px}.live-score-num.score-leading{color:#fff}.live-score-dash{color:#475569;font-size:24px}.live-clock{color:#3b82f6;font-size:13px;font-weight:600;animation:2s ease-in-out infinite clock-blink}@keyframes clock-blink{0%,to{opacity:1}50%{opacity:.4}}.live-no-bets{color:#475569;text-align:center;padding:16px 20px;font-size:13px}.live-final-badges{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:10px;display:flex}.live-final-badge{border-radius:4px;padding:3px 10px;font-size:10px;font-weight:700}.live-final-badge.status-good{color:#22c55e;background:#22c55e26}.live-final-badge.status-lost{color:#ef4444;background:#ef444426}.live-final-badge-props{color:#60a5fa;background:#3b82f61f}.live-expand-hint{color:#475569;margin-left:auto;font-size:10px}.live-bets-row{border-top:1px solid #2a2d3780;grid-template-columns:1fr 1fr;display:grid}.live-bets-row .live-bet-half{border-top:none}.live-bets-row .live-bet-half:first-child{border-right:1px solid #2a2d3780}.live-bet-side-label{color:#e2e8f0;margin-bottom:6px;font-size:14px;font-weight:700}.live-props-count{color:#64748b;margin-left:auto;font-size:11px;font-weight:600}.live-bet-section{border-top:1px solid #2a2d3780;padding:14px 20px}.live-bet-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.live-bet-type{color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#64748b1a;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700}.live-bet-side{color:#e2e8f0;font-size:14px;font-weight:700}.live-bet-status{border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.live-bet-status.status-good{color:#22c55e;background:#22c55e26}.live-bet-status.status-losing{color:#f59e0b;background:#f59e0b26}.live-bet-status.status-lost{color:#ef4444;background:#ef444426}.live-spread-detail,.live-totals-detail{color:#94a3b8;justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.live-progress-track{background:#2a2d37;border-radius:3px;height:6px;position:relative;overflow:hidden}.live-progress-track.spread-track{border:1px solid #0000;transition:border-color .3s;overflow:visible}.live-progress-track.spread-track.track-good{border-color:#22c55e66}.live-progress-track.spread-track.track-losing{border-color:#f59e0b66}.live-progress-track.spread-track.track-lost{border-color:#ef444466}.live-progress-fill{border-radius:3px;min-width:4px;height:100%}.live-progress-fill.fill-good{background:#22c55e}.live-progress-fill.fill-losing{background:#f59e0b}.live-progress-fill.fill-lost{background:#ef4444}.live-progress-fill.fill-warning{background:#fb7185}.live-progress-marker{background:#fff;border-radius:1px;width:2px;height:10px;position:absolute;top:-2px;transform:translate(-1px)}.spread-dot{border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #00000080}.spread-dot.dot-good{background:#22c55e;box-shadow:0 0 8px #22c55e99}.spread-dot.dot-losing{background:#f59e0b;box-shadow:0 0 8px #f59e0b99}.spread-dot.dot-lost{background:#ef4444;box-shadow:0 0 8px #ef444499}.live-props-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.live-prop-card{background:#ffffff05;border:1px solid #2a2d37;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.live-prop-card.prop-hit{background:#22c55e0d;border-color:#22c55e4d}.live-prop-ring{flex-shrink:0;width:56px;height:56px;position:relative}.prop-delta{color:#22c55e;pointer-events:none;text-shadow:0 0 4px #22c55e99;font-size:13px;font-weight:700;position:absolute;top:0;right:-4px}.live-prop-info{flex-direction:column;gap:1px;min-width:0;display:flex}.live-prop-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.live-prop-stat{color:#94a3b8;font-size:12px;font-weight:600}.live-prop-side{color:#64748b;font-size:11px}.live-prop-min{color:#475569;font-size:10px}.props-cards-mobile{display:none}.bet-analysis-toolbar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.ba-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.ba-stat-card{text-align:center;background:#111525;border:1px solid #2a2d37;border-radius:12px;padding:16px}.ba-stat-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:6px;font-size:11px;font-weight:600}.ba-stat-value{color:#e2e8f0;font-size:28px;font-weight:700;line-height:1.2}.ba-stat-sub{color:#64748b;margin-top:6px;font-size:11px}.ba-best-section{background:#111525;border:1px solid #2a2d37;border-radius:12px;margin-bottom:20px;padding:16px}.ba-best-title{text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:12px;font-size:13px;font-weight:700}.ba-best-list{flex-direction:column;gap:6px;display:flex}.ba-best-row{background:#ffffff05;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;transition:background .15s;display:flex}.ba-best-row:hover{background:#ffffff0d}.ba-best-rank{color:#475569;font-variant-numeric:tabular-nums;min-width:24px;font-size:12px;font-weight:700}.ba-best-teams{align-items:center;gap:4px;min-width:60px;display:flex}.ba-best-at{color:#475569;font-size:10px}.ba-best-pick{flex:1;min-width:0}.ba-best-type{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-right:6px;font-size:10px;font-weight:600}.ba-best-side{color:#e2e8f0;font-size:13px;font-weight:600}.ba-best-edge{align-items:center;gap:6px;min-width:90px;display:flex}.ba-best-edge-num{color:#22c55e;font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-size:12px;font-weight:700}.ba-edge-bar{background:#1e2231;border-radius:2px;flex-shrink:0;width:48px;height:4px;overflow:hidden}.ba-edge-bar-fill{border-radius:2px;height:100%}.ba-filter-bar{margin-bottom:16px}.ba-game-card{background:#111525;border:1px solid #2a2d37;border-radius:12px;transition:border-color .2s;overflow:hidden}.ba-game-card:hover{border-color:#3a3d4a}.ba-game-card--has-bets{border-left:3px solid #3b82f6}.ba-games-list{flex-direction:column;gap:10px;display:flex}.ba-game-header{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ba-game-teams{align-items:center;gap:12px;display:flex}.ba-game-team{align-items:center;gap:8px;display:flex}.ba-game-team-right{text-align:right;flex-direction:row-reverse}.ba-game-team-right>div{text-align:right}.ba-team-abbr{color:#e2e8f0;font-size:15px;font-weight:700;display:block}.ba-team-record{color:#64748b;font-size:11px;display:block}.ba-game-at{color:#475569;font-size:12px;font-weight:500}.ba-game-score{color:#94a3b8;align-items:center;gap:6px;font-size:20px;font-weight:700;display:flex}.ba-score-leading{color:#e2e8f0}.ba-score-dash{color:#475569;font-size:14px}.ba-game-meta{align-items:center;gap:10px;display:flex}.ba-status-badge{color:#94a3b8;background:#ffffff0f;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.ba-status-in_progress{color:#22c55e;background:#22c55e26}.ba-status-final{color:#ef4444;background:#ef44441a}.ba-game-bet-badges{align-items:center;gap:4px;display:flex}.ba-bet-dot{border-radius:50%;justify-content:center;align-items:center;width:8px;height:8px;display:inline-flex}.ba-bet-dot-spread{background:#3b82f6}.ba-bet-dot-total{background:#f59e0b}.ba-bet-dot-prop{color:#fff;background:#8b5cf6;border-radius:8px;width:auto;height:auto;padding:1px 5px;font-size:9px;font-weight:700}.ba-chevron{color:#475569;font-size:14px;transition:transform .2s}.ba-chevron--open{transform:rotate(180deg)}.ba-game-body{overflow:hidden}.ba-game-body-inner{border-top:1px solid #1e2231;padding:0 16px 16px}.ba-notes{flex-wrap:wrap;gap:6px;margin-bottom:12px;padding-top:12px;display:flex}.ba-note{border-radius:6px;padding:3px 8px;font-size:11px;font-weight:500}.ba-note-injury{color:#f87171;background:#ef44441a;border:1px solid #ef444426}.ba-note-rest{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f626}.ba-odds-row{flex-wrap:wrap;gap:16px;padding:12px 0;display:flex}.ba-odds-item{flex-direction:column;gap:2px;display:flex}.ba-odds-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:10px;font-weight:600}.ba-odds-val{color:#94a3b8;font-size:13px;font-weight:600}.ba-recs{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.ba-rec{border:1px solid #2a2d37;border-radius:10px;padding:12px 14px}.ba-rec--bet{background:#22c55e0a;border-color:#22c55e26}.ba-rec--pass{background:#ffffff05}.ba-rec-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ba-rec-type{text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-size:11px;font-weight:700}.ba-rec-verdict{color:#22c55e;background:#22c55e26;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:800}.ba-rec-verdict--pass{color:#64748b;background:#ffffff0f}.ba-rec-side{color:#e2e8f0;font-size:13px;font-weight:700}.ba-rec-details{color:#94a3b8;align-items:center;gap:16px;margin-top:8px;font-size:12px;display:flex}.ba-rec-edge{align-items:center;gap:8px;display:flex}.ba-no-odds{color:#475569;padding:12px 0;font-size:12px;font-style:italic}.ba-props-section{border-top:1px solid #1e2231;padding-top:12px}.ba-props-header{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:10px;font-size:12px;font-weight:700}.ba-props-group{margin-bottom:12px}.ba-props-group-label{color:#475569;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px;font-weight:600}.ba-prop-row{cursor:pointer;background:#ffffff05;border-radius:8px;align-items:center;gap:10px;margin-bottom:4px;padding:8px 10px;transition:background .15s;display:flex}.ba-prop-row:hover{background:#ffffff0d}.ba-prop-placed{background:#22c55e0f;border:1px solid #22c55e1f}.ba-prop-player{align-items:center;gap:6px;min-width:130px;display:flex}.ba-prop-name{color:#e2e8f0;font-size:13px;font-weight:600}.ba-prop-jersey{color:#475569;font-size:10px}.ba-prop-nums{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.ba-prop-pred{color:#e2e8f0;font-size:13px;font-weight:700}.ba-prop-vs{color:#475569;font-size:10px}.ba-prop-line{color:#94a3b8;font-size:13px;font-weight:600}.ba-prop-side{text-align:center;border-radius:4px;min-width:60px;padding:2px 6px;font-size:11px;font-weight:700}.ba-side-over{color:#6ee7a0;background:#22c55e1f}.ba-side-under{color:#f87171;background:#ef44441a}.ba-prop-edge-wrap{align-items:center;gap:6px;min-width:80px;display:flex}.ba-prop-edge-num{color:#22c55e;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.ba-prop-prob{color:#94a3b8;text-align:right;min-width:32px;font-size:12px;font-weight:600}.ba-prop-check{color:#0000;border:1.5px solid #2a2d37;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:all .15s;display:flex}.ba-prop-check--on{color:#22c55e;background:#22c55e26;border-color:#22c55e}@media (width<=768px){.ba-summary{grid-template-columns:repeat(3,1fr);gap:8px}.ba-stat-card{padding:12px 8px}.ba-stat-value{font-size:22px}.ba-stat-sub{font-size:10px}.ba-best-row{gap:8px;padding:6px 8px}.ba-best-side{font-size:12px}.ba-best-edge{min-width:60px}.ba-game-teams{gap:8px}.ba-team-record{display:none}.ba-prop-row{flex-wrap:wrap;gap:6px;padding:10px}.ba-prop-player{min-width:100%}.ba-prop-nums,.ba-prop-side,.ba-prop-edge-wrap,.ba-prop-prob{flex-shrink:0}.ba-odds-row{gap:12px}}.team-abbr{display:none}@media (width<=768px){.team-full{display:none}.team-abbr{display:inline}.props-stat-group .props-desktop-table{display:none}.props-cards-mobile{flex-direction:column;gap:8px;padding:8px 12px 12px;display:flex}.prop-card{background:#ffffff05;border:1px solid #2a2d37;border-radius:8px;padding:10px 12px}.prop-card-placed{opacity:.5}.prop-card-header{border-bottom:1px solid #2a2d3780;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;display:flex}.prop-card-name{color:#fff;flex:1;font-size:14px;font-weight:600}.prop-card-team{color:#94a3b8;align-items:center;gap:4px;font-size:12px;display:flex}.prop-card-body{grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.prop-card-row{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.prop-card-label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:11px}.prop-card-value{color:#cbd5e1;font-variant-numeric:tabular-nums;font-size:13px}.props-game-header{flex-direction:column;align-items:flex-start;gap:4px}.props-game-title{font-size:13px}.bet-analysis-toolbar{flex-wrap:wrap;gap:8px}.bet-analysis-header{flex-wrap:wrap;gap:6px}.bet-analysis-details{font-size:11px}.game-card{padding:14px}.live-matchup{gap:16px}.live-team-name{font-size:14px}.live-score-num{min-width:40px;font-size:28px}.live-header{padding:12px 14px}.live-bet-section{padding:10px 14px}.live-spread-detail,.live-totals-detail{flex-wrap:wrap;font-size:12px}.live-props-grid{grid-template-columns:1fr 1fr}.live-prop-ring{width:44px;height:44px}.live-prop-name{font-size:12px}.live-prop-stat{font-size:11px}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.stats-table{min-width:600px;font-size:12px}.stats-table th{padding:6px 8px;font-size:10px}.stats-table td{padding:6px 8px;font-size:11px}.perf-summary-grid{grid-template-columns:1fr 1fr}.perf-chart-card{padding:12px}.pill-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.pill-tab{white-space:nowrap;padding:6px 12px;font-size:12px}.how-it-works{padding:0}.hiw-section h2{font-size:18px}.hiw-section h3{font-size:15px}.hiw-table-wrap{max-width:100%;overflow-x:auto}.hiw-section ol,.hiw-section ul{padding-left:16px}.sub-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=480px){.prop-card-body,.perf-summary-grid,.live-props-grid{grid-template-columns:1fr}.live-matchup{gap:8px}.dashboard{padding:10px}}.trace-page{max-width:1200px;margin:0 auto}.trace-page-header{margin-bottom:24px}.trace-page-header h2{color:#fff;margin-bottom:4px;font-size:22px;font-weight:700}.trace-page-desc{color:#94a3b8;font-size:14px}.trace-game-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.trace-game-card{cursor:pointer;background:#1a1d27;border:1px solid #2a2d37;border-radius:12px;padding:20px;transition:border-color .2s,transform .15s}.trace-game-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.trace-game-matchup{color:#fff;margin-bottom:4px;font-size:18px;font-weight:700}.trace-game-time{color:#64748b;margin-bottom:12px;font-size:13px}.trace-game-summary{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.trace-game-line{color:#e2e8f0;align-items:center;gap:6px;font-size:13px;display:flex}.trace-conf-badge{text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.trace-conf--very_high,.trace-conf--high{color:#22c55e;background:#22c55e26}.trace-conf--medium{color:#f59e0b;background:#f59e0b26}.trace-conf--low{color:#94a3b8;background:#64748b26}.trace-game-footer{border-top:1px solid #2a2d37;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.trace-warning-badge{color:#f59e0b;font-size:12px;font-weight:600}.trace-ok-badge{color:#22c55e;font-size:12px}.trace-game-action{color:#3b82f6;font-size:12px;font-weight:600}.trace-empty-page{text-align:center;color:#94a3b8;padding:60px 20px}.trace-empty-page h3{color:#e2e8f0;margin-bottom:8px}.trace-empty{color:#64748b;text-align:center;padding:24px}.trace-deep-dive{max-width:1200px;margin:0 auto}.trace-deep-header{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.trace-back-btn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #2a2d37;border-radius:8px;padding:6px 14px;font-size:13px;transition:border-color .2s}.trace-back-btn:hover{color:#fff;border-color:#3b82f6}.trace-deep-title h2{color:#fff;margin-bottom:2px;font-size:20px;font-weight:700}.trace-deep-time{color:#64748b;margin-right:12px;font-size:13px}.trace-tabs{border-bottom:1px solid #2a2d37;gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.trace-tab{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-size:14px;font-weight:600;transition:color .2s,border-color .2s}.trace-tab:hover{color:#e2e8f0}.trace-tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.trace-pipeline{flex-direction:column;align-items:center;padding:8px 0;display:flex}.trace-step-wrapper{flex-direction:column;align-items:center;width:100%;max-width:700px;display:flex}.trace-step{cursor:pointer;background:#1a1d27;border:1px solid #2a2d37;border-radius:12px;width:100%;padding:16px 20px;transition:border-color .2s}.trace-step:hover{border-color:#3b82f6}.trace-step--final{border-color:#22c55e}.trace-step--missing{border-left:3px solid #f59e0b}.trace-step--degraded{border-left:3px solid #eab308}.trace-step--stale{border-left:3px solid #64748b}.trace-step-header{align-items:center;gap:10px;display:flex}.trace-step-number{color:#e2e8f0;background:#2a2d37;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:inline-flex}.trace-step-label{color:#fff;flex:1;font-size:15px;font-weight:600}.trace-step-badge{color:#64748b;background:#2a2d37;border-radius:6px;padding:2px 8px;font-size:11px}.trace-expand-icon{color:#64748b;font-size:12px;transition:transform .2s}.trace-expand-icon.open{transform:rotate(180deg)}.trace-warning-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.trace-warning--missing{background:#f59e0b}.trace-warning--degraded{background:#eab308}.trace-warning--stale{background:#64748b}.trace-step-metrics{border-top:1px solid #2a2d37;flex-wrap:wrap;gap:12px 24px;margin-top:10px;padding-top:10px;display:flex}.trace-metric{flex-direction:column;gap:1px;display:flex}.trace-metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.trace-metric-value{color:#e2e8f0;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.trace-warning{border-radius:6px;align-items:flex-start;gap:6px;margin-top:8px;padding:6px 10px;font-size:12px;display:flex}.trace-warning.trace-warning--missing{color:#f59e0b;background:#f59e0b1a;border-left:2px solid #f59e0b}.trace-warning.trace-warning--degraded{color:#eab308;background:#eab30814;border-left:2px solid #eab308}.trace-warning.trace-warning--stale{color:#94a3b8;background:#64748b14;border-left:2px solid #64748b}.trace-warning-icon{flex-shrink:0}.trace-step-detail{margin-top:12px;overflow:hidden}.trace-step-desc{color:#94a3b8;margin-bottom:10px;font-size:13px}.trace-detail-section{margin-bottom:10px}.trace-detail-section h5{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px}.trace-detail-section pre{color:#94a3b8;white-space:pre-wrap;word-break:break-word;background:#111318;border-radius:8px;padding:10px;font-size:12px;overflow-x:auto}.trace-connector{background:#2a2d37;width:2px;height:24px}.trace-connector--warn{background:#f59e0b}.trace-props-layout{grid-template-columns:200px 1fr;gap:20px;display:grid}.trace-props-sidebar{flex-direction:column;gap:4px;display:flex}.trace-props-sidebar h4{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px}.trace-player-btn{text-align:left;cursor:pointer;background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;transition:border-color .2s;display:flex}.trace-player-btn:hover{border-color:#3b82f6}.trace-player-btn.active{background:#3b82f614;border-color:#3b82f6}.trace-player-name{color:#e2e8f0;font-size:13px;font-weight:600}.trace-player-meta{gap:8px;font-size:11px;display:flex}.trace-player-edges{color:#22c55e}.trace-player-warn{color:#f59e0b}.trace-props-pipeline{min-width:0}@media (width<=768px){.trace-game-grid,.trace-props-layout{grid-template-columns:1fr}.trace-props-sidebar{flex-direction:row;gap:8px;padding-bottom:8px;overflow-x:auto}.trace-props-sidebar h4{display:none}.trace-player-btn{flex-shrink:0;min-width:120px}.trace-step-wrapper{max-width:100%}.trace-deep-header{flex-direction:column;gap:8px}}.qa-container{max-width:900px;margin:0 auto;padding:16px}.qa-toolbar{align-items:center;gap:16px;margin-bottom:20px;display:flex}.qa-date-select{color:#e2e8f0;cursor:pointer;background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;outline:none;min-width:220px;padding:8px 12px;font-size:14px}.qa-date-select:focus{border-color:#3b82f6}.qa-updated{color:#64748b;font-size:12px}.qa-empty{text-align:center;color:#64748b;padding:60px 20px;font-size:15px}.qa-content{color:#e2e8f0;background:#13151e;border:1px solid #2a2d37;border-radius:12px;padding:24px 28px;font-size:14px;line-height:1.7}.qa-content h1{color:#f1f5f9;border-bottom:1px solid #2a2d37;margin:0 0 20px;padding-bottom:12px;font-size:22px}.qa-content h2{color:#93c5fd;border-bottom:1px solid #1e2231;margin:28px 0 12px;padding-bottom:6px;font-size:17px}.qa-content h3{color:#cbd5e1;margin:18px 0 8px;font-size:15px}.qa-content p{margin:8px 0}.qa-content strong{color:#f1f5f9}.qa-content hr{border:none;border-top:1px solid #2a2d37;margin:24px 0}.qa-content ul,.qa-content ol{margin:8px 0;padding-left:20px}.qa-content li{margin:4px 0}.qa-content code{color:#93c5fd;background:#1a1d27;border-radius:4px;padding:2px 6px;font-size:13px}.qa-content table{border-collapse:collapse;width:100%;margin:16px 0;font-size:13px}.qa-content th{color:#93c5fd;text-align:left;background:#1a1d27;border:1px solid #2a2d37;padding:8px 12px;font-weight:600}.qa-content td{border:1px solid #2a2d37;padding:8px 12px}.qa-content tr:nth-child(2n){background:#1a1d2780}@media (width<=600px){.qa-container{padding:8px}.qa-content{padding:16px}.qa-content table{font-size:11px}.qa-content th,.qa-content td{padding:6px 8px}}.mlba-container{max-width:900px;margin:0 auto;padding:16px}.mlba-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.mlba-toolbar-left{align-items:center;gap:10px;display:flex}.mlba-sport-badge{letter-spacing:.06em;color:#16a34a;background:#16a34a1f;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.mlba-date-select{color:#e2e8f0;cursor:pointer;background:#1a1d27;border:1px solid #2a2d37;border-radius:8px;outline:none;min-width:220px;padding:8px 12px;font-family:inherit;font-size:14px}.mlba-date-select:focus{border-color:#16a34a}.mlba-updated{color:#64748b;font-size:12px}.mlba-empty{text-align:center;color:#64748b;padding:60px 20px;font-size:14px}.mlba-empty-icon{opacity:.5;margin-bottom:16px}.mlba-empty-sub{color:#475569;margin-top:8px;font-size:12px}.mlba-empty code{color:#16a34a;background:#16a34a1a;border-radius:4px;padding:2px 6px;font-size:12px}.mlba-content{background:#1a1d27;border:1px solid #2a2d37;border-top-color:#32363f;border-radius:12px;padding:28px 32px;line-height:1.7;box-shadow:0 2px 12px #0003,0 1px 3px #00000026}.mlba-content h1{color:#16a34a;border-bottom:2px solid #16a34a33;margin-bottom:16px;padding-bottom:12px;font-size:22px;font-weight:700}.mlba-content h2{color:#e2e8f0;border-bottom:1px solid #16a34a26;margin-top:28px;margin-bottom:12px;padding-bottom:8px;font-size:18px;font-weight:700}.mlba-content h3{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin-top:16px;margin-bottom:8px;font-size:14px;font-weight:600}.mlba-content p{color:#cbd5e1;margin-bottom:12px}.mlba-content strong{color:#e2e8f0}.mlba-content hr{border:none;border-top:1px solid #2a2d37;margin:24px 0}.mlba-content ul,.mlba-content ol{margin-bottom:12px;padding-left:20px}.mlba-content li{color:#cbd5e1;margin-bottom:4px}.mlba-content code{color:#4ade80;background:#16a34a14;border-radius:4px;padding:2px 6px;font-size:.9em}.mlba-content table{border-collapse:collapse;width:100%;margin:16px 0;font-size:13px}.mlba-content th{color:#16a34a;text-align:left;text-transform:uppercase;letter-spacing:.04em;background:#16a34a14;border-bottom:2px solid #16a34a33;padding:10px 12px;font-size:11px;font-weight:600}.mlba-content td{color:#cbd5e1;border-bottom:1px solid #2a2d37;padding:8px 12px}.mlba-content tr:nth-child(2n){background:#16a34a05}@media (width<=600px){.mlba-container{padding:8px}.mlba-content{padding:16px}.mlba-content table{font-size:11px}.mlba-content th,.mlba-content td{padding:6px 8px}.mlba-toolbar{flex-direction:column;align-items:flex-start;gap:8px}}.mlbp{--mlb-accent:var(--lp-accent);--mlb-accent-soft:var(--lp-accent-soft);--mlb-accent-glow:var(--lp-accent-glow);--mlb-accent-bg:var(--lp-accent-bg);--mlb-surface:#10131f;--mlb-surface-raised:#151929;--mlb-border:var(--lp-border);--mlb-border-subtle:#ffffff0a;--mlb-green:#34d399;--mlb-red:#f87171;--mlb-mono:"SF Mono", "Fira Code", "JetBrains Mono", "Cascadia Code", monospace;max-width:1100px;margin:0 auto;padding:0 8px 40px}.mlbp-header{border-bottom:1px solid var(--mlb-border);justify-content:space-between;align-items:flex-end;margin-bottom:24px;padding:24px 0 20px;display:flex}.mlbp-header-left{align-items:baseline;gap:14px;display:flex}.mlbp-title{font-family:var(--lp-font-display);color:var(--lp-heading);letter-spacing:-.01em;margin:0;font-size:26px;font-weight:400}.mlbp-date{color:var(--lp-text-muted);font-size:13px;font-weight:400}.mlbp-refresh-btn{background:var(--mlb-accent-bg);border:1px solid var(--mlb-border);color:var(--lp-text);font-family:var(--lp-font-body);cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.mlbp-refresh-btn:hover:not(:disabled){background:var(--lp-accent-glow);color:#fff;border-color:#7cacf840}.mlbp-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.mlbp-refresh-icon{transition:transform .3s}.mlbp-refresh-spinning .mlbp-refresh-icon{animation:1s linear infinite mlbp-spin}@keyframes mlbp-spin{to{transform:rotate(360deg)}}.mlbp-summary{grid-template-columns:repeat(2,1fr);gap:12px;max-width:500px;margin-bottom:32px;display:grid}.mlbp-summary-card{background:var(--mlb-surface);border:1px solid var(--mlb-border-subtle);border-radius:8px;padding:16px 18px;transition:border-color .25s}.mlbp-summary-card-accent{border-color:var(--mlb-border);background:linear-gradient(135deg, var(--mlb-surface) 0%, #7cacf808 100%)}.mlbp-summary-label{text-transform:uppercase;letter-spacing:.08em;color:var(--lp-text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.mlbp-summary-value{font-family:var(--mlb-mono);color:var(--lp-heading);letter-spacing:-.02em;font-size:22px;font-weight:600}.mlbp-summary-card-accent .mlbp-summary-value{color:var(--lp-accent)}.mlbp-summary-sub{color:var(--lp-text-muted);margin-top:2px;font-size:11px}.mlbp-section{margin-bottom:32px}.mlbp-section-title{font-family:var(--lp-font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--lp-text-muted);align-items:center;gap:10px;margin:0 0 16px;font-size:14px;font-weight:600;display:flex}.mlbp-section-title-muted{color:#6a7a9499}.mlbp-section-sub{color:var(--lp-text-muted);opacity:.7;margin:-8px 0 16px;font-size:13px}.mlbp-section-badge{font-family:var(--mlb-mono);background:var(--mlb-accent-bg);color:var(--lp-accent);letter-spacing:0;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.mlbp-badge-muted{color:var(--lp-text-muted);background:#6a7a9414}.mlbp-bets-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;display:grid}.mlbp-bet-card{background:var(--mlb-surface-raised);border:1px solid var(--mlb-border-subtle);border-radius:10px;padding:22px;transition:border-color .25s,transform .2s;position:relative;overflow:hidden}.mlbp-bet-card:before{content:"";background:linear-gradient(90deg, transparent 0%, hsla(215, 80%, 65%, calc(var(--edge-intensity) * .7)) 50%, transparent 100%);height:2px;position:absolute;top:0;left:0;right:0}.mlbp-bet-card:hover{border-color:var(--mlb-border);transform:translateY(-1px)}.mlbp-bet-top{margin-bottom:16px}.mlbp-bet-pitcher-info{flex-direction:column;gap:3px;display:flex}.mlbp-bet-pitcher{font-family:var(--lp-font-display);color:var(--lp-heading);letter-spacing:-.01em;align-items:center;gap:10px;font-size:22px;display:flex}.mlbp-bet-team-inline{font-family:var(--mlb-mono);color:var(--lp-accent);background:var(--mlb-accent-bg);letter-spacing:.04em;border-radius:4px;padding:2px 8px;font-size:13px;font-weight:700}.mlbp-bet-matchup-line{color:var(--lp-text-muted);margin-top:2px;font-size:12px}.mlbp-bet-team{font-family:var(--mlb-mono);color:var(--lp-accent);background:var(--mlb-accent-bg);letter-spacing:.04em;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:700}.mlbp-bet-matchup{color:var(--lp-text-muted);font-size:12px;font-weight:400}.mlbp-bet-action{align-items:center;gap:12px;margin-bottom:18px;display:flex}.mlbp-bet-side-lg{font-family:var(--mlb-mono);letter-spacing:.02em;border-radius:5px;padding:6px 14px;font-size:14px;font-weight:700}.mlbp-bet-side-lg.mlbp-side-over{color:var(--mlb-green);background:#34d3991f;border:1px solid #34d39933}.mlbp-bet-side-lg.mlbp-side-under{color:var(--lp-accent);background:#7cacf81a;border:1px solid #7cacf82e}.mlbp-bet-odds-inline{font-family:var(--mlb-mono);color:var(--lp-text-muted);font-size:13px;font-weight:500}.mlbp-bet-why{background:#ffffff05;border-left:2px solid #7cacf833;border-radius:6px;margin-bottom:18px;padding:14px 16px}.mlbp-bet-why-title{text-transform:uppercase;letter-spacing:.1em;color:var(--lp-text-muted);margin-bottom:6px;font-size:10px;font-weight:700}.mlbp-bet-why-text{color:var(--lp-text);margin:0;font-size:13px;line-height:1.6}.mlbp-bet-why-text strong{color:var(--lp-heading);font-weight:600}.mlbp-bet-numbers{background:var(--mlb-border-subtle);border-radius:6px;grid-template-columns:repeat(5,1fr);gap:1px;margin-bottom:16px;display:grid;overflow:hidden}.mlbp-bet-num{background:var(--mlb-surface);text-align:center;padding:10px 6px}.mlbp-bet-num-val{font-family:var(--mlb-mono);color:var(--lp-heading);margin-bottom:2px;font-size:16px;font-weight:700;display:block}.mlbp-num-edge{color:var(--mlb-green)}.mlbp-bet-num-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--lp-text-muted);margin-bottom:2px;font-size:10px;font-weight:600;display:block}.mlbp-bet-num-help{color:#6a7a9480;font-size:9px;line-height:1.3;display:block}.mlbp-bet-prob-compare{flex-direction:column;gap:6px;display:flex}.mlbp-bet-prob-row{align-items:center;gap:10px;display:flex}.mlbp-bet-prob-who{color:var(--lp-text-muted);flex-shrink:0;width:110px;font-size:11px}.mlbp-bet-prob-bar-wrap{background:#ffffff08;border-radius:3px;flex:1;height:6px;overflow:hidden}.mlbp-bet-prob-bar{border-radius:3px;height:100%}.mlbp-bar-model{background:var(--lp-accent)}.mlbp-bar-book{background:#6a7a9459}.mlbp-bet-prob-val{font-family:var(--mlb-mono);color:var(--lp-text);text-align:right;flex-shrink:0;width:40px;font-size:12px;font-weight:600}.mlbp-table-wrap{border:1px solid var(--mlb-border-subtle);border-radius:8px;overflow-x:auto}.mlbp-table{border-collapse:collapse;width:100%;font-size:13px}.mlbp-table thead{background:var(--mlb-surface)}.mlbp-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--lp-text-muted);text-align:left;border-bottom:1px solid var(--mlb-border-subtle);padding:10px 14px;font-size:11px;font-weight:600}.mlbp-table th:not(:first-child):not(:nth-child(2)){text-align:right}.mlbp-table td{border-bottom:1px solid var(--mlb-border-subtle);color:var(--lp-text);padding:10px 14px}.mlbp-table tbody tr:last-child td{border-bottom:none}.mlbp-table tbody tr:hover{background:#ffffff04}.mlbp-table-name{color:var(--lp-heading);font-weight:500}.mlbp-table-team{font-family:var(--mlb-mono);color:var(--lp-accent);background:var(--mlb-accent-bg);letter-spacing:.04em;vertical-align:middle;border-radius:3px;margin-left:8px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-block}.mlbp-table-matchup{color:var(--lp-text-muted);white-space:nowrap;font-size:12px}.mlbp-table-mono{font-family:var(--mlb-mono);text-align:right;font-size:12px}.mlbp-table-odds{color:var(--lp-text-muted);justify-content:flex-end;gap:10px;font-size:11px;display:flex}.mlbp-loading{color:var(--lp-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 0;font-size:14px;display:flex}.mlbp-loading-diamond{background:var(--lp-accent);border-radius:3px;width:24px;height:24px;animation:1.2s ease-in-out infinite mlbp-pulse;transform:rotate(45deg)}@keyframes mlbp-pulse{0%,to{opacity:.3;transform:rotate(45deg)scale(.85)}50%{opacity:1;transform:rotate(45deg)scale(1)}}.mlbp-error{text-align:center;color:var(--mlb-red);padding:60px 0;font-size:14px}.mlbp-retry-btn{border:1px solid var(--mlb-border);color:var(--lp-text);font-family:var(--lp-font-body);cursor:pointer;background:0 0;border-radius:6px;margin-top:12px;padding:8px 20px;font-size:13px;transition:all .2s}.mlbp-retry-btn:hover{background:var(--mlb-accent-bg);border-color:#7cacf833}.mlbp-error-banner{color:var(--mlb-red);background:#f8717114;border:1px solid #f8717126;border-radius:6px;margin-bottom:24px;padding:10px 16px;font-size:13px}.mlbp-no-bets{text-align:center;color:var(--lp-text-muted);padding:48px 0}.mlbp-no-bets-icon{font-family:var(--lp-font-display);color:#7cacf826;margin-bottom:12px;font-size:48px}.mlbp-no-bets p{margin:0 0 4px;font-size:14px}.mlbp-no-bets-sub{opacity:.5;font-size:12px}@media (width<=768px){.mlbp-summary,.mlbp-bets-grid{grid-template-columns:1fr}.mlbp-header{flex-direction:column;align-items:flex-start;gap:12px}.mlbp-bet-numbers{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.mlbp-summary{grid-template-columns:1fr}.mlbp-title{font-size:22px}.mlbp-bet-side-lg{font-size:12px}}.CircularProgressbar{vertical-align:middle;width:100%}.CircularProgressbar .CircularProgressbar-path{stroke:#3e98c7;stroke-linecap:round;transition:stroke-dashoffset .5s}.CircularProgressbar .CircularProgressbar-trail{stroke:#d6d6d6;stroke-linecap:round}.CircularProgressbar .CircularProgressbar-text{fill:#3e98c7;dominant-baseline:middle;text-anchor:middle;font-size:20px}.CircularProgressbar .CircularProgressbar-background{fill:#d6d6d6}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-background{fill:#3e98c7}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-text{fill:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-path{stroke:#fff}.CircularProgressbar.CircularProgressbar-inverted .CircularProgressbar-trail{stroke:#0000}
