/* A football programme: paper, pitch green and a simple field emblem. */
:root{--bg:#f3efe4;--panel:#fffdf6;--edge:#d1d8cc;--text:#18352e;--muted:#425c50;--pink:#245344;--purple:#355e78;--green:#805712;--light:#fffdf6}
body{background:var(--bg)}
header{border-color:var(--edge)}
.wordmark small{color:#49675b!important}
.brand-home img{filter:none}
.online{background:#e6ebe2;color:#315344;border-color:#c8d3c8}
.nav button,.filters button{color:#315344;background:#fffdf6;border-color:#c8d3c8}
.nav button.active,.filters button.active,.nav button:hover{background:#123a30;color:#fff9e9;box-shadow:none;border-color:#123a30}
.hero,.career-hero{background:#123a30;border-color:#123a30;color:#fff9e9;box-shadow:none}
.hero:before{background:repeating-linear-gradient(115deg,transparent 0 9rem,#fff9e90a 9rem 18rem)}
.hero h1 em,.hero .tag,.career-hero .tag{color:#f2c76d}
.hero .ball{filter:none}
.hero-floating-crest{background:#ffffff19;border-color:#ffffff50}
.panel,.competition,.saved-card{background:var(--panel);border-color:var(--edge);box-shadow:none;color:var(--text)}
.competition b,.competition-country>h3,.tag{color:var(--text)}
.competition .count{color:#355e78}
.stage-banner{background:#123a30;color:#fff9e9;border-color:#123a30}
.stage-banner .tag,.stage-banner .round{color:#f2c76d}
button{background:#e9eee5;color:#18352e;border-color:#c8d3c8}
.primary,.hero-actions .primary{background:#f2c76d;color:#213c30;box-shadow:none}
input,select{background:#fffdf6;color:#18352e;border-color:#9bb1a4}
footer{color:#425c50}
.match-overlay .wordmark small{color:#f2c76d!important}
:root{color-scheme:light}
.club-picker{background:#fffdf6;border-color:var(--edge)}
.club-orbit{background:#dce8dc}
.arena-options,.arena-confirm,.daily-card{background:#fffdf6;color:var(--text);border-color:var(--edge)}
body.high-contrast{--text:#000;--muted:#121212;--edge:#181818}

.hero .metrics small{color:#d2e4d7}
.hero .ball{z-index:2;pointer-events:none}
:root{
  --control:#e9eee5;
  --input:#fffdf6;
  --input-edge:#9bb1a4;
  --orbit:#dce8dc;
  --facts:#e8eee4;
  --field-label:#365c4c;
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#101f1a;
  --panel:#192d25;
  --edge:#3a5549;
  --text:#f4f6e9;
  --muted:#b7cbbf;
  --pink:#abdfbf;
  --purple:#a2d1f1;
  --green:#f2c76d;
  --light:#fff9e9;
  --control:#233e32;
  --input:#14261f;
  --input-edge:#628373;
  --orbit:#264537;
  --facts:#1d372d;
  --field-label:#c4ddcf;
}
.nav button,.filters button,button{background:var(--control);color:var(--text);border-color:var(--edge)}
.nav button.active,.filters button.active,#themeToggle[aria-pressed="true"]{background:#123a30;color:#fff9e9;border-color:#668878}
input:not([type="color"]):not([type="file"]),select{background:var(--input);color:var(--text);border-color:var(--input-edge)}
input::placeholder{color:var(--muted);opacity:1}
.field,.quick-arena .field,.picker-side{color:var(--field-label)}
.club-picker,.arena-options,.arena-confirm,.daily-card,.result-box{background:var(--panel);color:var(--text);border-color:var(--edge)}
.club-orbit{background:var(--orbit)}
.picker-facts{background:var(--facts);border-color:var(--edge)}
.picker-facts b,.competition .count{color:var(--text)}
.picker-hint,footer,.wordmark small{color:var(--muted)!important}
.wheel-arrow{background:var(--control);color:var(--text);border-color:var(--edge)}
.match-overlay{background:var(--bg);color:var(--text);color-scheme:inherit}
.match-overlay .wordmark small{color:var(--muted)!important}
.match-help,.match-competition{color:var(--muted)}
.match-splash{background:var(--panel);color:var(--text)}
.splash-fixture small,.match-splash>small{color:var(--muted)}
.splash-warmup{width:min(280px,85%);max-height:68px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.warmup-lines{stroke:var(--input-edge);stroke-width:1.5}
.warmup-ball{fill:var(--green);stroke:none}
.warmup-kicker{animation:warmup-approach 2.6s ease-out both}
.warmup-leg{transform-box:fill-box;transform-origin:top center;animation:warmup-step .38s ease-in-out 5 alternate}
.warmup-leg.alternate{animation-direction:alternate-reverse}
.warmup-keeper{animation:warmup-shuffle .65s ease-in-out infinite alternate}
@keyframes warmup-approach{from{transform:translateX(-31px)}to{transform:translateX(48px)}}
@keyframes warmup-step{from{transform:rotate(-16deg)}to{transform:rotate(16deg)}}
@keyframes warmup-shuffle{from{transform:translateX(-14px)}to{transform:translateX(14px)}}
.reduce-motion .splash-warmup *{animation:none}
@media(prefers-reduced-motion:reduce){.splash-warmup *{animation:none}}
.splash-edition,.splash-vs{color:var(--green)}
.match-splash p{color:var(--muted)}
.match-meta .badge{background:var(--facts);color:var(--text)}
.match-tools .danger{color:#8d2940}
:root[data-theme="dark"] .match-tools .danger{color:#ffc0cd}

/* Match programme cover and shared surfaces. */
.hero,.career-hero{
  background:var(--panel);
  border-color:var(--edge);
  color:var(--text);
}
.hero:before,.hero:after{display:none}
.hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.35rem,5vw,4.6rem);
  letter-spacing:-.045em;
  line-height:1.06;
}
.hero h1 em{color:var(--purple);font-style:italic}
.hero .tag,.career-hero .tag{color:var(--purple)}
.hero p,.career-hero p,.hero .metrics small{color:var(--muted)}
.hero .metrics strong{color:var(--text)}
.hero-floating-crest{background:var(--facts);border-color:var(--edge)}
.primary,.hero-actions .primary{background:#244f69;color:#fff}
.hero-actions button:not(.primary){background:var(--control);color:var(--text);border-color:var(--edge)}

dialog,.coach-header,.match-card,.tie,.career-fixture,.career-stats div,
.champions-grid article,.drawer-title,.kit-choice,.rule-card{
  background:var(--panel);
  color:var(--text);
  border-color:var(--edge);
}
.competition .season,.results,.table-title,.result-box p,.session-note,.loading,
.coach-header p,.coach-rep span,.coach-rep small,.history-list article small,
.match-times{color:var(--muted)}
.daily-team-name{color:var(--text)}
.daily-versus{color:var(--green)}
.badge{background:var(--facts);color:var(--text)}
:root:not([data-theme="dark"]) :is(.negative,.results-list small,.danger){color:#8d2940}
:root:not([data-theme="dark"]) .competition .count{color:#355e78}
:root:not([data-theme="dark"]) :is(.club-orbit,.team-card){background:var(--orbit)}
:root:not([data-theme="dark"]) .team-crest:not(.has-logo){color:#fff;text-shadow:0 1px 2px #000,0 0 4px #000}
:root:not([data-theme="dark"]) .wheel-ticks i{background:#82968a}
:root:not([data-theme="dark"]) .wheel-ticks i.active{background:#805712}
.hero h1.football-quote{font-size:clamp(30px,4.2vw,56px);line-height:1.12;letter-spacing:-1.5px;text-wrap:balance;overflow-wrap:break-word}
.hero .quote-author{font-weight:700;margin-top:0;color:var(--text)}
.hero .quote-source{display:inline-block;font-size:12px;font-weight:400;margin-inline-start:8px;text-underline-offset:3px;color:inherit}
/* Na Marca: supplied blue/cyan/red identity, shared by every interface. */
:root{--bg:#edf3fa;--panel:#fff;--edge:#b8cadc;--text:#132b49;--muted:#455f79;--pink:#006b88;--purple:#155f99;--green:#00687b;--danger:#ac203c;--light:#fff;--control:#e2edf7;--input:#fff;--input-edge:#6c8ba8;--orbit:#dae8f6;--facts:#e7f0f8;--field-label:#294f70;--accent:#006b88;--active:#0c4165;color-scheme:light}
:root[data-theme="dark"]{--bg:#060e20;--panel:#101e35;--edge:#39516e;--text:#f4f8ff;--muted:#b5c7dc;--pink:#71e6fa;--purple:#89c9ff;--green:#71e6fa;--danger:#ff9db1;--light:#f4f8ff;--control:#1b304b;--input:#0a182c;--input-edge:#647f9e;--orbit:#162b48;--facts:#192c45;--field-label:#b8d9f4;--accent:#71e6fa;--active:#174d70;color-scheme:dark}
body{background:var(--bg);color:var(--text)}
:is(button,.nav button,.filters button,.wheel-arrow){background:var(--control);color:var(--text);border-color:var(--edge)}
:is(.nav button.active,.filters button.active,.nav button:hover,#themeToggle[aria-pressed="true"]){background:var(--active);color:#fff;border-color:var(--accent)}
:is(.primary,.hero-actions .primary){background:#066b8d;color:#fff;border:1px solid #076384;box-shadow:none}
:root[data-theme="dark"] :is(.primary,.hero-actions .primary){background:#70dff5;color:#061a2c;border-color:#70dff5}
button:hover{border-color:var(--accent)}
:is(button,input,select,a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
:is(.panel,.competition,.saved-card,.hero,.career-hero,dialog,.coach-header,.match-card,.tie,.career-fixture,.career-stats div,.champions-grid article,.drawer-title,.kit-choice,.rule-card,.club-picker,.arena-options,.arena-confirm,.daily-card,.result-box,.match-splash){background:var(--panel);color:var(--text);border-color:var(--edge)}
.hero{border-top:3px solid var(--accent);border-bottom:3px solid #cf2646}
.hero h1,.career-hero h1{font-family:'Segoe UI',Arial,sans-serif;font-weight:850;letter-spacing:-.035em}
.hero h1.football-quote{font-family:'Segoe UI',Arial,sans-serif;line-height:1.15}
:is(.tag,.competition .count,.competition-country>h3,.daily-team-name,.picker-facts b){color:var(--text)}
:is(.field,.quick-arena .field,.picker-side){color:var(--field-label)}
:is(.hero p,.career-hero p,.hero .metrics small,.competition .season,.results,.table-title,.result-box p,.session-note,.loading,footer,.picker-hint,.history-note,.history-source,.match-help,.match-competition,.coach-header p,.coach-rep span,.coach-rep small,.history-list article small){color:var(--muted)}
.wordmark small,.match-overlay .wordmark small{color:var(--muted)!important}
:is(.badge,.match-meta .badge,.picker-facts,.hero-floating-crest){background:var(--facts);color:var(--text);border-color:var(--edge)}
:is(.club-orbit,.team-card),:root:not([data-theme="dark"]) :is(.club-orbit,.team-card){background:var(--orbit)}
.stage-banner{background:var(--active);border-color:var(--active);color:#fff}
.stage-banner :is(.tag,.round,.competition-logo+p){color:#fff}
.stage-banner p{color:#dfedfa}
:is(input:not([type="color"]):not([type="file"]),select,textarea){background:var(--input);color:var(--text);border-color:var(--input-edge);accent-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
:is(.danger,.negative,.match-tools .danger),:root:not([data-theme="dark"]) :is(.negative,.results-list small,.danger),:root[data-theme="dark"] .match-tools .danger{color:var(--danger)}
.match-overlay{background:var(--bg);color:var(--text)}
.brand-home img,.wordmark img{width:130px!important;height:auto!important;aspect-ratio:1408/768;object-fit:contain;border-radius:8px;filter:none;flex-shrink:0}
.wordmark{gap:14px}
.hero .ball{width:320px!important;height:auto!important;aspect-ratio:1408/768;object-fit:contain;top:110px!important;right:30px!important;opacity:1!important;border-radius:14px!important;filter:none}
.competition .season,.competition .count{color:var(--muted)!important}
.wheel-ticks i.active,:root:not([data-theme="dark"]) .wheel-ticks i.active{background:var(--accent)}
.splash-edition,.splash-vs,.daily-versus{color:var(--accent)}
.warmup-ball{fill:var(--accent)}
body.high-contrast{--text:#000;--muted:#1b2838;--edge:#253b55}
:root[data-theme="dark"] body.high-contrast{--text:#fff;--muted:#e5f0ff;--edge:#a7c7ef}
@media(max-width:720px){.brand-home img,.wordmark img{width:90px!important}.wordmark{font-size:18px;gap:9px}.wordmark small{font-size:9px;letter-spacing:1px}.match-top .wordmark img{width:75px!important}}
.soft,.online,.toast,.match-help{background:var(--facts);color:var(--text);border-color:var(--edge)}
.result-overlay{background:color-mix(in srgb,var(--bg) 96%,transparent)}
.career-tabs .active{background:var(--active);color:#fff;border-color:var(--accent)}
.stage-identity{color:#fff!important}
.player-name,.player-name.defending{background:#09192fef;color:#fff;border-color:#71e6fa}
.splash-progress{background:var(--edge)}
.splash-progress i{background:var(--accent)}
.competition-fallback{color:var(--muted)}
.me{background:var(--facts);color:var(--text)}
.brand-home img,.wordmark img{width:92px!important;height:92px!important;aspect-ratio:1;object-fit:contain;border-radius:0;background:transparent}
.hero .ball{width:285px!important;height:285px!important;aspect-ratio:1;border-radius:0!important;background:none!important;top:75px!important}
@media(max-width:720px){.brand-home img,.wordmark img{width:76px!important;height:76px!important}.match-top .wordmark img{width:64px!important;height:64px!important}}
.hero{padding-right:390px}
.hero .home-statistics{position:absolute;right:32px;top:50%;transform:translateY(-50%);width:285px;display:grid;gap:12px;margin:0}
.home-statistics>div{padding:18px 22px;border:1px solid var(--edge);border-inline-start:3px solid var(--accent);border-radius:12px;background:var(--facts)}
.hero .home-statistics strong{font-size:32px;line-height:1.2;color:var(--text)}
.hero .home-statistics small{display:block;margin-top:6px;color:var(--muted);font-size:10px;letter-spacing:1.2px}
@media(max-width:900px){.hero{padding-right:28px;padding-bottom:28px}.hero .home-statistics{position:static;transform:none;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px}.home-statistics>div{padding:15px 12px}.hero .home-statistics small{font-size:9px;letter-spacing:.6px;overflow-wrap:anywhere}}
@media(max-width:400px){.hero .home-statistics{grid-template-columns:1fr}.home-statistics>div{display:flex;align-items:center;gap:12px}.hero .home-statistics small{margin-top:0}}
.app>header{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:22px;align-items:center;padding-bottom:14px;margin-bottom:22px}
.app>header .nav{margin:0;justify-content:center;gap:7px;min-width:0}
.app>header .nav button{padding:11px 13px;font-size:calc(12px * var(--font-scale,1));white-space:nowrap}
.header-theme{justify-content:flex-end}
#themeToggle.theme-switch{position:relative;display:flex;align-items:center;justify-content:space-between;flex:none;width:76px;height:38px;padding:5px 8px;border-radius:24px;border:1px solid var(--input-edge);background:var(--facts);color:var(--muted);box-shadow:inset 0 1px 3px #0002;isolation:isolate}
.theme-switch span{display:grid;place-items:center;z-index:1;width:22px;height:24px;pointer-events:none}
.theme-switch:before{content:'';position:absolute;inset-block-start:4px;inset-inline-start:4px;width:28px;height:28px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0004;transition:transform .2s ease,background .2s ease}
#themeToggle[aria-checked="false"] .theme-sun{color:#815200}
#themeToggle[aria-checked="true"]{background:#142e4b;border-color:#70dff5}
#themeToggle[aria-checked="true"]:before{transform:translateX(38px);background:#bfefff}
#themeToggle[aria-checked="true"] .theme-moon{color:#0b3150}
html[dir="rtl"] #themeToggle[aria-checked="true"]:before{transform:translateX(-38px)}
.reduce-motion .theme-switch:before{transition:none}
@media(prefers-reduced-motion:reduce){.theme-switch:before{transition:none}}
@media(max-width:1100px){.app>header{grid-template-columns:92px 1fr;gap:12px}.app>header .nav{grid-column:1/-1;grid-row:2;justify-content:flex-start}.header-theme{grid-column:2;grid-row:1}}
@media(max-width:720px){.app>header{grid-template-columns:76px 1fr;margin-bottom:18px;gap:10px}.app>header .nav{gap:6px}.app>header .nav button{padding:10px;font-size:calc(11px * var(--font-scale,1))}}
/* Hover feedback stays outside the match renderer. */
:is(.app button,.match-tools button,.home-statistics>div,.saved-card,.daily-card){transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.app>header .nav button{position:relative;overflow:hidden}
.app>header .nav button:after{content:'';position:absolute;inset-inline:20%;bottom:4px;height:2px;border-radius:2px;background:currentColor;opacity:.8;transform:scaleX(0);transition:transform .18s ease}
.app>header .nav button:focus-visible:after{transform:scaleX(1)}
.brand-home img{transition:transform .22s ease,filter .22s ease}
.theme-switch svg{transition:transform .25s ease}
@media(hover:hover) and (pointer:fine){
 .app button:not(:disabled):not(.brand-home):not(.theme-switch):hover,.match-tools button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 12px #00152a20}
 .app>header .nav button:hover:after{transform:scaleX(1)}
 .brand-home:hover img{transform:scale(1.06) rotate(-2deg);filter:drop-shadow(0 2px 5px #13b5dc55)}
 .theme-switch:hover .theme-sun svg{transform:rotate(35deg)}
 .theme-switch:hover .theme-moon svg{transform:rotate(-15deg)}
 .home-statistics>div:hover,.saved-card:hover,.daily-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 6px 16px #00152a18}
 .app button:not(:disabled):active,.match-tools button:not(:disabled):active{transform:translateY(0);box-shadow:none}
}
.reduce-motion :is(.app button,.match-tools button,.home-statistics>div,.saved-card,.daily-card,.brand-home img,.theme-switch svg),.reduce-motion .app>header .nav button:after{transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){:is(.app button,.match-tools button,.home-statistics>div,.saved-card,.daily-card,.brand-home img,.theme-switch svg),.app>header .nav button:after{transition:none!important;transform:none!important}}
.club-orbit .selection-globe{opacity:.9;filter:none;padding:10px 30px;object-fit:contain}
:root[data-theme="dark"] .club-orbit .selection-globe{opacity:.8;filter:brightness(1.45) saturate(.8)}
.club-orbit .orbit-lines{border-color:var(--edge);box-shadow:none;opacity:.45}
