*{box-sizing:border-box;margin:0;padding:0;}
:root{--bg:#0e0e11;--surface:#18181d;--card:#1f1f26;--border:rgba(255,255,255,0.07);--border-md:rgba(255,255,255,0.13);--text:#f0f0f0;--muted:#888894;--hint:#55555f;--gold:#c9a84c;--gold-dim:#8a6e2f;--gold-bg:rgba(201,168,76,0.1);--green:#22c55e;--green-bg:rgba(34,197,94,0.1);--red:#ef4444;--red-bg:rgba(239,68,68,0.1);--amber:#f59e0b;--amber-bg:rgba(245,158,11,0.1);--purple:#a78bfa;--purple-bg:rgba(167,139,250,0.1);--blue:#60a5fa;--blue-bg:rgba(96,165,250,0.1);--radius:8px;--radius-lg:12px;--topbar-icon-color:#f0f0f0;--pill-icon-stroke:#f0f0f0;}
body.light{--bg:#f5f0e8;--surface:#faf6ef;--card:#ede8de;--border:rgba(0,0,0,0.09);--border-md:rgba(0,0,0,0.16);--text:#1a1a1a;--muted:#6b6358;--hint:#a89e92;--gold:#a8782a;--gold-dim:#a8782a;--gold-bg:rgba(168,120,42,0.12);--green:#16a34a;--green-bg:rgba(22,163,74,0.1);--red:#dc2626;--red-bg:rgba(220,38,38,0.1);--amber:#d97706;--amber-bg:rgba(217,119,6,0.1);--purple:#7c3aed;--purple-bg:rgba(124,58,237,0.1);--blue:#2563eb;--blue-bg:rgba(37,99,235,0.1);--topbar-icon-color:#1a1a1a;--pill-icon-stroke:#3a3020;}
html,body{height:100%;}
body{font-family:'SF Pro Display',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);transition:background 0.25s,color 0.25s;-webkit-font-smoothing:antialiased;}
/* Bet slip modal */
.slip-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:700;align-items:flex-end;justify-content:center;}
.slip-overlay.open{display:flex;}
.slip-modal{background:var(--surface);border:0.5px solid var(--border-md);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-width:480px;padding:20px 20px 32px;animation:slipUp 0.22s ease;}
@keyframes slipUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.slip-drag{width:36px;height:4px;background:var(--border-md);border-radius:2px;margin:0 auto 16px;}
.slip-modal-title{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);font-weight:500;margin-bottom:8px;}
.slip-match{font-size:15px;font-weight:600;color:var(--text);margin-bottom:4px;line-height:1.3;}
.slip-market-tag{font-size:11px;color:var(--muted);margin-bottom:12px;}
.slip-outcome-row{margin-bottom:16px;}
.slip-outcome{display:inline-flex;align-items:center;gap:6px;background:var(--gold-bg);border:0.5px solid var(--gold-dim);border-radius:var(--radius);padding:6px 12px;}
.slip-outcome-name{font-size:13px;font-weight:500;color:var(--gold);}
.slip-outcome-odds{font-size:15px;font-weight:700;color:var(--gold);}
.slip-divider{border:none;border-top:0.5px solid var(--border);margin:0 0 14px;}
.slip-input-label{font-size:11px;text-transform:uppercase;letter-spacing:0.06em;color:var(--hint);font-weight:500;margin-bottom:8px;}
.slip-amount-input{width:100%;padding:12px 14px;font-size:18px;font-weight:500;border:0.5px solid var(--border-md);border-radius:var(--radius);background:var(--card);color:var(--text);outline:none;margin-bottom:10px;-webkit-appearance:none;}
.slip-amount-input:focus{border-color:var(--gold);}
.slip-amount-input::placeholder{color:var(--hint);}
.slip-quick-bets{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.slip-quick{font-size:12px;padding:5px 10px;border-radius:var(--radius);background:var(--card);border:0.5px solid var(--border-md);color:var(--muted);cursor:pointer;}
.slip-quick:hover{border-color:var(--gold);color:var(--gold);}
.slip-potential-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--card);border-radius:var(--radius);margin-bottom:10px;}
.slip-potential-label{font-size:12px;color:var(--muted);}
.slip-potential-val{font-size:16px;font-weight:600;color:var(--green);}
.slip-balance-row{display:flex;justify-content:space-between;font-size:12px;color:var(--hint);margin-bottom:14px;}
.slip-actions{display:flex;gap:10px;}
.btn-cancel-slip{flex:1;padding:12px;font-size:14px;font-weight:500;background:none;border:0.5px solid var(--border-md);border-radius:var(--radius);color:var(--muted);cursor:pointer;}
.btn-cancel-slip:hover{border-color:var(--red);color:var(--red);}
.btn-place-bet{flex:2;padding:12px;font-size:14px;font-weight:600;background:var(--gold);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;}
.btn-place-bet:hover{opacity:0.88;}
.slip-feedback{font-size:12px;margin-top:10px;padding:8px 12px;border-radius:var(--radius);display:none;text-align:center;}
.slip-feedback.success{background:var(--green-bg);color:var(--green);border:0.5px solid var(--green);display:block;}
.slip-feedback.danger{background:var(--red-bg);color:var(--red);border:0.5px solid var(--red);display:block;}
/* Results modal */
.results-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:600;align-items:center;justify-content:center;padding:16px;}
.results-overlay.open{display:flex;}
.results-modal{background:var(--surface);border:0.5px solid var(--border-md);border-radius:var(--radius-lg);width:100%;max-width:400px;max-height:85dvh;display:flex;flex-direction:column;overflow:hidden;animation:modalIn 0.22s ease;}
@keyframes modalIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.results-header{padding:18px 20px 14px;border-bottom:0.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.results-title{font-size:15px;font-weight:600;color:var(--text);}
.results-subtitle{font-size:12px;color:var(--muted);margin-top:2px;}
.results-close{background:none;border:none;cursor:pointer;color:var(--hint);font-size:18px;padding:4px;border-radius:4px;}
.results-body{overflow-y:auto;padding:14px 20px;display:flex;flex-direction:column;gap:10px;}
.result-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius);border:0.5px solid;}
.result-item.won{background:var(--green-bg);border-color:rgba(34,197,94,0.25);}
.result-item.lost{background:var(--red-bg);border-color:rgba(239,68,68,0.25);}
.result-icon{font-size:22px;flex-shrink:0;}
.result-info{flex:1;min-width:0;}
.result-event{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.result-detail{font-size:11px;color:var(--muted);margin-top:3px;}
.result-amount{font-size:15px;font-weight:600;flex-shrink:0;}
.result-amount.pos{color:var(--green);}
.result-amount.neg{color:var(--red);}
.results-summary{padding:10px 14px;background:var(--card);border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);}
.results-summary strong{font-size:14px;font-weight:600;}
.results-footer{padding:14px 20px;border-top:0.5px solid var(--border);}
.btn-dismiss{width:100%;padding:11px;font-size:14px;font-weight:500;background:var(--gold);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;}
/* Login */
#login-screen{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:1.5rem;background:var(--bg);}
.login-card{background:var(--surface);border:0.5px solid var(--border-md);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:380px;}
.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.logo-icon{width:32px;height:32px;background:var(--gold);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.logo-text{font-size:20px;font-weight:600;color:var(--text);}
.logo-text span{color:var(--gold);}
.login-sub{font-size:13px;color:var(--muted);margin-bottom:1.5rem;margin-left:42px;}
.field{margin-bottom:14px;}
.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:0.06em;}
.field input{width:100%;padding:12px;font-size:16px;border:0.5px solid var(--border-md);border-radius:var(--radius);background:var(--card);color:var(--text);outline:none;-webkit-appearance:none;}
.field input:focus{border-color:var(--gold);}
.field input::placeholder{color:var(--hint);}
.btn-primary{width:100%;padding:13px;font-size:15px;font-weight:500;background:var(--gold);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;}
.error-msg{font-size:12px;color:var(--red);margin-top:10px;display:none;}
/* App */
#main-app{display:none;flex-direction:column;height:100dvh;background:var(--bg);position:relative;overflow:hidden;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:300;}
.sidebar-overlay.open{display:block;}
.topbar{background:var(--surface);border-bottom:0.5px solid var(--border);padding:0 16px;height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;z-index:200;}
.topbar-left{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.logo-icon-sm{width:26px;height:26px;background:var(--gold);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.logo-text-sm{font-size:15px;font-weight:600;color:var(--text);}
.logo-text-sm span{color:var(--gold);}
.badge-token{font-size:11px;padding:3px 8px;border-radius:var(--radius);font-weight:500;background:var(--gold-bg);color:var(--gold);border:0.5px solid var(--gold-dim);}
.badge-role{font-size:11px;padding:2px 8px;border-radius:var(--radius);font-weight:500;}
.badge-superadmin{background:var(--gold-bg);color:var(--gold);border:0.5px solid var(--gold-dim);}
.badge-mod{background:var(--blue-bg);color:var(--blue);border:0.5px solid var(--blue);}
.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.topbar-divider{width:1px;height:18px;background:var(--border-md);}
.hamburger{display:none;width:36px;height:36px;background:none;border:none;border-radius:var(--radius);cursor:pointer;align-items:center;justify-content:center;color:var(--topbar-icon-color);-webkit-tap-highlight-color:transparent;}
.notif-wrap{position:relative;}
.notif-btn{width:36px;height:36px;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;color:var(--topbar-icon-color);transition:color 0.15s,background 0.15s;-webkit-tap-highlight-color:transparent;}
.notif-btn:hover{background:var(--card);}
.notif-btn.has-unread{color:var(--gold);}
.notif-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--red);border:1.5px solid var(--surface);display:none;}
.notif-btn.has-unread .notif-dot{display:block;}
.notif-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:-8px;width:min(290px,calc(100vw - 24px));background:var(--surface);border:0.5px solid var(--border-md);border-radius:var(--radius-lg);z-index:400;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.25);}
.notif-dropdown.open{display:block;}
.notif-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:0.5px solid var(--border);}
.notif-header-title{font-size:12px;font-weight:500;color:var(--text);}
.notif-mark-read{font-size:11px;color:var(--muted);background:none;border:none;cursor:pointer;padding:0;}
.notif-list{max-height:220px;overflow-y:auto;}
.notif-item{padding:10px 14px;border-bottom:0.5px solid var(--border);display:flex;gap:10px;align-items:flex-start;cursor:pointer;}
.notif-item:last-child{border-bottom:none;}
.notif-item.unread{background:rgba(201,168,76,0.04);}
.notif-item:hover{background:var(--card);}
.notif-icon{font-size:15px;flex-shrink:0;margin-top:1px;}
.notif-body{flex:1;min-width:0;}
.notif-title{font-size:12px;font-weight:500;color:var(--text);}
.notif-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.notif-time{font-size:10px;color:var(--hint);margin-top:3px;}
.notif-unread-mark{width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:5px;}
.notif-empty{padding:1.5rem;text-align:center;font-size:12px;color:var(--hint);}
.notif-push-row{padding:9px 14px;border-top:0.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.notif-push-label{font-size:11px;color:var(--muted);}
.mini-toggle{position:relative;width:28px;height:16px;flex-shrink:0;}
.mini-toggle input{opacity:0;width:0;height:0;}
.mini-toggle-slider{position:absolute;inset:0;background:var(--card);border:0.5px solid var(--border-md);border-radius:8px;cursor:pointer;transition:background 0.2s;}
.mini-toggle-slider::before{content:'';position:absolute;width:10px;height:10px;left:2px;top:2px;background:var(--muted);border-radius:50%;transition:transform 0.2s,background 0.2s;}
.mini-toggle input:checked+.mini-toggle-slider{background:var(--gold-bg);border-color:var(--gold-dim);}
.mini-toggle input:checked+.mini-toggle-slider::before{transform:translateX(12px);background:var(--gold);}
.theme-pill{width:52px;height:26px;background:var(--card);border:0.5px solid var(--border-md);border-radius:13px;position:relative;cursor:pointer;transition:background 0.3s;flex-shrink:0;-webkit-tap-highlight-color:transparent;}
.theme-pill.light-mode{background:rgba(210,170,80,0.2);border-color:rgba(180,130,40,0.45);}
.theme-pill-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface);border:0.5px solid var(--border-md);display:flex;align-items:center;justify-content:center;transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),background 0.3s;}
.theme-pill.light-mode .theme-pill-thumb{transform:translateX(26px);background:#fff8e8;}
.theme-pill-thumb svg{width:12px;height:12px;stroke:var(--pill-icon-stroke);stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.user-area{display:flex;align-items:center;gap:8px;}
.user-name{font-size:12px;color:var(--muted);font-weight:500;}
.btn-logout{font-size:12px;color:var(--muted);background:none;border:0.5px solid var(--border-md);padding:5px 10px;border-radius:var(--radius);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
.btn-logout:hover{color:var(--red);border-color:var(--red);}
.toast-container{position:fixed;top:62px;right:12px;z-index:500;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:calc(100vw - 24px);}
.toast{background:var(--surface);border:0.5px solid var(--border-md);border-radius:var(--radius-lg);padding:12px 14px;display:flex;gap:10px;align-items:flex-start;max-width:300px;pointer-events:all;animation:slideIn 0.25s ease;}
.toast.win{border-left:3px solid var(--green);}
.toast.loss{border-left:3px solid var(--red);}
.toast.info{border-left:3px solid var(--gold);}
@keyframes slideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.toast-icon{font-size:15px;flex-shrink:0;}
.toast-title{font-size:13px;font-weight:500;color:var(--text);}
.toast-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.toast-close{background:none;border:none;color:var(--hint);cursor:pointer;font-size:13px;padding:0;margin-left:auto;flex-shrink:0;}
.tabs{display:flex;background:var(--surface);border-bottom:0.5px solid var(--border);padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;}
.tabs::-webkit-scrollbar{display:none;}
.tab{font-size:13px;padding:11px 12px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-0.5px;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
.tab:hover{color:var(--text);}
.tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:500;}
.body-row{display:flex;flex:1;overflow:hidden;}
.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:0.5px solid var(--border);padding:14px 0;overflow-y:auto;transition:transform 0.25s ease;}
.sidebar-label{font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);font-weight:500;padding:8px 16px 4px;}
.sport-item{display:flex;align-items:center;gap:9px;padding:11px 16px;cursor:pointer;font-size:13px;color:var(--muted);border-left:2px solid transparent;transition:all 0.12s;-webkit-tap-highlight-color:transparent;}
.sport-item:hover{background:var(--card);color:var(--text);}
.sport-item.active{color:var(--gold);border-left-color:var(--gold);background:var(--card);font-weight:500;}
.sport-icon{font-size:14px;width:18px;text-align:center;}
.league-item{display:flex;align-items:center;gap:8px;padding:9px 16px 9px 40px;cursor:pointer;font-size:12px;color:var(--hint);border-left:2px solid transparent;transition:all 0.12s;-webkit-tap-highlight-color:transparent;}
.league-item:hover{background:var(--card);color:var(--text);}
.league-item.active{color:var(--gold);border-left-color:var(--gold);background:var(--card);font-weight:500;}
.sidebar-divider{border:none;border-top:0.5px solid var(--border);margin:8px 0;}
.main-content{flex:1;padding:16px;overflow-y:auto;min-width:0;-webkit-overflow-scrolling:touch;}
.breadcrumb{font-size:12px;color:var(--hint);margin-bottom:14px;}
.breadcrumb strong{color:var(--text);font-weight:500;}
/* Match cards */
.events-grid{display:flex;flex-direction:column;gap:10px;}
.event-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color 0.12s;cursor:pointer;}
.event-card:hover{border-color:var(--border-md);}
.event-top{padding:13px 14px 10px;}
.event-teams{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;}
.team-name{font-size:13px;font-weight:500;color:var(--text);flex:1;}
.team-name.away{text-align:right;}
.team-with-icon{display:flex;align-items:center;gap:6px;flex:1;min-width:0;}
.team-with-icon.away{flex-direction:row-reverse;justify-content:flex-start;}
.team-with-icon .team-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.team-jersey{font-size:16px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.3));}
.team-crest{width:22px;height:22px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.25));}
.team-crest-fallback{font-size:16px;flex-shrink:0;}
.vs-badge{font-size:10px;font-weight:600;color:var(--hint);background:var(--card);padding:2px 7px;border-radius:4px;flex-shrink:0;}
.event-meta-row{display:flex;align-items:center;justify-content:space-between;}
.event-league{font-size:11px;color:var(--hint);}
.live-pill{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--red);font-weight:500;}
.live-dot{width:5px;height:5px;border-radius:50%;background:var(--red);animation:pulse 1.2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.2}}
.time-pill{font-size:11px;color:var(--hint);background:var(--card);padding:2px 8px;border-radius:4px;}
.market-tabs{display:flex;border-top:0.5px solid var(--border);border-bottom:0.5px solid var(--border);background:var(--bg);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.market-tabs::-webkit-scrollbar{display:none;}
.market-tabs::-webkit-scrollbar{display:none;}
.market-tab{font-size:11px;padding:7px 12px;color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;-webkit-tap-highlight-color:transparent;}
.market-tab:hover{color:var(--text);}
.market-tab.active{color:var(--gold);border-bottom-color:var(--gold);font-weight:500;}
.event-odds{display:flex;gap:6px;padding:10px 12px;border-top:0.5px solid var(--border);background:var(--bg);}
.odd-btn{flex:1;padding:9px 6px;background:var(--card);border:0.5px solid var(--border-md);border-radius:20px;cursor:pointer;text-align:center;transition:background 0.12s,border-color 0.12s,transform 0.1s;position:relative;-webkit-tap-highlight-color:transparent;}
.odd-btn:hover{background:var(--surface);border-color:var(--gold);transform:translateY(-1px);}
.odd-btn.selected{background:var(--gold-bg);border-color:var(--gold);}
.odd-btn.selected::after{display:none;}
.odd-btn.home-btn{border-color:rgba(96,165,250,0.3);}
.odd-btn.home-btn:hover,.odd-btn.home-btn.selected{background:rgba(96,165,250,0.1);border-color:var(--blue);}
.odd-btn.home-btn .odd-val{color:var(--blue);}
.odd-btn.away-btn{border-color:rgba(239,68,68,0.3);}
.odd-btn.away-btn:hover,.odd-btn.away-btn.selected{background:var(--red-bg);border-color:var(--red);}
.odd-btn.away-btn .odd-val{color:var(--red);}
.odd-label{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;}
.odd-val{font-size:13px;font-weight:600;color:var(--gold);}
.market-unavail{padding:12px;text-align:center;font-size:12px;color:var(--hint);font-style:italic;border-top:0.5px solid var(--border);}
.empty{text-align:center;padding:3rem;color:var(--hint);font-size:13px;}
.loading{text-align:center;padding:3rem;color:var(--hint);font-size:13px;}
.specials-loading{padding:16px;text-align:center;font-size:12px;color:var(--hint);border-top:0.5px solid var(--border);animation:pulse 1.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.45}}
.specials-panel{border-top:0.5px solid var(--border);}
.specials-section{padding:10px 12px 8px;border-bottom:0.5px solid var(--border);}
.specials-section:last-child{border-bottom:none;}
.specials-section-title{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.specials-sim-divider{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:var(--card);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);border-bottom:0.5px solid var(--border);}
.specials-sim-note{font-size:10px;font-weight:400;color:var(--hint);text-transform:none;letter-spacing:0;font-style:italic;}
.specials-src-badge{font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;text-transform:none;letter-spacing:0;font-style:normal;margin-left:4px;}
.src-apifb{background:rgba(96,165,250,0.12);color:var(--blue);border:0.5px solid rgba(96,165,250,0.3);}
.src-live{background:var(--green-bg);color:var(--green);border:0.5px solid var(--green);}
.specials-ou-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.specials-ou-row:last-child{margin-bottom:0;}
.specials-ou-line{font-size:11px;color:var(--muted);width:110px;flex-shrink:0;}
.specials-ou-row .event-odds{flex:1;border-top:none;padding:0;background:none;gap:6px;}
.specials-score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:0 12px 10px;}
@media(max-width:400px){.specials-score-grid{grid-template-columns:repeat(4,1fr);}}
.specials-score-grid .odd-btn{border-radius:10px;padding:7px 4px;}
.specials-scorer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;}
@media(max-width:360px){.specials-scorer-grid{grid-template-columns:1fr;}}
.odd-btn-scorer{flex:none;padding:8px 10px;background:var(--card);border:0.5px solid var(--border-md)!important;border-radius:12px;text-align:left;}
.odd-btn-scorer .odd-label{font-size:11px;white-space:normal;overflow:visible;text-overflow:clip;}
.odd-btn-sm{flex:none;padding:7px 10px;}
.player-props-wrap{padding:0 12px 10px;}.player-prop-group{margin-bottom:8px;}
.player-prop-group:last-child{margin-bottom:0;}
.player-prop-name{font-size:11px;color:var(--text);font-weight:500;margin-bottom:4px;}
.player-prop-btns{display:flex;gap:6px;}
.api-note{font-size:11px;color:var(--hint);margin-top:10px;padding:6px 10px;background:var(--surface);border-radius:var(--radius);border:0.5px solid var(--border);}
.panel{display:none;}.panel.active{display:block;}
.card-wrap{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
table{width:100%;border-collapse:collapse;}
th{font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);font-weight:500;padding:10px 12px;text-align:left;border-bottom:0.5px solid var(--border);background:var(--surface);}
td{font-size:13px;color:var(--text);padding:10px 12px;border-bottom:0.5px solid var(--border);background:var(--surface);}
tr:last-child td{border-bottom:none;}
tr:hover td{background:var(--card);}
.rank-badge{font-size:11px;font-weight:600;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;}
.r1{background:var(--gold-bg);color:var(--gold);border:0.5px solid var(--gold-dim);}
.r2{background:rgba(156,163,175,0.15);color:#888;border:0.5px solid rgba(156,163,175,0.3);}
.r3{background:rgba(180,120,80,0.15);color:#b47850;border:0.5px solid rgba(180,120,80,0.3);}
.rn{background:var(--card);color:var(--hint);}
.gain{color:var(--green);font-weight:500;}
.loss{color:var(--red);font-weight:500;}
.filter-row{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;align-items:center;}
.filter-chip{font-size:12px;padding:6px 12px;border-radius:20px;border:0.5px solid var(--border-md);background:var(--card);color:var(--muted);cursor:pointer;white-space:nowrap;}
.filter-chip:hover,.filter-chip.active{background:var(--gold-bg);border-color:var(--gold);color:var(--gold);font-weight:500;}
.filter-sport{font-size:12px;padding:6px 10px;border:0.5px solid var(--border-md);border-radius:20px;background:var(--card);color:var(--text);outline:none;cursor:pointer;}
.history-count{font-size:11px;color:var(--hint);margin-left:auto;}
.history-item{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.history-item:hover{border-color:var(--border-md);}
.history-name{font-size:13px;font-weight:500;color:var(--text);}
.history-meta{font-size:12px;color:var(--hint);margin-top:3px;}
.s-pending{font-size:12px;font-weight:500;color:var(--amber);background:var(--amber-bg);padding:3px 8px;border-radius:4px;white-space:nowrap;}
.s-won{font-size:12px;font-weight:500;color:var(--green);background:var(--green-bg);padding:3px 8px;border-radius:4px;white-space:nowrap;}
.s-lost{font-size:12px;font-weight:500;color:var(--red);background:var(--red-bg);padding:3px 8px;border-radius:4px;white-space:nowrap;}
.admin-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px;}
.admin-card h3{font-size:13px;font-weight:500;color:var(--text);margin-bottom:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.superadmin-only{font-size:10px;color:var(--gold);background:var(--gold-bg);padding:2px 7px;border-radius:4px;border:0.5px solid var(--gold-dim);}
.af{flex:1;min-width:200px;}
.af label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:0.06em;color:var(--hint);margin-bottom:5px;}
.af input{width:100%;padding:9px 10px;font-size:14px;border:0.5px solid var(--border-md);border-radius:var(--radius);background:var(--card);color:var(--text);outline:none;-webkit-appearance:none;}
.af input::placeholder{color:var(--hint);}
.admin-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-bottom:6px;}
.btn-action{padding:9px 14px;font-size:13px;font-weight:500;background:var(--gold);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;height:38px;white-space:nowrap;}
.btn-action:hover{opacity:0.88;}
.btn-action-danger{padding:9px 14px;font-size:13px;font-weight:500;background:var(--red-bg);color:var(--red);border:0.5px solid var(--red);border-radius:var(--radius);cursor:pointer;height:38px;white-space:nowrap;}
.btn-settle-w{font-size:12px;padding:6px 12px;background:var(--green-bg);color:var(--green);border:0.5px solid var(--green);border-radius:var(--radius);cursor:pointer;font-weight:500;white-space:nowrap;}
.btn-settle-l{font-size:12px;padding:6px 12px;background:var(--red-bg);color:var(--red);border:0.5px solid var(--red);border-radius:var(--radius);cursor:pointer;font-weight:500;white-space:nowrap;}
.btn-sm{font-size:11px;padding:4px 10px;border-radius:var(--radius);cursor:pointer;font-weight:500;}
.btn-sm-danger{background:none;border:0.5px solid var(--red);color:var(--red);}
.btn-sm-ok{background:none;border:0.5px solid var(--green);color:var(--green);}
.admin-fb{font-size:12px;margin-top:8px;display:none;}
.sd-wrap{position:relative;flex:1;min-width:200px;}
.sd-wrap label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:0.06em;color:var(--hint);margin-bottom:5px;}
.sd-input-row{position:relative;}
.sd-search{width:100%;padding:9px 28px 9px 10px;font-size:14px;border:0.5px solid var(--border-md);border-radius:var(--radius);background:var(--card);color:var(--text);outline:none;cursor:pointer;-webkit-appearance:none;}
.sd-search:focus{border-color:var(--gold);}
.sd-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--hint);pointer-events:none;}
.sd-list{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:0.5px solid var(--border-md);border-radius:var(--radius);z-index:100;max-height:180px;overflow-y:auto;}
.sd-list.open{display:block;}
.sd-item{padding:10px;font-size:14px;color:var(--text);cursor:pointer;}
.sd-item:hover{background:var(--surface);}
.sd-item.selected{color:var(--gold);}
.sd-empty{padding:10px;font-size:12px;color:var(--hint);}
.pending-tabs{display:flex;margin-bottom:12px;border-bottom:0.5px solid var(--border);}
.pending-tab{font-size:12px;padding:7px 12px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-0.5px;}
.pending-tab.active{color:var(--text);border-bottom-color:var(--text);font-weight:500;}
.settle-actions{display:flex;gap:6px;flex-wrap:wrap;}
.settle-detected{font-size:11px;color:var(--purple);margin-bottom:4px;}
.role-pill{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:500;}
.role-superadmin{background:var(--gold-bg);color:var(--gold);border:0.5px solid var(--gold-dim);}
.role-mod{background:var(--blue-bg);color:var(--blue);border:0.5px solid var(--blue);}
.role-user{background:var(--card);color:var(--muted);border:0.5px solid var(--border-md);}
.toggle-wrap{display:flex;align-items:center;gap:8px;}
.toggle{position:relative;width:36px;height:20px;flex-shrink:0;}
.toggle input{opacity:0;width:0;height:0;}
.toggle-slider{position:absolute;inset:0;background:var(--card);border:0.5px solid var(--border-md);border-radius:20px;cursor:pointer;transition:background 0.2s;}
.toggle-slider::before{content:'';position:absolute;width:14px;height:14px;left:2px;top:2px;background:var(--muted);border-radius:50%;transition:transform 0.2s,background 0.2s;}
.toggle input:checked+.toggle-slider{background:var(--gold-bg);border-color:var(--gold-dim);}
.toggle input:checked+.toggle-slider::before{transform:translateX(16px);background:var(--gold);}
.toggle-label{font-size:12px;color:var(--muted);}
.toggle-label.active{color:var(--gold);}
.cb-wrap{display:flex;align-items:center;gap:6px;cursor:pointer;}
.cb-wrap input[type=checkbox]{width:16px;height:16px;accent-color:var(--gold);cursor:pointer;}
.cb-label{font-size:12px;color:var(--muted);}
.mod-row{background:var(--card);border:0.5px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px;}
.mod-row-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.mod-name{font-size:13px;font-weight:500;color:var(--text);}
.mod-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.mod-perms{margin-top:10px;padding-top:10px;border-top:0.5px solid var(--border);display:flex;gap:6px;flex-wrap:wrap;}
.perm-tag{font-size:11px;background:var(--surface);border:0.5px solid var(--border-md);border-radius:4px;padding:2px 7px;color:var(--text);}
.perm-tag.denied{color:var(--hint);text-decoration:line-through;}
.perm-tag.unlocked{color:var(--green);border-color:var(--green);background:var(--green-bg);}
.approval-badge{font-size:10px;background:var(--amber-bg);color:var(--amber);padding:1px 6px;border-radius:10px;border:0.5px solid var(--amber);margin-left:6px;}
.ledger-filter-row{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap;}
.ledger-filter-row label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;}
.ledger-filter-row select{padding:6px 10px;font-size:12px;border:0.5px solid var(--border-md);border-radius:var(--radius);background:var(--card);color:var(--text);outline:none;}
.ledger-row{display:grid;grid-template-columns:1fr 2fr auto auto;gap:8px;align-items:center;padding:10px 12px;border-bottom:0.5px solid var(--border);font-size:13px;background:var(--surface);}
.ledger-row:last-child{border-bottom:none;}
.ledger-row:hover{background:var(--card);}
.ledger-who{font-weight:500;color:var(--text);}
.ledger-desc{color:var(--muted);font-size:12px;}
.ledger-by{font-size:11px;color:var(--hint);text-align:right;}
.ledger-amount{font-weight:500;text-align:right;white-space:nowrap;}
.ledger-amount.pos{color:var(--green);}
.ledger-amount.neg{color:var(--red);}
.ledger-header{display:grid;grid-template-columns:1fr 2fr auto auto;gap:8px;padding:8px 12px;border-bottom:0.5px solid var(--border);background:var(--surface);}
.ledger-header span{font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);font-weight:500;}
.ledger-header span:nth-child(3),.ledger-header span:nth-child(4){text-align:right;}
.tx-type{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:500;white-space:nowrap;}
.tx-bet{background:var(--amber-bg);color:var(--amber);}
.tx-win{background:var(--green-bg);color:var(--green);}
.tx-loss{background:var(--red-bg);color:var(--red);}
.tx-adjust{background:var(--blue-bg);color:var(--blue);}
.tx-starting{background:var(--purple-bg);color:var(--purple);}
.ledger-time{font-size:11px;color:var(--hint);margin-top:2px;}
.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:16px;}
.summary-card{background:var(--card);border-radius:var(--radius);padding:10px 12px;}
.sc-label{font-size:10px;text-transform:uppercase;letter-spacing:0.06em;color:var(--hint);margin-bottom:4px;}
.sc-val{font-size:18px;font-weight:500;color:var(--text);}
.stats-hero{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.stats-avatar{width:48px;height:48px;border-radius:50%;background:var(--gold-bg);border:1.5px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--gold);flex-shrink:0;}
.stats-hero-name{font-size:16px;font-weight:600;color:var(--text);}
.stats-hero-sub{font-size:12px;color:var(--muted);margin-top:3px;}
.stats-hero-right{margin-left:auto;text-align:right;}
.stats-balance{font-size:22px;font-weight:600;color:var(--gold);}
.stats-balance-label{font-size:11px;color:var(--muted);margin-top:2px;}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:14px;}
.stat-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:14px;}
.stat-card-icon{font-size:20px;margin-bottom:8px;}
.stat-card-val{font-size:22px;font-weight:600;margin-bottom:2px;}
.stat-card-label{font-size:11px;color:var(--muted);}
.stat-card-sub{font-size:11px;color:var(--hint);margin-top:4px;}
.winrate-bar-wrap{margin:10px 0 4px;}
.winrate-bar-track{height:6px;background:var(--card);border-radius:3px;overflow:hidden;}
.winrate-bar-fill{height:100%;border-radius:3px;}
.streak-wrap{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap;}
.streak-dot{width:10px;height:10px;border-radius:50%;}
.streak-dot.w{background:var(--green);}
.streak-dot.l{background:var(--red);}
.fav-league-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:14px;margin-bottom:14px;}
.fav-league-title{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);font-weight:500;margin-bottom:12px;}
.fav-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.fav-bar-label{font-size:12px;color:var(--muted);width:120px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fav-bar-track{flex:1;height:6px;background:var(--card);border-radius:3px;overflow:hidden;}
.fav-bar-fill{height:100%;background:var(--gold);border-radius:3px;}
.fav-bar-count{font-size:11px;color:var(--hint);width:24px;text-align:right;flex-shrink:0;}
.badges-section{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:14px;margin-bottom:14px;}
.badges-title{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);font-weight:500;margin-bottom:12px;}
.badges-grid{display:flex;gap:10px;flex-wrap:wrap;}
.badge-item{display:flex;flex-direction:column;align-items:center;gap:4px;width:60px;}
.badge-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;border:1.5px solid;}
.badge-icon.locked{opacity:0.25;filter:grayscale(1);}
.badge-name{font-size:10px;color:var(--muted);text-align:center;line-height:1.3;}
.recent-bets-section{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:14px;}
.recent-bets-title{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);font-weight:500;margin-bottom:12px;}
@media(max-width:600px){
  .hamburger{display:flex;}
  .theme-pill,.topbar-divider{display:none;}
  .badge-role{display:none!important;}
  .user-name{display:none;}
  .btn-logout{font-size:11px;padding:5px 8px;}
  .sidebar{position:fixed;top:0;left:0;bottom:0;z-index:350;transform:translateX(-100%);width:260px;box-shadow:4px 0 20px rgba(0,0,0,0.35);padding-top:0;}
  .sidebar.open{transform:translateX(0);}
  .main-content{padding:12px;}
  .af{min-width:100%;}
  .sd-wrap{min-width:100%;}
  .btn-action,.btn-action-danger{width:100%;height:44px;font-size:14px;}
  .ledger-row{grid-template-columns:1fr 2fr auto;}
  .ledger-header{grid-template-columns:1fr 2fr auto;}
  .ledger-by,.ledger-header span:nth-child(3){display:none;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .summary-cards{grid-template-columns:1fr 1fr;}
  #sidebar-theme-row{display:block!important;}
}

/* ── Minigames ───────────────────────────────────────────────────────────── */
.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.game-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:border-color 0.15s,transform 0.1s;}
.game-card:hover{border-color:var(--gold);transform:translateY(-1px);}
.game-card:active{transform:scale(0.97);}
.game-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;}.game-icon svg{width:40px;height:40px;}
.game-name{font-size:13px;font-weight:600;color:var(--text);}
.game-desc{font-size:11px;color:var(--muted);text-align:center;line-height:1.4;}
/* Dice */
.dice-face{width:64px;height:64px;background:var(--surface);border:2px solid var(--border-md);border-radius:12px;display:grid;place-items:center;font-size:32px;margin:8px auto;cursor:pointer;transition:transform 0.1s;user-select:none;}
.dice-face:active{transform:scale(0.9);}
.dice-rolling{animation:diceRoll 0.5s ease;}
@keyframes diceRoll{0%{transform:rotate(0)}25%{transform:rotate(15deg) scale(1.1)}75%{transform:rotate(-15deg) scale(0.9)}100%{transform:rotate(0) scale(1)}}
/* Roulette */
.roulette-wheel{width:160px;height:160px;border-radius:50%;margin:0 auto 8px;border:4px solid var(--border-md);box-shadow:0 0 0 2px var(--gold-dim),0 4px 20px rgba(0,0,0,0.4);position:relative;background:conic-gradient(#16a34a 0.00deg 9.73deg,#dc2626 9.73deg 19.46deg,#1a1a1a 19.46deg 29.19deg,#dc2626 29.19deg 38.92deg,#1a1a1a 38.92deg 48.65deg,#dc2626 48.65deg 58.38deg,#1a1a1a 58.38deg 68.11deg,#dc2626 68.11deg 77.84deg,#1a1a1a 77.84deg 87.57deg,#dc2626 87.57deg 97.30deg,#1a1a1a 97.30deg 107.03deg,#dc2626 107.03deg 116.76deg,#1a1a1a 116.76deg 126.49deg,#dc2626 126.49deg 136.22deg,#1a1a1a 136.22deg 145.95deg,#dc2626 145.95deg 155.68deg,#1a1a1a 155.68deg 165.41deg,#dc2626 165.41deg 175.14deg,#1a1a1a 175.14deg 184.86deg,#dc2626 184.86deg 194.59deg,#1a1a1a 194.59deg 204.32deg,#dc2626 204.32deg 214.05deg,#1a1a1a 214.05deg 223.78deg,#dc2626 223.78deg 233.51deg,#1a1a1a 233.51deg 243.24deg,#dc2626 243.24deg 252.97deg,#1a1a1a 252.97deg 262.70deg,#dc2626 262.70deg 272.43deg,#1a1a1a 272.43deg 282.16deg,#dc2626 282.16deg 291.89deg,#1a1a1a 291.89deg 301.62deg,#dc2626 301.62deg 311.35deg,#1a1a1a 311.35deg 321.08deg,#dc2626 321.08deg 330.81deg,#1a1a1a 330.81deg 340.54deg,#dc2626 340.54deg 350.27deg,#1a1a1a 350.27deg 360.00deg);transition:transform 0s;}
.roulette-wheel::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 50%, transparent 28%, rgba(0,0,0,0.2) 100%);pointer-events:none;}
.roulette-pointer{position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:16px solid var(--gold);filter:drop-shadow(0 1px 3px rgba(0,0,0,0.6));z-index:10;}
.roulette-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:var(--surface);border:3px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--gold);z-index:5;}
.roulette-spinning-wheel{animation:rouletteWheelSpin var(--spin-duration,3s) cubic-bezier(0.17,0.67,0.12,1.0) forwards;}
@keyframes rouletteWheelSpin{0%{transform:rotate(0deg)}100%{transform:rotate(var(--spin-degrees,1440deg))}}
.roulette-ball{display:none;}

