body.game-app-active #app.fel-intrus-theme{background:linear-gradient(#f3efdf,#fff9ef)}
.game-app-board>.fel-clues{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(75px,110px);max-width:500px;gap:15px}
.game-app-board>.fel-clues button{position:relative;background:linear-gradient(110deg,#fffef7,#fff0cc);border:2px solid #aa854b;border-radius:13px;box-shadow:0 4px 0 #dac69f;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:#41331e;text-align:center}
.fel-clue-label{font-size:13px;letter-spacing:.05em;color:#786445}.fel-clues strong{font-size:clamp(23px,4vw,32px);line-height:1.15}.fel-stamp{display:none;position:absolute;right:12px;top:12px;border:3px double #24794d;color:#24794d;font-size:16px;font-weight:900;border-radius:5px;padding:5px;transform:rotate(-10deg)}
.fel-clues button.fel-found .fel-stamp{display:block;animation:fel-stamp-in .35s ease-out}.game-app-board>.fel-clues button.fel-found{background:#e1f1d9;border-color:#387953}.game-app-board>.fel-clues button.fel-tried{background:#fff1e9;border-color:#b77c60}.fel-clues button:disabled{opacity:1}
@keyframes fel-stamp-in{from{opacity:0;transform:scale(1.3) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(-10deg)}}
body.game-app-active #app.fel-shapes-theme{background:linear-gradient(#eaf7ff,#f9f1ff)}
.game-app-board>.fel-shape-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(95px,150px);max-width:600px;gap:18px}.fel-shape-cards button:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 9px)}
.game-app-board>.fel-shape-cards button{background:#fff;border:3px solid #a5bdd6;border-radius:22px;padding:12px;box-shadow:0 5px 0 #c8dae7;display:grid;place-items:center;overflow:hidden}.fel-shape-cards button .math-figure{width:100%;height:100%;max-height:130px;margin:0}
.fel-shape-cards svg polygon,.fel-shape-cards svg path,.fel-shape-cards svg ellipse{fill:#bde7ff;stroke:#20517b;stroke-width:4;stroke-linejoin:round}.fel-shape-cards button:nth-child(2) svg polygon,.fel-shape-cards button:nth-child(2) svg path,.fel-shape-cards button:nth-child(2) svg ellipse{fill:#e3c8f8;stroke:#614083}.fel-shape-cards button:nth-child(3) svg polygon,.fel-shape-cards button:nth-child(3) svg path,.fel-shape-cards button:nth-child(3) svg ellipse{fill:#ffdb9d;stroke:#926220}
.fel-shape-cards svg path[fill="none"]{fill:none}.game-app-board>.fel-shape-cards button.fel-found{border-color:#22834c;background:#e3f5e6;box-shadow:0 5px 0 #94c4a2}.fel-shape-cards button:disabled{opacity:1}.game-app-board>.fel-shape-cards button.fel-tried{border-style:dashed;border-color:#b57766}.fel-shape-mission{text-align:center}
.fel-story-theme .game-app-layout{grid-template-rows:minmax(140px,45%) minmax(0,1fr) 120px}.fel-story-theme .game-app-prompt{padding:0 8px}.fel-story-theme .game-app-prompt .fel-story-text{background:#fffdf6;border:1px solid #ddcfb7;border-radius:18px;padding:16px 20px;margin:8px 0;font-family:Georgia,serif}.fel-story-theme .game-app-prompt .fel-story-text p{font-size:clamp(20px,2.5vw,24px);line-height:1.65;color:#203b34}.fel-story-text h2{font-family:system-ui;font-size:20px}
.fel-story-theme .game-app-board{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px}.fel-story-question{font-size:clamp(19px,2.5vw,24px);line-height:1.3;margin:0;text-align:center}.fel-story-theme .game-app-board>.mobile-choices{grid-auto-rows:minmax(48px,65px);width:100%;margin:0 auto;gap:8px}.fel-story-theme .game-app-board>.mobile-choices button{font-size:clamp(16px,2vw,19px)}
.fel-clues button:focus-visible,.fel-shape-cards button:focus-visible{outline:4px solid #17577a;outline-offset:3px}
@media(max-height:600px){.game-app-board>.fel-clues,.game-app-board>.fel-shape-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(65px,110px);gap:10px}.fel-shape-cards button:last-child:nth-child(odd){grid-column:auto;width:100%}.fel-stamp{font-size:12px;right:4px;top:4px}.fel-story-theme .game-app-layout{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) 95px}.fel-story-theme .game-app-bottom{grid-column:1/-1}.fel-story-theme .game-app-board>.mobile-choices{grid-template-columns:1fr;grid-auto-rows:minmax(42px,55px)}}
@media(prefers-reduced-motion:reduce){.fel-clues button.fel-found .fel-stamp{animation:none}}
.fel-shape-cards svg path:not([d$="Z"]){fill:none}.game-app-board>.fel-clues{grid-auto-rows:minmax(75px,100px)}
/* Lecture : le texte occupe la place libérée par les zones vides. */
.fel-story-theme .game-app-layout{grid-template-rows:minmax(0,1fr) auto auto;height:100%;gap:8px}
.fel-story-theme .game-app-board{overflow:visible;padding:0 6px;flex-shrink:0}
.fel-story-theme .game-app-bottom{min-height:0;height:auto;gap:6px}
.fel-story-theme .game-app-feedback:empty,.fel-story-theme #game-feedback:empty{display:none}
.fel-story-theme .game-app-controls:has(button[hidden]){display:none}
.fel-story-theme .game-app-feedback{min-height:0;padding:0;background:none}
.fel-story-theme .game-app-prompt .fel-story-text{padding:12px 16px}
.fel-story-theme .game-app-prompt .game-count,.fel-story-theme .game-app-prompt .level-badge{display:inline-block;margin:0 6px 2px 0}
.fel-story-theme .game-app-mission-label{display:none}
.fel-story-theme .game-app-prompt .fel-story-text h2{margin:0 0 8px}
.fel-story-theme .game-app-prompt .fel-story-text p{margin:0;line-height:1.55}
.fel-story-theme .game-app-board>.mobile-choices{grid-auto-rows:minmax(48px,auto)}
.fel-story-theme .game-app-board>.mobile-choices button{padding:10px;min-height:52px}
.fel-story-theme .game-app-prompt{scrollbar-gutter:auto}
@media(max-height:600px) and (orientation:landscape){.fel-story-theme .game-app-layout{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto}.fel-story-theme .game-app-board{overflow:auto;justify-content:flex-end}.fel-story-theme .game-app-bottom{grid-column:1/-1}}
.fel-story-theme .game-app-bottom{grid-template-rows:auto auto}

/* La correction reste invisible tant que son contenu est vide. */
.fel-intrus-theme .game-app-feedback:has(#game-feedback:empty){visibility:hidden;background:transparent;box-shadow:none}

