:root[data-theme="dark"]{
  --bg: #0b0b0e;
  --ink: #eef2ff;
  --muted: rgba(238,242,255,.72);
  --line: rgba(238,242,255,.12);
  --card: rgba(255,255,255,.06);

  --sh-sm: 0 10px 26px rgba(0,0,0,.35);
  --sh-md: 0 18px 44px rgba(0,0,0,.45);

}

:root[data-theme="dark"] body{ background: var(--bg); color: var(--ink); }

:root[data-theme="dark"] .nav{
  background: rgba(11,11,14,.86);
  border-bottom: 1px solid var(--line);
}

:root[data-theme="dark"] .nav__item{ color: var(--ink); }

:root[data-theme="dark"] .nav__item:hover{ background: rgba(255,255,255,.06); }

:root[data-theme="dark"] .nav__item.is-active{
  background: rgba(255,59,48,.14);
  box-shadow: inset 0 -3px 0 var(--accent);
}

:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .card{
  background: var(--card);
  border-color: var(--line);
}

:root[data-theme="dark"] .kv__row,
:root[data-theme="dark"] .teamitem,
:root[data-theme="dark"] .kvline,
:root[data-theme="dark"] .linkitem,
:root[data-theme="dark"] .thumb{
  background: rgba(255,255,255,.03);
  border-color: var(--line);
}