@keyframes roulettePin{0%{transform:translateX(-50%) rotate(0)}100%{transform:translateX(-50%) rotate(720deg)}}
.roulette-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-bottom:8px;}
.roulette-btn{padding:8px 4px;border-radius:var(--radius);border:0.5px solid var(--border-md);font-size:12px;font-weight:600;cursor:pointer;text-align:center;transition:border-color 0.12s;}
.roulette-btn.selected{border-color:var(--gold);background:var(--gold-bg);color:var(--gold);}
.roulette-btn.red{background:rgba(192,57,43,0.15);color:#e74c3c;}
.roulette-btn.black{background:rgba(30,30,30,0.3);color:var(--text);}
.roulette-btn.green{background:rgba(45,106,45,0.3);color:#2ecc71;}
/* Slots */
.slots-machine{background:var(--card);border:0.5px solid var(--border-md);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px;}
.slots-reels{display:flex;gap:6px;justify-content:center;margin-bottom:12px;}
.slots-reel{width:64px;height:64px;background:var(--surface);border:2px solid var(--border-md);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:36px;overflow:hidden;position:relative;}
.reel-spinning{animation:reelSpin 0.5s steps(6,end);}
@keyframes reelSpin{0%{transform:translateY(0)}100%{transform:translateY(-100%)}}
.slots-lever{width:100%;padding:12px;font-size:15px;font-weight:700;background:var(--red);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;letter-spacing:0.04em;}
.slots-lever:active{transform:scale(0.97);}
.slots-lever:disabled{opacity:0.5;cursor:not-allowed;}
/* Scratch card */
.scratch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0;}
.scratch-cell{aspect-ratio:1;background:var(--card);border:0.5px solid var(--border-md);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:28px;cursor:pointer;transition:background 0.2s;user-select:none;}
.scratch-cell.revealed{background:var(--surface);}
.scratch-cell.unscratched{background:linear-gradient(135deg,var(--border-md),var(--border));font-size:14px;color:var(--hint);}
/* ── Score pills ──────────────────────────────────────────────────────────── */
.score-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px;margin-left:6px;flex-shrink:0;}
.score-pill.live{background:rgba(239,68,68,0.15);color:var(--red);border:0.5px solid rgba(239,68,68,0.3);}
.score-pill.finished{background:var(--card);color:var(--muted);border:0.5px solid var(--border);}
.score-live-dot{width:5px;height:5px;border-radius:50%;background:var(--red);animation:pulse 1.2s ease-in-out infinite;flex-shrink:0;}

