/* Four additional short games; controls remain large on touch screens. */
.game-maze{--game-ink:#306689;--game-wash:#e1f2fc}.game-colors{--game-ink:#a14b81;--game-wash:#fbe4f3}.game-gifts{--game-ink:#8a591b;--game-wash:#fff0cd}.game-letters{--game-ink:#5742a4;--game-wash:#ece5ff}
.mini-maze,.mini-gifts{width:100%;max-width:620px;height:100%;min-height:0;display:flex;flex-direction:column;gap:8px;margin:auto}.puzzle-status{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.8rem;color:#45637d;flex-shrink:0}.puzzle-status p{margin:0}.puzzle-status strong{white-space:nowrap;font-variant-numeric:tabular-nums}.mini-maze-field{flex:1;min-height:0;container-type:size;display:grid;place-items:center}.mini-maze-board{width:min(100cqw,100cqh);height:min(100cqw,100cqh);display:block;background:#f8fcff;border-radius:9px;touch-action:none}.maze-walls{fill:none;stroke:#486c90;stroke-width:3;stroke-linecap:round}.maze-goal{fill:#bde4d4}.maze-player{fill:#9260d5;stroke:#51328e;stroke-width:2}.mini-maze-board text{font-size:25px;fill:#276647}.puzzle-arrows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;flex-shrink:0;width:100%}.puzzle-arrows button{min-height:52px;padding:0;font-size:1.8rem;background:#dfebfb;border:2px solid #a5c1e7;color:#2d5a8c;touch-action:manipulation}.gift-arrows{grid-template-columns:1fr 1fr}.mini-gifts-field{flex:1;min-height:0}.mini-gifts-field svg{display:block;width:100%;height:100%;background:#fff9eb;border-radius:14px}.gift-lanes{stroke:#eadfc8;stroke-width:1;stroke-dasharray:4 6}.gift-box{fill:#9b6bd9;stroke:#60409b;stroke-width:2}.gift-ribbon{fill:none;stroke:#ffd569;stroke-width:5;stroke-linejoin:round}.gift-bomb{fill:#53465f}.bomb-fuse{fill:none;stroke:#db873e;stroke-width:4}.bomb-cross{stroke:#fff;stroke-width:3;stroke-linecap:round}.gift-basket{fill:#edbf65;stroke:#956327;stroke-width:4;stroke-linejoin:round}
.mini-colors,.mini-letters{width:100%;max-width:460px;text-align:center;margin:auto}.color-word{font-size:clamp(2.7rem,12vw,4.5rem);line-height:1.2;font-weight:900;margin:20px 0 28px;letter-spacing:-.03em}.ink-0{color:#b23953}.ink-1{color:#315fbd}.ink-2{color:#287752}.ink-3{color:#926007}.color-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-choices button{background:#fffefa;border:2px solid #c7b7de;min-height:62px;font-size:1rem;font-weight:800}.color-choices .puzzle-correct{background:#d8f2e2;border-color:#58a47b}.letter-answer{display:flex;justify-content:center;gap:5px;margin:15px 0 20px}.letter-answer span{display:grid;place-items:center;flex:1;max-width:48px;height:50px;border-bottom:3px solid #8c6ac1;background:#fffefa;border-radius:8px 8px 0 0;color:#684397;font-size:1.45rem;font-weight:800}.letter-answer.letter-wrong span{background:#ffe5ea;border-color:#cf637e;color:#953653}.letter-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.letter-tiles button{min-height:62px;background:#e6d9fc;color:#543387;border:2px solid #bc9fe7;font-size:1.65rem;font-weight:850}.letter-tiles button:disabled{opacity:.35}.letter-back{min-height:44px;margin-top:14px;background:transparent;color:#715490;font-size:.8rem}.mini-card[data-mini-type="maze"][data-mini-stage="play"] .mini-play-area,.mini-card[data-mini-type="gifts"][data-mini-stage="play"] .mini-play-area{min-height:0;padding:6px;background:transparent;border:0;border-radius:0}
.practice-area .mini-maze,.practice-area .mini-gifts{gap:5px}.practice-area .puzzle-status{font-size:.65rem}.practice-area .puzzle-arrows{gap:5px}.practice-area .puzzle-arrows button{min-height:44px;font-size:1.35rem}.practice-area .color-word{font-size:2.2rem;margin:4px 0 8px}.practice-area .color-choices{gap:6px}.practice-area .color-choices button{min-height:44px;font-size:.85rem;padding:5px}.practice-area .mini-colors .mini-game-hint,.practice-area .mini-letters .mini-game-hint,.practice-area .mini-gifts .mini-game-hint{font-size:.65rem;min-height:0;line-height:1.2;margin-bottom:5px}.practice-area .letter-answer{gap:4px;margin:4px 0 7px}.practice-area .letter-answer span{height:30px;font-size:1.1rem}.practice-area .letter-tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.practice-area .letter-tiles button{min-height:44px;padding:3px;font-size:1.2rem}.practice-area .letter-back{margin-top:3px;min-height:38px;font-size:.7rem;padding:4px}.mini-card[data-mini-type="letters"] .practice-area{width:100%;min-height:170px}
@media(max-height:700px){.puzzle-arrows button{min-height:44px}.color-word{font-size:2.8rem;margin:10px 0 16px}.color-choices button{min-height:52px}.letter-answer{margin:8px 0 12px}.letter-answer span{height:40px}.letter-tiles button{min-height:52px}.mini-gifts .mini-game-hint{font-size:.7rem;margin-bottom:3px}.mini-maze,.mini-gifts{gap:6px}.practice-area .puzzle-status{font-size:.6rem}}
@media(max-height:700px){.practice-area .mini-colors{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4px}.practice-area .mini-colors .color-word{font-size:1.7rem;line-height:1.1;margin:0}.practice-area .mini-colors .mini-game-hint{margin:0}.practice-area .color-choices{grid-column:1/-1}.mini-card[data-mini-type="letters"] .practice-area{min-height:156px}.practice-area .letter-answer{margin:2px 0 4px}.practice-area .letter-back{margin-top:0}}

.mini-maze .mini-dpad{align-self:center}.mini-maze .mini-dpad button{background:#dfebfb;border:2px solid #a5c1e7;color:#2d5a8c}
.mini-card[data-mini-type="maze"][data-mini-stage="play"] .mini-play-area{padding:0}
.mini-card[data-mini-type="maze"][data-mini-stage="play"] .mini-wait-note{display:none}
.mini-card[data-mini-type="maze"] .practice-area{padding:6px}
.practice-area .mini-maze{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr)}
.practice-area .mini-maze .puzzle-status{grid-column:1/-1}.practice-area .mini-maze-field{width:100%;height:100%}

.gift-warning .gift-box{fill:#ffb04a;stroke:#c93750;stroke-width:5}.gift-catch-ring{fill:none;stroke:#35a778;stroke-width:4}.gift-catch-points{fill:#237b55;stroke:#fff;stroke-width:2;paint-order:stroke;font-size:22px;font-weight:900}

.mini-letter-review{margin:auto;text-align:center;padding:18px 12px;border-radius:20px;background:#f0e8fc;width:100%}.mini-letter-review small{display:block;color:#796492;font-size:.8rem}.mini-letter-review strong{display:block;margin:10px 0;font-size:1.5rem}.mini-letter-review .word-success{color:#287752}.mini-letter-review .word-missed{color:#916027}.mini-letter-review p{color:#6e5e7e;font-size:1rem;margin:8px 0}.mini-letter-review b{display:block;font-size:2rem;color:#6840d8;letter-spacing:.08em}.mini-letter-review.review-compact{width:auto;max-width:90%;margin:8px auto;padding:8px 20px}.review-compact strong{font-size:.9rem;margin:3px 0}.review-compact p{font-size:.8rem;margin:3px 0}.review-compact b{display:inline;font-size:1rem;letter-spacing:.04em}