:root[data-theme="dark"] .btn--primary{
  background: linear-gradient(90deg, var(--accent), #ff5a52);
  border-color: transparent;
  color: #0b0b0e;
}

:root[data-theme="dark"] .btn--ghost{
  background: rgba(255,255,255,.05);
  color: var(--ink);
  border-color: rgba(238,242,255,.35);
}

:root[data-theme="dark"] .btn--ghost:hover{ background: rgba(255,255,255,.08); }

:root[data-theme="dark"] .tablewrap{
  border-color: var(--line);
  background: rgba(255,255,255,.02);
}

:root[data-theme="dark"] .schedule{
  background: rgba(255,255,255,.02);
}

:root[data-theme="dark"] .schedule th{
  background: rgba(255,255,255,.03);
  color: var(--muted);
}

:root[data-theme="dark"] .pill,
:root[data-theme="dark"] .badge{
  background: rgba(255,255,255,.03);
  border-color: var(--line);
}

:root[data-theme="dark"] .teamlogo{
  background: rgba(255,255,255,.03);
  border-color: var(--line);
}

:root[data-theme="dark"] .footer{
  background: rgba(255,255,255,.02);
  border-top-color: var(--line);
}

:root[data-theme="dark"] .partner{ background: rgba(255,255,255,.03); }

:root[data-theme="dark"] .socialbtn{
  background: rgba(255,255,255,.02);
  border-color: rgba(238,242,255,.45);
}

:root[data-theme="dark"] .socialbtn img{ filter: brightness(0) invert(1); }

:root[data-theme="dark"] .socialbtn--tvcom img{
  filter: none;
  opacity: .95;
}

:root[data-theme="dark"] .hero__note{
  background: rgba(255,255,255,.06);
  border-color: var(--line);
  color: var(--muted);
}

:root[data-theme="dark"] .hero__note{
  background: rgba(255,255,255,.06);
  border-color: var(--line);
  color: var(--ink);
}

:root[data-theme="dark"] .partner{
  background: rgba(255,255,255,0.8);
  border-color: var(--line);
}

:root[data-theme="dark"] .partner img{
  opacity: .92;
}

:root[data-theme="dark"] .partners__note,
:root[data-theme="dark"] .footer__left{
  color: var(--muted);
}

:root[data-theme="dark"] .partner img{
  filter: brightness(.75) contrast(1.05);
  opacity: .95;
}

:root[data-theme="dark"] .tvcomlink{
  background: rgba(255,255,255,.04);
}

:root[data-theme="dark"] .scorewrap--stack .qscore__box{
  background: rgba(255,255,255,.03);
}

:root[data-theme="dark"] .team__toggle{
  background: rgba(255,255,255,.04);
  border-color: var(--line);
}

:root[data-theme="dark"] .filters__select{
  background: rgba(255,255,255,.03);
  color: var(--ink);
  border-color: var(--line);
}

:root[data-theme="dark"] .filters__reset{
  background: rgba(255,255,255,.03);
  color: var(--ink);
  border-color: var(--line);
}

:root[data-theme="dark"] select,
:root[data-theme="dark"] option {
  background-color: #121212;
  color: #fff;
}

:root[data-theme="dark"] option:checked,
:root[data-theme="dark"] option:hover {
  background-color: #1e1e1e;
  color: #fff;
}

:root[data-theme="dark"] {
  color-scheme: dark;
}

/* Dark mode – mobile menu panel (hamburger) */
:root[data-theme="dark"] .menu__panel{
  background: rgba(11,11,14,.96);
  border-left-color: var(--line);
}
:root[data-theme="dark"] .menu__title,
:root[data-theme="dark"] .menu__link{
  color: var(--ink);
}
:root[data-theme="dark"] .menu__link{
  background: rgba(255,255,255,.04);
  border-color: var(--line);
}
:root[data-theme="dark"] .menu__link:hover{
  background: rgba(255,255,255,.06);
}
:root[data-theme="dark"] .menu__close{
  color: var(--ink);
  background: rgba(255,255,255,.04);
  border-color: var(--line);
}

/* LIVEBAR – dark mode doladění kontrastu */
:root[data-theme="dark"] .livebar__btn{
  background: rgba(255,255,255,.06);
  color: var(--ink);
  border-color: var(--line);
}

:root[data-theme="dark"] .livebar__btn[disabled]{
  opacity: 1;
  color: var(--muted);
  background: rgba(255,255,255,.04);
  border-color: var(--line);
}

:root[data-theme="dark"] .livebar__status{
  color: var(--muted);
}

/* Dark mode – Day switch (Pátek / Sobota / Neděle) */
:root[data-theme="dark"] .day-switch__btn{
  background: rgba(255,255,255,.06);
  color: var(--ink);
  border-color: var(--line);
}

:root[data-theme="dark"] .day-switch__btn:hover{
  background: rgba(255,255,255,.09);
}

:root[data-theme="dark"] .day-switch__btn.is-active{
  border-color: rgba(238,242,255,.35);
  background: rgba(255,59,48,.14);
  box-shadow: inset 0 -3px 0 var(--accent);
}

:root[data-theme="dark"] .day-switch__btn:focus-visible{
  outline: 2px solid rgba(238,242,255,.30);
  outline-offset: 2px;
}

/* =========================
   PLAY-OFF – V2 (dark)
   ========================= */

:root[data-theme="dark"] #playoff-section{
  border-color: rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
}

:root[data-theme="dark"] .playoff-grid{
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.10);
}

:root[data-theme="dark"] .round h3{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: rgba(238,242,255,.75);
}

:root[data-theme="dark"] .game{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}

:root[data-theme="dark"] .game-upcoming{
  border-style: dashed;
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.03);
}

:root[data-theme="dark"] .game .teamline:first-child{
  border-bottom-color: rgba(255,255,255,.10);
}

:root[data-theme="dark"] .game .winner{
  color: #0b0b0e;
  background: rgba(255,59,48,.30);
  border-color: rgba(255,59,48,.45);
}

:root[data-theme="dark"] .game .score{
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.05);
  color: var(--ink);
}

:root[data-theme="dark"] .game-played .teamname:not(.winner){
  opacity: .55;
}

:root[data-theme="dark"] .game .winner{
  background: rgba(255,59,48,.30);
  border-color: rgba(255,59,48,.55);
  box-shadow: 0 12px 26px rgba(0,0,0,.45);
}

:root[data-theme="dark"] .game .winner::before{
  background: rgba(255,59,48,.32);
  border-color: rgba(255,59,48,.55);
}

/* =========================
   PLAY-OFF – Winner styling (dark mode fix)
   ========================= */

