:root{--ink:#173349;--navy:#142e42;--blue:#267da9;--ice:#eaf5f8;--line:#c6dde3;--gold:#ffcc52;--green:#16735e;--muted:#587282;--red:#b6403e}*{box-sizing:border-box}body{margin:0;background:#f4f8fa;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d77300;outline-offset:4px}button,a{touch-action:manipulation}a{color:var(--blue)}.topbar{height:92px;background:var(--navy);color:#fff;padding:0 max(28px,calc((100vw - 1220px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;font-size:20px;font-weight:800;white-space:nowrap}.brand-icon{font-family:monospace;font-size:33px;line-height:1;background:var(--gold);color:var(--navy);padding:7px 9px;box-shadow:4px 4px 0 #081b2a;transform:rotate(-4deg)}.brand-icon span{font-size:20px}.brand small{display:block;font:10px/1.8 monospace;letter-spacing:2.4px;color:#bbd5e0}.topbar nav{display:flex;align-items:center;gap:20px}.nav-btn{background:transparent;color:#bcd0dd;border:0;padding:12px 8px;font-weight:700;border-bottom:3px solid transparent}.nav-btn.active{color:white;border-color:var(--gold)}.icon-btn{border:1px solid #526a7b;background:#233f53;color:white;border-radius:6px;padding:7px 10px;font-family:monospace;white-space:nowrap}main{max-width:1220px;margin:0 auto;padding:30px 28px 16px;min-height:calc(100vh - 170px)}.intro{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px}.eyebrow{font:700 13px/1.6 monospace;letter-spacing:2px;color:var(--blue);margin:0 0 4px}.intro h1{font-size:26px;letter-spacing:.02em;margin:0}.today{display:flex;gap:24px;align-items:center;color:var(--muted);font-size:14px}.today strong{color:var(--ink);font:700 24px monospace}.home-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px}.panel{border:2px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.scene{background:#def0f6;border:2px solid var(--ink);box-shadow:0 5px 0 #bfd4dc;border-radius:10px;position:relative;min-height:412px;display:flex;flex-direction:column;overflow:hidden}.scene-label{display:flex;justify-content:space-between;padding:19px 22px;font:700 13px monospace;letter-spacing:1px}.tag{display:inline-flex;gap:6px;align-items:center;border-radius:5px;background:#fff9e7;color:#64491d;font-size:13px;font-weight:700;padding:4px 9px}.mascot-stage{position:relative;display:flex;flex:1;min-height:250px;align-items:center;justify-content:center;background-image:linear-gradient(#cbe4ed66 1px,transparent 1px),linear-gradient(90deg,#cbe4ed66 1px,transparent 1px);background-size:32px 32px}.mascot{width:215px;height:215px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 8px 0 #27638b16);animation:bob 3.2s ease-in-out infinite}.speech{background:#fff;border:2px solid var(--ink);box-shadow:3px 3px 0 #9fc7d6;position:absolute;top:16px;right:24px;padding:9px 16px;border-radius:8px;font-size:14px;font-weight:700;transform:rotate(2deg)}.scene-bottom{background:var(--navy);color:#e3f0f6;text-align:center;padding:17px 18px;font-size:14px}.scene-bottom strong{display:block;font-size:18px;color:#fff;margin-bottom:2px}.score-preview{position:absolute;left:23px;top:40%;color:#658b9b;font:14px/2 monospace}.score-preview b{display:block;color:#287797;font-size:24px}.level-nodes{display:flex;align-items:center;gap:12px;justify-content:center;margin:8px auto 24px}.node{border:2px solid #aacbd7;width:23px;height:23px;background:#ecf8fb;border-radius:3px;transform:rotate(45deg)}.node.done{background:var(--gold);border-color:#b1832e}.setup{padding:23px 25px}.step-title{display:flex;gap:10px;align-items:center;margin:0 0 15px;font-size:16px}.step-no{background:var(--navy);color:#fff;font:14px monospace;width:25px;height:25px;display:grid;place-items:center;border-radius:4px}.grades{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.grade-btn{border:1px solid var(--line);border-bottom:3px solid var(--line);background:#f9fbfc;border-radius:6px;padding:10px 2px;font-weight:800;min-height:52px}.grade-btn.selected{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 #071c2d}.grade-btn.plus{font-size:14px}.grade-detail{margin:14px 0 22px;font-size:14px;line-height:1.6;color:var(--muted)}.grade-detail b{color:var(--ink)}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.category{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:14px}.category.selected{border:2px solid var(--blue);background:#eaf6fb;color:#175d80;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border:2px solid var(--ink);border-bottom-width:5px;background:var(--gold);border-radius:7px;text-decoration:none;font-weight:800;font-size:16px;min-height:52px;color:var(--ink);transition:transform .12s}.button:active{transform:translateY(2px);border-bottom-width:3px}.button.secondary{background:#fff;border-color:#a8c5d2;border-bottom-width:3px}.button.primary{width:100%;margin-top:20px}.button:disabled{opacity:.5}.small-note{font-size:13px;color:var(--muted);margin:10px 0 0;text-align:center}.below-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px;margin-top:24px}.review-card{padding:19px 23px;display:flex;gap:18px;align-items:center}.review-card .review-icon{font-size:28px;background:#eaf4f8;width:53px;height:53px;display:grid;place-items:center;border-radius:6px}.review-card h2{font-size:16px;margin:0 0 2px}.review-card p{font-size:13px;margin:0;color:var(--muted)}.review-card button{margin-left:auto;border:0;background:#eaf4f8;padding:10px 14px;border-radius:5px;white-space:nowrap;font-size:14px;font-weight:700}.learning{padding:16px 23px;background:#f0f6f8;border:1px solid #d5e5eb;border-radius:8px}.learning strong{font-size:14px}.learning p{color:var(--muted);font-size:14px;margin:5px 0 0}.learning .terms{font-family:monospace;font-size:13px;color:var(--blue)}footer{max-width:1220px;margin:0 auto;display:flex;justify-content:space-between;padding:22px 28px;color:var(--muted);font-size:12px;gap:20px}footer button{background:none;border:0;text-decoration:underline;font-size:12px;color:var(--muted)}.game-wrap{max-width:900px;margin:0 auto}.game-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.text-btn{border:0;background:transparent;color:var(--muted);font-size:14px;padding:8px}.game-stats{display:flex;gap:24px;font:700 16px monospace}.game-scene{background:var(--ice);border:2px solid var(--ink);border-bottom:5px solid var(--ink);border-radius:8px;padding:18px 22px 6px;overflow:hidden}.game-scene-top{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}.track{height:120px;position:relative;margin:12px 10px 0;display:flex;align-items:flex-end;justify-content:space-between}.track:before{content:'';position:absolute;left:0;right:0;bottom:22px;border-top:3px dashed #9dc4d1}.track img{width:80px;height:80px;object-fit:contain;image-rendering:pixelated;position:absolute;bottom:28px;transform:translateX(-50%);transition:left .45s;z-index:2}.track-stop{width:18px;height:18px;border:2px solid #81afbf;background:white;z-index:1;margin-bottom:15px;border-radius:3px}.track-stop.passed{background:var(--gold);border-color:#b98524}.track img.jump{animation:jump .4s ease}.question-panel{padding:26px;margin-top:20px}.question-meta{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted);margin-bottom:15px}.question-panel h1{font-size:30px;line-height:1.5;text-align:center;margin:20px 0 24px;overflow-wrap:anywhere}.question-panel h1.sentence{font-size:23px}.question-instruction{text-align:center;font-size:14px;color:var(--muted);margin:0}.passage{background:#f0f6f8;padding:18px;border-left:4px solid #4f95b4;font-size:17px;line-height:1.85;margin-bottom:20px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.answer{display:flex;align-items:center;gap:13px;text-align:left;border:2px solid #bcd3df;border-bottom:4px solid #bcd3df;border-radius:7px;background:#fff;padding:15px;min-height:69px;font-size:17px}.answer:not(:disabled):hover{background:#edf7fb;border-color:var(--blue)}.answer .key{font:700 13px monospace;background:#edf3f7;color:#526b7b;border-radius:4px;min-width:24px;height:25px;display:grid;place-items:center}.answer.correct{border-color:var(--green);background:#e8f6ed;color:#075340}.answer.wrong{border-color:var(--red);background:#fff0ec;color:#97312c}.answer:disabled{opacity:1}.answer.dimmed{opacity:.5}.feedback{margin-top:18px;padding:17px 20px;border-radius:6px;background:#eaf6ee;border-left:4px solid var(--green)}.feedback.wrong{background:#fff3e6;border-color:#b57819}.feedback h2{font-size:18px;margin:0 0 5px}.feedback p{margin:5px 0;font-size:15px}.feedback .example{color:var(--muted)}.feedback .button{margin-top:12px;width:100%}.game-bottom{text-align:center;font-size:13px;color:var(--muted);margin:15px 0}.audio-btn{background:#eaf4f9;border:1px solid #b1d2df;border-radius:5px;padding:6px 12px;font-size:14px}.audio-big{display:flex;margin:20px auto;min-width:190px;justify-content:center;padding:14px}.results{max-width:900px;margin:auto}.result-title{text-align:center;margin-bottom:20px}.result-title img{width:110px;height:110px;object-fit:contain;image-rendering:pixelated}.result-title h1{margin:0;font-size:28px}.result-title p{font-size:14px;margin:8px;color:var(--muted)}.stars{font-size:32px;letter-spacing:8px;color:#986700}.result-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.number-card{text-align:center;padding:20px 10px}.number-card small{display:block;color:var(--muted);font-size:14px}.number-card strong{display:block;font:700 30px/1.6 monospace;color:var(--ink)}.advice{background:#e8f4f9;border:1px solid #b5d5e3;border-radius:8px;padding:20px 24px;margin:20px 0}.advice h2{font-size:18px;margin:0 0 8px}.advice p{margin:5px 0;font-size:15px}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:20px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.section-heading h2{font-size:19px;margin:0}.mistake{border:1px solid var(--line);background:#fff;border-radius:6px;padding:17px 20px;margin-bottom:12px;overflow-wrap:anywhere}.mistake .label{font-size:12px;color:var(--muted)}.mistake h3{font-size:18px;margin:6px 0}.mistake p{font-size:14px;margin:4px 0}.mistake .chosen{color:var(--red)}.mistake .right{color:var(--green);font-weight:700}.skill-bars{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin:20px 0}.skill-line{font-size:14px}.skill-line div{display:flex;justify-content:space-between}.skill-line progress{width:100%;height:12px;accent-color:var(--blue)}.empty{text-align:center;padding:65px 24px}.empty h2{font-size:22px}.empty p{color:var(--muted)}.history-row{width:100%;text-align:left;display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:20px;align-items:center;margin-bottom:12px;padding:19px 22px}.history-row small{display:block;color:var(--muted);font-size:13px}.history-row strong{font-size:20px}.history-row .accuracy{font-family:monospace;font-size:25px;color:var(--blue)}dialog{border:2px solid var(--ink);border-radius:10px;max-width:720px;width:calc(100% - 32px);padding:27px;color:var(--ink);max-height:85vh;overflow:auto}dialog::backdrop{background:#132d3eb8}dialog h2{font-size:21px}dialog h3{font-size:17px}dialog p,dialog li{font-size:15px}.info-links{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0}.info-links a{font-size:14px}details{font-size:14px}summary{cursor:pointer;padding:8px 0}.storage-warning{background:#fff1d1;padding:10px 15px;font-size:14px;margin-bottom:16px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.study-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.study-item{background:#f0f6f8;padding:14px;border-radius:5px}.study-item b{display:block}.study-item span{font-size:14px}.study-item small{display:block;color:var(--muted);font-size:13px;margin-top:6px}.topic-link{background:none;border:none;text-decoration:underline;color:var(--blue);padding:0;font-size:14px}.combo{color:#875300;font-weight:800}.pause-cover{text-align:center;padding:55px 24px}.hidden{display:none!important}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes jump{50%{transform:translate(-50%,-18px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:850px){.topbar{height:80px;padding:0 20px}.brand{font-size:17px}.brand small{font-size:9px;letter-spacing:1px}.topbar nav{gap:12px}.home-grid{gap:16px;grid-template-columns:1fr 1fr}.setup{padding:20px 18px}.mascot{width:190px;height:190px}.scene-label{padding:16px;font-size:12px}.speech{right:15px;font-size:13px}.score-preview{left:13px}.category-grid{grid-template-columns:repeat(2,1fr)}.below-grid{gap:16px;grid-template-columns:1fr 1fr}.review-card{padding:15px;gap:10px}.review-card .review-icon{display:none}.today{gap:14px}.intro h1{font-size:23px}.game-stats{gap:12px}}@media(max-width:640px){.topbar{padding:0 16px;height:74px;gap:10px}.brand{gap:9px;font-size:14px}.brand-icon{font-size:26px;padding:5px 7px}.brand small{font-size:8px;letter-spacing:.5px}.topbar nav{gap:5px}.nav-btn{font-size:13px;padding:11px 6px}.icon-btn{padding:5px 7px;font-size:13px}.icon-btn span{display:none}main{padding:20px 16px 10px}.intro{margin-bottom:16px;align-items:flex-start}.intro h1{font-size:22px}.eyebrow{font-size:11px}.today{font-size:12px;gap:10px}.today strong{font-size:20px}.today .coins-label{display:none}.home-grid{grid-template-columns:1fr;gap:18px}.scene{min-height:226px}.scene-label{padding:12px 16px}.mascot-stage{min-height:132px}.mascot{height:137px;width:137px}.speech{top:5px;right:15px;padding:6px 10px;font-size:12px}.score-preview{font-size:11px;left:23px;top:28%}.score-preview b{font-size:21px}.level-nodes{position:absolute;bottom:6px;right:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0}.node{width:12px;height:12px}.scene-bottom{padding:9px;font-size:12px}.scene-bottom strong{display:inline;font-size:14px;margin-right:8px}.setup{padding:19px}.grade-detail{margin-bottom:17px}.category-grid{grid-template-columns:repeat(3,1fr)}.button.primary{margin-top:17px}.below-grid{grid-template-columns:1fr;gap:12px;margin-top:18px}.learning{padding:13px 18px}.review-card{padding:16px 18px}.review-card .review-icon{display:grid;width:40px;height:40px;font-size:22px}.game-header{font-size:12px}.game-header .text-btn{padding:6px 0;font-size:12px}.game-stats{font-size:14px;gap:10px}.game-scene{padding:12px 13px 0}.track{height:94px;margin:8px 5px 0}.track img{width:65px;height:65px}.track-stop{width:13px;height:13px;margin-bottom:17px}.game-scene-top{font-size:12px}.question-panel{padding:19px 16px;margin-top:16px}.question-panel h1{font-size:27px;margin:18px 0}.question-panel h1.sentence{font-size:20px}.answer{padding:13px 10px;font-size:15px;gap:8px;min-height:68px}.answers{gap:9px}.answer .key{display:none}.passage{font-size:16px;padding:13px}.result-numbers{grid-template-columns:repeat(2,1fr);gap:10px}.number-card{padding:13px 8px}.number-card strong{font-size:28px}.result-title h1{font-size:24px}.advice{padding:18px}.skill-bars{grid-template-columns:1fr;gap:12px}.history-row{grid-template-columns:1.4fr 1fr auto;gap:8px;padding:16px 14px}.history-row .time-col{display:none}.history-row strong{font-size:17px}.history-row .accuracy{font-size:21px}.history-row small{font-size:12px}.study-list{grid-template-columns:1fr}footer{padding:20px 16px;font-size:11px;gap:10px}footer span{max-width:180px}footer button{font-size:11px}dialog{padding:20px}.actions .button{flex:1;min-width:130px;padding:10px}.question-meta{font-size:12px}.audio-btn{font-size:12px}}
@media(max-width:640px){.intro .today{display:none}.scene{min-height:198px}.scene-label{padding:10px 16px}.mascot-stage{min-height:116px}.mascot{width:120px;height:120px}.speech,.level-nodes{display:none}.scene-bottom{padding:8px 12px}.scene-bottom strong{display:block;margin:0 0 2px}.score-preview{top:20%;font-size:10px;line-height:1.5}.score-preview b{font-size:18px}.grade-btn.plus{font-size:13px}.grade-btn.plus .plus-word{display:block;font-size:12px}.intro h1{font-size:22px}.question-panel{scroll-margin-top:14px}}
@media(min-width:641px){.plus-word{display:inline}}
/* The new pixel penguin's bright blue, warm white and square edges. */
:root{--navy:#153452;--blue:#176fba;--gold:#ffc64b;--ice:#dcf5ff;--ink:#173652;--line:#bfd6e6}body{background:#f6fbff}.panel,.button,.answer,.grade-btn,.category,.advice,.mistake,.learning,.icon-btn,dialog{border-radius:3px}.brand-icon{display:flex;align-items:center;justify-content:center;width:44px;height:47px;padding:0;background:transparent;box-shadow:none;transform:none}.brand-icon img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.scene{border-radius:3px;background:#a9ddf8 url('assets/optimized/ice-sea.269908d05efe.webp') center/cover;box-shadow:0 5px 0 #b7d8ed}.scene-label{position:relative;z-index:2;color:#173652}.scene-label>span:first-child{background:#faffeeed;padding:4px 8px}.tag{border-radius:2px}.mascot-stage{background:none;isolation:isolate;padding-bottom:16px}.mascot-stage .mascot{position:relative;z-index:2;animation:none;width:210px;height:235px;object-fit:contain}.home-ice{position:absolute;width:230px;height:110px;bottom:0;left:50%;transform:translateX(-50%);object-fit:fill;image-rendering:pixelated;z-index:1}.score-preview{top:19%;color:#163958}.score-preview b{color:#143955;text-shadow:2px 2px #eafaff}.speech{top:0;right:12px;z-index:3;border-radius:2px;background:#fffde9;transform:none;font-size:14px}.level-nodes{display:none}.scene-bottom{background:#143955f5}.game-scene{position:relative;background:#62b7eb url('assets/optimized/ice-sea.269908d05efe.webp') center/cover;border:3px solid #163957;border-bottom-width:6px;border-radius:3px;padding:14px 14px 0;isolation:isolate}.game-scene-top{position:relative;z-index:3;align-items:center;gap:8px;color:#163957}.game-scene-top b,.game-scene-top .combo{background:#fffdebed;padding:4px 10px;border:1px solid #77b6d4;border-radius:2px}.combo{color:#76500e}.track{height:192px;display:block;margin:0;position:relative}.track:before{display:none}.track .runner{position:absolute;width:76px;height:89px;bottom:45px;transform:translateX(-50%);transition:left .5s ease-in-out;z-index:4}.track .runner img{position:static;display:block;transform:none;transition:none;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.track .ice-stop{position:absolute;bottom:16px;width:9%;height:43px;transform:translateX(-50%);z-index:1;filter:saturate(.65)}.track .ice-stop img{position:static;transform:none;transition:none;width:100%;height:100%;object-fit:fill;image-rendering:pixelated}.ice-stop.passed{filter:none}.ice-stop span{position:absolute;left:0;right:0;top:5px;text-align:center;color:#12476a;font:700 12px monospace;z-index:2}.track .start-ice,.track .goal-ice{width:13%;height:49px;bottom:13px}.route-sign{position:absolute;bottom:0;z-index:5;background:#153452;color:white;border:2px solid #f6fcff;font:800 12px/1.1 monospace;padding:3px 6px;transform:translateX(-50%);box-shadow:2px 2px #173652}.start-sign{left:8%}.goal-sign{left:92%;background:#795214;color:#fff8cf;border-color:#ffe190}.runner.hopping img{animation:ice-hop .5s ease-in-out}.track .shaking{animation:ice-shake .6s ease-in-out}.goal-message{position:absolute;left:14%;right:14%;top:4px;text-align:center;font-weight:800;font-size:18px;color:#fff9b3;text-shadow:2px 2px #143557;z-index:4;margin:0}.goal-reached .goal-message{padding:5px 10px;background:#173d65e8;border:2px solid #ffdf65}.fireworks{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:6}.firework{position:absolute;width:0;height:0}.firework i{position:absolute;display:block;width:5px;height:5px;opacity:0;animation:pixel-burst 1.7s ease-out var(--delay) 3}.result-title{position:relative;isolation:isolate;background:#193e66;color:#fff;border:3px solid #163652;border-bottom:6px solid #102c48;padding:20px 16px;border-radius:3px;overflow:hidden}.result-title .mascot{position:relative;z-index:7;animation:none;width:110px;height:125px}.result-title .eyebrow,.result-title p{color:#deefff}.result-title h1{position:relative;z-index:7}.stars{color:#ffce50}.voice-controls{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:10px}.question-panel>.voice-controls{justify-content:center;margin:20px 0 0}.voice-controls .audio-big{margin:0}.audio-btn{min-height:42px;border-radius:3px;font-size:14px;padding:8px 12px;color:#154e77}.audio-btn:active{background:#c7e4fa}.small-note:empty{display:none}.question-panel h1:focus{outline:none}
@keyframes ice-hop{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
@keyframes ice-shake{0%,100%{transform:translateX(-50%) rotate(0)}15%,45%,75%{transform:translateX(calc(-50% - 4px)) rotate(-5deg)}30%,60%,90%{transform:translateX(calc(-50% + 4px)) rotate(5deg)}}
@keyframes pixel-burst{0%{transform:translate(0,0) scale(.6);opacity:0}8%{opacity:1}70%{opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 22px)) scale(.6);opacity:0}}
@media(max-width:850px){.mascot-stage .mascot{width:180px;height:210px}.home-ice{width:200px}.speech{font-size:13px;padding:6px 9px}.score-preview{font-size:12px;left:14px}.score-preview b{font-size:19px}}
@media(max-width:640px){.brand-icon{width:30px;height:37px}.topbar{padding:0 12px}.brand{gap:7px}.icon-btn span{display:inline}.icon-btn{font-size:12px;padding:5px}.scene{min-height:209px}.mascot-stage{min-height:125px;padding-bottom:10px}.mascot-stage .mascot{height:133px;width:125px}.home-ice{width:145px;height:65px;bottom:-4px}.score-preview{top:15%;left:23px}.game-scene{padding:9px 7px 0}.track{height:160px;margin:0}.track .runner{width:53px;height:62px;bottom:39px}.track .ice-stop{width:9%;height:32px;bottom:16px}.track .start-ice,.track .goal-ice{width:15%;height:39px;bottom:12px}.ice-stop span{font-size:12px;top:0}.route-sign{font-size:12px;padding:3px 4px}.game-scene-top{font-size:12px;gap:4px}.game-scene-top b,.game-scene-top .combo{padding:3px 6px}.goal-message{font-size:14px;top:7px;left:9%;right:9%}.result-title h1{font-size:22px}.result-title{padding:16px 9px}.voice-controls{gap:8px}.audio-btn{font-size:14px}.voice-controls .audio-big{min-width:166px}.question-meta{gap:8px;align-items:flex-start}.question-meta>span:last-child{text-align:right}.feedback{padding:15px 14px}.question-panel h1.sentence{font-size:20px}.game-header{gap:8px}.game-header .text-btn{font-size:13px}.game-stats{font-size:13px;gap:8px}}
@media(prefers-reduced-motion:reduce){.runner,.mascot,.shaking{animation:none!important;transition:none!important}.firework{display:none}.firework:nth-child(2),.firework:nth-child(4){display:block}.firework i{animation:none;opacity:1;transform:translate(var(--dx),var(--dy));width:4px;height:4px}.firework i:nth-child(even){display:none}}
/* Place the feet on the visible top surface of the transparent ice art. */
.mascot-stage .mascot{position:absolute;bottom:34px}.track .ice-stop{height:85px;bottom:-10px;width:7.2%}.track .start-ice,.track .goal-ice{height:92px;bottom:-14px;width:10.5%}.track .runner{bottom:26px;width:82px;height:94px}.ice-stop span{display:none}.voice-controls+.small-note{margin-bottom:14px}
@media(max-width:640px){.mascot-stage .mascot{bottom:18px}.track .ice-stop{height:64px;bottom:-8px;width:7.5%}.track .start-ice,.track .goal-ice{height:70px;bottom:-11px;width:13%}.track .runner{bottom:21px;width:58px;height:69px}}

.retry-note{background:#fff2ce;border-left:4px solid #d89925;color:#60430e;padding:10px 14px;margin:0 0 15px;font-size:14px;font-weight:700}.question-meta>span:first-child{white-space:nowrap}

.backup-panel{padding:22px 24px;margin-bottom:18px;border-top:5px solid var(--blue)}.backup-panel h2{margin:2px 0 8px;font-size:21px}.backup-panel p{font-size:14px;margin:8px 0}.backup-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0}.backup-help{color:var(--muted)}.backup-panel details{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.backup-status{background:#e8f6ed;color:#075340;border-left:4px solid var(--green);padding:12px 16px;margin:0 0 18px;font-size:14px;overflow-wrap:anywhere}.backup-status:empty{display:none}.backup-status.is-error{background:#fff0ec;border-color:var(--red);color:#97312c}.backup-summary{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin:18px 0;padding:16px;background:var(--ice);font-size:15px}.backup-summary dt{color:var(--muted)}.backup-summary dd{margin:0;font-weight:700}.backup-filename{overflow-wrap:anywhere;color:var(--muted)}.result-backup{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.result-backup .text-btn{text-decoration:underline}@media(max-width:640px){.backup-panel{padding:18px 16px}.backup-panel h2{font-size:19px}.backup-actions .button{flex:1;min-width:125px;padding:10px}.backup-summary{grid-template-columns:1fr;font-size:14px;gap:4px}.backup-summary dd{margin-bottom:8px}}
