:root {
  --bg: #071611;
  --bg-elevated: #10261d;
  --surface: #f4f0e5;
  --surface-soft: #e8e2d2;
  --text: #fbfaf4;
  --ink: #142219;
  --text-muted: #aebdb5;
  --accent: #f4c542;
  --green: #1a7348;
  --red: #b83a3f;
  --border: #284337;
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 85% 8%, rgba(244, 197, 66, 0.12), transparent 23rem),
    var(--bg);
  color: var(--text);
  line-height: 1.5;
}

body[data-category="hommes"] {
  --bg: #dff2e7;
  --bg-elevated: #f1faf5;
  --surface: #ffffff;
  --surface-soft: #eaf6ef;
  --text: #092c1f;
  --ink: #10261c;
  --text-muted: #526b60;
  --border: #b6d7c5;
  background: linear-gradient(135deg, #eef9f2 0%, #d8efdf 48%, #c4e4cf 100%);
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(7, 22, 17, 0.94);
  backdrop-filter: blur(16px);
}

.brand-ball,
.manifesto-ball {
  color: #ef7d22;
  text-shadow: -3px 0 var(--ink), 0 3px var(--ink);
}

.brand-manifesto {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: 1120px;
  margin: 1.5rem auto 0;
  padding: 1.2rem 1.4rem;
  border-radius: 1rem;
  background: #f2ead8;
  color: #0d3d2a;
  box-shadow: 0 0.6rem 0 #d8cfba;
}

.manifesto-ball { font-size: 3rem; }
.brand-manifesto .manifesto-ball {
  display: grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 1.15rem;
  border-radius: 50%;
  background: #fff;
  color: #fff;
  text-shadow: none;
  font-size: 0;
  box-shadow: 0 0 0 .25rem rgba(255,255,255,.28);
}
.brand-manifesto p { margin: 0 0 .25rem; font-size: .7rem; font-weight: 900; letter-spacing: .09em; }
.brand-manifesto strong { font-size: clamp(1.45rem, 5vw, 3rem); line-height: .88; letter-spacing: -.055em; }

.site-header {
  padding: 1.25rem max(1rem, calc((100vw - 1120px) / 2));
  border-bottom: 1px solid var(--border);
}

.header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}

.site-header h1 {
  margin: 0;
  font-size: clamp(1.45rem, 3vw, 2rem);
  letter-spacing: -0.04em;
}

