@font-face{font-family:'Yotsuba Rounded';src:url('fonts/zen-maru-title.ttf') format('truetype');font-weight:700;font-display:swap;}
@font-face{font-family:'Yotsuba Abacus';src:url('fonts/abacus.ttf') format('truetype');font-weight:400;font-style:normal;font-display:block;}
:root{font-family:'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;color:#183c61;background:#f2f8ff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:24px max(24px,calc((100% - 1000px)/2));background:white;border-bottom:1px solid #dfebf7;gap:20px}header a{color:#1872bd;text-decoration:none;font-size:22px;font-weight:900}header small{white-space:nowrap;color:#62819c}main{max-width:1000px;margin:32px auto;padding:0 24px}h1{font-size:32px;margin:12px 0}h2{font-size:22px}p{line-height:1.8}button,select,input{font:inherit}button{border:1px solid #cfdfef;background:#fff;color:#21567e;border-radius:16px;padding:15px 23px;font-weight:800;font-size:18px;cursor:pointer;min-height:54px;touch-action:manipulation}button:hover{background:#edf6ff}button:focus-visible,input:focus-visible{outline:3px solid #edae35;outline-offset:3px}button:disabled{cursor:default;opacity:.45}.primary{background:#1878cb;color:white;border:0;box-shadow:0 5px 0 #115e9f}.primary:hover{background:#106bb9}.panel{background:white;border:1px solid #deebf7;border-radius:28px;padding:30px;box-shadow:0 12px 35px #326da90b}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px}.sheep{width:160px;height:160px;object-fit:contain}.eyebrow{color:#31836c;font-weight:bold;font-size:14px}.muted{color:#6d859b}.actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px}.center{text-align:center}.number{font-family:'Yotsuba Abacus',Arial,sans-serif;font-size:clamp(64px,12vw,130px);font-weight:400;font-variant-numeric:tabular-nums;line-height:160px;height:160px;display:block;white-space:nowrap;text-align:center;color:#38b6ff;background:#000;border-radius:16px;margin:18px auto;overflow:hidden;}.keypad{max-width:330px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px auto}.keypad button{font-size:24px;padding:12px}.answer{display:block;width:100%;max-width:330px;margin:auto;text-align:center;font-size:38px;padding:12px;border:2px solid #b8d8ef;border-radius:15px;color:#194f79;background:#f6fbff}.message{min-height:26px;color:#b65024}.soroban{height:270px;max-width:100%;touch-action:none}.status{display:flex;justify-content:space-between;align-items:center;gap:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:22px}.stage{min-height:100px;text-align:left}.stage strong{display:block;font-size:24px}.pill{border-radius:30px;background:#e9f5ff;padding:8px 15px;font-size:14px}.progress{display:flex;gap:8px;justify-content:center;margin:16px}.dot{width:18px;height:18px;background:#e4eef7;border-radius:50%}.dot.ok{background:#61b898}.dot.no{background:#ecc295}footer{text-align:center;color:#7b92a8;font-size:13px;padding:24px}.note{font-size:13px;color:#7b8796}label{display:flex;gap:12px;align-items:center;justify-content:center}input[type=checkbox]{width:24px;height:24px}@media(max-width:520px){header{padding:18px}header a{font-size:17px}header small{display:none}main{padding:0 14px;margin:20px auto}.panel{padding:22px 16px}h1{font-size:26px}.sheep{width:100px;height:110px}.hero{gap:10px}.number{height:135px;line-height:1}.soroban{height:240px}}
.field{display:flex;flex-direction:column;gap:7px;margin:17px auto;align-items:stretch;max-width:400px;text-align:left;font-size:15px}.field input,.field select{padding:13px;border:1px solid #bbd4e8;border-radius:10px;min-width:0;background:white;color:#234c6d}.narrow{max-width:560px;margin:auto}.block{display:block;margin-top:10px;color:#6a899f}table{border-collapse:collapse;width:100%;margin:24px 0}th,td{padding:14px 8px;text-align:left;border-bottom:1px solid #dce8f2}th{background:#edf6ff}

.mode-group h2 small{display:block;color:#71879b;font-size:14px;margin-top:5px}.sound-control{margin:18px auto}.mode-group{margin-top:30px}

.flash-digit{display:inline-block;width:1em;height:1.167em;vertical-align:middle;color:transparent;background-size:100% 100%;background-repeat:no-repeat;line-height:1;user-select:none}
.digit-0{background-image:url('digits/0.png')}
.digit-1{background-image:url('digits/1.png')}
.digit-2{background-image:url('digits/2.png')}
.digit-3{background-image:url('digits/3.png')}
.digit-4{background-image:url('digits/4.png')}
.digit-5{background-image:url('digits/5.png')}
.digit-6{background-image:url('digits/6.png')}
.digit-7{background-image:url('digits/7.png')}
.digit-8{background-image:url('digits/8.png')}
.digit-9{background-image:url('digits/9.png')}
.digit-plus{background-image:url('digits/plus.png')}
.digit-minus{background-image:url('digits/minus.png')}

.digit-comma{background-image:url('digits/comma.png');width:.45em;background-size:1em 1.167em;background-position:left center}.digit-space{background:none}
.number{position:relative;line-height:1;display:flex;align-items:center;justify-content:center}
.number-value{display:inline-flex;position:relative;justify-content:flex-end;align-items:center;min-width:var(--digit-columns,1em);height:1.167em}
.number-sign{position:absolute;right:100%;top:0;width:1em;height:1.167em}
.number .flash-digit{flex-shrink:0}
main.immersive,main.immersive:fullscreen{position:fixed;inset:0;z-index:2147483647;margin:0;padding:0;max-width:none;width:100%;height:100%;background:#000;color:#38b6ff;overflow:auto}
.immersive .flash-stage,.immersive .beginner-stage{position:absolute;inset:0;padding:0;margin:0;min-height:100%;border:0;border-radius:0;box-shadow:none;background:#000;overflow:hidden}
.immersive .flash-stage>h1,.immersive .flash-stage>.status,.immersive .flash-stage>#beads{display:none}
.immersive .flash-stage .number{position:absolute;inset:0;margin:0;height:100%;width:100%;border-radius:0;font-size:min(40.5vh,calc(96vw / var(--number-cells,4.45)));line-height:1}
.focus-controls{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:0;right:0;display:flex;justify-content:center;gap:16px;z-index:2}
.focus-controls button{background:#0a0e14;color:#a4b9c9;border:1px solid #344658;padding:10px 18px;min-height:44px;font-size:15px}
.immersive .beginner-stage .number{position:absolute;inset:0 0 50%;width:100%;height:50%;margin:0;border-radius:0;font-size:min(35vh,calc(96vw / var(--beginner-cells,4)));line-height:1}
.immersive .beginner-stage #beads{position:absolute;inset:50% 0 0;display:flex;align-items:center;justify-content:center;background:#f2f8ff;border-top:4px solid #d7e8f4;padding:38px 16px 66px}
.immersive .beginner-stage .soroban{height:100%;max-height:100%;width:auto;max-width:100%}
.immersive .beginner-stage .status{position:absolute;top:calc(50% + 8px);left:16px;right:16px;z-index:1;color:#315e7b;font-size:14px}
.beginner-stage .focus-controls button{background:#fff;color:#315e7b;border-color:#cfdfef}
main.immersive.focus-panel{display:flex;align-items:safe center;justify-content:center;padding:20px;background:#f2f8ff;color:#183c61}
.immersive.focus-panel>.panel{width:min(100%,580px);flex-shrink:0;background:#fff;border:1px solid #deebf7;border-radius:28px;padding:24px;box-shadow:0 12px 35px #326da918;margin:auto}
@media (max-width:1024px) and (pointer:coarse){.immersive .flash-stage .number{font-size:min(72vh,calc(98vw / var(--number-cells,4.45)))}}
@media(max-height:700px){.focus-panel .sheep{height:100px;width:100px}.focus-panel h1{font-size:25px}.focus-panel .keypad{gap:6px;margin:10px auto}.focus-panel .keypad button{min-height:44px;padding:6px}.focus-panel .message:empty{min-height:0;margin:8px}.focus-panel .actions{margin-top:12px}.immersive.focus-panel>.panel{padding:16px}}

/* Keep four-digit height, gather the entire value around its center. */
.number-value.compact-four{transform:scaleX(.78);transform-origin:center}
.immersive .number.showing-title{font-family:'Yotsuba Rounded','Hiragino Maru Gothic ProN','Hiragino Maru Gothic Pro','UD Digi Kyokasho NP-B','UD デジタル 教科書体 NP-B','Yu Gothic',sans-serif;font-weight:700;font-size:clamp(24px,5vw,64px);line-height:1.5;white-space:normal;overflow-wrap:anywhere;padding:24px;letter-spacing:.04em;color:#c4eaff}

.feedback-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;text-align:left}.feedback-categories label{justify-content:flex-start;background:#f2f8ff;border:1px solid #d9e9f7;border-radius:12px;padding:10px;font-size:15px}.feedback-categories input{flex-shrink:0}.field textarea{font:inherit;padding:12px;border:1px solid #bbd4e8;border-radius:10px;resize:vertical;width:100%}.immersive.focus-panel>.feedback-panel{width:min(100%,760px)}.diagnostic{margin-top:24px;font-size:14px}.diagnostic button{font-size:14px}@media(max-width:540px){.feedback-categories{grid-template-columns:1fr}}

.beta-stats{font-size:14px;color:#527894;margin:8px 0}.beta-best{display:block;font-size:15px;color:#246b96;margin-top:8px}.beta-purpose{font-size:14px;line-height:1.7;color:#567c92;margin:12px auto;max-width:440px}.beta-master{color:#267e65;font-weight:bold}.beta-local-note{font-size:12px;color:#6b8598}.grade-grid{justify-content:center}@media(min-width:800px){.grade-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:520px){.grade-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grade-grid .stage{padding:14px 10px}.beta-stats{font-size:13px}}
/* Viewport-sized setting/answer panels; overflowing enlarged text can still scroll. */
main.compact-screen,main.immersive.focus-panel.compact-screen{position:fixed;inset:var(--visible-top,0) 0 auto;z-index:2147483646;width:100%;max-width:none;height:var(--visible-height,100dvh);margin:0;display:flex;align-items:safe center;justify-content:center;overflow:auto;background:#f2f8ff;color:#183c61;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));}
.compact-screen>.panel{width:min(100%,580px);flex-shrink:0;margin:auto;padding:16px 20px;border-radius:22px}.compact-screen h1{font-size:clamp(22px,4vw,30px);margin:4px 0}.compact-screen p{margin:6px 0;line-height:1.45}.compact-screen .beta-purpose{margin:6px auto}.compact-screen .sound-control{margin:8px auto}.compact-screen #sound-test{font-size:14px;padding:5px 12px;min-height:36px}.compact-screen .field{margin:8px auto}.compact-screen .field input{padding:9px}.compact-screen .actions{margin-top:10px;gap:8px}.compact-screen button{min-height:44px;padding:10px 14px;font-size:16px}.compact-screen #sample .soroban{height:100px}.compact-screen .message:empty{margin:0;min-height:0}.compact-screen .keypad{margin:10px auto;gap:7px;width:min(100%,330px)}.compact-screen .keypad button{font-size:24px;min-height:48px;padding:5px}.compact-screen .answer{font-size:32px;padding:7px;min-height:56px}.compact-screen .beta-local-note{display:none}.compact-screen #feedback-open{font-size:12px;min-height:32px;padding:4px 10px}.compact-screen .answer-panel #submit{width:min(100%,330px)}
.immersive .number.showing-countdown{font-family:'Arial','Hiragino Maru Gothic ProN',sans-serif;font-weight:400;color:#fff;font-size:clamp(64px,18vmin,150px);letter-spacing:0;line-height:1.2}.grade-clear{color:#946b18}.result-mark{display:block;width:clamp(110px,23vmin,190px);height:auto;color:#e27772;margin:0 auto 8px}.result-mark.wrong{color:#8d9db7}.result-mark.perfect{color:#e79a3b}.result-panel .sheep{width:74px;height:74px}.result-panel h1{font-size:24px}.result-panel .result-details[hidden]{display:none}.result-panel .result-details{animation:result-appear .18s ease-out}.ten-score{font-size:clamp(76px,17vmin,136px);font-weight:900;line-height:1.2;color:#237fb7;white-space:nowrap}.ten-score span{font-size:.65em}.result-award{font-size:22px;font-weight:900;color:#27866b}.new-best{color:#a06b1b;font-weight:900;margin:4px}.ten-result .result-mark{width:100px}.ten-result .sheep{height:60px;width:60px}.perfect-result{background:radial-gradient(circle at 15% 20%,#ffe5a4 0 3px,transparent 4px),radial-gradient(circle at 85% 30%,#b9e9de 0 4px,transparent 5px),#fff!important}.perfect-result .result-mark{animation:result-pop .4s ease-out}.result-panel .actions{margin-top:10px}@keyframes result-appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes result-pop{from{transform:scale(.8)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.result-details,.perfect-result .result-mark{animation:none!important}}@media(max-height:560px){.compact-screen #sample{display:none}.compact-screen>.panel{padding:10px 14px}.compact-screen .beta-stats{font-size:12px}.compact-screen .note{font-size:12px}.compact-screen .answer-panel .keypad{gap:4px;margin:6px auto}.compact-screen .keypad button{min-height:44px}.compact-screen .result-mark{width:90px}}

.compact-screen .sound-settings{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0}.compact-screen .sound-settings .sound-control{margin:0;font-size:14px}.compact-screen .sound-settings #sound-test{flex-shrink:0}
.whole-number{height:1.167em;display:inline-block;contain:layout style;transition:none!important;animation:none!important}.whole-number canvas{position:absolute;left:-1em;top:0;display:block;max-width:none;transition:none!important;animation:none!important}.time-adjust{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:390px;margin:8px auto}.compact-screen .time-adjust button{font-size:14px;min-height:40px;padding:6px}.time-field input{text-align:center;font-size:26px;font-weight:800;cursor:pointer}.count-controls{display:flex;gap:8px;justify-content:center;margin:8px auto}.setting-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:330px;margin:10px auto}.compact-screen .setting-keypad button{font-size:22px;min-height:44px;padding:5px}.setting-keypad button[data-setting-key="CLEAR"]{font-size:15px}.prefix-help{font-size:13px;color:#527894;margin:10px auto;max-width:410px;text-align:left}.prefix-help summary{cursor:pointer;font-weight:bold;text-align:center;padding:5px}.prefix-help p{line-height:1.6}.boss-card{border:2px solid #bb965a;background:#fffdf4}.boss-card small,.practice-card small{display:block;font-size:13px;margin-top:7px}.boss-card small:last-child{color:#957127}.practice-card{background:#f2fbff}.number-editor .message:empty{display:none}
/* 1.3.2: independent setup/answer layouts; numeric playback rules untouched. */
.advanced-settings .formal-start{width:100%;min-height:60px;font-size:24px;margin:8px 0 14px}.custom-practice{border-top:1px solid #d7e6ef;padding-top:8px}.advanced-settings footer{margin-top:8px}.answer-panel #submit,.result-panel #adv-again{min-height:52px}.immersive .number.showing-title{font-size:clamp(28px,min(8vw,13vh),110px);line-height:1.25;white-space:pre-line;overflow-wrap:anywhere;width:94%;max-width:none;margin:auto;text-align:center;letter-spacing:0}.immersive .number.showing-countdown{font-size:min(54vmin,420px);line-height:1.05}.beginner-stage .number.showing-title{font-size:clamp(24px,min(8vw,10vh),90px)}.beginner-stage .number.showing-countdown{font-size:min(34vmin,250px)}
@media (orientation:landscape) and (max-height:600px){
 .compact-screen>.advanced-settings,.compact-screen>.answer-panel,.compact-screen>.number-editor,.compact-screen>.beginner-settings{width:min(100%,1000px);padding:10px 16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);column-gap:24px;row-gap:4px;align-items:center}
 .compact-screen>.advanced-settings header{grid-column:1;grid-row:1}.compact-screen>.advanced-settings .setting-main{grid-column:2;grid-row:1/3}.compact-screen>.advanced-settings footer{grid-column:1;grid-row:2;margin:0}.advanced-settings .formal-start{min-height:48px;font-size:21px;margin:0 0 8px}.custom-practice{padding-top:4px}.count-controls{margin:5px auto}.compact-screen h1{font-size:24px}.compact-screen .beta-purpose{font-size:13px}.prefix-help{margin:4px auto;font-size:12px}.prefix-help summary{padding:2px}.compact-screen .time-adjust{margin:6px auto}.compact-screen .time-adjust button{min-height:38px}
 .compact-screen>.answer-panel h1{grid-column:1;grid-row:1}.compact-screen>.answer-panel .answer{grid-column:1;grid-row:2;width:100%;min-width:0}.compact-screen>.answer-panel .message{grid-column:1;grid-row:3;font-size:13px}.compact-screen>.answer-panel .keypad{grid-column:2;grid-row:1/5;width:100%;margin:0;gap:5px}.compact-screen>.answer-panel #submit{grid-column:1;grid-row:4;width:100%;margin:0}.compact-screen>.answer-panel .actions{grid-column:1;grid-row:5;margin:0}.compact-screen>.answer-panel .keypad button{min-height:44px;height:clamp(44px,13vh,62px);padding:3px}
 .compact-screen>.number-editor h1{grid-column:1;grid-row:1}.compact-screen>.number-editor .answer{grid-column:1;grid-row:2;min-width:0;width:100%}.compact-screen>.number-editor .note{grid-column:1;grid-row:3}.compact-screen>.number-editor .setting-keypad{grid-column:2;grid-row:1/6;width:100%;margin:0;gap:4px}.compact-screen>.number-editor .message{grid-column:1;grid-row:4}.compact-screen>.number-editor .actions{grid-column:1;grid-row:5;margin:0}.compact-screen .setting-keypad button{height:40px;min-height:40px}
 .compact-screen>.beginner-settings>*{grid-column:1}.compact-screen>.beginner-settings .actions{grid-column:2;grid-row:1/5;flex-direction:column}.compact-screen>.beginner-settings #home{grid-column:2;grid-row:5}.compact-screen>.beginner-settings #sample{display:none}.compact-screen #feedback-open{grid-column:1/-1;margin:2px auto}
}
.advanced-settings>header{display:block;padding:0;background:transparent;border:0}.advanced-settings>footer{padding:0}.compact-screen>.advanced-settings>.actions{grid-column:1/-1;margin-top:4px}

/* Phase 0.5: beginner controls only; flash number/timing styles untouched. */
.beginner-single-options{border:1px solid #d9e9f7;border-radius:18px;padding:12px}
.beginner-single-options h2{font-size:1.1rem;margin:0 0 8px}
.beginner-single-options p,.beginner-ten-options p{font-size:14px;margin:8px 0;line-height:1.5}
.beginner-ten-options{margin:16px 0;padding-top:14px;border-top:1px solid #d9e9f7}
.beginner-quit-dialog{box-sizing:border-box;position:fixed;inset:auto 12px 12px;margin:0 auto;width:min(420px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:2px solid #bdd9e8;border-radius:20px;padding:20px;background:#f7fbff;color:#173e57;text-align:center;box-shadow:0 8px 32px #15304730}
.beginner-quit-dialog::backdrop{background:transparent}
.beginner-quit-dialog h2{font-size:clamp(20px,5vw,26px);margin:0 0 8px}
.beginner-quit-dialog p{font-size:14px;margin:0 0 14px}
.quit-actions{display:grid;gap:18px}
.quit-actions button{min-height:48px;width:100%;white-space:normal}
.quit-actions #quit-confirm{background:#fff;border:1px solid #a4bfce;color:#456377}
@media(max-height:480px){.beginner-quit-dialog{padding:12px;max-width:440px}.quit-actions{grid-template-columns:1fr 1fr;gap:20px}.beginner-quit-dialog p{margin-bottom:8px}}

.beginner-settings>.beginner-heading{display:block;padding:0;background:transparent;border:0}
@media (orientation:landscape) and (max-height:600px){
 .compact-screen>.beginner-settings>.beginner-heading{grid-column:1;grid-row:1}
 .compact-screen>.beginner-settings>.beginner-single-options{grid-column:2;grid-row:1/4}
 .compact-screen>.beginner-settings>.beginner-ten-options{grid-column:1;grid-row:2;margin:4px 0;padding-top:8px}
 .compact-screen>.beginner-settings>#home{grid-column:1;grid-row:3}
 .compact-screen>.beginner-settings>.actions{grid-column:1/-1;grid-row:4;flex-direction:row}
}

/* Phase 0.5.6: existing RUN STOP only; its handler and visibility are unchanged. */
@media (max-width:600px), (orientation:landscape) and (max-height:600px) and (max-width:1000px){
 .immersive .flash-stage #adv-stop{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));bottom:auto;left:auto;min-height:44px;min-width:64px;z-index:3}
}
/* Phase 0.5.8: settings/results only. Existing viewport and RUN/answer rules remain. */
/* 100vh fallback precedes the existing visualViewport / dynamic viewport height. */
main.compact-screen{height:100vh;height:var(--visible-height,100dvh)}
/* Auto overflow is an accessibility fallback, not the normal layout mechanism. */
main.compact-screen:has(>.beginner-settings,>.advanced-settings,>.number-editor,>.result-panel){overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
@media (orientation:landscape) and (max-height:600px){
 main.compact-screen:has(>.beginner-settings,>.advanced-settings,>.number-editor,>.result-panel){padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .compact-screen>.beginner-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:10px 16px}
 .compact-screen>.beginner-settings>.beginner-heading{grid-column:1/-1;grid-row:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px}
 .compact-screen>.beginner-settings>.beginner-heading>*{margin:0}
 .compact-screen>.beginner-settings>.beginner-heading .sound-settings{margin:0}
 .compact-screen>.beginner-settings>.beginner-single-options{grid-column:1;grid-row:2;padding:8px}
 .compact-screen>.beginner-settings>.beginner-single-options h2{margin:0 0 4px}
 .compact-screen>.beginner-settings>.beginner-single-options p{margin:4px 0}
 .compact-screen>.beginner-settings>.beginner-ten-options{grid-column:2;grid-row:2;align-self:center;border-top:0;margin:0;padding:8px}
 .compact-screen>.beginner-settings>#home{grid-column:1;grid-row:3;justify-self:center}
 .compact-screen>.beginner-settings>.actions{grid-column:2;grid-row:3;margin:0;align-self:center}
 .compact-screen>.advanced-settings>.actions{grid-column:2;grid-row:1/3;align-self:end;margin:0}
 .compact-screen>.advanced-settings .setting-main{align-self:start;margin-bottom:52px}
 .compact-screen>.advanced-settings .count-controls button{min-width:44px}
 .compact-screen>.advanced-settings .time-adjust button{min-height:44px}
 .compact-screen>.number-editor .setting-keypad button{min-height:44px;height:auto}
 /* Result illustration/score on the left, unchanged next actions on the right. */
 .compact-screen>.result-panel{width:min(100%,1000px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px;align-items:center;padding:12px 16px}
 .compact-screen>.result-panel>.result-mark{grid-column:1;grid-row:1;margin:auto;width:clamp(90px,24vh,150px)}
 .compact-screen>.result-panel>.result-details{grid-column:2;grid-row:1;min-width:0}
 .compact-screen>.result-panel .result-details:not([hidden]){display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;column-gap:8px}
 .compact-screen>.result-panel .result-details>*{grid-column:1/-1}
 .compact-screen>.result-panel .result-details>.sheep{grid-column:1;grid-row:1}
 .compact-screen>.result-panel .result-details>h1,.compact-screen>.ten-result .result-details>p:first-of-type{grid-column:2;grid-row:1}
 .compact-screen>.result-panel .result-details>.sheep{width:48px;height:48px}
 .compact-screen>.result-panel .result-details>h1{margin:2px 0}
 .compact-screen>.result-panel .progress{margin:8px 0;gap:6px}
 .compact-screen>.result-panel .actions{margin-top:8px;gap:8px}
 .compact-screen>.result-panel .actions button{flex:1 1 auto;min-height:44px}
 .compact-screen>.result-panel #feedback-open{min-height:44px}
 .compact-screen>.ten-result{grid-template-rows:auto auto auto auto auto}
 .compact-screen>.ten-result>.eyebrow{grid-column:1;grid-row:1}
 .compact-screen>.ten-result>.ten-score{grid-column:1;grid-row:2;font-size:clamp(76px,22vh,110px)}
 .compact-screen>.ten-result>.result-award{grid-column:1;grid-row:3;font-size:20px}
 .compact-screen>.ten-result>.new-best{grid-column:1;grid-row:4}
 .compact-screen>.ten-result>.result-mark{grid-column:1;grid-row:5;width:70px}
 .compact-screen>.ten-result>.result-details{grid-column:2;grid-row:1/6}
 .compact-screen>.ten-result .result-details>.actions:first-of-type{display:grid;grid-template-columns:1fr}
}
/* Keep compact controls touchable, including the settings feedback action. */
.compact-screen>.beginner-settings #feedback-open,.compact-screen>.advanced-settings #feedback-open{min-height:44px}

/* Phase 0.5.9A: per-practice display only; no player/audio/record changes. */
.number-size{display:flex;align-items:center;justify-content:center;gap:6px;border:0;padding:0;margin:8px auto;min-width:0}
.number-size legend{float:left;font-size:14px;font-weight:700;margin-right:10px;line-height:44px}
.compact-screen .number-size button{min-width:44px;min-height:44px;padding:6px 12px;font-size:14px;box-shadow:none}
.number-size button[aria-pressed="true"]{background:#1878cb;color:#fff;border-color:#1878cb}
[data-number-size="large"]{--number-scale:1}
[data-number-size="medium"]{--number-scale:.82}
[data-number-size="small"]{--number-scale:.66}
/* Viewport sizing uses the existing visualViewport variable; title/countdown unchanged. */
.immersive .flash-stage[data-number-size] .number:not(.showing-title):not(.showing-countdown){font-size:calc(min(40.5vh,76vw / var(--number-cells),300px) * var(--number-scale))}
.immersive .flash-stage[data-digits="3"] .number:not(.showing-title):not(.showing-countdown),
.immersive .flash-stage[data-digits="4"] .number:not(.showing-title):not(.showing-countdown){font-size:calc(min(31vh,70vw / var(--number-cells),160px) * var(--number-scale))}
.immersive .flash-stage[data-digits="3"] .whole-number,.immersive .flash-stage[data-digits="4"] .whole-number{transform:scaleX(.88);transform-origin:center;max-width:76vw}
.immersive .beginner-stage[data-number-size] .number:not(.showing-title):not(.showing-countdown){font-size:calc(min(35vh,96vw / var(--beginner-cells,4)) * var(--number-scale))}
/* One control only, fixed at the top-right on every viewport. */
.immersive .flash-stage .focus-controls{position:absolute;inset:0;pointer-events:none}
.immersive .flash-stage #adv-stop{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));bottom:auto;left:auto;min-width:64px;min-height:44px;padding:10px 12px;pointer-events:auto;z-index:3}
@media (orientation:landscape) and (max-height:600px){
 .compact-screen>.beginner-settings>.number-size{grid-column:1/-1;grid-row:2;margin:0 auto}
 .compact-screen>.beginner-settings>.beginner-single-options{grid-row:3}
 .compact-screen>.beginner-settings>.beginner-ten-options{grid-row:3}
 .compact-screen>.beginner-settings>#home{grid-row:4}
 .compact-screen>.beginner-settings>.actions{grid-row:4;grid-column:2}
 .compact-screen>.advanced-settings>.number-size{grid-column:1;grid-row:2;margin:0 auto}
 .compact-screen>.advanced-settings>.setting-main{grid-column:2;grid-row:1/4}
 .compact-screen>.advanced-settings>footer{grid-column:1;grid-row:3}
 .compact-screen>.advanced-settings>.actions{grid-column:2;grid-row:1/4}
}
/* Make room for the new 44px size choices without changing r6 result/answer panels. */
@media (min-height:601px) and (max-height:800px){
 .compact-screen>.beginner-settings #sample .soroban{height:60px}
 .compact-screen>.beginner-settings>.number-size{margin:4px auto}
}
@media (orientation:landscape) and (max-height:400px){
 .compact-screen>.beginner-settings{row-gap:4px}
 .compact-screen>.beginner-settings>.beginner-single-options{padding:4px 8px}
 .compact-screen>.beginner-settings .beginner-single-options h2{font-size:16px;margin:0 0 2px}
 .compact-screen>.beginner-settings .beginner-single-options p{font-size:12px;line-height:1.3;margin:2px 0}
 .compact-screen>.advanced-settings{row-gap:2px}
 .compact-screen>.advanced-settings header h1{font-size:22px}
 .compact-screen>.advanced-settings header .beta-best{margin-top:2px}
 .compact-screen>.advanced-settings .prefix-help p{font-size:12px;line-height:1.35;margin:4px 0}
}

/* Phase 0.5.9B: secondary exit only on an answer reached by STOP. */
.compact-screen .answer-panel #stop-menu{min-height:44px;min-width:44px;padding:8px 14px;font-size:14px;font-weight:500;background:transparent;color:#56758c;border:1px solid #cfdfef;box-shadow:none}
.compact-screen .answer-panel .stopped-answer-menu{margin-top:8px}
@media (orientation:landscape) and (max-height:600px){.compact-screen>.answer-panel .stopped-answer-menu{margin-top:0}}
