:root{
  --bg:#0e1117;--surface:#161b22;--surface2:#1c2230;--border:rgba(255,255,255,.08);
  --txt:#e6edf3;--muted:#7d8590;--muted2:#484f58;
  --orange:#f0700a;--green:#3fb950;--red:#f85149;--yellow:#d29922;--blue:#58a6ff;
  --r:12px;--card-r:16px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden}
body{background:var(--bg);color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.4}
body::before{content:'';position:fixed;top:0;left:0;right:0;height:240px;background:radial-gradient(ellipse at 50% -10%,rgba(240,112,10,.07) 0%,transparent 65%);pointer-events:none;z-index:0}
#app{display:flex;flex-direction:column;height:100vh;height:100svh;position:relative;z-index:1}
#topbar{height:52px;padding-top:env(safe-area-inset-top);height:calc(52px + env(safe-area-inset-top));background:rgba(14,17,23,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);display:grid;grid-template-columns:auto 1fr auto;align-items:end;padding:0 16px env(safe-area-inset-top, 0);padding-bottom:8px;gap:8px;flex-shrink:0}
#topbar-title{font-size:17px;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#back-btn{background:none;border:none;color:var(--orange);font-size:15px;font-weight:600;cursor:pointer;padding:4px 0;display:none}
#live-dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
#main{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:120px}
#navbar{height:56px;background:rgba(14,17,23,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(255,255,255,.06);display:flex;flex-shrink:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0;z-index:100}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:10px;font-weight:600;letter-spacing:.3px;transition:color .15s;position:relative;padding-top:6px}
.nav-icon{font-size:20px;line-height:1}
.nav-item.active{color:var(--orange)}
.nav-item.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:24px;height:3px;background:var(--orange);border-radius:0 0 3px 3px}
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skel{background:linear-gradient(90deg,var(--surface) 25%,var(--surface2) 50%,var(--surface) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite;border-radius:6px}
.section-label{padding:14px 16px 6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.live-header{padding:10px 12px;display:flex;align-items:center;gap:8px}
.live-search{flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:9px 12px;color:var(--txt);font-size:14px;outline:none;transition:border-color .15s}
.live-search:focus{border-color:rgba(240,112,10,.4)}
.live-search::placeholder{color:var(--muted)}
.filter-chips{display:flex;gap:6px;padding:4px 12px 10px;overflow-x:auto}
.filter-chips::-webkit-scrollbar{display:none}
.chip{border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;color:var(--muted);background:var(--surface);cursor:pointer;white-space:nowrap;transition:all .15s}
.chip.active{border-color:var(--orange);color:var(--orange);background:rgba(240,112,10,.1)}

/* League cards */
.league-card{margin:6px 10px;border-radius:var(--card-r);overflow:hidden;border:1px solid var(--border);background:var(--surface)}
.league-card .league-header{border-bottom:1px solid var(--border);background:rgba(255,255,255,.02);border-radius:0}
.league-card .match-row{border-bottom:1px solid var(--border);border-radius:0;background:transparent}
.league-card .match-row:last-child{border-bottom:none}
.league-card .match-row.hot{background:rgba(240,112,10,.04)}

.league-header{padding:9px 14px;display:flex;align-items:center;gap:8px}
.league-name{font-size:12px;font-weight:700;color:var(--txt)}
.league-country{font-size:11px;color:var(--muted);margin-left:auto}
.match-row{display:flex;align-items:center;padding:12px 14px;gap:10px;cursor:pointer;transition:background .1s;min-height:64px}
.match-row:active{background:var(--surface2)!important}
.match-time{min-width:38px;text-align:center}
.match-min{font-size:12px;font-weight:800;color:var(--green);line-height:1.2}
.match-status{font-size:10px;color:var(--muted);margin-top:1px}
.match-teams{flex:1;min-width:0}
.match-team{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6}
.match-team.winner{font-weight:700;color:var(--txt)}
.match-team.muted{color:var(--muted)}
.match-gs{display:flex;align-items:center;gap:8px}
.match-score{min-width:28px;text-align:right}
.score-num{font-size:17px;font-weight:800;line-height:1.35;font-variant-numeric:tabular-nums}
.score-num.muted{color:var(--muted)}
.gs-ring{position:relative;flex-shrink:0}
.gs-ring svg{display:block}
.gs-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}

/* Schedule / fixtures */
.date-nav{display:flex;align-items:center;border-bottom:1px solid var(--border)}
.date-btn{flex:1;padding:10px 0;text-align:center;font-size:13px;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}
.date-btn.active{color:var(--orange);border-color:var(--orange)}
.date-picker{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border)}
.date-picker-label{font-size:16px;font-weight:700}
.date-picker-sub{font-size:12px;color:var(--muted);margin-top:2px}
.date-input{background:var(--surface2);border:none;border-radius:8px;padding:6px 10px;color:var(--txt);font-size:12px;cursor:pointer}
.fixture-row{display:flex;align-items:center;padding:12px 16px;gap:12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;min-height:58px}
.fixture-row:active{background:var(--surface2)}
.fixture-time{min-width:42px;font-size:12px;color:var(--muted);text-align:center}
.fixture-time.ft{color:var(--green);font-weight:700}
.fixture-teams{flex:1;min-width:0}
.fixture-team{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}
.fixture-team.winner{font-weight:700}
.fixture-team.muted{color:var(--muted)}
.fixture-league{font-size:10px;color:var(--muted2);margin-top:2px}
.fixture-score{min-width:28px;text-align:right}
.fixture-score-num{font-size:16px;font-weight:700;line-height:1.6;font-variant-numeric:tabular-nums}
.fixture-score-num.winner{font-weight:700;color:var(--txt)}
.fixture-score-num.muted{color:var(--muted)}
.fixture-vs{font-size:12px;color:var(--muted)}
.ml-badges-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.ml-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;white-space:nowrap}
.ml-badge.green{background:rgba(63,185,80,.15);color:var(--green);border:1px solid rgba(63,185,80,.25)}
.ml-badge.blue{background:rgba(88,166,255,.12);color:var(--blue);border:1px solid rgba(88,166,255,.2)}
.ml-badge.orange{background:rgba(240,112,10,.12);color:var(--orange);border:1px solid rgba(240,112,10,.2)}
.ml-badge.grey{background:rgba(125,133,144,.12);color:var(--muted);border:1px solid var(--border)}
.ml-badge.ml-hl{box-shadow:0 0 0 1.5px currentColor;font-size:11px;padding:3px 8px}
.country-row{padding:10px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}
.country-row:active{background:var(--surface2)}
.country-flag{font-size:20px;width:32px;text-align:center}
.country-name{font-size:13px;font-weight:600;flex:1}
.country-count{font-size:11px;color:var(--muted);margin-right:6px}
.chevron{color:var(--muted);font-size:16px}
.league-row{padding:12px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}
.league-row:active{background:var(--surface2)}
.league-page-header{padding:14px 16px 0;border-bottom:1px solid var(--border)}
.league-page-name{font-size:18px;font-weight:700;margin-bottom:4px}
.league-page-country{font-size:12px;color:var(--muted);margin-bottom:12px}

