/* A final, readable meaning question, without revealing the answer first. */
.meaning-instruction{font-size:22px;line-height:1.65;text-align:center;margin:4px 0;color:#35594f}
.meaning-choices{display:grid;gap:13px;width:100%;margin:6px 0}
.meaning-choice{display:flex;align-items:center;gap:14px;width:100%;min-height:88px;padding:14px 17px;border:3px solid #679782;border-radius:16px;box-shadow:0 4px #42725e,inset 0 2px #fff;background:linear-gradient(135deg,#fffef3,#e9f3d8);color:#224c40;font:inherit;cursor:pointer;text-align:left;touch-action:manipulation}
.meaning-choice>span{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#d9e9bd;color:#315d4a;font-size:20px}
.meaning-choice>b{font-size:clamp(22px,2vw,27px);line-height:1.6;overflow-wrap:anywhere;font-weight:700}
.meaning-choice:hover{background:#f1ffda;border-color:#35755c}.meaning-choice:active{transform:translateY(3px);box-shadow:0 1px #42725e}.meaning-choice:focus-visible{outline:4px solid #d79026;outline-offset:3px}
.meaning-rule{font-size:18px;line-height:1.6;color:#795734;margin:4px 0;text-align:center}
.meaning-explanation{width:100%;padding:16px 19px;border:2px solid #a8bea0;border-radius:16px;background:#fffef5}.meaning-explanation>span{display:block;font-size:19px;color:#58725c;margin-bottom:8px}
.kanji-lesson .meaning-result .meaning-verdict{font-size:clamp(29px,3vw,42px);color:#267450}.kanji-lesson .meaning-wrong .meaning-verdict{color:#b3623d}.meaning-result .phrase-meaning{font-size:clamp(23px,2.2vw,29px);line-height:1.65}.meaning-result .phrase-example>p{font-size:22px;line-height:1.6}
.meaning-back{padding:6px 12px;font-size:18px;color:#356253;text-underline-offset:4px}

/* Keep the number as one compact row, while each digit remains tappable. */
.sweets-layout{position:relative;font-family:"M PLUS Rounded 1c",Meiryo,sans-serif}
.pancake-arena:is(.ready,.success,.failed) .melt-line{visibility:hidden}
.sweets-layout .falling-cakes{left:0;right:0;margin-inline:auto;width:max-content;max-width:calc(100% - 20px);grid-template-columns:repeat(var(--digits),minmax(0,58px));gap:3px;padding:7px 5px 29px;background:#fffbeb80;border-radius:18px}
.sweets-layout .number-pancake{width:58px;max-width:100%;height:67px;border-width:2px;opacity:1!important}
.sweets-layout .number-pancake b{font-size:43px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:0}
.sweets-layout .number-pancake small{bottom:-24px;font-size:13px;padding:3px 2px;min-width:32px}
.sweets-layout .number-pancake.targeted{outline:3px solid #c95b29;outline-offset:1px;filter:brightness(1.08);z-index:1}
.sweets-layout .number-pancake:disabled{color:#563315;cursor:default;filter:none}
.sweets-layout .pancake-console-slot{height:auto;min-height:348px}
.sweets-layout .answer-order,.sweets-layout .shot-prompt{font-size:21px;line-height:1.5}.sweets-layout .shot-next{font-size:17px}
.sweets-layout .shoot-feedback{font-size:18px;line-height:1.6;min-height:58px;margin-top:12px}
.shot-selection{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:#ae4164;font-size:17px;font-weight:800}
.shot-selection.down{color:#2b6593}.shot-selection button{min-height:38px;padding:5px 8px;background:#fff;border:2px solid #a6b8ae;border-radius:9px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.3;color:#365c55;cursor:pointer}
.sweets-layout #rounding-answer{font-size:37px;min-height:57px;border-width:3px;background:#fffef8;letter-spacing:0;font-variant-numeric:tabular-nums}
.sweets-layout .rounding-keypad button{min-height:47px;font-size:26px}.sweets-layout .rounding-keypad [data-sweet="erase"],.sweets-layout .rounding-keypad .rounding-submit{font-size:19px}.sweets-layout .rounding-keypad button:disabled{opacity:.65}
.answer-projectile{position:absolute;z-index:20;pointer-events:none;min-width:104px;padding:10px 18px;border:3px solid #fff9d8;border-radius:40px;background:#e75b7c;color:#fff;font:bold 32px/1.1 Arial,sans-serif;letter-spacing:0;box-shadow:0 3px 0 #88324e,0 0 0 2px #9e3155;animation:answer-flight .58s ease-in both;text-align:center}
.answer-projectile.down{background:#308ed0;box-shadow:0 3px 0 #225574,0 0 0 2px #29628f}
@keyframes answer-flight{0%{transform:translate(-50%,-50%) scale(1);opacity:1}25%{transform:translate(calc(-50% + var(--shot-x)*.15),calc(-50% + var(--shot-y)*.15 - 24px)) scale(1.12)}100%{transform:translate(calc(-50% + var(--shot-x)),calc(-50% + var(--shot-y))) scale(.7);opacity:1}}
.sweets-layout .pancake-overlay>strong{font-size:clamp(24px,2.2vw,32px)}.sweets-layout .pancake-overlay p{font-size:21px;line-height:1.6}.sweets-layout .pancake-overlay .game-button{font-size:21px;min-height:54px}
.sweets-layout .success-overlay{top:100px;border:0;background:transparent;box-shadow:none;padding:8px 12px;overflow:visible;max-height:none}
.finished-cake{position:relative;isolation:isolate;width:250px;height:145px;max-width:85%;margin:48px auto 15px;border:3px solid #b6784c;border-radius:50% / 20%;background:linear-gradient(#fff6dd 0 22%,#efc576 23% 43%,#fff5d4 44% 55%,#d76670 56% 63%,#fff5d4 64% 74%,#ecc077 75%);box-shadow:inset -12px 0 0 #99522820,0 4px 0 #b37950;animation:cake-bloom .55s ease-out both}
.cake-icing{position:absolute;inset:-5px -3px auto;height:47px;border:3px solid #e4d8b4;border-bottom-color:#d8cda6;border-radius:50%;background:#fffef1;box-shadow:0 9px #fff8e4}
.cake-berries{position:absolute;left:0;right:0;top:-32px;display:flex;justify-content:center;gap:28px;z-index:2}.cake-berries i{position:relative;display:block;width:34px;height:42px;border:2px solid #bc4058;border-radius:45% 45% 45% 45% / 35% 35% 65% 65%;background:radial-gradient(ellipse at 28% 35%,#fff2a7 0 1px,transparent 2px) 0 0/9px 12px,#ed5775;transform:rotate(-8deg)}.cake-berries i:before{content:'';position:absolute;top:-9px;left:5px;width:22px;height:13px;clip-path:polygon(0 10%,40% 35%,50% 0,65% 35%,100% 10%,75% 100%,20% 100%);background:#508b54}.cake-berries i:nth-child(2){transform:translateY(-4px) rotate(8deg)}
.finished-cake>b{position:absolute;left:50%;top:61px;transform:translateX(-50%);padding:6px 15px;background:#6e413b;border:2px solid #fff3cd;border-radius:11px;color:#fff5d9;font:bold 34px/1.1 Arial,sans-serif;white-space:nowrap;letter-spacing:0}
.cake-plate{position:absolute;z-index:-1;left:-10%;right:-10%;height:35px;bottom:-19px;border:3px solid #b6cbd0;border-radius:50%;background:#e6f6f9;box-shadow:0 5px 0 #8fa7b057}
.sweets-layout .cake-equation{font-size:25px;color:#79506a;font-variant-numeric:tabular-nums;letter-spacing:0}.cake-equation span{padding:0 7px}.cake-equation b{color:#994067}
.sweet-result-actions{text-align:center;width:100%}.sweet-result-actions>strong{font-size:36px;color:#438764}.sweet-result-actions>p{font-size:23px;line-height:1.8;margin:10px 0 24px}.sweet-result-actions .game-button{width:100%;font-size:22px;min-height:60px;padding-inline:8px}
.sweets-layout .rounding-example{font-size:22px;line-height:1.75}.sweets-layout .failed-overlay{top:105px}
@keyframes cake-bloom{from{opacity:.3;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
@media(min-width:900px) and (max-height:700px){.meaning-choices{gap:10px}.meaning-choice{padding:10px 12px;min-height:70px;gap:10px}.meaning-choice>b{font-size:22px;line-height:1.5}.meaning-instruction{font-size:20px}.meaning-rule{font-size:17px}.meaning-result .phrase-example>p{font-size:20px}.meaning-explanation{padding:10px 14px}.meaning-result .phrase-meaning{font-size:23px}.sweets-layout .pancake-console-slot{min-height:316px}.sweets-layout .rounding-keypad button{min-height:42px}.sweets-layout .shoot-feedback{min-height:40px;font-size:16px;margin-top:8px}.sweets-layout .success-overlay{top:88px}.finished-cake{height:125px;width:230px;margin-top:35px}.finished-cake>b{top:50px}.sweets-layout .cake-equation{font-size:22px}.sweets-layout .pancake-overlay>strong{font-size:25px}}
@media(max-width:760px){.meaning-choice{padding:12px;gap:10px}.meaning-choice>b{font-size:22px;line-height:1.6}.meaning-choice>span{width:28px;height:28px;font-size:17px}.meaning-instruction{font-size:20px}.sweets-layout .falling-cakes{grid-template-columns:repeat(var(--digits),minmax(0,44px));gap:2px;padding-inline:3px}.sweets-layout .number-pancake{width:44px;height:52px}.sweets-layout .number-pancake b{font-size:34px}.sweets-layout .number-pancake small{font-size:11px;min-width:28px;padding-inline:1px}.sweets-layout .pancake-console-slot{min-height:324px}.sweets-layout .shoot-feedback{font-size:17px;min-height:32px}.sweets-layout .pancake-arena{min-height:335px}.sweets-layout .pancake-overlay>strong{font-size:24px}.sweets-layout .pancake-overlay p{font-size:18px}.sweets-layout .success-overlay{top:78px}.finished-cake{height:110px;width:200px;margin:30px auto 10px}.cake-berries{gap:20px;top:-28px}.cake-berries i{height:35px;width:29px}.finished-cake>b{top:43px;font-size:29px}.sweets-layout .cake-equation{font-size:21px}.sweets-layout .failed-overlay{top:80px}.sweets-layout .rounding-example{font-size:20px}.answer-projectile{font-size:28px;min-width:80px}}
@media(prefers-reduced-motion:reduce){.answer-projectile{animation-duration:.01s}.finished-cake{animation:none}}

.sweet-aim-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px auto 0;padding:10px 15px;background:#fff8dc;color:#984a72;border:3px solid #e8a2c0;border-radius:22px;box-shadow:0 4px #c583a33b;font-size:clamp(20px,2.4vw,29px);font-weight:1000;line-height:1.5}.sweet-aim-hint>span:first-child{color:#dfa33f;font-size:29px}.sweet-auto-shot{display:grid;align-content:center;justify-items:center;min-height:260px;color:#a6517d}.sweet-auto-shot>span{font-size:48px;color:#f3b94d}.sweet-auto-shot output{font-size:37px;font-weight:1000;padding:18px;background:#fff9e2;border:3px solid #d894b8;border-radius:20px}.pancake-console-slot .shot-next:empty{display:none}
@media(max-width:700px){.sweet-aim-hint{font-size:20px;padding:7px 8px;gap:3px}.sweet-aim-hint>span:first-child{font-size:20px}.sweet-auto-shot{min-height:90px}.sweet-auto-shot>span{display:none}}