/* ── Parlay slip ───────────────────────────────────────────────────────────── */
.parlay-legs{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.parlay-leg{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--card);border-radius:var(--radius);border:0.5px solid var(--border);}
.parlay-leg-info{flex:1;min-width:0;}
.parlay-leg-match{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.parlay-leg-pick{font-size:12px;font-weight:600;color:var(--text);}
.parlay-leg-odds{font-size:12px;font-weight:700;color:var(--gold);flex-shrink:0;}
.parlay-leg-remove{width:20px;height:20px;border-radius:50%;background:var(--red-bg);border:none;color:var(--red);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;}
.parlay-combined{display:flex;justify-content:space-between;padding:10px 12px;background:var(--gold-bg);border-radius:var(--radius);border:0.5px solid var(--gold-dim);margin-bottom:12px;}
.parlay-combined-label{font-size:11px;color:var(--muted);}
.parlay-combined-odds{font-size:16px;font-weight:700;color:var(--gold);}
.slip-mode-row{display:flex;gap:6px;margin-bottom:12px;}
.slip-mode-btn{flex:1;padding:7px;font-size:12px;font-weight:600;border-radius:var(--radius);border:0.5px solid var(--border-md);background:var(--card);color:var(--muted);cursor:pointer;text-align:center;}
.slip-mode-btn.active{background:var(--gold-bg);border-color:var(--gold);color:var(--gold);}
.parlay-add-btn{width:100%;padding:8px;font-size:12px;font-weight:500;border-radius:var(--radius);border:0.5px dashed var(--border-md);background:none;color:var(--muted);cursor:pointer;margin-bottom:10px;}
.parlay-add-btn:hover{border-color:var(--gold);color:var(--gold);}
.parlay-max-note{font-size:11px;color:var(--hint);text-align:center;margin-bottom:10px;}

/* ── Play tab ─────────────────────────────────────────────────────────────── */
.play-section{margin-bottom:20px;}
.play-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--hint);margin-bottom:10px;}
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.shop-item{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color 0.15s;}
.shop-item:hover{border-color:var(--gold);}
.shop-item.owned{border-color:var(--green);background:var(--green-bg);}
.shop-item-icon{font-size:26px;line-height:1;}
.shop-item-name{font-size:13px;font-weight:600;color:var(--text);}
.shop-item-desc{font-size:11px;color:var(--muted);line-height:1.4;}
.shop-item-price{font-size:12px;font-weight:600;color:var(--gold);margin-top:2px;}
.shop-item.owned .shop-item-price{color:var(--green);}
.flip-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:16px;}
.flip-modes{display:flex;gap:8px;margin-bottom:14px;}
.flip-mode-btn{flex:1;padding:9px;font-size:13px;font-weight:500;border-radius:var(--radius);border:0.5px solid var(--border-md);background:var(--card);color:var(--muted);cursor:pointer;}
.flip-mode-btn.active{background:var(--gold-bg);border-color:var(--gold);color:var(--gold);}
.flip-coin{width:72px;height:72px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-size:32px;margin:12px auto;border:3px solid var(--gold-dim);cursor:pointer;transition:transform 0.1s;box-shadow:0 4px 16px rgba(201,168,76,0.3);}
.flip-coin:active{transform:scale(0.92);}
.flip-coin.spinning{animation:coinSpin 0.6s ease;}
@keyframes coinSpin{0%{transform:rotateY(0)}50%{transform:rotateY(720deg) scale(0.8)}100%{transform:rotateY(1440deg) scale(1)}}
.flip-result{text-align:center;font-size:18px;font-weight:700;padding:8px 0;min-height:32px;}
.flip-result.win{color:var(--green);}
.flip-result.lose{color:var(--red);}
.challenge-card{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:14px;margin-bottom:8px;}
.challenge-item{background:var(--surface);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.challenge-item.pending{border-color:var(--amber);}
.challenge-item.won{border-color:var(--green);}
.challenge-item.lost{border-color:var(--red);}
.challenge-item.expired{opacity:0.5;}
.challenge-info{flex:1;min-width:0;}
.challenge-match{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.challenge-meta{font-size:11px;color:var(--muted);margin-top:2px;}
.challenge-amount{font-size:14px;font-weight:700;flex-shrink:0;}
.flair-preview{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;}
.user-flair{font-size:14px;line-height:1;}