/* Tab bar */
.tab-bar{display:flex;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none;background:var(--bg)}
.tab-bar::-webkit-scrollbar{display:none}
.tab-btn{flex-shrink:0;min-width:60px;padding:11px 14px;font-size:12px;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}
.tab-btn.active{color:var(--orange);border-color:var(--orange)}

/* Standings table */
.st-table{width:100%;border-collapse:collapse}
.st-table th{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;padding:8px 6px;text-align:center;border-bottom:1px solid var(--border)}
.st-table th:nth-child(2){text-align:left;padding-left:8px}
.st-table td{padding:10px 6px;text-align:center;border-bottom:1px solid var(--border);font-size:13px}
.st-table td:nth-child(2){text-align:left;padding-left:8px;font-weight:500;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-table tr{cursor:pointer;transition:background .1s}
.st-table tr:active{background:var(--surface2)}
.rank-badge{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:var(--surface2);color:var(--muted)}
.rank-badge.top{background:rgba(240,112,10,.15);color:var(--orange)}
.pts{font-weight:800;font-size:14px}
.form-dot{display:inline-flex;width:16px;height:16px;border-radius:50%;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff}
.form-dot.W{background:var(--green)}.form-dot.D{background:var(--yellow)}.form-dot.L{background:var(--red)}
.team-logo-sm{width:18px;height:18px;object-fit:contain;vertical-align:middle;margin-right:4px}

/* Team page */
.team-header{padding:16px;border-bottom:1px solid var(--border)}
.team-hero{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.team-logo-lg{width:56px;height:56px;object-fit:contain;border-radius:12px;background:var(--surface2);padding:4px}
.team-initials{width:56px;height:56px;border-radius:12px;background:var(--orange);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#fff;flex-shrink:0}
.team-title{font-size:20px;font-weight:800;line-height:1.2}
.team-subtitle{font-size:12px;color:var(--muted);margin-top:4px}
.team-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border);color:var(--muted)}
.badge.rank{border-color:rgba(240,112,10,.3);color:var(--orange);background:rgba(240,112,10,.08)}
.form-row{display:flex;gap:5px;padding:12px 16px;border-bottom:1px solid var(--border)}
.form-bubble{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff}
.form-bubble.W{background:var(--green)}.form-bubble.D{background:var(--yellow)}.form-bubble.L{background:var(--red)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stat-cell{background:var(--bg);padding:12px 8px;text-align:center}
.stat-val{font-size:20px;font-weight:800;line-height:1}
.stat-lbl{font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;margin-top:4px}
.stat-val.green{color:var(--green)}.stat-val.yellow{color:var(--yellow)}.stat-val.red{color:var(--red)}

/* Match detail header — redesign */
.match-detail-header{padding:12px 16px 0;background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%);border-bottom:1px solid var(--border);text-align:center}
.mdh-league{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:16px}
.mdh-scoreboard{display:grid;grid-template-columns:1fr 110px 1fr;align-items:center;gap:4px;margin:0 0 14px}
.mdh-team{display:flex;flex-direction:column;align-items:center;gap:8px}
.mdh-crest-wrap{width:58px;height:58px;position:relative;display:flex;align-items:center;justify-content:center;background:var(--surface2);border-radius:50%;font-size:20px;font-weight:800;color:var(--muted);flex-shrink:0}
.mdh-crest-wrap::before{content:attr(data-init)}
.mdh-crest-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px}
.mdh-tname{font-size:12px;font-weight:700;text-align:center;max-width:88px;line-height:1.3;word-break:break-word}
.mdh-score-center{display:flex;flex-direction:column;align-items:center;gap:6px}
.big-score{font-size:42px;font-weight:800;letter-spacing:4px;line-height:1;font-variant-numeric:tabular-nums}
.mdh-status{font-size:12px;font-weight:700;color:var(--green);background:rgba(63,185,80,.12);border-radius:999px;padding:4px 12px;display:inline-block;border:1px solid rgba(63,185,80,.2)}
.gs-pills{display:flex;justify-content:center;gap:12px;padding:12px 0;border-top:1px solid var(--border)}
.gs-pill{display:flex;flex-direction:column;align-items:center;gap:6px}
.gs-pill-label{font-size:9px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}