:root[data-theme="dark"] .game-played .teamname:not(.winner){
  opacity: .55;
}

:root[data-theme="dark"] .game .winner{
  color: var(--ink) !important;
}

/* akcent pruh v darku + jemný glow, aby to bylo vidět */
:root[data-theme="dark"] .game .winner::before{
  background: var(--accent);
  box-shadow: 0 0 0 3px rgba(255,59,48,.18), 0 0 18px rgba(255,59,48,.20);
}

/* "W" štítek v darku */
:root[data-theme="dark"] .game .winner::after{
  background: rgba(255,59,48,.22);
  color: rgba(238,242,255,.88);
  border-color: rgba(255,59,48,.26);
}

/* zvýraznění řádku s winnerem */
:root[data-theme="dark"] .game-played .teamline:has(.winner){
  background: rgba(255,59,48,.10);
}

/* =========================
   PLAY-OFF – Winner (V4 dark)
   ========================= */

:root[data-theme="dark"] .playoff-grid .teamname.winner{
  color: var(--ink) !important;
  box-shadow:
    inset 6px 0 0 var(--accent),
    0 0 14px rgba(255,59,48,.14); /* jemný glow, ne neon */
}

:root[data-theme="dark"] .playoff-grid .game-played .teamname:not(.winner){
  opacity: .58;
}

:root[data-theme="dark"] .playoff-grid .game .teamname.winner::before{
  background: var(--accent);
  box-shadow: 0 0 0 3px rgba(255,59,48,.18), 0 0 18px rgba(255,59,48,.16);
}

:root[data-theme="dark"] .playoff-grid .game-played .teamname:not(.winner){
  opacity: .58;
}

/* =========================
   LIGHT MODE FIX – Teams cards (tymy.html)
   ========================= */
:root:not([data-theme="dark"]) .quick-group{
  border-color: rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
}

:root:not([data-theme="dark"]) .team-quick-card{
  border-color: rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
}

:root:not([data-theme="dark"]) .team-quick-card:hover{
  border-color: rgba(0,0,0,.16);
  background: rgba(0,0,0,.03);
}

:root:not([data-theme="dark"]) .pill{
  border-color: rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
}

:root:not([data-theme="dark"]) .team{
  border-color: rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
}

:root:not([data-theme="dark"]) .team:hover{
  border-color: rgba(0,0,0,.16);
  background: rgba(0,0,0,.03);
}

:root:not([data-theme="dark"]) .team__panel{
  border-top-color: rgba(0,0,0,.10);
}

:root:not([data-theme="dark"]) .team__chev{
  border-right-color: rgba(0,0,0,.55);
  border-bottom-color: rgba(0,0,0,.55);
}

/* search input ať je čitelnej v light */
:root:not([data-theme="dark"]) .team-search__input{
  background: #fff;
  border-color: rgba(0,0,0,.12);
}

:root:not([data-theme="dark"]) .standings tbody tr:first-child{
  background: linear-gradient(
    90deg,
    rgba(0,0,0,.04),
    rgba(0,0,0,.02)
  );
}

:root[data-theme="dark"]{
  --bracket-bg: rgba(255,255,255,.03);
  --bracket-border: rgba(255,255,255,.18);
  --bracket-shadow: 0 8px 24px rgba(0,0,0,.35);
  --bracket-text-muted: rgba(255,255,255,.62);
}

:root:not([data-theme="dark"]) .game .winner{
  background: rgba(0,0,0,.03);
  padding: 2px 6px;
  border-radius: 999px;
}

:root[data-theme="dark"] .game-played{
  border-color: rgba(255,255,255,.24);
}

:root[data-theme="dark"]{
  --tbl-border: rgba(255,255,255,.16);
  --tbl-head-bg: rgba(255,255,255,.04);
  --tbl-row-hover: rgba(255,255,255,.05);
}

