:root{color-scheme:light;font-family:ui-rounded,Apple SD Gothic Neo,Malgun Gothic,Segoe UI,sans-serif;--paper: #fff8ea;--canvas: #f7f1e3;--ink: #23303f;--muted: #6d7380;--line: #23303f;--teal: #1d8a99;--teal-dark: #126a76;--coral: #ea5b45;--yellow: #f0b429;--green: #38a169;--green-light: #d9f99d;--red: #d64045;--red-light: #ffe1df;--shadow: 0 20px 48px rgba(35, 48, 63, .16);--app-height: 100vh;--app-vh: 1vh}@supports (height: 100svh){:root{--app-height: 100svh;--app-vh: 1svh}}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:linear-gradient(90deg,rgba(35,48,63,.06) 1px,transparent 1px),linear-gradient(rgba(35,48,63,.06) 1px,transparent 1px),var(--canvas);background-size:34px 34px;color:var(--ink);-webkit-tap-highlight-color:transparent;overflow-x:hidden}button{border:0;color:inherit;font:inherit}.app-shell{display:grid;grid-template-columns:minmax(0,1fr) 176px;gap:clamp(16px,2.4vw,28px);min-height:var(--app-height);padding:max(clamp(16px,3vw,34px),env(safe-area-inset-top)) max(clamp(16px,3vw,34px),env(safe-area-inset-right)) max(clamp(16px,3vw,34px),env(safe-area-inset-bottom)) max(clamp(16px,3vw,34px),env(safe-area-inset-left))}.practice-stage{display:grid;grid-template-rows:auto minmax(300px,1fr) auto;gap:clamp(14px,2.3vw,24px);min-height:calc(var(--app-height) - clamp(32px,6vw,68px))}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow,.prompt,.feedback,.score-item span{margin:0;font-weight:800;letter-spacing:0}.eyebrow{color:var(--coral);font-size:clamp(.9rem,1.8vw,1.05rem)}h1{margin:4px 0 0;font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.05}.ghost-button,.sound-toggle,.answer-button{cursor:pointer;touch-action:manipulation;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,color .14s ease}.top-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.ghost-button{min-width:96px;min-height:52px;border:2px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:5px 5px 0 var(--ink);font-weight:900}.ghost-button:disabled{cursor:default;opacity:.48;transform:none}.history-button[aria-current=page]{background:var(--teal);color:#fff}.sound-toggle{min-width:84px;min-height:52px;border:2px solid var(--line);border-radius:8px;background:var(--yellow);box-shadow:5px 5px 0 var(--ink);font-size:.95rem;font-weight:900}.sound-toggle.is-off{background:#fff;color:var(--muted)}.ghost-button:active,.sound-toggle:active,.answer-button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.ghost-button:disabled:active{box-shadow:5px 5px 0 var(--ink);transform:none}.problem-panel{position:relative;isolation:isolate;display:grid;place-items:center;align-content:center;min-height:300px;overflow:hidden;border:4px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow),10px 10px 0 var(--ink);transform-origin:center}.problem-panel:before{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:2px dashed rgba(35,48,63,.24);border-radius:8px;content:"";pointer-events:none;z-index:2}.problem-panel:after{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;z-index:0;content:"";opacity:0;pointer-events:none;transform:scale(.82) rotate(0)}.problem-panel.correct{border-color:var(--green)}.problem-panel.correct.fx-0{animation:correct-panel .5s cubic-bezier(.18,.89,.32,1.2)}.problem-panel.correct.fx-0:after{background:conic-gradient(from 12deg,transparent 0deg 18deg,rgba(56,161,105,.24) 18deg 34deg,transparent 34deg 60deg,rgba(240,180,41,.28) 60deg 72deg,transparent 72deg 110deg,rgba(29,138,153,.22) 110deg 126deg,transparent 126deg 360deg);animation:burst-spin .52s ease-out}.problem-panel.correct.fx-1{animation:correct-stamp-panel .52s cubic-bezier(.18,.89,.32,1.18)}.problem-panel.correct.fx-1:after{top:-12%;right:-12%;bottom:-12%;left:-12%;background:radial-gradient(circle at 50% 50%,rgba(56,161,105,.22) 0 9%,transparent 10%),radial-gradient(circle at 38% 36%,rgba(240,180,41,.2) 0 7%,transparent 8%),radial-gradient(circle at 62% 64%,rgba(29,138,153,.18) 0 6%,transparent 7%);animation:stamp-glow .52s ease-out}.problem-panel.correct.fx-2{animation:correct-ribbon-panel .52s ease-out}.problem-panel.correct.fx-2:after{top:-8%;right:-45%;bottom:-8%;left:-45%;background:repeating-linear-gradient(102deg,transparent 0 26px,rgba(56,161,105,.17) 26px 46px,rgba(240,180,41,.2) 46px 60px,transparent 60px 86px);animation:ribbon-sweep .54s ease-out}.problem-panel.correct.is-rapid-combo{border-color:var(--coral);animation:rapid-combo-panel .54s cubic-bezier(.18,.89,.32,1.18)}.problem-panel.correct.is-rapid-combo:after{top:-16%;right:-16%;bottom:-16%;left:-16%;background:conic-gradient(from -18deg,rgba(240,180,41,.3) 0deg 16deg,transparent 16deg 38deg,rgba(255,117,102,.28) 38deg 54deg,transparent 54deg 82deg,rgba(29,138,153,.2) 82deg 98deg,transparent 98deg 360deg);animation:rapid-combo-rays .54s ease-out}.problem-panel.wrong{border-color:var(--red)}.problem-panel.wrong.fx-0{background:repeating-linear-gradient(-9deg,transparent 0 18px,rgba(214,64,69,.07) 18px 28px),var(--paper);animation:wrong-panel .42s cubic-bezier(.36,.07,.19,.97)}.problem-panel.wrong.fx-1{background:linear-gradient(135deg,var(--red-light),transparent 46%),var(--paper);animation:wrong-tilt-panel .44s cubic-bezier(.36,.07,.19,.97)}.problem-panel.wrong.fx-2{background:radial-gradient(circle at 50% 50%,rgba(214,64,69,.16),transparent 42%),var(--paper);animation:wrong-sink-panel .44s ease-out}.problem-panel.wrong.fx-2:after{background:repeating-radial-gradient(circle at 50% 50%,transparent 0 34px,rgba(214,64,69,.16) 35px 42px);animation:error-pulse .5s ease-out}.start-panel,.summary-panel,.history-panel{padding:clamp(20px,4vw,40px)}.start-panel{align-content:center}.summary-panel,.history-panel{align-content:stretch;place-items:stretch}.start-content,.summary-content,.history-content{position:relative;z-index:3}.start-content{display:grid;justify-items:center;gap:clamp(14px,2.6vw,24px);width:min(100%,720px);text-align:center}.start-content h2,.summary-head h2{margin:0;font-size:clamp(2.4rem,8vw,5.6rem);line-height:.98}.difficulty-current{margin:-8px 0 0;border:3px solid var(--line);border-radius:999px;background:var(--yellow);color:var(--ink);padding:6px 14px;font-size:clamp(1rem,2.4vw,1.35rem);font-weight:950;line-height:1}.start-button{min-width:clamp(150px,22vw,220px);min-height:clamp(66px,calc(var(--app-vh) * 9),86px);border:4px solid var(--line);border-radius:8px;background:var(--green);box-shadow:8px 8px 0 var(--ink);color:#fff;cursor:pointer;font-size:clamp(1.7rem,4vw,2.4rem);font-weight:1000;touch-action:manipulation;transition:transform .14s ease,box-shadow .14s ease}.start-button.compact{justify-self:start;min-width:136px;min-height:56px;margin-top:4px;border-width:3px;box-shadow:5px 5px 0 var(--ink);font-size:1.15rem}.start-button:active{box-shadow:2px 2px 0 var(--ink);transform:translate(5px,5px)}.operation-picker,.difficulty-picker{display:grid;gap:10px}.operation-picker{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,520px)}.difficulty-picker{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,620px)}.operation-picker button,.difficulty-picker button{display:grid;gap:4px;min-height:76px;border:3px solid var(--line);border-radius:8px;background:#fff;box-shadow:5px 5px 0 var(--ink);cursor:pointer;padding:10px;text-align:left;touch-action:manipulation;transition:background-color .14s ease,box-shadow .14s ease,transform .14s ease}.operation-picker button.is-selected,.difficulty-picker button.is-selected{background:var(--yellow)}.operation-picker button:active,.difficulty-picker button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(4px,4px)}.operation-picker span,.difficulty-picker span{color:var(--muted);font-size:.9rem;font-weight:900}.operation-picker strong{font-size:clamp(1.45rem,3.6vw,2.15rem);line-height:1}.difficulty-picker strong{font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.05}.summary-content,.history-content{display:grid;gap:clamp(12px,calc(var(--app-vh) * 2),18px);max-height:100%;overflow:auto;padding:4px}.summary-head{display:grid;gap:4px}.summary-head h2{font-size:clamp(2rem,5vw,4.2rem)}.summary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.summary-metrics div{display:grid;gap:4px;border:3px solid var(--line);border-radius:8px;background:#fff;box-shadow:4px 4px 0 var(--ink);padding:12px}.summary-metrics span,.summary-section h3{color:var(--muted);font-size:.88rem;font-weight:900}.summary-metrics strong{font-size:clamp(1.5rem,4vw,2.7rem);line-height:1}.week-navigator{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:stretch}.week-navigator button{min-width:96px;min-height:54px;border:3px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:4px 4px 0 var(--ink);cursor:pointer;font-size:.95rem;font-weight:950;touch-action:manipulation}.week-navigator button:disabled{cursor:default;opacity:.45}.week-navigator div{display:grid;gap:3px;align-content:center;border:3px solid var(--line);border-radius:8px;background:var(--yellow);box-shadow:4px 4px 0 var(--ink);padding:8px 12px;text-align:center}.week-navigator span{color:var(--ink);font-size:.78rem;font-weight:950}.week-navigator strong{font-size:clamp(.95rem,2.2vw,1.2rem);line-height:1.1}.history-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.history-metrics div,.missed-problem-list div,.recent-wrong-list div{display:grid;gap:4px;border:3px solid var(--line);border-radius:8px;background:#fff;box-shadow:4px 4px 0 var(--ink);padding:12px}.history-metrics span,.missed-problem-list span,.recent-wrong-list span{color:var(--muted);font-size:.84rem;font-weight:900}.history-metrics strong{font-size:clamp(1.35rem,3.2vw,2.2rem);line-height:1}.missed-problem-list,.recent-wrong-list{display:grid;gap:8px}.missed-problem-list{grid-template-columns:repeat(2,minmax(0,1fr))}.missed-problem-list strong,.recent-wrong-list strong{font-size:clamp(1.1rem,2.4vw,1.55rem);line-height:1}.missed-problem-list em,.recent-wrong-list em{color:var(--ink);font-size:.9rem;font-style:normal;font-weight:850;line-height:1.32}.summary-section{display:grid;gap:6px}.summary-section h3{margin:0}.summary-section ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.summary-section li{border-left:6px solid var(--teal);background:#ffffffb8;padding:8px 10px;font-size:clamp(.95rem,2vw,1.08rem);font-weight:800;line-height:1.3}.summary-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.share-button{min-width:142px;min-height:56px;border:3px solid var(--line);border-radius:8px;background:var(--teal);box-shadow:5px 5px 0 var(--ink);color:#fff;cursor:pointer;font-size:1.15rem;font-weight:1000;touch-action:manipulation;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.share-button:disabled{cursor:default;opacity:.72}.share-button:active:not(:disabled){box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}.share-status{margin:-4px 0 0;color:var(--teal-dark);font-size:.92rem;font-weight:900}.share-status.is-failed{color:var(--red)}.share-fallback{width:100%;min-height:96px;border:3px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:.84rem;font-weight:800;line-height:1.35;padding:10px;resize:vertical}.question-mark{position:absolute;top:18px;right:26px;z-index:1;color:#1d8a9929;font-size:clamp(4rem,11vw,9rem);font-weight:1000;line-height:1}.success-burst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.success-burst span{position:absolute;left:50%;top:50%;width:clamp(12px,2.6vw,24px);aspect-ratio:1;border:3px solid var(--green);border-radius:3px;opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.35)}.success-burst span:nth-child(2n){border-color:var(--yellow)}.success-burst span:nth-child(3n){border-color:var(--teal)}.problem-panel.correct.fx-0 .success-burst span{animation:burst-chip .52s ease-out forwards}.problem-panel.correct.fx-1 .success-burst span{animation:stamp-chip .5s ease-out forwards}.problem-panel.correct.fx-2 .success-burst span{animation:ribbon-chip .54s ease-out forwards}.problem-panel.correct.is-rapid-combo .success-burst span{border-color:var(--coral);animation:rapid-combo-chip .54s ease-out forwards}.success-burst span:nth-child(1){--burst-x: -210px;--burst-y: -90px}.success-burst span:nth-child(2){--burst-x: -132px;--burst-y: 108px;animation-delay:45ms}.success-burst span:nth-child(3){--burst-x: -24px;--burst-y: -132px;animation-delay:80ms}.success-burst span:nth-child(4){--burst-x: 108px;--burst-y: 118px;animation-delay:35ms}.success-burst span:nth-child(5){--burst-x: 196px;--burst-y: -76px;animation-delay:70ms}.success-burst span:nth-child(6){--burst-x: 228px;--burst-y: 44px;animation-delay:.11s}.prompt{z-index:1;color:var(--muted);font-size:clamp(1rem,2vw,1.25rem)}.question{z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(16px,4vw,36px);margin-top:10px;font-size:clamp(5.4rem,17vw,12rem);font-weight:1000;line-height:.95;font-variant-numeric:tabular-nums}.difficulty-medium .question{gap:clamp(10px,2.6vw,28px);font-size:clamp(4.4rem,13vw,9rem)}.difficulty-hard .question{gap:clamp(8px,2vw,22px);font-size:clamp(3.5rem,10vw,7rem)}.operation-missingFactor .question{gap:14px;font-size:4.9rem}.blank-slot{display:inline-grid;place-items:center;min-width:.9em;color:var(--coral);line-height:1}.equals{color:var(--muted);font-size:.78em}.problem-panel.correct.fx-0 .question{animation:answer-pop .42s cubic-bezier(.18,.89,.32,1.2)}.problem-panel.correct.fx-1 .question{animation:answer-stamp .42s cubic-bezier(.18,.89,.32,1.2)}.problem-panel.correct.fx-2 .question{animation:answer-swoop .44s ease-out}.problem-panel.wrong.fx-0 .question{animation:answer-wobble .38s ease-in-out}.problem-panel.wrong.fx-1 .question{animation:answer-slip .4s cubic-bezier(.36,.07,.19,.97)}.problem-panel.wrong.fx-2 .question{animation:answer-stutter .42s ease-out}.combo-burst{position:absolute;left:50%;top:50%;z-index:5;display:grid;place-items:center;min-width:clamp(124px,22vw,190px);aspect-ratio:1;border:4px solid var(--line);border-radius:50%;background:radial-gradient(circle at 32% 28%,#ffffff 0 10%,transparent 11%),var(--yellow);box-shadow:0 0 0 8px #ff756629,8px 8px 0 var(--ink);color:var(--ink);font-weight:1000;pointer-events:none;transform:translate(-50%,-50%);animation:rapid-combo-badge .54s cubic-bezier(.18,.89,.32,1.2) both}.combo-burst:before,.combo-burst:after{position:absolute;top:-15px;right:-15px;bottom:-15px;left:-15px;border:3px dashed var(--coral);border-radius:inherit;content:"";opacity:.75;animation:rapid-combo-ring .54s ease-out both}.combo-burst:after{top:-26px;right:-26px;bottom:-26px;left:-26px;border-color:var(--teal);animation-delay:45ms}.combo-burst strong{display:block;max-width:88%;font-size:clamp(2.8rem,7vw,5.3rem);font-variant-numeric:tabular-nums;line-height:.78;animation:rapid-combo-count .54s cubic-bezier(.18,.89,.32,1.2)}.combo-burst span{display:block;margin-top:-2px;color:var(--coral);font-size:clamp(1.05rem,2.8vw,1.65rem);line-height:1}.operator{color:var(--teal);transform:translateY(-.04em)}.feedback{z-index:1;min-height:38px;margin-top:clamp(8px,1.5vw,16px);border-radius:8px;color:var(--coral);font-size:clamp(1.4rem,4vw,2.2rem)}.problem-panel.correct .feedback{color:var(--green)}.problem-panel.correct.fx-0 .feedback{animation:feedback-pop .4s cubic-bezier(.18,.89,.32,1.2)}.problem-panel.correct.fx-1 .feedback{animation:feedback-stamp .4s cubic-bezier(.18,.89,.32,1.2)}.problem-panel.correct.fx-2 .feedback{animation:feedback-slide .4s ease-out}.problem-panel.wrong .feedback{color:var(--red)}.problem-panel.wrong.fx-0 .feedback{animation:feedback-pop .3s ease-out}.problem-panel.wrong.fx-1 .feedback{animation:feedback-skid .34s ease-out}.problem-panel.wrong.fx-2 .feedback{animation:feedback-blink .42s ease-out}.answer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.8vw,18px)}.answer-button{min-height:clamp(96px,calc(var(--app-vh) * 16),148px);border:4px solid var(--line);border-radius:8px;background:#fff;box-shadow:8px 8px 0 var(--ink);font-size:clamp(2.4rem,7vw,5.2rem);font-weight:1000;font-variant-numeric:tabular-nums}.answer-button.digits-3{font-size:clamp(2.3rem,6vw,4.6rem)}.answer-button.digits-4{font-size:clamp(1.85rem,5vw,3.8rem)}.answer-button.digits-5{font-size:clamp(1.55rem,4vw,3rem)}.answer-button:disabled{cursor:default}.answer-button.is-correct{background:var(--green);color:#fff}.answer-button.is-correct.fx-0{animation:correct-choice .46s cubic-bezier(.18,.89,.32,1.2)}.answer-button.is-correct.fx-1{animation:correct-choice-stamp .48s cubic-bezier(.18,.89,.32,1.2)}.answer-button.is-correct.fx-2{animation:correct-choice-sweep .48s ease-out}.answer-button.is-wrong{background:var(--red);color:#fff}.answer-button.is-wrong.fx-0{animation:wrong-choice .34s cubic-bezier(.36,.07,.19,.97)}.answer-button.is-wrong.fx-1{animation:wrong-choice-tilt .36s cubic-bezier(.36,.07,.19,.97)}.answer-button.is-wrong.fx-2{animation:wrong-choice-sink .38s ease-out}.answer-button.is-muted{background:#ffffff73;color:#23303f52;box-shadow:3px 3px #23303f5c}@keyframes correct-panel{0%{background:var(--paper);box-shadow:var(--shadow),10px 10px 0 var(--ink);transform:scale(1)}38%{background:linear-gradient(135deg,var(--green-light),var(--paper) 62%);box-shadow:0 0 0 10px #38a1692e,var(--shadow),10px 10px 0 var(--ink);transform:scale(1.018)}to{background:var(--paper);box-shadow:var(--shadow),10px 10px 0 var(--ink);transform:scale(1)}}@keyframes wrong-panel{0%,to{transform:translate(0) rotate(0)}16%{transform:translate(-12px) rotate(-.5deg)}34%{transform:translate(10px) rotate(.5deg)}52%{transform:translate(-7px) rotate(-.35deg)}70%{transform:translate(4px) rotate(.2deg)}}@keyframes burst-spin{0%{opacity:0;transform:scale(.72) rotate(0)}28%{opacity:1}to{opacity:0;transform:scale(1.08) rotate(42deg)}}@keyframes burst-chip{0%{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.35)}24%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) rotate(210deg) scale(1)}}@keyframes answer-pop{0%{transform:scale(1)}42%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes answer-wobble{0%,to{transform:rotate(0)}28%{transform:rotate(-1.6deg)}58%{transform:rotate(1.3deg)}}@keyframes feedback-pop{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes correct-choice{0%{transform:translate(0) scale(1);box-shadow:8px 8px 0 var(--ink)}44%{transform:translate(-2px,-8px) scale(1.08);box-shadow:0 0 0 8px #38a1692e,12px 16px 0 var(--ink)}to{transform:translate(0) scale(1);box-shadow:8px 8px 0 var(--ink)}}@keyframes wrong-choice{0%,to{transform:translate(0)}18%{transform:translate(-10px)}38%{transform:translate(8px)}60%{transform:translate(-5px)}}@keyframes correct-stamp-panel{0%{transform:scale(1) rotate(0);box-shadow:var(--shadow),10px 10px 0 var(--ink)}34%{transform:scale(.97) rotate(-.25deg);box-shadow:var(--shadow),6px 6px 0 var(--ink)}58%{transform:scale(1.026) rotate(.25deg);box-shadow:0 0 0 12px #38a16929,var(--shadow),12px 12px 0 var(--ink)}to{transform:scale(1) rotate(0);box-shadow:var(--shadow),10px 10px 0 var(--ink)}}@keyframes correct-ribbon-panel{0%{background:var(--paper);transform:translateY(0)}42%{background:linear-gradient(90deg,rgba(217,249,157,.55),var(--paper) 64%);transform:translateY(-4px)}to{background:var(--paper);transform:translateY(0)}}@keyframes wrong-tilt-panel{0%,to{transform:rotate(0) translateY(0)}22%{transform:rotate(-1.5deg) translateY(2px)}52%{transform:rotate(1.2deg) translateY(0)}76%{transform:rotate(-.45deg) translateY(1px)}}@keyframes wrong-sink-panel{0%{transform:translateY(0) scale(1);box-shadow:var(--shadow),10px 10px 0 var(--ink)}34%{transform:translateY(9px) scale(.99);box-shadow:var(--shadow),2px 2px 0 var(--ink)}to{transform:translateY(0) scale(1);box-shadow:var(--shadow),10px 10px 0 var(--ink)}}@keyframes stamp-glow{0%{opacity:0;transform:scale(.45) rotate(-12deg)}36%{opacity:1;transform:scale(1.04) rotate(0)}to{opacity:0;transform:scale(1.22) rotate(8deg)}}@keyframes ribbon-sweep{0%{opacity:0;transform:translate(-42%) skew(-10deg)}30%{opacity:1}to{opacity:0;transform:translate(42%) skew(-10deg)}}@keyframes error-pulse{0%{opacity:0;transform:scale(.65)}35%{opacity:1}to{opacity:0;transform:scale(1.08)}}@keyframes stamp-chip{0%{opacity:0;transform:translate(-50%,-50%) rotate(0) scale(.2)}28%{opacity:1;transform:translate(-50%,-50%) rotate(8deg) scale(1.2)}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) rotate(90deg) scale(.25)}}@keyframes ribbon-chip{0%{opacity:0;transform:translate(calc(-50% - 180px),-50%) rotate(45deg) scale(.35)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + 210px),calc(-50% + var(--burst-y))) rotate(235deg) scale(.9)}}@keyframes answer-stamp{0%{transform:scale(1) rotate(0)}34%{transform:scale(.9) rotate(-1deg)}58%{transform:scale(1.12) rotate(.8deg)}to{transform:scale(1) rotate(0)}}@keyframes answer-swoop{0%{transform:translate(-16px) scale(.98);opacity:.78}40%{transform:translate(10px) scale(1.06);opacity:1}to{transform:translate(0) scale(1)}}@keyframes answer-slip{0%,to{transform:translate(0) rotate(0)}28%{transform:translate(18px) rotate(1.7deg)}54%{transform:translate(-10px) rotate(-1deg)}}@keyframes answer-stutter{0%,to{opacity:1;transform:translateY(0)}18%{opacity:.42;transform:translateY(4px)}36%{opacity:1;transform:translateY(-3px)}58%{opacity:.62;transform:translateY(2px)}}@keyframes feedback-stamp{0%{opacity:0;transform:rotate(-4deg) scale(1.28)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes feedback-slide{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:translate(0)}}@keyframes feedback-skid{0%{opacity:0;transform:translate(24px) rotate(2deg)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes feedback-blink{0%,42%,to{opacity:1}20%,66%{opacity:.36}}@keyframes correct-choice-stamp{0%{transform:scale(1) rotate(0);box-shadow:8px 8px 0 var(--ink)}34%{transform:scale(.92) rotate(-1.4deg);box-shadow:3px 3px 0 var(--ink)}58%{transform:scale(1.1) rotate(1deg);box-shadow:0 0 0 8px #f0b42938,11px 11px 0 var(--ink)}to{transform:scale(1) rotate(0);box-shadow:8px 8px 0 var(--ink)}}@keyframes correct-choice-sweep{0%{transform:translate(-10px);box-shadow:8px 8px 0 var(--ink)}42%{transform:translate(9px);box-shadow:0 0 0 8px #1d8a9933,12px 8px 0 var(--ink)}to{transform:translate(0);box-shadow:8px 8px 0 var(--ink)}}@keyframes wrong-choice-tilt{0%,to{transform:rotate(0) translateY(0)}28%{transform:rotate(-5deg) translateY(3px)}58%{transform:rotate(4deg) translateY(0)}}@keyframes wrong-choice-sink{0%{transform:translateY(0) scale(1);box-shadow:8px 8px 0 var(--ink)}34%{transform:translateY(8px) scale(.97);box-shadow:2px 2px 0 var(--ink)}to{transform:translateY(0) scale(1);box-shadow:8px 8px 0 var(--ink)}}@keyframes rapid-combo-panel{0%{background:var(--paper);box-shadow:var(--shadow),10px 10px 0 var(--ink);transform:scale(1) rotate(0)}34%{background:linear-gradient(135deg,rgba(255,236,153,.72),transparent 58%),var(--paper);box-shadow:0 0 0 12px #ff756629,var(--shadow),6px 6px 0 var(--ink);transform:scale(.985) rotate(-.45deg)}66%{background:linear-gradient(135deg,rgba(217,249,157,.58),transparent 62%),var(--paper);box-shadow:0 0 0 16px #f0b4292e,var(--shadow),14px 14px 0 var(--ink);transform:scale(1.035) rotate(.35deg)}to{background:var(--paper);box-shadow:var(--shadow),10px 10px 0 var(--ink);transform:scale(1) rotate(0)}}@keyframes rapid-combo-rays{0%{opacity:0;transform:scale(.58) rotate(-18deg)}28%{opacity:1}to{opacity:0;transform:scale(1.14) rotate(28deg)}}@keyframes rapid-combo-chip{0%{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.25)}22%{opacity:1;transform:translate(-50%,-50%) rotate(8deg) scale(1.18)}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) rotate(320deg) scale(.9)}}@keyframes rapid-combo-badge{0%{opacity:0;transform:translate(-50%,-50%) scale(.42) rotate(-16deg)}28%{opacity:1;transform:translate(-50%,-50%) scale(1.08) rotate(5deg)}72%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-3deg)}to{opacity:0;transform:translate(-50%,-50%) scale(1.18) rotate(2deg)}}@keyframes rapid-combo-ring{0%{opacity:0;transform:scale(.72) rotate(0)}28%{opacity:.8}to{opacity:0;transform:scale(1.28) rotate(24deg)}}@keyframes rapid-combo-count{0%{transform:translateY(8px) scale(.78)}36%{transform:translateY(-2px) scale(1.12)}to{transform:translateY(0) scale(1)}}.playing-layout{display:grid;grid-template-columns:minmax(238px,.82fr) minmax(0,1.18fr);gap:clamp(12px,2vw,20px);min-height:0}.playing-layout .problem-panel{min-height:300px}.reward-panel{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:300px;border:4px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow),8px 8px 0 var(--ink);padding:14px;overflow:hidden}.reward-panel:before{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:2px dashed rgba(35,48,63,.18);border-radius:8px;content:"";pointer-events:none}.reward-meta,.reward-progress{position:relative;z-index:2}.reward-meta{display:flex;align-items:start;justify-content:space-between;gap:10px}.reward-meta h2{margin:2px 0 0;font-size:clamp(1.35rem,3vw,2.1rem);line-height:1}.reward-meta strong{display:inline-flex;align-items:baseline;gap:2px;border:3px solid var(--line);border-radius:8px;background:var(--yellow);box-shadow:3px 3px 0 var(--ink);padding:5px 8px;font-size:1.35rem;line-height:1}.reward-meta strong span{color:var(--muted);font-size:.78rem}.reward-frame{position:relative;z-index:1;width:min(100%,300px);aspect-ratio:1;justify-self:center;align-self:center;overflow:hidden;border:3px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:5px 5px #23303fe0}.reward-illustration,.reward-tile-grid{position:absolute;top:0;right:0;bottom:0;left:0}.reward-illustration{overflow:hidden}.reward-illustration:before,.reward-illustration:after,.art-shape,.art-shape:before,.art-shape:after{position:absolute;display:block;content:""}.art-shape{z-index:2}.art-shape:before,.art-shape:after{pointer-events:none}.art-path{z-index:1}.art-detail,.art-spark{z-index:3}.reward-tile-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));z-index:2}.reward-tile{position:relative;border-right:1px solid rgba(35,48,63,.16);border-bottom:1px solid rgba(35,48,63,.16);background:linear-gradient(135deg,rgba(255,248,234,.32),transparent 56%),var(--paper);opacity:1;transform-origin:center}.reward-tile:nth-child(3n){background:linear-gradient(135deg,rgba(240,180,41,.22),transparent 58%),#fdf2d1}.reward-tile:nth-child(4n){background:linear-gradient(135deg,rgba(29,138,153,.18),transparent 62%),#fffdf5}.reward-tile:nth-child(5n){background:linear-gradient(135deg,rgba(234,91,69,.16),transparent 62%),#fff8ea}.reward-tile.is-revealed{opacity:0}.reward-tile.is-bursting{z-index:3;animation:reward-tile-burst .62s cubic-bezier(.16,.9,.24,1) forwards}.reward-tile.is-bursting:before,.reward-tile.is-bursting:after{position:absolute;left:50%;top:50%;width:38%;height:38%;border:2px solid var(--line);background:var(--yellow);content:"";pointer-events:none}.reward-tile.is-bursting:after{width:28%;height:28%;background:var(--coral);transform:rotate(34deg)}.reward-progress{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.82rem;font-weight:900}.reward-completion-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:linear-gradient(90deg,rgba(35,48,63,.12) 1px,transparent 1px),linear-gradient(rgba(35,48,63,.12) 1px,transparent 1px),#f7f1e3e6;background-size:28px 28px;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));animation:reward-overlay-pop .22s ease-out}.reward-completion-card{position:relative;display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.1fr);gap:clamp(18px,4vw,36px);align-items:center;width:min(820px,100%);max-height:min(760px,calc(var(--app-height) - 36px));overflow:hidden;border:5px solid var(--line);border-radius:8px;background:radial-gradient(circle at 18% 18%,rgba(240,180,41,.26) 0 13%,transparent 14%),radial-gradient(circle at 88% 16%,rgba(29,138,153,.2) 0 12%,transparent 13%),#fff;box-shadow:0 0 0 12px #f0b4292e,12px 12px 0 var(--ink);padding:clamp(18px,4vw,34px);isolation:isolate;animation:reward-card-arrive .42s cubic-bezier(.16,.9,.24,1)}.reward-completion-frame{position:relative;z-index:2;width:min(100%,330px);aspect-ratio:1;justify-self:center;overflow:hidden;border:4px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:8px 8px #23303fe6;animation:reward-artwork-showcase .86s cubic-bezier(.16,.9,.24,1)}.reward-completion-frame .reward-illustration{position:absolute;top:0;right:0;bottom:0;left:0}.reward-completion-copy{position:relative;z-index:2;display:grid;gap:10px}.reward-completion-copy h2,.reward-completion-copy p{margin:0}.reward-completion-copy h2{font-size:4rem;line-height:.95}.reward-completion-copy>p:not(.prompt){max-width:22rem;color:var(--muted);font-size:1.15rem;font-weight:900;line-height:1.35}.reward-completion-copy strong{justify-self:start;border:3px solid var(--line);border-radius:8px;background:var(--green-light);box-shadow:4px 4px 0 var(--ink);padding:7px 10px;font-size:1rem}.reward-completion-actions{position:relative;z-index:2;grid-column:2;display:flex;flex-wrap:wrap;gap:12px}.reward-completion-actions button{min-height:58px;border:4px solid var(--line);border-radius:8px;box-shadow:6px 6px 0 var(--ink);padding:10px 18px;cursor:pointer;font-size:1.35rem;font-weight:900;line-height:1;transition:transform .16s ease,box-shadow .16s ease}.reward-completion-actions button:active{box-shadow:2px 2px 0 var(--ink);transform:translate(4px,4px)}.reward-continue-button{min-width:156px;background:var(--yellow)}.reward-finish-button{min-width:120px;background:#fff}.reward-fanfare{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.reward-fanfare span{position:absolute;left:50%;top:50%;width:clamp(12px,2vw,20px);height:clamp(12px,2vw,20px);border:3px solid var(--line);background:var(--yellow);opacity:0;transform:translate(-50%,-50%) rotate(45deg);animation:reward-confetti-pop .98s cubic-bezier(.16,.9,.24,1) forwards}.reward-fanfare span:nth-child(3n){border-radius:50%;background:var(--green-light)}.reward-fanfare span:nth-child(4n){background:var(--coral)}.reward-fanfare span:nth-child(1){--confetti-x: -310px;--confetti-y: -210px;animation-delay:40ms}.reward-fanfare span:nth-child(2){--confetti-x: -180px;--confetti-y: -250px;animation-delay:.1s}.reward-fanfare span:nth-child(3){--confetti-x: -40px;--confetti-y: -235px;animation-delay:20ms}.reward-fanfare span:nth-child(4){--confetti-x: 110px;--confetti-y: -250px;animation-delay:80ms}.reward-fanfare span:nth-child(5){--confetti-x: 260px;--confetti-y: -205px;animation-delay:.14s}.reward-fanfare span:nth-child(6){--confetti-x: 330px;--confetti-y: -40px;animation-delay:60ms}.reward-fanfare span:nth-child(7){--confetti-x: 270px;--confetti-y: 165px;animation-delay:.12s}.reward-fanfare span:nth-child(8){--confetti-x: 90px;--confetti-y: 230px;animation-delay:30ms}.reward-fanfare span:nth-child(9){--confetti-x: -95px;--confetti-y: 225px;animation-delay:.15s}.reward-fanfare span:nth-child(10){--confetti-x: -270px;--confetti-y: 155px;animation-delay:70ms}.reward-fanfare span:nth-child(11){--confetti-x: -335px;--confetti-y: -30px;animation-delay:115ms}.reward-fanfare span:nth-child(12){--confetti-x: 0;--confetti-y: -315px;animation-delay:.17s}@media(max-width:720px){.reward-completion-card{grid-template-columns:1fr;gap:16px;max-height:calc(var(--app-height) - 28px);overflow-y:auto;padding:18px}.reward-completion-frame{width:min(100%,240px)}.reward-completion-copy{text-align:center}.reward-completion-copy h2{font-size:2.55rem}.reward-completion-copy>p:not(.prompt){justify-self:center;font-size:1rem}.reward-completion-copy strong{justify-self:center}.reward-completion-actions{grid-column:auto;justify-content:center}.reward-completion-actions button{flex:1 1 132px;min-height:54px;font-size:1.12rem}.reward-fanfare{transform:scale(.66)}}@media(orientation:landscape)and (max-height:620px){.reward-completion-card{grid-template-columns:minmax(150px,.72fr) minmax(260px,1.28fr);gap:16px;max-height:calc(var(--app-height) - 18px);padding:14px}.reward-completion-frame{width:min(100%,190px)}.reward-completion-copy h2{font-size:2.35rem}.reward-completion-copy>p:not(.prompt){font-size:.96rem}.reward-completion-actions{grid-column:2}.reward-completion-actions button{min-height:48px;font-size:1.05rem}}.reward-panel.is-complete .reward-frame{animation:reward-complete-glow .9s ease-out}@keyframes reward-overlay-pop{0%{opacity:0}to{opacity:1}}@keyframes reward-card-arrive{0%{opacity:0;transform:translateY(18px) scale(.92) rotate(-.6deg)}68%{opacity:1;transform:translateY(-4px) scale(1.02) rotate(.35deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes reward-artwork-showcase{0%{transform:scale(.82) rotate(-2deg)}58%{transform:scale(1.04) rotate(1.2deg)}to{transform:scale(1) rotate(0)}}@keyframes reward-confetti-pop{0%{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.25)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--confetti-x)),calc(-50% + var(--confetti-y))) rotate(310deg) scale(1)}}@keyframes reward-tile-burst{0%{opacity:1;transform:scale(1) rotate(0)}38%{opacity:1;transform:scale(1.12) rotate(4deg)}to{opacity:0;transform:translate(var(--burst-x),var(--burst-y)) scale(.24) rotate(24deg)}}@keyframes reward-complete-glow{0%,to{box-shadow:5px 5px #23303fe0}46%{box-shadow:0 0 0 10px #f0b42938,5px 5px #23303fe0}}.reward-illustration.is-star-robot{background:radial-gradient(circle at 18% 16%,#fff8ea 0 3px,transparent 4px),radial-gradient(circle at 78% 21%,#ffffff 0 2px,transparent 3px),radial-gradient(circle at 36% 70%,rgba(255,255,255,.88) 0 2px,transparent 3px),linear-gradient(150deg,#263960,#1d8a99 58%,#74c69d 128%)}.reward-illustration.is-star-robot:before{left:-16%;right:-16%;bottom:-22%;height:42%;border:4px solid #23303f;border-radius:50% 50% 0 0;background:#d9f99d}.reward-illustration.is-star-robot:after{left:47%;top:16%;width:5%;height:15%;border-radius:999px;background:#23303f}.reward-illustration.is-star-robot .art-main{left:30%;top:31%;width:40%;height:34%;border:4px solid #23303f;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.34) 0 18%,transparent 19%),#f0b429}.reward-illustration.is-star-robot .art-main:before{left:23%;top:31%;width:12%;height:12%;border-radius:50%;background:#23303f;box-shadow:34px 0 #23303f}.reward-illustration.is-star-robot .art-main:after{left:34%;top:58%;width:32%;height:7%;border-radius:999px;background:#ea5b45}.reward-illustration.is-star-robot .art-accent{left:39%;top:18%;width:22%;height:17%;border:3px solid #23303f;border-radius:12px 12px 8px 8px;background:#fff8ea}.reward-illustration.is-star-robot .art-small{left:21%;top:40%;width:13%;height:22%;border:3px solid #23303f;border-radius:14px;background:#fff8ea}.reward-illustration.is-star-robot .art-ring{right:20%;top:42%;width:12%;height:22%;border:3px solid #23303f;border-radius:14px;background:#ea5b45}.reward-illustration.is-star-robot .art-path{left:28%;bottom:18%;width:44%;height:10%;border-radius:50%;background:#23303f3d}.reward-illustration.is-star-robot .art-detail{left:43%;top:8%;width:13%;height:13%;border:3px solid #23303f;background:#f0b429;clip-path:polygon(50% 0,62% 35%,100% 35%,68% 58%,80% 100%,50% 74%,20% 100%,32% 58%,0 35%,38% 35%)}.reward-illustration.is-star-robot .art-spark{right:14%;bottom:23%;width:8%;height:8%;border-radius:50%;background:#fff8ea;box-shadow:-154px -136px #d9f99d,-30px -166px #fff}.reward-illustration.is-moon-rover{background:radial-gradient(circle at 78% 19%,#fff8ea 0 19%,transparent 20%),radial-gradient(circle at 20% 20%,rgba(255,255,255,.88) 0 3px,transparent 4px),linear-gradient(180deg,#a7c7ff,#7dd3fc 52%,#78d5a1)}.reward-illustration.is-moon-rover:before{left:-12%;right:-12%;bottom:-18%;height:40%;border-top:4px solid #23303f;border-radius:50% 50% 0 0;background:#9ae6b4}.reward-illustration.is-moon-rover:after{left:21%;bottom:18%;width:58%;height:10%;border-radius:50%;background:#23303f38}.reward-illustration.is-moon-rover .art-main{left:21%;bottom:29%;width:58%;height:26%;border:4px solid #23303f;border-radius:28px 28px 14px 14px;background:#ea5b45}.reward-illustration.is-moon-rover .art-main:before{left:23%;top:-46%;width:38%;height:62%;border:4px solid #23303f;border-bottom:0;border-radius:999px 999px 0 0;background:#fff8ea}.reward-illustration.is-moon-rover .art-main:after{left:37%;top:42%;width:9%;height:9%;border-radius:50%;background:#23303f;box-shadow:26px 0 #23303f,13px 15px 0 -2px #fff8ea}.reward-illustration.is-moon-rover .art-accent{left:22%;bottom:20%;width:16%;height:16%;border:3px solid #23303f;border-radius:50%;background:#f0b429}.reward-illustration.is-moon-rover .art-small{right:21%;bottom:20%;width:16%;height:16%;border:3px solid #23303f;border-radius:50%;background:#f0b429}.reward-illustration.is-moon-rover .art-ring{left:13%;top:28%;width:14%;height:21%;border:3px solid #23303f;border-radius:12px 12px 5px 5px;background:#1d8a99}.reward-illustration.is-moon-rover .art-ring:before{left:50%;top:-22%;width:3px;height:22%;background:#23303f}.reward-illustration.is-moon-rover .art-path{left:20%;bottom:16%;width:60%;height:9%;border-radius:50%;background:#23303f3d}.reward-illustration.is-moon-rover .art-detail{left:38%;top:20%;width:12%;height:12%;border-radius:50%;background:#fff8ea;box-shadow:15px -11px 0 -3px #fff,38px 17px 0 -4px #fff8ea}.reward-illustration.is-moon-rover .art-spark{left:16%;bottom:48%;width:8%;height:8%;border-radius:50%;background:#fff8ea}.reward-illustration.is-pearl-submarine{background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.8) 0 4px,transparent 5px),radial-gradient(circle at 72% 18%,rgba(255,255,255,.64) 0 6px,transparent 7px),linear-gradient(180deg,#7dd3fc,#1d8a99 58%,#126a76)}.reward-illustration.is-pearl-submarine:before{left:-10%;right:-10%;bottom:-15%;height:34%;border-radius:50% 50% 0 0;background:#f0b429}.reward-illustration.is-pearl-submarine:after{right:12%;top:36%;width:12%;height:12%;border:3px solid #23303f;border-radius:50%;background:#fff8ea}.reward-illustration.is-pearl-submarine .art-main{left:18%;top:38%;width:58%;height:28%;border:4px solid #23303f;border-radius:999px;background:radial-gradient(circle at 37% 46%,#fff8ea 0 17%,transparent 18%),#f0b429}.reward-illustration.is-pearl-submarine .art-main:before{left:31%;top:39%;width:9%;height:9%;border-radius:50%;background:#23303f;box-shadow:22px 0 #23303f}.reward-illustration.is-pearl-submarine .art-main:after{left:76%;top:33%;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:22px solid #23303f}.reward-illustration.is-pearl-submarine .art-accent{left:8%;top:45%;width:16%;height:18%;border:3px solid #23303f;border-radius:50%;background:#ea5b45}.reward-illustration.is-pearl-submarine .art-small{left:17%;bottom:13%;width:13%;height:26%;border-radius:999px 999px 0 0;background:#38a169;box-shadow:16px 8px #d9f99d,34px 3px #68d391}.reward-illustration.is-pearl-submarine .art-ring{right:15%;bottom:11%;width:10%;height:27%;border-radius:999px 999px 0 0;background:#38a169}.reward-illustration.is-pearl-submarine .art-path{left:30%;bottom:15%;width:40%;height:8%;border-radius:50%;background:#23303f33}.reward-illustration.is-pearl-submarine .art-detail{left:42%;top:17%;width:9%;height:9%;border:3px solid #23303f;border-radius:50%;background:#ffffff80;box-shadow:18px -10px #ffffff6b,37px 12px #ffffff5c}.reward-illustration.is-pearl-submarine .art-spark{right:32%;bottom:32%;width:6%;height:6%;border-radius:50%;background:#fff8ea}.reward-illustration.is-bubble-captain{background:radial-gradient(circle at 22% 22%,rgba(255,255,255,.85) 0 5px,transparent 6px),linear-gradient(180deg,#9be7ff,#2aa7b8 58%,#16808c)}.reward-illustration.is-bubble-captain:before{left:-12%;right:-12%;bottom:-17%;height:32%;border-top:4px solid #23303f;border-radius:50% 50% 0 0;background:#f0b429}.reward-illustration.is-bubble-captain:after{left:16%;top:24%;width:16%;height:16%;border:3px solid #23303f;border-radius:50%;background:#ffffff80;box-shadow:135px -10px 0 -2px #ffffff8c,112px 28px 0 -5px #ffffff75}.reward-illustration.is-bubble-captain .art-main{left:31%;top:31%;width:38%;height:38%;border:4px solid #23303f;border-radius:50%;background:radial-gradient(circle at 33% 26%,rgba(255,255,255,.72) 0 12%,transparent 13%),#d9f99d}.reward-illustration.is-bubble-captain .art-main:before{left:29%;top:42%;width:10%;height:10%;border-radius:50%;background:#23303f;box-shadow:28px 0 #23303f}.reward-illustration.is-bubble-captain .art-main:after{left:38%;top:61%;width:24%;height:8%;border-radius:999px;background:#ea5b45}.reward-illustration.is-bubble-captain .art-accent{left:33%;top:21%;width:34%;height:13%;border:3px solid #23303f;border-radius:999px 999px 8px 8px;background:#1d8a99}.reward-illustration.is-bubble-captain .art-accent:after{left:40%;top:-72%;width:20%;height:86%;border:3px solid #23303f;border-bottom:0;border-radius:999px 999px 0 0;background:#fff8ea}.reward-illustration.is-bubble-captain .art-small{left:13%;bottom:11%;width:12%;height:26%;border-radius:999px 999px 0 0;background:#ea5b45}.reward-illustration.is-bubble-captain .art-ring{right:14%;bottom:12%;width:10%;height:27%;border-radius:999px 999px 0 0;background:#38a169;box-shadow:-15px 7px #d9f99d}.reward-illustration.is-bubble-captain .art-path{left:31%;bottom:16%;width:38%;height:8%;border-radius:50%;background:#23303f38}.reward-illustration.is-bubble-captain .art-detail{right:29%;top:43%;width:9%;height:16%;border:3px solid #23303f;border-radius:999px;background:#fff8ea;transform:rotate(22deg)}.reward-illustration.is-bubble-captain .art-spark{left:45%;top:12%;width:8%;height:8%;border-radius:50%;background:#fff8ea}.reward-illustration.is-number-sprout{background:radial-gradient(circle at 74% 20%,#fff8ea 0 14%,transparent 15%),linear-gradient(180deg,#fef3c7 0,#fef3c7 42%,#86efac 43%,#86efac)}.reward-illustration.is-number-sprout:before{left:-12%;right:-12%;bottom:-18%;height:44%;border-top:4px solid #23303f;border-radius:50% 50% 0 0;background:#38a169}.reward-illustration.is-number-sprout:after{left:12%;top:14%;width:15%;height:15%;border:3px solid #23303f;border-radius:50%;background:#ea5b45;box-shadow:36px 20px #f0b429,68px -2px #1d8a99}.reward-illustration.is-number-sprout .art-main{left:30%;bottom:17%;width:40%;height:32%;border:4px solid #23303f;border-radius:14px 14px 22px 22px;background:#fff8ea}.reward-illustration.is-number-sprout .art-main:before{left:26%;top:42%;width:10%;height:10%;border-radius:50%;background:#23303f;box-shadow:32px 0 #23303f}.reward-illustration.is-number-sprout .art-main:after{left:38%;top:64%;width:24%;height:7%;border-radius:999px;background:#ea5b45}.reward-illustration.is-number-sprout .art-accent{left:42%;top:24%;width:16%;height:25%;border-radius:999px;background:#38a169}.reward-illustration.is-number-sprout .art-accent:before{left:-54%;top:-12%;width:72%;height:48%;border:3px solid #23303f;border-radius:999px 999px 999px 0;background:#d9f99d;transform:rotate(-24deg)}.reward-illustration.is-number-sprout .art-accent:after{right:-54%;top:-8%;width:72%;height:48%;border:3px solid #23303f;border-radius:999px 999px 0;background:#68d391;transform:rotate(22deg)}.reward-illustration.is-number-sprout .art-small{left:16%;bottom:19%;width:13%;height:28%;border:3px solid #23303f;border-radius:999px 999px 8px 8px;background:#1d8a99}.reward-illustration.is-number-sprout .art-ring{right:16%;bottom:20%;width:13%;height:28%;border:3px solid #23303f;border-radius:999px 999px 8px 8px;background:#f0b429}.reward-illustration.is-number-sprout .art-path{left:34%;bottom:9%;width:32%;height:10%;border-radius:50%;background:#23303f38}.reward-illustration.is-number-sprout .art-detail{right:24%;top:38%;width:8%;height:8%;border-radius:50%;background:#ea5b45;box-shadow:0 12px #fff8ea}.reward-illustration.is-number-sprout .art-spark{left:24%;top:47%;width:8%;height:8%;border-radius:50%;background:#fff8ea}.reward-illustration.is-counting-flower{background:radial-gradient(circle at 77% 18%,#fff8ea 0 16%,transparent 17%),linear-gradient(180deg,#ffedd5 0,#ffedd5 38%,#86efac 39%,#86efac)}.reward-illustration.is-counting-flower:before{left:-16%;right:-16%;bottom:-20%;height:45%;border-top:4px solid #23303f;border-radius:50% 50% 0 0;background:#38a169}.reward-illustration.is-counting-flower:after{left:16%;top:19%;width:10%;height:10%;border-radius:50%;background:#1d8a99;box-shadow:28px 18px #f0b429,116px 18px #ea5b45}.reward-illustration.is-counting-flower .art-main{left:31%;top:31%;width:38%;height:38%;border:4px solid #23303f;border-radius:50%;background:#f0b429;box-shadow:0 -30px 0 -8px #ea5b45,30px 0 0 -8px #d9f99d,0 30px 0 -8px #fff8ea,-30px 0 0 -8px #1d8a99}.reward-illustration.is-counting-flower .art-main:before{left:27%;top:40%;width:10%;height:10%;border-radius:50%;background:#23303f;box-shadow:27px 0 #23303f}.reward-illustration.is-counting-flower .art-main:after{left:37%;top:59%;width:26%;height:8%;border-radius:999px;background:#ea5b45}.reward-illustration.is-counting-flower .art-accent{left:47%;bottom:17%;width:7%;height:29%;border:3px solid #23303f;border-radius:999px;background:#38a169}.reward-illustration.is-counting-flower .art-small{left:14%;bottom:21%;width:18%;height:12%;border:3px solid #23303f;border-radius:999px;background:#fff8ea;box-shadow:22px 0 #ea5b45,44px 0 #f0b429}.reward-illustration.is-counting-flower .art-ring{right:14%;bottom:21%;width:18%;height:12%;border:3px solid #23303f;border-radius:999px;background:#1d8a99;box-shadow:-22px 0 #fff8ea,-44px 0 #d9f99d}.reward-illustration.is-counting-flower .art-path{left:33%;bottom:11%;width:34%;height:9%;border-radius:50%;background:#23303f38}.reward-illustration.is-counting-flower .art-detail{left:34%;bottom:33%;width:20%;height:12%;border:3px solid #23303f;border-radius:999px 999px 0;background:#68d391;transform:rotate(-24deg)}.reward-illustration.is-counting-flower .art-spark{right:31%;bottom:35%;width:20%;height:12%;border:3px solid #23303f;border-radius:999px 999px 999px 0;background:#d9f99d;transform:rotate(24deg)}.reward-illustration.is-pancake-chef{background:radial-gradient(circle at 78% 18%,#fff8ea 0 16%,transparent 17%),linear-gradient(180deg,#ffe4b5 0,#ffe4b5 44%,#f6ad55 45%,#f6ad55)}.reward-illustration.is-pancake-chef:before{left:-12%;right:-12%;bottom:-20%;height:38%;border-top:4px solid #23303f;border-radius:50% 50% 0 0;background:#fff8ea}.reward-illustration.is-pancake-chef:after{left:13%;top:16%;width:13%;height:13%;border-radius:50%;background:#ea5b45;box-shadow:32px 10px #f0b429}.reward-illustration.is-pancake-chef .art-main{left:26%;bottom:22%;width:48%;height:30%;border:4px solid #23303f;border-radius:48% 48% 18px 18px;background:linear-gradient(180deg,#f6ad55 0,#f6ad55 32%,#f0b429 33%,#f0b429 62%,#b7791f 63%,#b7791f)}.reward-illustration.is-pancake-chef .art-main:before{left:29%;top:37%;width:9%;height:9%;border-radius:50%;background:#23303f;box-shadow:28px 0 #23303f}.reward-illustration.is-pancake-chef .art-main:after{left:38%;top:59%;width:24%;height:8%;border-radius:999px;background:#ea5b45}.reward-illustration.is-pancake-chef .art-accent{left:32%;top:19%;width:36%;height:22%;border:4px solid #23303f;border-radius:999px 999px 18px 18px;background:#fff8ea}.reward-illustration.is-pancake-chef .art-accent:before{left:-14%;top:23%;width:38%;height:64%;border:4px solid #23303f;border-radius:50%;background:#fff8ea}.reward-illustration.is-pancake-chef .art-accent:after{right:-14%;top:23%;width:38%;height:64%;border:4px solid #23303f;border-radius:50%;background:#fff8ea}.reward-illustration.is-pancake-chef .art-small{left:14%;bottom:18%;width:20%;height:9%;border:3px solid #23303f;border-radius:999px;background:#1d8a99;transform:rotate(-18deg)}.reward-illustration.is-pancake-chef .art-ring{right:16%;bottom:22%;width:11%;height:30%;border:3px solid #23303f;border-radius:999px;background:#ea5b45;transform:rotate(20deg)}.reward-illustration.is-pancake-chef .art-path{left:28%;bottom:13%;width:44%;height:8%;border-radius:50%;background:#23303f38}.reward-illustration.is-pancake-chef .art-detail{left:44%;top:41%;width:12%;height:14%;border-radius:0 0 999px 999px;background:#b7791f}.reward-illustration.is-pancake-chef .art-spark{right:22%;top:33%;width:8%;height:8%;border-radius:50%;background:#fff8ea}.reward-illustration.is-cupcake-cart{background:radial-gradient(circle at 72% 20%,#fff8ea 0 15%,transparent 16%),linear-gradient(180deg,#fde2e4 0,#fde2e4 48%,#c7f9cc 49%,#c7f9cc)}.reward-illustration.is-cupcake-cart:before{left:-10%;right:-10%;bottom:-18%;height:36%;border-top:4px solid #23303f;border-radius:50% 50% 0 0;background:#68d391}.reward-illustration.is-cupcake-cart:after{left:15%;top:18%;width:10%;height:10%;border-radius:50%;background:#f0b429;box-shadow:26px 12px #ea5b45,42px -6px #1d8a99}.reward-illustration.is-cupcake-cart .art-main{left:30%;bottom:25%;width:40%;height:31%;border:4px solid #23303f;border-radius:12px 12px 18px 18px;background:linear-gradient(90deg,transparent 30%,rgba(35,48,63,.16) 31% 34%,transparent 35% 64%,rgba(35,48,63,.16) 65% 68%,transparent 69%),#f0b429}.reward-illustration.is-cupcake-cart .art-main:before{left:28%;top:42%;width:9%;height:9%;border-radius:50%;background:#23303f;box-shadow:30px 0 #23303f}.reward-illustration.is-cupcake-cart .art-main:after{left:38%;top:62%;width:24%;height:7%;border-radius:999px;background:#ea5b45}.reward-illustration.is-cupcake-cart .art-accent{left:28%;top:23%;width:44%;height:28%;border:4px solid #23303f;border-radius:50% 50% 18px 18px;background:radial-gradient(circle at 38% 34%,#ea5b45 0 8%,transparent 9%),radial-gradient(circle at 61% 47%,#1d8a99 0 7%,transparent 8%),#fff8ea}.reward-illustration.is-cupcake-cart .art-small{left:44%;top:14%;width:12%;height:12%;border:3px solid #23303f;border-radius:50%;background:#ea5b45}.reward-illustration.is-cupcake-cart .art-ring{left:24%;bottom:17%;width:15%;height:15%;border:3px solid #23303f;border-radius:50%;background:#fff8ea;box-shadow:92px 0 #fff8ea}.reward-illustration.is-cupcake-cart .art-path{left:27%;bottom:15%;width:46%;height:9%;border-radius:50%;background:#23303f33}.reward-illustration.is-cupcake-cart .art-detail{left:20%;bottom:28%;width:11%;height:20%;border:3px solid #23303f;border-radius:10px;background:#1d8a99}.reward-illustration.is-cupcake-cart .art-spark{right:20%;bottom:30%;width:11%;height:20%;border:3px solid #23303f;border-radius:10px;background:#ea5b45}.reward-illustration.is-drum-star{background:radial-gradient(circle at 74% 18%,#fff8ea 0 14%,transparent 15%),linear-gradient(180deg,#d8b4fe 0,#d8b4fe 48%,#7dd3fc 49%,#7dd3fc)}.reward-illustration.is-drum-star:before{left:-12%;right:-12%;bottom:-20%;height:37%;border-top:4px solid #23303f;border-radius:50% 50% 0 0;background:#fef3c7}.reward-illustration.is-drum-star:after{left:15%;top:18%;width:10%;height:10%;border-radius:50%;background:#f0b429;box-shadow:130px 24px 0 -2px #ea5b45,40px -3px 0 -2px #fff8ea}.reward-illustration.is-drum-star .art-main{left:29%;bottom:22%;width:42%;height:34%;border:4px solid #23303f;border-radius:18px 18px 28px 28px;background:linear-gradient(90deg,transparent 26%,rgba(255,248,234,.44) 27% 31%,transparent 32% 68%,rgba(255,248,234,.44) 69% 73%,transparent 74%),#ea5b45}.reward-illustration.is-drum-star .art-main:before{left:29%;top:38%;width:9%;height:9%;border-radius:50%;background:#23303f;box-shadow:28px 0 #23303f}.reward-illustration.is-drum-star .art-main:after{left:38%;top:58%;width:24%;height:8%;border-radius:999px;background:#fff8ea}.reward-illustration.is-drum-star .art-accent{left:36%;top:17%;width:28%;height:28%;border:3px solid #23303f;background:#f0b429;clip-path:polygon(50% 0,62% 35%,100% 35%,68% 58%,80% 100%,50% 74%,20% 100%,32% 58%,0 35%,38% 35%)}.reward-illustration.is-drum-star .art-small{left:17%;top:32%;width:8%;height:30%;border:3px solid #23303f;border-radius:999px;background:#fff8ea;transform:rotate(-28deg)}.reward-illustration.is-drum-star .art-ring{right:17%;top:32%;width:8%;height:30%;border:3px solid #23303f;border-radius:999px;background:#fff8ea;transform:rotate(28deg)}.reward-illustration.is-drum-star .art-path{left:30%;bottom:13%;width:40%;height:9%;border-radius:50%;background:#23303f38}.reward-illustration.is-drum-star .art-detail{left:18%;bottom:26%;width:13%;height:13%;border:3px solid #23303f;border-radius:50%;background:#1d8a99}.reward-illustration.is-drum-star .art-spark{right:18%;bottom:26%;width:13%;height:13%;border:3px solid #23303f;border-radius:50%;background:#d9f99d}.reward-illustration.is-melody-bus{background:radial-gradient(circle at 74% 18%,#fff8ea 0 14%,transparent 15%),linear-gradient(180deg,#bfdbfe 0,#bfdbfe 46%,#a7f3d0 47%,#a7f3d0)}.reward-illustration.is-melody-bus:before{left:-12%;right:-12%;bottom:-20%;height:38%;border-top:4px solid #23303f;border-radius:50% 50% 0 0;background:#68d391}.reward-illustration.is-melody-bus:after{left:14%;top:18%;width:8%;height:23%;border-left:4px solid #23303f;border-bottom:4px solid #23303f;border-radius:0 0 0 999px}.reward-illustration.is-melody-bus .art-main{left:19%;bottom:26%;width:62%;height:31%;border:4px solid #23303f;border-radius:24px 24px 14px 14px;background:linear-gradient(90deg,#fff8ea 0 25%,transparent 26% 37%,#fff8ea 38% 63%,transparent 64% 75%,#fff8ea 76% 100%),#1d8a99}.reward-illustration.is-melody-bus .art-main:before{left:33%;top:54%;width:8%;height:8%;border-radius:50%;background:#23303f;box-shadow:38px 0 #23303f}.reward-illustration.is-melody-bus .art-main:after{left:41%;top:70%;width:18%;height:7%;border-radius:999px;background:#ea5b45}.reward-illustration.is-melody-bus .art-accent{left:23%;bottom:18%;width:15%;height:15%;border:3px solid #23303f;border-radius:50%;background:#f0b429;box-shadow:100px 0 #f0b429}.reward-illustration.is-melody-bus .art-small{left:34%;top:24%;width:11%;height:18%;border:3px solid #23303f;border-radius:999px 999px 6px 6px;background:#ea5b45}.reward-illustration.is-melody-bus .art-ring{right:34%;top:24%;width:11%;height:18%;border:3px solid #23303f;border-radius:999px 999px 6px 6px;background:#f0b429}.reward-illustration.is-melody-bus .art-path{left:20%;bottom:15%;width:60%;height:9%;border-radius:50%;background:#23303f38}.reward-illustration.is-melody-bus .art-detail{right:17%;top:18%;width:8%;height:24%;border-right:4px solid #23303f;border-bottom:4px solid #23303f;border-radius:0 0 999px}.reward-illustration.is-melody-bus .art-spark{right:22%;top:38%;width:10%;height:10%;border:3px solid #23303f;border-radius:50%;background:#fff8ea}.score-board{display:grid;align-content:start;gap:12px}.score-item{display:grid;gap:6px;min-height:120px;border:3px solid var(--line);border-radius:8px;background:#fff;box-shadow:6px 6px 0 var(--ink);padding:16px}.score-item span{color:var(--muted);font-size:.95rem}.score-item strong{align-self:end;font-size:clamp(2rem,4vw,3.4rem);line-height:.95}.accent-coral{border-top:12px solid var(--coral)}.accent-teal{border-top:12px solid var(--teal)}.accent-yellow{border-top:12px solid var(--yellow)}.accent-green{border-top:12px solid var(--green)}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.practice-stage{min-height:auto}.score-board{grid-template-columns:repeat(4,minmax(0,1fr))}.score-item{min-height:88px}}@media(max-width:620px){.app-shell{grid-template-rows:minmax(0,1fr) auto;gap:10px;height:var(--app-height);min-height:var(--app-height);overflow:hidden;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.practice-stage{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:0}.playing-layout{grid-template-columns:1fr;grid-template-rows:112px minmax(0,1fr);gap:8px;min-height:0}.playing-layout .problem-panel{min-height:0}.reward-panel{grid-template-columns:104px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:8px;min-height:0;border-width:3px;box-shadow:5px 5px 0 var(--ink);padding:8px}.reward-panel:before{top:6px;right:6px;bottom:6px;left:6px}.reward-frame{grid-row:1 / 3;width:96px;border-width:2px;box-shadow:3px 3px #23303fe0}.reward-meta{align-items:center}.reward-meta h2{font-size:1rem}.reward-meta .prompt{font-size:.68rem}.reward-meta strong{border-width:2px;box-shadow:2px 2px 0 var(--ink);padding:4px 6px;font-size:1rem}.reward-meta strong span,.reward-progress{font-size:.68rem}.reward-progress{align-self:end}.top-bar{align-items:flex-start;flex-wrap:wrap}.ghost-button{min-width:82px;min-height:48px}.top-actions{gap:8px;justify-content:flex-end;margin-left:auto}.sound-toggle{min-width:76px;min-height:48px;font-size:.88rem}.problem-panel{min-height:0;box-shadow:6px 6px 0 var(--ink)}.start-panel,.summary-panel,.history-panel{padding:18px}.start-content h2{font-size:clamp(2.2rem,13vw,4rem)}.operation-picker,.difficulty-picker{gap:7px}.operation-picker button,.difficulty-picker button{min-height:64px;border-width:2px;box-shadow:4px 4px 0 var(--ink);padding:8px}.operation-picker span,.difficulty-picker span{font-size:.78rem}.operation-picker strong{font-size:clamp(1.18rem,5.2vw,1.6rem)}.difficulty-picker strong{font-size:clamp(.82rem,3.3vw,1rem)}.start-button{min-height:66px;font-size:1.7rem}.summary-content,.history-content{gap:10px}.summary-metrics,.history-metrics{gap:8px}.summary-metrics div,.history-metrics div,.missed-problem-list div,.recent-wrong-list div{padding:9px}.week-navigator{grid-template-columns:repeat(2,minmax(0,1fr))}.week-navigator div{grid-column:1 / -1;grid-row:1}.week-navigator button{grid-row:2;min-height:46px}.history-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.missed-problem-list{grid-template-columns:1fr}.summary-section li{padding:7px 9px;font-size:.9rem}.problem-panel:before{top:14px;right:14px;bottom:14px;left:14px}.question-mark{top:14px;right:18px}.question{gap:14px;font-size:clamp(4.4rem,21vw,6rem)}.difficulty-medium .question{gap:9px;font-size:clamp(3.2rem,15vw,4.7rem)}.difficulty-hard .question{gap:6px;font-size:clamp(2.25rem,11vw,3.6rem)}.operation-missingFactor .question{gap:5px;font-size:2.35rem}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.answer-button{min-height:clamp(76px,calc(var(--app-vh) * 10.8),92px);border-width:3px;box-shadow:5px 5px 0 var(--ink);font-size:clamp(2.4rem,13vw,3.7rem)}.answer-button.digits-3{font-size:clamp(2rem,10vw,3.2rem)}.answer-button.digits-4{font-size:clamp(1.55rem,8.2vw,2.65rem)}.answer-button.digits-5{font-size:clamp(1.28rem,6.8vw,2.2rem)}.score-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.score-item{min-height:clamp(64px,calc(var(--app-vh) * 9),78px);border-width:2px;border-top-width:9px;padding:10px}.score-item strong{font-size:clamp(1.25rem,6.5vw,1.9rem)}}@media(max-width:620px)and (max-height:760px){.app-shell{gap:8px;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.practice-stage{gap:8px}.eyebrow{font-size:.78rem}h1{margin-top:2px;font-size:1.35rem}.ghost-button{min-width:72px;min-height:42px;box-shadow:4px 4px 0 var(--ink);font-size:.9rem}.ghost-button:disabled:active{box-shadow:4px 4px 0 var(--ink)}.top-actions{gap:6px}.sound-toggle{min-width:66px;min-height:42px;box-shadow:4px 4px 0 var(--ink);font-size:.78rem}.problem-panel{border-width:3px}.start-panel,.summary-panel,.history-panel{padding:14px}.start-content{gap:10px}.playing-layout{grid-template-rows:96px minmax(0,1fr);gap:6px}.reward-panel{grid-template-columns:88px minmax(0,1fr);padding:7px}.reward-frame{width:80px}.reward-meta h2{font-size:.88rem}.reward-meta strong{font-size:.86rem}.start-content h2{font-size:clamp(2rem,11vw,3.3rem)}.operation-picker,.difficulty-picker{gap:6px}.operation-picker button,.difficulty-picker button{min-height:54px;padding:6px}.operation-picker span,.difficulty-picker span{font-size:.68rem}.operation-picker strong{font-size:clamp(1rem,4.8vw,1.35rem)}.difficulty-picker strong{font-size:clamp(.68rem,3vw,.86rem)}.start-button{min-width:128px;min-height:56px;border-width:3px;box-shadow:5px 5px 0 var(--ink);font-size:1.45rem}.start-button.compact{min-height:44px;font-size:1rem}.summary-head h2{font-size:1.8rem}.summary-metrics,.history-metrics{gap:6px}.summary-metrics div,.history-metrics div,.missed-problem-list div,.recent-wrong-list div{border-width:2px;padding:7px}.summary-metrics span,.summary-section h3,.history-metrics span,.missed-problem-list span,.recent-wrong-list span{font-size:.75rem}.summary-metrics strong,.history-metrics strong{font-size:1.3rem}.missed-problem-list strong,.recent-wrong-list strong{font-size:1.02rem}.missed-problem-list em,.recent-wrong-list em{font-size:.78rem}.summary-section li{border-left-width:5px;padding:6px 8px;font-size:.82rem}.problem-panel:before{top:11px;right:11px;bottom:11px;left:11px}.prompt{font-size:.92rem}.question{gap:10px;margin-top:4px;font-size:clamp(3.8rem,18vw,5rem)}.difficulty-medium .question{gap:7px;font-size:clamp(2.8rem,13vw,4rem)}.difficulty-hard .question{gap:5px;font-size:clamp(2rem,9.6vw,3.1rem)}.operation-missingFactor .question{gap:4px;font-size:2.05rem}.feedback{min-height:28px;margin-top:4px;font-size:1.18rem}.answer-button{min-height:clamp(62px,calc(var(--app-vh) * 9.2),76px);box-shadow:4px 4px 0 var(--ink);font-size:clamp(2rem,11vw,3rem)}.answer-button.digits-3{font-size:clamp(1.7rem,8.8vw,2.65rem)}.answer-button.digits-4{font-size:clamp(1.34rem,7.2vw,2.25rem)}.answer-button.digits-5{font-size:clamp(1.1rem,5.8vw,1.86rem)}.score-board{gap:6px}.score-item{min-height:clamp(54px,calc(var(--app-vh) * 8.2),64px);padding:7px}.score-item span{font-size:.7rem}.score-item strong{font-size:clamp(1.05rem,5.5vw,1.5rem)}}@media(orientation:landscape)and (max-height:820px){.app-shell{grid-template-columns:minmax(0,1fr) minmax(140px,160px);grid-template-rows:1fr;gap:14px;height:var(--app-height);min-height:0;overflow:hidden;padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.practice-stage{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:0}.top-bar{align-items:flex-start;gap:10px}.eyebrow{font-size:.82rem}h1{margin-top:2px;font-size:clamp(1.35rem,calc(var(--app-vh) * 3.6),1.85rem)}.top-actions{gap:8px}.ghost-button,.sound-toggle{min-width:76px;min-height:42px;box-shadow:4px 4px 0 var(--ink);font-size:.84rem}.problem-panel{min-height:0;border-width:3px;box-shadow:6px 6px 0 var(--ink)}.problem-panel:before{top:12px;right:12px;bottom:12px;left:12px}.start-panel,.summary-panel,.history-panel{padding:clamp(14px,calc(var(--app-vh) * 2.1),22px)}.start-content{gap:clamp(8px,calc(var(--app-vh) * 1.5),14px)}.start-content h2{font-size:clamp(2rem,calc(var(--app-vh) * 7),4.2rem)}.difficulty-current{margin-top:-5px;padding:5px 12px;font-size:clamp(.86rem,calc(var(--app-vh) * 1.7),1.05rem)}.operation-picker,.difficulty-picker{gap:8px}.operation-picker button,.difficulty-picker button{min-height:clamp(54px,calc(var(--app-vh) * 8),68px);border-width:2px;box-shadow:4px 4px 0 var(--ink);padding:8px}.operation-picker span,.difficulty-picker span{font-size:.74rem}.operation-picker strong{font-size:clamp(1.12rem,calc(var(--app-vh) * 2.7),1.55rem)}.difficulty-picker strong{font-size:clamp(.8rem,calc(var(--app-vh) * 1.8),1.05rem)}.start-button{min-width:126px;min-height:clamp(50px,calc(var(--app-vh) * 7.2),62px);border-width:3px;box-shadow:5px 5px 0 var(--ink);font-size:clamp(1.3rem,calc(var(--app-vh) * 3.1),1.75rem)}.summary-content,.history-content{gap:10px}.summary-head h2{font-size:clamp(1.8rem,calc(var(--app-vh) * 5.2),3rem)}.summary-metrics,.history-metrics{gap:8px}.summary-metrics div,.history-metrics div,.missed-problem-list div,.recent-wrong-list div{border-width:2px;padding:8px}.summary-metrics span,.summary-section h3,.history-metrics span,.missed-problem-list span,.recent-wrong-list span{font-size:.76rem}.summary-metrics strong,.history-metrics strong{font-size:clamp(1.25rem,calc(var(--app-vh) * 3.4),1.9rem)}.summary-section li{border-left-width:5px;padding:7px 9px;font-size:.84rem}.playing-layout{grid-template-columns:minmax(160px,.75fr) minmax(0,1.25fr);gap:10px;min-height:0}.playing-layout .problem-panel{min-height:0}.reward-panel{min-height:0;border-width:3px;box-shadow:5px 5px 0 var(--ink);padding:10px}.reward-frame{width:min(100%,200px);border-width:2px;box-shadow:3px 3px #23303fe0}.reward-meta h2{font-size:clamp(1rem,calc(var(--app-vh) * 3.8),1.5rem)}.reward-meta strong{border-width:2px;box-shadow:2px 2px 0 var(--ink);padding:4px 8px;font-size:clamp(.92rem,calc(var(--app-vh) * 2.3),1.2rem)}.reward-progress{font-size:.72rem}.prompt{font-size:clamp(.82rem,calc(var(--app-vh) * 1.8),1rem)}.question{gap:12px;margin-top:6px;font-size:clamp(3rem,calc(var(--app-vh) * 11),5.7rem)}.difficulty-medium .question{gap:9px;font-size:clamp(2.5rem,calc(var(--app-vh) * 9),4.6rem)}.difficulty-hard .question{gap:6px;font-size:clamp(1.9rem,calc(var(--app-vh) * 7.2),3.4rem)}.operation-missingFactor .question{gap:5px;font-size:clamp(1.7rem,calc(var(--app-vh) * 5.3),2.55rem)}.feedback{min-height:26px;margin-top:4px;font-size:1.08rem}.answer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.answer-button{min-height:clamp(58px,calc(var(--app-vh) * 9),74px);border-width:3px;box-shadow:4px 4px 0 var(--ink);font-size:clamp(2rem,calc(var(--app-vh) * 5.1),3rem)}.answer-button.digits-3{font-size:clamp(1.7rem,calc(var(--app-vh) * 4.4),2.5rem)}.answer-button.digits-4{font-size:clamp(1.4rem,calc(var(--app-vh) * 3.6),2rem)}.answer-button.digits-5{font-size:clamp(1.12rem,calc(var(--app-vh) * 3),1.66rem)}.score-board{grid-template-columns:1fr;align-content:stretch;gap:10px}.score-item{min-height:0;border-width:2px;border-top-width:9px;box-shadow:4px 4px 0 var(--ink);padding:10px}.score-item span{font-size:.72rem}.score-item strong{font-size:clamp(1.25rem,calc(var(--app-vh) * 4.2),2rem)}}@media(orientation:landscape)and (max-height:620px){.app-shell{grid-template-columns:minmax(0,1fr) minmax(104px,136px);grid-template-rows:1fr;gap:10px;height:var(--app-height);min-height:var(--app-height);overflow:hidden;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.practice-stage{grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-height:0}.playing-layout{grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr);gap:8px;min-height:0}.playing-layout .problem-panel{min-height:0}.reward-panel{min-height:0;border-width:3px;box-shadow:5px 5px 0 var(--ink);padding:8px}.reward-frame{width:min(100%,180px);border-width:2px;box-shadow:3px 3px #23303fe0}.reward-meta h2{font-size:clamp(.9rem,calc(var(--app-vh) * 4.6),1.2rem)}.reward-meta strong{border-width:2px;box-shadow:2px 2px 0 var(--ink);padding:4px 6px;font-size:.92rem}.reward-progress{font-size:.66rem}.top-bar{align-items:flex-start;gap:8px}.eyebrow{font-size:.76rem}h1{margin-top:2px;font-size:1.25rem}.top-actions{gap:6px}.ghost-button,.sound-toggle{min-width:66px;min-height:38px;box-shadow:4px 4px 0 var(--ink);font-size:.76rem}.problem-panel{min-height:0;border-width:3px;box-shadow:5px 5px 0 var(--ink)}.problem-panel:before{top:10px;right:10px;bottom:10px;left:10px}.start-panel,.summary-panel,.history-panel{padding:12px}.start-content{gap:8px}.start-content h2{font-size:clamp(1.8rem,calc(var(--app-vh) * 12),2.9rem)}.difficulty-current{margin-top:-4px;padding:5px 10px;font-size:.84rem}.difficulty-picker{gap:6px}.difficulty-picker button{min-height:48px;border-width:2px;box-shadow:3px 3px 0 var(--ink);padding:6px}.difficulty-picker span{font-size:.66rem}.difficulty-picker strong{font-size:.82rem}.start-button{min-width:112px;min-height:44px;border-width:3px;box-shadow:4px 4px 0 var(--ink);font-size:1.2rem}.summary-content,.history-content{gap:8px}.summary-head h2{font-size:1.7rem}.summary-metrics,.history-metrics{gap:6px}.summary-metrics div,.history-metrics div,.missed-problem-list div,.recent-wrong-list div{border-width:2px;padding:7px}.summary-metrics span,.summary-section h3,.history-metrics span,.missed-problem-list span,.recent-wrong-list span{font-size:.72rem}.summary-metrics strong,.history-metrics strong{font-size:1.24rem}.summary-section li{border-left-width:5px;padding:6px 8px;font-size:.8rem}.week-navigator{gap:6px}.week-navigator button{min-width:70px;min-height:40px;border-width:2px;box-shadow:3px 3px 0 var(--ink);font-size:.78rem}.week-navigator div{border-width:2px;box-shadow:3px 3px 0 var(--ink);padding:6px 8px}.prompt{font-size:.84rem}.question{gap:10px;margin-top:4px;font-size:clamp(2.8rem,calc(var(--app-vh) * 18),4.5rem)}.difficulty-medium .question{gap:7px;font-size:clamp(2.3rem,calc(var(--app-vh) * 15),3.6rem)}.difficulty-hard .question{gap:5px;font-size:clamp(1.8rem,calc(var(--app-vh) * 12),2.8rem)}.operation-missingFactor .question{gap:4px;font-size:1.85rem}.feedback{min-height:24px;margin-top:4px;font-size:1.05rem}.answer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.answer-button{min-height:clamp(54px,calc(var(--app-vh) * 18),68px);border-width:3px;box-shadow:4px 4px 0 var(--ink);font-size:2rem}.answer-button.digits-3{font-size:1.75rem}.answer-button.digits-4{font-size:1.45rem}.answer-button.digits-5{font-size:1.16rem}.score-board{grid-template-columns:1fr;align-content:stretch;gap:8px}.score-item{min-height:0;border-width:2px;border-top-width:8px;box-shadow:4px 4px 0 var(--ink);padding:7px}.score-item span{font-size:.68rem}.score-item strong{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
