:root{
  --bg:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);
  --surface:rgba(255,255,255,.72);
  --text:#1e293b;
  --muted:#64748b;
  --border:rgba(15,23,42,.10);
  --hover:rgba(255,255,255,.94);
  --active:linear-gradient(135deg,#0ea5e9,#6366f1);
  --card:linear-gradient(135deg,rgba(255,255,255,.94),rgba(224,242,254,.58));
  --card-hover:linear-gradient(135deg,rgba(255,255,255,1),rgba(186,230,253,.72));
  --shadow:0 18px 60px rgba(15,23,42,.12);
}
html.dark{
  --bg:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  --surface:rgba(30,41,59,.74);
  --text:#f8fafc;
  --muted:#94a3b8;
  --border:rgba(255,255,255,.09);
  --hover:rgba(30,41,59,.94);
  --card:linear-gradient(135deg,rgba(30,41,59,.9),rgba(12,74,110,.38));
  --card-hover:linear-gradient(135deg,rgba(51,65,85,.94),rgba(7,89,133,.48));
  --shadow:0 18px 60px rgba(0,0,0,.30);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;transition:background .35s,color .35s;overflow-x:hidden}
body[dir=rtl],html[dir=rtl] body{direction:rtl}
a{color:inherit}.glass-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header{max-width:1280px;margin:10px auto 18px;padding:14px 18px;border-radius:0 0 24px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);font-weight:900;font-size:1.22rem;letter-spacing:.01em}.ball{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:var(--active);box-shadow:0 12px 28px rgba(14,165,233,.25)}
.header-actions{display:flex;gap:10px;align-items:center}select,.theme-toggle,input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:14px;padding:10px 12px}.theme-toggle{cursor:pointer;min-width:42px}
.shell{max-width:1280px;margin:0 auto;padding:0 14px 24px}.main-nav{display:flex;justify-content:center;gap:10px;border-radius:24px;padding:10px;margin-bottom:14px;position:sticky;top:8px;z-index:5}.nav-link{position:relative;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--muted);padding:12px 18px;border-radius:16px;font-weight:800;transition:transform .25s,background .25s,color .25s}.nav-link:hover{background:var(--hover);color:var(--text);transform:translateY(-2px)}.nav-link.active{color:#0ea5e9}.nav-link.active:after{content:"";position:absolute;left:20%;right:20%;bottom:3px;height:3px;border-radius:3px;background:var(--active)}
.main-stage{min-height:62vh;border-radius:28px;padding:22px;overflow:hidden}.content-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:24px;animation:fade .35s ease both}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.section-head h1,.content-card>h1,.hero h1{font-size:clamp(1.9rem,4vw,3.25rem);line-height:1.03;margin:.25rem 0 .55rem;background:var(--active);-webkit-background-clip:text;background-clip:text;color:transparent}.section-head p{margin:.15rem 0;color:var(--muted);max-width:720px}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:#0ea5e9;font-weight:900}.filters{min-width:min(360px,100%);margin-top:8px}.filters input{width:100%}
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:18px}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.data-card{position:relative;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:20px;padding:18px;transition:transform .25s,box-shadow .25s,border-color .25s,background .25s;overflow:hidden}.data-card:hover,.standing-row:hover{background:var(--card-hover);transform:translateY(-3px) scale(1.01);border-color:rgba(14,165,233,.45);box-shadow:0 12px 30px rgba(14,165,233,.15)}.data-card span,.time,.match-meta{color:var(--muted)}.data-card strong{font-weight:900}
.countdown-card{margin:10px 0 18px;background:var(--card);border:1px solid rgba(14,165,233,.25);border-radius:22px;padding:18px;box-shadow:0 16px 38px rgba(14,165,233,.14)}.countdown-label{display:block;color:#0ea5e9;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.countdown-card strong{display:block;font-size:clamp(2rem,5vw,3.8rem);line-height:1;margin:.25rem 0;background:var(--active);-webkit-background-clip:text;background-clip:text;color:transparent}.countdown-card p{margin:.25rem 0 0;color:var(--muted)}
.calendar-panel{margin:16px 0 12px}.calendar-title{font-weight:900;margin-bottom:8px;color:var(--muted)}.date-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none}.date-strip::-webkit-scrollbar{display:none}.date-pill,.pill{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:10px 16px;white-space:nowrap;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .22s,box-shadow .22s,background .22s,border-color .22s}.date-pill:hover,.pill:hover{transform:translateY(-2px);background:var(--hover)}.date-pill.active,.pill.active{background:var(--active);color:white;border-color:transparent;box-shadow:0 10px 24px rgba(14,165,233,.25)}.selected-day{color:var(--muted);font-weight:800;margin:4px 0 12px}.empty-state{border:1px dashed var(--border);border-radius:20px;padding:24px;text-align:center;color:var(--muted);background:rgba(255,255,255,.05)}
.match-list{display:grid;gap:12px}.time-note{margin:.5rem 0 0!important;color:var(--muted);font-size:.92rem}.match-time-note{margin:0 0 14px!important;text-align:center}.match-card{display:grid;grid-template-columns:minmax(185px,220px) minmax(0,1fr) auto;grid-template-areas:"times teams score" "times meta meta";align-items:center;gap:10px 16px;min-height:96px;padding:16px 18px}.match-times{grid-area:times;display:grid;gap:6px;min-width:0}.time-block{display:block;min-width:0}.time-block small{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900}.time-browser strong{display:block;color:var(--text);font-size:1.08rem;line-height:1.1;font-weight:950;white-space:normal}.time-stadium span{display:block;color:var(--muted);font-size:.88rem;font-weight:800;white-space:normal}.match-teams{grid-area:teams;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;min-width:0}.match-team{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.18}.match-team.home{text-align:right}.match-team.away{text-align:left}.match-vs{color:var(--muted);font-size:.78rem;text-transform:uppercase;font-weight:900}.match-score{grid-area:score;justify-self:end;font-weight:950;color:#0ea5e9;font-size:1.15rem;white-space:nowrap;background:rgba(255,255,255,.28);border:1px solid var(--border);border-radius:14px;padding:8px 10px}.match-meta{grid-area:meta;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-card[hidden]{display:none!important}
.subnav{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 18px}.round-subnav{margin-top:0}.table-wrap{overflow-x:auto;margin:1rem 0 1.5rem}.standings{width:100%;min-width:780px;border-collapse:separate;border-spacing:0 8px}.standings th{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;padding:0 12px 6px;text-align:left}.standings td{background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px 12px}.standings td:first-child{border-left:1px solid var(--border);border-radius:16px 0 0 16px;text-align:center;color:var(--muted);font-weight:900}.standings td:last-child{border-right:1px solid var(--border);border-radius:0 16px 16px 0}.standing-row{transition:transform .22s,box-shadow .22s,background .22s}.standing-row:hover td{background:transparent}.score-board{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px 0}.score-board strong{font-size:3rem;background:var(--active);-webkit-background-clip:text;background-clip:text;color:transparent}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:22px}.meta-grid div{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px}.meta-grid span{display:block;color:var(--muted);font-size:.82rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.detail-grid section{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1rem}.detail-grid ul{margin:.5rem 0 0;padding-left:1.15rem}.detail-grid li{margin:.35rem 0;color:var(--muted)}.prose{line-height:1.7}.site-footer{max-width:1280px;margin:0 auto 24px;padding:16px;color:var(--muted);display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.site-footer a{color:var(--muted)}.footer-link-button{border:0;background:transparent;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;padding:0}.footer-link-button:hover{color:#0ea5e9}@keyframes fade{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.consent-panel{position:fixed;inset:auto 1rem 1rem 1rem;z-index:1000;display:flex;justify-content:center;pointer-events:none}.consent-card{width:min(980px,100%);border-radius:24px;padding:18px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;pointer-events:auto}.consent-card h2{margin:.1rem 0 .45rem;font-size:1.15rem}.consent-card p{margin:0;color:var(--muted);line-height:1.45}.consent-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.consent-actions button{border:1px solid var(--border);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.consent-primary{background:var(--active);color:white;border-color:transparent!important;box-shadow:0 10px 25px rgba(14,165,233,.2)}.consent-secondary{background:var(--surface);color:var(--text)}.consent-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.consent-options[hidden],.hidden{display:none!important}.consent-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:16px;padding:12px;background:var(--surface)}.consent-option small{display:block;color:var(--muted);margin-top:3px}.consent-option input{margin-top:4px}
.primary-time-card strong{font-size:1.28rem;color:#0ea5e9}.meta-grid small{display:block;color:var(--muted);margin-top:4px;font-size:.75rem}.detail-grid:empty{display:none}
@media (max-width:860px){.section-head{display:block}.filters{min-width:0}.match-card{grid-template-columns:1fr;grid-template-areas:"times" "teams" "score" "meta"}.match-teams{grid-template-columns:1fr;gap:4px}.match-team.home,.match-team.away{text-align:left}.match-vs{display:none}.match-score{justify-self:start}.time-browser strong{font-size:1.12rem}.consent-card{grid-template-columns:1fr}.consent-options{grid-template-columns:1fr}}
@media (max-width:760px),(max-aspect-ratio:4/3){.site-header{margin:0;border-radius:0 0 18px 18px}.brand span:last-child{font-size:1rem}.shell{padding-bottom:92px}.main-nav{position:fixed;left:0;right:0;bottom:0;top:auto;margin:0;border-radius:22px 22px 0 0;z-index:20;justify-content:space-around}.nav-link{font-size:.75rem;flex-direction:column;padding:9px 7px}.main-stage{border-radius:18px;padding:14px}.content-card{padding:16px}.score-board{flex-direction:column}.score-board strong{font-size:2.2rem}}

/* UI update: matches use a real calendar card, groups/finals are compact and headline-free */
.matches-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.matches-topbar .time-note{margin:0!important;max-width:760px}.matches-page:not(.ready) .match-list .match-card{display:none}.calendar-widget{position:relative;margin:12px 0 18px}.calendar-toggle-card{width:100%;border:0;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:16px 18px}.calendar-toggle-card:hover{transform:translateY(-2px) scale(1.005)}.calendar-toggle-text{display:grid;gap:3px}.calendar-toggle-text small{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.calendar-toggle-text strong{font-size:1.22rem;line-height:1.15}.calendar-chevron{font-size:1.8rem;line-height:1;transition:transform .22s ease;color:#0ea5e9}.calendar-toggle-card.open .calendar-chevron{transform:rotate(180deg)}.calendar-popover{margin-top:10px;padding:14px;opacity:0;transform:translateY(-8px) scale(.985);max-height:0;overflow:hidden;transition:opacity .22s ease,transform .22s ease,max-height .22s ease}.calendar-popover.open{opacity:1;transform:none;max-height:520px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:.76rem;text-transform:uppercase;font-weight:900}.calendar-blank{min-height:38px}.calendar-day{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:14px;min-height:42px;font-weight:900;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.calendar-day:hover{transform:translateY(-2px);background:var(--hover);border-color:rgba(14,165,233,.35)}.calendar-day.active{background:var(--active);color:#fff;border-color:transparent;box-shadow:0 12px 24px rgba(14,165,233,.24)}.calendar-day.today:not(.active){border-color:rgba(14,165,233,.55)}.calendar-day.no-match span{opacity:.45}.compact-page{padding:18px}.compact-page>h1,.compact-page>h2{display:none}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:12px}.group-card-grid .data-card{min-height:74px;align-items:center;justify-content:center;text-align:center;padding:16px}.compact-data-card{display:flex;flex-direction:column;gap:4px}.compact-data-card strong{font-size:1.05rem;line-height:1.2}.compact-data-card span:empty{display:none}.group-page .table-wrap{margin:0 0 14px}.group-match-list{margin-top:6px}.standings td{padding:11px 12px}.standings td:nth-child(n+3),.standings th:nth-child(n+3){text-align:center}.round-subnav{margin:0 0 16px}.knockout-page .match-list{margin-top:8px}.match-card{grid-template-columns:minmax(170px,210px) minmax(0,1fr) auto;min-height:88px;padding:14px 16px}.match-meta{font-size:.8rem;color:var(--muted)}.match-score{font-size:1.08rem}.data-card{background:var(--card);box-shadow:0 10px 24px rgba(15,23,42,.055)}
@media (max-width:860px){.matches-topbar{display:block}.matches-topbar .filters{margin-top:12px}.calendar-day{min-height:38px;border-radius:12px}.match-card{min-height:0}.calendar-toggle-text strong{font-size:1.02rem}}

/* Compact label cleanup: group cards show only the group letter, team cards show flag + group letter. */
.group-card-grid .compact-data-card strong{font-size:1.7rem;line-height:1;font-weight:950;letter-spacing:.02em}
.teams-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.teams-grid .compact-data-card{padding:14px 16px;min-height:64px;justify-content:center}
.team-card-line{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.team-card-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}
.team-card-meta{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.92rem;font-weight:900;white-space:nowrap}
.team-card-flag{width:24px;height:18px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px var(--border)}
.stadiums-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.stadiums-grid .compact-data-card,.teams-grid .compact-data-card{box-shadow:0 10px 24px rgba(15,23,42,.055)}
.stadiums-grid .compact-data-card strong{font-size:1rem;line-height:1.18}
.stadiums-grid .compact-data-card span{font-size:.88rem;line-height:1.35}
@media (max-width:560px){.team-card-name{white-space:normal}.team-card-line{align-items:flex-start}.team-card-meta{padding-top:1px}}

/* Center countdown and selected match day, plus flags beside teams in match cards. */
.countdown-card{text-align:center;display:flex;align-items:center;justify-content:center}
.countdown-card>div{max-width:720px;margin:0 auto}
.matches-page .calendar-toggle-card{position:relative;justify-content:center;text-align:center}
.matches-page .calendar-toggle-text{width:100%;text-align:center;place-items:center}
.matches-page .calendar-toggle-text strong,.matches-page .calendar-toggle-text small{text-align:center}
.matches-page .calendar-chevron{position:absolute;right:18px}
html[dir=rtl] .matches-page .calendar-chevron{right:auto;left:18px}
.match-team-inner{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0}
.match-team.home .match-team-inner{justify-content:flex-end}
.match-team.away .match-team-inner{justify-content:flex-start}
.match-team-name{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:normal}
.match-team-flag{width:26px;height:18px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px var(--border);flex:0 0 auto;background:rgba(255,255,255,.45)}
@media (max-width:860px){.match-team.home .match-team-inner,.match-team.away .match-team-inner{justify-content:flex-start}.matches-page .calendar-chevron{right:14px}html[dir=rtl] .matches-page .calendar-chevron{right:auto;left:14px}}


/* Brand/logo and app links */
.brand-logo{width:38px;height:38px;object-fit:contain;display:block;border-radius:10px;filter:drop-shadow(0 6px 14px rgba(14,165,233,.18));transition:transform .25s ease,filter .25s ease}
.brand:hover .brand-logo{transform:scale(1.06) rotate(-2deg)}
.brand .ball{display:none}
.store-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:999px;padding:9px 13px;background:var(--surface);color:var(--text)!important;text-decoration:none!important;font-weight:850;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}
.store-link:hover{transform:translateY(-2px);background:var(--hover);border-color:rgba(14,165,233,.35);box-shadow:0 10px 22px rgba(14,165,233,.13)}
.header-store-link{white-space:nowrap;font-size:.88rem;padding:8px 12px}
.footer-description{flex-basis:100%;margin:0 auto 2px;max-width:860px;text-align:center;line-height:1.5;color:var(--muted)}
.site-footer{align-items:center}.site-footer .store-link{font-size:.9rem}
@media (max-width:760px){.brand-logo{width:34px;height:34px}.header-store-link{display:none}.footer-description{font-size:.9rem}}

/* Requested cleanup: smaller logo, cleaner footer, centered match cards, stadium country flags. */
.brand{gap:8px;font-size:1.08rem;line-height:1.1}
.brand-logo{width:25px!important;height:25px!important;border-radius:6px!important;filter:none!important}
@media (max-width:760px){.brand-logo{width:23px!important;height:23px!important}.brand span:last-child{font-size:.98rem}}
.site-footer{gap:16px;padding-top:10px}.site-footer .footer-description,.site-footer>.store-link{display:none!important}
.matches-topbar,.matches-page .filters,.matches-page .time-note{display:none!important}
.match-card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:116px!important;text-align:center!important;padding:16px 18px!important;grid-template-columns:none!important;grid-template-areas:none!important}
.match-card-browser-time{display:block;width:100%;text-align:center;font-size:1.1rem;font-weight:950;color:var(--text);line-height:1.15}
.match-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;width:min(720px,100%)}
.match-team{display:flex!important;align-items:center;justify-content:center;min-width:0;text-align:center!important;overflow:visible!important;white-space:normal!important}
.match-team.home .match-team-inner,.match-team.away .match-team-inner{justify-content:center!important}
.match-team-inner{justify-content:center!important;gap:7px}
.match-team-name{text-align:center;line-height:1.16}
.match-score{position:static!important;grid-area:auto!important;justify-self:center!important;align-self:center!important;display:inline-flex;align-items:center;justify-content:center;min-width:58px;text-align:center;color:#0ea5e9;font-size:1.12rem;font-weight:950;border-radius:14px;padding:8px 11px;background:rgba(255,255,255,.24);border:1px solid var(--border)}
.match-card-stadium-time{display:block;width:100%;text-align:center;color:var(--muted);font-size:.9rem;font-weight:850}
.match-meta{display:block;width:100%;text-align:center;color:var(--muted);font-size:.8rem;white-space:normal;overflow:visible;text-overflow:clip}
.match-team-flag{width:25px;height:17px}
.stadiums-grid .compact-data-card strong{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.stadium-country-flag{width:28px;height:20px;object-fit:cover;border-radius:4px;box-shadow:0 0 0 1px var(--border);background:rgba(255,255,255,.45);flex:0 0 auto}
.team-card-meta span{font-weight:950;color:var(--muted)}
@media (max-width:700px){.match-card-main{grid-template-columns:1fr;gap:6px}.match-score{order:2}.match-team.home{order:1}.match-team.away{order:3}.match-card{min-height:0!important}}

/* GOLKIX UI polish 2026-05: modern light mode, compact header/logo, overlay calendar, consistent cards */
:root{
  --bg:#f4f7fb;
  --surface:rgba(255,255,255,.84);
  --text:#15243a;
  --muted:#667891;
  --border:rgba(31,47,70,.11);
  --hover:rgba(255,255,255,.98);
  --active:linear-gradient(135deg,#0ea5e9,#4069f5);
  --card:linear-gradient(145deg,rgba(255,255,255,.96),rgba(244,250,255,.88));
  --card-hover:linear-gradient(145deg,#fff,rgba(235,247,255,.96));
  --shadow:0 16px 42px rgba(31,47,70,.08);
}
html.dark{
  --bg:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  --surface:rgba(30,41,59,.74);
  --text:#f8fafc;
  --muted:#94a3b8;
  --border:rgba(255,255,255,.09);
  --hover:rgba(30,41,59,.94);
  --card:linear-gradient(135deg,rgba(30,41,59,.9),rgba(12,74,110,.38));
  --card-hover:linear-gradient(135deg,rgba(51,65,85,.94),rgba(7,89,133,.48));
  --shadow:0 18px 60px rgba(0,0,0,.30);
}
body{background:var(--bg)!important;color:var(--text)}
.glass-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header{max-width:1240px;margin:8px auto 16px;padding:12px 16px;border-radius:0 0 22px 22px;min-height:58px}
.brand{gap:9px;font-size:1.05rem!important;line-height:1.1;font-weight:900;letter-spacing:.005em;white-space:nowrap}
.brand-logo,.brand img.brand-logo{width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important;object-fit:contain!important;border-radius:6px!important;filter:none!important;flex:0 0 26px!important}
.header-actions{gap:8px}.header-store-link{font-size:.82rem;padding:7px 11px}select,.theme-toggle,input{border-radius:13px;padding:9px 11px}.theme-toggle{min-width:40px}
.shell{max-width:1240px}.main-nav{border-radius:22px;padding:9px;margin-bottom:12px}.nav-link{padding:10px 15px;border-radius:15px;font-size:.95rem}.main-stage{border-radius:26px;padding:20px;overflow:visible}.content-card{border-radius:24px;padding:20px;overflow:visible;background:rgba(255,255,255,.54)}
html.dark .content-card{background:rgba(30,41,59,.50)}
.data-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:15px 16px;box-shadow:0 10px 28px rgba(31,47,70,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.data-card:hover{background:var(--card-hover);transform:translateY(-2px);border-color:rgba(14,165,233,.38);box-shadow:0 14px 32px rgba(14,165,233,.12)}
.matches-topbar,.matches-page .filters,.matches-page .time-note{display:none!important}.site-footer .footer-description,.site-footer>.store-link{display:none!important}.site-footer{gap:14px;padding:10px 0 18px;font-size:.9rem;color:var(--muted)}

/* Calendar: smaller, elegant, opens as overlay above games */
.calendar-widget{position:relative;z-index:40;margin:2px 0 14px}.calendar-toggle-card{width:100%;min-height:62px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 46px 11px!important;cursor:pointer}.calendar-toggle-card:hover{transform:translateY(-1px)}.calendar-toggle-text{display:grid;gap:3px;place-items:center;width:100%}.calendar-toggle-text small{font-size:.68rem!important;letter-spacing:.12em!important;font-weight:750!important;color:var(--muted)!important;text-transform:uppercase}.calendar-toggle-text strong{font-size:1.02rem!important;line-height:1.18;font-weight:760!important;color:var(--text)}.calendar-chevron{position:absolute;right:17px;font-size:1.25rem!important;line-height:1;color:var(--muted);transition:transform .2s ease}.calendar-toggle-card.open .calendar-chevron{transform:rotate(180deg)}html[dir=rtl] .calendar-chevron{right:auto;left:17px}.calendar-popover{position:absolute;left:50%;top:calc(100% + 8px);width:min(100%,520px);transform:translate(-50%,-6px) scale(.985);z-index:100;margin:0!important;padding:13px!important;opacity:0;max-height:none!important;overflow:visible!important;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.calendar-popover.open{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{text-align:center;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.calendar-blank{min-height:32px}.calendar-day{min-height:34px;border-radius:11px;border:1px solid var(--border);background:rgba(255,255,255,.70);font-size:.86rem;font-weight:820;color:var(--text);cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.calendar-day:hover{transform:translateY(-1px);background:#fff;border-color:rgba(14,165,233,.32)}.calendar-day.active{background:var(--active);color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(14,165,233,.20)}.calendar-day.today:not(.active){border-color:rgba(14,165,233,.55)}.calendar-day.no-match span{opacity:.45}html.dark .calendar-day{background:rgba(15,23,42,.42)}html.dark .calendar-day:hover{background:rgba(30,41,59,.9)}html.dark .calendar-popover{box-shadow:0 22px 56px rgba(0,0,0,.38)}

/* Match cards: uniform card design, centered content, only necessary information */
.match-list{display:grid;gap:12px}.match-card{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:8px!important;min-height:118px!important;padding:15px 18px!important;border-radius:18px!important;background:var(--card)!important;border:1px solid var(--border)!important;box-shadow:0 10px 28px rgba(31,47,70,.055)!important;grid-template-columns:none!important;grid-template-areas:none!important}.match-card:hover{background:var(--card-hover)!important;transform:translateY(-2px)!important;border-color:rgba(14,165,233,.38)!important;box-shadow:0 14px 32px rgba(14,165,233,.12)!important}.match-card-browser-time{display:block;width:100%;text-align:center;font-size:1.02rem!important;font-weight:860!important;color:var(--text)!important;line-height:1.15}.match-card-main{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:center!important;gap:12px!important;width:min(760px,100%)!important}.match-team{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0;text-align:center!important;line-height:1.16!important;font-weight:850!important;overflow:visible!important;white-space:normal!important}.match-team-inner{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:0;max-width:100%}.match-team-name{display:inline-block;text-align:center;overflow:hidden;text-overflow:ellipsis;line-height:1.16}.match-score{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:58px;padding:7px 10px!important;border-radius:13px!important;background:rgba(255,255,255,.62)!important;border:1px solid var(--border)!important;color:#0ea5e9!important;font-size:1.04rem!important;font-weight:900!important;line-height:1!important;white-space:nowrap}.match-card-stadium-time{display:block;width:100%;text-align:center;color:var(--muted)!important;font-size:.87rem!important;font-weight:760!important;line-height:1.2}.match-meta{display:block;width:100%;text-align:center;color:var(--muted)!important;font-size:.78rem!important;line-height:1.25;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.match-team-flag,.team-card-flag,.stadium-country-flag{width:24px!important;height:16px!important;object-fit:cover!important;border-radius:4px!important;box-shadow:0 0 0 1px var(--border)!important;background:rgba(255,255,255,.45)!important;flex:0 0 auto!important}.team-card-flag{width:23px!important;height:16px!important}.stadium-country-flag{width:24px!important;height:16px!important}

/* Team and stadium cards: compact, consistent, no oversized symbols */
.cards-grid{gap:12px}.teams-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.stadiums-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.teams-grid .compact-data-card,.stadiums-grid .compact-data-card,.group-card-grid .data-card{min-height:68px;padding:14px 15px;justify-content:center}.team-card-line{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.team-card-name{font-size:.98rem;font-weight:860;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-card-meta{display:inline-flex;align-items:center;gap:7px;font-size:.9rem;font-weight:850;color:var(--muted);white-space:nowrap}.team-card-meta span{font-weight:900;color:var(--muted)}.stadiums-grid .compact-data-card strong{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;font-size:.98rem;line-height:1.18}.stadiums-grid .compact-data-card span{font-size:.84rem;line-height:1.3;text-align:center;color:var(--muted)}
@media (max-width:700px){.site-header{margin-top:0;border-radius:0 0 18px 18px}.brand{font-size:.98rem}.brand-logo,.brand img.brand-logo{width:24px!important;height:24px!important}.header-store-link{display:none}.main-stage{padding:14px}.content-card{padding:14px}.match-card-main{grid-template-columns:1fr!important;gap:6px!important}.match-score{order:2}.match-team.home{order:1}.match-team.away{order:3}.match-card{min-height:0!important}.calendar-popover{width:min(100%,420px)}.calendar-day{min-height:32px;font-size:.8rem}.team-card-name{white-space:normal}}


/* Countdown stays, but only as a clean centered day counter. */
.countdown-card{margin:2px 0 14px!important;min-height:88px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:linear-gradient(135deg,rgba(14,165,233,.08),rgba(99,102,241,.08))!important;border:1px solid rgba(14,165,233,.18)!important;border-radius:20px!important;padding:14px 18px!important;box-shadow:0 12px 30px rgba(14,165,233,.08)!important}
.countdown-card[hidden]{display:none!important}
.countdown-card strong{display:block!important;margin:0!important;font-size:clamp(2.1rem,5vw,3.6rem)!important;line-height:1!important;font-weight:900!important;letter-spacing:-.04em!important;background:var(--active)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
html.dark .countdown-card{background:linear-gradient(135deg,rgba(14,165,233,.13),rgba(99,102,241,.11))!important;border-color:rgba(14,165,233,.24)!important}

/* GOLKIX compact-card and knockout-placeholder polish */
.content-card.compact-page{padding:14px!important;border-radius:22px!important}
.cards-grid{gap:9px!important}
.teams-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))!important}
.stadiums-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important}
.teams-grid .compact-data-card,.stadiums-grid .compact-data-card,.group-card-grid .data-card{min-height:52px!important;padding:10px 12px!important;border-radius:15px!important}
.team-card-line{display:grid!important;grid-template-columns:26px minmax(0,1fr) 18px;align-items:center;gap:8px;width:100%}
.team-card-name{text-align:center;font-size:.92rem!important;font-weight:820!important;line-height:1.12!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.team-card-meta{display:contents!important}
.team-card-meta .team-card-flag{grid-column:1;width:22px!important;height:15px!important;justify-self:center}
.team-card-meta span{grid-column:3;text-align:center;font-size:.84rem!important;font-weight:900!important;color:var(--muted)!important}
.stadiums-grid .compact-data-card strong{display:grid!important;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;width:100%;text-align:left!important;font-size:.92rem!important;font-weight:820!important}
.stadiums-grid .compact-data-card strong span{font-size:.92rem!important;color:var(--text)!important;line-height:1.12!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left!important}
.stadiums-grid .compact-data-card>span{font-size:.78rem!important;text-align:center!important;margin-top:2px}
.stadium-country-flag{width:22px!important;height:15px!important;justify-self:center}
.calendar-widget{max-width:520px;margin:2px auto 12px!important;width:100%}
.calendar-toggle-card{width:100%!important;min-height:54px!important;padding:8px 42px 9px!important}
.calendar-toggle-text small{font-size:.62rem!important;font-weight:650!important;letter-spacing:.10em!important}
.calendar-toggle-text strong{font-size:.94rem!important;font-weight:720!important}
.calendar-popover{width:100%!important}
.calendar-day{min-height:31px!important;border-radius:10px!important;font-size:.8rem!important}
.calendar-weekdays span{font-size:.63rem!important}
.match-card-main{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;width:min(680px,100%)!important;gap:10px!important}
.match-team.home{justify-content:flex-end!important;text-align:right!important}
.match-team.away{justify-content:flex-start!important;text-align:left!important}
.match-team-inner{gap:6px!important}
.match-team-name{font-size:.94rem!important;line-height:1.12!important}
.match-score{min-width:52px!important;padding:6px 9px!important;font-size:.98rem!important;border-radius:12px!important}
.match-card-browser-time{font-size:.96rem!important;font-weight:820!important}
.match-card-stadium-time{font-size:.82rem!important;font-weight:720!important}
.match-meta{font-size:.74rem!important}
@media (min-width:1000px){.teams-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.stadiums-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (min-width:1250px){.teams-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.stadiums-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (max-width:700px){.team-card-line{grid-template-columns:24px minmax(0,1fr) 16px}.match-team.home,.match-team.away{justify-content:center!important;text-align:center!important}}

/* GOLKIX consistency fix: readable country/team cards and uniform compact cards. */
.cards-grid{
  gap:12px!important;
  align-items:stretch!important;
}
.data-card.compact-data-card{
  min-height:76px!important;
  padding:13px 15px!important;
  border-radius:17px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}
.teams-grid{
  grid-template-columns:repeat(auto-fit,minmax(205px,1fr))!important;
}
.stadiums-grid{
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr))!important;
}
.group-card-grid{
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;
}
.team-card-line{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 24px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
}
.team-card-name{
  color:var(--text)!important;
  font-size:.98rem!important;
  font-weight:850!important;
  line-height:1.18!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  min-width:0!important;
}
.team-card-meta{
  display:contents!important;
}
.team-card-meta .team-card-flag{
  grid-column:1!important;
  width:24px!important;
  height:16px!important;
  justify-self:center!important;
  align-self:center!important;
}
.team-card-meta span{
  grid-column:3!important;
  justify-self:center!important;
  align-self:center!important;
  color:var(--muted)!important;
  font-size:.92rem!important;
  line-height:1!important;
  font-weight:900!important;
}
.stadiums-grid .compact-data-card strong{
  color:var(--text)!important;
  font-size:.98rem!important;
  line-height:1.18!important;
  font-weight:850!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
  width:100%!important;
}
.stadiums-grid .compact-data-card strong span{
  color:var(--text)!important;
  text-align:left!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.stadiums-grid .compact-data-card>span{
  color:var(--muted)!important;
  font-size:.84rem!important;
  line-height:1.22!important;
  text-align:center!important;
}
.group-card-grid .data-card strong,
.compact-data-card strong{
  color:var(--text)!important;
  font-size:.98rem!important;
  line-height:1.18!important;
}
.group-card-grid .data-card span,
.compact-data-card>span{
  color:var(--muted)!important;
  font-size:.84rem!important;
}
@media (min-width:1120px){
  .teams-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
  .stadiums-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}
@media (min-width:1440px){
  .teams-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
}
@media (max-width:720px){
  .teams-grid,.stadiums-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;}
  .data-card.compact-data-card{min-height:72px!important;padding:12px!important;}
  .team-card-line{grid-template-columns:28px minmax(0,1fr) 22px!important;gap:8px!important;}
  .team-card-name{font-size:.94rem!important;}
}


/* Score placeholder: readable in light and dark mode, no image needed */
.match-score.score-empty{
  background:rgba(14,165,233,.10)!important;
  border-color:rgba(14,165,233,.22)!important;
  color:#0369a1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important;
}
html.dark .match-score.score-empty{
  background:rgba(14,165,233,.16)!important;
  border-color:rgba(125,211,252,.28)!important;
  color:#e0f2fe!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.14)!important;
}
html.dark .match-score.score-empty::first-letter{color:#e0f2fe!important;}

/* Legal/static content pages */
.prose address{
  font-style:normal;
  line-height:1.65;
  margin:0 0 1rem;
}
.prose h2{
  font-size:1.05rem;
  line-height:1.3;
  margin:1.35rem 0 .45rem;
  color:var(--text);
}
.prose p{
  margin:.6rem 0;
}

/* GOLKIX final polish: logo, countdown, compact calendar */
.brand-logo,
.brand img.brand-logo{
  width:34px!important;
  height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  flex:0 0 34px!important;
  object-fit:contain!important;
  border-radius:7px!important;
  filter:drop-shadow(0 4px 9px rgba(14,165,233,.18))!important;
}
.brand{gap:10px!important;}
@media (max-width:760px){
  .brand-logo,
  .brand img.brand-logo{
    width:30px!important;
    height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    flex-basis:30px!important;
  }
}

/* Countdown bleibt sichtbar, aber ohne Kartenlook und etwas kleiner. */
.countdown-card{
  margin:0 auto 12px!important;
  min-height:0!important;
  padding:2px 0 4px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
.countdown-card strong{
  font-size:clamp(1.35rem,3vw,2.15rem)!important;
  letter-spacing:-.025em!important;
  font-weight:850!important;
}
html.dark .countdown-card{background:transparent!important;border:0!important;box-shadow:none!important;}

/* Kalender: kein Label „Datum wählen“, kompakter, und im Dark Mode deckend/lesbar. */
.calendar-toggle-text small{display:none!important;}
.calendar-widget{
  max-width:500px!important;
  margin:4px auto 12px!important;
}
.calendar-toggle-card{
  min-height:46px!important;
  padding:8px 42px!important;
  border-radius:17px!important;
}
.calendar-toggle-text strong{
  font-size:.96rem!important;
  font-weight:760!important;
}
.calendar-popover{
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(15,23,42,.12)!important;
  box-shadow:0 22px 55px rgba(15,23,42,.16)!important;
  backdrop-filter:blur(22px)!important;
  -webkit-backdrop-filter:blur(22px)!important;
}
html.dark .calendar-popover{
  background:#132238!important;
  border-color:rgba(255,255,255,.14)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.55)!important;
}
html.dark .calendar-day{
  background:#1e314b!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#e8f1ff!important;
}
html.dark .calendar-day:hover{
  background:#27415f!important;
  border-color:rgba(14,165,233,.45)!important;
}
html.dark .calendar-day.active{
  background:linear-gradient(135deg,#0ea5e9,#6366f1)!important;
  color:#fff!important;
  border-color:transparent!important;
}

/* Play Store badge */
.play-badge-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;transition:transform .22s ease,filter .22s ease}
.play-badge-link:hover{transform:translateY(-1px);filter:brightness(1.06)}
.play-badge{height:38px;width:auto;display:block}
@media (max-width:760px){.play-badge{height:34px}}

/* =========================================================
   GOLKIX responsive/mobile restoration
   Desktop keeps the current layout. On phones/tablets the
   main navigation moves to the bottom and cards become touch-first.
   ========================================================= */
:root{
  --mobile-nav-height:76px;
}
.brand span{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width: 900px), (max-aspect-ratio: 4/3){
  body{
    padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));
  }
  .site-header{
    position:sticky;
    top:0;
    z-index:80;
    width:100%;
    max-width:none;
    margin:0;
    border-radius:0 0 18px 18px!important;
    padding:10px 12px!important;
    gap:8px!important;
  }
  .brand{
    min-width:0;
    flex:1 1 auto;
    gap:8px!important;
    font-size:clamp(.9rem,3.4vw,1.05rem)!important;
    line-height:1.1!important;
  }
  .brand-logo,
  .brand img.brand-logo{
    width:30px!important;
    height:30px!important;
    max-width:30px!important;
    max-height:30px!important;
    flex:0 0 30px!important;
  }
  .header-actions{
    flex:0 0 auto;
    gap:7px!important;
  }
  .header-store-link{
    display:none!important;
  }
  .header-actions select{
    max-width:118px;
    padding:8px 9px!important;
    border-radius:12px!important;
    font-size:.78rem!important;
  }
  .theme-toggle{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    padding:0!important;
    border-radius:12px!important;
  }
  .shell{
    max-width:none;
    padding:10px 8px 18px!important;
  }
  .main-nav{
    position:fixed!important;
    left:0;
    right:0;
    bottom:0;
    top:auto!important;
    z-index:90;
    margin:0!important;
    border-radius:18px 18px 0 0!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:2px!important;
    padding:7px 6px calc(7px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 -14px 38px rgba(15,23,42,.14)!important;
    backdrop-filter:blur(22px)!important;
    -webkit-backdrop-filter:blur(22px)!important;
  }
  html.dark .main-nav{
    background:rgba(15,23,42,.94)!important;
    box-shadow:0 -16px 42px rgba(0,0,0,.48)!important;
  }
  .nav-link{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-width:0;
    padding:7px 4px!important;
    border-radius:13px!important;
    font-size:.68rem!important;
    line-height:1.05!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    transform:none!important;
  }
  .nav-link:hover{
    transform:none!important;
  }
  .nav-link.active{
    background:rgba(14,165,233,.10)!important;
  }
  .nav-link.active:after{
    left:24%!important;
    right:24%!important;
    bottom:2px!important;
    height:2px!important;
  }
  .main-stage{
    min-height:auto!important;
    border-radius:20px!important;
    padding:10px!important;
    overflow:visible!important;
  }
  .content-card{
    border-radius:18px!important;
    padding:12px!important;
  }
  .section-head{
    display:block!important;
    margin-bottom:12px!important;
  }
  .section-head h1,
  .content-card>h1,
  .hero h1{
    font-size:1.55rem!important;
  }
  .cards-grid,
  .teams-grid,
  .stadiums-grid,
  .group-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .data-card.compact-data-card,
  .group-card-grid .data-card{
    min-height:72px!important;
    padding:11px!important;
    border-radius:16px!important;
  }
  .team-card-line{
    grid-template-columns:26px minmax(0,1fr) 20px!important;
    gap:7px!important;
  }
  .team-card-name{
    font-size:.88rem!important;
    line-height:1.14!important;
  }
  .team-card-meta .team-card-flag,
  .match-team-flag,
  .stadium-country-flag{
    width:22px!important;
    height:15px!important;
  }
  .calendar-widget{
    max-width:100%!important;
    margin:2px auto 10px!important;
    z-index:70!important;
  }
  .calendar-toggle-card{
    min-height:42px!important;
    padding:7px 38px!important;
    border-radius:15px!important;
  }
  .calendar-toggle-text strong{
    font-size:.9rem!important;
  }
  .calendar-popover{
    width:100%!important;
    max-width:none!important;
    padding:10px!important;
    border-radius:18px!important;
  }
  .calendar-weekdays,
  .calendar-grid{
    gap:5px!important;
  }
  .calendar-day{
    min-height:32px!important;
    border-radius:10px!important;
    font-size:.78rem!important;
  }
  .calendar-blank{
    min-height:32px!important;
  }
  .countdown-card{
    margin:0 auto 9px!important;
    padding:0!important;
  }
  .countdown-card strong{
    font-size:1.32rem!important;
  }
  .match-list{
    gap:10px!important;
  }
  .match-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:0!important;
    padding:13px 10px!important;
    border-radius:17px!important;
  }
  .match-card-browser-time{
    font-size:.92rem!important;
  }
  .match-card-main{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:7px!important;
  }
  .match-team{
    justify-content:center!important;
    text-align:center!important;
    font-size:.86rem!important;
  }
  .match-team.home,
  .match-team.away{
    justify-content:center!important;
    text-align:center!important;
  }
  .match-team-inner{
    gap:5px!important;
  }
  .match-team-name{
    font-size:.86rem!important;
    line-height:1.12!important;
  }
  .match-score{
    min-width:46px!important;
    padding:6px 8px!important;
    font-size:.92rem!important;
    border-radius:11px!important;
  }
  .match-card-stadium-time{
    font-size:.76rem!important;
  }
  .match-meta{
    font-size:.72rem!important;
  }
  .table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .standings{
    min-width:620px!important;
  }
  .site-footer{
    padding:14px 10px calc(18px + var(--mobile-nav-height))!important;
    gap:12px!important;
    font-size:.82rem!important;
  }
  .consent-card{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
  }
  .consent-actions{
    justify-content:stretch!important;
  }
  .consent-actions button{
    flex:1 1 auto;
  }
}
@media (max-width: 420px){
  .brand span{
    max-width:170px;
  }
  .cards-grid,
  .teams-grid,
  .stadiums-grid,
  .group-card-grid{
    grid-template-columns:1fr!important;
  }
  .match-card-main{
    grid-template-columns:1fr!important;
  }
  .match-score{
    order:2;
    justify-self:center!important;
  }
  .match-team.home{order:1;}
  .match-team.away{order:3;}
  .nav-link{
    font-size:.64rem!important;
  }
  .header-actions select{
    max-width:98px;
  }
}
@media (min-width: 901px) and (min-aspect-ratio: 4/3){
  body{padding-bottom:0!important;}
}

/* Mobile Play Store badge row: visible on phones without squeezing the header. */
.mobile-store-row{
  display:none;
}
.mobile-store-link .play-badge{
  height:34px;
}
@media (max-width:900px), (max-aspect-ratio:4/3){
  .mobile-store-row{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    padding:8px 12px 2px;
    margin:0 auto;
    position:relative;
    z-index:60;
  }
  .mobile-store-row .play-badge{
    height:36px!important;
    width:auto!important;
  }
}
@media (max-width:420px){
  .mobile-store-row{
    padding-top:7px;
  }
  .mobile-store-row .play-badge{
    height:32px!important;
  }
}

/* GOLKIX: header logo display size only; favicon/source PNG remain unchanged. */
.site-header .brand-logo,
.site-header .brand img.brand-logo{
  width:36px!important;
  height:36px!important;
  max-width:36px!important;
  max-height:36px!important;
  flex:0 0 36px!important;
  border-radius:7px!important;
  filter:none!important;
}
@media (max-width:760px){
  .site-header .brand-logo,
  .site-header .brand img.brand-logo{
    width:32px!important;
    height:32px!important;
    max-width:32px!important;
    max-height:32px!important;
    flex:0 0 32px!important;
  }
}

/* GOLKIX requested fixes: group heading, readable active light-mode labels. */
.group-page-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  margin:2px 0 14px!important;
  text-align:center!important;
}
.group-page-head .eyebrow{
  margin:0!important;
  color:#0ea5e9!important;
}
.group-page-head h1{
  margin:0!important;
  font-size:clamp(1.55rem,3vw,2.25rem)!important;
  line-height:1.08!important;
  background:var(--active)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
.calendar-day.active,
.calendar-day.active span,
.date-pill.active,
.date-pill.active span,
.pill.active,
.pill.active span{
  color:#fff!important;
}
html:not(.dark) .calendar-day.active,
html:not(.dark) .calendar-day.active span,
html:not(.dark) .date-pill.active,
html:not(.dark) .date-pill.active span,
html:not(.dark) .pill.active,
html:not(.dark) .pill.active span{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(15,23,42,.22)!important;
}

.about-store-link{margin:18px 0 6px}.about-store-link .play-badge{height:46px}

/* GOLKIX 2026-05-24: small editorial teaser for the opening match day */
.opening-article{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  margin:14px 0 0!important;
  padding:16px 18px!important;
  line-height:1.55;
  transition:none!important;
}
.opening-article:hover{
  transform:none!important;
  background:var(--card)!important;
  border-color:var(--border)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.055)!important;
}
html.dark .opening-article:hover{
  background:var(--card)!important;
  border-color:var(--border)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}
.opening-article-kicker{
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.opening-article h2{
  margin:0 0 8px;
  font-size:1.12rem;
  line-height:1.25;
}
.opening-article p{
  margin:.45rem 0 0;
  color:var(--text);
  font-size:.95rem;
}
.opening-article p:last-child{color:var(--muted)}
.opening-article[hidden]{display:none!important}
