:root{font-family:ui-rounded,'Trebuchet MS',Arial,sans-serif;color:#132957;background:#edf3fc;font-synthesis:none;--navy:#102352;--blue:#365ef2;--yellow:#ffcf50;--line:#dce5f4;--muted:#546788;--radius:24px;--shadow:0 10px 36px #233d6b0b}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,input,select{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1776d2;outline-offset:4px}button{transition:transform .16s,background .16s,box-shadow .16s}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}.app-shell{max-width:1232px;margin:auto;padding:0 38px}.topbar{min-height:110px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:0;text-align:left}.brand-mark{display:grid;place-items:center;background:var(--navy);color:var(--yellow);width:49px;height:49px;border-radius:16px;font-size:40px;line-height:1}.brand strong{font-size:23px;letter-spacing:-.7px;display:block}.brand strong span{color:var(--blue)}.brand small{font-size:10px;font-weight:800;letter-spacing:1.9px;display:block;margin-top:4px}.header-actions{display:flex;align-items:center;gap:12px}.icon-button,.pill-button{border:1px solid var(--line);background:#fff;min-height:44px;border-radius:14px;display:flex;gap:8px;align-items:center;justify-content:center;padding:10px 15px;font-weight:700}.icon-button>span:first-child{font-size:24px;line-height:1}.pill-button{background:#fff4ce;border-color:#f5df9e}.pill-button>span:first-child{color:#976506}.home-intro{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:37px 0 29px}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:800;color:#557095}.home-intro h1{font-size:43px;letter-spacing:-1.5px;line-height:1.14;margin:11px 0 0;font-weight:900}.home-intro h1 span{color:var(--blue)}.mission-note{display:flex;align-items:center;gap:12px;padding-bottom:5px}.mission-note>span{font-size:37px;color:#4369d0}.mission-note p{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}.mission-note strong{font-weight:600}.home-grid{display:grid;grid-template-columns:minmax(270px,.82fr) minmax(0,1.4fr);gap:28px}.companion-panel{background:var(--navy);color:#fff;border-radius:var(--radius);padding:26px 28px 23px;overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:530px}.companion-top{display:flex;align-items:center;justify-content:space-between;z-index:1}.small-pill{border:1px solid #546696;padding:8px 10px;border-radius:8px;font-size:11px;letter-spacing:1.5px;font-weight:700;color:#cbd9ff}.orbit-dot{font-size:27px;color:var(--yellow)}.mascot-area{height:248px;margin:-3px -20px -1px;display:grid;place-items:center}.mascot-area img{width:100%;height:100%;object-fit:contain;max-height:265px;border-radius:20px}.companion-copy h2{font-size:27px;line-height:1.22;letter-spacing:-.6px;margin:0 0 13px}.companion-copy p{font-size:16px;line-height:1.6;color:#c2d1f7;margin:0}.companion-bottom{margin-top:auto;padding-top:21px;display:flex;align-items:center;gap:12px}.companion-bottom>span{color:var(--yellow);font-size:25px}.companion-bottom p{font-size:13px;color:#b8c9ec;line-height:1.5;margin:0}.level-panel{background:white;padding:27px;border:1px solid #e2e9f4;border-radius:var(--radius);box-shadow:var(--shadow)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}.section-heading h2{font-size:24px;letter-spacing:-.6px;margin:0 0 5px}.section-heading p{font-size:14px;color:var(--muted);margin:0}.step-chip{font-size:10px;font-weight:800;letter-spacing:1px;background:#edf2fc;border-radius:7px;padding:7px 9px;white-space:nowrap}.level-list{display:flex;flex-direction:column;gap:9px}.level-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#fff;border:2px solid #e4eaf5;border-radius:15px;padding:11px 13px;position:relative;min-height:68px}.level-card:hover{background:#f4f7ff;border-color:#b6c6f7}.level-card[aria-checked=true]{border-color:var(--blue);background:#f0f4ff;box-shadow:0 0 0 2px #365ef209}.level-number{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:22px;background:var(--tint);color:var(--ink);flex-shrink:0}.level-details{flex:1}.level-details strong{font-size:16px;display:block}.level-details small{font-size:12px;color:var(--muted);display:block;margin-top:4px}.level-side{display:flex;align-items:center;gap:10px;flex-shrink:0}.level-class{font-size:12px;color:#557095;font-weight:700}.level-radio{width:19px;height:19px;border:2px solid #becbe0;border-radius:50%;display:grid;place-items:center}.level-card[aria-checked=true] .level-radio{border-color:var(--blue);background:var(--blue)}.level-card[aria-checked=true] .level-radio:after{content:'';width:7px;height:7px;background:#fff;border-radius:50%}.level-best{font-size:12px;color:#976506;letter-spacing:1px;display:block;margin-top:3px}.start-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.check-control{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;cursor:pointer}.check-control input{width:19px;height:19px;accent-color:var(--blue);margin:0}.start-strip p{font-size:12px;color:var(--muted);margin:6px 0 0 27px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:49px;padding:13px 19px;border-radius:13px;border:0;font-size:15px;font-weight:800;line-height:1.4}.primary-button{color:#fff;background:var(--blue);box-shadow:0 4px 0 #2947bb}.primary-button:hover{background:#294ee2}.primary-button>span{font-size:22px;line-height:1}.secondary-button{background:#eaf0fc;color:var(--navy);border:1px solid #d6e1f4}.text-button{background:transparent;border:0;padding:10px 0;min-height:42px;font-size:14px;font-weight:700;color:#365aa8;line-height:1.4;text-align:left}.text-button:hover{text-decoration:underline}.home-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:19px 3px 29px;font-size:12px;color:var(--muted)}.home-bottom>span{display:flex;align-items:center;gap:8px}.home-bottom>span>span{font-size:21px;color:#6883b8}.home-bottom .text-button{font-size:12px}footer{border-top:1px solid var(--line);padding:21px 0 26px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#617594;line-height:1.6}footer>span:last-child{letter-spacing:1.5px;font-size:10px;font-weight:700}footer strong{color:#345286}.game-screen{max-width:820px;margin:30px auto 48px}.game-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.level-badge,.score-chip{font-size:14px;font-weight:700;padding:8px 12px;border-radius:10px;background:#e0e9fc}.score-chip{background:#fff0c2;color:#72510e}.progress-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:14px;margin-bottom:9px}.progress-track{height:9px;border-radius:10px;background:#d8e3f7;overflow:hidden;margin-bottom:26px}.progress-track>div{height:100%;background:var(--blue);border-radius:10px;transition:width .4s;width:0}.question-card{background:white;border:1px solid #e0e7f3;border-radius:27px;padding:32px;box-shadow:var(--shadow)}.question-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.listen-button{border:1px solid #cddaf7;color:#3054b5;background:#eff4ff;border-radius:11px;padding:11px 15px;font-size:16px;font-weight:700;min-height:44px}.question-card h1{font-size:30px;line-height:1.35;letter-spacing:-.6px;margin:0 0 26px}.question-context{font-size:23px;line-height:1.5;background:#f1f5fe;padding:18px 20px;border-left:4px solid #93acf6;border-radius:0 12px 12px 0;margin:0 0 20px}.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answer-button{min-height:83px;border:2px solid #dce5f4;border-radius:15px;background:white;text-align:left;display:flex;align-items:center;gap:13px;padding:16px;font-size:22px;font-weight:700;line-height:1.35}.answer-button:hover:not(:disabled){border-color:var(--blue);background:#f5f7ff}.answer-letter{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf2fc;font-size:14px;flex-shrink:0;color:#5e729c}.answer-button.correct{border-color:#20815e;background:#e8f8ef;color:#15553d}.answer-button.incorrect{border-color:#b86b28;background:#fff3e3;color:#774414}.answer-button.correct .answer-letter{background:#c2ebd7;color:#15553d}.answer-button.incorrect .answer-letter{background:#f9ddaf;color:#774414}.answer-button:disabled:not(.correct):not(.incorrect){opacity:.65}.answer-indicator{margin-left:auto;font-size:22px}.question-tools{display:flex;justify-content:space-between;margin-top:14px;gap:15px}.hint-box{padding:16px 18px;background:#fff5d6;border-radius:12px;color:#73550d;font-size:16px;line-height:1.6;margin:12px 0 0}.feedback{margin-top:17px;padding:19px;border-radius:15px;font-size:17px;line-height:1.55;background:#eaf7f1;color:#205d49}.feedback.learn{background:#fff4e4;color:#754617}.feedback strong{display:block;font-size:20px;margin-bottom:5px}.next-button{display:flex;margin:21px 0 0 auto;min-width:220px}.game-footnote{font-size:14px;color:var(--muted);text-align:center;margin:25px 0}.result-screen{position:relative;max-width:780px;margin:45px auto 55px;padding:30px;text-align:center;overflow:hidden}.result-stars{font-size:77px;letter-spacing:9px;color:#bb861b;margin:12px 0}.result-stars .empty-star{color:#9facbf}.result-screen h1,.rewards-heading h1{font-size:36px;line-height:1.2;letter-spacing:-1px;margin:12px 0}.result-summary{font-size:21px;color:#50688c;line-height:1.6}.result-medal{background:#fff;border:1px solid #dce5f4;border-radius:20px;margin:23px auto;padding:20px;max-width:440px;display:flex;align-items:center;justify-content:center;gap:16px}.medal-icon{font-size:38px;color:#956c19;background:#fff0bf;width:67px;height:67px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.result-medal div:last-child{text-align:left}.result-medal strong{display:block;font-size:19px}.result-medal small{display:block;color:var(--muted);font-size:14px;margin-top:5px}.result-screen>p:last-of-type{font-size:17px;line-height:1.6;color:#546788}.result-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;margin:27px 0}.result-actions>.text-button{flex-basis:100%;text-align:center}.review-list{text-align:left;display:flex;flex-direction:column;gap:15px;margin-top:27px}.review-item{background:white;border:1px solid var(--line);border-radius:17px;padding:22px;font-size:16px;line-height:1.6}.review-item h3{font-size:18px;margin:6px 0 10px}.review-item p{margin:6px 0}.review-item .small-note{color:#365aa8}.rewards-screen{padding:24px 0 45px}.rewards-heading{text-align:center;margin:16px 0 29px}.rewards-heading p{color:var(--muted);font-size:17px}.reward-stats{display:flex;justify-content:center;gap:20px;margin:25px 0 31px}.reward-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px 34px;text-align:center}.reward-stat strong{font-size:31px;color:#355bce;display:block}.reward-stat span{font-size:14px;color:var(--muted);display:block;margin-top:6px}.medal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.medal-card{background:white;border:1px solid var(--line);border-radius:21px;padding:23px 15px;text-align:center;display:flex;align-items:center;flex-direction:column}.medal-card .medal-icon{margin-bottom:17px}.medal-card.locked .medal-icon{background:#edf1f8;color:#8495b0}.medal-card h2{font-size:17px;line-height:1.4;margin:0 0 9px}.medal-card p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.medal-stars{color:#8a600d;font-size:23px;margin:12px 0 7px;letter-spacing:3px}.local-note{text-align:center;color:var(--muted);font-size:13px;line-height:1.6;margin:26px auto 8px}.subtle{display:block;font-size:13px;color:#617391;margin:auto}dialog{width:min(94vw,460px);border:1px solid var(--line);border-radius:24px;padding:0;color:var(--navy);box-shadow:0 30px 100px #12224340;background:white;max-height:90vh}dialog::backdrop{background:#101e4780;backdrop-filter:blur(3px)}.dialog-content{padding:27px}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:15px}.dialog-content h2{font-size:23px;line-height:1.3;margin:0 0 16px}.dialog-content p{font-size:16px;line-height:1.55;color:var(--muted)}.close-button{width:40px;height:40px;font-size:27px;background:#edf2fc;border:0;border-radius:11px;flex-shrink:0;margin-top:-5px}.setting-row{display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0;font-size:16px;cursor:pointer}.setting-row small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:5px;line-height:1.5}.setting-row input{accent-color:var(--blue);height:23px;width:23px;flex-shrink:0}.field-label{display:block;margin:19px 0 8px;font-weight:700;font-size:14px}select{width:100%;padding:12px;border:1px solid #c8d6ed;border-radius:10px;background:white;color:var(--navy);font-size:16px}.dialog-content p.small-note,.small-note{font-size:13px;line-height:1.6;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:13px;margin-top:22px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);width:max-content;padding:15px 21px;background:#172f60;color:white;border-radius:14px;box-shadow:0 8px 28px #15244933;z-index:20;font-size:15px;line-height:1.5}.skip-link{position:absolute;top:-70px;left:10px;background:white;padding:16px;border:2px solid var(--blue);z-index:50}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-15px;width:9px;height:15px;background:var(--c);animation:fall 2.3s ease-out forwards;animation-delay:var(--delay);left:var(--x);border-radius:3px}@keyframes fall{to{transform:translate(var(--drift),650px) rotate(480deg);opacity:0}}
@media(min-width:1500px){.app-shell{max-width:1300px}.home-intro{padding-top:44px}.companion-panel{min-height:565px}.mascot-area{height:282px}.level-card{min-height:75px}}
@media(max-width:1000px){.app-shell{padding:0 24px}.home-grid{gap:19px;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr)}.companion-panel{padding:23px}.level-panel{padding:22px}.level-class{display:none}.level-details strong{font-size:15px}.start-strip{align-items:stretch;flex-direction:column;gap:16px}.start-strip>div{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.start-strip p{margin:0}.companion-copy h2{font-size:25px}.home-bottom{flex-wrap:wrap}.medal-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.app-shell{padding:0 18px}.topbar{min-height:87px;gap:10px}.brand-mark{width:40px;height:40px;font-size:33px;border-radius:13px}.brand{gap:9px}.brand strong{font-size:18px;letter-spacing:-.5px}.brand small{font-size:8px;letter-spacing:1.2px}.header-actions{gap:7px}.icon-button,.pill-button{padding:8px 11px;border-radius:12px}.desktop-label{display:none}.home-intro{padding:25px 0 23px;align-items:center}.home-intro h1{font-size:34px}.home-intro .eyebrow{font-size:10px;letter-spacing:1.2px}.mission-note{display:none}.home-grid{display:flex;flex-direction:column;gap:18px}.companion-panel{min-height:0;height:160px;padding:24px;display:block;order:1}.companion-top,.companion-bottom{display:none}.mascot-area{position:absolute;width:190px;height:190px;right:1px;top:-14px;margin:0}.mascot-area img{max-height:190px}.companion-copy{position:relative;z-index:1;max-width:60%;padding-top:0}.companion-copy h2{font-size:21px;line-height:1.2;margin:0 0 10px}.companion-copy p{font-size:13px;line-height:1.5}.level-panel{padding:22px 18px;order:0;border-radius:22px}.section-heading h2{font-size:22px}.section-heading p{font-size:13px}.section-heading{margin-bottom:19px}.step-chip{font-size:9px;padding:7px}.level-card{padding:11px 10px;gap:10px;min-height:74px}.level-number{width:41px;height:41px}.level-details strong{font-size:16px}.level-details small{font-size:12px;line-height:1.4}.level-class{display:block;font-size:11px}.level-side{gap:7px}.level-radio{width:18px;height:18px}.level-best{display:none}.start-strip>div{justify-content:space-between;gap:7px}.start-strip p{font-size:12px}.primary-button,.secondary-button{min-height:52px;font-size:16px}.home-bottom{margin-top:14px;gap:4px 12px;justify-content:center}.home-bottom>span{font-size:11px}.home-bottom .text-button{font-size:13px;flex-basis:100%;text-align:center}footer{padding:19px 0 23px;font-size:10px;justify-content:center;text-align:center}footer>span:last-child{display:none}.game-screen{margin-top:20px}.game-toolbar{gap:7px;flex-wrap:wrap;margin-bottom:15px}.level-badge{font-size:12px;padding:8px}.score-chip{font-size:12px;padding:8px}.game-toolbar .text-button{font-size:14px}.question-card{padding:23px 18px;border-radius:22px}.question-top{margin-bottom:20px}.question-top .eyebrow{font-size:11px;letter-spacing:1px}.listen-button{font-size:14px;padding:9px 12px}.question-card h1{font-size:25px;line-height:1.4;margin-bottom:23px}.question-context{font-size:21px;padding:15px}.answer-options{grid-template-columns:1fr;gap:11px}.answer-button{min-height:66px;font-size:20px;padding:14px}.progress-caption{font-size:12px}.progress-track{margin-bottom:20px}.feedback{font-size:16px;padding:17px}.next-button{width:100%;margin-top:20px}.result-screen{margin:25px auto 35px;padding:15px 0}.result-screen h1,.rewards-heading h1{font-size:31px}.result-stars{font-size:57px;letter-spacing:7px}.result-summary{font-size:18px}.result-actions .primary-button,.result-actions .secondary-button{width:100%}.reward-stats{gap:10px}.reward-stat{padding:18px 17px;flex:1}.reward-stat strong{font-size:27px}.reward-stat span{font-size:12px}.medal-grid{grid-template-columns:1fr 1fr;gap:12px}.medal-card{padding:20px 13px}.medal-card h2{font-size:16px}.rewards-heading p{font-size:16px;line-height:1.6}.local-note{font-size:12px}.dialog-content{padding:23px}}
@media(max-width:370px){.app-shell{padding:0 12px}.brand small{font-size:7px}.brand strong{font-size:17px}.brand-mark{display:none}.level-class{display:none}.start-strip>div{align-items:start;flex-direction:column}.home-intro h1{font-size:31px}.companion-copy{max-width:58%}.companion-copy h2{font-size:18px}.mascot-area{right:-21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Testo leggibile anche sullo schermo di classe. */
.level-details small,.section-heading p,.level-class,.start-strip p,.home-bottom,.home-bottom .text-button{font-size:14px}.level-card{min-height:76px}.companion-bottom p,.local-note,.medal-card p,footer{font-size:14px}.brand small,.small-pill,.step-chip,footer>span:last-child{font-size:12px}.home-intro .eyebrow{font-size:12px}.level-details small{line-height:1.45}.home-bottom>span{font-size:14px}.level-panel{display:flex;flex-direction:column}.level-list{flex:1}.start-strip p{margin-left:0}.companion-panel{background:#102352}.mascot-area img{mix-blend-mode:lighten}.level-card strong,.level-card small{overflow-wrap:anywhere}
@media(max-width:1000px){.level-class{display:none}}
@media(max-width:720px){.brand small{font-size:9px}.home-bottom>span{font-size:13px}.start-strip>div{display:block}.start-strip p{margin:7px 0 0 27px}.level-details small{font-size:14px}.companion-copy p{font-size:14px}.level-details strong{font-size:16px}.level-class{display:none}.brand strong{font-size:18px}.step-chip{font-size:11px}.home-bottom .text-button{font-size:14px}.home-intro{padding-top:24px}.home-intro h1{font-size:34px}.reward-stat span{font-size:14px}.section-heading{align-items:start}.game-toolbar .level-badge{max-width:65%;line-height:1.5}.mission-note p{font-size:14px}.small-note,.dialog-content p.small-note,.setting-row small{font-size:14px}}

.star-rules{font-size:16px;line-height:1.7;text-align:center;color:#546788;max-width:680px;margin:0 auto 28px}.level-details{min-width:0}.answer-button>span:nth-child(2){overflow-wrap:anywhere;min-width:0}

/* Il comando di arresto resta raggiungibile anche durante premi e ripasso. */
.stop-audio-button{font-size:14px;min-height:44px}.header-actions{flex-wrap:wrap}.topbar{gap:12px}.header-actions{justify-content:flex-end}#stop-test-voice{margin-top:12px}#test-voice,#stop-test-voice{width:100%}
@media(max-width:560px){.topbar{flex-wrap:wrap;padding:16px 0}.header-actions{margin-left:auto}.stop-audio-button{padding:8px 10px}}
