/* Play Game Learn : site pour les parents.
   Fond crème, texte bleu nuit, accents aux couleurs des cinq applications du jeu.
   Titres : Bricolage Grotesque ; texte : Atkinson Hyperlegible (très lisible). */
:root{
  --fond:#F6F3EC; --papier:#FFFFFF; --encre:#16233F; --encre-douce:#3A4660; --gris:#6B7280;
  --ligne:#E3DCCB; --bleu:#2F6BFF; --bleu-fonce:#1F4FD1; --jaune:#FFC845; --jaune-pale:#FFF3CC;
  --rose:#ff9ec7; --vert:#3ccf8e; --violet:#b48cff;
  --titre:"Bricolage Grotesque",system-ui,sans-serif;
  --texte:"Atkinson Hyperlegible",system-ui,sans-serif;
  --large:1180px; --etroit:760px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--fond);color:var(--encre);font:400 1.0625rem/1.65 var(--texte)}
img{max-width:100%;height:auto;display:block}
a{color:var(--bleu-fonce);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--encre)}
:focus-visible{outline:3px solid var(--bleu);outline-offset:3px;border-radius:4px}
.enveloppe{max-width:var(--large);margin:0 auto;padding:0 24px}
.enveloppe-texte{max-width:var(--etroit);margin:0 auto;padding:0 24px}
.evitement{position:absolute;left:-999px;top:8px;background:var(--encre);color:#fff;padding:8px 14px;z-index:20}
.evitement:focus{left:8px}

/* En-tête */
.entete{position:sticky;top:0;z-index:10;background:rgba(246,243,236,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne)}
.entete-ligne{display:flex;align-items:center;gap:28px;min-height:72px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--encre);flex-shrink:0}
.logo .mot{font:800 1.32rem/1 var(--titre);letter-spacing:-.02em;white-space:nowrap}
.logo .mot b{color:var(--bleu)}
.logo .pts{display:inline-flex;gap:3px;margin-left:2px}
.logo .pts i{width:6px;height:6px;border-radius:50%;display:block}
nav{margin-left:auto}
.menu{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center}
.menu a,.menu summary{display:block;white-space:nowrap;padding:8px 11px;border-radius:8px;color:var(--encre);text-decoration:none;font-weight:700;font-size:.97rem;cursor:pointer}
.menu a:hover,.menu summary:hover{background:#EDE7DA}
.menu a[aria-current="page"]{color:var(--bleu-fonce);box-shadow:inset 0 -3px 0 var(--jaune)}
.menu summary{list-style:none}
.menu summary::-webkit-details-marker{display:none}
.menu summary::after{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 0 3px 8px}
.sous{position:relative}
.sous ul{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;list-style:none;margin:0;padding:8px;background:var(--papier);border:1px solid var(--ligne);border-radius:12px;box-shadow:0 12px 30px rgba(22,35,63,.12)}
.bouton-menu{display:none}
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:10px;background:var(--encre);color:#fff;text-decoration:none;font:700 1rem/1.2 var(--texte);border:0;cursor:pointer;transition:transform .15s,background .15s}
.bouton:hover{background:var(--bleu-fonce);color:#fff;transform:translateY(-1px)}
.bouton-jeu{background:var(--jaune);color:var(--encre);white-space:nowrap}
.bouton-jeu:hover{background:#FFB81F;color:var(--encre)}
.bouton-clair{background:var(--jaune);color:var(--encre)}

/* Fil d'Ariane */
.ariane{display:flex;gap:8px;font-size:.9rem;color:var(--gris);padding-top:18px}
.ariane a{color:var(--gris)}

/* Tête de page : texte à gauche, écran du jeu à droite */
.tete{padding:42px 0 54px;border-bottom:1px solid var(--ligne);background:linear-gradient(180deg,var(--fond),#F1ECE0)}
.tete-grille{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.sur-titre{display:inline-block;margin:0 0 14px;padding:4px 10px;border-radius:6px;background:var(--jaune-pale);font:700 .82rem/1.3 var(--texte);letter-spacing:.06em;text-transform:uppercase;color:#6B5310}
h1{font:800 clamp(2rem,4.2vw,3.2rem)/1.08 var(--titre);letter-spacing:-.025em;margin:0 0 18px;text-wrap:balance}
.chapo{font-size:1.2rem;line-height:1.55;color:var(--encre-douce);margin:0 0 26px;max-width:36em}
.tete-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:0}
.lien-fleche{font-weight:700;text-decoration:none}
.lien-fleche::after{content:" →"}
.tete-sobre{padding:30px 0 30px}
.tete-sobre h1{font-size:clamp(1.8rem,3.4vw,2.5rem)}

/* Captures : écran du jeu dans un cadre de console sobre */
.capture{margin:34px 0;border-radius:14px;overflow:hidden;background:var(--encre);padding:8px;box-shadow:0 1px 0 rgba(22,35,63,.08)}
.capture img{border-radius:8px;width:100%}
.capture-tete{margin:0;transform:rotate(1deg);box-shadow:0 22px 50px -24px rgba(22,35,63,.55)}

/* Corps */
.corps{padding:46px 24px 20px}
.corps h2{font:800 clamp(1.5rem,2.6vw,2rem)/1.15 var(--titre);letter-spacing:-.02em;margin:54px 0 16px;text-wrap:balance}
.corps h2::before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:var(--jaune);margin-bottom:14px}
.corps h3{font:700 1.28rem/1.25 var(--titre);margin:32px 0 10px}
.corps p,.corps li{color:var(--encre-douce)}
.corps strong{color:var(--encre)}
.corps ul,.corps ol{padding-left:1.3em}
.corps li{margin:.4em 0}
.essentiel{background:var(--papier);border:1px solid var(--ligne);border-left:6px solid var(--jaune);border-radius:12px;padding:20px 24px;margin:0 0 30px}
.essentiel .card-title{font:800 1.05rem/1.2 var(--titre);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px}
.essentiel ul{margin:0}
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:24px 0}
.carte{background:var(--papier);border:1px solid var(--ligne);border-radius:12px;padding:18px 18px 8px}
.carte .card-title{font:700 1.12rem/1.25 var(--titre);color:var(--encre);margin:0 0 6px}
.carte p{font-size:.98rem}
.etapes{list-style:none;padding:0;margin:26px 0;counter-reset:etape}
.etapes>li{position:relative;padding:0 0 18px 64px;margin:0;counter-increment:etape}
.etapes>li::before{content:counter(etape,decimal-leading-zero);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:10px;background:var(--encre);color:var(--jaune);font:800 1rem/44px var(--titre);text-align:center}
.etapes>li:not(:last-child)::after{content:"";position:absolute;left:21px;top:50px;bottom:4px;width:2px;background:var(--ligne)}
.etapes .step-title{font:700 1.12rem/1.3 var(--titre);color:var(--encre);margin:8px 0 4px}
.card-title,.step-title,.sec-title{font-family:var(--titre)}

/* FAQ */
.faq{padding:20px 24px 50px}
.faq .sec-title{font-size:clamp(1.5rem,2.6vw,2rem);margin:20px 0 18px}
.faq-item{background:var(--papier);border:1px solid var(--ligne);border-radius:12px;margin:0 0 10px}
.faq-item summary{cursor:pointer;padding:16px 50px 16px 20px;font-weight:700;position:relative;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:20px;top:12px;font:700 1.5rem/1 var(--titre);color:var(--bleu)}
.faq-item[open] summary::after{content:"−"}
.faq-reponse{padding:0 20px 8px;color:var(--encre-douce)}

/* Navigation de bas de page : matières et âges */
.navigation-bas{padding:30px 24px 60px;display:grid;gap:40px}
.sec-title{font:800 1.5rem/1.2 var(--titre);margin:0 0 4px;color:var(--encre)}
.bloc-intro{margin:0 0 16px;color:var(--gris)}
.grille-liens{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.carte-lien{display:block;background:var(--papier);border:1px solid var(--ligne);border-top:5px solid var(--teinte,var(--bleu));border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--encre-douce);transition:transform .15s,border-color .15s}
.carte-lien:hover{transform:translateY(-2px);border-color:var(--teinte)}
.carte-lien .card-title{font:700 1.1rem/1.2 var(--titre);color:var(--encre);margin:0 0 4px}
.carte-lien p{margin:0;font-size:.95rem}

/* Formulaire */
.formulaire-bloc{padding:10px 24px 40px}
.formulaire{display:grid;gap:14px;background:var(--papier);border:1px solid var(--ligne);border-radius:14px;padding:24px}
.formulaire label{display:grid;gap:6px;font-weight:700}
.formulaire input,.formulaire select,.formulaire textarea{font:inherit;padding:11px 12px;border:1.5px solid #CFC6B2;border-radius:9px;background:#FFFDF8;color:var(--encre)}
.formulaire input:focus,.formulaire select:focus,.formulaire textarea:focus{border-color:var(--bleu);outline:none;box-shadow:0 0 0 3px rgba(47,107,255,.2)}
.formulaire .case{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.formulaire .case input{margin-top:5px}
.piege{position:absolute;left:-9999px}
.formulaire-etat{margin:0;font-weight:700}
.formulaire-etat.ok{color:#11785A}
.formulaire-etat.ko{color:#B4232A}

/* Pied */
.pied{background:var(--encre);color:#C9D2E6;padding:50px 0 30px;margin-top:20px}
.pied .logo{color:#fff}
.pied .logo .mot b{color:#8FB0FF}
.pied-haut{display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;padding-bottom:30px;border-bottom:1px solid #2C3B5E}
.pied-haut p{margin:0;flex:1;min-width:240px}
.pied-colonnes{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:30px 0}
.pied-titre{font:700 .85rem/1.2 var(--texte);text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 12px}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin:0 0 8px}
.pied a{color:#C9D2E6;text-decoration:none}
.pied a:hover{color:#fff;text-decoration:underline}
.pied .bouton-clair,.pied .bouton-clair:hover{color:var(--encre);text-decoration:none}
.pied-editeur{font-size:.88rem;color:#93A0BC;margin:0;border-top:1px solid #2C3B5E;padding-top:20px}

/* Apparitions douces (si JavaScript, et si le mouvement est permis) */
@media (prefers-reduced-motion:no-preference){
  .js .apparait{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
  .js .apparait.vu{opacity:1;transform:none}
}

/* Tablettes et téléphones */
@media (max-width:980px){
  .tete-grille{grid-template-columns:1fr;gap:34px}
  .capture-tete{transform:none}
  .pied-colonnes{grid-template-columns:repeat(2,1fr)}
  .bouton-jeu{display:none}
  .bouton-menu{display:block;padding:9px 14px;border:1.5px solid var(--encre);border-radius:9px;background:transparent;font:700 1rem/1 var(--texte);color:var(--encre);cursor:pointer}
  .js .menu:not(.ouvert){display:none}
  .menu{position:absolute;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;background:var(--fond);border-bottom:1px solid var(--ligne);padding:10px 16px 18px}
  .sous ul{position:static;box-shadow:none;border:0;padding:0 0 0 14px;background:transparent}
}

@media (max-width:560px){
  body{font-size:1rem}
  .enveloppe,.enveloppe-texte{padding:0 16px}
  .corps{padding:34px 16px 10px}
  .logo .pts{display:none}
  .pied-colonnes{grid-template-columns:1fr}
  .chapo{font-size:1.08rem}
}

/* Couleurs d'accent (générées par build.py) */
.t-16233f{--teinte:#16233f}i.t-16233f{background:#16233f}.t-1fa97a{--teinte:#1fa97a}i.t-1fa97a{background:#1fa97a}.t-2f6bff{--teinte:#2f6bff}i.t-2f6bff{background:#2f6bff}.t-3ccf8e{--teinte:#3ccf8e}i.t-3ccf8e{background:#3ccf8e}.t-4d8dff{--teinte:#4d8dff}i.t-4d8dff{background:#4d8dff}.t-5a6b8c{--teinte:#5a6b8c}i.t-5a6b8c{background:#5a6b8c}.t-8a63f0{--teinte:#8a63f0}i.t-8a63f0{background:#8a63f0}.t-b48cff{--teinte:#b48cff}i.t-b48cff{background:#b48cff}.t-d98a1f{--teinte:#d98a1f}i.t-d98a1f{background:#d98a1f}.t-e8547a{--teinte:#e8547a}i.t-e8547a{background:#e8547a}.t-ff9ec7{--teinte:#ff9ec7}i.t-ff9ec7{background:#ff9ec7}.t-ffc845{--teinte:#ffc845}i.t-ffc845{background:#ffc845}.t-ffcc4d{--teinte:#ffcc4d}i.t-ffcc4d{background:#ffcc4d}