/* Stats bars */
.event-row{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}
.event-time{min-width:30px;font-size:12px;font-weight:700;color:var(--muted);text-align:right}
.event-icon{font-size:16px;width:20px;text-align:center}
.event-body{flex:1}
.event-player{font-size:13px;font-weight:600}
.event-detail{font-size:11px;color:var(--muted);margin-top:1px}
.stat-bar-row{padding:10px 16px;border-bottom:1px solid var(--border)}
.stat-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.stat-bar-val{font-size:14px;font-weight:700}
.stat-bar-label{font-size:11px;color:var(--muted);font-weight:600;text-align:center}
.stat-bar-val.right{text-align:right}
.stat-bar-track{display:flex;height:6px;border-radius:999px;overflow:hidden;gap:2px}
.stat-bar-home{background:var(--orange);border-radius:999px;transition:width .4s}
.stat-bar-away{background:var(--blue);border-radius:999px;flex:1;transition:width .4s}

/* AI section */
.ai-section{padding:16px}
.ai-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px;margin-bottom:12px}
.ai-card-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:flex;align-items:center;gap:6px}
.ai-text{font-size:14px;line-height:1.7;color:var(--txt)}
.ai-text b{color:var(--orange)}
.ai-btn{width:100%;padding:14px;background:var(--orange);border:none;border-radius:var(--r);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s;display:flex;align-items:center;justify-content:center;gap:8px}
.ai-btn:active{opacity:.85}
.ai-btn:disabled{opacity:.5;cursor:not-allowed}
.ai-loading{display:flex;align-items:center;gap:10px;padding:16px;color:var(--muted);font-size:14px}
.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--orange);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--muted);text-align:center;gap:10px}
.empty-icon{font-size:40px}
.toast{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(10px);background:rgba(22,27,34,.95);color:#fff;border:1px solid var(--border);border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:all .2s;z-index:999;white-space:nowrap;backdrop-filter:blur(10px)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.page-content{padding-bottom:16px}
.loading-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}

