/* Le concours : une hiérarchie claire, un podium général et des détails à la demande. */
.gp{--gp-vert:#193e32;--gp-encre:#17352b;--gp-creme:#f8f5eb;--gp-trait:#d9dfd2;--gp-or:#f4bd62;background:var(--gp-creme);color:var(--gp-encre);font-size:1rem}
.gp .wrap{max-width:1200px}.gp a{color:inherit}.gp [hidden]{display:none!important}.gp h2{font-size:clamp(1.8rem,3.3vw,2.7rem);max-width:23ch}.gp p{max-width:none}.gp button{font:inherit;cursor:pointer}.gp a:focus-visible,.gp button:focus-visible,.gp summary:focus-visible{outline:3px solid #b9542e;outline-offset:4px}
.gp-kicker{font:800 .7rem/1.4 var(--texte);letter-spacing:.13em;text-transform:uppercase;margin:0 0 12px;color:#4e685b}.gp-hero{position:relative;overflow:hidden;background:#e2e9d4}.gp-hero>.wrap{position:relative;min-height:590px;display:flex;align-items:center}.gp-hero-art{position:absolute;inset:0 -160px 0 auto;width:1050px;height:100%;object-fit:cover;object-position:right center;max-width:none}.gp-hero>.wrap::after{content:"";position:absolute;inset:0 auto 0 -15vw;width:85%;background:linear-gradient(90deg,#e2e9d4 55%,#e2e9d4e8 70%,transparent);pointer-events:none}.gp-hero-texte{position:relative;z-index:1;width:53%;padding-block:56px}.gp-nom{font:500 1.2rem var(--display);margin:0 0 18px}.gp h1{font-size:clamp(3rem,5.5vw,5rem);letter-spacing:-.045em;line-height:1.02;margin:0 0 22px}.gp h1 em{font-weight:400;color:#42634d}.gp-intro{font-size:1.02rem;line-height:1.7;max-width:39ch!important}.gp-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:27px 0}.gp-bouton{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--gp-vert);color:#fff6de!important;border:1px solid var(--gp-vert);border-radius:10px;padding:15px 23px;text-decoration:none;font-weight:800;min-height:52px}.gp-bouton:hover{background:#2b5743;transform:translateY(-1px)}.gp-lien{font-size:.87rem;font-weight:800;text-underline-offset:5px}.gp-date{font-size:.79rem;margin:0}.gp-date span{display:block;margin-top:3px;color:#566b55}.gp-raccourcis{display:flex;justify-content:center;gap:35px;border-bottom:1px solid var(--gp-trait);padding:15px 20px;background:#fffaf0}.gp-raccourcis a{font-size:.8rem;font-weight:700;text-decoration:none;padding:3px}
.gp-section{padding:clamp(40px,5vw,68px) 0;scroll-margin-top:95px}.gp-section-titre{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}.gp-section-titre h2{margin-bottom:0}.gp-etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;padding:0;margin:30px 0}.gp-etapes li{position:relative;padding:0 25px 0 40px;border-right:1px solid var(--gp-trait)}.gp-etapes li:last-child{border:0}.gp-etapes li>span{position:absolute;left:0;top:2px;font-size:.75rem;font-weight:800;color:#aa713b}.gp-etapes h3{font-family:var(--texte);font-size:1rem;font-weight:800;line-height:1.4;letter-spacing:-.02em;margin:0 0 8px}.gp-etapes p{font-size:.85rem;color:#536257;margin:0;line-height:1.65}
.gp-details{border:1px solid var(--gp-trait);border-radius:14px;background:#fffdf6;overflow:hidden}.gp-details summary{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;cursor:pointer;list-style:none;font-weight:800;font-size:.9rem;min-height:58px}.gp-details summary::-webkit-details-marker{display:none}.gp-fleche{display:grid;place-items:center;width:30px;height:30px;background:#e8eddf;border-radius:50%;font-size:20px;flex-shrink:0;transition:transform .2s}.gp-details[open]>summary .gp-fleche{transform:rotate(180deg)}.gp-details[open]>summary{border-bottom:1px solid var(--gp-trait)}.gp-details-corps{padding:24px}.gp-details-corps h3{font-family:var(--texte);font-weight:800;font-size:1rem;line-height:1.4;margin:0 0 10px}.gp-details-corps p{font-size:.88rem;line-height:1.7;color:#4e6054}.gp-bareme{display:grid;grid-template-columns:repeat(10,1fr);padding:0;list-style:none;border:1px solid var(--gp-trait);border-radius:10px;overflow:hidden;margin:20px 0}.gp-bareme li{display:grid;text-align:center;border-right:1px solid var(--gp-trait);padding:12px 3px;gap:6px;background:#eff2e7}.gp-bareme li:last-child{border:0}.gp-bareme span{font-size:.72rem}.gp-bareme b{font-size:1.15rem}.gp-bareme small{font-size:.65rem}.gp-exemple{padding:15px 18px;background:#f7e7c6;border-radius:9px}.gp-regles-grille{display:grid;grid-template-columns:1fr 1fr;gap:25px 40px;padding:22px 0}.gp-regles-grille p{margin:7px 0}.gp-fairplay{border-top:1px solid var(--gp-trait);padding-top:16px}
.gp-classement{background:#e9eedf;border-block:1px solid #d4ddc9}.gp-actualiser{border:1px solid #becbb7;border-radius:8px;padding:10px 15px;color:var(--gp-encre);background:transparent;white-space:nowrap;min-height:44px;font-size:.8rem!important}.gp-statut{font-size:.76rem;color:#586953;margin-bottom:20px}.gp-podium{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:end;gap:18px;list-style:none;padding:0;margin:20px auto 35px;max-width:850px}.gp-podium li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px 16px 22px;border-radius:18px;background:#f6f7ef;border:1px solid #cbd6c1;grid-row:1;min-width:0}.gp-podium li:nth-child(1){grid-column:2;background:#244b3a;color:#fff5da;padding-top:35px;padding-bottom:32px;box-shadow:0 16px 28px #244b3a20;border-color:#244b3a}.gp-podium li:nth-child(2){grid-column:1}.gp-podium li:nth-child(3){grid-column:3}.gp-medaille{display:grid;place-items:center;width:65px;height:65px;margin:0 0 14px;border-radius:50%;border:4px double #9b613a;background:linear-gradient(135deg,#f4d4ab,#be8c5b);color:#563820;font:500 2rem var(--display);box-shadow:0 3px 0 #173e3120}.gp-podium li:nth-child(1) .gp-medaille{width:82px;height:82px;background:linear-gradient(135deg,#ffe7a6,#eeb459);border-color:#a57528;color:#634315;font-size:2.7rem}.gp-podium li:nth-child(2) .gp-medaille{background:linear-gradient(135deg,#f3f4ed,#bdc7bf);border-color:#87948b;color:#4b5d52}.gp-podium .gp-place{font-size:.7rem;opacity:.8;margin:0 0 10px}.gp-podium .gp-pseudo-nom{font-weight:800;font-size:1rem;overflow-wrap:anywhere;line-height:1.35}.gp-podium .gp-total{font:500 3.5rem var(--display);line-height:1.2;margin:12px 0 4px}.gp-podium .gp-total small{font:600 .75rem var(--texte)}.gp-podium .gp-repartition{font-size:.65rem;opacity:.8;margin:0;line-height:1.8}.gp-podium .gp-vide{font-size:.8rem;opacity:.7;min-height:60px;display:grid;place-items:center}
.gp-tableau{background:#fffdf7;border:1px solid var(--gp-trait);border-radius:16px;overflow:hidden}.gp-tableau-titre{padding:22px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--gp-trait)}.gp-tableau-titre h3{font-size:1.4rem;margin:0}.gp-tableau-titre>span{font-size:.74rem;color:#667260}.gp-classement-liste{list-style:none;margin:0;padding:0}.gp-ligne{border-bottom:1px solid #e6eadf}.gp-ligne:last-child{border:0}.gp-ligne summary{list-style:none;display:grid;grid-template-columns:40px minmax(0,1fr) minmax(160px,1fr) 80px 28px;gap:14px;align-items:center;padding:16px 22px;cursor:pointer}.gp-ligne summary::-webkit-details-marker{display:none}.gp-ligne summary:focus-visible{outline-offset:-4px}.gp-rang{font-size:.85rem;font-weight:800;color:#748168}.gp-joueur{font-weight:800;font-size:.9rem;overflow-wrap:anywhere}.gp-par-jeu{display:flex;justify-content:space-between;gap:12px;font-size:.7rem;color:#5c6e57}.gp-par-jeu b{display:block;font-size:.92rem;color:var(--gp-encre)}.gp-points{font-size:1.1rem;font-weight:800;text-align:right;white-space:nowrap}.gp-points small{font-size:.66rem}.gp-detail-joueur{padding:5px 22px 20px 76px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gp-detail-joueur>div{background:#f2f4ea;padding:12px;border-radius:8px;font-size:.75rem}.gp-detail-joueur strong{display:block;margin-bottom:5px}.gp-ligne.moi{background:#fff0cd}.gp-pages{display:flex;justify-content:center;align-items:center;gap:16px}.gp-pages:empty{display:none}.gp-pages button{margin:16px 0;padding:8px 14px;background:#e9eedf;border:1px solid #bfcdb3;border-radius:8px}.gp-tableau [data-concours-general]>p{padding:15px 22px}.gp-hors{padding:18px 22px;border-top:1px solid var(--gp-trait);font-size:.8rem}.gp-hors p{color:#63715e;font-size:.75rem}
.gp .jeux-cartes{gap:22px}.gp .jeux-cartes article{padding:0;gap:0;overflow:hidden;background:#fffdf6;border:1px solid var(--gp-trait);border-radius:16px}.gp .jeux-cartes .apercu{border-radius:0;aspect-ratio:1.8}.gp-jeu-texte{padding:24px;flex:1;display:flex;flex-direction:column;align-items:stretch}.gp-jeu-texte>.gp-kicker{font-size:.61rem;margin-bottom:10px}.gp-jeu-texte h3{font-size:1.6rem;margin-bottom:14px}.gp .jeux-cartes p{color:#4e6252;font-size:.84rem;line-height:1.65}.gp .jeux-cartes .record{font-size:.73rem;padding-top:8px}.gp .jeux-cartes .jeu-jouer{margin-top:auto;color:#28170c;width:100%;min-height:54px;font-size:1.05rem}.gp .jeux-cartes .record{margin-bottom:20px;min-height:20px}.gp-top-jeu{border:0;border-top:1px solid var(--gp-trait);border-radius:0;background:#f3f5eb}.gp-top-jeu summary{padding:15px 20px;font-size:.8rem}.gp-top-jeu .gp-details-corps{padding:8px 18px 18px}.gp-jeu-liste{list-style:none;padding:0;margin:0}.gp-jeu-liste li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid #d9e1d0;padding:10px 0;font-size:.72rem}.gp-jeu-liste strong{overflow-wrap:anywhere}.gp-jeu-liste small{display:block;color:#60745c;font-size:.65rem}.gp-jeu-liste .gp-gain{color:#315b40;font-weight:800;white-space:nowrap}
.gp-pseudo{background:#244b3a;color:#fff5da}.gp-pseudo>.wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.gp-pseudo .gp-kicker{color:#d1c08e}.gp-pseudo h2{font-size:2.5rem}.gp-pseudo p{color:#d2decd;font-size:.9rem}.gp-pseudo .joueur{background:#1c3c2e;border-color:#63795b}.gp-partage{padding-block:40px}.gp-partage .gp-section-titre{margin:0}.gp-partage p{font-size:.86rem;color:#5d6b58;margin-bottom:0}
@media(max-width:760px){.gp-hero>.wrap{min-height:780px;align-items:start}.gp-hero-art{inset:auto 0 0;width:100%;height:430px;object-position:60% center}.gp-hero>.wrap::after{inset:0 0 auto;width:100%;height:475px;background:linear-gradient(#e2e9d4 78%,transparent)}.gp-hero-texte{width:100%;padding:34px 0 0}.gp h1{font-size:clamp(2.65rem,9vw,3.8rem)}.gp-intro{max-width:40ch!important;font-size:.94rem}.gp-hero .gp-kicker{font-size:.62rem}.gp-nom{font-size:1.05rem;margin-bottom:16px}.gp-actions{gap:18px;margin:22px 0}.gp-bouton{font-size:.87rem;padding:13px 18px;gap:20px}.gp-lien{font-size:.8rem}.gp-date{font-size:.71rem}.gp-raccourcis{gap:22px;padding-inline:12px}.gp-raccourcis a{font-size:.7rem}.gp-etapes{grid-template-columns:1fr;gap:22px;margin:27px 0}.gp-etapes li{padding:0 0 0 40px;border:0}.gp-etapes h3{margin-bottom:5px}.gp-details summary{padding:16px;font-size:.83rem}.gp-details-corps{padding:18px}.gp-bareme{grid-template-columns:repeat(5,1fr)}.gp-bareme li:nth-child(5){border:0}.gp-bareme li:nth-child(-n+5){border-bottom:1px solid var(--gp-trait)}.gp-regles-grille{grid-template-columns:1fr;gap:20px}.gp-section-titre{align-items:start;gap:15px}.gp-section-titre .gp-actualiser{font-size:.65rem!important;padding:8px}.gp-podium{gap:7px}.gp-podium li{padding:18px 7px 15px;border-radius:12px}.gp-podium li:nth-child(1){padding:26px 7px 23px}.gp-podium .gp-medaille{width:46px;height:46px;font-size:1.5rem}.gp-podium li:nth-child(1) .gp-medaille{width:58px;height:58px;font-size:2rem}.gp-podium .gp-pseudo-nom{font-size:.76rem}.gp-podium .gp-total{font-size:2.5rem}.gp-podium .gp-total small{font-size:.6rem}.gp-podium .gp-repartition{font-size:.57rem}.gp-podium .gp-place{font-size:.6rem}.gp-tableau-titre{padding:18px 15px;align-items:start}.gp-tableau-titre h3{font-size:1.2rem}.gp-tableau-titre>span{font-size:.67rem}.gp-ligne summary{grid-template-columns:22px minmax(0,1fr) 65px 24px;gap:8px;padding:14px 12px}.gp-ligne .gp-par-jeu{grid-column:2/3;grid-row:2;font-size:.6rem;gap:10px;justify-content:start}.gp-par-jeu b{display:inline;font-size:.73rem;margin-left:3px}.gp-points{grid-column:3;grid-row:1/3;font-size:1rem}.gp-ligne .gp-fleche{grid-column:4;grid-row:1/3;width:24px;height:24px}.gp-joueur{font-size:.8rem}.gp-detail-joueur{padding:0 12px 16px 42px;grid-template-columns:1fr;gap:6px}.gp-detail-joueur>div{font-size:.72rem;padding:10px}.gp-pseudo>.wrap{grid-template-columns:1fr;gap:24px}.gp-pseudo h2{font-size:2rem}.gp-partage .gp-section-titre{display:block}.gp-partage .gp-bouton{margin-top:22px}.gp-jeu-texte{padding:22px}.gp-jeu-texte h3{font-size:1.8rem}.gp .jeux-cartes .apercu{aspect-ratio:2}.gp .console-reglages{color:#fff5da;font-size:.8rem}}
@media(max-width:360px){.gp-hero>.wrap{min-height:850px}.gp-hero>.wrap::after{height:550px}.gp-actions{align-items:start;flex-direction:column;gap:13px}.gp-podium .gp-total{font-size:2rem}.gp-par-jeu{gap:7px}}
@media(prefers-reduced-motion:reduce){.gp *{scroll-behavior:auto!important;transition:none!important}}

.gp-ligne details[open]>summary .gp-fleche{transform:rotate(180deg)}

/* Les liens pour jouer sont visibles immédiatement, même lors d’un défilement rapide. */
.gp .jeux-cartes article.reveal{opacity:1;transform:none;transition:none}

/* Un accès secondaire, puis une fenêtre courte consacrée aux membres. */
.gp-amicale-lien{display:block;margin:1rem 0 0 auto;padding:.5rem 0;border:0;background:none;color:#506049;font:inherit;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;min-height:44px;cursor:pointer}
.gp-amicale{width:min(680px,calc(100% - 24px));max-height:85dvh;overflow:auto;border:1px solid #bfcbb5;border-radius:18px;padding:1.5rem;margin:auto;background:#fbfaf4;color:#233c27;box-shadow:0 20px 90px #0005}.gp-amicale::backdrop{background:#14231dcc}.gp-amicale h2{font-size:clamp(1.5rem,5vw,2rem);line-height:1.2;padding-right:1rem}.gp-amicale-fermer{float:right;border:0;border-radius:50%;background:#e6ecdf;color:inherit;width:44px;height:44px;font-size:1.6rem;cursor:pointer}.gp-amicale-intro,.gp-amicale-regles,.gp-amicale-statut{font-size:.85rem;line-height:1.5}.gp-amicale-regles summary{cursor:pointer;padding:.6rem 0}.gp-amicale-statut{color:#52654c}.gp-amicale-liste{list-style:none;margin:1rem 0;padding:0}.gp-amicale-liste li{border-top:1px solid #dce3d5}.gp-amicale-liste summary{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.9rem .1rem;cursor:pointer;font-size:.9rem}.gp-amicale-liste summary>b{overflow-wrap:anywhere}.gp-amicale-liste summary::-webkit-details-marker{display:none}.gp-amicale-details{padding:0 .3rem .6rem 2rem;font-size:.82rem}.gp-amicale-details p{margin:.6rem 0}.gp-amicale [data-amicale-actualiser]{display:block;margin-left:auto;min-height:44px}
