:root{--surface:#fff;--surface-soft:#f2f5eb;--muted:#697265;--accent-soft:#eaf1dd;--accent-ink:#456428;--accent-deep:#26351e;--hero-bg:#1b241e;--hero-text:#fff;--hero-muted:#b7c4b2;--on-accent:#253217;--on-ink:#fff;--danger:#a84737;--warning-bg:#faf6eb;--warning-border:#eee4c6;--warning-ink:#796538;--shadow:0 18px 50px #1c2d1226}
:root[data-theme="midnight"]{--bg:#141b18;--surface:#1c2721;--surface-soft:#233128;--ink:#f0f5eb;--muted:#a8b7a7;--lime:#c3ee68;--line:#35463a;--accent-soft:#2e4126;--accent-ink:#c3ee68;--accent-deep:#a7d653;--hero-bg:#0d1410;--hero-text:#f6faef;--hero-muted:#b0bfa7;--on-accent:#1d3011;--on-ink:#182117;--danger:#ff9d87;--warning-bg:#382f21;--warning-border:#655435;--warning-ink:#e2c99b;--shadow:0 18px 50px #0005}
:root[data-theme="arctic"]{--bg:#f1f7fc;--surface:#fff;--surface-soft:#e9f2fa;--ink:#16324c;--muted:#5c7489;--lime:#8cdef6;--line:#d7e5f0;--accent-soft:#deeffa;--accent-ink:#235f88;--accent-deep:#123b5b;--hero-bg:#102c48;--hero-text:#fff;--hero-muted:#bbd1e4;--on-accent:#12374c;--on-ink:#fff;--danger:#ad443b;--warning-bg:#fff7e8;--warning-border:#efdfba;--warning-ink:#806532;--shadow:0 18px 50px #1a4f7324}
:root[data-theme="orange"]{--bg:#fff7ee;--surface:#fffdfa;--surface-soft:#fbefe1;--ink:#412a20;--muted:#7c6255;--lime:#ffb16b;--line:#efdfcf;--accent-soft:#ffe6cb;--accent-ink:#944c1c;--accent-deep:#56311d;--hero-bg:#412a20;--hero-text:#fff9f2;--hero-muted:#dbc0ac;--on-accent:#4a290e;--on-ink:#fff;--danger:#a34236;--warning-bg:#fff2db;--warning-border:#f0d8af;--warning-ink:#88602b;--shadow:0 18px 50px #71472224}
:root[data-theme="purple"]{--bg:#f8f4ff;--surface:#fff;--surface-soft:#f0e9f9;--ink:#352047;--muted:#7d698d;--lime:#d3acf8;--line:#e5d9ef;--accent-soft:#eddeff;--accent-ink:#754099;--accent-deep:#49205e;--hero-bg:#352047;--hero-text:#fff8ff;--hero-muted:#d4bedf;--on-accent:#412253;--on-ink:#fff;--danger:#b24462;--warning-bg:#fff4e9;--warning-border:#eedac7;--warning-ink:#85613f;--shadow:0 18px 50px #46265d24}
/* Shared tokens keep the match centre, standings, news and account screens in step. */
:root[data-theme] body{color:var(--ink);background:var(--bg)}
:root[data-theme] :is(.sidebar,.topbar,.panel,.calendar-control,.date-strip,.match-card,.intro-card,.stat-tile,.search-input,.team-tile,.watch-tile,.text-field,.team-choice,.platform-card,.news-tab,.news-card,.news-sources){background:var(--surface);border-color:var(--line)}
:root[data-theme] :is(.season-pill,.count,.step-number,.follow-btn,.modal-close,.news-team-tags>span){background:var(--surface-soft);border-color:var(--line);color:var(--muted)}
:root[data-theme] :is(nav a,.nav-label,.favorite-placeholder,.get-app small,.unofficial span,.top-title,.icon-button,.sync,.refresh-button,.section-title small,.date-button,.date-chevron,.tab,.select-small,.date-caption,.date-caption span:last-child,.competition,.match-status,.team-name small,.score-sub,.score .separator,.match-bottom,.match-action,.watch-link,.text-link,.table-compact th,.table-compact .rank,.panel-foot,.data-note,.stat-tile small,.stat-tile p,.standings-table th,.table-explainer,.team-tile p,.team-stat-row,.watch-tile-body p,.connect-card p,.connect-step small,.toggle-row small,.saved-game small,.field-label,.modal-copy,.source-badge,footer,footer strong,.event small,.news-intro p,.news-intro-icon,.news-search-row>p,.news-results-heading>span,.news-meta,.news-meta>span:first-child,.news-card-body>p,.news-sources summary,.news-sources summary>span,.news-sources>p,.news-source-list>a,.news-source-list .source-ok,.news-team-tags>span,.news-tab){color:var(--muted)}
:root[data-theme] :is(.eyebrow,.brand-period,.match-action.selected,.win-percentage,.news-read,.news-intro .eyebrow,.news-sources summary:hover){color:var(--accent-ink)}
:root[data-theme] :is(nav a.active,.tab.active,.team-choice.selected,.follow-btn.following,.connect-icon,.notice,.status-label,.news-intro,.news-note){background:var(--accent-soft);border-color:var(--line);color:var(--accent-ink)}
:root[data-theme] nav a.active i{color:var(--accent-ink)}
:root[data-theme] :is(.nav-dot,.sync-dot,.win-bar span){background:var(--accent-ink)}
:root[data-theme] :is(.table-compact th,.standings-table th){background:var(--surface-soft)}
:root[data-theme] :is(.match-bottom,.table-compact td,.follow-row,.standings-table td,.toggle-row,.news-source-list>a,.news-team-tags>span){border-color:var(--line)}
:root[data-theme] .match-card:hover,:root[data-theme] .news-card:hover{border-color:var(--accent-ink)}
:root[data-theme] :is(.date-button strong,.team-stat-row strong,.search-input input,.text-field){color:var(--ink)}
:root[data-theme] .date-button.active{background:var(--ink);color:var(--on-ink)}
:root[data-theme] .date-button.active strong{color:var(--on-ink)}
:root[data-theme] .button{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
:root[data-theme] .button.secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme] .button.lime{background:var(--lime);color:var(--on-accent);border-color:var(--lime)}
:root[data-theme] .telegram-promo{background:var(--lime);border-color:var(--lime);color:var(--on-accent)}
:root[data-theme] .telegram-promo p{color:var(--on-accent);opacity:.85}
:root[data-theme] .telegram-promo>a{background:var(--hero-bg);color:var(--hero-text)}
:root[data-theme] :is(.hero,.app-download){background:var(--hero-bg);color:var(--hero-text)}
:root[data-theme] :is(.hero p,.app-download p){color:var(--hero-muted)}
:root[data-theme] .hero .eyebrow{color:var(--lime)}
:root[data-theme] .hero-tag{color:var(--hero-muted);border-color:color-mix(in srgb,var(--hero-muted) 45%,transparent)}
:root[data-theme] .news-tab:hover{background:var(--surface-soft);border-color:var(--accent-ink)}
:root[data-theme] .news-tab.active{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
:root[data-theme] .empty-state{background:var(--surface);border-color:var(--line)}
:root[data-theme] :is(.inline-warning,.news-note-saved){background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-ink)}
:root[data-theme] .match-status.live{color:var(--danger)}
:root[data-theme] .win-bar{background:var(--surface-soft)}
:root[data-theme] .toggle{background:var(--line)}
:root[data-theme] .toggle:checked{background:var(--accent-ink)}
:root[data-theme] .avatar{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--line)}
:root[data-theme] :is(.tiny-button,.remove-button,.loading-note){color:var(--muted)}
:root[data-theme] .team-choice .check{color:var(--accent-ink)}
:root[data-theme] dialog{background:var(--surface);border-color:var(--line);color:var(--ink)}
:root[data-theme] :is(button,a,input,select,summary):focus-visible{outline-color:var(--accent-ink)}
:root[data-theme="midnight"] .brand-icon{background:var(--lime);color:var(--hero-bg)}
:root[data-theme="midnight"] .news-card-art{background:linear-gradient(135deg,color-mix(in srgb,var(--news-accent) 22%,#26352a),#26352a)}
:root[data-theme="midnight"] .news-category{color:#eef5e8}
:root[data-theme="midnight"] .skeleton{background:linear-gradient(90deg,#233128,#2e3f32,#233128)}
.theme-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:8px 10px;font-size:10px;font-weight:600;white-space:nowrap;min-height:34px}
.theme-trigger svg{height:16px;width:16px}.theme-trigger:hover{background:var(--accent-soft)}
dialog.theme-dialog{padding:32px;width:450px;max-width:calc(100vw - 28px);border-radius:16px;box-shadow:var(--shadow)}
.theme-close{position:absolute;top:15px;right:15px;width:30px;height:30px;background:var(--surface-soft);color:var(--muted);border:1px solid var(--line);border-radius:50%;font-size:22px;line-height:1}
.theme-eyebrow{font-size:9px;font-weight:700;letter-spacing:1.6px;color:var(--accent-ink);margin-bottom:12px}.theme-dialog h2{font-size:28px;font-weight:650;letter-spacing:-.8px}.theme-description{font-size:12px;line-height:1.7;color:var(--muted);margin-top:8px}.theme-options{display:grid;gap:9px;margin-top:24px}.theme-option{display:flex;align-items:center;gap:13px;min-height:70px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:13px;color:var(--ink)}.theme-option:hover{background:var(--surface-soft)}.theme-option[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent-ink);box-shadow:0 0 0 1px var(--accent-ink)}.theme-swatches{display:flex;align-items:center;flex-shrink:0}.theme-swatches>span{height:27px;width:27px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px #89918033}.theme-swatches>span+span{margin-left:-10px}.theme-option-copy{display:flex;flex-direction:column;gap:5px;flex:1}.theme-option-copy strong{font-size:12px;font-weight:650}.theme-option-copy small{font-size:10px;color:var(--muted)}.theme-check{width:19px;text-align:center;color:var(--accent-ink);font-size:18px;font-weight:700}.theme-status{margin:18px 0 0;min-height:17px;font-size:10px;color:var(--muted);line-height:1.7}
@media(max-width:700px){.theme-trigger{padding:7px 8px;gap:5px;min-height:32px;font-size:9px}.theme-trigger svg{width:15px;height:15px}.top-tools{gap:10px}.theme-dialog.theme-dialog{padding:29px 22px}.theme-dialog h2{font-size:26px}.theme-option{padding:12px;gap:11px}.theme-option-copy small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.theme-dialog,.theme-trigger,.theme-option{transition:none}}
:root[data-theme] .home-hero .home-hero-copy .eyebrow{color:var(--hero-muted)}
