:root{--fond:#fff;--texte:#1a1a1a;--texte-doux:#5c5c5c;--trait:#e0e0e0;--accent:#2a2a2a;--erreur:#9b1c1c;--champ:#fff}@media (prefers-color-scheme:dark){:root{--fond:#161616;--texte:#ededed;--texte-doux:#a0a0a0;--trait:#2e2e2e;--accent:#ededed;--erreur:#f28b82;--champ:#1f1f1f}}*{box-sizing:border-box}body{background:var(--fond);color:var(--texte);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5}.page{max-width:32rem;margin:0 auto;padding:1rem 1rem 3rem}.entete{border-bottom:2px solid var(--accent);justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.entete h1{margin:0;font-size:1.125rem;font-weight:600}.entete .lieu{color:var(--texte-doux);white-space:nowrap;font-size:.8125rem}h2{margin:2rem 0 .75rem;font-size:1rem;font-weight:600}h2:first-of-type{margin-top:0}p{margin:0 0 1rem}.doux{color:var(--texte-doux);font-size:.875rem}.liste{border-top:1px solid var(--trait);margin:0 0 1.5rem;padding:0;list-style:none}.liste li{border-bottom:1px solid var(--trait);padding:.875rem 0}.liste .titre{font-weight:600}.liste .detail{color:var(--texte-doux);font-size:.875rem}.vide{border:1px dashed var(--trait);color:var(--texte-doux);text-align:center;border-radius:6px;margin-bottom:1.5rem;padding:1.25rem 1rem;font-size:.875rem}.etiquette{border:1px solid var(--trait);color:var(--texte-doux);border-radius:999px;padding:.0625rem .5rem;font-size:.75rem;display:inline-block}form{margin:0 0 1.5rem}label{margin-bottom:.875rem;font-size:.875rem;font-weight:500;display:block}input,select{width:100%;font:inherit;color:var(--texte);background:var(--champ);border:1px solid var(--trait);border-radius:6px;margin-top:.25rem;padding:.625rem .75rem;display:block}input,select,textarea{font-size:16px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{width:100%;min-height:2.75rem;font:inherit;color:var(--fond);background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:6px;padding:.625rem 1rem;font-weight:600}button[disabled]{opacity:.55;cursor:progress}button.discret{color:var(--texte-doux);border-color:var(--trait);background:0 0;width:auto;min-height:2rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:500}a{color:var(--texte)}.action{border:1px solid var(--trait);border-radius:6px;min-height:2.75rem;margin-bottom:.75rem;padding:.6875rem 1rem;font-weight:500;text-decoration:none;display:block}.action .detail{color:var(--texte-doux);font-size:.8125rem;font-weight:400;display:block}.retour{color:var(--texte-doux);margin-bottom:1.25rem;font-size:.875rem;display:inline-block}.erreur{color:var(--erreur);margin:0 0 1rem;font-size:.875rem}.pied{border-top:1px solid var(--trait);color:var(--texte-doux);justify-content:space-between;align-items:center;gap:.75rem;margin-top:2.5rem;padding-top:1rem;font-size:.8125rem;display:flex}.page.large{max-width:64rem}.tableau{-webkit-overflow-scrolling:touch;margin:0 -1rem 1.5rem;padding:0 1rem;overflow-x:auto}.tableau table{border-collapse:collapse;width:100%;min-width:44rem;font-size:.875rem}.tableau th,.tableau td{text-align:left;vertical-align:top;border-bottom:1px solid var(--trait);padding:.625rem .5rem}.tableau th{text-transform:uppercase;letter-spacing:.04em;color:var(--texte-doux);background:var(--fond);white-space:nowrap;font-size:.75rem;font-weight:600;position:sticky;top:0}.tableau tbody tr:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.tableau .rang{font-variant-numeric:tabular-nums;color:var(--texte-doux);width:2.5rem}.tableau .joueur{font-weight:600;display:block}.tableau .joueur+.joueur{margin-top:.375rem}.tableau .sous{color:var(--texte-doux);white-space:nowrap;font-size:.8125rem;font-weight:400;display:block}.tableau .nombre{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.tableau .poids{font-size:1rem;font-weight:600}.tableau a.bouton{border:1px solid var(--accent);white-space:nowrap;border-radius:6px;padding:.375rem .75rem;font-weight:600;text-decoration:none;display:inline-block}.etiquette.ok{border-color:color-mix(in srgb, var(--accent) 60%, transparent);color:var(--texte)}.etiquette.alerte{border-color:var(--erreur);color:var(--erreur)}.resume{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:0 0 1.5rem;display:grid}.resume div{border:1px solid var(--trait);border-radius:6px;padding:.625rem .75rem}.resume .detail{color:var(--texte-doux);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.resume .valeur{font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:600}.phase{margin-top:2rem}.match-format{color:var(--texte-doux);border:1px solid var(--trait);vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:0 .5rem;font-size:.75rem;font-weight:500}.matchs{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.625rem;margin-bottom:1rem;display:grid}.match{border:1px solid var(--trait);background:var(--champ);border-radius:8px;padding:.625rem .75rem}.match.termine{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.match-entete{color:var(--texte-doux);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:baseline;margin-bottom:.375rem;font-size:.75rem;display:flex}.match-entete .match-format{text-transform:none;letter-spacing:0;margin-left:0}.match-equipe{justify-content:space-between;gap:.5rem;padding:.125rem 0;font-weight:600;display:flex}.match-equipe .etiquette{white-space:nowrap;flex-shrink:0;align-self:center}.match-equipe.gagnant:after{content:"✓";color:var(--accent)}.match-pied{color:var(--texte-doux);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.375rem;font-size:.8125rem;display:flex}.match-score{white-space:nowrap;flex-shrink:0}.match-score strong{color:var(--texte);font-variant-numeric:tabular-nums;font-size:1rem}.match-actions{flex-wrap:wrap;gap:.375rem;margin-top:.5rem;display:flex}.match-form{border-top:1px dashed var(--trait);margin:.75rem 0 0;padding-top:.75rem}.match-form label{margin-bottom:.625rem}.match-forfaits{gap:.375rem;margin-top:.5rem;display:flex}.conflits{margin-bottom:.75rem}.conflits p{margin-bottom:.375rem}.bracket{grid-template-columns:repeat(var(--tours,1), 18rem);-webkit-overflow-scrolling:touch;grid-auto-rows:auto;gap:.625rem .75rem;margin:0 -1rem 1rem;padding:0 1rem .5rem;display:grid;overflow-x:auto}@media (min-width:66rem){.bracket.bracket-large{grid-template-columns:repeat(var(--tours,1), minmax(14rem, 18rem));width:calc(100vw - var(--decalage-menu,0px) - 4rem);margin-left:calc(50% - (100vw - var(--decalage-menu,0px)) / 2 + 2rem);justify-content:center;margin-right:0;padding:0 0 .5rem}}.saisie-rapide-entree{margin-bottom:1.25rem}.saisie-rapide-entree .doux{margin-top:.375rem}.saisie-rapide{border:1px solid var(--trait);border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem}.saisie-rapide h2{margin-top:.25rem}.saisie-rapide fieldset{border:0;border-top:1px solid var(--trait);min-width:0;margin:0;padding:.75rem 0}.saisie-rapide legend{margin-bottom:.5rem;padding:0;font-weight:600}.saisie-rapide .paires{grid-template-columns:1fr;gap:.5rem;margin-bottom:.625rem;display:grid}@media (min-width:40rem){.saisie-rapide .paires{grid-template-columns:1fr 1fr}}.saisie-rapide .paires button{color:var(--texte);border-color:var(--trait);text-align:left;background:0 0;font-weight:500}.saisie-rapide .paires button[aria-pressed=true]{color:var(--fond);background:var(--accent);border-color:var(--accent);font-weight:600}.saisie-rapide .ligne-score{align-items:flex-end;gap:.5rem;display:flex}.saisie-rapide .ligne-score label{flex:1;margin-bottom:0}.saisie-rapide .ligne-score button{width:auto}.saisie-rapide-etat{min-height:1.25rem;font-weight:600}.saisie-rapide-erreur{color:var(--erreur);margin-top:.5rem}.bracket .bracket-case{align-self:center;min-width:0}.tour-titre{text-transform:uppercase;letter-spacing:.04em;color:var(--texte-doux);font-size:.75rem;font-weight:600}.reglages{border:1px solid var(--trait);border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem .25rem}.reglages h2:first-child{margin-top:.25rem}.grille-2{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 1rem;display:grid}.actes{gap:.5rem;margin:.5rem 0 1rem;display:grid}.onglets{border-bottom:1px solid var(--trait);gap:.375rem;margin:0 0 1.25rem;display:flex}.onglet{width:auto;min-height:2.5rem;color:var(--texte-doux);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:.375rem .875rem;font-weight:500}.onglet.actif{color:var(--texte);border-color:var(--trait);background:var(--champ);font-weight:600}.parcours{border:1px solid var(--trait);background:var(--champ);border-radius:8px;margin-bottom:.75rem;padding:.5rem .875rem}.parcours summary{cursor:pointer;padding:.25rem 0;font-weight:600}.parcours summary .rang{color:var(--texte-doux);font-variant-numeric:tabular-nums}.etapes{margin:.5rem 0 .25rem;padding-left:1.25rem}.etapes li{margin-bottom:.5rem}.etape{align-items:flex-start;gap:.5rem;margin:0;font-weight:400;display:flex}.etape input[type=checkbox]{flex:none;width:auto;margin:.3rem 0 0}.bouton-lien{white-space:nowrap;font-weight:600}.escalier table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-bottom:.75rem;font-size:.875rem}.escalier th,.escalier td{text-align:left;vertical-align:top;border-bottom:1px solid var(--trait);padding:.4rem .375rem}.escalier th{text-transform:uppercase;letter-spacing:.04em;color:var(--texte-doux);font-size:.75rem;font-weight:600}.escalier .n{text-align:right}.choix-escalier{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.choix-escalier label{border:1px solid var(--trait);cursor:pointer;border-radius:6px;align-items:flex-start;gap:.625rem;margin:0;padding:.625rem .75rem;font-weight:400;display:flex}.choix-escalier label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choix-escalier input[type=radio]{flex:none;width:auto;margin:.25rem 0 0}.saisie-escalier{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.5rem;margin-bottom:.75rem;display:grid}.saisie-escalier label{margin:0;font-size:.8125rem}@media screen and (prefers-color-scheme:dark){.page{--accent-lisible:color-mix(in srgb, var(--accent) 50%, white)}button,.saisie-rapide .paires button[aria-pressed=true]{background:var(--accent-lisible,var(--accent));border-color:var(--accent-lisible,var(--accent))}.match-equipe.gagnant:after{color:var(--accent-lisible,var(--accent))}.page :focus-visible{outline-color:var(--accent-lisible,var(--accent))}}
