/* Final semantic palette, shared by light and dark components. */
html #app-screen:not(.active){display:none!important}
html body,html body *{font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif!important}
html #topbar-title{text-transform:none!important;letter-spacing:-.03em!important}
html .lb-header-band{background:var(--hero)!important}html .lb-header-glow{display:none}
html .wallet-card-inner .wallet-right{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px}
html .wallet-card-inner .wallet-stat{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
html .topbar .pwa-install{font-size:20px}
:root,[data-theme="light"]{color-scheme:light;--primary:#2858d8;--primary2:#234fc6;--primary-dark:#1c43aa;--primary-light:#eaf0ff;--primary-glow:#2858d822;--volt:#2858d8;--volt-deep:#234fc6;--volt-tint:#eaf0ff;--bg:#f4f6fa;--surface:#ffffff;--surface2:#f0f3f8;--surface3:#e7ecf4;--text:#182236;--text2:#4c5b73;--text3:#596982;--border:#dfe5ef;--border2:#c4cfe0;--gold:#936019;--gold2:#ffd08a;--gold-light:#fff3de;--win:#17724c;--red:#b92d48;--red-light:#fff0f2;--blue:#2858d8;--purple:#604bc3;--hero:#12213f;--hero-text:#f4f7ff;--hero-muted:#bdcbe3;--success-bg:#eaf7f0;--danger-bg:#fff0f2;--shadow:0 5px 24px #172f5610}
[data-theme="dark"]{color-scheme:dark;--primary:#83aaff;--primary2:#648fea;--primary-dark:#3769d8;--primary-light:#223351;--primary-glow:#83aaff20;--volt:#83aaff;--volt-deep:#648fea;--volt-tint:#223351;--bg:#101620;--surface:#182130;--surface2:#202c3d;--surface3:#2a374b;--text:#edf2fc;--text2:#c2cce0;--text3:#a3b2ca;--border:#303e54;--border2:#4a5c77;--gold:#efbd72;--gold2:#efbd72;--gold-light:#3c3124;--win:#70d6a0;--red:#ff92a3;--red-light:#3d2632;--blue:#83aaff;--purple:#b9aaff;--hero:#152642;--hero-text:#f4f7ff;--hero-muted:#bdcbe3;--success-bg:#1a352c;--danger-bg:#3d2632;--shadow:0 5px 24px #0002}
html body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--text)}
html :is(button,input,select,textarea,.brand-title,.auth-title,.filter-tab,.sf-btn,.team-name,.pname,.psb-val,.lb-pts-num,.score-display,.pred-actual-score,.pred-open-score,.pred-locked-score,.detail-score-box,.wallet-balance,.fmc-score,.tlb-tokens,.fm-bet-input,.page-header h2,.profile-recent-title,.lb-header-title,.podium-name,.podium-pts){font-family:inherit!important;text-transform:none;letter-spacing:normal}
html :is(.score-display,.pred-actual-score,.detail-score-box,.wallet-balance,.psb-val,.lb-pts-num){font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-weight:700}
html #app-screen,html .spid-shell,html .pages{background:var(--bg)!important}
html :is(.auth-card,.profile-hero,.profile-settings,.psb,.leaderboard-item,.predict-card,.match-card,.fact-match-card,.fh-item,.tlb-item,.tp-card,.modal-card,.auth-tabs,.stats-tabs){background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important;box-shadow:var(--shadow)!important}
html :is(.pname,.psb-val,.team-name,.predict-team-name,.score-display,.lb-name,.lb-pts-num,.tp-card-head strong,.fm-option-label,.fmc-team-name,.fh-fact,.ps-label,.page-header h2,.score-name,.pred-locked-score,.pred-open-score){color:var(--text)!important}
html :is(.pusername,.psb-lbl,.profile-recent-title,.lb-username,.lb-pts-label,.lb-avg,.fmc-round,.wallet-recent-label,.predict-sub,.match-time-label,.match-venue,.team-form-label,.fh-match-time){color:var(--text3)!important}
html :is(.field input,.tp-control,.tp-locked-value,.score-controls,.score-controls input,.modal-result-preview,.fm-option,.fm-bet-btn,.fact-chip,.fmc-header,.fh-match,.spill,.filter-tab,.sf-btn){background:var(--surface2)!important;color:var(--text)!important;border-color:var(--border2)!important;box-shadow:none!important}
html :is(.auth-tab.active,.filter-tab.active,.spill.active,.sf-btn.active,.btn-primary,.btn-predict,.tp-save,.fm-submit-btn,.fmc-predict-btn){background:#2858d8!important;color:#fff!important;border-color:#2858d8!important;box-shadow:none!important}
html :is(.tp-save,.fm-submit-btn,.fmc-predict-btn){min-height:44px;border-radius:12px}
html :is(.fm-option.selected,.fact-chip.has-prediction,.btn-edit,.date-section-label.today){background:var(--primary-light)!important;color:var(--primary)!important;border-color:var(--primary)!important}
html .auth-bg,html .wallet-card-inner,html .lb-podium,html .match-detail-hero{background:var(--hero)!important;border-color:var(--border)!important;color:var(--hero-text)!important;box-shadow:none!important}
html .auth-title{color:var(--hero-text)!important;text-transform:none!important;font-size:36px!important;font-weight:750;letter-spacing:-1.5px!important}
html .auth-title span{font-size:12px!important;color:var(--hero-muted)!important;letter-spacing:.04em!important;font-weight:500}
html .auth-sub,html .wallet-subtitle,html .wallet-stat small,html .wallet-unit,html .podium-pts span{color:var(--hero-muted)!important}
html .auth-trophy{color:#9bbdff;border-color:#ffffff30;background:#ffffff08}
html .trophy-icon{background:var(--primary-light)!important;color:var(--primary)!important;box-shadow:none!important;border-radius:12px;width:40px;height:40px}
html .trophy-icon::after{display:none}
html .wallet-balance,html #token-balance,html .wallet-stat span,html .podium-name,html .podium-pts{color:var(--hero-text)!important}
html .wallet-card-inner .wallet-stat.profit span{color:#91e0b4!important}
html .wallet-coin,html .tc-circle{background:var(--primary-light)!important;color:var(--primary)!important;box-shadow:none!important}
html .topbar-coin-chip,html #topbar-coin-val{color:var(--text)!important}
html .leaderboard-item.me,html .tlb-item.me{background:var(--primary-light)!important;border:1px solid var(--primary)!important}
html .leaderboard-item.me :is(.lb-name,.lb-stat span){color:var(--text)!important}html .leaderboard-item.me :is(.lb-username,.lb-stat){color:var(--text2)!important}
html .leaderboard-item.me .lb-pts-num{color:var(--primary)!important}
html .match-card.live :is(.team-name,.score-display){color:var(--text)!important}html .match-card.live::after{display:none}
html :is(.live-banner,.badge-live,.pred-live-badge){background:var(--danger-bg)!important;color:var(--red)!important;border-color:var(--red)!important}
html .live-dot{background:var(--red)!important}
html :is(.tp-saved,.tp-result.won,.fm-win-preview){color:var(--win)!important}html :is(.tp-result.lost,.ps-row.danger .ps-label,.modal-error,.auth-error){color:var(--red)!important}
html :is(.pts-10-bg,.fact-chip.resolved-win){background:var(--success-bg)!important;color:var(--win)!important}
html :is(.pts-7-bg,.pts-5-bg){background:var(--primary-light)!important;color:var(--primary)!important}html .pts-2-bg{background:var(--surface2)!important;color:var(--text2)!important}
html .ps-row:hover{background:var(--surface2)!important}html .tp-card-head small{color:var(--primary)!important}
html .modal-overlay{background:#080f20b8!important}
html .toast{background:var(--surface)!important;color:var(--text)!important}html .toast.success{background:var(--success-bg)!important;color:var(--win)!important}html .toast.error{background:var(--danger-bg)!important;color:var(--red)!important}
html :focus-visible{outline:3px solid var(--primary)!important;outline-offset:3px}
.brand-lockup{display:flex;flex-direction:column;gap:4px}.brand-wordmark{font-size:11px;font-weight:650;letter-spacing:.01em;color:var(--text3)}
.experience-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:20px 0 4px}.utility-button{background:var(--surface2);border:1px solid var(--border2);color:var(--text);padding:9px 14px;border-radius:12px;min-height:44px;font-size:13px;display:inline-flex;align-items:center;gap:8px}.topbar .utility-button{width:40px;min-height:40px;padding:8px;justify-content:center}.utility-button:hover{background:var(--surface3)}
.install-help{margin:12px 0;font-size:13px;color:var(--text2);line-height:1.6}.pwa-install[hidden]{display:none}.auth-tabs{gap:4px}.auth-tab{font-size:14px}
html body:has(.admin-app){background:var(--bg);color:var(--text)}html :is(.sidebar,.login-box){background:var(--surface);color:var(--text);border-color:var(--border)}html .login-screen{background:var(--bg)}html :is(.sidebar-logo strong,.login-logo h1){color:var(--primary)}html .nav-item.active{background:#2858d8}html .admin-app .btn-primary{background:#2858d8}
@media(max-width:599px){html #auth-screen .auth-bg{min-height:310px;padding:36px 20px 54px}html #auth-screen .auth-card{width:calc(100% - 32px);max-width:440px;box-sizing:border-box;margin:-28px 16px 0;padding:24px}html .auth-trophy{margin-bottom:16px}html .auth-title{font-size:32px!important}html .topbar{padding:12px!important}.brand-title{font-size:20px!important}.topbar-right{gap:6px}.modal-card .score-controls input{width:40px!important}.modal-card .score-controls button{min-width:40px!important;width:40px!important}.tournament-predictions{padding:12px!important}.tp-grid{gap:10px}.tp-header{gap:8px;flex-wrap:wrap}.wallet-card-inner{padding:20px!important}}
@media(display-mode:standalone){.pwa-install{display:none!important}.topbar{padding-top:max(12px,env(safe-area-inset-top))!important}}
.odds-input{width:76px;min-height:40px;padding:7px 9px;border:1px solid var(--border2);border-radius:10px;background:var(--surface2);color:var(--text);font:inherit;font-variant-numeric:tabular-nums}
.fm-odds-source{margin:8px 0 12px;padding:8px 10px;border-radius:9px;background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:650}
.sportsbook-cta{width:100%;margin:14px 0 18px;padding:13px 16px;border:0;border-radius:12px;background:var(--primary);color:#fff;font-weight:700;font-size:14px}
.fmc-odds-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 14px 8px}.fmc-odds-strip button{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:9px 12px;border:1px solid var(--border2);border-radius:11px;background:var(--surface2);color:var(--text)}.fmc-odds-strip small{color:var(--text3);font-weight:700}.fmc-odds-strip strong{color:var(--primary);font-variant-numeric:tabular-nums}.fmc-source{padding:0 14px 10px;color:var(--text3);font-size:10px;text-align:right}
.club-logo-wrap.fmc-flag{display:flex!important;width:52px;height:52px;margin:0 auto 8px;padding:5px;border-radius:15px;background:var(--surface);box-shadow:0 4px 14px #172f5614;box-sizing:border-box}.club-logo-wrap.fmc-flag .club-logo-fallback{font-size:12px}
.odds-admin-group{display:flex;gap:5px;min-width:max-content}.odds-admin-group .odds-input{width:62px}
