/* Falamigo 3 — descoberta, contraste e alvos confortáveis em telas pequenas. */
.quiz-game{--quiz-accent:var(--deep);padding:4px 0 24px;overflow-wrap:anywhere}
.quiz-game button{touch-action:manipulation}
.quiz-game button:focus-visible{outline:3px solid var(--deep);outline-offset:4px}
.quiz-game [hidden]{display:none!important}
.quiz-intro{text-align:center;max-width:620px;margin:auto}
.quiz-intro-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:205px;margin:0 0 18px;background:radial-gradient(ellipse at 50% 65%,var(--world-mint) 0, var(--world-mint) 38%,transparent 39%)}
.quiz-intro-art svg{max-height:174px}
.quiz-intro-badge{position:absolute;bottom:3px;left:50%;transform:translateX(-50%) rotate(-3deg);background:var(--world-coral);border:2px solid var(--line);box-shadow:0 3px 0 var(--line-soft);border-radius:14px;padding:8px 16px;color:var(--ink);font-size:.8rem;font-weight:850;white-space:nowrap}
.quiz-intro h2{font-size:clamp(1.6rem,6vw,2.3rem);line-height:1.14;margin:10px 0 14px}
.quiz-intro>p{font-size:.94rem;line-height:1.7;max-width:540px;margin:0 auto 18px;color:var(--muted)}
.quiz-setup{display:grid;text-align:left;gap:8px;padding:20px;border:2px solid var(--line);background:var(--card);border-radius:23px;margin:22px 0 16px}
.quiz-setup label{font-size:.85rem;font-weight:800}
.quiz-setup select{width:100%;min-height:48px;max-width:100%;margin:0 0 8px}
.quiz-note{font-size:.8rem!important;line-height:1.6;color:var(--muted);margin:14px 0!important}
.quiz-footer-links{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:14px 0 0}
.quiz-hud{display:grid;grid-template-columns:1fr 1.7fr 1fr 46px;gap:8px;align-items:center;margin:4px 0 12px}
.quiz-hud-stat{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:2px;border:1px solid var(--line);background:var(--card);border-radius:16px;min-height:68px;padding:8px 4px}
.quiz-hud-stat span{font-size:.64rem;font-weight:750;color:var(--muted);line-height:1.3}
.quiz-hud-stat strong{font-size:1.35rem;color:var(--ink)}
.quiz-current{background:var(--deep-soft);border-color:var(--deep)}
.quiz-current strong{color:var(--deep)}
.quiz-meta{display:flex;justify-content:space-between;gap:10px;font-size:.7rem;font-weight:750;color:var(--muted);margin:0 2px 16px}
.quiz-meta>span:last-child{text-align:right}
.quiz-stage{position:relative;width:100%;overflow:hidden;border:2px solid var(--line);background:#fffdf6;border-radius:25px;box-shadow:0 5px 0 var(--line-soft);margin:10px 0 18px;aspect-ratio:8/5}
.quiz-image{display:block;width:100%;height:100%;object-fit:contain}
.quiz-time{display:flex;align-items:center;gap:12px;margin:20px 0 15px}
.quiz-time-text{flex:0 0 auto;min-width:55px;font-size:1.08rem;font-variant-numeric:tabular-nums;font-weight:850;color:var(--deep);text-align:center;border:2px solid var(--line);border-radius:12px;background:var(--card);padding:7px 8px}
.quiz-time progress{flex:1;min-width:0;width:100%;height:12px;border-radius:20px;overflow:hidden;accent-color:var(--deep);background:var(--line)}
.quiz-round>h2{font-size:clamp(1.1rem,4.6vw,1.45rem);line-height:1.5;text-align:center;margin:17px 0 20px}
.quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quiz-option{position:relative;display:flex;gap:9px;align-items:center;min-width:0;min-height:70px;padding:14px 12px;text-align:left;background:var(--card);color:var(--ink);border:2px solid var(--line);border-radius:19px;box-shadow:0 4px 0 var(--line-soft);font-size:1rem;font-weight:750;line-height:1.4;transition:transform .12s,border-color .12s,background .12s}
.quiz-option>span:last-child{min-width:0}
.quiz-option:hover:not(:disabled),.quiz-word-card:hover:not(:disabled){border-color:var(--deep);background:var(--deep-soft);transform:translateY(-2px)}
.quiz-option:active:not(:disabled),.quiz-word-card:active:not(:disabled){transform:translateY(2px);box-shadow:none}
.quiz-option:disabled{opacity:.65;cursor:default}
.quiz-letter{display:flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:10px;background:var(--deep-soft);color:var(--deep);font-size:.85rem;font-weight:900}
.quiz-keyboard-tip{text-align:center;font-size:.72rem;line-height:1.55;color:var(--muted);margin:19px 6px 0}
.quiz-loading,.quiz-failure,.quiz-paused,.quiz-audio-gate{padding:28px 8px;text-align:center;max-width:520px;margin:auto}
.quiz-loading h2,.quiz-failure h2,.quiz-paused h2,.quiz-audio-gate h2{margin:14px 0;font-size:1.5rem;line-height:1.35}
.quiz-loading p,.quiz-failure p,.quiz-paused p,.quiz-audio-gate p{line-height:1.7;color:var(--muted);margin:12px 0 20px}
.quiz-paused .btn,.quiz-failure .btn,.quiz-audio-gate .btn{margin-top:10px}
.quiz-description{padding:20px;background:var(--card);border:2px dashed var(--deep);border-radius:23px;line-height:1.7}
.quiz-description p{margin-top:10px;font-size:1.05rem}
.quiz-reading-banner{padding:12px 15px;background:var(--deep-soft);border-radius:15px;color:var(--deep);font-size:.83rem;font-weight:750}
.quiz-wagons{gap:18px 14px}
.quiz-wagons .quiz-option{padding:10px;display:block;border-width:3px;border-color:var(--deep);background:#eefbf7;min-height:125px;margin-bottom:10px}
.quiz-wagons .quiz-option:before,.quiz-wagons .quiz-option:after{content:'';position:absolute;width:23px;height:23px;border:5px solid #273f4d;background:#a5cac3;border-radius:50%;bottom:-14px;left:19%}
.quiz-wagons .quiz-option:after{left:auto;right:19%}
.quiz-wagons .quiz-letter{position:absolute;top:7px;left:7px;z-index:1;background:#fff;color:#235358}
.quiz-option-image{display:block;width:100%;height:100px;object-fit:contain}
.quiz-train-header{display:flex;align-items:center;gap:15px;padding:6px 12px;background:var(--deep-soft);border-radius:24px}
.quiz-train-header svg{flex:0 0 88px}
.quiz-train-header span{font-size:.97rem;font-weight:800;line-height:1.5}
.quiz-hotspot-layer{position:absolute;inset:0}
.quiz-hotspot{position:absolute;min-width:44px;min-height:44px;background:transparent;border:2px solid transparent;border-radius:14px;display:flex;align-items:flex-start;justify-content:flex-start;z-index:1;color:#164e50;padding:0}
.quiz-hotspot span{display:grid;place-items:center;min-width:27px;min-height:27px;padding:4px;background:#fffdeb;border:2px solid #164e50;border-radius:9px;font-size:.85rem;font-weight:900;box-shadow:0 2px 0 #17353a30}
.quiz-hotspot:hover:not(:disabled),.quiz-hotspot:focus-visible{border-color:#176b65;background:#52c5b225}
.quiz-hotspot:disabled{cursor:default}
.quiz-goal{padding:16px 19px;background:var(--deep-soft);border-radius:20px;margin:18px 0}
.quiz-goal>b{font-size:.75rem;color:var(--deep);text-transform:uppercase;letter-spacing:.05em}
.quiz-goal p,.quiz-goal h2{font-size:1.05rem;line-height:1.6;margin:8px 0 0}
.quiz-bridge{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:28px 0;padding:17px 0 12px;border-bottom:8px solid #c48855;border-top:4px solid #c48855}
.quiz-slot{display:flex;align-items:center;justify-content:center;min-height:68px;background:#fff2dc;border:2px dashed #bd9168;color:#513820;border-radius:13px;padding:10px 6px;line-height:1.5;font-size:.91rem;font-weight:800;overflow-wrap:anywhere}
.quiz-slot:disabled{color:#967354;background:var(--card);border-color:var(--line)}
.quiz-word-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quiz-word-card{min-height:60px;padding:12px 10px;background:var(--card);color:var(--ink);border:2px solid var(--deep);border-radius:15px;font-size:1rem;font-weight:800;line-height:1.5;box-shadow:0 4px 0 var(--line-soft)}
.quiz-word-card:disabled{opacity:.35;border-color:var(--line);box-shadow:none}
.quiz-order-actions{display:flex;gap:10px;justify-content:center;margin:17px 0}
.quiz-observe-labels{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:-3px 0 16px}
.quiz-observe-labels span{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 12px;font-weight:750}
.quiz-closed-bag{display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--deep-soft);border:2px dashed var(--deep);border-radius:25px;padding:20px;margin:15px 0}
.quiz-closed-bag span{font-size:.9rem;font-weight:800;color:var(--deep)}
.quiz-mission-route{display:flex;align-items:center;justify-content:center;gap:25px;margin:20px 0}
.quiz-mission-route span{position:relative;display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--line);border-radius:50%;background:var(--card);color:var(--muted);font-weight:850}
.quiz-mission-route span:not(:last-child):after{content:'';position:absolute;left:100%;width:25px;height:3px;background:var(--line)}
.quiz-mission-route .now,.quiz-mission-route .done{background:var(--deep);color:var(--card);border-color:var(--deep)}
.quiz-dialogue{display:flex;align-items:center;gap:10px;margin:15px 0 23px}
.quiz-dialogue>div{flex:0 0 76px}
.quiz-dialogue h2{font-size:1.15rem;line-height:1.6;background:var(--card);border:2px solid var(--line);padding:15px;border-radius:19px 19px 19px 3px;flex:1}
.quiz-kind-dialogue .quiz-options{grid-template-columns:1fr}
.quiz-reaction{padding:12px 15px;border-left:4px solid var(--deep);background:var(--deep-soft);border-radius:0 12px 12px 0;font-size:.88rem;line-height:1.65;margin:12px 0}
.quiz-feedback-heading{display:flex;align-items:center;gap:12px;margin:24px 0}
.quiz-feedback-heading>svg{flex:0 0 116px}
.quiz-feedback h2{font-size:1.4rem;line-height:1.3;margin-top:8px}
.quiz-answer-reveal{padding:22px;border:2px solid var(--line);border-radius:24px;background:var(--card);line-height:1.7}
.quiz-answer-reveal>span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.quiz-answer-reveal strong{display:block;font-size:1.32rem;line-height:1.5;margin:7px 0;color:var(--deep)}
.quiz-answer-reveal p{font-size:.94rem;margin-top:10px}
.quiz-run-result{line-height:1.6;text-align:center;padding:18px 0;color:var(--muted)}
.quiz-run-result strong{color:var(--deep);font-size:1.3rem}
.quiz-feedback.is-correct .quiz-answer-reveal{border-color:var(--deep)}
.quiz-feedback.is-correct .quiz-feedback-heading svg{animation:quiz-cheer .45s ease-out 1}
@keyframes quiz-cheer{0%{transform:translateY(0)}
50%{transform:translateY(-10px) rotate(-4deg)}
100%{transform:translateY(0)}
}

@media(max-width:359px){.quiz-options{grid-template-columns:1fr}
.quiz-wagons{grid-template-columns:repeat(2,minmax(0,1fr))}
.quiz-hud{gap:5px;grid-template-columns:1fr 1.5fr 1fr 44px}
.quiz-hud-stat span{font-size:.6rem}
.quiz-hud-stat strong{font-size:1.15rem}
.quiz-meta{font-size:.66rem}
.quiz-bridge{grid-template-columns:repeat(2,minmax(0,1fr))}
.quiz-slot{min-height:58px}
.quiz-feedback-heading{gap:7px}
.quiz-feedback-heading>svg{flex-basis:88px;width:88px}
.quiz-feedback h2{font-size:1.2rem}
.quiz-dialogue{display:block}
.quiz-dialogue>div{display:none}
.quiz-intro-art{min-height:185px}
}

@media(prefers-reduced-motion:reduce){.quiz-game *, .quiz-game *:before,.quiz-game *:after{animation:none!important;transition:none!important}
.quiz-option:hover,.quiz-option:active,.quiz-word-card:hover,.quiz-word-card:active{transform:none!important}
}

[data-motion="reduce"] .quiz-game *,[data-motion="reduce"] .quiz-game *:before,[data-motion="reduce"] .quiz-game *:after{animation:none!important;transition:none!important}
[data-motion="reduce"] .quiz-option:hover,[data-motion="reduce"] .quiz-option:active,[data-motion="reduce"] .quiz-word-card:hover,[data-motion="reduce"] .quiz-word-card:active{transform:none!important}

@media(prefers-contrast:more){.quiz-option,.quiz-word-card,.quiz-slot,.quiz-stage{border-width:3px}
.quiz-hud-stat span,.quiz-note,.quiz-meta{color:var(--ink)}
}

.quiz-band-note{font-size:.75rem;line-height:1.6;padding:11px 13px;border-radius:13px;background:var(--deep-soft);color:var(--deep);margin:8px 0 14px}

.quiz-feedback-picture{max-width:420px;margin:0 auto 20px}
.quiz-answer-wagon{max-width:230px;height:150px;margin:0 auto 20px;background:#fffdf6;border:2px solid var(--line);border-radius:22px;overflow:hidden}
.quiz-target-highlight{position:absolute;display:flex;align-items:flex-start;justify-content:flex-start;border:4px solid #14694b;border-radius:15px;background:#4fd28b25;color:#07513a;font-size:1.5rem;font-weight:900;text-shadow:0 1px 0 #fff;box-shadow:0 0 0 3px #fff8}

/* V4 — molduras suaves; cores e pistas das imagens continuam exatas. */
.quiz-intro-art{border-radius:43% 57% 47% 53% / 50% 44% 56% 50%;background:radial-gradient(ellipse at 50% 61%,var(--world-mint) 0 45%,transparent 46%);min-height:226px}
.quiz-intro-badge{border-radius:18px;padding:9px 18px}
.quiz-intro h2{font-family:var(--f-display);letter-spacing:-.02em;line-height:1.2}
.quiz-setup{border-radius:28px;background:var(--world-cream);padding:22px;box-shadow:0 5px 0 var(--line-soft)}

.quiz-hud-stat{border-width:2px;border-radius:20px;background:var(--card)}
.quiz-current{background:var(--world-mint);border-color:var(--action-edge)}
.quiz-stage{border-radius:29px;border-width:2px;background:#fffdf7;box-shadow:0 6px 0 var(--line-soft)}
.quiz-time-text{border-radius:16px;background:var(--world-lavender);color:var(--ink);min-width:65px}
.quiz-time progress{height:14px;accent-color:var(--deep);border:1px solid var(--line)}

.quiz-option{min-height:76px;border-radius:24px;padding:15px 13px;box-shadow:0 5px 0 var(--line-soft)}
.quiz-option:nth-child(4n+1) .quiz-letter{background:var(--world-mint)}
.quiz-option:nth-child(4n+2) .quiz-letter{background:var(--world-lavender)}
.quiz-option:nth-child(4n+3) .quiz-letter{background:var(--world-coral)}
.quiz-option:nth-child(4n) .quiz-letter{background:var(--world-sky)}
.quiz-letter{height:34px;flex-basis:34px;border-radius:12px;border:1px solid var(--line);color:var(--ink)}

.quiz-description{border-style:solid;border-color:var(--line);border-radius:27px;background:var(--world-lavender)}
.quiz-reading-banner{border:1px solid var(--line);border-radius:19px;background:var(--world-mint);color:var(--ink)}
.quiz-goal{border:2px solid var(--line);border-radius:26px;background:var(--world-sky)}
.quiz-train-header{border:2px solid var(--line);background:var(--world-lavender);border-radius:28px}

.quiz-wagons .quiz-option{background:#fffaf2;border-color:#a7c7ba;border-radius:25px 25px 17px 17px;box-shadow:0 5px 0 #d8e9dd}
.quiz-wagons .quiz-option:before,.quiz-wagons .quiz-option:after{background:#d8e4e1;border-color:#688285}
.quiz-wagons .quiz-letter{background:#fffdf8!important;color:#344b54;border-color:#afc6bc}

.quiz-bridge{border-color:#cfb49a;border-radius:20px}
.quiz-slot{background:#fff5e6;color:#5d4938;border-color:#cbb193;border-radius:19px;min-height:72px}
.quiz-slot:disabled{color:var(--muted)}
.quiz-word-card{border-color:var(--line);border-radius:22px;min-height:65px;background:var(--card);box-shadow:0 5px 0 var(--line-soft)}
.quiz-word-card:nth-child(3n+1){background:var(--world-mint)}
.quiz-word-card:nth-child(3n+2){background:var(--world-lavender)}
.quiz-word-card:nth-child(3n){background:var(--world-coral)}

.quiz-closed-bag{border-style:solid;border-color:var(--line);border-radius:30px;background:var(--world-mint)}
.quiz-observe-labels span{border-width:2px;border-radius:16px;background:var(--world-cream)}
.quiz-mission-route span{height:42px;width:42px;background:var(--card)}
.quiz-mission-route .now,.quiz-mission-route .done{background:var(--action);color:var(--action-ink);border-color:var(--action-edge);box-shadow:0 3px 0 var(--line-soft)}

.quiz-dialogue h2{border-radius:25px 25px 25px 8px;background:var(--world-lavender);box-shadow:0 4px 0 var(--line-soft)}
.quiz-reaction{border:2px solid var(--line);border-radius:22px;background:var(--world-mint);padding:14px 17px}
.quiz-answer-reveal{border-radius:29px;box-shadow:0 5px 0 var(--line-soft)}
.quiz-feedback.is-correct .quiz-answer-reveal{border-color:var(--action-edge);background:var(--world-mint)}
.quiz-answer-reveal>span{text-transform:none;letter-spacing:0}
.quiz-band-note{background:var(--world-lavender);border:1px solid var(--line);border-radius:18px;color:var(--ink-2);padding:12px 15px}
.quiz-answer-wagon{border-radius:27px}

@media(max-width:380px){.quiz-hud{gap:6px}
.quiz-hud-stat{border-radius:17px}
.quiz-time-text{min-width:58px}
.quiz-option{padding:13px 11px;border-radius:21px;min-height:72px}
.quiz-stage{border-radius:24px}
.quiz-letter{height:31px;flex-basis:31px}
.quiz-setup{padding:18px}
.quiz-slot{padding:8px 5px}
}

@media(prefers-contrast:more){.quiz-hud-stat,.quiz-option,.quiz-word-card,.quiz-slot,.quiz-stage{border-width:3px}
}

