
@font-face{font-family:Inter;src:url(inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(barlow-condensed-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(barlow-condensed-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--marque:#2a308b;--marque2:#23287a;--header-bg:rgba(42,48,139,.88);--header-bd:rgba(255,255,255,.14);--adv:#c8741f;--adv-txt:#a55c14;--s:#fff;--s2:rgba(247,248,252,.92);--survol:#f3f7fd;--club-ligne:#e8f1fa;--piste:#e8ebf3;--neutre:#9aa0ab;--alerte-bg:#fff6e5;--alerte-bd:#f0c77a;--alerte-t:#6b4a00;
--marine:#2a308b;--ciel:#3e89c5;--b:#3e89c5;--b2:#2a308b;--o:#d9822b;--g:#f2f4f9;--l:#e4e8f0;--t:#171a2b;--m:#5d6478;
--v:#1a7f37;--d:#c0392b;--n:#6e737c;--ombre:0 1px 2px rgba(20,24,60,.05),0 6px 18px rgba(20,24,60,.07);
--titre:"Barlow Condensed","Inter",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;font:15px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--t);
background:radial-gradient(1200px 500px at 100% -10%,rgba(62,137,197,.10),transparent 60%),var(--g);
font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;min-height:100vh}
header{position:sticky;top:0;z-index:10;color:#fff;padding-top:env(safe-area-inset-top,0);
background:var(--header-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);
border-bottom:1px solid var(--header-bd);box-shadow:0 1px 4px rgba(20,24,60,.1)}
@media(prefers-reduced-transparency:reduce){header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--marque)}}
.barre{display:flex;align-items:center;gap:1rem;max-width:74rem;margin:auto;padding:.55rem 1rem}
.titre{color:#fff;text-decoration:none;font:700 1.35rem/1 var(--titre);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:.55rem}
.titre img{display:block;background:#fff;border-radius:8px;padding:2px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
header nav{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
@media(max-width:759px){header::after{content:"›";position:absolute;top:50%;right:.3rem;transform:translateY(-50%);
font:700 1.3rem var(--titre);color:rgba(255,255,255,.65);text-shadow:0 0 8px rgba(15,18,55,.85);pointer-events:none}}
header nav a{color:#dfe6f7;text-decoration:none;font-weight:600;padding:.4rem .8rem;border-radius:999px;white-space:nowrap;font-size:.9rem;transition:background .2s,color .2s}
header nav a.actif{background:#fff;color:var(--marque)}header nav a:not(.actif):hover{background:rgba(255,255,255,.14);color:#fff}
.saisons{max-width:74rem;margin:auto;padding:.9rem 1rem 0;display:flex;gap:.4rem;align-items:center;color:var(--m);font-size:.85rem}
.saisons a{white-space:nowrap;padding:.25rem .75rem;border-radius:999px;border:1px solid var(--l);background:var(--s);text-decoration:none;color:var(--t);font-weight:600;transition:all .2s}
.saisons a.actif{background:var(--marque);border-color:var(--marque);color:#fff;box-shadow:0 3px 10px rgba(42,48,139,.3)}
main{max-width:74rem;margin:auto;padding:.4rem max(1rem,env(safe-area-inset-right,0)) max(2.5rem,env(safe-area-inset-bottom,0)) max(1rem,env(safe-area-inset-left,0))}
h1{font:700 2rem/1.1 var(--titre);text-transform:uppercase;letter-spacing:.01em;margin:.7rem 0 1.1rem;color:var(--marine)}
h2{font:700 1.2rem/1.2 var(--titre);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .8rem;color:var(--marine);
display:flex;align-items:center;gap:.5rem}
h2::before{content:"";width:4px;height:1.05em;border-radius:2px;background:linear-gradient(var(--ciel),var(--marine))}
section,.bloc{background:var(--s);border:1px solid var(--l);border-radius:16px;padding:1.1rem;margin:0 0 1.1rem;box-shadow:var(--ombre)}
.cartes{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:0 0 1.1rem}
@media(min-width:760px){.cartes{grid-template-columns:repeat(4,1fr)}}
.carte{background:var(--s);border:1px solid var(--l);border-radius:16px;padding:.9rem 1rem;color:var(--m);font-size:.82rem;
box-shadow:var(--ombre);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.carte::after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--ciel),var(--marine))}
.carte:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,24,60,.12)}
.carte b{display:block;font:700 2.1rem/1.1 var(--titre);color:var(--t);font-variant-numeric:tabular-nums;margin:.1rem 0}
.hero{position:relative;overflow:hidden;color:#fff;border:0;padding:1.3rem;
background:linear-gradient(125deg,var(--ciel) 0%,var(--marque) 70%);box-shadow:0 12px 30px rgba(42,48,139,.35)}
.hero::after{content:"";position:absolute;right:-30px;top:-20px;width:190px;height:230px;opacity:.13;
background:var(--fond,url(logo-buros-192.png)) center/contain no-repeat;transform:rotate(8deg)}
.hero.adverse::after{opacity:.16;filter:grayscale(1) invert(1);mix-blend-mode:screen}
.hero h2{color:#d8e6fb;font:600 .8rem/1 Inter,sans-serif;letter-spacing:.12em}.hero h2::before{display:none}
.hero .adv{font:700 2.2rem/1.05 var(--titre);text-transform:uppercase;margin:.2rem 0 .3rem;position:relative;z-index:1}
.hero .mini{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem;font-size:.85rem;position:relative;z-index:1}
.hero .mini span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:.35rem .6rem;backdrop-filter:blur(4px)}
.hero .mini b{font:700 1.15rem var(--titre)}.hero a{color:#fff}
.bouton{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;background:#fff;color:var(--marque)!important;font-weight:700;
text-decoration:none;padding:.55rem 1rem;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.2);transition:transform .2s;position:relative;z-index:1}
.bouton:hover{transform:translateY(-1px)}
.grille{display:grid;grid-template-columns:1fr;gap:1.1rem}@media(min-width:900px){.grille{grid-template-columns:1fr 1fr}}
.grille section{margin:0}.grille>*{min-width:0}
.grille>div{display:grid;gap:1.1rem;align-content:start}.grille>div>*{min-width:0}.grille+section{margin-top:1.1rem}
.graph{position:relative;height:17rem}.graph canvas{max-width:100%}
.forme{display:flex;flex-wrap:nowrap;gap:.25rem;font-size:.9rem!important}
.pastille{display:inline-grid;place-items:center;min-width:1.75rem;height:1.6rem;border-radius:7px;color:#fff;font:700 .85rem var(--titre);
box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.pastille.V{background:var(--v)}.pastille.D{background:var(--d)}.pastille.N{background:var(--n)}
.tableau{overflow-x:auto;border-radius:12px;
background:linear-gradient(90deg,var(--s) 30%,transparent) left/36px 100% no-repeat local,linear-gradient(270deg,var(--s) 30%,transparent) right/36px 100% no-repeat local,
radial-gradient(farthest-side at 0 50%,rgba(20,24,60,.4),transparent) left/22px 100% no-repeat scroll,
radial-gradient(farthest-side at 100% 50%,rgba(20,24,60,.4),transparent) right/22px 100% no-repeat scroll}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem;font-variant-numeric:tabular-nums}
th,td{padding:.55rem .6rem;border-bottom:1px solid var(--l);text-align:left;white-space:nowrap}
thead th{position:sticky;top:0;background:var(--s2);color:var(--m);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.tableau-joueurs{max-height:72vh;overflow-y:auto}
.tableau-joueurs thead th{position:sticky;top:0;z-index:3;background:var(--s2);box-shadow:0 1px 0 var(--l)}
table.triable th::after{content:" ↕";opacity:.35}table.triable th[data-asc="1"]::after{content:" ↑";opacity:1}
table.triable th[data-asc="0"]::after{content:" ↓";opacity:1}
tbody tr{transition:background .15s}tbody tr:hover td{background:var(--survol)}tbody tr:last-child td{border-bottom:0}
img.logo{object-fit:contain;vertical-align:middle;margin-right:.4rem;border-radius:4px;background:#fff}
h1.nom-joueur{text-transform:none}h1 img.logo{vertical-align:-.1em;box-shadow:var(--ombre);padding:2px}
.hero .adv img.logo{vertical-align:-.12em;padding:3px;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
tr.club td{font-weight:700;background:var(--club-ligne)}td.n,th.n{text-align:right}
a{color:var(--marine);text-decoration:none;font-weight:500}a:hover{color:var(--ciel)}
.filtres{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 .9rem}
.filtres select,.filtres input{max-width:100%;min-width:0;min-height:44px;padding:.55rem .75rem;font:inherit;border:1px solid var(--l);border-radius:10px;background:var(--s);color:var(--t);box-shadow:var(--ombre)}
.segments{display:inline-flex;background:var(--s);border:1px solid var(--l);border-radius:12px;padding:3px;box-shadow:var(--ombre);flex-wrap:wrap}
.segments button{font:600 .85rem Inter,sans-serif;border:0;background:none;color:var(--m);padding:.5rem .8rem;min-height:44px;border-radius:9px;cursor:pointer}
.segments button.actif{background:var(--marque);color:#fff}
.filtres select:focus,.filtres input:focus{outline:2px solid var(--ciel);outline-offset:1px}
.carte:active,.bouton:active,.bouton2:active,.segments button:active,.saisons a:active,header nav a:active{transform:scale(.97);transition:transform .1s cubic-bezier(.25,1,.5,1)}
.note{color:var(--m);font-size:.8rem;margin:.5rem 0 0}.meta{color:var(--m);font-size:.85rem}
.pagination{display:flex;justify-content:space-between;align-items:center;gap:.4rem;margin-top:.8rem}
.pagination .meta{text-align:center;font-size:.8rem;flex:1;min-width:0}
.bouton-page{font:600 .8rem Inter,sans-serif;padding:.4rem .65rem;border-radius:10px;border:1px solid var(--l);background:var(--s);color:var(--t);box-shadow:var(--ombre);cursor:pointer;min-height:38px;display:inline-flex;align-items:center;white-space:nowrap}
.bouton-page:hover:not(:disabled){background:var(--survol);border-color:var(--ciel)}
.bouton-page:disabled{opacity:.35;cursor:not-allowed}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;margin:0 0 1.1rem}
.bouton2{display:inline-flex;align-items:center;gap:.4rem;background:var(--marque);color:#fff!important;font-weight:600;
padding:.55rem 1rem;border-radius:999px;text-decoration:none!important;box-shadow:0 4px 14px rgba(42,48,139,.3);transition:transform .2s}
.bouton2:hover{transform:translateY(-1px);background:var(--marque2)}
.barre-txt{display:inline-block;height:.75rem;border-radius:4px;vertical-align:middle;background:var(--marine)}
.barre-txt.contre{background:var(--adv)}
section.md ul{padding-left:1.1rem;margin:.3rem 0 .8rem}section.md li{margin:.25rem 0;list-style:none}
section.md h3,section.md h4{font:700 1rem/1.3 var(--titre);text-transform:uppercase;color:var(--marine);margin:1rem 0 .4rem}
section.md code{font:12.5px ui-monospace,monospace;background:var(--g);padding:.05rem .3rem;border-radius:4px}
section.md p{margin:.4rem 0}details summary{cursor:pointer;color:var(--m);margin:.6rem 0}
pre{white-space:pre-wrap;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--g);padding:1rem;border-radius:12px;max-height:30rem;overflow:auto;margin:0}
@keyframes monte{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
main>*,.grille>*,.cartes>*{animation:monte .2s cubic-bezier(.16,1,.3,1) both}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.alerte{background:var(--alerte-bg);border:1px solid var(--alerte-bd);color:var(--alerte-t);border-radius:12px;padding:.7rem .9rem;margin:0 0 1.1rem;font-size:.9rem}
.alerte a{color:var(--alerte-t);font-weight:700}
.jauge,.diverge{display:inline-block;vertical-align:middle;width:6.5rem;height:.6rem;border-radius:999px;background:var(--piste);overflow:hidden;position:relative}
.jauge>span{display:block;height:100%;border-radius:999px;background:var(--marine)}
.diverge::before{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--neutre)}
.diverge>span{position:absolute;top:0;bottom:0;border-radius:4px}.diverge>.pos{left:50%;background:var(--marine)}
.diverge>.neg{right:50%;background:var(--adv)}
.jauge-val{margin-left:.45rem;font-variant-numeric:tabular-nums;font-weight:600;color:var(--t)}
.empile{display:flex;gap:2px;height:1.35rem;border-radius:6px;overflow:hidden;margin:.35rem 0 .1rem;min-width:7rem}
.empile .seg{display:flex;align-items:center;justify-content:center;color:#fff;font:700 .72rem Inter,sans-serif;white-space:nowrap;min-width:3px}
.seg.V{background:var(--v)}.seg.N{background:var(--n)}.seg.D{background:var(--d)}
.seg.tete{background:var(--marine)}.seg.egal{background:var(--neutre)}.seg.mene{background:var(--adv)}
.seg.s1{background:var(--marine)}.seg.s2{background:var(--marine);opacity:.75}.seg.s3{background:var(--marine);opacity:.5}.seg.reste{background:var(--piste);color:var(--t)}
.duel{display:grid;grid-template-columns:2.2rem 1fr 7.5rem 1fr 2.2rem;align-items:center;gap:.4rem;margin:.45rem 0;font-variant-numeric:tabular-nums}
.duel .v{font-weight:700;text-align:center}.duel .lib{text-align:center;color:var(--m);font-size:.82rem}
.duel .g,.duel .d{height:.7rem;background:var(--piste);border-radius:999px;display:flex;overflow:hidden}.duel .g{justify-content:flex-end}
.duel .g>span{background:var(--marine);border-radius:999px}.duel .d>span{background:var(--adv);border-radius:999px}
.duel.legende{font-weight:700;font-size:.82rem}.duel .g-lib{text-align:right;color:var(--marine)}.duel .d-lib{color:var(--adv-txt)}
.hero.dernier{background:linear-gradient(125deg,#4b5563 0%,var(--marque) 75%)}
.affiche{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;margin:.6rem 0 .2rem;position:relative;z-index:1}
.affiche .equipe{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;min-width:0}
.affiche .equipe img.logo{margin:0;padding:4px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.affiche .equipe>span:last-child{font:700 1rem/1.1 var(--titre);text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere}
.affiche .score{display:flex;flex-direction:column;align-items:center;gap:.35rem}
.affiche .score b{font:700 2.6rem/1 var(--titre);font-variant-numeric:tabular-nums;white-space:nowrap}.affiche .score i{font-style:normal;opacity:.6;margin:0 .15em}
.affiche .score .pastille{padding:0 .6rem;font-size:.8rem}.hero.dernier .mini{justify-content:center}
.hero.dernier .bouton{display:flex;width:max-content;margin:1rem auto 0}
.pastille-prochain{background:var(--marque);color:#fff!important;border-radius:999px;padding:.2rem .6rem;font-weight:700;font-size:.8rem}
section.notes textarea{display:block;width:100%;min-height:9rem;font:inherit;line-height:1.5;border:1px solid var(--l);
border-radius:10px;padding:.7rem .8rem;background:var(--s);color:var(--t);resize:vertical}
section.notes textarea:focus{outline:2px solid var(--ciel);outline-offset:1px}section.notes .etat{min-height:1.2em}
.ligne-viz{display:flex;align-items:center;gap:.5rem;margin:.35rem 0;flex-wrap:wrap}.ligne-viz>span:first-child{min-width:5.5rem;color:var(--m)}
.carte .ligne-viz .jauge,.carte .ligne-viz .diverge{width:5.5rem;margin:0}.barre-txt.neutre{background:var(--neutre)}
.mini-vnd .empile{display:inline-flex;width:5rem;min-width:0;height:.9rem;vertical-align:middle;margin:0 0 0 .3rem}.mini-vnd .seg{font-size:0}
.carte>.jauge-val{display:block;margin:.2rem 0 0}
.carte .empile,.carte .courbe{display:flex;margin-top:.4rem}.courbe polyline{fill:none;stroke:var(--marine);stroke-width:2;stroke-linejoin:round}
.courbe circle{fill:var(--marine);stroke:var(--s);stroke-width:2}.carte .jauge{width:100%;margin-top:.5rem}
.legende-ecart{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:center;margin:0 0 .8rem;font-size:.85rem;color:var(--m)}
.pastille-carre{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:middle;margin-right:4px}
.pastille-carre.pour{background:var(--marine)}.pastille-carre.contre{background:var(--adv)}
/* Thèmes (sélecteur dans la barre des saisons) : seules les variables changent. Couleurs des
   marques validées par validate_palette (daltonisme, contraste) le 2026-09-29. */
html[data-theme="sombre"]{color-scheme:dark;--marine:#8a93f3;--ciel:#5b8fd0;--marque:#23287a;--marque2:#1a1e5c;--header-bg:rgba(21,26,46,.85);--header-bd:rgba(255,255,255,.08);
--adv:#c9793a;--adv-txt:#e0a36b;--g:#0e1224;--s:#151a2e;--s2:rgba(28,34,56,.96);--l:#2a3150;--t:#e7eaf5;--m:#a3aac2;
--survol:#1c2238;--club-ligne:#1f2a4a;--piste:#2a3150;--neutre:#6b7285;--alerte-bg:#2e2410;--alerte-bd:#6b5420;
--alerte-t:#f0c77a;--ombre:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.35)}
html[data-theme="sombre"] body{background:var(--g)}
html[data-theme="rose"]{--marine:#c2185b;--ciel:#f06292;--marque:#ad1457;--marque2:#880e4f;--header-bg:rgba(173,20,87,.88);--header-bd:rgba(255,255,255,.18);--adv:#1f78a8;--adv-txt:#1f78a8;
--g:#fff4f8;--l:#f5d5e3;--survol:#fdeef4;--club-ligne:#fce4ec;--piste:#f8dce8;--s2:rgba(253,242,247,.95)}
html[data-theme="rose"] body{background:radial-gradient(1200px 500px at 100% -10%,rgba(240,98,146,.14),transparent 60%),var(--g)}
html[data-theme="rose"] .titre::after{content:"🎗️";font-size:1.1rem}
.theme-choix{margin-left:auto;font:600 .85rem Inter,sans-serif;color:var(--t);background:var(--s);border:1px solid var(--l);
border-radius:999px;padding:.35rem .7rem;min-height:36px;cursor:pointer}
@media(max-width:600px){.saisons .libelle{display:none}.saisons{flex-wrap:wrap;gap:.35rem}.saisons a{padding:.25rem .6rem}
.theme-choix{padding:.3rem .45rem;font-size:.8rem;min-height:44px}}
@media(max-width:600px){h1{font-size:1.65rem}.titre .nom{display:none}.barre{gap:.5rem;padding:.45rem .6rem}
header nav a{padding:.4rem .6rem;font-size:.85rem}
.cartes{gap:.55rem}.carte{padding:.7rem .75rem;font-size:.78rem}.carte b{font-size:1.55rem}
.hero{padding:1rem}.hero .mini{gap:.35rem}.hero .mini span{padding:.25rem .5rem;font-size:.78rem}.hero .adv{font-size:1.6rem}
section,.bloc{margin-bottom:.8rem}main{padding:.3rem max(.7rem,env(safe-area-inset-right,0)) max(2rem,env(safe-area-inset-bottom,0)) max(.7rem,env(safe-area-inset-left,0))}.filtres>*{flex:1 1 100%}
.saisons a,header nav a,.bouton,.bouton2,.segments button{min-height:44px;display:inline-flex;align-items:center}thead th{padding-top:.8rem;padding-bottom:.8rem}th,td{padding:.45rem .35rem}section,.bloc{padding:.85rem}.cache-mobile{display:none}.tableau-joueurs.vue-gardien .col-buteur{display:none}.tableau-joueurs.vue-gardien .col-gardien{display:table-cell}.tableau-joueurs.vue-sanctionne .col-buteur{display:none}.tableau-joueurs.vue-sanctionne .col-sanctionne{display:table-cell}
.tronque{max-width:8.5rem;overflow:hidden;text-overflow:ellipsis}.pastille{min-width:1.45rem;height:1.45rem;font-size:.75rem}.hero .adv{font-size:1.8rem}.carte b{font-size:1.8rem}}
