/* Juegos de aprendizaje: controles táctiles, foco visible y movimiento opcional. */
.learning-stage{max-width:960px;margin:1rem auto;padding:clamp(.75rem,3vw,1.5rem);border:2px solid #d8e2d5;border-radius:24px;background:#fffdf7;color:#4a332c}
.learning-stage h3{font-family:Fredoka,sans-serif;font-size:clamp(1.4rem,4vw,2rem);margin:.5rem 0 1rem}
.learning-stage button{font:700 1rem Nunito,sans-serif;min-height:44px;touch-action:manipulation;cursor:pointer}
.learning-stage button:focus-visible{outline:3px solid #4a332c;outline-offset:3px}
.learning-stage button:disabled{cursor:default}
.learning-keypad,.learning-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin:1rem 0}
.learning-number{min-width:48px;padding:.5rem .8rem;border:2px solid #2f6f65;border-radius:12px;background:#fff;color:#24564e}
.learning-number:hover,.learning-number:focus-visible{background:#e4f1e5}
.learning-feedback{min-height:1.6em;font-weight:700;text-align:center}
.learning-progress{font-weight:700;color:#2f6f65}
.sudoku-scroll{overflow-x:auto;padding:6px 6px 12px}
.sudoku-grid{display:grid;grid-template-columns:repeat(var(--side),1fr);width:100%;min-width:calc(var(--side)*44px);max-width:560px;margin:auto;border:3px solid #4a332c;border-radius:4px}
.sudoku-cell{aspect-ratio:1;min-width:0;min-height:44px;border:1px solid #bbb7a9;border-radius:0;background:#fff;color:#24564e;font-size:clamp(1.2rem,3vw,1.8rem)!important;padding:0}
.sudoku-cell.given{background:#e9e6db;color:#4a332c;font-weight:900}
.sudoku-cell.box-left{border-left:3px solid #4a332c}
.sudoku-cell.box-top{border-top:3px solid #4a332c}
.sudoku-cell.selected{background:#fae2a3;box-shadow:inset 0 0 0 3px #705126}
.sudoku-cell.conflict{color:#8a1820;background:#ffe0df;text-decoration:underline;text-decoration-thickness:3px}
.numberpath-trail{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;padding:1rem 0}
.numberpath-node{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:52px;padding:.5rem;border:2px solid #78936b;border-radius:16px;background:#edf3e7;font-size:1.4rem;font-weight:900}
.numberpath-node.current{border:3px solid #705126;background:#fae2a3}
.numberpath-node.destination{background:#2f6f65;color:#fff;border-color:#2f6f65}
.numberpath-operation{font-weight:900;font-size:1.2rem}
.numberpath-question{text-align:center;font-size:1.3rem;font-weight:700}
.numberpath-help{border:2px dashed #78936b;border-radius:16px;padding:1rem}
.numberpath-help .learning-number{margin:.3rem}
.numberpath-dots{display:flex;flex-wrap:wrap;gap:.35rem;padding:.6rem}
.numberpath-dot{border:2px solid #78936b;border-radius:50%;width:44px;background:#fff;color:#2f6f65}
.numberpath-dot.counted{background:#2f6f65;color:#fff}
.numberpath-dot.removed{background:#f4e5dc;color:#875c48;text-decoration:line-through}
.alphabet-card{text-align:center}
.alphabet-letter{display:block;color:#2f6f65;font-family:Fredoka,sans-serif;font-size:clamp(4rem,15vw,7rem);line-height:1.1}
.alphabet-image{display:block;width:100%;max-width:300px;height:240px;object-fit:contain;margin:.7rem auto}
.alphabet-word{letter-spacing:.08em;overflow-wrap:anywhere}
.alphabet-prompt{text-align:center;font-size:1.2rem;font-weight:700}
.alphabet-keyboard{display:grid;grid-template-columns:repeat(9,minmax(44px,1fr));gap:.5rem;max-width:650px;margin:1rem auto}
.alphabet-key{min-width:44px;border:2px solid #2f6f65;border-radius:12px;background:#fff;color:#24564e;font-size:1.3rem!important;padding:.5rem}
.alphabet-key.correct{background:#2f6f65;color:white;opacity:1}
.alphabet-key.suggested{background:#fae2a3;border:3px solid #705126}
.alphabet-fact{padding:1rem;background:#e9f1e5;border-radius:18px;font-size:1.2rem;text-align:center}
.learning-stage>button{display:block;margin:1rem auto}
@media(max-width:600px){.alphabet-keyboard{grid-template-columns:repeat(5,minmax(44px,1fr));gap:.35rem}.alphabet-image{height:200px}.learning-controls>.tilo-button{width:100%}.learning-stage{padding:.65rem}}
@media(prefers-reduced-motion:reduce){.learning-stage *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