/* Winner: ZRUŠ padding/background které mění layout, highlight udělej bez změny rozměrů */
:root:not([data-theme="dark"]) .playoff-grid .game .winner{
  padding: 0;                  /* klíč: žádný padding */
  background: transparent;     /* klíč: žádný background blok */
  border-radius: 0;
  box-shadow: inset 0 -10px 0 rgba(0,0,0,.03);  /* “pill” efekt bez změny layoutu */
}

/* Dark můžeš nechat jen barevně */
:root[data-theme="dark"] .playoff-grid .game .winner{
  padding: 0;
  background: transparent;
  box-shadow: none;
}

/* =========================
   LIGHT MODE FIX – QF seeding (qf-*)
   ========================= */
:root:not([data-theme="dark"]) .qf-item{
  border-color: rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
}

:root:not([data-theme="dark"]) .qf-item:hover{
  border-color: rgba(0,0,0,.16);
  background: rgba(0,0,0,.03);
}

:root:not([data-theme="dark"]) .qf-label{
  color: rgba(0,0,0,.85);
}

:root:not([data-theme="dark"]) .qf-vs{
  opacity: .55;
}

:root:not([data-theme="dark"]) .qf-score{
  color: rgba(0,0,0,.85);                /* místo #fff */
  background: rgba(0,0,0,.04);
  border-color: rgba(0,0,0,.12);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
}

/* když máš is-final variantu */
:root:not([data-theme="dark"]) .qf-item.is-final{
  border-color: rgba(0,0,0,.16);
  background: rgba(0,0,0,.03);
}

:root:not([data-theme="dark"]) .qf-item.is-final .qf-score{
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.16);
}

:root:not([data-theme="dark"]) .qf-item:hover .qf-score{
  background: rgba(0,0,0,.06);
  border-color: rgba(0,0,0,.16);
}

/* =========================
   LIGHT MODE FIX – team detail (info + roster)
   ========================= */
:root:not([data-theme="dark"]) .team-info__logo img,
:root:not([data-theme="dark"]) .team-logo-placeholder{
  border-color: rgba(0,0,0,.12);
  background: rgba(0,0,0,.02);
}

:root:not([data-theme="dark"]) .info-row{
  border-color: rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
}

:root:not([data-theme="dark"]) .info-row__label{
  opacity: .65;
}

:root:not([data-theme="dark"]) .team-info__note{
  border-color: rgba(0,0,0,.10);
  background: rgba(255,59,59,.08);
}

:root:not([data-theme="dark"]) .btnlink{
  border-color: rgba(0,0,0,.12);
  background: rgba(0,0,0,.02);
}

:root:not([data-theme="dark"]) .btnlink:hover{
  border-color: rgba(0,0,0,.18);
  background: rgba(0,0,0,.03);
}

:root:not([data-theme="dark"]) .btnlink.is-disabled{
  opacity: .45;
}

:root:not([data-theme="dark"]) .roster{
  border-color: rgba(0,0,0,.10);
  background: rgba(0,0,0,.02);
}

:root:not([data-theme="dark"]) .roster__table tbody tr{
  background: rgba(0,0,0,.015);
}

:root:not([data-theme="dark"]) .roster__table thead th{
  opacity: .65;
}

:root:not([data-theme="dark"]) .pill{
  border-color: rgba(0,0,0,.12);
  background: rgba(0,0,0,.03);
}

:root:not([data-theme="dark"]) .roster__cap{
  border-color: rgba(255,59,59,.45);
  background: rgba(255,59,59,.12);
}

:root[data-theme="dark"] .page-fotky .linkcard,
:root[data-theme="dark"] .page-fotky .dayblock,
:root[data-theme="dark"] .page-fotky .daylink,
:root[data-theme="dark"] .page-fotky .clipitem,
:root[data-theme="dark"] .page-fotky .thumb{
  background: rgba(255,255,255,.03);
  border-color: var(--line);
}

:root[data-theme="dark"] .page-fotky .linkcard:hover,
:root[data-theme="dark"] .page-fotky .daylink:hover,
:root[data-theme="dark"] .page-fotky .clipitem:hover{
  background: rgba(255,255,255,.06);
}