/* Animations */
@keyframes slideInRight{from{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes slideInLeft{from{transform:translateX(-30px);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.page-enter{animation:slideInRight .2s ease forwards}
.page-back{animation:slideInLeft .2s ease forwards}
.tab-enter{animation:fadeIn .15s ease forwards}

/* Offline / banners */
#offline-bar{background:#d29922;color:#000;text-align:center;padding:5px 16px;font-size:12px;font-weight:700;display:none;letter-spacing:.03em;flex-shrink:0}
#offline-bar.show{display:block}
#install-banner{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 14px;display:none;align-items:center;gap:10px;flex-shrink:0;animation:fadeIn .3s ease}
#install-banner.show{display:flex}
#install-banner .ii{width:38px;height:38px;border-radius:10px;flex-shrink:0}
#install-banner .it{flex:1;font-size:12px;line-height:1.4;color:var(--muted)}
#install-banner .it strong{font-size:13px;font-weight:700;color:var(--txt);display:block;margin-bottom:1px}
#install-banner .ib{background:var(--orange);color:#fff;border:none;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0}
#install-banner .ix{background:none;border:none;color:var(--muted);font-size:22px;padding:4px;cursor:pointer;line-height:1;flex-shrink:0}
#ptr{display:flex;align-items:center;justify-content:center;height:0;overflow:hidden;color:var(--muted);font-size:12px;font-weight:600;gap:6px;transition:height .1s;flex-shrink:0}
#ptr .ptr-spin{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--orange);border-radius:50%;flex-shrink:0}
#ptr.ptr-loading .ptr-spin{animation:spin .7s linear infinite}
#update-banner{background:var(--surface);border-bottom:1px solid var(--border);padding:10px 14px;display:none;align-items:center;gap:10px;flex-shrink:0}
#update-banner.show{display:flex}
#update-banner span{flex:1;font-size:13px;font-weight:600}
#update-banner button{background:var(--orange);color:#fff;border:none;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer}
#ios-tip{position:fixed;bottom:calc(64px + env(safe-area-inset-bottom));left:12px;right:12px;background:rgba(22,27,34,.97);border:1px solid var(--border);border-radius:16px;padding:14px 16px;z-index:200;display:none;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(0,0,0,.5)}
#ios-tip.show{display:block}
#ios-tip p{font-size:13px;line-height:1.6;color:var(--txt);margin-bottom:10px}
#ios-tip strong{color:var(--orange)}
#ios-tip .it-close{width:100%;background:var(--surface2);border:none;border-radius:8px;padding:9px;font-size:13px;font-weight:600;color:var(--txt);cursor:pointer}

/* Favorites widget */
.fav-widget{padding:10px 10px 0}
.fav-widget-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding:0 2px}
.fav-widget-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.fav-widget-scroll::-webkit-scrollbar{display:none}
.fav-card{min-width:72px;max-width:72px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;cursor:pointer;transition:background .1s}
.fav-card:active{background:var(--surface2)}
.fav-card.fav-hot{background:rgba(248,81,73,.08);border-color:rgba(248,81,73,.3)}
.fav-card.fav-offline{opacity:.7;cursor:default}
.fav-card-remove{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:var(--surface2);border:none;color:var(--muted);font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .15s,color .15s;z-index:1}
.fav-card-remove:active{background:var(--red);color:#fff}
.fav-card-logo{height:32px;display:flex;align-items:center;justify-content:center}
.fav-card-name{font-size:10px;font-weight:700;text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fav-card-live{font-size:10px;color:var(--green);font-weight:600;text-align:center}
.fav-no-match{color:var(--muted2)!important}

/* Touch feedback */
.match-row:active,.fixture-row:active,.country-row:active,.league-row:active,.st-table tr:active{transform:scale(.99);transition:transform .05s,background .1s}

/* Light theme */
[data-theme="light"]{
  --bg:#f0f2f5;--surface:#ffffff;--surface2:#e8eaed;--border:rgba(0,0,0,.09);
  --txt:#1a1a1a;--muted:#5a6270;--muted2:#999;
}
[data-theme="light"] body::before{background:radial-gradient(ellipse at 50% -10%,rgba(240,112,10,.05) 0%,transparent 65%)}
[data-theme="light"] .league-header{background:rgba(0,0,0,.02)}
[data-theme="light"] .league-card{background:#fff;border-color:rgba(0,0,0,.07)}
[data-theme="light"] .league-card .league-header{background:rgba(0,0,0,.025)}
[data-theme="light"] .match-row:active{background:#f0f0f0!important}
[data-theme="light"] #topbar{background:rgba(255,255,255,.9);border-bottom:1px solid rgba(0,0,0,.08)}
[data-theme="light"] #navbar{background:rgba(255,255,255,.92);border-top:1px solid rgba(0,0,0,.06)}
[data-theme="light"] .match-detail-header{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%)}
[data-theme="light"] .mdh-crest-wrap{background:#f0f0f0}
[data-theme="light"] .mdh-status{color:#1a7a2e;background:rgba(63,185,80,.1);border-color:rgba(63,185,80,.2)}
[data-theme="light"] .tab-bar{background:var(--bg)}
[data-theme="light"] .stat-cell{background:#fff}
[data-theme="light"] .stats-grid{background:rgba(0,0,0,.06)}
[data-theme="light"] .ai-card{background:#fff;border-color:rgba(0,0,0,.08)}
[data-theme="light"] .team-initials{background:var(--orange)}
[data-theme="light"] .skel{background:linear-gradient(90deg,#e0e0e0 25%,#ebebeb 50%,#e0e0e0 75%);background-size:800px 100%}
[data-theme="light"] .gs-ring circle:first-child{stroke:rgba(0,0,0,.1)}
[data-theme="light"] .rank-badge{background:#e0e0e0;color:#555}
[data-theme="light"] .rank-badge.top{background:rgba(240,112,10,.12);color:var(--orange)}
[data-theme="light"] .fixture-row:active{background:#e8e8e8}
[data-theme="light"] .st-table tr:active{background:#e8e8e8}
[data-theme="light"] .country-row:active{background:#e8e8e8}
[data-theme="light"] .league-row:active{background:#e8e8e8}
[data-theme="light"] .date-input{background:#ebebeb;color:#1a1a1a}
[data-theme="light"] .fav-card{background:#fff}
[data-theme="light"] .chip{background:var(--surface)}
/* AI tab pulse */
@keyframes tabPulse{0%,100%{color:var(--muted);background:transparent}50%{color:var(--orange);background:rgba(240,112,10,.12);border-radius:8px}}
.tab-btn.tab-pulse{animation:tabPulse 1.8s ease infinite}
/* Tipster */
.fixture-row-tip{flex-wrap:wrap}
.fixture-tip-area{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:72px}
.tip-btns{display:flex;gap:4px}
.tip-btn{background:var(--surface2);border:1px solid var(--border);color:var(--txt);font-size:12px;font-weight:700;padding:5px 10px;border-radius:8px;cursor:pointer;min-width:28px;text-align:center;line-height:1}
.tip-btn:active{background:var(--orange);color:#fff;border-color:var(--orange)}
.tip-result{font-size:13px;font-weight:800;color:var(--green);padding:4px 8px;background:rgba(46,164,79,.12);border-radius:8px}
.tip-bar{display:flex;height:4px;border-radius:999px;overflow:hidden;width:72px;gap:1px}
.tip-bar-seg{min-width:2px;transition:width .4s}
/* ML bar */
[data-theme="light"] .tip-btn{background:#ebebeb;border-color:#ddd}

/* ── SP 2026 ─────────────────────────────────────────────────────────────── */
.wc-wrap{padding-bottom:80px}
.wc-tab-header{display:flex;align-items:center;gap:4px;padding-right:8px}
.wc-info-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:6px 8px;opacity:.7;flex-shrink:0;line-height:1}
.wc-info-btn:active{opacity:1}
.wc-group-card{margin:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r,10px);overflow:hidden}
.wc-group-header{padding:8px 14px;background:var(--surface2);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.wc-teams-list{border-bottom:1px solid var(--border)}
.wc-team-row{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}
.wc-team-row:last-child{border-bottom:none}
.wc-team-row:active{background:var(--surface2)}
.wc-team-order{font-size:11px;color:var(--muted);width:14px;text-align:center;flex-shrink:0}
.wc-team-logo{width:24px;height:24px;object-fit:contain;flex-shrink:0}
.wc-team-name{flex:1;font-size:14px;font-weight:500}
.wc-team-conf{font-size:14px;flex-shrink:0}
.wc-team-rank{font-size:11px;color:var(--muted);flex-shrink:0}
.wc-standings-list{border-bottom:1px solid var(--border)}
.wc-stand-header{display:flex;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border)}
.wc-stand-row{display:flex;align-items:center;gap:4px;padding:7px 10px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s;font-size:12px}
.wc-stand-row:last-child{border-bottom:none}
.wc-stand-row:active{background:var(--surface2)}
.wc-stand-pos{width:22px;font-size:11px;color:var(--muted);display:flex;align-items:center;flex-shrink:0}
.wc-stand-name{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 4px}
.wc-stand-num{width:22px;text-align:center;color:var(--muted);flex-shrink:0}
.wc-stand-pts{width:24px;text-align:center;font-weight:700;flex-shrink:0}
.wc-round-header{margin:12px 12px 4px;padding:5px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.wc-group-fixtures{padding:4px 14px 8px}
.wc-fixture-row{display:flex;align-items:center;gap:6px;padding:5px 0;font-size:12px}
.wc-fx-date{min-width:80px;font-size:11px;color:var(--muted)}
.wc-fx-home{flex:1;text-align:right}
.wc-fx-vs{padding:0 4px;color:var(--muted);font-size:11px}
.wc-fx-away{flex:1}
.wc-sched-day{margin:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r,10px);overflow:hidden}
.wc-sched-date-header{padding:8px 14px;background:var(--surface2);font-size:12px;font-weight:700;text-transform:capitalize}
.wc-sched-row{display:flex;align-items:center;gap:8px;padding:9px 14px;border-top:1px solid var(--border);font-size:13px}
.wc-sched-time{min-width:40px;font-size:11px;color:var(--muted)}
.wc-sched-home{flex:1;text-align:right}
.wc-sched-vs{padding:0 6px;color:var(--muted)}
.wc-sched-away{flex:1}
.wc-scorers-list{padding:8px 12px;display:flex;flex-direction:column;gap:6px}
.wc-scorer-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r,10px);cursor:pointer}
.wc-scorer-row:active{background:var(--surface2)}
.wc-sc-rank{font-size:12px;color:var(--muted);min-width:20px;text-align:center;font-weight:700}
.wc-sc-photo{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--surface2);flex-shrink:0}
.wc-sc-info{flex:1;min-width:0}
.wc-sc-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.wc-sc-team{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px;margin-top:2px}
.wc-sc-team-logo{width:14px;height:14px;object-fit:contain}
.wc-sc-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}
.wc-sc-goals{font-size:14px;font-weight:700;color:var(--green)}
.wc-sc-assists{font-size:11px;color:var(--muted)}
.wc-back-btn{display:block;width:100%;padding:10px 14px;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);color:var(--blue);font-size:14px;font-weight:500;cursor:pointer}
.wc-team-header{display:flex;align-items:center;gap:14px;padding:16px 14px;background:var(--surface);border-bottom:1px solid var(--border)}
.wc-team-header-logo{width:52px;height:52px;object-fit:contain;flex-shrink:0}
.wc-team-header-info{flex:1}
.wc-team-header-name{font-size:20px;font-weight:700}
.wc-team-header-meta{font-size:12px;color:var(--muted);margin-top:4px}
.wc-players-list{padding:8px 0}
.wc-player-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border)}
.wc-pl-photo{width:32px;height:32px;border-radius:50%;object-fit:cover;background:var(--surface2);flex-shrink:0}
.wc-pl-info{flex:1;min-width:0}
.wc-pl-name{font-size:13px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wc-pl-pos{font-size:11px;color:var(--muted)}
.wc-pl-stats{display:flex;gap:8px;align-items:center;flex-shrink:0}
.wc-pl-g{font-size:13px;font-weight:700;color:var(--green)}
.wc-pl-a{font-size:12px;color:var(--blue)}
.wc-pl-app{font-size:11px;color:var(--muted)}
.wc-form-list{padding:8px 0}
.wc-form-row{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:13px}
.wc-form-opp{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wc-form-score{font-weight:700;min-width:32px;text-align:center}
.wc-form-league{font-size:11px;color:var(--muted);flex:1;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wc-form-date{font-size:11px;color:var(--muted);min-width:56px;text-align:right}
.wc-matches-list{padding:8px 0}
.wc-match-row{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--border);font-size:13px}
.wc-match-date{min-width:90px;font-size:11px;color:var(--muted)}
.wc-match-home{flex:1;text-align:right}
.wc-match-vs{padding:0 6px;color:var(--muted)}
.wc-match-away{flex:1}

.wc-stats-note{margin:10px 12px 0;padding:8px 12px;background:rgba(210,153,34,.12);border:1px solid rgba(210,153,34,.3);border-radius:8px;font-size:11px;color:var(--yellow)}

/* ── WC Match detalji ─────────────────────────────────────── */
.wc-sched-clickable{cursor:pointer;transition:background .15s}
.wc-sched-clickable:hover{background:var(--surface2)}
.wc-sched-score{font-weight:700;padding:0 6px;min-width:44px;text-align:center}
.wc-sched-arrow{color:var(--muted);font-size:16px;margin-left:auto;flex-shrink:0}
.wm-header{display:flex;align-items:center;gap:8px;padding:16px;border-bottom:1px solid var(--border);background:var(--surface)}
.wm-team{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;min-width:0}
.wm-logo{width:52px;height:52px;object-fit:contain}
.wm-tname{font-size:13px;font-weight:700;text-align:center;line-height:1.3}
.wm-center{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}
.wm-score{font-size:28px;font-weight:800;letter-spacing:2px}
.wm-score-vs{font-size:20px;font-weight:700;color:var(--muted)}
.wm-date{font-size:10px;color:var(--muted);text-align:center}
.wm-time{font-size:12px;font-weight:600;color:var(--orange);text-align:center}
.wm-stats-wrap{padding-bottom:16px}
.wm-form-compare{display:flex;flex-direction:column;gap:2px;padding:10px 14px 6px}
.wm-form-row{display:flex;align-items:center;gap:8px}
.wm-form-home{flex-direction:row}
.wm-form-away{flex-direction:row-reverse}
.wm-form-label{font-size:11px;color:var(--muted);min-width:36px}
.wm-form-badges{display:flex;gap:3px;flex:1}
.wm-form-away .wm-form-badges{justify-content:flex-end}
.wm-form-pct{font-size:11px;color:var(--muted);min-width:32px;text-align:right}
.wm-elo-info{padding:6px 14px 10px;font-size:12px;color:var(--muted);text-align:center;border-bottom:1px solid var(--border)}
.wm-stat-header{display:flex;justify-content:space-between;padding:4px 14px 2px;font-size:11px;font-weight:700;color:var(--muted)}
.wm-stats-list{padding:0 14px}
.wm-stat-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}
.wm-stat-val{font-size:13px;font-weight:600;min-width:48px;text-align:center}
.wm-stat-home{color:var(--orange)}
.wm-stat-away{color:var(--blue)}
.wm-stat-win{font-weight:800}
.wm-stat-mid{flex:1;display:flex;flex-direction:column;gap:3px}
.wm-stat-label{font-size:11px;color:var(--muted);text-align:center}
.wm-stat-bar{height:5px;border-radius:999px;overflow:hidden;display:flex;gap:2px}
.wm-bar-home{background:var(--orange);border-radius:999px;transition:width .3s}
.wm-bar-away{background:var(--blue);border-radius:999px;transition:width .3s}
.wm-extra-card{background:var(--surface2);border-radius:8px;padding:8px 10px}
.wm-extra-label{font-size:10px;color:var(--muted);margin-bottom:2px}
.wm-extra-val{font-size:13px;font-weight:600}

/* ── WC AI Chat ─────────────────────────────────────────── */
.wc-ai-wrap{display:flex;flex-direction:column;height:calc(100vh - 180px);min-height:400px}
.wc-ai-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.wc-ai-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:20px}
.wc-ai-suggestions{display:flex;flex-direction:column;gap:6px;width:100%;max-width:320px}
.wc-ai-sug{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:9px 14px;font-size:13px;color:var(--text);text-align:left;cursor:pointer}
.wc-ai-sug:active{background:var(--surface2)}
.wc-ai-msg{display:flex;width:100%}
.wc-ai-user{justify-content:flex-end}
.wc-ai-assistant{justify-content:flex-start}
.wc-ai-bubble{max-width:85%;border-radius:16px;padding:10px 14px;font-size:14px;line-height:1.6}
.wc-ai-bubble p{margin:0 0 6px}
.wc-ai-bubble p:last-child{margin:0}
.wc-ai-bubble-user{background:var(--orange);color:#fff;border-bottom-right-radius:4px}
.wc-ai-bubble-ai{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px}
.wc-ai-input-wrap{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--border);background:var(--bg)}
.wc-ai-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:10px 16px;font-size:14px;color:var(--text);outline:none}
.wc-ai-input:focus{border-color:var(--orange)}
.wc-ai-send{background:var(--orange);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wc-ai-send:disabled{opacity:0.5}
.wc-typing{display:inline-flex;gap:4px;align-items:center;padding:2px 0}
.wc-typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:wc-bounce .9s infinite}
.wc-typing span:nth-child(2){animation-delay:.15s}
.wc-typing span:nth-child(3){animation-delay:.3s}
@keyframes wc-bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}

/* ── WC Match Probability Bar ───────────────────────────── */
.wm-prob-wrap{padding:10px 16px 4px;border-bottom:1px solid var(--border)}
.wm-prob-labels{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px}
.wm-prob-bar{height:7px;border-radius:999px;overflow:hidden;display:flex;gap:2px}
.wm-prob-bar>div{transition:width .4s}
.wm-prob-note{font-size:10px;color:var(--muted);text-align:center;margin-top:5px}

/* ── WC Group Advance Probability ───────────────────────── */
.wc-team-row{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--border);cursor:pointer}
.wc-team-row:last-child{border-bottom:none}
.wc-team-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.wc-adv-badge{font-size:13px;font-weight:700;min-width:38px;text-align:right;flex-shrink:0}
.wc-adv-bar{height:3px;border-radius:999px;background:var(--border);overflow:hidden}
.wc-adv-bar>div{height:100%;border-radius:999px;transition:width .4s}
.wc-fx-left{display:flex;flex-direction:column;gap:2px;min-width:70px}
.wc-fx-probs{font-size:10px;display:flex;gap:3px}
.wc-fx-score{font-weight:700;color:var(--text);min-width:30px;text-align:center}

/* ── WC Match AI Badge ──────────────────────────────────── */
.wc-ai-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.3px}
.wc-ai-badge-post{background:rgba(63,185,80,.15);color:var(--green,#3fb950);border:1px solid rgba(63,185,80,.3)}
.wc-ai-badge-pre{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}