.brand-link { color:var(--text); font-size:clamp(1.45rem,3vw,2rem); font-weight:900; letter-spacing:-.04em; text-decoration:none; }
.passion-page main { max-width:1180px; }
.passion-hero { min-height:27rem; margin-top:1rem; padding:clamp(2rem,7vw,5rem); display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; overflow:hidden; border-radius:1.4rem; background:radial-gradient(circle at 80% 25%,rgba(244,197,66,.34),transparent 14rem),linear-gradient(135deg,#173c2b,#071611 70%); box-shadow:0 1rem 2.5rem rgba(0,0,0,.35); }
.passion-hero h1 { max-width:10ch; margin:0; font-size:clamp(3rem,10vw,7rem); line-height:.84; letter-spacing:-.07em; }
.passion-hero p:last-child { max-width:42rem; color:#c9d7cf; font-size:clamp(1rem,2vw,1.25rem); }
.passion-ball { flex:0 0 auto; color:#ef7d22; font-size:clamp(7rem,18vw,14rem); line-height:.6; text-shadow:-1.2rem 0 #f4c542; }
.topic-nav { display:flex; gap:.55rem; overflow:auto; padding:1rem 0; }
.topic-nav a,.back-home { padding:.65rem 1rem; border:1px solid var(--border); border-radius:999px; color:var(--text); font-weight:800; text-decoration:none; white-space:nowrap; }
.passion-feature { display:grid; grid-template-columns:minmax(16rem,.8fr) 1.2fr; align-items:center; gap:clamp(1.5rem,5vw,4rem); margin:1rem 0 3rem; padding:clamp(1.2rem,4vw,2.5rem); border-radius:1.2rem; background:var(--surface); color:var(--ink); }
.feature-art { min-height:18rem; padding:1.5rem; display:flex; align-items:flex-end; justify-content:space-between; border-radius:1rem; background:linear-gradient(145deg,#ef7d22,#542412); color:white; }
.feature-art span { font-size:1rem; font-weight:900; letter-spacing:.15em; }.feature-art strong { font-size:clamp(5rem,12vw,9rem); line-height:.75; }
.passion-feature h2,.passion-section h2 { margin:.3rem 0 1rem; font-size:clamp(2rem,6vw,4.5rem); line-height:.9; letter-spacing:-.055em; }
.passion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.topic-card { min-height:17rem; padding:1.4rem; border:1px solid var(--border); border-radius:1rem; background:var(--bg-elevated); }
.topic-card > span { color:var(--accent); font-size:.75rem; font-weight:900; letter-spacing:.13em; }.topic-card h3 { margin:3rem 0 .7rem; font-size:1.7rem; }.topic-card p { color:var(--text-muted); }
.editorial-card { display:flex; flex-direction:column; }
.editorial-card h3 { margin:2rem 0 .7rem; }
.editorial-card .editorial-meta { margin-top:auto; padding-top:1.2rem; font-size:.82rem; }
.editorial-card a, .internal-link-button { color:var(--accent); font-weight:900; }
.internal-link-button { align-self:flex-start; padding:0; border:0; background:transparent; text-decoration:underline; cursor:pointer; }
.feed-fallback { grid-column:1/-1; padding:2rem; border:1px dashed var(--border); border-radius:1rem; }
.scroll-top { position:fixed; inset-inline-end:1rem; bottom:1rem; z-index:20; width:3rem; height:3rem; border:0; border-radius:50%; background:var(--accent); color:#071611; font-size:1.4rem; font-weight:900; box-shadow:0 .5rem 1.4rem rgba(0,0,0,.28); opacity:0; pointer-events:none; transform:translateY(.7rem); transition:.2s ease; }
.scroll-top[data-visible] { opacity:1; pointer-events:auto; transform:none; }
.back-home { display:inline-flex; margin-top:2rem; }
@media (max-width:700px) { .passion-ball{display:none}.passion-feature{grid-template-columns:1fr}.passion-grid{grid-template-columns:1fr}.passion-hero{min-height:24rem}.feature-art{min-height:13rem} }

.tagline {
  margin: 0.25rem 0 0;
  color: var(--text-muted);
  font-size: 0.95rem;
}

.language-switcher {
  display: flex;
  gap: 0.35rem;
  flex-shrink: 0;
}

.language-switcher button {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  color: var(--text-muted);
  border-radius: 999px;
  padding: 0.3rem 0.6rem;
  font-size: 0.8rem;
  cursor: pointer;
}

.language-switcher button[aria-pressed="true"] {
  color: var(--text);
  border-color: var(--accent);
}

.team-control {
  margin-top: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.team-control label {
  color: var(--text-muted);
  font-size: 0.85rem;
}

.team-control select {
  background: var(--bg-elevated);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 0.55rem 2.2rem 0.55rem 0.85rem;
  font-size: 0.9rem;
  max-width: 100%;
}

.team-control select:disabled {
  opacity: 0.6;
}

main {
  padding: 2rem 1rem 3rem;
  max-width: 1120px;
  margin: 0 auto;
}

.intro {
  padding: clamp(2rem, 7vw, 5rem) 0 clamp(1.5rem, 4vw, 3rem);
  max-width: 820px;
}

.hero {
  position: relative;
  max-width: none;
  min-height: clamp(23rem, 50vw, 37rem);
  margin-top: 1.5rem;
  padding: clamp(2rem, 7vw, 5rem);
  display: flex;
  flex-direction: column;
  justify-content: end;
  border-radius: 1.25rem;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(2,10,7,.18) 0%, rgba(2,10,7,.64) 48%, rgba(2,10,7,.92) 100%), url('./media/generated/hoop-totems-lions-basket-v2.png') center/cover;
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.35);
}

body[data-category="femmes"] {
  --accent: #a82655;
  --green: #7c213d;
  --bg: #fff6f2;
  --bg-elevated: #fffaf7;
  --border: #e8c5ca;
}

body[data-category="femmes"] .hero {
  background: linear-gradient(90deg, rgba(45,8,20,.16) 0%, rgba(62,11,28,.68) 48%, rgba(40,6,18,.94) 100%), url('./media/generated/hoop-totems-lionnes-basket-v3.png') center/cover;
}

body[data-category="femmes"] .universe-grid a {
  background: linear-gradient(145deg, #8d2949, #3d0b1d);
  border-color: #be6d82;
}

body[data-category="femmes"] .brief-card {
  box-shadow: inset 0 .3rem #8d2949;
}
body[data-category="femmes"] .briefs-panel,
body[data-category="femmes"] .player-card,
body[data-category="femmes"] .team-card,
body[data-category="femmes"] .memory-block { border:2px solid #c86d89; }
body[data-category="femmes"] .briefs-panel h2 { color:#65152f; }
body[data-category="femmes"] .hero-stats strong,
body[data-category="femmes"] .universe-grid span,
body[data-category="femmes"] .section-kicker,
body[data-category="femmes"] .brief-card > span { color:#8d2949; }
body[data-category="femmes"] .universe-grid span { color:#fff; }
body[data-category="femmes"] .brand-ball,
body[data-category="femmes"] .manifesto-ball,
body[data-category="femmes"] .u18-link { background:#a82655; color:#fff; }

.u18-link { display:inline-flex; margin-top:1rem; padding:.8rem 1rem; border-radius:999px; background:var(--accent); color:#17130a; font-weight:900; text-decoration:none; }

.hero > * { position: relative; z-index: 1; }
.hero-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; width:min(100%,34rem); margin-top:1.5rem; }
.hero-stats > span { min-width:0; padding:.75rem .85rem; border:1px solid rgba(255,255,255,.2); border-radius:.6rem; background:rgba(7,22,17,.78); }
.hero-stats > span > strong { display:block; color:var(--accent); font-size:1.45rem; line-height:1; }
.hero-stats > span > span { display:block; margin-top:.35rem; overflow-wrap:anywhere; color:#fff; font-size:.68rem; line-height:1.2; text-transform:uppercase; }
.hero h2,
.hero > p:not(.eyebrow) { color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.78); }
.hero > p.hero-team-identity { margin:.45rem 0 .5rem; color:var(--accent); font-size:clamp(1rem,1.65vw,1.35rem); font-weight:900; letter-spacing:.025em; }
body[data-category="femmes"] .hero > p.hero-team-identity { color:#fff; }
body[data-category="femmes"] .hero > .eyebrow { color:#f3aec4; text-shadow:0 2px 10px rgba(0,0,0,.72); }
body[data-category="femmes"] .unified-match-card__teams strong.is-selected { color:#f7d95e; }

.quickbar { position:sticky; top:8.4rem; z-index:10; display:flex; gap:.45rem; overflow:auto; margin:1rem 0; padding:.55rem; border-radius:999px; background:var(--surface); box-shadow:0 .45rem 1rem rgba(0,0,0,.22); }
.quickbar a { flex:1; min-width:max-content; padding:.45rem .8rem; color:var(--green); text-align:center; text-decoration:none; font-size:.72rem; font-weight:900; text-transform:uppercase; }

.universe-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }
.universe-grid a { position:relative; isolation:isolate; min-height:12rem; overflow:hidden; padding:1rem; border-radius:.85rem; background:linear-gradient(145deg,#134d34,#071b12); border:1px solid #2f6b50; color:white; text-decoration:none; }
.universe-grid a::before { content:""; position:absolute; inset:0; z-index:1; opacity:.09; background:repeating-linear-gradient(115deg,transparent 0 2.4rem,rgba(255,255,255,.5) 2.45rem 2.5rem); pointer-events:none; }
.universe-grid a::after { position:absolute; right:.65rem; bottom:-.25rem; z-index:-1; color:#fff; font-size:clamp(4rem,10vw,7rem); line-height:1; opacity:.09; filter:grayscale(1); }
.universe-grid a:nth-child(1)::after { content:"🏀"; }
.universe-grid a:nth-child(2)::after { content:"⛹"; }
.universe-grid a:nth-child(3)::after { content:"🏀"; transform:rotate(-18deg); }
.universe-grid a:nth-child(4)::after { content:"⛹"; transform:scaleX(-1); }
.universe-grid a:nth-child(5)::after { content:"🏟"; }
.universe-grid a:nth-child(6)::after { content:"🏆"; }
.universe-grid a:has(.card-watermark-image)::after { content:none; }
.card-watermark-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.34; filter:none; pointer-events:none; }
.universe-grid a > :not(.card-watermark-image),
.competition-card > :not(.card-watermark-image) { position:relative; z-index:2; }
.competition-card .card-watermark-image { opacity:.3; }
.universe-grid span { display:block; color:var(--accent); font-size:2rem; font-weight:900; }
.universe-grid small { display:block; margin-top:.7rem; color:#a8c8b5; text-transform:uppercase; letter-spacing:.1em; }
.universe-grid strong { display:block; margin-top:.25rem; font-size:1.25rem; }
.universe-grid p { color:#b8c9bf; font-size:.82rem; }

.memory-block { padding:clamp(1.4rem,4vw,2.5rem); border-radius:1rem; background:var(--surface); color:var(--ink); box-shadow:inset .35rem 0 var(--accent); }
.memory-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.memory-stats li { position:relative; overflow:hidden; padding:1.15rem; border:1px solid color-mix(in srgb,var(--green) 26%,#d4ccb9); border-radius:.85rem; background:linear-gradient(145deg,#fff 0%,color-mix(in srgb,var(--surface-soft) 58%,#fff) 100%); box-shadow:0 .65rem 1.5rem rgba(5,45,29,.11); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.memory-stats li::before { content:""; position:absolute; inset:0; z-index:0; background-image:var(--honour-watermark); background-position:center; background-size:cover; opacity:.84; filter:saturate(.82) contrast(1.08); pointer-events:none; }
.memory-stats li::after { content:""; position:absolute; inset:0; z-index:0; background:rgb(255 255 255 / 62%); pointer-events:none; }
.memory-stats li > * { position:relative; z-index:1; }
body[data-category="hommes"] .memory-stats li:nth-child(6n+1) { --honour-watermark:url("./media/news-gallery/men/action-01.jpg"); }
body[data-category="hommes"] .memory-stats li:nth-child(6n+2) { --honour-watermark:url("./media/news-gallery/men/action-02.jpg"); }
body[data-category="hommes"] .memory-stats li:nth-child(6n+3) { --honour-watermark:url("./media/news-gallery/men/action-03.jpg"); }
body[data-category="hommes"] .memory-stats li:nth-child(6n+4) { --honour-watermark:url("./media/news-gallery/men/action-04.jpg"); }
body[data-category="hommes"] .memory-stats li:nth-child(6n+5) { --honour-watermark:url("./media/news-gallery/men/action-05.jpg"); }
body[data-category="hommes"] .memory-stats li:nth-child(6n) { --honour-watermark:url("./media/news-gallery/men/action-06.jpg"); }
body[data-category="femmes"] .memory-stats li:nth-child(6n+1) { --honour-watermark:url("./media/news-gallery/women/action-01.jpg"); }
body[data-category="femmes"] .memory-stats li:nth-child(6n+2) { --honour-watermark:url("./media/news-gallery/women/action-02.jpg"); }
body[data-category="femmes"] .memory-stats li:nth-child(6n+3) { --honour-watermark:url("./media/news-gallery/women/action-03.jpg"); }
body[data-category="femmes"] .memory-stats li:nth-child(6n+4) { --honour-watermark:url("./media/news-gallery/women/action-04.jpg"); }
body[data-category="femmes"] .memory-stats li:nth-child(6n+5) { --honour-watermark:url("./media/news-gallery/women/action-05.jpg"); }
body[data-category="femmes"] .memory-stats li:nth-child(6n) { --honour-watermark:url("./media/news-gallery/women/action-06.jpg"); }
.memory-stats li:hover,.memory-stats li:focus-visible { transform:translateY(-3px); box-shadow:0 1rem 2rem rgba(5,45,29,.18); outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent); }
.memory-stats strong { display:block; margin:.5rem 0 .25rem; color:var(--green); font-size:clamp(1.15rem,2vw,1.55rem); line-height:1.05; }
.memory-year { display:block; color:var(--accent); font-family:Georgia,serif; font-size:2rem; font-weight:900; }
.memory-competition { display:block; color:var(--text-muted); font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.memory-stats p { position:relative; z-index:1; margin:.85rem 0 0; color:var(--ink); font-size:.88rem; line-height:1.5; text-transform:none; }
.memory-empty { margin-top:1.25rem; padding:1rem 1.15rem; border:1px dashed var(--theme-card-border-strong); border-radius:.85rem; background:var(--theme-card-soft); color:var(--text-muted); font-weight:700; }
.briefs-empty { display:block; margin-top:1rem; color:var(--text-muted); font-style:normal; font-weight:700; }
.national-schedule time { display:block; margin-top:.2rem; color:var(--text-muted); font-size:.78rem; }

.eyebrow,
.section-kicker {
  margin: 0 0 0.5rem;
  color: var(--accent);
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.intro h2 {
  margin: 0;
  font-size: clamp(2.3rem, 8vw, 5.5rem);
  line-height: 0.96;
  letter-spacing: -0.065em;
  max-width: 12ch;
}

.intro > p:last-child {
  max-width: 620px;
  margin: 1.25rem 0 0;
  color: var(--text-muted);
  font-size: clamp(1rem, 2vw, 1.2rem);
}

.status-banner {
  background: rgba(244, 197, 66, 0.1);
  border: 1px solid rgba(244, 197, 66, 0.35);
  border-radius: 0.8rem;
  padding: 0.9rem 1.1rem;
  color: #f8dda0;
}

.team-identity {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1.5rem;
  padding: clamp(1.4rem, 4vw, 2.2rem);
  border-radius: 1.25rem;
  background: linear-gradient(120deg, var(--green), #0d3f2a);
  box-shadow: inset 0 -0.35rem 0 var(--red);
}

.national-team { flex-wrap: wrap; }
.national-team > div:first-child { flex: 1 1 28rem; }
.national-facts { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:.7rem; flex:1 0 100%; }
.national-facts article { padding:1rem; border:1px solid rgba(255,255,255,.22); border-radius:.8rem; background:rgba(7,22,17,.35); }
.national-facts span { display:block; color:#d9e9df; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.national-facts strong { display:block; margin-top:.35rem; color:white; font-size:1.05rem; }
.national-schedule { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; flex:1 0 100%; }
.national-schedule article { padding:1rem; border-radius:.8rem; background:var(--surface); color:var(--ink); }
.national-schedule h3 { margin:0 0 .65rem; color:var(--green); }
.national-schedule li { padding:.45rem 0; border-top:1px solid #d4ccb9; font-size:.88rem; }
.national-schedule li:first-child { border-top:0; }
.empty-data { color:#58675f; font-style:italic; }


@media (max-width: 650px) {
  .national-facts, .national-schedule { grid-template-columns:1fr; }
  .identity-actions { justify-items:start; min-width:0; }
}

.tournament-page { min-height:100vh; background:var(--theme-page-bg,var(--bg)); color:var(--ink); }
.tournament-page-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem clamp(1rem,4vw,3rem); background:#003724; color:#fff; }
.tournament-page-header a { color:#fff; }
.tournament-page-main { width:min(72rem,calc(100% - 2rem)); margin:0 auto; padding:clamp(1.5rem,5vw,4rem) 0; }
.tournament-hero { padding:clamp(1.4rem,5vw,3rem); border-radius:1.4rem; background:var(--competition-card-bg); color:var(--competition-card-text); }
.tournament-hero h1 { max-width:22ch; margin:.4rem 0; color:inherit; }
.tournament-rounds { display:flex; gap:.6rem; overflow-x:auto; padding:1rem 0; }
.tournament-rounds a { flex:0 0 auto; padding:.55rem 1rem; border:1px solid var(--border); border-radius:999px; color:var(--ink); text-decoration:none; font-weight:800; }
.tournament-rounds a[aria-current="page"] { background:var(--competition-card-bg); color:var(--competition-card-text); border-color:var(--competition-card-bg); }
.tournament-page .window4-standings-wrap { overflow:hidden; padding:.35rem 1rem; border:1px solid rgb(255 255 255 / 14%); border-radius:1.3rem; background:linear-gradient(145deg,#1c1007,#0d0a07); box-shadow:0 1rem 2.8rem rgb(40 20 0 / 18%); }
.tournament-page .window4-standings { color:#f7ead0; }
.tournament-page .window4-standings th,.tournament-page .window4-standings td { color:inherit; border-bottom-color:rgb(255 255 255 / 12%); }
.tournament-page .window4-standings th { color:#aab0be; }
.tournament-page .window4-standings tbody tr[data-active-team="true"] { background:rgb(255 194 32 / 14%); }
.tournament-page .window4-standings tbody tr[data-active-team="true"] td:first-child { color:#ffd21c; }
.tournament-page .window4-qualification { padding:1rem 1.1rem; border-radius:1rem; background:var(--competition-card-bg); color:var(--competition-card-text); font-weight:700; }
.tournament-story { max-width:62ch; margin:1.2rem 0 0; color:var(--competition-card-muted); font-size:clamp(.95rem,2vw,1.15rem); line-height:1.6; }
.tournament-explainer { padding:clamp(1.1rem,3vw,2rem); border:1px solid var(--border); border-radius:1.35rem; background:var(--surface); }
.tournament-explainer__body { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.tournament-explainer__body p { margin:0; color:#42564d; line-height:1.65; }
.tournament-probability-reading { margin-top:1.25rem; padding:1.1rem 1.2rem; border-inline-start:.3rem solid var(--accent); border-radius:.9rem; background:#fff5cf; color:#332709; }
.tournament-probability-reading strong { display:block; margin-bottom:.4rem; color:#173126; font-size:clamp(1rem,2vw,1.3rem); }
.tournament-probability-reading p { margin:0; line-height:1.65; }
.tournament-article { display:grid; grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr); overflow:hidden; border:1px solid var(--border); border-radius:1.35rem; background:var(--surface); box-shadow:0 .9rem 2.2rem rgb(0 40 25 / 12%); }
.tournament-article img { width:100%; height:100%; min-height:22rem; object-fit:cover; }
.tournament-article > div { padding:clamp(1.2rem,4vw,2.4rem); }
.tournament-article span { color:var(--accent); font-size:.72rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.tournament-article h3 { margin:.55rem 0 1rem; color:var(--green); font-size:clamp(1.55rem,4vw,2.8rem); line-height:1.02; }
.tournament-article p { margin:0; color:#42564d; line-height:1.7; white-space:pre-line; }
.tournament-participants { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.tournament-participant-card { position:relative; display:flex; min-height:clamp(11rem,20vw,16rem); flex-direction:column; justify-content:flex-end; overflow:hidden; padding:1rem; border:1px solid var(--border); border-radius:1.2rem; background:linear-gradient(180deg,transparent 18%,rgb(0 25 16 / 92%)),var(--participant-image) center/cover; color:#fff; text-decoration:none; box-shadow:0 .8rem 2rem rgb(0 40 25 / 14%); }
.tournament-participant-card::after { content:""; position:absolute; inset:0; background:linear-gradient(130deg,rgb(255 194 32 / 12%),transparent 45%); pointer-events:none; }
.tournament-participant-card > * { position:relative; z-index:1; }
.tournament-participant-card__flag { font-size:1.5rem; }
.tournament-participant-card strong { display:block; margin:.25rem 0; font-size:clamp(1.1rem,2.5vw,1.55rem); }
.tournament-participant-card small { color:#d6e8de; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.tournament-participant-card[aria-current="true"] { outline:3px solid var(--accent); outline-offset:2px; }

.unified-match-card { --match-accent:var(--accent); position:relative; isolation:isolate; min-height:18rem; overflow:hidden; padding:clamp(1.1rem,3vw,1.8rem); border:1px solid color-mix(in srgb,var(--match-accent) 42%,var(--border)); border-radius:1.35rem; background:linear-gradient(115deg,rgb(0 29 19 / 96%) 15%,rgb(0 45 29 / 88%) 62%,rgb(0 29 19 / 72%)),var(--match-card-image) right center/cover; color:#fff; box-shadow:0 1.1rem 2.7rem rgb(0 25 16 / 18%); }
.unified-match-card::after { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(circle at 86% 10%,rgb(255 194 32 / 24%),transparent 32%); }
.unified-match-card--live { --match-accent:#ff365f; box-shadow:0 0 0 1px #ff365f,0 1.1rem 2.7rem rgb(80 0 20 / 28%); }
.unified-match-card__top,.unified-match-card__meta { display:flex; align-items:center; justify-content:space-between; gap:.7rem 1rem; flex-wrap:wrap; }
.unified-match-card__competition { max-width:68ch; color:var(--match-accent); font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.match-state-badge { padding:.38rem .7rem; border:1px solid rgb(255 255 255 / 30%); border-radius:999px; background:rgb(0 0 0 / 26%); font-size:.72rem; font-weight:900; text-transform:uppercase; }
.match-state-badge--live { border-color:#ff365f; background:#d90038; }
.match-state-badge--imminent { border-color:#ffd21c; background:#ffd21c; color:#173126; }
.unified-match-card__teams { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:clamp(.7rem,3vw,2rem); margin:clamp(1.6rem,5vw,3.2rem) 0 1rem; }
.unified-match-card__teams strong { color:#fff; font-size:clamp(1.2rem,4vw,2.3rem); line-height:1.05; }
.unified-match-card__teams strong:last-child { text-align:end; }
.unified-match-card__teams strong.is-selected { color:var(--match-accent); }
.unified-match-card__score { min-width:3.4rem; padding:.55rem .7rem; border-radius:.8rem; background:rgb(0 0 0 / 48%); color:#fff; font-size:clamp(1.15rem,3.4vw,2rem); font-weight:900; text-align:center; }
.unified-match-card__meta { justify-content:flex-start; color:#d6e8de; font-size:.88rem; }
.unified-match-card__meta time { color:#fff; font-weight:800; }
.unified-match-card__live-detail { margin-top:.9rem; color:var(--match-accent); font-size:1.15rem; font-weight:900; }
.unified-countdown { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; width:min(100%,30rem); margin-top:1.2rem; }
.unified-countdown__unit { padding:.7rem .35rem; border:1px solid rgb(255 255 255 / 24%); border-radius:.8rem; background:rgb(255 255 255 / 9%); text-align:center; backdrop-filter:blur(5px); }
.unified-countdown__unit strong,.unified-countdown__unit small { display:block; }
.unified-countdown__unit strong { color:#fff; font-size:clamp(1.15rem,3.2vw,1.75rem); font-variant-numeric:tabular-nums; }
.unified-countdown__unit small { margin-top:.15rem; color:#cde0d6; font-size:.62rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.next-match-card { display:grid; gap:1rem; }
.unified-match-card__tournament { min-width:0; }
.window4-toggle.tournament-entry-card { position:relative; isolation:isolate; display:grid; grid-template-columns:1fr; align-items:start; gap:1rem; min-height:clamp(14rem,29vw,21rem); overflow:hidden; margin:0; padding:clamp(1.25rem,4vw,2.4rem); border:1px solid color-mix(in srgb,var(--competition-card-accent) 58%,transparent); border-radius:1.35rem; background:radial-gradient(circle at 78% 24%,rgb(255 194 32 / 28%),transparent 28%),linear-gradient(118deg,#071a13 3%,#06452f 58%,#0b251b); color:#fff; text-decoration:none; box-shadow:0 1.2rem 3rem rgb(0 35 22 / 24%); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.tournament-entry-card::before { content:""; position:absolute; z-index:-1; inset:0; background:repeating-linear-gradient(115deg,transparent 0 3.1rem,rgb(255 255 255 / 4%) 3.15rem 3.2rem); pointer-events:none; }
.tournament-entry-card:hover,.tournament-entry-card:focus-visible { transform:translateY(-3px); border-color:var(--competition-card-accent); box-shadow:0 1.5rem 3.4rem rgb(0 35 22 / 32%); }
.tournament-entry-card:focus-visible { outline:3px solid var(--competition-card-accent); outline-offset:3px; }
.tournament-entry-card__watermark { position:absolute; z-index:-1; inset:auto clamp(-3rem,-2vw,-1rem) -3.5rem auto; width:min(58%,35rem); height:auto; opacity:.17; filter:drop-shadow(0 1rem 1.6rem rgb(0 0 0 / 30%)); transform:rotate(-2deg); pointer-events:none; }
.tournament-entry-card__content { display:block; max-width:50rem; }
.tournament-entry-card__kicker,.tournament-entry-card__context { display:block; font-size:.72rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.tournament-entry-card__kicker { color:var(--competition-card-accent); }
.tournament-entry-card__title { display:block; max-width:16ch; margin:.45rem 0 .6rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,6vw,4.7rem); line-height:.9; letter-spacing:-.035em; }
.tournament-entry-card__context { color:#d3e8dd; }
.tournament-entry-card__qualification { max-width:58ch; margin:1rem 0 0; color:#e5f1eb; font-size:clamp(.84rem,1.7vw,1rem); line-height:1.5; }
.tournament-entry-card__cta { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; justify-self:start; padding:.72rem 1rem; border-radius:999px; background:var(--competition-card-accent); color:#17251d; font-size:.72rem; font-weight:950; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
@media (max-width:650px) { .window4-toggle.tournament-entry-card { min-height:18rem; } .tournament-entry-card__watermark { width:86%; right:-7rem; bottom:-2rem; opacity:.13; } }
@media (max-width:780px) { .tournament-explainer__body,.tournament-article { grid-template-columns:1fr; } .tournament-article img { min-height:14rem; max-height:20rem; } }
.tournament-page .match-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tournament-page .match-list > li { min-width:0; }
.tournament-page .unified-match-card { height:100%; min-height:20rem; }
.tournament-page .unified-match-card--featured { min-height:clamp(25rem,48vw,38rem); padding:clamp(1.4rem,5vw,3.2rem); background:linear-gradient(105deg,rgb(0 25 16 / 96%) 8%,rgb(0 45 29 / 78%) 62%,rgb(0 29 19 / 48%)),var(--match-card-image) center/cover; }
.tournament-page .unified-match-card--featured .unified-match-card__teams strong { font-size:clamp(1.8rem,5vw,4.4rem); }
.tournament-page .unified-match-card--featured .unified-match-card__score { font-size:clamp(1.7rem,5vw,3.5rem); }
.tournament-scoreboard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; padding:1rem; border-radius:1.4rem; background:linear-gradient(145deg,#1a1008,#090806); box-shadow:0 1rem 2.8rem rgb(40 20 0 / 18%); }
.scoreboard-match { position:relative; padding:1rem; border:1px solid rgb(255 255 255 / 12%); border-radius:1rem; color:#f7ead0; background:linear-gradient(145deg,rgb(45 28 13 / 88%),rgb(16 12 8 / 94%)); }
.scoreboard-match--live { border-color:#ff365f; box-shadow:0 0 0 1px #ff365f; }
.scoreboard-match__status { color:#ffd21c; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.scoreboard-match--live .scoreboard-match__status { color:#ff5475; }

.unified-match-card__live-detail small { display:block; margin-top:.3rem; font-size:.72rem; font-weight:700; }
.unified-match-card__live-detail small.is-stale { color:#ffd25a; }
.scoreboard-match > small { float:inline-end; color:#8d96a7; font-size:.68rem; }
.scoreboard-match__teams { clear:both; padding-top:.75rem; }
.scoreboard-match__teams > div { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.62rem 0; border-top:1px solid rgb(255 255 255 / 10%); }
.scoreboard-match__teams span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.scoreboard-match__teams strong { color:#73f29e; font-size:1.25rem; font-variant-numeric:tabular-nums; }

.team-identity h2 {
  font-size: clamp(2rem, 7vw, 4.5rem);
  line-height: 0.95;
}

.team-identity p {
  margin: 0.75rem 0 0;
  color: #d9e9df;
}

.identity-actions {
  display: grid;
  justify-items: end;
  gap: 0.75rem;
  min-width: max-content;
}

a {
  color: inherit;
  text-underline-offset: 0.2em;
}

.identity-actions a,
.competition-card a,
.brief-card a,
.player-card > a {
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.identity-actions a {
  padding: 0.65rem 0.85rem;
  border-radius: 999px;
  background: var(--accent);
  color: var(--ink);
  text-decoration: none;
}

section {
  margin-top: clamp(2rem, 6vw, 4.5rem);
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--border);
  padding-bottom: 0.8rem;
  margin-bottom: 1rem;
}

.section-heading p {
  order: 2;
  margin-bottom: 0.15rem;
}
.section-heading h2 { color: var(--theme-heading, var(--text)); }
.section-heading .section-kicker { color: var(--theme-heading, var(--text-muted)); }
.quick-heading { align-items:flex-end; }
.quick-heading h2 { max-width:18ch; color:var(--green); font-size:clamp(2rem,5vw,4.2rem); line-height:.92; }
.quick-heading .section-kicker { color:var(--text-muted); }
body[data-category="femmes"] .quick-heading h2 { color:#7a1839; }
body[data-category="femmes"] .quick-heading .section-kicker { color:#8f294d; }
.profiles-count { margin-left:auto; color:var(--text-muted); font-size:clamp(.85rem,1.6vw,1.05rem); white-space:nowrap; }

section h2 {
  margin: 0;
  font-size: clamp(1.65rem, 4vw, 2.7rem);
  letter-spacing: -0.045em;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.team-grid,
.player-grid,
.competition-grid,
.brief-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 0.8rem;
}
.briefs-panel { padding:clamp(1rem,3vw,2rem); border:1px solid var(--border); border-radius:1.5rem; background:var(--surface); box-shadow:0 1rem 2.5rem rgb(0 25 16 / 10%); }
.briefs-hero { display:grid; grid-template-columns:minmax(13rem,.8fr) minmax(18rem,1.2fr); gap:clamp(1rem,4vw,2.5rem); align-items:center; margin-bottom:1.2rem; padding:1rem; border:1px solid var(--border); border-radius:1.15rem; background:var(--bg-elevated); }
.briefs-hero[hidden] { display:none; }
.briefs-hero img { width:100%; height:clamp(13rem,30vw,22rem); object-fit:cover; object-position:center 30%; border-radius:.85rem; }
.briefs-hero strong { display:block; margin:.35rem 0; color:var(--accent); font-size:clamp(1.7rem,4vw,3.5rem); line-height:.95; }
.briefs-hero span { color:var(--accent); font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.briefs-count { display:inline-flex; margin-left:.75rem; padding:.3rem .6rem; border:1px solid var(--border); border-radius:999px; color:var(--ink); background:var(--surface); font-size:.8rem; }
.briefs-hero p { color:#31483e; }
.briefs-hero a,.briefs-hero button { color:var(--accent); font-weight:900; }
.brief-card strong { display:block; color:var(--accent); font-size:clamp(1rem,1.8vw,1.35rem); line-height:1.08; }
.brief-card > span { color:var(--accent); font-weight:900; }
.brief-card p { color:#42564d; white-space:pre-line; }
.brief-card__date { display:block; margin-top:.8rem; color:#60746a; font-size:.72rem; font-weight:800; letter-spacing:.02em; }
.player-filters { display:grid; grid-template-columns:minmax(14rem,2fr) repeat(3,minmax(9rem,1fr)); gap:.75rem; margin-bottom:1rem; padding:1rem; border:1px solid var(--border); border-radius:1rem; background:var(--surface); color:var(--ink); }
.player-filters label { display:grid; gap:.35rem; font-size:.75rem; font-weight:900; }
.player-filters input,.player-filters select { width:100%; min-height:3rem; padding:.6rem .75rem; border:1px solid var(--border); border-radius:.7rem; background:var(--bg-elevated); color:var(--ink); font:inherit; }
.player-filter-empty { padding:1rem; border:1px dashed var(--border); border-radius:.8rem; background:var(--surface); color:var(--ink); text-align:center; }
.national-facts article.is-clickable { cursor:pointer; transition:transform .18s ease, box-shadow .18s ease; }
.national-facts article.is-clickable:hover,.national-facts article.is-clickable:focus-visible { transform:translateY(-2px); box-shadow:0 .75rem 1.5rem rgb(0 0 0 / 16%); outline:2px solid var(--accent); }
.player-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }

.team-card,
.player-card,
.match-card {
  border-radius: 1rem;
  padding: 1rem;
}

.team-card,
.player-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  position: relative;
  padding-bottom: 2.6rem;
  background: var(--surface);
  color: var(--ink);
}
.team-card { min-height:14rem; padding:1.4rem; }
.team-card > div { min-width:0; flex:1; }
.team-card .team-country { color:var(--green); font-size:.76rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.team-card strong { margin:.25rem 0 .8rem; color:var(--green); font-size:1.45rem; line-height:1.05; }
.team-followed-players { color:var(--text-muted); line-height:1.45; }
.team-players-button { margin-top:1rem; padding:0; border:0; background:transparent; color:var(--green); font-weight:900; text-transform:uppercase; cursor:pointer; }

.player-card > div {
  min-width: 0;
}
.player-card { display:grid; grid-template-columns:3.25rem minmax(0,1fr) auto; min-height:13rem; padding:1.15rem; gap:.8rem; }
.player-card > div strong { color:var(--green); font-size:1rem; line-height:1.05; }
.player-card > div span { font-size:.82rem; }
.player-stat-badge { align-self:start; min-width:3.4rem; padding:.45rem; border:1px solid var(--border); border-radius:.75rem; text-align:center; background:var(--bg-elevated); }
.player-stat-badge strong { color:var(--ink); font-size:1.15rem; }
.player-stat-badge small { color:var(--green); font-size:.62rem; }
.player-match-grid { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.player-match-box { min-width:0; padding:.55rem; border:1px solid var(--border); border-radius:.65rem; background:var(--bg-elevated); }
.player-match-box small { display:block; margin-bottom:.25rem; color:var(--green); font-size:.58rem; font-weight:900; text-transform:uppercase; }
.player-match-box strong { display:block; overflow:hidden; color:var(--ink); font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }

.player-card > a {
  position: absolute;
  left: 4.85rem;
  bottom: 0.85rem;
  color: var(--green);
}

.player-card .player-club {
  margin-top: 0.5rem;
  color: var(--ink);
  font-weight: 650;
  line-height: 1.25;
}

.competition-card,
.brief-card {
  min-height: 13rem;
  padding: 1.2rem;
  border-radius: 1rem;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
}
.competition-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--competition-card-bg) 92%, white), var(--competition-card-bg));
  border-color: var(--competition-card-border);
  color: var(--competition-card-text);
  box-shadow: 0 14px 30px rgb(0 30 18 / 14%);
}
.competition-card::after {
  content: "";
  position: absolute;
  inset: auto -2.5rem -3.5rem auto;
  width: 8rem;
  aspect-ratio: 1;
  border: 1.25rem solid color-mix(in srgb, var(--competition-card-accent) 14%, transparent);
  border-radius: 50%;
  pointer-events: none;
}
.competition-card, .brief-card, .team-card { cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
.competition-card:hover, .brief-card:hover, .team-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgb(0 25 16 / 15%); }
.brief-card { overflow: hidden; padding: 0 1.2rem 1.2rem; }
.brief-card > img { width: calc(100% + 2.4rem); height: 10rem; margin: 0 -1.2rem 1rem; object-fit: cover; object-position:center 30%; }

.competition-card > span,
.brief-card > span {
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.competition-card > span { color: var(--competition-card-accent); }

.competition-card strong,
.brief-card strong {
  display: block;
  margin-top: 1rem;
  font-size: 1.25rem;
  line-height: 1.1;
}
.competition-card strong { color: var(--competition-card-text); }

.competition-card p,
.brief-card p {
  color: var(--text-muted);
  font-size: 0.86rem;
}
.competition-card p { color: var(--competition-card-muted); }

.competition-card a,
.brief-card a {
  color: var(--accent);
}

.team-card strong,
.team-card span,
.player-card strong,
.player-card span,
.match-card strong,
.match-card span {
  display: block;
}

.team-card div > span,
.player-card div > span {
  margin-top: 0.15rem;
  color: #526158;
  font-size: 0.82rem;
}

.country-mark,
.player-avatar {
  display: grid !important;
  place-items: center;
  width: 3rem;
  height: 3rem;
  flex: 0 0 3rem;
  border-radius: 50%;
  background: var(--green);
  color: white;
  font-size: 0.78rem;
  font-weight: 800;
  border-bottom: 0.3rem solid var(--red);
}

.player-avatar {
  background: var(--ink);
  border-bottom-color: var(--accent);
  overflow: hidden;
  position: relative;
  margin: 0;
}

.player-avatar img { width: 100%; height: 100%; object-fit: cover; object-position:center 30%; }
.player-avatar figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 0.15rem;
  background: rgb(0 0 0 / 72%);
  color: white;
  font-size: 0.42rem;
  line-height: 1.15;
}
.player-card-photo-credit { grid-column:1/-1; color:var(--text-muted); font-size:.68rem; line-height:1.35; }
.player-dialog-photo { max-width:32rem; margin:0 auto 1.2rem; }
.player-dialog-photo img { display:block; width:auto; max-width:100%; max-height:34rem; margin:auto; border-radius:1rem 1rem 0 0; object-fit:contain; object-position:top center; }
.player-dialog-photo figcaption { padding:.65rem .8rem; border:1px solid var(--border); border-top:0; border-radius:0 0 1rem 1rem; color:var(--text-muted); background:var(--bg-elevated); font-size:.75rem; line-height:1.4; }

.national-team-visual {
  grid-column: 1 / -1;
  margin: 0 0 0.5rem;
  overflow: hidden;
  border-radius: 1.2rem;
  background: var(--ink);
}
.national-team-visual img { display: block; width: 100%; max-height: 22rem; object-fit: cover; }
.national-team-visual figcaption { padding: 0.35rem 0.65rem; color: white; font-size: 0.68rem; }
.federation-name { display:block; max-width:24rem; color:var(--accent); font-weight:800; }

.match-list {
  display: grid;
  gap: 0.8rem;
}

.match-card {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
}

.match-label {
  margin-bottom: 0.55rem;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.match-card strong {
  font-size: clamp(1rem, 3vw, 1.25rem);
}

.match-card strong + span {
  margin-top: 0.45rem;
  color: var(--text-muted);
  font-size: 0.84rem;
}

.site-footer {
  padding: 1rem;
  max-width: 1120px;
  margin: 0 auto 2rem;
  color: var(--text-muted);
  font-size: 0.85rem;
}
.site-footer nav { display:flex; gap:1rem; flex-wrap:wrap; margin-top:.65rem; }
.site-footer a { color:var(--green); font-weight:800; }
.legal-page { min-height:100vh; background:var(--theme-page-gradient),var(--theme-page-bg); color:var(--text); }
.legal-page main { width:min(54rem,calc(100% - 2rem)); margin:0 auto; padding:3rem 0; }
.legal-page article { padding:clamp(1.25rem,4vw,3rem); border:1px solid var(--theme-card-border); border-radius:1.5rem; background:var(--theme-card-bg); box-shadow:0 1.2rem 3rem rgba(5,32,23,.12); }
.legal-page h1 { margin:.3rem 0 2rem; font-size:clamp(2.3rem,7vw,5rem); line-height:.9; }
.legal-page h2 { margin:2rem 0 .6rem; color:var(--theme-heading); }
.legal-page p { max-width:68ch; color:var(--text-muted); line-height:1.65; }
.legal-page a { color:var(--green); font-weight:800; }
.legal-back { display:inline-block; margin-bottom:1.2rem; }

/* Aucun débordement horizontal sur petit écran */
img,
table {
  max-width: 100%;
}

@media (min-width: 768px) {
  main {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 640px) {
  .brand-manifesto { margin-inline:1rem; }
  .universe-grid { grid-template-columns:repeat(2,1fr); }
  .memory-stats { grid-template-columns:1fr; }
  .hero-stats { gap:.4rem; }
  .hero-stats > span { padding:.6rem .55rem; }
  .hero-stats > span > strong { font-size:1.2rem; }
  .hero-stats > span > span { font-size:.58rem; }
  .team-identity {
    align-items: start;
    flex-direction: column;
  }

  .identity-actions {
    justify-items: start;
    min-width: 0;
  }
}
.player-profile-button {
  grid-column:1/-1;
  justify-self:start;
  margin-top:0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--green);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
}

.player-card { cursor: pointer; }
.player-card:focus-visible,
.player-card:hover { outline: 3px solid color-mix(in srgb, var(--accent) 65%, transparent); outline-offset: 2px; }

.player-dialog,
.details-dialog {
  width: min(42rem, calc(100vw - 2rem));
  max-height: min(46rem, calc(100vh - 2rem));
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 1.5rem;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 1.5rem 5rem rgba(0, 20, 12, 0.38);
}
.player-dialog::backdrop, .details-dialog::backdrop { background: rgba(0, 18, 11, 0.78); backdrop-filter: blur(4px); }
.player-dialog-close { position: sticky; top: 1rem; z-index: 2; float: right; margin: 1rem; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: var(--green); color: white; font-size: 1.35rem; cursor: pointer; }
.player-dialog-content { padding: clamp(1.4rem, 5vw, 2.5rem); }
.player-dialog-content h2 { margin: 0.25rem 3.5rem 0.4rem 0; color: var(--green); font-size: clamp(2rem, 7vw, 3.8rem); line-height: 0.95; }
.player-dialog-position { color: var(--text-muted); }
.player-dialog-club { margin-top: 1.2rem; padding: 1rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--bg-elevated); }
.player-dialog-club[role="button"] { cursor:pointer; }
.details-list { display:grid; grid-template-columns:minmax(8rem, .7fr) 1.3fr; gap:.55rem 1rem; margin:1.5rem 0 0; }
.details-list dt { color:var(--green); font-weight:800; }
.details-list dd { margin:0; }
.player-dialog-club span, .player-dialog-content h3 { display: block; margin: 0 0 0.35rem; color: var(--green); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.player-dialog-sources { display:flex; flex-wrap:wrap; gap:.6rem 1rem; margin-top:1.2rem; }
.player-dialog-sources a { color:var(--green); font-weight:800; }

.provenance-badge { display:none !important; }
.provenance-api { color:#075b36; background:#e5f5ec; }
.provenance-editorial { color:#594000; background:#fff3c4; }
.provenance-demo { color:#8a2a2a; background:#ffe7e7; }
.provenance-unknown { color:#4b5563; background:#f1f3f5; }
.national-schedule li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.45rem 1rem; }
.national-schedule .provenance-badge { margin-top:0; }
.club-player-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.2rem; }
.club-player-actions button { padding:.65rem .85rem; border:0; border-radius:999px; background:var(--green); color:#fff; font-weight:800; cursor:pointer; }
@media (max-width: 960px) { .player-grid,.team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 960px) { .player-filters { grid-template-columns:1fr 1fr; } }
@media (max-width: 620px) { .player-grid,.team-grid { grid-template-columns:1fr; } .player-card { min-height:0; } .player-filters,.briefs-hero { grid-template-columns:1fr; } }

/* Lot 2 — thèmes pilotés par des variables sémantiques communes. */
:root {
  --theme-page-bg: var(--bg);
  --theme-page-gradient: radial-gradient(circle at 85% 8%, rgb(244 197 66 / 12%), transparent 23rem);
  --theme-header-bg: rgb(7 22 17 / 94%);
  --theme-header-text: #fbfaf4;
  --theme-card-bg: var(--surface);
  --theme-card-soft: var(--surface-soft);
  --theme-card-border: var(--border);
  --theme-card-border-strong: var(--border);
  --theme-heading: var(--green);
  --theme-muted: var(--text-muted);
  --theme-panel-bg: var(--bg-elevated);
  --theme-panel-text: var(--text);
  --theme-panel-muted: var(--text-muted);
  --theme-accent: var(--accent);
  --competition-card-bg: #0d2f24;
  --competition-card-text: #ffffff;
  --competition-card-muted: #dcebe4;
  --competition-card-border: #2f6e58;
  --competition-card-accent: #f4c542;
}

body[data-theme="men-light"] {
  --bg: #eaf7ef;
  --bg-elevated: #f3fbf6;
  --surface: #ffffff;
  --surface-soft: #edf8f1;
  --text: #123729;
  --ink: #123025;
  --text-muted: #526b60;
  --border: #b8d8c5;
  --theme-page-bg: #eaf7ef;
  --theme-page-gradient: linear-gradient(135deg, #f7fcf9 0%, #eaf7ef 50%, #d7eddf 100%);
  --theme-header-bg: rgb(0 55 36 / 97%);
  --theme-header-text: #ffffff;
  --theme-card-bg: #ffffff;
  --theme-card-soft: #f0f9f3;
  --theme-card-border: #bddaca;
  --theme-card-border-strong: #8ebda2;
  --theme-heading: #0c7444;
  --theme-panel-bg: #f0f9f3;
  --theme-panel-text: #123025;
  --theme-panel-muted: #49665a;
  --theme-accent: #0c7444;
  --competition-card-bg: #0d2f24;
  --competition-card-text: #ffffff;
  --competition-card-muted: #dcebe4;
  --competition-card-border: #2f6e58;
  --competition-card-accent: #f4c542;
  color-scheme: light;
}

body[data-theme="women-berry"] {
  --bg: #fff7f5;
  --bg-elevated: #fffaf8;
  --surface: #fffdfb;
  --surface-soft: #f8ecee;
  --text: #321521;
  --ink: #321521;
  --text-muted: #6d4c58;
  --border: #d99cad;
  --accent: #8c1f46;
  --green: #7c183c;
  --theme-page-bg: #fff7f5;
  --theme-page-gradient: linear-gradient(135deg, #fffaf8 0%, #fbedef 52%, #f2dce2 100%);
  --theme-header-bg: rgb(55 14 29 / 96%);
  --theme-header-text: #fff8f3;
  --theme-card-bg: #fffdfb;
  --theme-card-soft: #faeff1;
  --theme-card-border: #d99cad;
  --theme-card-border-strong: #a83a60;
  --theme-heading: #7c183c;
  --theme-panel-bg: #59162f;
  --theme-panel-text: #ffffff;
  --theme-panel-muted: #f4dce4;
  --theme-accent: #8c1f46;
  --competition-card-bg: #59162f;
  --competition-card-text: #ffffff;
  --competition-card-muted: #f4dce4;
  --competition-card-border: #a83a60;
  --competition-card-accent: #f3aec4;
  color-scheme: light;
}

body { background: var(--theme-page-gradient), var(--theme-page-bg); }
.app-header { background: var(--theme-header-bg); color: var(--theme-header-text); }
.app-header .brand-link,
.app-header .tagline,
.app-header .team-control label { color: var(--theme-header-text); }
.app-header .language-switcher button,
.app-header .team-control select { background: color-mix(in srgb, var(--theme-header-bg) 88%, white); color: var(--theme-header-text); border-color: color-mix(in srgb, var(--theme-header-text) 32%, transparent); }

.install-app-button { position:fixed; left:50%; bottom:max(1.1rem,env(safe-area-inset-bottom)); z-index:9999; min-width:11rem; min-height:3.35rem; padding:.85rem 1.4rem; transform:translateX(-50%); border:2px solid #004b32; border-radius:999px; background:#f4c542; color:#08271d; box-shadow:0 .8rem 2.2rem rgb(0 45 29 / 42%); font:inherit; font-size:1rem; font-weight:950; letter-spacing:.01em; cursor:pointer; }
.install-app-button::before { content:"↓"; display:inline-grid; place-items:center; width:1.55rem; height:1.55rem; margin-inline-end:.5rem; border-radius:50%; background:#006b45; color:#fff; font-weight:900; }
.install-app-button:hover,.install-app-button:focus-visible { background:#ffda55; outline:4px solid rgb(0 107 69 / 36%); outline-offset:3px; }
.install-app-button--header { position:static; left:auto; bottom:auto; z-index:auto; min-width:8.7rem; min-height:2.75rem; padding:.58rem 1rem; transform:none; align-self:center; margin-inline-start:auto; border-color:#f7d95e; background:#d8a800; box-shadow:0 .45rem 1.25rem rgb(0 0 0 / 24%); }
.install-app-button--header:hover,.install-app-button--header:focus-visible { background:#f4c542; }
.install-app-dialog { width:min(31rem,calc(100vw - 2rem)); padding:0; border:0; border-radius:1.25rem; color:#123025; box-shadow:0 1.5rem 5rem rgb(0 0 0 / 35%); }
.install-app-dialog::backdrop { background:rgb(3 19 13 / 72%); backdrop-filter:blur(3px); }
.install-app-dialog__body { padding:1.5rem; }
.install-app-dialog h2 { margin:0 2.5rem .5rem 0; color:#004b32; font-size:1.55rem; }
.install-app-dialog p { margin:.4rem 0 1rem; line-height:1.5; }
.install-app-dialog ol { margin:0; padding-inline-start:1.4rem; }
.install-app-dialog li { margin:.65rem 0; line-height:1.45; }
.install-app-dialog__close { position:absolute; top:.7rem; right:.7rem; width:2.4rem; height:2.4rem; border:0; border-radius:50%; background:#eaf7ef; color:#004b32; font-size:1.4rem; cursor:pointer; }
@media (display-mode:standalone) { .install-app-button { display:none; } }
.team-card,
.player-card,
.briefs-panel,
.brief-card,
.memory-block,
.player-filters,
.national-schedule article { background: var(--theme-card-bg); border-color: var(--theme-card-border); }
.team-card,
.player-card,
.briefs-panel,
.competition-card,
.memory-block { border: 1.5px solid var(--theme-card-border-strong); }
.player-match-box,
.player-stat-badge,
.briefs-hero,
.player-filters input,
.player-filters select { background: var(--theme-card-soft); border-color: var(--theme-card-border); }
.quick-heading h2,
.briefs-panel h2,
.briefs-hero strong,
.briefs-hero span,
.brief-card strong,
.brief-card > span { color: var(--theme-heading); }
.briefs-hero p,
.brief-card p,
.team-followed-players { color: var(--text-muted); }
.team-identity h2,
.team-identity > div > p,
.team-identity .identity-actions { color: #fff; }
body[data-theme="women-berry"] .team-identity p { color: #f8e9ee; }

/* Le sens de lecture appartient à la langue, jamais au thème ou au pays. */
html[dir="rtl"] body { direction: rtl; }
html[dir="rtl"] .header-row,
html[dir="rtl"] .team-control,
html[dir="rtl"] .section-heading,
html[dir="rtl"] .team-identity,
html[dir="rtl"] .briefs-hero,
html[dir="rtl"] .player-card,
html[dir="rtl"] .team-card { direction: rtl; text-align: right; }
html[dir="rtl"] .identity-actions { justify-items: start; }
html[dir="rtl"] .player-profile-button { justify-self: end; }
html[dir="rtl"] .details-list { direction: rtl; }
html[dir="ltr"] body { direction: ltr; }

/* FEAB — fil éditorial global, strictement séparé des brèves de sélection. */
.feab-panel { overflow:hidden; padding:clamp(1rem,3vw,2.2rem); border-radius:1.6rem; color:#fff; background:#032a20; box-shadow:0 1.4rem 3.2rem rgb(0 34 25 / 20%); }
.feab-heading { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(15rem,.75fr); gap:2rem; align-items:end; margin-bottom:1.2rem; padding-bottom:1rem; border-bottom:1px solid rgb(255 255 255 / 20%); }
.feab-heading h2 { margin:.15rem 0 0; color:#fff; font-family:Georgia,serif; font-size:clamp(2.25rem,5vw,4.8rem); line-height:.9; }
.feab-heading .section-kicker { color:#ffd21c; }
.feab-heading > p { margin:0; color:#d3e4dd; line-height:1.55; }
.feab-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.feab-observation { position:relative; display:grid; min-height:27rem; overflow:hidden; border-radius:1.2rem; background:#061f18; }
.feab-observation img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; }
.feab-observation::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgb(0 28 21 / 90%),rgb(0 28 21 / 28%)); }
.feab-observation > div { position:relative; z-index:1; align-self:end; max-width:42rem; padding:clamp(1.2rem,4vw,3rem); }
.feab-observation span,.feab-card span { color:#ffd21c; font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.feab-observation p { margin:.6rem 0 0; font-family:Georgia,serif; font-size:clamp(1.7rem,4vw,3.4rem); line-height:1.05; }
.feab-card { overflow:hidden; border:1px solid rgb(255 255 255 / 18%); border-radius:1rem; background:#0b4032; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.feab-card:hover { transform:translateY(-.18rem); border-color:#ffd21c; box-shadow:0 .9rem 1.8rem rgb(0 0 0 / 22%); }
.feab-card:focus-visible { outline:.22rem solid #ffd21c; outline-offset:.2rem; }
.feab-card img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.feab-card > div { padding:1rem; }
.feab-card h3 { margin:.45rem 0; color:#fff; font-family:Georgia,serif; font-size:1.45rem; line-height:1.05; }
.feab-card p { margin:0; color:#d3e4dd; line-height:1.45; }
.feab-card--lead { grid-column:span 2; grid-row:span 2; }
.feab-card--lead img { aspect-ratio:16/9; }
html[dir="rtl"] .feab-heading,html[dir="rtl"] .feab-card,html[dir="rtl"] .feab-observation { direction:rtl; text-align:right; }
.feab-detail { display:grid; gap:1rem; }
.feab-detail > img { display:block; width:100%; max-height:24rem; border-radius:1rem; object-fit:cover; }
.feab-detail__meta { color:var(--green); font-size:.76rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.feab-detail .feab-detail__summary { margin:.35rem 0 0; color:var(--text); font-size:1.08rem; line-height:1.65; }
.feab-detail__context,.feab-detail__analysis { margin:0; color:var(--text); font-size:1rem; line-height:1.7; }
.feab-detail__analysis { padding:1rem; border-left:.28rem solid #ffd21c; border-radius:.5rem; background:rgb(255 210 28 / 10%); font-weight:650; }
html[dir="rtl"] .feab-detail__analysis { border-right:.28rem solid #ffd21c; border-left:0; }
.feab-detail__date { color:var(--text-muted); font-size:.85rem; }
html[dir="rtl"] .feab-detail { direction:rtl; text-align:right; }
@media (max-width:760px) {
  .feab-panel { margin-inline:-.35rem; padding:1rem; border-radius:1.2rem; }
  .feab-heading,.feab-grid { grid-template-columns:1fr; }
  .feab-heading { gap:.55rem; }
  .feab-card--lead { grid-column:auto; grid-row:auto; }
  .feab-observation { min-height:31rem; }
}

/* Dans les coulisses — enclave média explicite. Les iframes restent chez Meta. */
.social-stage { position:relative; overflow:hidden; padding:clamp(1.25rem,4vw,3rem); border-radius:1.6rem; color:#fff; background:#002a20; box-shadow:0 1.4rem 3.5rem rgb(0 34 25 / 22%); }
.social-stage::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background:repeating-linear-gradient(120deg,transparent 0 38px,rgba(255,255,255,.12) 39px 40px); }
.social-stage > * { position:relative; }
.social-stage-heading { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(15rem,.55fr); gap:2rem; align-items:end; padding-bottom:1.2rem; border-bottom:1px solid rgb(255 255 255 / 22%); }
.social-stage-heading h2 { margin:.1rem 0 0; max-width:16ch; color:#fff; font-family:Georgia,serif; font-size:clamp(2.2rem,6vw,5.6rem); line-height:.88; letter-spacing:-.045em; }
.social-stage-heading .section-kicker { color:#ffd21c; }
.social-stage-heading > p { color:#cde0d8; line-height:1.55; }
.social-filters { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0; }
.social-filters button,.social-more { border:1px solid rgb(255 255 255 / 35%); border-radius:999px; padding:.62rem 1rem; color:#fff; background:transparent; font-weight:900; cursor:pointer; }
.social-filters button[aria-pressed="true"] { border-color:#ffd21c; color:#002a20; background:#ffd21c; }
.social-filters button:disabled { cursor:not-allowed; opacity:.42; }
.social-grid { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(17rem,1fr); gap:1rem; align-items:start; }
.social-empty { grid-column:1/-1; margin:0; padding:2rem; border:1px dashed rgb(255 255 255 / 35%); border-radius:1rem; text-align:center; color:#cde0d8; }
.social-card { overflow:hidden; border:1px solid rgb(255 255 255 / 18%); border-radius:1.1rem; color:#fff; background:#073c2f; }
.social-card--featured { grid-row:span 2; }
.social-embed { position:relative; min-height:24rem; overflow:hidden; background:linear-gradient(145deg,#134f3d,#061d17); }
.social-card--featured .social-embed { min-height:42rem; }
.social-embed .instagram-media,.social-embed iframe { position:absolute !important; inset:0; z-index:2; width:100% !important; min-width:0 !important; height:100% !important; margin:0 !important; border:0 !important; background:#fff; }
.social-placeholder { position:absolute; inset:0; display:grid; place-content:center; gap:.5rem; padding:1rem; text-align:center; color:#dce9e4; }
.social-placeholder span { color:#ffd21c; font-size:.75rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.social-copy { padding:1rem 1.1rem 1.2rem; }
.social-copy > span { color:#ffd21c; font-size:.7rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.social-meta { display:flex; flex-wrap:wrap; gap:.4rem; margin:.55rem 0 .2rem; color:#cde0d8; font-size:.72rem; }
.social-meta > * { padding:.24rem .5rem; border:1px solid rgb(255 255 255 / 22%); border-radius:999px; }
.social-copy h3 { margin:.35rem 0; color:#fff; font-family:Georgia,serif; font-size:clamp(1.25rem,2.5vw,2rem); line-height:1; }
.social-copy p { margin:.55rem 0 0; color:#cde0d8; line-height:1.45; }
.social-more { display:block; margin:1rem auto 0; background:#fff; color:#002a20; }
.social-more[hidden] { display:none; }
html[dir="rtl"] .social-stage-heading,html[dir="rtl"] .social-card { direction:rtl; text-align:right; }
@media (max-width: 760px) {
  .social-stage { margin-inline:-.35rem; padding:1rem; border-radius:1.2rem; }
  .social-stage-heading,.social-grid { grid-template-columns:1fr; }
  .social-stage-heading { gap:.5rem; }
  .social-card--featured { grid-row:auto; }
  .social-card--featured .social-embed,.social-embed { min-height:34rem; }
}

/* Accessibilité — masqué visuellement mais lisible par un lecteur d'écran. */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Carte générique "Prochain match" — aucune sélection codée en dur. */
.next-match-panel { margin-top: 1.4rem; }
.next-match-card { padding: 1.3rem 1.4rem; }
.next-match-teams { display: flex; align-items: baseline; gap: 0.6rem; flex-wrap: wrap; margin-top: 0.3rem; }
.next-match-teams strong { font-size: clamp(1.1rem, 3.4vw, 1.4rem); color: var(--ink); }
.next-match-separator { color: var(--text-muted); font-weight: 700; }
.next-match-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 0.9rem; margin-top: 0.5rem; color: var(--text-muted); font-size: 0.86rem; }
.next-match-meta time { color: var(--ink); font-weight: 700; }
.next-match-state { margin-top: 0.9rem; }
.next-match-empty { margin-top: 0.8rem; }

.countdown-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; max-width: 26rem; }
.countdown-box { padding: 0.55rem 0.3rem; border: 1px solid var(--border); border-radius: 0.7rem; background: var(--surface-soft); text-align: center; }
.countdown-box strong { display: block; font-size: clamp(1.1rem, 3.5vw, 1.6rem); color: var(--ink); font-variant-numeric: tabular-nums; }
.countdown-box small { display: block; margin-top: 0.15rem; color: var(--text-muted); font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.06em; }

.next-match-badge { display: inline-block; padding: 0.35rem 0.75rem; border-radius: 999px; font-size: 0.78rem; font-weight: 900; letter-spacing: 0.03em; }
.next-match-badge--live { background: var(--red); color: #fff; }
.next-match-badge--imminent { background: var(--accent); color: #2a1d02; }
.next-match-badge--unconfirmed { background: var(--surface-soft); color: var(--text-muted); border: 1px solid var(--border); }

/* Carte événementielle "Window 4 — Groupe F". */
.window4-panel { margin-top: 1.4rem; }
.window4-card {
  padding: clamp(1.2rem, 4vw, 2rem);
  border-radius: 1.3rem;
  color: var(--competition-card-text);
  background: linear-gradient(150deg, color-mix(in srgb, var(--competition-card-bg) 92%, white), var(--competition-card-bg));
  border: 1px solid var(--competition-card-border);
  box-shadow: 0 1.2rem 2.8rem rgb(0 20 12 / 22%);
}
.window4-venue-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1rem; padding-bottom: 0.9rem; border-bottom: 1px solid rgb(255 255 255 / 18%); color: var(--competition-card-accent); font-weight: 800; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; }
.window4-qualification { margin: 0.9rem 0 0; color: var(--competition-card-muted); line-height: 1.5; }
.window4-next { margin-top: 1rem; padding: 0.85rem 1rem; border-radius: 0.9rem; background: rgb(255 255 255 / 8%); font-size: 0.92rem; }
.window4-next strong { color: var(--competition-card-text); }
.window4-toggle {
  margin-top: 1.1rem;
  padding: 0.6rem 1.1rem;
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: 999px;
  background: transparent;
  color: var(--competition-card-text);
  font-weight: 800;
  cursor: pointer;
}
.window4-toggle[aria-expanded="true"] { background: var(--competition-card-accent); color: #2a1d02; border-color: var(--competition-card-accent); }
.window4-schedule-wrap h3,
.window4-card > h3 { margin: 1.3rem 0 0.7rem; color: var(--competition-card-text); font-size: 1.05rem; }
.window4-schedule { margin: 0; }
.window4-schedule .match-card { padding: 0.75rem 0.9rem; background: rgb(255 255 255 / 6%); border-color: rgb(255 255 255 / 18%); color: var(--competition-card-text); }
.window4-schedule .match-label { color: var(--competition-card-accent); }
.window4-schedule .match-card strong + span { color: var(--competition-card-muted); }
.window4-schedule[hidden] { display: none; }

.window4-standings-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.window4-standings { width: 100%; min-width: 30rem; border-collapse: collapse; font-size: 0.86rem; }
.window4-standings caption { text-align: start; }
.window4-standings th,
.window4-standings td { padding: 0.55rem 0.6rem; text-align: start; border-bottom: 1px solid rgb(255 255 255 / 14%); }
.window4-standings th { color: var(--competition-card-accent); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 800; }
.window4-standings td { color: var(--competition-card-text); }
.window4-standings tbody tr[data-active-team="true"] { background: rgb(255 255 255 / 12%); font-weight: 800; }
.window4-standings tbody tr[data-active-team="true"] td:first-child { color: var(--competition-card-accent); }
.window4-standings .window4-difference-unknown { color: var(--competition-card-muted); font-style: italic; }

html[dir="rtl"] .next-match-teams,
html[dir="rtl"] .next-match-meta,
html[dir="rtl"] .window4-venue-row,
html[dir="rtl"] .window4-standings { direction: rtl; text-align: right; }
html[dir="rtl"] .window4-standings th,
html[dir="rtl"] .window4-standings td { text-align: right; }

@media (max-width: 650px) {
  body { padding-bottom:calc(4.7rem + env(safe-area-inset-bottom)); }
  .app-header { position:relative; top:auto; }
  .site-header { padding:.62rem max(.8rem,env(safe-area-inset-left)); }
  .header-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.5rem; }
  .site-header h1,.brand-link { font-size:1.2rem; }
  .site-header .tagline { display:none; }
  .language-switcher { gap:.2rem; }
  .language-switcher button { padding:.22rem .38rem; font-size:.68rem; }
  .team-control { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.45rem; margin-top:.45rem; }
  .team-control label { font-size:.72rem; white-space:nowrap; }
  .team-control select { width:100%; padding:.42rem 1.8rem .42rem .7rem; font-size:.8rem; }
  .install-app-button--header { display:none; }
  .countdown-grid { max-width: none; }
  .unified-countdown { gap:.3rem; }
  .unified-countdown__unit { min-width:0; padding:.65rem .12rem; }
  .unified-countdown__unit small { font-size:clamp(.46rem,2.15vw,.56rem); letter-spacing:.015em; white-space:nowrap; }
  .countdown-box { min-width:0; padding:.55rem .12rem; }
  .countdown-box small { font-size:clamp(.46rem,2.15vw,.56rem); letter-spacing:.015em; white-space:nowrap; }
  .window4-venue-row { flex-direction: column; }
  .tournament-participants,.tournament-page .match-list { grid-template-columns:1fr 1fr; gap:.65rem; }
  .tournament-participant-card { min-height:9.5rem; padding:.75rem; }
  .unified-match-card__teams { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:.35rem; margin:1.2rem 0 .8rem; }
  .unified-match-card__teams strong { min-width:0; overflow:hidden; color:#fff; font-size:clamp(.82rem,3.6vw,1rem); line-height:1.1; text-overflow:ellipsis; white-space:nowrap; }
  .unified-match-card__teams strong:first-child { text-align:start; }
  .unified-match-card__teams strong:last-child { text-align:end; }
  .unified-match-card__score { min-width:2.7rem; width:max-content; padding:.45rem .5rem; }
  .tournament-page .match-list { grid-template-columns:1fr; }
  .tournament-scoreboard { grid-template-columns:1fr; padding:.65rem; }
  .tournament-page .window4-standings-wrap { padding:.25rem .55rem; }
  .tournament-page .window4-standings { min-width:0; font-size:.78rem; }
  .tournament-page .window4-standings th,
  .tournament-page .window4-standings td { padding:.62rem .35rem; }
  .tournament-page .window4-standings th:nth-child(4),
  .tournament-page .window4-standings th:nth-child(5),
  .tournament-page .window4-standings td:nth-child(4),
  .tournament-page .window4-standings td:nth-child(5) { display:none; }
  .quickbar { position:fixed; inset:auto 0 0; top:auto; z-index:1000; margin:0; padding:.42rem .45rem calc(.42rem + env(safe-area-inset-bottom)); border:0; border-radius:1rem 1rem 0 0; background:color-mix(in srgb,var(--surface) 96%,transparent); box-shadow:0 -.45rem 1.4rem rgb(0 0 0 / 22%); backdrop-filter:blur(16px); }
  .quickbar a { flex:0 0 auto; padding:.52rem .7rem; font-size:.65rem; }
  .scroll-top { bottom:calc(5.4rem + env(safe-area-inset-bottom)); }
}

@media (display-mode: standalone) and (max-width: 700px) {
  .quickbar { padding-bottom:calc(.42rem + env(safe-area-inset-bottom)); }
}