/* =========================
   HERO – theme-safe overrides
   (works with :root[data-theme="dark"])
   ========================= */

/* default (LIGHT) */
:root:not([data-theme="dark"]) .hero{
  background: linear-gradient(180deg, #f3f4f6, #e9ebef);
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
:root:not([data-theme="dark"]) .hero .h1{ color:#111; }
:root:not([data-theme="dark"]) .hero .lead{ color: rgba(0,0,0,0.72); }

/* hero CTA – ghost in LIGHT */
:root:not([data-theme="dark"]) .hero .btn--ghost{
  background: rgba(0,0,0,0.06);
  color: #111;
  border-color: rgba(0,0,0,0.20);
}

/* panel in LIGHT */
:root:not([data-theme="dark"]) .hero__panel .panel{
  background: rgba(255,255,255,0.85);
  border-color: rgba(0,0,0,0.10);
  color: #111;
}
:root:not([data-theme="dark"]) .hero__panel .panel .panel__title{
  color: #111;
}

/* DARK */
:root[data-theme="dark"] .hero{
  background: linear-gradient(180deg, rgba(10,10,10,0.85), rgba(10,10,10,0.95));
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
:root[data-theme="dark"] .hero .h1{ color:#fff; }
:root[data-theme="dark"] .hero .lead{ color: rgba(255,255,255,0.85); }

/* hero CTA – ghost in DARK (necháme kompatibilní s dark.css, jen jemně doladíme) */
:root[data-theme="dark"] .hero .btn--ghost{
  background: rgba(255,255,255,0.06);
  color: var(--ink);
  border-color: rgba(238,242,255,.35);
}

/* panel in DARK */
:root[data-theme="dark"] .hero__panel .panel{
  background: rgba(0,0,0,0.55);
  border-color: rgba(255,255,255,0.15);
  color: #fff;
}

:root[data-theme="dark"] .hero__panel .panel .panel__title{
  color: #fff;
  letter-spacing: .12em;
}

:root:not([data-theme="dark"]) .hero__panel .panel{
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

:root[data-theme="dark"] .hero .btn--primary{
  box-shadow: 0 10px 30px rgba(225,6,0,.25);
}

:root:not([data-theme="dark"]) .card--accent{
  border-color: rgba(225,6,0,.25);
}

/* 6) HERO: jemný glow u primárního CTA v dark (event vibe) */
:root[data-theme="dark"] .hero .btn--primary {
  box-shadow: 0 12px 28px rgba(225,6,0,.22);
}

/* 7) HERO panel v light: ať není “placka” */
:root:not([data-theme="dark"]) .hero__panel .panel {
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* 8) “Důležité” karta (card--accent) v light: ať nevypadá jako error */
:root:not([data-theme="dark"]) .card--accent {
  border-color: rgba(225,6,0,.22);
}

/* light */
:root:not([data-theme="dark"]) .card {
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
:root:not([data-theme="dark"]) .card:hover {
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.12);
}

/* dark */
:root[data-theme="dark"] .card {
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
}
:root[data-theme="dark"] .card:hover {
  box-shadow: 0 18px 44px rgba(0,0,0,.45);
  border-color: rgba(255,255,255,.14);
}

/* Light: zjemnit stín, ať to nevypadá jak “kartička z iOS” */
:root:not([data-theme="dark"]) .hero__panel .panel{
  box-shadow: 0 8px 22px rgba(0,0,0,.07);
}

/* Dark: stín klidně slabší (už máš tmavé pozadí) */
:root[data-theme="dark"] .hero__panel .panel{
  box-shadow: 0 10px 26px rgba(0,0,0,.30);
}

/* Light: panel ať nesvítí čistě bíle na šedém hero */
:root:not([data-theme="dark"]) .hero__panel .panel{
  background: rgba(255,255,255,0.65);          /* nebyla to "stěna bílé" */
  border: 1px solid rgba(0,0,0,0.08);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

:root:not([data-theme="dark"]) .hero{
  background: #f6f7f9;   /* skoro bílá */
}