/* CapClasse – pages de jeux autonomes (calcul mental, fractions, orthographe, entraînement adaptatif, ateliers).
   Remplace v2-adaptatif.css, v3-ateliers.css et v40-jeux.css : tout est scopé sous .cc-gp, donc sans conflit avec l'en-tête commun.
   Couleurs = variables du thème violet (pop.css). */
.cc-gp{max-width:860px;margin:0 auto;padding:28px 20px 56px;color:var(--ink,#241338);font-family:var(--display,Nunito,system-ui,sans-serif);font-size:17px;line-height:1.6}
.cc-gp *{box-sizing:border-box}
.cc-gp a{color:var(--brand,#901ce0)}
.cc-gp h1{font-size:clamp(1.8rem,4.6vw,2.6rem);line-height:1.15;margin:.2em 0 .4em;color:var(--ink,#241338)}
.cc-gp h2{font-size:1.3rem;line-height:1.25;margin:0 0 .5em}
.cc-gp .cc-gp-back{display:inline-block;margin-bottom:6px;font-weight:700;text-decoration:none}
.cc-gp .cc-gp-back:hover{text-decoration:underline}
.cc-gp header{background:#fff;border:1px solid var(--line,#ebe6f1);border-radius:24px;padding:24px 28px;margin:12px 0 18px;box-shadow:var(--pop-sh,0 8px 24px rgba(42,22,70,.06))}
.cc-gp section,.cc-gp .controls,.cc-gp #stage{background:#fff;border:1px solid var(--line,#ebe6f1);border-radius:22px;padding:22px;margin:16px 0;box-shadow:var(--pop-sh,0 8px 24px rgba(42,22,70,.06))}
.cc-gp #cc-exercice{padding:24px}
.cc-gp label{display:inline-block;margin:.4rem 1rem .6rem 0;font-weight:800}
.cc-gp select,.cc-gp input{font:inherit;color:inherit;border:2px solid var(--line2,#d9d0e4);border-radius:12px;padding:.6rem .7rem;max-width:100%;background:#fff}
.cc-gp #cc-matiere{display:block;width:100%;margin-top:.3rem}
.cc-gp #level{min-width:200px}
.cc-gp select:focus-visible,.cc-gp input:focus-visible,.cc-gp button:focus-visible{outline:3px solid var(--yellow,#ffce1b);outline-offset:2px}
.cc-gp button{font:inherit;font-weight:800;background:var(--brand,#901ce0);color:#fff;border:0;border-bottom:3px solid var(--brand-d,#6b12ab);border-radius:13px;padding:.7rem 1.15rem;margin:.3rem .3rem .3rem 0;cursor:pointer;min-height:46px}
.cc-gp button:hover:not(:disabled){filter:brightness(1.06)}
.cc-gp button:disabled{opacity:.55;cursor:default}
.cc-gp button.secondary,.cc-gp #cc-reset,.cc-gp #clear{background:var(--brand-l,#f1e4fb);color:var(--brand-d,#6b12ab);border-bottom-color:var(--line2,#d9d0e4)}
.cc-gp #cc-reset{display:block;margin-top:18px}
.cc-gp .cc-answer{display:block;width:100%;text-align:left;background:var(--soft,#f8f5fc);color:var(--ink,#241338);border:2px solid var(--line2,#d9d0e4);border-bottom-width:3px;margin:10px 0}
.cc-gp .cc-answer:hover:not(:disabled){background:var(--brand-l,#f1e4fb)}
.cc-gp .cc-answer:disabled{opacity:.85;cursor:default}
.cc-gp .cc-answer.good{background:#ddf9e9;border-color:#15834b;color:#0d3d24}
.cc-gp .cc-answer.bad{background:#ffebe9;border-color:#b62c2c;color:#5a1414}
.cc-gp #cc-next{background:var(--brand,#901ce0)}
.cc-gp .cc-feedback,.cc-gp .feedback{padding:12px 14px;border-radius:14px;background:var(--brand-l,#f1e4fb);margin:1rem 0;font-weight:700}
.cc-gp .options{display:flex;flex-wrap:wrap;gap:.5rem}
.cc-gp .options button{min-width:90px}
.cc-gp svg.clock{max-width:220px;display:block;margin:1rem auto}
.cc-gp #pieces{display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));gap:8px;margin:20px 0}
.cc-gp .piece{min-height:70px;border:2px solid var(--brand,#901ce0);background:#fff;border-radius:12px;padding:0;margin:0;cursor:pointer}
.cc-gp .piece.on{background:var(--brand,#901ce0)}
.cc-gp .cc-game-profile{background:#fff;border:1px solid var(--line,#ebe6f1);border-radius:18px;padding:16px;margin:18px 0;box-shadow:var(--pop-sh,0 5px 22px rgba(42,22,70,.06))}
.cc-gp .cc-game-profile label{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-weight:800;margin:0}
.cc-gp .cc-game-profile select{min-height:44px}
.cc-gp .cc-game-sync{color:var(--muted,#6c6280);min-height:1.5em;border:0;background:none;box-shadow:none;padding:0;margin:8px 0}
.cc-gp .cc-gp-note{font-size:15px;color:var(--muted,#6c6280)}
@media(max-width:560px){.cc-gp{padding:18px 14px 40px}.cc-gp header{padding:18px}.cc-gp #cc-exercice,.cc-gp section,.cc-gp #stage,.cc-gp .controls{padding:16px}}
@media(prefers-reduced-motion:reduce){.cc-gp *{animation:none!important;transition:none!important}}
