.gj{--gj-sable:#f3ecdf;--gj-creme:#fbf7ef;--gj-beige:#e8dcc6;--gj-bleu:#2337c8;--gj-or:#f2b33d;--gj-brique:#c9452e;--gj-prairie:#3d8b5a;--gj-encre:#16193a;color:var(--gj-encre);gap:1.4rem;display:grid}.gj-carte{background:var(--gj-creme);border:1px solid #16193a14;border-radius:26px;padding:1.3rem 1.4rem;box-shadow:0 30px 70px -48px #16193a8c}.gj-carte h2{margin:0 0 .6rem;font-size:1.25rem}.gj-saison{background:linear-gradient(135deg,var(--gj-bleu) 0%,#1a2a9e 55%,#101b6b 100%);color:#fff;border:0;position:relative;overflow:hidden}.gj-saison:after{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#f2b33d8c,#0000 65%);border-radius:50%;width:70%;position:absolute;inset:auto -30% -60% auto}.gj-saison p{max-width:46rem;margin:.3rem 0}.gj-saison small{opacity:.85}.gj>*,.gj-grille-jeux>*{min-width:0}.gj-chiffres{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.8rem;margin-top:1rem;display:grid}.gj-chiffre{background:#ffffff1f;border-radius:18px;padding:.7rem .9rem}.gj-chiffre strong{font-variant-numeric:tabular-nums;font-size:1.7rem;line-height:1.1;display:block}.gj-grille-jeux{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.4rem;display:grid}.gj-onglets{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.gj-onglets button{color:var(--gj-encre);cursor:pointer;background:#fff;border:1px solid #16193a26;border-radius:999px;min-height:44px;padding:.45rem .9rem;font-weight:800}.gj-onglets button[aria-pressed=true]{background:var(--gj-bleu);color:#fff;border-color:var(--gj-bleu)}.gj-course{margin:0;padding:0;list-style:none;position:relative}.gj-course li{grid-template-columns:2.2rem minmax(0,1fr) 4.6rem;align-items:center;gap:.6rem;height:2.6rem;transition:transform .9s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;left:0;right:0}.gj-course .gj-rang{text-align:center;font-variant-numeric:tabular-nums;font-weight:900}.gj-course .gj-barre{background:var(--gj-sable);border-radius:12px;height:2.1rem;position:relative;overflow:hidden}.gj-course .gj-barre span{background:linear-gradient(90deg,var(--gj-prairie),#57a673);border-radius:12px;width:0;transition:width 1.1s cubic-bezier(.16,1,.3,1);position:absolute;inset:0 auto 0 0}.gj-course .gj-barre b{z-index:1;white-space:nowrap;text-overflow:ellipsis;padding:.45rem .7rem;font-size:.9rem;display:block;position:relative;overflow:hidden}.gj-course .gj-score{text-align:right;font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:850}.gj-course li.gj-moi .gj-barre{box-shadow:inset 0 0 0 2px var(--gj-or)}.gj-course li.gj-moi .gj-barre span{background:linear-gradient(90deg,var(--gj-or),#f7c96b)}.gj-course li:first-child .gj-rang:before{content:"🛡 "}.gj-note{opacity:.8;margin:.6rem 0 0;font-size:.88rem}.gj-mot{justify-content:center;gap:.4rem;margin:.6rem 0;display:grid}.gj-ligne{grid-auto-columns:minmax(0,3rem);grid-auto-flow:column;justify-content:center;gap:.35rem;display:grid}.gj-case{aspect-ratio:1;text-transform:uppercase;perspective:600px;background:#fff;border:2px solid #16193a2e;border-radius:10px;place-items:center;font-size:1.35rem;font-weight:900;display:grid}.gj-case[data-c=bien]{background:var(--gj-prairie);border-color:var(--gj-prairie);color:#fff}.gj-case[data-c=mal]{background:var(--gj-or);border-color:var(--gj-or);color:var(--gj-encre)}.gj-case[data-c=absent]{color:#fff;background:#c9c3b6;border-color:#c9c3b6}.gj-case.gj-retourne{animation:.55s cubic-bezier(.3,.1,.3,1) both gj-retourne}@keyframes gj-retourne{0%{transform:rotateX(0)}49%{transform:rotateX(90deg)}51%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}.gj-clavier{gap:.35rem;margin-top:.6rem;display:grid}.gj-clavier div{justify-content:center;gap:.25rem;display:flex}.gj-clavier button{background:var(--gj-beige);min-width:0;max-width:2.6rem;min-height:2.9rem;color:var(--gj-encre);cursor:pointer;border:0;border-radius:9px;flex:1 1 0;padding:0 .3rem;font-weight:850}.gj-clavier button[data-c=bien]{background:var(--gj-prairie);color:#fff}.gj-clavier button[data-c=mal]{background:var(--gj-or)}.gj-clavier button[data-c=absent]{color:#fff;background:#c9c3b6}.gj-clavier button.gj-large{flex:1.6 1 0;max-width:4rem;font-size:.8rem}.gj-saisie{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.7rem;display:flex}.gj-saisie input{letter-spacing:.2em;text-transform:uppercase;border:1px solid #16193a33;border-radius:12px;width:12rem;min-height:44px;padding:0 .8rem;font-size:1.1rem}.gj-silhouette{filter:drop-shadow(0 12px 18px #16193a33);width:min(11rem,40vw);margin:.4rem auto;display:block}.gj-silhouette path{fill:var(--gj-bleu);stroke:var(--gj-encre);stroke-width:.6px}.gj-carte-jeu{background:var(--gj-sable);border-radius:20px;height:clamp(16rem,46vh,26rem);position:relative;overflow:hidden}.gj-carte-jeu>div{position:absolute;inset:0}.gj-carte-jeu[data-mode=deblayee]{height:clamp(18rem,52vh,30rem)}.gj-collection{grid-template-columns:repeat(auto-fill,minmax(5.2rem,1fr));gap:.35rem;margin-top:.7rem;padding:0;list-style:none;display:grid}.gj-collection li{text-align:center;background:var(--gj-sable);color:#16193a8c;border:1px dashed #16193a2e;border-radius:10px;padding:.4rem .2rem;font-size:.72rem}.gj-collection li.gj-ok{color:var(--gj-encre);border:1px solid var(--gj-prairie);background:#fff;font-weight:800}.gj-tampon{aspect-ratio:1;border:6px double var(--gj-brique);width:12rem;color:var(--gj-brique);text-align:center;text-transform:uppercase;letter-spacing:.06em;border-radius:50%;place-items:center;margin:1rem auto;font-weight:900;display:grid;position:relative;transform:rotate(-12deg)}.gj-tampon.gj-frappe{animation:.6s cubic-bezier(.2,1.6,.4,1) both gj-frappe}@keyframes gj-frappe{0%{opacity:0;transform:translateY(-60px)rotate(-30deg)scale(1.6)}60%{opacity:1;transform:translateY(0)rotate(-10deg)scale(.92)}to{transform:rotate(-12deg)scale(1)}}.gj-pave{grid-template-columns:repeat(5,1fr);gap:4px;width:min(18rem,80vw);margin:1rem auto;display:grid;transform:perspective(500px)rotateX(38deg)}.gj-pave span{aspect-ratio:1.6;background:linear-gradient(145deg,#b9ae9c,#8f8575);border-radius:5px;box-shadow:inset 0 -3px #0000002e}.gj-pave span.gj-mien{background:linear-gradient(145deg,var(--gj-or),#c98b12);color:var(--gj-encre);text-align:center;place-items:center;font-size:.55rem;font-weight:900;display:grid;overflow:hidden}.gj-pave span.gj-pose{animation:.9s cubic-bezier(.2,1.4,.4,1) both gj-pose}@keyframes gj-pose{0%{opacity:0;transform:translateY(-120px)scale(1.4)}70%{opacity:1;transform:translateY(4px)scale(.96)}to{transform:none}}.gj-boucliers{gap:.4rem;padding:0;list-style:none;display:grid}.gj-boucliers li{align-items:baseline;gap:.5rem;display:flex}.gj-reglement h2{margin-top:1.4rem}.gj-qr-liste{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;padding:0;list-style:none;display:grid}.gj-qr-liste li{background:#fff;border:1px solid #16193a1a;border-radius:16px;padding:.9rem}.gj-qr-liste svg{width:100%;height:auto}@media print{@page{size:A6;margin:8mm}body *{visibility:hidden}.gj-impression,.gj-impression *{visibility:visible}.gj-impression{text-align:center;place-items:center;display:grid;position:absolute;inset:0}}@media (prefers-reduced-motion:reduce){.gj-course li,.gj-course .gj-barre span{transition:none}.gj-case.gj-retourne,.gj-tampon.gj-frappe,.gj-pave span.gj-pose{animation:none}}.gj-quiz fieldset{border:0;min-width:0;margin:0 0 .9rem;padding:0}.gj-quiz legend{margin-bottom:.35rem;font-weight:800}.gj-quiz label{cursor:pointer;border-radius:12px;align-items:center;gap:.5rem;min-height:44px;padding:.2rem .6rem;display:flex}.gj-quiz label[data-etat=bonne]{background:#3d8b5a29;font-weight:800}.gj-quiz label[data-etat=fausse]{background:#c9452e1f;text-decoration:line-through}.gj-tournee,.gj-parcours,.gj-defis,.gj-niveaux,.gj-titres{gap:.45rem;margin:.6rem 0;padding-left:1.1rem;display:grid}.gj-tournee li.gj-ok{color:var(--gj-prairie);font-weight:800}.gj-collections{grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:.7rem;padding:0;list-style:none;display:grid}.gj-collections li{background:#fff;border:1px solid #16193a1a;border-radius:16px;gap:.3rem;padding:.7rem .8rem;display:grid}.gj-collections li.gj-ok{border-color:var(--gj-or);box-shadow:inset 0 0 0 2px var(--gj-or)}.gj-jauge{background:var(--gj-sable);border-radius:999px;height:.6rem;overflow:hidden}.gj-jauge span{background:linear-gradient(90deg,var(--gj-prairie),#57a673);border-radius:inherit;height:100%;transition:width .9s cubic-bezier(.16,1,.3,1);display:block}.gj-niveaux li[data-niveau="3"] strong{color:var(--gj-brique)}.gj-niveaux li[data-niveau="2"] strong{color:var(--gj-bleu)}.gj-etiquette{text-transform:uppercase;letter-spacing:.06em;background:var(--gj-encre);color:#fff;vertical-align:middle;border-radius:6px;margin-right:.3rem;padding:.1rem .45rem;font-size:.72rem;font-weight:900;display:inline-block}.gj-parrains{border-top:1px dashed #16193a33;margin-top:.8rem;padding-top:.6rem}.gj-etape{background:#fff;border:1px solid #16193a1a;border-radius:16px;padding:.8rem .9rem}.gj-etape.gj-ok{border-color:var(--gj-prairie);box-shadow:inset 0 0 0 2px var(--gj-prairie)}.gj-etapes{gap:.6rem;padding:0;list-style:none;display:grid}.gj-bande{gap:.5rem;margin:0;display:grid}.gj-bande-plans{aspect-ratio:16/7;background:var(--gj-encre);border-radius:26px;width:100%;min-width:0;min-height:13rem;position:relative;overflow:hidden}.gj-bande-plans img,.gj-bande-plans video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.1s,transform 5s linear;position:absolute;inset:0;transform:scale(1.08)}.gj-bande-plans .gj-actif{opacity:1;transform:scale(1)}.gj-bande-plans figcaption{color:#fff;background:linear-gradient(#0000,#101b6be0);gap:.2rem;padding:1.2rem 1.4rem;display:grid;position:absolute;inset:auto 0 0}.gj-bande-plans figcaption strong{font-size:clamp(1.4rem,4vw,2.3rem);line-height:1.05}.gj-bande-plans figcaption span{opacity:.92;max-width:40rem;font-size:.95rem}.gj-bande>button{justify-self:end}.gj-remise{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;display:grid}.gj-bouclier{text-align:center;background:linear-gradient(160deg,var(--gj-bleu),#101b6b);color:#fff;border-radius:22px;place-items:center;padding:1rem;display:grid;position:relative;overflow:hidden}.gj-bouclier svg{filter:drop-shadow(0 10px 18px #00000059);width:6.5rem;height:auto}.gj-bouclier.gj-remis svg{animation:1.1s cubic-bezier(.2,1.5,.4,1) both gj-bouclier}.gj-bouclier.gj-remis:after{content:"";pointer-events:none;background:conic-gradient(#0000,#f2b33d59,#0000 30%);animation:6s linear infinite gj-rayons;position:absolute;inset:-40%}@keyframes gj-bouclier{0%{opacity:0;transform:translateY(-80px)scale(.4)rotate(-20deg)}70%{opacity:1;transform:translateY(6px)scale(1.06)rotate(3deg)}to{transform:none}}@keyframes gj-rayons{to{transform:rotate(1turn)}}.mairie{gap:1.2rem;display:grid}.mairie-badge{color:#fff;background:#2337c8;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.8rem;font-weight:900;display:inline-flex}.mairie-carte{background:#fbf7ef;border:1px solid #16193a14;border-radius:22px;padding:1.1rem 1.2rem}.mairie-carte h2,.mairie-carte h3{margin:0 0 .5rem}.mairie-liste{gap:.5rem;padding:0;list-style:none;display:grid}.mairie-liste li{background:#fff;border:1px solid #16193a14;border-radius:14px;padding:.7rem .8rem}.mairie-alerte{border-left:5px solid #c9452e}.mairie-grille{grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));gap:.5rem;padding:0;list-style:none;display:grid}.mairie-grille a{color:#16193a;background:#fff;border:1px solid #16193a1a;border-radius:12px;min-height:44px;padding:.6rem .7rem;text-decoration:none;display:block}.mairie-chiffres{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem;display:grid}.mairie-chiffres div{background:#fff;border:1px solid #16193a14;border-radius:14px;padding:.6rem .8rem}.mairie-chiffres strong{font-variant-numeric:tabular-nums;font-size:1.5rem;display:block}.mairie-avertissement{background:#fff4da;border:1px solid #f2b33d;border-radius:14px;padding:.7rem .9rem;font-size:.92rem}.mairie-form{gap:.6rem;display:grid}.mairie-form label{gap:.25rem;font-weight:700;display:grid}.mairie-form input,.mairie-form textarea,.mairie-form select{min-height:44px;font:inherit;border:1px solid #16193a33;border-radius:12px;padding:.5rem .7rem}.mairie-code{white-space:pre-wrap;word-break:break-all;color:#fbf7ef;background:#16193a;border-radius:12px;padding:.8rem;font-size:.8rem}@media (prefers-reduced-motion:reduce){.gj-bande-plans img,.gj-bande-plans video{transition:none;transform:none}.gj-bouclier.gj-remis svg,.gj-bouclier.gj-remis:after{animation:none}.gj-jauge span{transition:none}}
