/* ---------- Sumas con objetos ---------- */
.sum-visual{width:100%;display:grid;gap:12px;justify-items:center}
.sum-help{margin:0;color:var(--muted);font-weight:800}
.sum-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(8px,2vw,18px);width:100%}
.sum-group{--obj:clamp(34px,8vw,52px);display:grid;grid-template-columns:repeat(var(--cols),var(--obj));gap:clamp(4px,1.2vw,8px);padding:clamp(8px,2vw,14px);border-radius:20px;border:3px dashed #b9d3f2;background:#f3f8ff}
.sum-group.tone1{border-color:#ffd0a1;background:#fff6ec}
.sum-obj{width:var(--obj);height:var(--obj);padding:2px;border:0;border-radius:12px;background:transparent;cursor:pointer;position:relative;transition:transform .2s ease,background .2s ease}
.sum-obj:hover{transform:translateY(-2px)}
.sum-obj:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.sum-obj.counted{background:#dff7ec}
.sum-obj.counted::after{content:'✓';position:absolute;right:-2px;top:-4px;font-size:13px;font-weight:1000;color:#0d8a5f}
.sum-obj-svg{width:100%;height:100%;display:block}
.sum-sign{font-size:clamp(34px,7vw,52px);font-weight:1000;color:var(--navy);line-height:1}
.sum-answer{min-width:clamp(56px,12vw,80px);height:clamp(56px,12vw,80px);display:grid;place-items:center;border-radius:18px;border:3px solid var(--navy);background:#fff;font-size:clamp(28px,6vw,42px);font-weight:1000;color:var(--navy)}
.sum-count{font-weight:900;color:var(--muted)}
.sum-count strong{color:var(--blue)}
.sum-good .sum-answer{border-color:var(--mint);background:#e6fbf3;color:#0d8a5f}
.sum-good .sum-obj{animation:sumPop .5s ease both}
.sum-retry .sum-answer{border-color:var(--orange);background:#fff6e9}
.sum-obj.numbered::before{content:attr(data-n);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:24px;height:24px;padding:0 4px;border-radius:99px;background:var(--navy);color:#fff;font-size:13px;font-weight:1000;display:grid;place-items:center;z-index:1;opacity:0;animation:sumShow .3s ease forwards;animation-delay:var(--delay)}
@keyframes sumPop{50%{transform:scale(1.12)}}
@keyframes sumShow{to{opacity:1}}
@media(max-width:520px){.sum-row{flex-direction:column}.sum-sign{line-height:.8}}

/* ---------- Dinero ---------- */
.money-game{width:100%;display:grid;gap:12px;justify-items:center}
.money-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.money-bar label{font-weight:900;color:var(--muted)}
.money-bar select{min-height:44px;border:2px solid var(--line);border-radius:12px;padding:6px 10px;font:inherit;font-weight:800;color:var(--ink);background:#fff}
.money-notice{margin:0;max-width:560px;padding:8px 12px;border-radius:12px;background:#eef5ff;color:#24476b;font-size:14px;text-align:center}
.money-pieces{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:100%}
.money-piece{border:0;cursor:pointer;display:grid;place-items:center;align-content:center;gap:2px;font-weight:1000;color:#1f2d3d;transition:transform .2s ease,box-shadow .2s ease}
.money-piece.moneda{width:clamp(76px,20vw,96px);height:clamp(76px,20vw,96px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7d6,#e9c66b 70%,#c79a2e);box-shadow:inset 0 0 0 4px #d8b04a,0 4px 10px #0002}
.money-piece.billete{min-width:clamp(130px,36vw,170px);height:clamp(70px,18vw,86px);border-radius:12px;background:linear-gradient(135deg,#eaf7ef,#cfe9da);box-shadow:inset 0 0 0 3px #8cc4a4,0 4px 10px #0002}
.money-piece.big.moneda{width:130px;height:130px}
.money-piece.big.billete{min-width:220px;height:110px}
.money-piece b{font-size:clamp(15px,3.6vw,19px)}
.money-piece.big b{font-size:24px}
.money-piece small{font-size:12px;font-weight:800;color:#4a5b6b;text-transform:uppercase}
.money-piece img{max-width:100%;max-height:100%;border-radius:inherit}
.money-piece.counted{transform:translateY(-4px);box-shadow:0 0 0 4px var(--mint),0 6px 14px #0002}
.money-piece:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.money-total{margin:0;font-weight:900;color:var(--blue)}

/* ---------- Inglés guiado ---------- */
.en-stepper{list-style:none;display:flex;gap:6px;padding:0;margin:0 0 14px;width:100%;overflow-x:auto}
.en-stepper li{flex:1;min-width:78px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:800;color:var(--muted);text-align:center}
.en-stepper i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf2f7;color:var(--muted);font-weight:1000}
.en-stepper li.active i{background:#e34955;color:#fff}
.en-stepper li.active{color:#b3263a}
.en-stepper li.done i{background:var(--mint);color:#063}
.en-vocab,.en-exercise,.en-review,.en-review-done{width:100%;display:grid;gap:12px;justify-items:center;text-align:center}
.en-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(140px,42%),1fr));gap:10px;width:100%}
.en-cards.compact{grid-template-columns:repeat(auto-fill,minmax(min(110px,30%),1fr))}
.en-card{position:relative;display:grid;justify-items:center;gap:4px;padding:14px 8px;border:3px solid var(--line);border-radius:20px;background:#fff;cursor:pointer;color:var(--ink);transition:border-color .2s ease,transform .2s ease}
.en-card:hover{transform:translateY(-2px)}
.en-card:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.en-card.heard{border-color:#9fdcc5;background:#f2fcf8}
.en-card.playing{border-color:#e34955}
.en-card .en-img{font-size:clamp(36px,9vw,48px);line-height:1.1}
.en-card b{font-size:clamp(16px,4vw,20px)}
.en-card small{color:var(--muted);font-weight:700}
.en-card i{position:absolute;top:6px;right:8px;font-style:normal;font-size:16px}
.en-card.big{min-width:220px;padding:20px}
.en-card.big .en-img{font-size:64px}
.en-progress{margin:0;font-weight:800;color:var(--muted)}
.en-prompt{margin:0;font-size:clamp(17px,4vw,20px);font-weight:900;color:var(--navy)}
.en-show{display:grid;justify-items:center;gap:6px}
.en-big-img{font-size:clamp(60px,16vw,84px);line-height:1}
.en-big-word{font-size:clamp(26px,7vw,38px);color:var(--navy)}
.en-show small{color:var(--muted);font-weight:800}
.en-listen{display:inline-flex;align-items:center;gap:8px;min-height:64px;padding:10px 22px;border:0;border-radius:999px;background:#e34955;color:#fff;font-size:28px;font-weight:900;cursor:pointer;box-shadow:0 6px 0 #b3263a}
.en-listen span{font-size:18px}
.en-listen.small{min-height:44px;padding:6px 14px;font-size:20px}
.en-listen:active{transform:translateY(3px);box-shadow:0 3px 0 #b3263a}
.en-listen:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.en-feedback{margin:0;min-height:1.5em;font-weight:900;color:var(--navy)}
.en-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}
.en-option{min-height:64px;padding:10px;border:3px solid var(--line);border-radius:18px;background:#fff;cursor:pointer;font-size:clamp(16px,4vw,20px);font-weight:900;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:8px;transition:border-color .2s ease,background .2s ease}
.en-options.images .en-option{min-height:96px}
.en-opt-img{font-size:clamp(44px,12vw,58px);line-height:1}
.en-opt-mini{font-size:24px}
.en-option:hover:not(:disabled){border-color:var(--blue)}
.en-option:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.en-option.right{border-color:var(--mint);background:#e6fbf3}
.en-option.wrong{border-color:#f3a7b3;background:#fff1f3;opacity:.75}
.en-option.demo-pick{border-color:var(--blue);background:#eaf2ff;animation:enPulse 1.2s ease infinite}
.en-option:disabled{cursor:default}
@keyframes enPulse{50%{box-shadow:0 0 0 6px #2166ee33}}
.en-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%;margin-top:12px}
.en-primary,.en-secondary{min-height:56px;padding:12px 20px;border-radius:16px;font-size:17px;font-weight:900;cursor:pointer}
.en-primary{border:0;background:var(--blue);color:#fff}
.en-primary:disabled{background:#b8c7da;cursor:not-allowed}
.en-secondary{border:2px solid var(--line);background:#fff;color:var(--ink)}
.en-review-done>span{font-size:56px}
.en-level{display:inline-block;margin-bottom:4px;padding:2px 8px;border-radius:99px;background:#fdebed;color:#b3263a;font-size:11px;font-weight:900}
.informe-english{margin:12px 0 0;font-size:14px}
@media(max-width:520px){.en-options{gap:8px}.en-option{min-height:58px}.en-stepper li{min-width:0}.en-stepper span{display:none}.en-stepper li.active{flex:2}.en-stepper li.active span{display:block}}
@media(max-width:480px){header .stats{gap:4px}header .stats b,header .stats button{padding:7px 8px}}
@media(prefers-reduced-motion:reduce){.sum-obj,.en-card,.money-piece,.en-option{transition:none}.sum-good .sum-obj,.en-option.demo-pick,.sum-obj.numbered::before{animation:none;opacity:1}}
