@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800;900&display=swap";.school-page .series-filters{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.school-page .series-filters label{flex:1;min-width:220px}.school-page .plan-book-picker{width:100%;min-width:0;padding:16px;border:1px solid #decdb8;border-radius:14px}.school-page .plan-book-picker legend{font-weight:700}.school-page .plan-book-picker>label{margin:12px 0}.school-page .plan-book-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.school-page .plan-book-checks label{display:flex;align-items:center;min-height:48px;border:1px solid #e1d5c6;border-radius:10px;padding:10px;line-height:1.5}.school-page .plan-book-checks input{flex:0 0 22px;width:22px;height:22px;padding:0;accent-color:#26786c}.school-page .plan-book-checks small{margin-left:auto;white-space:nowrap}.school-page .chapter-select{max-width:320px;margin:16px 0}.school-page .wordbook-source{font-size:13px;line-height:1.6;color:#675440}.school-page .wordbook-thumb{width:72px;height:72px;object-fit:contain}.school-page .series-filters select,.school-page .plan-book-picker select{min-height:44px}@media(max-width:640px){.school-page .plan-book-checks{grid-template-columns:1fr}.school-page .series-filters label{min-width:0;flex-basis:100%}}.bubble-garden{--garden-ink: #28584f;--garden-accent: #bf5937;max-width:980px;padding:22px 24px;color:var(--garden-ink)}.garden-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.garden-header h1{margin:0;font-size:28px;letter-spacing:-.03em;color:#335f50}.garden-header p{margin:5px 0 0;font-size:13px;color:#577568}.garden-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid #c5dcd0;border-radius:50%;background:#fffdf4;color:var(--garden-ink);cursor:pointer;flex-shrink:0}.garden-icon svg{width:21px;height:21px}.bubble-garden button:focus-visible{outline:3px solid #974328;outline-offset:5px}.garden-world{position:relative;isolation:isolate;overflow:hidden;background:#e6f5ee;border-radius:32px;min-height:690px;padding:22px 30px 95px}.garden-scenery{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.garden-sun{position:absolute;top:98px;right:5%;width:72px;height:72px;border-radius:50%;background:#ffdb82;box-shadow:0 10px 30px #ddb95b26}.garden-cloud{position:absolute;width:130px;height:28px;border-radius:70% 80% 30% 40%;background:#fffdf5;opacity:.8;animation:garden-cloud 24s ease-in-out infinite alternate}.garden-cloud:before{content:"";position:absolute;bottom:3px;left:28px;width:58px;height:48px;border-radius:50%;background:inherit}.cloud-one{top:150px;left:-20px}.cloud-two{top:250px;right:-30px;transform:scale(.7);animation-delay:-12s}.garden-hill{position:absolute;width:145%;height:220px;bottom:-120px;left:-25%;border-radius:50% 50% 0 0;background:#aacfac;transform:rotate(7deg)}.hill-front{bottom:-155px;left:5%;background:#77b394;transform:rotate(-8deg)}.garden-sprouts{position:absolute;bottom:0;width:100%;height:52px}.garden-sprouts i{position:absolute;bottom:5px;left:calc(8% + var(--i)*11%);height:20px;width:3px;background:#4c9378;transform:rotate(-15deg)}.garden-sprouts i:after{content:"";position:absolute;width:12px;height:8px;border-radius:12px 0;background:#4c9378;left:2px;top:3px}.garden-hud{display:flex;align-items:center;justify-content:space-between;gap:14px;font-variant-numeric:tabular-nums}.garden-clock{display:flex;gap:8px;align-items:center;min-width:94px;font-size:22px}.garden-clock svg{width:23px;height:23px}.garden-clock.time-short{color:#9f382d}.garden-score{display:flex;align-items:center;gap:8px;padding:8px 21px;border-radius:40px;background:#fff8dc;box-shadow:0 4px 16px #b59b4e16}.garden-score svg{width:24px;height:24px;color:#c28216}.garden-score strong{font-size:30px;line-height:1;animation:garden-score-in .4s ease-out}.garden-score span{font-size:12px}.garden-motion{width:38px;height:38px;background:transparent;border-color:#a6c7b6}.garden-streak{display:flex;justify-content:center;align-items:center;gap:10px;min-height:35px;font-size:12px;margin:8px 0 12px}.garden-streak>div{display:flex;gap:3px}.garden-streak svg{width:15px;height:15px;color:#b9d5c8}.garden-streak .lit{color:#ab7516}.garden-prompt{text-align:center;position:relative;z-index:1}.garden-prompt h2{font-size:23px;margin:4px 0 12px;color:#275749;line-height:1.5}.garden-prompt p{margin:6px;color:#477060;font-size:14px}.garden-listen-row{display:flex;gap:14px;justify-content:center;align-items:center}.garden-listen{display:flex;align-items:center;gap:8px;min-height:44px;border:0;border-radius:24px;padding:9px 17px;background:#356b59;color:#fffdf1;font-size:14px;font-weight:700;cursor:pointer}.garden-listen svg{width:22px;height:22px}.garden-listen:hover{background:#255241}.garden-text-button{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;min-height:44px;color:#426856;font-size:12px;cursor:pointer}.garden-word-hint{display:block;height:23px;line-height:23px;font-size:15px;color:#345e50}.garden-bubbles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 30px;max-width:650px;margin:12px auto 0;padding:0 20px}.garden-bubble-slot{position:relative;display:grid;place-items:center;min-width:0;height:158px;animation:garden-float calc(4.5s + var(--i)*.35s) ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.8s)}.garden-bubble-slot:nth-child(3n+2){top:12px}.garden-bubble-slot:nth-child(3n){top:-6px}.garden-bubble{position:relative;width:144px;height:144px;padding:15px;border:1.5px solid #fffdf3;border-radius:50%;background:radial-gradient(circle at 31% 22%,#ffffffed 0,#ffffff75 18%,#c6e9e65c 46%,#96c9d47a 80%,#fffef8b3);box-shadow:inset 3px 3px 10px #ffffffc7,inset -4px -8px 16px #67b1c13b,0 12px 18px #5f9e9819;color:#28556a;font-size:20px;font-weight:750;cursor:pointer;transition:scale .18s ease-out,box-shadow .18s ease-out;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.garden-bubble:before{content:"";position:absolute;left:19%;top:13%;width:27%;height:11%;background:#fff;opacity:.85;border-radius:50%;transform:rotate(-36deg)}.garden-bubble:after{content:"";position:absolute;bottom:10%;right:19%;width:30%;height:13%;border-bottom:3px solid #ffffff9e;border-radius:50%;transform:rotate(-30deg)}.garden-bubble span{position:relative;z-index:1;overflow-wrap:anywhere;display:block;line-height:1.2}.garden-bubble.long-word{font-size:16px}.slot-1 .garden-bubble,.slot-4 .garden-bubble{background:radial-gradient(circle at 30% 20%,#ffffffed,#ffeecfa6 45%,#f2c97780 82%,#fffaf1b3);color:#765027;box-shadow:inset 3px 3px 10px #ffffffc7,inset -4px -8px 16px #dbb26730,0 12px 18px #a8986919}.slot-2 .garden-bubble,.slot-5 .garden-bubble{background:radial-gradient(circle at 30% 20%,#ffffffed,#fbdedba6 45%,#e8b9bd7a 82%,#fffaf1b3);color:#804948;box-shadow:inset 3px 3px 10px #ffffffc7,inset -4px -8px 16px #cb929b30,0 12px 18px #a87c8f19}.garden-bubble:hover:enabled{scale:1.055}.garden-bubble:active:enabled{scale:.93}.garden-bubble-slot:focus-within,.garden-bubble-slot:hover,.has-feedback .garden-bubble-slot{animation-play-state:paused}.bubble-garden .garden-bubble:disabled{opacity:1}.has-feedback .garden-bubble-slot:not(.is-popped):not(.is-missed){opacity:.55}.is-popped .garden-bubble{animation:garden-pop .4s ease-out forwards}.is-missed .garden-bubble{animation:garden-wobble .4s ease-out;border:2px dashed #a95740}.is-waiting .garden-bubble{scale:.95}.garden-burst{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}.garden-burst svg{position:absolute;width:21px;height:21px;color:#b37913;animation:garden-spark .9s ease-out both;--angle: calc(var(--n)*51.4deg)}.garden-burst b{color:#38745b;font-size:27px;animation:garden-points .6s ease-out both}.garden-pop-ring{position:absolute;width:125px;height:125px;border:3px solid #fff;border-radius:50%;animation:garden-ring .7s ease-out forwards}.garden-response{position:relative;z-index:1;min-height:119px;text-align:center;margin-top:22px}.garden-response>p{padding-top:26px;color:#416955;font-size:13px}.garden-response .game-correct,.garden-response .game-try{display:flex;flex-direction:column;gap:5px;font-size:15px;line-height:1.5}.garden-response span{font-size:13px}.garden-response .game-try{color:#8c4532}.garden-primary{display:inline-flex;justify-content:center;align-items:center;gap:14px;background:#b95131;color:#fffaf2;border:0;border-radius:26px;min-height:46px;padding:10px 26px;margin-top:12px;font-size:15px;font-weight:700;box-shadow:0 6px 12px #97482d20;cursor:pointer}.garden-primary:hover:enabled{background:#9e4328}.garden-primary svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.garden-companion{position:absolute;bottom:15px;left:28px;display:flex;align-items:center;gap:10px;pointer-events:none}.garden-companion img{width:71px;height:71px;object-fit:contain;transform-origin:center bottom}.garden-companion span{color:#285642;font-size:12px;background:#fffdf0;padding:8px 13px;border-radius:16px 16px 16px 2px}.garden-companion.is-happy img{animation:garden-hop .6s ease-out}.garden-combo .garden-world:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:inset 0 4px #e3ac70,inset 0 8px #f0d88b,inset 0 12px #a1ceb0;animation:garden-score-in .5s ease-out;pointer-events:none}.garden-footer{display:flex;justify-content:space-between;gap:12px;margin-top:14px;color:#547061;font-size:12px}.garden-exit{max-width:450px;margin:70px auto;padding:30px;background:#fffdf1;color:var(--garden-ink)}.garden-exit h2{font-size:22px}.garden-exit p{color:#547061}.garden-exit .garden-text-button{display:block;margin:12px auto 0}.garden-ending{position:relative;text-align:center}.garden-ending>h2{font-size:28px;margin:25px 0 0}.garden-ending .game-result{background:transparent;padding:22px 0 0}.garden-ending .game-result-hero{justify-content:center}.garden-ending .game-result-stats{margin-top:18px}.garden-ending .game-result-stat{border:none;background:#fffdf0}.garden-ending .game-result-stat-primary{background:#ffedb7}.garden-celebration{position:absolute;inset:0;overflow:hidden;pointer-events:none}.garden-celebration svg{position:absolute;left:calc(var(--i)*8.3%);top:-20px;color:#b47b17;width:17px;height:17px;animation:garden-confetti 2.5s ease-out both;animation-delay:calc(var(--i)*.06s)}@keyframes garden-float{0%{transform:translateY(-5px) rotate(-2deg)}to{transform:translate(4px,6px) rotate(2deg)}}@keyframes garden-cloud{to{translate:28px 0}}@keyframes garden-pop{to{transform:scale(1.22);opacity:0}}@keyframes garden-ring{to{transform:scale(1.5);opacity:0}}@keyframes garden-spark{0%{transform:rotate(var(--angle)) translateY(0) scale(.3)}to{transform:rotate(var(--angle)) translateY(-85px) scale(.8);opacity:0}}@keyframes garden-points{0%{opacity:0;transform:translateY(15px) scale(.7)}to{opacity:1;transform:translateY(-8px) scale(1)}}@keyframes garden-wobble{25%,75%{translate:-5px}50%{translate:5px}}@keyframes garden-score-in{0%{transform:scale(.86)}to{transform:scale(1)}}@keyframes garden-hop{45%{transform:translateY(-12px) rotate(-6deg)}}@keyframes garden-confetti{to{transform:translateY(400px) rotate(260deg);opacity:0}}.garden-still .garden-bubble-slot,.garden-still .garden-cloud{animation-play-state:paused}@media(max-width:600px){.bubble-garden{padding:14px 12px 20px}.garden-header{padding:0 4px;margin-bottom:12px}.garden-header h1{font-size:24px}.garden-header p{font-size:11px}.garden-world{border-radius:25px;padding:16px 16px 83px;min-height:695px}.garden-sun{width:52px;height:52px;top:132px;right:-14px}.garden-score{padding:8px 17px}.garden-score strong{font-size:26px}.garden-clock{font-size:20px;min-width:84px}.garden-streak{font-size:11px;margin:7px 0 10px}.garden-prompt h2{font-size:18px;margin-bottom:8px}.garden-listen-row{gap:10px}.garden-listen{font-size:13px;padding:8px 13px}.garden-text-button{font-size:11px}.garden-bubbles{grid-template-columns:repeat(2,minmax(0,1fr));max-width:330px;gap:5px 17px;padding:0 8px;margin-top:2px}.garden-bubble-slot{height:116px}.garden-bubble-slot:nth-child(n){top:0}.garden-bubble-slot:nth-child(2n){top:7px}.garden-bubble{width:109px;height:109px;font-size:17px;padding:10px}.garden-bubble.long-word{font-size:13px}.garden-pop-ring{width:100px;height:100px}.garden-response{margin-top:15px;min-height:118px}.garden-response>p{padding-top:24px;font-size:12px}.garden-response .game-correct,.garden-response .game-try{font-size:14px}.garden-response span{font-size:12px}.garden-companion{bottom:12px;left:20px}.garden-companion img{width:59px;height:59px}.garden-companion span{font-size:11px}.garden-footer{font-size:11px;padding:0 3px}.garden-ending>h2{font-size:23px}.garden-ending .game-result-hero{flex-direction:column;text-align:center}.garden-ending .game-result h2{font-size:20px}}@media(max-width:350px){.garden-bubbles{gap:5px 10px;padding:0}.garden-bubble{width:100px;height:100px}.garden-listen-row{gap:4px}.garden-streak{gap:6px}}@media(prefers-reduced-motion:reduce){.bubble-garden *,.bubble-garden *:after,.bubble-garden *:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.garden-bubble-slot{transform:none}.garden-cloud{animation:none}.garden-celebration{display:none}}.garden-world{box-sizing:border-box}.bubble-garden .garden-prompt h2{font-size:23px;line-height:1.5;margin:4px 0 12px}.garden-prompt h2:focus{outline:none}.garden-prompt{min-height:106px}.garden-word-hint{position:absolute;top:100%;left:0;right:0;z-index:2}.garden-rainbow{position:absolute;width:300px;height:165px;top:82px;right:-60px;fill:none;stroke-width:14px;stroke-linecap:round;opacity:.64;animation:garden-rainbow-in .7s ease-out both}.garden-combo .garden-world:after{content:none}.garden-burst .garden-flying-star{color:#ac7616;width:26px;height:26px;animation:garden-star-flight 1s cubic-bezier(.16,1,.3,1) both;z-index:4}@keyframes garden-star-flight{0%{transform:translate(0) scale(1);opacity:1}85%{opacity:1}to{transform:translate(var(--flight-x),var(--flight-y)) scale(.5);opacity:0}}@keyframes garden-rainbow-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@media(max-width:600px){.garden-world{min-height:0;padding:12px 14px 72px}.garden-streak{min-height:25px;margin:5px 0 8px}.bubble-garden .garden-prompt h2{font-size:18px;margin:3px 0 8px}.garden-prompt{min-height:85px}.garden-bubbles{gap:6px 17px;margin-top:8px}.garden-bubble-slot{height:100px}.garden-bubble{width:100px;height:100px}.garden-response{min-height:98px;margin-top:16px}.garden-response>p{padding-top:16px}.garden-companion{bottom:9px}.garden-rainbow{width:230px;height:127px;top:118px;right:-70px}.garden-burst .garden-flying-star{width:22px;height:22px}}@media(prefers-reduced-motion:reduce){.garden-rainbow{animation:none}.garden-burst .garden-flying-star{display:none}}.garden-game{--gg-card: #fffdf6;--gg-line: #cfe2d7;--gg-good: #2f8f5b;--gg-good-soft: #e3f4e9;--gg-bad: #c9473f;--gg-bad-soft: #fbe6e3;--gg-gold: #c28216}.garden-game .garden-world{min-height:640px}.gg-hud-tools{display:flex;gap:8px}.gg-prompt{min-height:0!important;margin-bottom:14px}.gg-prompt h2:focus{outline:none}.gg-prompt p{font-size:13px!important}.gg-response{min-height:92px;margin-top:18px}.garden-game button{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.gg-burst{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:3}.gg-burst svg{position:absolute;width:22px;height:22px;color:var(--gg-gold);--angle: calc(var(--n) * 45deg);animation:garden-spark .9s ease-out both}.gg-burst b{font-size:28px;color:#38745b;animation:garden-points .6s ease-out both}.gg-judge{display:grid;justify-items:center;gap:22px}.gg-flashcard{position:relative;width:min(100%,360px);min-height:190px;box-sizing:border-box;padding:28px 22px;display:grid;place-content:center;gap:14px;text-align:center;background:var(--gg-card);border-radius:26px;box-shadow:0 3px #e2d6bd,0 18px 32px #4f7d6824;cursor:grab;touch-action:pan-y;user-select:none;transition:transform .25s cubic-bezier(.2,1.2,.4,1)}.gg-flashcard:active{cursor:grabbing;transition:none}.gg-flashcard strong{font-size:clamp(32px,9vw,44px);line-height:1.1;color:#2a4f43;overflow-wrap:anywhere}.gg-meaning{justify-self:center;padding:8px 18px;border-radius:16px;background:#fff3d1;color:#7a5323;font-size:20px;font-weight:700}.gg-hint{position:absolute;top:16px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;pointer-events:none}.gg-hint svg{width:26px;height:26px}.gg-hint-yes{right:16px;background:var(--gg-good)}.gg-hint-no{left:16px;background:var(--gg-bad)}.gg-stamp{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;animation:gg-stamp .35s cubic-bezier(.3,1.6,.5,1) both}.gg-stamp svg{width:120px;height:120px;padding:14px;border-radius:50%;border:6px solid currentColor;background:#ffffffd9;transform:rotate(-12deg)}.gg-stamp.is-good{color:var(--gg-good)}.gg-stamp.is-bad{color:var(--gg-bad)}.gg-flashcard.is-fly-right{animation:gg-fly-right .7s .35s ease-in both}.gg-flashcard.is-fly-left{animation:gg-fly-left .7s .35s ease-in both}.gg-flashcard.is-shake{animation:garden-wobble .4s ease-out}.gg-judge-buttons{display:flex;gap:44px}.gg-judge-buttons button{width:92px;height:92px;border-radius:50%;border:4px solid;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 0 var(--shadow);transition:transform .1s}.gg-judge-buttons svg{width:50px;height:50px}.gg-judge-yes{--shadow: #8cc9a5;color:var(--gg-good);border-color:#8cc9a5!important;background:var(--gg-good-soft)}.gg-judge-no{--shadow: #eba7ac;color:var(--gg-bad);border-color:#eba7ac!important;background:var(--gg-bad-soft)}.gg-judge-buttons button:active:not(:disabled){transform:translateY(5px);box-shadow:0 1px 0 var(--shadow)}.gg-judge-buttons button:disabled{opacity:.5;cursor:default}.gg-memory{display:grid;gap:12px;justify-items:center}.gg-memory-timer{width:min(100%,360px);height:10px;border-radius:5px;background:#d5e8dd;overflow:hidden}.gg-memory-timer i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#f2c14e,#e07b39)}.gg-memory-timer.is-running i{animation:gg-countdown var(--preview) linear both}.gg-memory-note{margin:0;min-height:22px;font-size:14px;font-weight:700;color:#3b6a59}.gg-memory-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(100%,520px);perspective:900px}.gg-flip{position:relative;aspect-ratio:3 / 4;padding:0;border:0;background:none;cursor:pointer;animation:gg-deal .45s cubic-bezier(.2,1.3,.4,1) both;animation-delay:calc(var(--i) * .08s)}.gg-flip:disabled{cursor:default}.gg-flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,1.3,.5,1);transform:rotateY(180deg)}.gg-flip.is-up .gg-flip-inner{transform:rotateY(0)}.gg-flip-front,.gg-flip-back{position:absolute;inset:0;display:grid;place-items:center;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 3px #d8cbb0,0 12px 20px #4f7d6820}.gg-flip-front{padding:8px;background:var(--gg-card);color:#2a4f43;font-size:clamp(16px,4.6vw,24px);font-weight:800;overflow-wrap:anywhere;border:3px solid #f0e3c4}.gg-flip-back{transform:rotateY(180deg);background:repeating-linear-gradient(45deg,#3e8a72 0 10px,#46977e 10px 20px);color:#fff3c8;border:4px solid #fffdf3}.gg-flip-back svg{width:40%;height:40%}.gg-flip-back small{position:absolute;bottom:8px;font-size:14px;font-weight:800;color:#d8f0e3}.gg-flip:hover:not(:disabled) .gg-flip-inner{transform:rotateY(180deg) translateY(-6px)}.gg-flip.is-good .gg-flip-front{border-color:#f2c14e;box-shadow:0 0 0 5px #f2c14e66,0 12px 20px #c2821640}.gg-flip.is-good{animation:gg-bounce .5s ease-out}.gg-flip.is-bad .gg-flip-front{border-color:var(--gg-bad);background:var(--gg-bad-soft)}.gg-flip.is-bad{animation:garden-wobble .4s ease-out}.gg-flip.is-answer .gg-flip-front{border-color:var(--gg-good);background:var(--gg-good-soft)}.gg-pairs{display:grid;gap:14px;justify-items:center}.gg-pair-board{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 64px;width:min(100%,560px)}.gg-pair-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.gg-pair-lines path{fill:none;stroke-width:6;stroke-linecap:round;stroke-dasharray:400;animation:gg-draw .35s ease-out both}.gg-pair-lines path.is-good{stroke:var(--gg-good);filter:drop-shadow(0 0 4px #f2c14e)}.gg-pair-lines path.is-bad{stroke:var(--gg-bad);stroke-dasharray:10 10;animation:none}.gg-pair-col{position:relative;z-index:1;display:grid;gap:12px}.gg-pair{min-height:64px;padding:10px 12px;border-radius:18px;border:3px solid var(--gg-line);background:var(--gg-card);color:#2a4f43;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 4px #dfd2b6;transition:transform .12s,border-color .12s,background .12s;overflow-wrap:anywhere}.gg-pair-meaning{font-size:17px;color:#6b4a26}.gg-pair:hover:not(:disabled){transform:translateY(-2px)}.gg-pair.is-selected{border-color:#e07b39;background:#fff0e3;transform:scale(1.04);animation:gg-pulse 1s ease-in-out infinite}.gg-pair.is-linked{border-color:var(--pair);background:color-mix(in srgb,var(--pair) 12%,var(--gg-card))}.gg-pair.is-good{border-color:var(--gg-good);background:var(--gg-good-soft)}.gg-pair.is-bad{border-color:var(--gg-bad);background:var(--gg-bad-soft);animation:garden-wobble .4s ease-out}.gg-pair:disabled{cursor:default;color:inherit}.gg-check{margin-top:2px;min-width:170px}.gg-check:disabled{opacity:.55;cursor:default}.gg-celebrate{position:absolute;inset:0;z-index:6;display:grid;place-content:center;justify-items:center;pointer-events:none;overflow:hidden;animation:gg-fade 1.6s ease both}.gg-celebrate b{position:relative;font-size:clamp(42px,13vw,76px);font-weight:900;font-style:italic;letter-spacing:.01em;color:#ffd84d;-webkit-text-stroke:3px #7a3d14;paint-order:stroke fill;text-shadow:0 6px 0 #7a3d14,0 12px 24px #7a3d1440;animation:gg-callout .9s cubic-bezier(.2,1.6,.4,1) both}.gg-celebrate small{position:relative;margin-top:4px;padding:4px 12px;border-radius:12px;background:#fffdf0e6;color:#7a3d14;font-size:14px;font-weight:800;animation:garden-points .5s .2s ease-out both}.gg-celebrate.is-big b{color:#ff9f43;background:linear-gradient(180deg,#fff176,#ff9f43 70%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.gg-celebrate.is-max b{background:linear-gradient(90deg,#ff6b6b,#ffd93d,#6bcb77,#4d96ff,#b06bff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gg-callout .9s cubic-bezier(.2,1.6,.4,1) both,gg-wiggle .5s .9s ease-in-out 2}.gg-confetti{position:absolute;inset:0}.gg-confetti i{position:absolute;top:-16px;left:var(--x);width:10px;height:16px;border-radius:3px;background:var(--c);transform:rotate(var(--r));animation:gg-confetti 1.5s var(--d) ease-in both}.gg-rays{position:absolute;left:50%;top:50%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(#fff6c840 0 10deg,transparent 10deg 20deg);border-radius:50%;animation:gg-spin 1.6s linear both}@keyframes gg-stamp{0%{transform:scale(2.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes gg-fly-right{to{transform:translate(140%,-10%) rotate(24deg);opacity:0}}@keyframes gg-fly-left{to{transform:translate(-140%,-10%) rotate(-24deg);opacity:0}}@keyframes gg-countdown{0%{width:100%}to{width:0}}@keyframes gg-deal{0%{transform:translateY(40px) rotate(-8deg);opacity:0}}@keyframes gg-bounce{40%{transform:translateY(-14px) scale(1.06)}}@keyframes gg-draw{0%{stroke-dashoffset:400}to{stroke-dashoffset:0}}@keyframes gg-pulse{50%{box-shadow:0 0 0 6px #e07b3933}}@keyframes gg-fade{0%,80%{opacity:1}to{opacity:0}}@keyframes gg-callout{0%{transform:scale(.2) rotate(-14deg);opacity:0}60%{transform:scale(1.18) rotate(4deg);opacity:1}to{transform:scale(1) rotate(-3deg)}}@keyframes gg-wiggle{50%{transform:scale(1.08) rotate(3deg)}}@keyframes gg-confetti{to{transform:translateY(720px) rotate(calc(var(--r) + 540deg))}}@keyframes gg-spin{0%{transform:rotate(0) scale(.6);opacity:0}20%{opacity:1}to{transform:rotate(60deg) scale(1);opacity:0}}@media(max-width:600px){.garden-game .garden-world{min-height:0}.gg-flashcard{min-height:170px;padding:24px 18px}.gg-meaning{font-size:18px}.gg-judge{gap:18px}.gg-judge-buttons{gap:36px}.gg-judge-buttons button{width:84px;height:84px}.gg-memory-cards{gap:10px}.gg-pair-board{gap:0 46px}.gg-pair{min-height:58px;font-size:16px;padding:8px}.gg-pair-meaning{font-size:15px}.gg-stamp svg{width:100px;height:100px}}@media(prefers-reduced-motion:reduce){.gg-celebrate .gg-confetti,.gg-rays{display:none}.gg-flip-inner{transition:none}}.th-scene i,.th-scene div{position:absolute;display:block}.th-ocean{--garden-ink: #e9fbff}.th-ocean .garden-world{background:linear-gradient(180deg,#a9e4ef,#4fb0cf 42%,#2272a0 78%,#1b5d86)}.th-ocean .garden-header h1{color:#1f6f8f}.th-ocean .garden-header p{color:#3f7f95}.th-ocean :is(.garden-clock,.garden-streak,.garden-prompt h2,.garden-prompt p,.garden-response,.garden-response>p){color:#f2fdff}.th-ocean .garden-prompt h2{text-shadow:0 2px 0 #1b5d8655}.th-ocean .garden-response .game-try{color:#ffe0d6}.th-ocean .garden-text-button{color:#e9fbff}.th-ocean .garden-listen{background:#ffd166;color:#1b4d66}.th-ocean .garden-icon{background:#ffffffd9;border-color:#fff;color:#1f6f8f}.th-ocean .garden-streak svg{color:#fff6}.th-ocean .garden-streak .lit{color:#ffd166}.oc-rays{inset:-10% 0 auto;height:70%;background:repeating-linear-gradient(100deg,transparent 0 40px,#ffffff1f 40px 70px,transparent 70px 120px);mask-image:linear-gradient(#000,transparent);-webkit-mask-image:linear-gradient(#000,transparent);animation:oc-rays 8s ease-in-out infinite alternate}.oc-rise{left:var(--x);bottom:-20px;width:calc(6px + var(--m4) * 4px);height:calc(6px + var(--m4) * 4px);border-radius:50%;border:2px solid #ffffffaa;background:#fff2;animation:oc-rise calc(6s + var(--m5) * 1.3s) linear infinite;animation-delay:calc(var(--i) * -.9s)}.oc-sand{left:-5%;right:-5%;bottom:-30px;height:90px;border-radius:50% 50% 0 0;background:#f2d9a6;box-shadow:inset 0 8px #f8e6bf}.oc-weed{bottom:30px;left:calc(var(--x) * .9 + 2%);width:14px;height:calc(46px + var(--m3) * 22px);border-radius:14px 14px 4px 4px;background:linear-gradient(#5ec58b,#2f8f5b);transform-origin:bottom center;animation:oc-sway calc(3s + var(--m3) * .7s) ease-in-out infinite alternate}.oc-weed:nth-child(odd){background:linear-gradient(#ff9fb2,#e0607e);width:10px}.oc-fish{width:42px;height:22px;border-radius:60% 40% 40% 60%/50%;background:#ffb347;animation:oc-swim 16s linear infinite}.oc-fish:after{content:"";position:absolute;right:-12px;top:3px;border-left:14px solid #ffb347;border-top:8px solid transparent;border-bottom:8px solid transparent}.oc-fish:before{content:"";position:absolute;left:9px;top:7px;width:5px;height:5px;border-radius:50%;background:#1b3b4d}.oc-fish.f1{top:34%}.oc-fish.f2{top:58%;background:#ff7f7f;transform:scale(.7);animation-duration:21s;animation-delay:-7s}.oc-fish.f2:after{border-left-color:#ff7f7f}.oc-fish.f3{top:70%;background:#ffe066;transform:scale(.55);animation-duration:13s;animation-delay:-11s}.oc-fish.f3:after{border-left-color:#ffe066}.th-ocean .garden-bubble{border:2.5px solid #ffffffd0;background:radial-gradient(circle at 32% 24%,#fffe 0 7%,#ffffff40 18%,#bff0ff2e 55%,#7fd3f055 85%,#fff6);color:#fff;text-shadow:0 1px 2px #13506e;box-shadow:inset -6px -10px 18px #2c8fbf44,0 10px 20px #0d3d5a33}.th-ocean .slot-1 .garden-bubble,.th-ocean .slot-2 .garden-bubble,.th-ocean .slot-4 .garden-bubble,.th-ocean .slot-5 .garden-bubble{background:radial-gradient(circle at 32% 24%,#fffe 0 7%,#ffffff40 18%,#bff0ff2e 55%,#7fd3f055 85%,#fff6);color:#fff;box-shadow:inset -6px -10px 18px #2c8fbf44,0 10px 20px #0d3d5a33}.th-ocean .garden-bubble-slot{animation-name:oc-bob}.th-ocean .garden-companion span{background:#e9fbff}.th-balloon .garden-world{background:linear-gradient(180deg,#fff1d6,#ffe0e9 45%,#cfeaff)}.th-balloon .garden-header h1{color:#c2410c}.th-balloon :is(.garden-prompt h2){color:#7c2d12}.bl-sun{top:70px;right:8%;width:70px;height:70px;border-radius:50%;background:#ffd166;box-shadow:0 0 0 12px #ffd16633,0 0 0 26px #ffd1661a}.bl-cloud{width:120px;height:34px;border-radius:30px;background:#fff;opacity:.85;animation:garden-cloud 20s ease-in-out infinite alternate}.bl-cloud:before{content:"";position:absolute;left:24px;bottom:12px;width:54px;height:44px;border-radius:50%;background:#fff}.bl-cloud.c1{top:150px;left:-10px}.bl-cloud.c2{top:260px;right:-20px;transform:scale(.75);animation-delay:-9s}.bl-bunting{left:-2%;right:-2%;top:0;height:40px;border-top:2px solid #b45309;border-radius:0 0 50% 50%/0 0 30px 30px}.bl-flag{top:4px;left:calc(var(--i) * 6.4%);width:22px;height:26px;clip-path:polygon(0 0,100% 0,50% 100%);background:#ef4444;transform:translateY(calc(sin(var(--i) * .39rad)*10px))}.bl-flag:nth-child(4n+2){background:#f59e0b}.bl-flag:nth-child(4n+3){background:#10b981}.bl-flag:nth-child(4n+4){background:#3b82f6}.bl-tent{left:-10%;right:-10%;bottom:-40px;height:120px;border-radius:50% 50% 0 0;background:repeating-linear-gradient(90deg,#ef4444 0 36px,#fff7ed 36px 72px);box-shadow:inset 0 10px #00000014}.th-balloon .garden-bubbles{row-gap:26px}.th-balloon .garden-bubble{border:0;border-radius:50% 50% 47% 47%/44% 44% 56% 56%;color:#fff;text-shadow:0 2px 2px #0003;background:radial-gradient(circle at 32% 26%,#ffffffb0 0 8%,transparent 22%),radial-gradient(circle at 50% 60%,#f87171,#dc2626);box-shadow:inset -8px -12px #0000001a,0 12px 18px #7f1d1d22;overflow:visible}.th-balloon .garden-bubble:before{left:50%;top:100%;width:14px;height:10px;margin-left:-7px;border-radius:0;background:inherit;clip-path:polygon(50% 0,100% 100%,0 100%);transform:none;opacity:1}.th-balloon .garden-bubble:after{left:50%;right:auto;bottom:-46px;width:2px;height:38px;border:0;border-radius:0;background:#9a6b4f;transform:rotate(4deg)}.th-balloon .slot-1 .garden-bubble,.th-balloon .slot-4 .garden-bubble{background:radial-gradient(circle at 32% 26%,#ffffffb0 0 8%,transparent 22%),radial-gradient(circle at 50% 60%,#fbbf24,#d97706);color:#fff;box-shadow:inset -8px -12px #0000001a,0 12px 18px #78350f22}.th-balloon .slot-2 .garden-bubble,.th-balloon .slot-5 .garden-bubble{background:radial-gradient(circle at 32% 26%,#ffffffb0 0 8%,transparent 22%),radial-gradient(circle at 50% 60%,#60a5fa,#2563eb);color:#fff;box-shadow:inset -8px -12px #0000001a,0 12px 18px #1e3a8a22}.th-balloon .slot-3 .garden-bubble{background:radial-gradient(circle at 32% 26%,#ffffffb0 0 8%,transparent 22%),radial-gradient(circle at 50% 60%,#34d399,#059669)}.th-balloon .garden-bubble-slot{animation-name:bl-drift}.th-factory .garden-world{background:linear-gradient(180deg,#f3e8d6 0 64%,#c9b28c 64% 100%)}.th-factory .garden-header h1{color:#92400e}.th-factory .garden-prompt h2{color:#78350f}.fx-windows{opacity:.45;top:60px;left:8%;right:8%;display:flex!important;justify-content:space-between}.fx-windows i{position:static;width:26%;height:74px;border-radius:10px;background:linear-gradient(160deg,#cdeffd 0 55%,#a7dcf3 55%);border:6px solid #b08a5a;box-shadow:inset 0 0 0 3px #e7d4b4}.fx-gear{width:70px;height:70px;border-radius:50%;border:12px dotted #8a96a8;animation:fx-spin 6s linear infinite}.fx-gear:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#aab4c3}.fx-gear.g1{top:170px;left:-24px}.fx-gear.g2{top:210px;right:-30px;width:90px;height:90px;animation-direction:reverse}.fx-pipe{top:0;right:18%;width:18px;height:54px;background:#9aa5b5;border-radius:0 0 6px 6px}.fx-floor{left:0;right:0;bottom:0;height:36%;background:repeating-linear-gradient(90deg,transparent 0 58px,#b39a74 58px 60px)}.fx-line{position:relative;width:min(100%,380px);display:grid;justify-items:center}.fx-belt{position:relative;width:112%;height:26px;margin-top:-8px;border-radius:14px;background:repeating-linear-gradient(90deg,#4b5563 0 18px,#374151 18px 36px);background-size:36px 100%;animation:fx-belt .6s linear infinite;box-shadow:0 6px #1f2937;display:flex;justify-content:space-around;align-items:center}.fx-belt i{position:static;width:14px;height:14px;border-radius:50%;background:#9ca3af;box-shadow:inset 0 0 0 3px #6b7280}.th-factory .fx-parcel{background:linear-gradient(135deg,#e0a96d,#c98b4f);border-radius:12px;box-shadow:0 6px #9a6a3a,0 16px 24px #5a3b1a33;padding:22px 18px 26px;animation:fx-arrive .55s cubic-bezier(.2,1.2,.4,1) backwards}.fx-tape{left:0;right:0;top:50%;height:26px;margin-top:-13px;background:#f3d09a99;border-block:2px dashed #b47a3d66}.fx-label{position:relative;display:grid;gap:10px;padding:14px 18px;background:#fffdf6;border-radius:8px;box-shadow:0 2px #00000014;transform:rotate(-1.5deg)}.th-factory .fx-label strong{color:#3f2a14}.th-factory .gg-meaning{background:#fde68a;color:#78350f}.th-factory .gg-judge-buttons{gap:26px}.th-factory .gg-judge-buttons button{width:128px;height:92px;border-radius:16px 16px 30px 30px;border-width:0!important;display:grid;grid-template-rows:1fr auto;gap:2px;padding:12px 0 8px;color:#fff}.th-factory .gg-judge-buttons button span{font-size:14px;font-weight:800}.th-factory .gg-judge-buttons svg{width:40px;height:40px}.th-factory .gg-judge-yes{--shadow: #166534;background:linear-gradient(#34d399,#16a34a)}.th-factory .gg-judge-no{--shadow: #991b1b;background:linear-gradient(#f87171,#dc2626)}.th-factory .gg-flashcard.is-fly-right{animation:fx-drop-right .6s .3s ease-in both}.th-factory .gg-flashcard.is-fly-left{animation:fx-drop-left .6s .3s ease-in both}.th-factory .gg-flashcard.is-shake{animation:garden-wobble .4s ease-out}.th-magic .garden-world{background:radial-gradient(ellipse at 50% 0%,#4c2f86,#2a1a4f 60%,#1c1238)}.th-magic .garden-header h1{color:#5b21b6}.th-magic :is(.garden-clock,.garden-streak,.garden-prompt h2,.garden-prompt p,.garden-response,.garden-response>p,.gg-memory-note){color:#f5edff}.th-magic .garden-response .game-try{color:#ffd2cf}.th-magic .garden-icon{background:#ffffffe0;border-color:#fff;color:#4c1d95}.th-magic .garden-streak svg{color:#fff4}.th-magic .garden-streak .lit{color:#fcd34d}.th-magic .garden-companion span{background:#f5edff}.mg-spot{left:50%;top:-10%;width:520px;height:120%;margin-left:-260px;background:radial-gradient(ellipse at 50% 0%,#fff7d633 0%,#fff7d61a 40%,transparent 70%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%)}.mg-spark{left:var(--x);top:calc(var(--y) * .7);width:4px;height:4px;border-radius:50%;background:#fde68a;box-shadow:0 0 8px #fde68a;animation:mg-twinkle calc(1.6s + var(--m4) * .5s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.3s)}.mg-curtain{top:0;bottom:0;width:13%;background:repeating-linear-gradient(90deg,#b91c3c 0 12px,#8f1530 12px 18px,#c42a49 18px 26px);box-shadow:0 0 20px #0006}.mg-curtain.left{left:0;border-radius:0 0 60%}.mg-curtain.right{right:0;border-radius:0 0 0 60%}.mg-valance{left:0;right:0;top:0;height:26px;background:radial-gradient(circle at 20px -6px,#b91c3c 22px,transparent 23px) 0 0 / 40px 26px repeat-x}.mg-floor{left:0;right:0;bottom:0;height:90px;background:linear-gradient(#7c4a2a,#5b3418);border-radius:50% 50% 0 0/30px 30px 0 0;box-shadow:inset 0 6px #a0673f}.th-magic .gg-memory-timer{background:#ffffff26}.mg-table{position:relative;width:min(100%,480px);height:200px}.mg-slot{position:absolute;top:0;bottom:0;padding:0 6px;border:0;background:none;cursor:pointer;transition:left .55s cubic-bezier(.5,0,.3,1.3)}.mg-slot:disabled{cursor:default}.mg-card{position:absolute;left:16%;right:16%;z-index:0;bottom:8px;height:66px;display:grid;place-items:center;padding:4px;border-radius:14px;background:#fffdf6;color:#3b2a63;font-size:clamp(15px,4.4vw,21px);font-weight:800;box-shadow:0 4px #d9c7a2;overflow-wrap:anywhere}.mg-hat{position:absolute;left:6%;right:6%;bottom:0;height:150px;transition:transform .5s cubic-bezier(.3,1.4,.5,1);transform-origin:50% 100%;z-index:1}.mg-hat i{position:absolute;display:block}.mg-crown{left:14%;right:14%;bottom:14px;height:120px;border-radius:12px 12px 6px 6px;background:linear-gradient(90deg,#1e1b3a,#3b3470 45%,#1e1b3a)}.mg-band{left:14%;right:14%;bottom:24px;height:20px;background:#e11d48}.mg-brim{left:0;right:0;bottom:0;height:22px;border-radius:50%;background:#2b2650;box-shadow:0 6px 10px #0006}.mg-slot.is-up .mg-hat{transform:translateY(-112px) rotate(-8deg)}.mg-slot:not(:disabled):hover .mg-hat{transform:translateY(-10px)}.mg-slot.is-good .mg-card{background:#fef3c7;box-shadow:0 0 0 4px #fcd34d,0 0 26px #fcd34daa;animation:gg-bounce .5s ease-out}.mg-slot.is-bad .mg-card{background:var(--gg-bad-soft);box-shadow:0 0 0 4px var(--gg-bad);animation:garden-wobble .4s ease-out}.mg-slot.is-answer .mg-card{background:var(--gg-good-soft);box-shadow:0 0 0 4px var(--gg-good)}.th-space .garden-world{background:radial-gradient(ellipse at 70% 10%,#3b4c9b,#1d2a5e 45%,#0d1433)}.th-space .garden-header h1{color:#1e3a8a}.th-space :is(.garden-clock,.garden-streak,.garden-prompt h2,.garden-prompt p,.garden-response,.garden-response>p){color:#eef2ff}.th-space .garden-response .game-try{color:#fecaca}.th-space .garden-response .game-correct{color:#fde68a}.th-space .garden-icon{background:#ffffffe0;border-color:#fff;color:#1e3a8a}.th-space .garden-streak svg{color:#fff4}.th-space .garden-streak .lit{color:#fde68a}.th-space .garden-companion span{background:#eef2ff}.sp-star{left:var(--x);top:var(--y);width:calc(2px + var(--m3) * 1px);height:calc(2px + var(--m3) * 1px);border-radius:50%;background:#fff;animation:mg-twinkle calc(1.4s + var(--m5) * .5s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.27s)}.sp-moon{top:44px;right:4%;width:44px;height:44px;border-radius:50%;background:#fef9c3;box-shadow:inset -14px -6px #fde68a,0 0 30px #fef9c366}.sp-planet{bottom:40px;left:6%;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#f9a8d4,#a855f7)}.sp-planet:after{content:"";position:absolute;left:-18px;right:-18px;top:26px;height:12px;border-radius:50%;border:3px solid #fbcfe8;transform:rotate(-16deg)}.sp-shoot{top:18%;left:-20%;width:120px;height:2px;background:linear-gradient(90deg,transparent,#fff);transform:rotate(18deg);animation:sp-shoot 7s ease-in infinite}.th-space .gg-pair{background:#ffffff12;border:2px solid #ffffff40;color:#eef2ff;box-shadow:0 0 0 transparent;backdrop-filter:blur(2px);position:relative}.th-space .gg-pair-meaning{color:#fde68a}.th-space .gg-pair-word:after,.th-space .gg-pair-meaning:after{content:"";position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff,0 0 20px #a5b4fc}.th-space .gg-pair-word:after{right:-7px}.th-space .gg-pair-meaning:after{left:-7px}.th-space .gg-pair.is-selected{border-color:#fde68a;background:#fde68a22;box-shadow:0 0 18px #fde68a66;animation:none}.th-space .gg-pair.is-linked{border-color:var(--pair);background:color-mix(in srgb,var(--pair) 18%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--pair) 50%,transparent)}.th-space .gg-pair.is-good{border-color:#fde68a;background:#fde68a2e}.th-space .gg-pair.is-bad{border-color:#f87171;background:#f8717129}.th-space .gg-pair-lines path{stroke-width:4;filter:drop-shadow(0 0 6px currentColor) drop-shadow(0 0 2px #fff)}.th-space .gg-pair-lines path.is-good{stroke:#fde68a;filter:drop-shadow(0 0 8px #fde68a)}.th-space .gg-pair-lines path.is-bad{stroke:#f87171}.th-ocean .garden-response .game-correct,.th-magic .garden-response .game-correct{color:#d9ffe9}.th-space .garden-response .game-correct strong,.th-ocean .garden-response .game-correct strong,.th-magic .garden-response .game-correct strong{color:inherit}@keyframes oc-rays{to{transform:translate(-30px);opacity:.7}}@keyframes oc-rise{to{transform:translateY(-760px) translate(16px);opacity:0}}@keyframes oc-sway{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes oc-swim{0%{left:-12%}to{left:110%}}@keyframes oc-bob{0%{transform:translateY(6px)}to{transform:translateY(-8px)}}@keyframes bl-drift{0%{transform:translateY(4px) rotate(-3deg)}to{transform:translateY(-10px) rotate(3deg)}}@keyframes fx-spin{to{transform:rotate(360deg)}}@keyframes fx-belt{to{background-position:36px 0}}@keyframes fx-arrive{0%{transform:translate(-140%) rotate(-6deg)}}@keyframes fx-drop-right{to{transform:translate(55%,150%) rotate(22deg) scale(.35);opacity:0}}@keyframes fx-drop-left{to{transform:translate(-55%,150%) rotate(-22deg) scale(.35);opacity:0}}@keyframes mg-twinkle{0%{opacity:.25;transform:scale(.7)}to{opacity:1;transform:scale(1.2)}}@keyframes sp-shoot{0%,70%{left:-20%;opacity:0}72%{opacity:1}85%{left:110%;opacity:0}to{left:110%;opacity:0}}@media(max-width:600px){.mg-table{height:176px}.mg-hat{height:128px}.mg-crown{height:100px}.mg-slot.is-up .mg-hat{transform:translateY(-96px) rotate(-8deg)}.mg-card{height:58px}.th-factory .gg-judge-buttons button{width:116px;height:84px}.fx-windows i{height:56px}.th-balloon .garden-bubbles{row-gap:30px}}@media(prefers-reduced-motion:reduce){.oc-rise,.oc-fish,.sp-shoot,.fx-gear{display:none}.fx-belt,.oc-weed,.oc-rays,.mg-spark,.sp-star{animation:none}.mg-slot{transition:none}}.word-runner{--runner-ink: #23382f;--runner-paper: #fffaf0;--runner-paper-dim: #f3ead8;--runner-shade: rgba(35, 56, 47, .18);--runner-muted: #5d6f66;--runner-orange: #f56b3a;--runner-orange-dark: #b8461e;--runner-teal: #1a8b80;--runner-teal-dark: #0f5d55;--runner-gold: #e2a21b;--runner-red: #d94b54;position:fixed;inset:0;z-index:60;overflow:hidden;background:#a8dcec;color:var(--runner-ink);user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.word-runner button{font:inherit;color:inherit;cursor:pointer}.word-runner button:focus-visible{outline:3px solid var(--runner-ink);outline-offset:3px}.runner-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.runner-hud{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px calc(env(safe-area-inset-bottom,0px) + 12px)}.runner-hud>*{pointer-events:auto}.runner-spacer{flex:1;pointer-events:none!important}.runner-topbar{display:flex;align-items:center;gap:8px}.runner-pill{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:22px;background:var(--runner-paper);box-shadow:0 4px 0 var(--runner-shade);font-weight:700;font-size:21px;font-variant-numeric:tabular-nums}.runner-pill svg{width:22px;height:22px;flex:none}.runner-pill small{font-size:13px;opacity:.7}.runner-time.is-short{color:var(--runner-red);animation:runner-throb .5s ease-in-out infinite alternate}.runner-score{margin-inline:auto;color:#8a5a00}.runner-score svg{color:var(--runner-gold)}.runner-score.is-bump{animation:runner-bump .35s ease-out}.runner-round{width:44px;height:44px;flex:none;border-radius:50%;border:0;background:var(--runner-paper);box-shadow:0 4px 0 var(--runner-shade);display:grid;place-items:center;padding:0}.runner-round svg{width:20px;height:20px}.runner-streak{align-self:center;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:16px;background:#fffaf0d9;font-size:13px;font-weight:600}.runner-pips{display:flex;gap:3px}.runner-pips svg{width:16px;height:16px;color:#d6cbb5;transition:color .2s,transform .2s}.runner-pips svg.is-lit{color:var(--runner-gold);transform:scale(1.15)}.runner-streak.is-hot{background:var(--runner-orange);color:var(--runner-paper);animation:runner-glow 1s ease-in-out infinite alternate}.runner-streak.is-hot .runner-pips svg.is-lit{color:var(--runner-paper)}.runner-prompt{align-self:center;width:min(100%,460px);box-sizing:border-box;text-align:center;padding:12px 16px 14px;border-radius:24px;background:var(--runner-paper);box-shadow:0 6px 0 var(--runner-shade);display:grid;gap:4px;justify-items:center;animation:runner-drop .4s cubic-bezier(.2,1.4,.4,1)}.runner-prompt>span{font-size:13px;color:var(--runner-muted);letter-spacing:.04em}.runner-prompt>strong{font-size:clamp(28px,8vw,40px);line-height:1.2;font-weight:800;text-wrap:balance;overflow-wrap:anywhere}.runner-listen-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 12px;margin-top:4px}.runner-listen{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 20px;border:0;border-radius:24px;background:var(--runner-teal);color:var(--runner-paper)!important;font-weight:700;font-size:17px;box-shadow:0 4px 0 var(--runner-teal-dark)}.runner-listen:active{transform:translateY(3px);box-shadow:0 1px 0 var(--runner-teal-dark)}.runner-listen svg{width:22px;height:22px}.runner-text-button{border:0;background:none;padding:8px 2px;font-size:13px;text-decoration:underline;text-underline-offset:3px}.runner-hint{flex-basis:100%;font-size:24px}.runner-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,560px);align-self:center}.runner-lane{--lane: var(--runner-orange);position:relative;min-height:64px;border:3px solid var(--lane);border-radius:18px;background:var(--runner-paper);box-shadow:0 5px 0 var(--lane);display:grid;place-items:center;padding:6px 4px;transition:transform .15s,background .15s,color .15s,opacity .15s}.runner-lane span{font-weight:700;font-size:clamp(15px,4.4vw,22px);line-height:1.1;overflow-wrap:anywhere}.runner-lane.lane-1{--lane: var(--runner-teal)}.runner-lane.lane-2{--lane: var(--runner-gold)}.runner-lane.is-on{background:var(--lane);color:var(--runner-paper)!important;transform:translateY(-5px)}.runner-lane.is-on:after{content:"";position:absolute;top:-14px;left:50%;border:8px solid transparent;border-bottom-color:var(--lane);transform:translate(-50%)}.runner-lane:disabled{cursor:default}.runner-lane:disabled:not(.is-on){opacity:.55}.runner-dash{align-self:center;width:min(100%,560px);min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:28px;background:var(--runner-orange);color:var(--runner-paper)!important;font-size:21px;font-weight:900;letter-spacing:.06em;box-shadow:0 5px 0 var(--runner-orange-dark);transition:transform .1s,opacity .15s}.runner-dash svg{width:24px;height:24px}.runner-dash:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px 0 var(--runner-orange-dark)}.runner-dash:disabled{opacity:.5;cursor:default}.runner-help{margin:0;text-align:center;font-size:12px;opacity:.78;pointer-events:none!important}.runner-error{align-self:center;width:min(100%,460px);box-sizing:border-box;display:grid;gap:10px;padding:14px 16px;border-radius:20px;background:var(--runner-paper);box-shadow:0 6px 0 var(--runner-shade);text-align:center}.runner-error p{margin:0;color:var(--runner-red);font-weight:600}.runner-toast{position:absolute;left:50%;top:35%;transform:translate(-50%,-50%);pointer-events:none;text-align:center;display:grid;gap:6px;justify-items:center;animation:runner-toast 1.5s ease forwards;z-index:2}.runner-toast b{font-size:clamp(34px,10vw,52px);font-weight:900;color:#ffe27a;-webkit-text-stroke:2px var(--runner-ink);paint-order:stroke fill;text-shadow:0 5px 0 var(--runner-ink);white-space:nowrap}.runner-toast.is-bad b{color:#ffd2cf}.runner-toast span{max-width:88vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 14px;border-radius:14px;background:var(--runner-paper);font-weight:600;font-size:15px;box-shadow:0 4px 0 var(--runner-shade)}.runner-fx{position:absolute;inset:0;pointer-events:none;z-index:3}.runner-fly{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;color:var(--runner-gold);filter:drop-shadow(0 3px 0 rgba(0,0,0,.18))}.runner-fly svg{width:100%;height:100%}.runner-plus{position:fixed;left:0;top:0;font-weight:900;font-size:34px;color:#ffe27a;-webkit-text-stroke:2px var(--runner-ink);paint-order:stroke fill}.runner-flash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 50%,rgba(217,75,84,.45));opacity:0}.runner-flash[data-on=true]{animation:runner-flash .5s ease-out}.runner-overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 16px);box-sizing:border-box}.runner-overlay.is-center{align-items:center;background:#23382f47}.runner-card{width:min(100%,460px);max-height:70vh;overflow-y:auto;box-sizing:border-box;background:var(--runner-paper);border-radius:28px;padding:22px 18px 18px;box-shadow:0 8px 0 var(--runner-shade),0 30px 60px #23382f33;display:grid;gap:14px;animation:runner-rise .5s cubic-bezier(.2,1.3,.4,1)}.runner-card h2{margin:0;font-size:clamp(28px,8vw,36px);line-height:1.15;font-weight:900;text-wrap:balance}.runner-card h2:focus{outline:none}.runner-card p{margin:0;font-size:15px;line-height:1.6;color:var(--runner-muted)}.runner-row{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.runner-go{min-height:54px;border:0;border-radius:27px;background:var(--runner-orange);color:var(--runner-paper)!important;font-size:20px;font-weight:800;box-shadow:0 5px 0 var(--runner-orange-dark)}.runner-go:active{transform:translateY(3px);box-shadow:0 2px 0 var(--runner-orange-dark)}.runner-go:disabled{opacity:.6}.runner-secondary{min-height:54px;border:3px solid var(--runner-paper-dim);border-radius:27px;background:var(--runner-paper);font-weight:700;font-size:16px}.runner-result{max-height:64vh}.runner-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.runner-result .game-result{margin:0;padding:0;background:none;box-shadow:none;border:0}.runner-result .game-result-hero img{display:none}.runner-failed{display:grid;place-items:center;padding:16px}.runner-loading{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#a8dcec;color:#23382f;font-size:16px;font-weight:600}@keyframes runner-bump{40%{transform:scale(1.25)}}@keyframes runner-throb{to{transform:scale(1.08)}}@keyframes runner-glow{to{box-shadow:0 0 0 6px #f56b3a40}}@keyframes runner-drop{0%{transform:translateY(-14px) scale(.96);opacity:.3}}@keyframes runner-rise{0%{transform:translateY(40px);opacity:0}}@keyframes runner-flash{30%{opacity:1}}@keyframes runner-toast{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}20%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-70%)}}@media(min-width:760px){.runner-hud{padding-inline:28px}.runner-lane{min-height:74px}}@media(max-height:640px){.runner-prompt>strong{font-size:26px}.runner-lane{min-height:52px}.runner-dash{min-height:48px}.runner-help{display:none}}@media(prefers-reduced-motion:reduce){.word-runner *,.word-runner *:before,.word-runner *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.word-runner .runner-toast{animation:none!important}}.teacher-games{display:grid;gap:24px}.teacher-games h2{font-size:24px}.teacher-games p{line-height:1.7}.teacher-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.teacher-game-grid article{padding:18px;border:1px solid #d8d0c1;border-radius:16px;background:#fffdf8;display:flex;flex-direction:column;align-items:flex-start}.teacher-game-grid h3{font-size:18px;margin:0}.teacher-game-grid h3 small{margin-left:8px;font-size:13px;color:#685b4d}.teacher-game-grid p{flex:1;margin:10px 0 16px}.teacher-games button,.teacher-games select{min-height:44px}.teacher-class-picker{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-weight:700}.teacher-class-picker select{max-width:100%;padding:8px 14px;border:1px solid #b6ac9c;border-radius:10px;background:#fff}.teacher-games fieldset{border:0;padding:0;margin:20px 0}.teacher-games legend{font-weight:700;margin-bottom:12px}.teacher-game-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-game-toggles label{display:flex;gap:10px;align-items:center;min-height:52px;padding:12px;border:1px solid #d8d0c1;border-radius:12px;cursor:pointer}.teacher-game-toggles input{width:22px;height:22px;accent-color:#26786c;flex-shrink:0}.teacher-game-toggles small{margin-left:auto;color:#685b4d;white-space:nowrap}.teacher-score-table{max-width:100%;overflow:auto;margin-top:16px;border:1px solid #d8d0c1;border-radius:12px}.teacher-score-table table{border-collapse:collapse;min-width:1100px;width:100%}.teacher-score-table th,.teacher-score-table td{padding:12px;text-align:left;border-bottom:1px solid #e8e1d5}.teacher-score-table th{background:#f5f0e6}.teacher-score-table small{display:block;color:#685b4d;margin-top:6px}.teacher-game-active{position:fixed;inset:0;z-index:200;background:#fffdf8;overflow:auto}.teacher-games :focus-visible{outline:3px solid #26786c;outline-offset:3px}@media(max-width:640px){.teacher-game-grid,.teacher-game-toggles{grid-template-columns:1fr}.teacher-games h2{font-size:21px}.teacher-game-grid article{padding:16px}}.school-page .teacher-games .word-game-primary{background:#915d36;color:#fffdf8;border-color:#915d36}.school-page .teacher-games .word-game-primary:hover:not(:disabled){background:#7a4c2b}.school-page .teacher-game-toggles label{display:flex;font-size:16px}.school-page .teacher-game-toggles input{width:22px;height:22px;padding:0;flex:0 0 22px}.school-page .teacher-class-picker{display:flex}.school-page .teacher-class-picker select{width:auto;min-width:180px}.speech-gate{max-width:820px;margin:0 auto;padding:18px 16px;box-sizing:border-box;border:1px solid #ecdfcc;border-radius:20px;background:#fffaf2;color:#49352b;text-align:center}.speech-gate.is-sentence{margin-top:16px;padding:16px 16px 18px;text-align:left;scroll-margin:16px}.speech-gate-top{display:flex;align-items:center;justify-content:space-between;min-height:44px}.speech-gate-label{color:#8a6b4f;font-size:12px;font-weight:700}.speech-replay{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#e5f4f1;color:#1a8b80;cursor:pointer}.speech-gate-sentence{max-width:70ch;margin:8px 0 0;color:#3b2a20;font-size:24px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.speech-highlight{max-width:100%;display:inline-flex;flex-direction:column;align-items:flex-start;vertical-align:baseline;line-height:1.15}.speech-gate-sentence mark{background:none;color:inherit;text-decoration-line:underline;text-decoration-color:#f56b3a;text-decoration-thickness:3px;text-underline-offset:4px}.speech-target-meaning{margin-top:4px;color:#79573f;font-size:14px;font-weight:600;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.speech-gate-action{display:flex;flex-direction:column;align-items:center;text-align:center}.is-sentence .speech-gate-action{margin-top:10px}.speech-gate-ring{display:grid;place-items:center;width:104px;height:104px}.speech-gate-button{display:grid;place-items:center;width:76px;height:76px;padding:0;border:0;border-radius:50%;color:#fff;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,box-shadow .15s ease}.speech-gate-button.tone-brown{background:#795338;box-shadow:0 5px #5a3c27}.speech-gate-button.tone-teal{background:#1a8b80;box-shadow:0 5px #11655d}.speech-gate-button.tone-red{background:#d94b54;box-shadow:0 0 0 8px #d94b542e,0 0 0 14px #d94b5414}.speech-gate-button.tone-gray{background:#ece4d9;color:#8a7866;box-shadow:none}.speech-gate-button.tone-teal.is-pulsing{box-shadow:0 0 0 8px #1a8b802e,0 0 0 14px #1a8b8014;animation:speech-ring-teal 1.2s ease-out infinite}.speech-gate-button.tone-red.is-pulsing{animation:speech-ring-red 1.2s ease-out infinite}.speech-gate-button.tone-brown:active:enabled{transform:translateY(3px);box-shadow:0 2px #5a3c27}.speech-gate-button.tone-teal:active:enabled{transform:translateY(3px);box-shadow:0 2px #11655d}.speech-gate-button:disabled{cursor:default}.speech-gate-button.tone-brown:disabled,.speech-gate-button.tone-teal:disabled:not(.is-pulsing){transform:translateY(3px);box-shadow:0 2px #5a3c278c}.speech-gate-button:focus-visible,.speech-replay:focus-visible,.speech-skip:focus-visible{outline:3px solid #8d6242;outline-offset:4px}.speech-gate-main{margin:6px 0 0;color:#49352b;font-size:16px;font-weight:700;line-height:24px}.speech-score{color:#c2410c;font-weight:800;font-variant-numeric:tabular-nums}.speech-time{font-variant-numeric:tabular-nums}.speech-gate-sub{display:flex;align-items:center;justify-content:center;gap:5px;margin:2px 0 0;color:#7a6049;font-size:12px;line-height:18px}.speech-level{display:inline-flex;align-items:center;gap:3px;height:14px}.speech-level i{display:block;width:3px;height:14px;border-radius:2px;background:#d94b54;transform-origin:center;transition:transform .09s linear}.speech-skip{min-height:40px;margin-top:4px;padding:0 12px;border:0;background:none;color:#8a6b4f;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.speech-spinner{animation:speech-spin .9s linear infinite}.speech-passed{display:flex;align-items:center;gap:10px;max-width:820px;margin:0 auto 14px;padding:12px 14px;box-sizing:border-box;border:1px solid #cfe5d6;border-radius:16px;background:#eef7f0;color:#30664b;text-align:left}.speech-passed.is-sentence{margin:16px auto 0}.speech-passed b{font-size:18px;line-height:30px;font-variant-numeric:tabular-nums}.speech-passed>span:last-child{font-size:14px;font-weight:600;line-height:20px}.speech-passed-mark{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:50%;background:#30664b;color:#fff}.speech-passed.is-skipped{border-color:#e6ddd0;background:#f6f1ea;color:#6e5a48}.speech-passed.is-skipped .speech-passed-mark{background:#a08b78}@keyframes speech-ring-red{0%{box-shadow:0 0 #d94b5461,0 0 #d94b5433}to{box-shadow:0 0 0 10px #d94b5400,0 0 0 18px #d94b5400}}@keyframes speech-ring-teal{0%{box-shadow:0 0 #1a8b8061,0 0 #1a8b8033}to{box-shadow:0 0 0 10px #1a8b8000,0 0 0 18px #1a8b8000}}@keyframes speech-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.speech-gate-button.is-pulsing,.speech-spinner{animation:none}.speech-level i{transition:none}}@media(max-width:620px){.speech-gate.is-sentence{margin-top:10px;padding:11px 12px 13px;border-radius:16px;scroll-margin:8px}.speech-gate-top{min-height:36px}.speech-replay{width:40px;height:40px}.speech-gate-sentence{margin-top:4px;font-size:22px;line-height:1.6}.is-sentence .speech-gate-action{margin-top:4px}.speech-gate-ring{width:84px;height:84px}.speech-gate-button{width:66px;height:66px}.speech-gate-main{margin-top:3px;font-size:15px;line-height:21px}.speech-gate-sub{line-height:16px}.speech-skip{min-height:36px;margin-top:0}}@media(max-width:620px)and (max-height:760px){.speech-gate.is-sentence{padding-top:9px;padding-bottom:10px}.speech-gate-ring{width:76px;height:76px}.speech-gate-button{width:60px;height:60px}}:root{--ink: #14242a;--muted: #66757a;--paper: #fffdf8;--cream: #f6f1e8;--line: #e6e3db;--orange: #f56b3a;--orange-dark: #db4c20;--orange-soft: #fff0e8;--teal: #1a8b80;--teal-soft: #e5f4f1;--red: #d94b54;--shadow: 0 24px 70px #2133341f}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:DM Sans,Noto Sans SC,system-ui,sans-serif}button,input{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible,a:focus-visible){outline-offset:3px;outline:3px solid #1a8b8047}.app-loading{background:radial-gradient(circle at 50% 34%,#fff 0,#fff8ef 38%,var(--cream) 100%);place-content:center;justify-items:center;gap:18px;min-height:100vh;display:grid}.app-loading span,.auth-logo,.app-brand>span{color:#fff;background:var(--orange);place-items:center;font-weight:900;display:grid;transform:rotate(-4deg);box-shadow:6px 6px #ffd6bf}.app-loading span{border-radius:18px;width:58px;height:58px;font-size:30px}.app-loading p{color:var(--muted);font-weight:700}.auth-page{grid-template-columns:minmax(360px,1.05fr) minmax(440px,.95fr);min-height:100vh;display:grid}.auth-brand{color:#fff;background:#173e3c;flex-direction:column;justify-content:center;min-height:100vh;padding:clamp(42px,7vw,96px);display:flex;position:relative;overflow:hidden}.auth-brand:before,.auth-brand:after{content:"";border:1px solid #ffffff29;border-radius:50%;position:absolute}.auth-brand:before{width:480px;height:480px;top:-160px;right:-180px}.auth-brand:after{width:260px;height:260px;bottom:-100px;left:-100px}.auth-logo{border-radius:17px;width:58px;height:58px;margin-bottom:24px;font-size:30px}.auth-brand>span{color:#82cdc4;letter-spacing:.2em;font-size:13px;font-weight:800}.auth-brand h1{z-index:1;letter-spacing:-.055em;max-width:680px;margin:20px 0 22px;font-size:clamp(43px,5vw,76px);line-height:1.09;position:relative}.auth-brand>p{color:#c1d7d3;max-width:560px;margin:0;font-size:17px;line-height:1.8}.auth-steps{align-items:center;gap:20px;margin-top:58px;display:flex}.auth-steps b{align-items:baseline;gap:8px;font-size:26px;display:flex}.auth-steps small{color:#b9d4cf;font-size:13px;font-weight:500}.auth-steps i{background:#ffffff3b;width:42px;height:1px}.auth-panel{background:#fffaf3;place-items:center;padding:48px 7vw;display:grid}.auth-card{width:min(430px,100%)}.auth-modal{background:var(--paper);width:min(470px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow);border-radius:24px;padding:42px 36px 34px;position:relative;overflow:auto}.auth-modal .auth-card{width:100%}.auth-modal .auth-tabs{margin-bottom:30px;padding-right:42px}.auth-heading p{color:var(--muted);margin:-22px 0 28px;font-size:13px}.auth-backdrop{z-index:70}.auth-tabs{border-bottom:1px solid var(--line);gap:26px;margin-bottom:42px;display:flex}.auth-tabs button{color:#9a9d9c;cursor:pointer;background:0 0;border:0;padding:0 2px 15px;font-weight:700;position:relative}.auth-tabs button.active{color:var(--ink)}.auth-tabs button.active:after{content:"";background:var(--orange);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px;left:0;right:0}.auth-heading span,.page-title>span,.review-ranking header span{color:var(--orange);letter-spacing:.18em;font-size:12px;font-weight:900}.auth-heading h2{letter-spacing:-.04em;margin:8px 0 34px;font-size:30px}.auth-card>label{gap:10px;margin-top:18px;font-size:14px;font-weight:700;display:grid}.auth-card input,.library-toolbar input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;padding:16px 17px;transition:all .2s}.auth-card input:focus:focus,.library-toolbar input:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 4px #1a8b8017}.form-error{color:var(--red);margin:14px 0 0;font-size:14px;font-weight:700}.auth-submit,.daily-copy>button,.practice-footer>button,.summary-modal>button{color:#fff;background:var(--orange);cursor:pointer;border:0;border-radius:14px;justify-content:space-between;align-items:center;width:100%;padding:17px 20px;font-weight:800;transition:transform .2s,background .2s;display:flex;box-shadow:0 10px 24px #f56b3a3b}.auth-submit{margin-top:28px}.auth-submit:hover,.daily-copy>button:hover,.practice-footer>button:hover,.summary-modal>button:hover{background:var(--orange-dark);transform:translateY(-2px)}.auth-submit:disabled,.practice-footer>button:disabled{opacity:.45;cursor:not-allowed;transform:none}.auth-submit span,.daily-copy>button span,.practice-footer>button span{font-size:21px}.auth-note{color:#949a99;text-align:center;margin:18px 0 0;font-size:13px}.learner-app{background:var(--paper);min-height:100vh}.app-header{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f0;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 max(24px,50vw - 590px);display:grid;position:sticky;top:0}.app-brand{cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:12px;padding:0;display:flex}.app-brand>span{border-radius:10px;width:34px;height:34px;font-size:18px;box-shadow:4px 4px #ffd6bf}.app-brand b{font-size:17px}.app-header nav{align-self:stretch;gap:34px;display:flex}.app-header nav button{color:#7a8383;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:14px;font-weight:700;position:relative}.app-header nav button.active{color:var(--ink)}.app-header nav button.active:after{content:"";background:var(--orange);height:3px;position:absolute;bottom:0;left:0;right:0}.account-chip{justify-self:end;align-items:center;gap:10px;display:flex}.account-chip>span{width:38px;height:38px;color:var(--teal);background:var(--teal-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:900;display:grid}.account-chip div{gap:1px;display:grid}.account-chip b{font-size:12px}.account-chip button{color:#919897;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.login-trigger{border:1px solid var(--orange);color:var(--orange);cursor:pointer;background:#fff;border-radius:12px;justify-self:end;align-items:center;gap:4px;padding:10px 15px;font-size:12px;transition:all .2s;display:flex}.login-trigger:hover{color:#fff;background:var(--orange);transform:translateY(-1px);box-shadow:0 8px 20px #f56b3a33}.login-trigger span,.login-trigger b{font-weight:800}.dashboard-page,.library-page,.report-page{width:min(1180px,100% - 48px);margin:0 auto;padding:58px 0 90px}.dashboard-intro>span{color:var(--teal);letter-spacing:.08em;font-size:13px;font-weight:800}.dashboard-intro h1{letter-spacing:-.05em;margin:8px 0 7px;font-size:clamp(30px,4vw,47px)}.dashboard-intro p{color:var(--muted);margin:0;font-size:16px}.daily-card{min-height:430px;box-shadow:var(--shadow);background:#173e3c;border-radius:28px;grid-template-columns:1fr .84fr;margin-top:38px;display:grid;position:relative;overflow:hidden}.daily-card:before{content:"";background:radial-gradient(circle,#42988f4d,#0000 66%);position:absolute;inset:-10% 44% 55% -10%}.daily-copy{z-index:2;color:#fff;align-self:center;padding:clamp(42px,6vw,72px);position:relative}.card-kicker{color:#79c8bf;letter-spacing:.18em;font-size:12px;font-weight:900}.daily-copy h2{letter-spacing:-.055em;margin:12px 0 15px;font-size:clamp(36px,4.3vw,57px);line-height:1.08}.daily-copy>p{color:#bcd4d0;max-width:520px;margin:0;line-height:1.7}.daily-counts{gap:22px;margin:28px 0;display:flex}.daily-counts b{color:#dceae8;font-size:13px}.daily-counts em{color:#fff;font-size:24px;font-style:normal}.daily-copy>button{width:220px}.daily-orbit{place-items:center;min-height:430px;display:grid;position:relative}.book-spine{z-index:3;color:#173e3c;background:#f7e8ca;border-radius:8px 19px 19px 8px;width:205px;height:282px;padding:42px 26px;position:relative;transform:rotate(7deg);box-shadow:-14px 13px #d1a75f,0 30px 60px #00000045}.book-spine:before{content:"";border-left:2px solid #173e3c26;position:absolute;top:0;bottom:0;left:17px}.book-spine span{letter-spacing:.06em;font-size:24px;font-weight:900}.book-spine b{letter-spacing:-.08em;margin-top:42px;font-size:72px;line-height:1;display:block}.book-spine small{letter-spacing:.1em;font-weight:800}.daily-orbit>i{border:1px solid #ffffff29;border-radius:50%;position:absolute}.orbit-one{width:365px;height:365px}.orbit-two{width:500px;height:500px}.mini-badge{z-index:4;color:#173e3c;background:#81cec4;border-radius:50%;place-items:center;width:92px;height:92px;font-size:27px;font-weight:900;display:grid;position:absolute;bottom:13%;right:11%;box-shadow:0 12px 30px #0003}.mini-badge small{margin-top:-11px;font-size:10px;font-weight:700;display:block}.dashboard-stats{grid-template-columns:1fr 1fr 1.25fr;gap:18px;margin-top:20px;display:grid}.dashboard-stats article,.dashboard-stats>button{border:1px solid var(--line);text-align:left;background:#fff;border-radius:20px;min-height:150px;padding:25px}.dashboard-stats article>span{color:var(--muted);font-size:13px;font-weight:700}.dashboard-stats article>b{margin-top:15px;font-size:35px;display:block}.dashboard-stats article small{color:#8a9594;margin-left:6px;font-size:12px}.dashboard-stats article>div{background:#edf0ed;border-radius:8px;height:7px;margin-top:18px;overflow:hidden}.dashboard-stats article>div i{border-radius:inherit;background:var(--teal);height:100%;display:block}.dashboard-stats article p{color:#8a9594;margin:8px 0 0;font-size:12px}.dashboard-stats>button{color:#fff;background:var(--orange);cursor:pointer;border:0;grid-template-columns:1fr auto;align-content:center;display:grid}.dashboard-stats>button span{opacity:.8;grid-column:1;font-size:12px}.dashboard-stats>button b{grid-column:1;margin-top:5px;font-size:18px}.dashboard-stats>button i{grid-area:1/2/3;align-self:center;font-size:30px;font-style:normal}.practice-page{background:#fbfaf6;min-height:100vh;padding:0 24px 118px}.practice-header{z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf6f0;align-items:center;gap:22px;width:min(920px,100%);height:88px;margin:0 auto;display:flex;position:sticky;top:0}.practice-back{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;flex:none;width:42px;height:42px;font-size:30px;line-height:1}.practice-progress{flex:1}.practice-progress>div:first-child{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.practice-progress span{color:var(--muted);font-size:12px;font-weight:700}.practice-progress b{color:var(--teal);font-size:12px}.progress-track{background:#e8e8e2;border-radius:8px;height:7px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--orange);height:100%;transition:width .35s;display:block}.stage-2 .progress-track i{background:var(--teal)}.question-card{text-align:center;width:min(820px,100%);margin:40px auto 0}.question-main{min-width:0}.question-kicker{color:#7d8987;letter-spacing:.08em;font-size:13px;font-weight:800;display:block}.word-question{grid-template-columns:auto auto;align-items:center;column-gap:15px;margin:38px 0 52px;display:inline-grid;position:relative}.word-question h1{letter-spacing:-.06em;margin:0;font-size:clamp(55px,8vw,92px);line-height:1}.word-question button,.sentence-question button,.detail-word button{background:var(--teal-soft);cursor:pointer;border:0;border-radius:50%;width:44px;height:44px}.word-question p{color:var(--orange);grid-column:1/-1;margin:14px 0 0;font-weight:800}.word-question>small{max-width:620px;color:var(--muted);grid-column:1/-1;margin-top:12px;font-size:14px;line-height:1.6}.example-translation{color:#77817f;grid-column:1/-1;max-width:620px;margin:5px auto 0;font-size:13px;line-height:1.65}.sentence-question{justify-content:center;align-items:flex-start;gap:16px;min-height:166px;margin:38px auto 28px;display:flex;position:relative}.sentence-question button{flex:none;margin-top:6px}.sentence-question h1{letter-spacing:-.035em;max-width:740px;margin:0;font-size:clamp(28px,4.1vw,45px);line-height:1.35}.answer-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.answer-grid>button{border:2px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:18px;min-height:90px;padding:20px 56px 20px 22px;transition:border .18s,transform .18s,background .18s;position:relative}.answer-grid>button:hover:not(:disabled){border-color:#b9cac7;transform:translateY(-2px)}.answer-grid>button.selected{border-color:var(--teal);background:#f4fbf9}.answer-grid>button.correct{border-color:var(--teal);background:var(--teal-soft)}.answer-grid>button.wrong{border-color:var(--red);background:#fff1f2}.answer-grid>button>span{font-size:17px;font-weight:800;display:block}.answer-grid>button>small{color:var(--muted);margin-top:7px;line-height:1.5;display:block}.answer-grid>button>i{color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:18px;font-style:normal;display:grid;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.answer-grid>button.correct>i{background:var(--teal)}.answer-grid>button.wrong>i{background:var(--red)}.answer-result{background:var(--teal-soft);text-align:left;border-radius:20px;margin-top:20px;padding:23px}.answer-result.incorrect{background:#fff0ec}.result-title{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.result-title b{color:var(--teal);font-size:18px}.incorrect .result-title b{color:var(--red)}.result-title span{color:var(--muted);font-size:13px}.complete-example{margin:14px 0 17px;font-size:16px;font-weight:700;line-height:1.7}.result-translation{color:var(--muted);margin:-10px 0 18px;font-size:14px;line-height:1.7}.practice-footer{z-index:19;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f5;padding:17px 24px 21px;position:fixed;bottom:0;left:0;right:0}.practice-footer>button{width:min(820px,100%);margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.page-title{margin-bottom:38px}.page-title h1{letter-spacing:-.055em;margin:9px 0 7px;font-size:clamp(33px,4.5vw,50px)}.page-title p{color:var(--muted);margin:0}.library-toolbar{grid-template-columns:minmax(250px,1fr) auto auto;align-items:center;gap:18px;margin-bottom:18px;display:grid}.library-toolbar>label{position:relative}.library-toolbar>label>span{z-index:1;color:#87918f;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.library-toolbar input{padding-left:42px}.library-toolbar>div{background:#eeeae2;border-radius:12px;padding:4px;display:flex}.library-toolbar>div button{color:#77817f;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:700}.library-toolbar>div button.active{color:var(--ink);background:#fff;box-shadow:0 3px 10px #1e2a2a14}.library-toolbar>b{color:var(--muted);font-size:12px}.library-list{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden}.library-list>button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #efede7;grid-template-columns:56px minmax(150px,.75fr) minmax(240px,1.8fr) 125px 20px;align-items:center;gap:14px;width:100%;min-height:74px;padding:12px 22px;display:grid}.library-list>button:last-child{border-bottom:0}.library-list>button:hover{background:#fcfaf6}.library-id{color:#a3aaa8;font-size:11px;font-weight:700}.library-word{align-items:baseline;gap:8px;display:flex}.library-word b{font-size:17px}.library-word small,.library-meaning{color:var(--muted);font-size:12px}.library-meaning{font-size:14px}.library-state{color:#8b9290;background:#f0efea;border-radius:20px;justify-self:end;padding:6px 9px;font-size:11px;font-weight:700}.library-state.review{color:var(--red);background:#fff0f1}.library-state.learned{color:var(--teal);background:var(--teal-soft)}.library-list>button>i{color:#a5aaa8;font-size:22px;font-style:normal}.report-metrics{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.report-metrics article{border:1px solid var(--line);background:#fff;border-radius:18px;min-height:130px;padding:23px}.report-metrics article>span{color:var(--muted);font-size:12px;font-weight:700}.report-metrics article>b{margin-top:17px;font-size:35px;display:block}.report-metrics article small{color:#9aa19f;margin-left:5px;font-size:11px}.review-ranking{border:1px solid var(--line);background:#fff;border-radius:20px;margin-top:22px;padding:28px}.review-ranking>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:30px;padding-bottom:22px;display:flex}.review-ranking h2{margin:7px 0 0;font-size:25px}.review-ranking header p{max-width:420px;color:var(--muted);text-align:right;margin:0;font-size:12px}.review-ranking article{border-bottom:1px solid #f0eee8;grid-template-columns:38px 1fr auto auto;align-items:center;gap:18px;min-height:68px;display:grid}.review-ranking article:last-child{border-bottom:0}.review-ranking article>b{width:28px;height:28px;color:var(--orange);background:var(--orange-soft);border-radius:50%;place-items:center;font-size:12px;display:grid}.review-ranking article span{display:grid}.review-ranking article strong{font-size:15px}.review-ranking article small{color:var(--muted)}.review-ranking article em{color:var(--red);font-size:12px;font-style:normal;font-weight:700}.review-ranking article>i{color:var(--muted);font-size:11px;font-style:normal}.empty-report{color:var(--muted);text-align:center;padding:46px 0 20px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f1c1db8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.feature-backdrop{z-index:40}.feature-panel{background:var(--paper);width:min(1180px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow);border-radius:24px;position:relative;overflow:auto}.feature-panel .library-page,.feature-panel .report-page{width:100%;margin:0;padding:48px 40px 56px}.feature-panel>.modal-close{z-index:4;float:right;margin:18px 18px -54px 0;position:sticky;top:18px;right:auto}.word-detail,.summary-modal{background:var(--paper);width:min(680px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow);border-radius:24px;padding:36px;position:relative;overflow:auto}.modal-close{cursor:pointer;background:#ecece7;border:0;border-radius:50%;width:36px;height:36px;font-size:24px;position:absolute;top:18px;right:20px}.detail-id{color:var(--orange);letter-spacing:.15em;font-size:11px;font-weight:900}.detail-word{align-items:center;gap:13px;margin-top:5px;display:flex}.detail-word h2{letter-spacing:-.05em;margin:0;font-size:43px}.detail-meaning{color:var(--teal);margin:6px 0 17px;font-weight:800}.word-detail blockquote{border-left:3px solid var(--orange);color:#50605f;margin:0 0 20px;padding:4px 0 4px 16px;line-height:1.7}.detail-translation{color:var(--muted);margin:-13px 0 20px;padding-left:19px;font-size:14px;line-height:1.7}.summary-modal{text-align:center;width:min(480px,100%)}.summary-icon{color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:68px;height:68px;margin:0 auto 22px;font-size:30px;font-weight:900;display:grid}.summary-modal>span{color:var(--orange);letter-spacing:.16em;font-size:11px;font-weight:900}.summary-modal h2{margin:9px 0;font-size:28px}.summary-modal p{color:var(--muted);margin:0}.summary-modal>b{color:var(--teal);margin:18px 0;font-size:58px;display:block}.summary-modal>div:not(.summary-icon){color:var(--muted);justify-content:center;gap:44px;margin:0 0 26px;font-size:12px;display:flex}.summary-modal>div strong{color:var(--ink);font-size:22px;display:block}.summary-modal>button{justify-content:center}.toast{z-index:80;color:#fff;background:#203c3a;border-radius:12px;padding:11px 18px;font-size:13px;font-weight:700;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #00000038}@media(max-width:880px){.auth-page{grid-template-columns:1fr}.auth-brand{min-height:auto;padding:58px 8vw}.auth-brand h1{font-size:46px}.auth-steps{margin-top:35px}.auth-panel{min-height:590px}.app-header{grid-template-columns:1fr auto;padding:0 20px}.app-header nav{z-index:25;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-radius:17px;justify-content:space-around;gap:0;height:58px;position:fixed;bottom:12px;left:14px;right:14px;box-shadow:0 12px 40px #19282921}.app-header nav button.active:after{inset:0 24% auto}.dashboard-page,.library-page,.report-page{padding-bottom:100px}.daily-card{grid-template-columns:1fr}.daily-orbit{display:none}.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-stats>button{grid-column:1/-1}.report-metrics{grid-template-columns:1fr 1fr}.library-list>button{grid-template-columns:45px 1fr 120px 16px}.library-meaning{grid-column:2}.library-state{grid-area:1/3/3}.library-list>button>i{grid-area:1/4/3}}@media(max-width:620px){.auth-brand{padding:42px 24px 46px}.auth-brand h1{font-size:38px}.auth-brand>p{font-size:14px}.auth-steps{gap:10px}.auth-steps i{width:20px}.auth-panel{min-height:560px;padding:42px 24px}.account-chip div{display:none}.login-trigger{padding:9px 11px}.dashboard-page,.library-page,.report-page{width:min(100% - 30px,1180px);padding-top:34px}.daily-card{border-radius:22px;min-height:440px}.daily-copy{padding:36px 27px}.daily-copy h2{font-size:38px}.daily-copy>button{width:100%}.dashboard-stats,.report-metrics{grid-template-columns:1fr}.practice-page{padding:0 15px 112px}.practice-header{height:76px}.question-card{margin-top:26px}.word-question{margin:30px 0 38px}.sentence-question{min-height:140px}.sentence-question h1{font-size:27px}.answer-grid{grid-template-columns:1fr;gap:10px}.answer-grid>button{min-height:72px}.result-title{display:grid}.library-toolbar{grid-template-columns:1fr auto}.library-toolbar>div{grid-area:2/1 / auto/-1;justify-content:stretch}.library-toolbar>div button{flex:1}.library-list>button{grid-template-columns:36px 1fr 16px;padding:12px 15px}.library-state{grid-area:2/2;justify-self:start}.library-list>button>i{grid-area:1/3/3}.library-meaning{display:none}.review-ranking{padding:20px}.review-ranking>header{display:block}.review-ranking header p{text-align:left;margin-top:9px}.review-ranking article{grid-template-columns:30px 1fr auto;gap:10px;padding:10px 0}.review-ranking article>i{grid-column:2/-1}.word-detail,.summary-modal{padding:28px 20px}.auth-modal{padding:36px 22px 28px}.feature-backdrop{padding:10px}.feature-panel{border-radius:18px;max-height:calc(100vh - 20px)}.feature-panel .library-page,.feature-panel .report-page{width:100%;padding:38px 16px 84px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.kids-dashboard{color:#3d5149;max-width:1120px;margin:auto;padding:30px 28px 45px}.kids-heading,.kids-section-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.kids-heading h1{margin:10px 0 24px;font-size:clamp(21px,3vw,31px)}.kids-eyebrow,.kids-hero-note,.kids-bottom-note{color:#73847a;font-size:13px}.kids-wave{color:#e7ac4d;padding-left:10px}.kids-day-badge,.kids-pill{white-space:nowrap;background:#fff2d0;border-radius:25px;padding:9px 15px;font-size:13px}.kids-hero{background:#e7f2e7;border:2px solid #d5e6d5;border-radius:32px;grid-template-columns:1.15fr 1fr;padding:36px 48px;display:grid;position:relative;overflow:hidden}.kids-hero h2{letter-spacing:1px;margin:24px 0 18px;font-size:clamp(34px,5vw,55px);line-height:1.22}.kids-hero p{color:#647969;line-height:1.7}.kids-primary{color:#fff;cursor:pointer;background:#42765a;border:0;border-radius:17px;justify-content:space-between;align-items:center;gap:20px;min-width:230px;margin:24px 0 14px;padding:17px 22px;font-weight:750;display:flex;box-shadow:0 5px #305640}.kids-hero-art{place-items:center;min-height:300px;display:grid;position:relative}.kids-hero-art .bear-mascot{z-index:1;width:min(285px,100%)}.kids-bear-bubble{background:#fff;border-radius:22px 22px 22px 3px;padding:12px 18px;position:absolute;top:5px;right:5px;transform:rotate(5deg)}.kids-art-letter,.kids-art-flower{color:#dda257;font-size:35px;font-weight:800;position:absolute}.kids-letter-a{top:35px;left:8px;transform:rotate(-14deg)}.kids-letter-b{color:#92b8a4;bottom:50px;right:0;transform:rotate(12deg)}.kids-art-flower{bottom:25px;left:15px}.kids-lower-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:24px;display:grid}.kids-route-panel,.kids-growth-panel{background:#fff;border:1px solid #e6e9dc;border-radius:25px;padding:25px}.kids-section-title h2{margin:0;font-size:19px}.kids-section-title>span{color:#8a9388;font-size:12px}.kids-section-title button{color:#507961;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;display:flex}.kids-route{margin-top:23px}.kids-route-stop{align-items:center;gap:14px;display:flex}.kids-stop-icon{color:#b98734;background:#fff1cd;border-radius:17px;place-items:center;width:52px;height:52px;font-size:26px;display:grid}.kids-stop-label{color:#8b9388;font-size:11px}.kids-route h3{margin:4px 0;font-size:17px}.kids-route p{color:#7b857a;margin:0;font-size:13px}.kids-stop-check{color:#afbaac;margin-left:auto}.kids-route-connector{border-left:3px dotted #d9e4d2;height:24px;margin:7px 25px}.kids-route-note{color:#898570;background:#faf8ef;border-radius:12px;margin:22px 0 0;padding:12px;font-size:12px}.kids-stats{text-align:center;grid-template-columns:repeat(3,1fr);margin:22px 0;display:grid}.kids-stats>div{border-right:1px solid #eceee5;gap:7px;display:grid}.kids-stats>div:last-child{border:0}.kids-stat-icon{color:#d5a059}.kids-stats strong{font-size:26px}.kids-stats small,.kids-stats div>span:last-child{color:#8a9389;font-size:12px;font-weight:400}.kids-stats small{margin-left:4px}.kids-word-progress>div:first-child{justify-content:space-between;font-size:12px;display:flex}.kids-word-progress strong>span{color:#a0a69a;font-weight:400}.kids-progress-track{background:#f0f2e8;border-radius:8px;height:9px;margin-top:10px;overflow:hidden}.kids-progress-track>span{border-radius:inherit;background:#8bb89a;height:100%;display:block}.kids-library-link{text-align:left;color:#526b55;cursor:pointer;background:#f6f7ee;border:0;border-radius:15px;align-items:center;gap:12px;width:100%;margin-top:20px;padding:14px;display:flex}.kids-book-icon{font-size:30px}.kids-library-link small{color:#909884;margin-top:5px;font-size:11px;font-weight:400;display:block}.kids-library-link svg{margin-left:auto}.kids-bottom-note{text-align:center;margin-top:26px}.bear-arm{transform-origin:165px 150px;animation:2.4s ease-in-out infinite bear-wave}.bear-eyes{transform-origin:50%;animation:6s infinite bear-blink}.bear-celebrate .bear-body{transform-origin:bottom;animation:.6s ease-in-out 3 bear-hop}.bear-celebrate .bear-sparkles{animation:.7s 5 alternate bear-glow}.bear-calm .bear-arm{animation:none}@keyframes bear-wave{0%,60%,to{transform:rotate(0)}15%,40%{transform:rotate(15deg)}25%{transform:rotate(-8deg)}}@keyframes bear-hop{50%{transform:translateY(-10px) rotate(-4deg)}}@keyframes bear-blink{0%,45%,49%,to{transform:scaleY(1)}47%{transform:scaleY(.1)}}@keyframes bear-glow{to{opacity:.3;transform:translateY(-4px)}}.sync-status{text-align:center;color:#738477;background:#f1f5eb;padding:7px 12px;font-size:12px}.sync-status button{color:#35684d;cursor:pointer;background:0 0;border:0;margin-left:10px;text-decoration:underline}.sound-toggle{color:#547461;cursor:pointer;background:#fff;border:1px solid #dce3d8;border-radius:12px;padding:9px}.sound-toggle span{font-size:10px;display:block}.accent-toggle{min-width:46px;font-weight:700;letter-spacing:.02em}.sentence-illustration{aspect-ratio:1;object-fit:contain;border-radius:17px;grid-column:1/-1;width:180px;max-width:70vw;height:auto;margin:14px auto;display:block}.sentence-question{flex-direction:column;align-items:center;gap:12px}.revealed-word{font-size:23px;font-weight:750}.word-question{margin:24px 0 30px}.answer-grid>button{position:relative;overflow:visible}.answer-grid>button.selected:not(.wrong):not(.correct){background:#fff0cd;border:2px solid #e1a348;box-shadow:0 0 0 3px #f9e8be}.answer-grid>button:disabled{cursor:default}.answer-bear{pointer-events:none;width:70px;height:74px;position:absolute;top:-50px;right:-8px}.answer-bear svg{width:100%;height:100%}.feedback-slot{min-height:84px}.practice-footer>small{text-align:center;color:#849083;margin-top:9px;font-size:11px;display:block}@media(max-width:700px){.kids-dashboard{padding:22px 16px}.kids-heading{align-items:flex-start}.kids-heading h1{font-size:21px}.kids-day-badge{padding:8px;font-size:11px}.kids-hero{grid-template-columns:1fr;padding:25px}.kids-hero-art{grid-row:1;min-height:210px}.kids-hero-art .bear-mascot{width:185px}.kids-hero h2{margin-top:17px;font-size:36px}.kids-hero-copy{text-align:center}.kids-primary{width:100%}.kids-lower-grid{grid-template-columns:1fr}.kids-bear-bubble{right:10%}.kids-letter-a{left:10%}.kids-letter-b{right:10%}.practice-header{gap:12px}.sentence-illustration{width:150px}.question-card{margin-top:22px}.answer-bear{width:56px;height:60px;top:-40px}}@media(prefers-reduced-motion:reduce){.bear-mascot *{animation:none!important}.progress-track i{transition:none}}@media(max-width:880px){.app-header{gap:10px;height:auto;min-height:106px;padding:12px 18px 0}.app-header nav{height:42px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-area:2/1 / auto/-1;position:static}.app-header nav button.active:after{top:auto;bottom:0}.account-chip,.login-trigger{grid-area:1/2}.account-chip div{display:grid}.account-chip b{display:none}.account-chip button{padding:8px 2px;font-size:12px}.kids-heading h1{max-width:250px;line-height:1.5}.kids-wave{display:none}}.auth-remember-note{color:#7c8b80;font-size:12px;line-height:1.6}.unrevealed{visibility:hidden}.stage-2.practice-page,.stage-3.practice-page{padding-bottom:24px}.stage-2 .question-card,.stage-3 .question-card{margin-top:18px}.compact-sentence{text-align:left;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:22px;min-height:160px;margin:18px auto 24px;display:grid}.sentence-picture-slot{background:#f2f1e8;border-radius:18px;place-items:center;width:140px;height:140px;display:grid}.sentence-picture-slot .sentence-illustration{width:140px;height:140px;margin:0}.picture-placeholder{color:#b7bd9e;text-align:center;font-size:38px}.picture-placeholder small{color:#899179;margin-top:8px;font-size:11px;display:block}.sentence-copy{min-width:0}.sentence-copy h1{overflow-wrap:anywhere;font-size:clamp(21px,3vw,30px);line-height:1.45}.sentence-copy .example-translation{min-height:2.5em;margin:10px 0 0;font-size:13px}.stage-2 .answer-grid,.stage-3 .answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stage-2 .answer-grid>button,.stage-3 .answer-grid>button{overflow-wrap:anywhere;min-height:86px;padding:15px 38px 13px 18px}.stage-2 .answer-grid>button>small,.stage-3 .answer-grid>button>small{min-height:1.4em}.stage-2 .feedback-slot,.stage-3 .feedback-slot{min-height:85px}.stage-2 .practice-footer,.stage-3 .practice-footer{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:14px 0;position:static}.stage-3 .progress-track i{background:#d8a052}@media(max-width:620px){.compact-sentence{grid-template-columns:96px minmax(0,1fr);gap:12px;min-height:144px;margin:14px auto 20px}.sentence-picture-slot,.sentence-picture-slot .sentence-illustration{width:96px;height:96px}.sentence-copy h1{font-size:19px;line-height:1.4}.sentence-copy .example-translation{font-size:12px;line-height:1.45}.stage-2 .answer-grid>button,.stage-3 .answer-grid>button{min-height:82px;padding:12px 28px 12px 12px;font-size:16px}.stage-2 .answer-grid>button>i,.stage-3 .answer-grid>button>i{width:20px;height:20px;font-size:13px;right:8px}.stage-2 .answer-bear,.stage-3 .answer-bear{width:43px;height:46px;top:-32px;right:0}.stage-2 .answer-result,.stage-3 .answer-result{margin-top:16px;padding:14px}.stage-2 .feedback-slot,.stage-3 .feedback-slot{min-height:92px}}.app-brand>.brand-logo{aspect-ratio:700/270;width:170px;height:auto;box-shadow:none;background:0 0;border-radius:0;display:block;transform:none}.brand-bear{object-fit:contain;mix-blend-mode:multiply;height:auto}.brand-bear.bear-wave{animation:4s ease-in-out infinite brand-sway}.brand-bear.bear-celebrate{animation:.6s ease-in-out 3 bear-hop}@keyframes brand-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg) translateY(-5px)}}.kids-hero{background:#fff0da;border-color:#f0d7b4}.kids-dashboard{color:#704729}.kids-primary{background:#915a31;box-shadow:0 5px #6f4124}.kids-hero p{color:#907156}.kids-pill{background:#ffdf9f}.kids-letter-b{color:#c89459}.kids-bear-bubble{color:#7a4b28}.kids-stop-review{color:#ac773b;background:#f7e8d5}.answer-bear img{width:100%;height:100%}.practice-page{padding-bottom:24px}.practice-page .practice-footer{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:14px 0;position:static}.exercise-layout{text-align:left;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:24px;min-height:200px;margin:22px 0;display:grid}.exercise-copy{min-width:0}.exercise-copy .word-question{text-align:left;margin:0}.exercise-copy .word-question h1{font-size:clamp(28px,4vw,44px)}.exercise-copy .word-question small{margin-top:12px}.exercise-copy .sentence-question{text-align:left;min-height:0;margin:0;display:block}.stable-sentence{display:grid}.stable-sentence h1{overflow-wrap:anywhere;grid-area:1/1;margin:0;font-size:clamp(20px,3vw,30px);line-height:1.45}.exercise-copy .example-translation{margin:12px 0 0;font-size:14px;line-height:1.65}.exercise-picture{align-self:center}.picture-thumb{cursor:zoom-in;background:#faf7ef;border:1px solid #ede2d0;border-radius:14px;width:110px;height:110px;padding:0;display:block;position:relative;overflow:hidden}.picture-thumb:disabled{cursor:default}.picture-thumb .sentence-illustration{border-radius:0;width:110px;height:110px;margin:0}.picture-hint{color:#bfac8c;flex-direction:column;justify-content:center;align-items:center;font-size:26px;display:flex;position:absolute;inset:0}.picture-hint small{margin-top:8px;font-size:10px}.picture-zoom{color:#8b7458;cursor:zoom-in;background:0 0;border:0;width:100%;padding:8px 0;font-size:10px}.practice-page .answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.practice-page .answer-grid>button{overflow-wrap:anywhere;min-height:86px;padding:15px 36px 13px 16px}.practice-page .answer-grid>button>small{min-height:1.4em}.practice-page .feedback-slot{min-height:106px}.picture-dialog{color:#67472c;border:0;border-radius:22px;width:min(640px,90vw);max-height:90dvh;padding:32px}.picture-dialog::backdrop{background:#201a16b0}.picture-dialog .sentence-illustration{width:100%;max-width:100%;max-height:60dvh;margin:0}.picture-dialog p{line-height:1.6}.daily-history{background:#fff;border:1px solid #e7e4d9;border-radius:18px;margin:24px 0;padding:24px}.daily-history h2{font-size:19px}.daily-history p,.page-title p,.review-ranking p{color:#8a8478;font-size:12px;line-height:1.7}.report-table-wrap{overflow-x:auto}.daily-history table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.daily-history th,.daily-history td{text-align:left;border-bottom:1px solid #eeece3;padding:14px 10px}.daily-history thead{color:#8c765f;background:#faf7f0}.review-tabs{gap:8px;margin:18px 0;display:flex}.review-tabs button,.report-review-start{color:#7a6044;cursor:pointer;background:#fff;border:1px solid #dfd6c6;border-radius:10px;padding:10px 16px}.review-tabs .active,.report-review-start{color:#fff;background:#8c613d}.report-metrics{grid-template-columns:repeat(4,1fr)}@media(max-width:620px){.app-brand>.brand-logo{width:148px}.exercise-layout{grid-template-columns:minmax(0,1fr) 78px;gap:12px;min-height:184px;margin:18px 0}.picture-thumb,.picture-thumb .sentence-illustration{width:78px;height:78px}.picture-hint small,.picture-zoom{font-size:9px}.stable-sentence h1{font-size:20px}.exercise-copy .example-translation{font-size:12px}.practice-page .answer-grid>button{padding:12px 28px 12px 12px;font-size:16px}.practice-page .answer-grid>button>i{width:20px;height:20px;font-size:13px;right:8px}.practice-page .feedback-slot{min-height:116px}.report-metrics{grid-template-columns:repeat(2,1fr);gap:10px}.daily-history{padding:16px}.picture-dialog{padding:30px 16px 16px}}@media(prefers-reduced-motion:reduce){.brand-bear{animation:none!important}}.practice-page .feedback-slot{box-sizing:border-box;min-height:132px;padding-top:16px;display:flow-root}.practice-page .answer-result{margin:0;padding:14px}.exercise-copy .word-question{grid-template-columns:minmax(0,1fr) 44px;width:100%;display:grid}.exercise-copy .word-question small{overflow-wrap:anywhere}.cloze-blank{vertical-align:baseline;white-space:nowrap;border-bottom:2px solid;width:4.2em;max-width:100%;height:1em;margin:0 .12em;display:inline-block}.cloze-blank.cloze-long{width:7em}.result-title{flex-direction:column;justify-content:center;min-height:58px;padding-right:66px;display:flex;position:relative}.result-bear{pointer-events:none;width:56px;height:58px;position:absolute;top:0;right:0}.result-bear img{object-fit:contain;width:100%;height:100%;display:block}.school-page{color:#67472c;max-width:1180px;margin:auto;padding:32px 24px 60px}.school-page a{color:#865a39;text-decoration:none}.school-heading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.school-heading h1{margin:14px 0 6px}.school-page button{cursor:pointer;background:#fffdf8;border:1px solid #decdb8;border-radius:10px;padding:10px 16px}.school-page button:disabled{opacity:.5;cursor:default}.school-page .school-primary{color:#fff;background:#915d36;border-color:#915d36}.school-card,.school-login{background:#fffdf8;border:1px solid #eadac6;border-radius:20px;margin-bottom:20px;padding:24px}.school-login{max-width:420px;margin:48px auto}.school-page label{gap:8px;font-size:14px;font-weight:600;display:grid}.school-page input,.school-page select{color:#67472c;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #decdb8;border-radius:10px;padding:12px}.school-login form{gap:20px;display:grid}.school-form{flex-wrap:wrap;align-items:end;gap:16px;margin:20px 0;display:flex}.school-form label{flex:1;min-width:170px}.school-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.school-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.school-table{border-collapse:collapse;white-space:nowrap;width:100%}.school-table th,.school-table td{text-align:left;border-bottom:1px solid #eee2d3;padding:14px 16px}.school-table th{background:#faf1e4}.school-notice{background:#edf4e5;border-radius:10px;padding:12px 16px}@media(max-width:650px){.school-page{padding:20px 16px}.school-grid{grid-template-columns:1fr;gap:0}.school-form{grid-template-columns:1fr;display:grid}.school-form label{min-width:0}.school-card{padding:18px}}.school-entry{color:#8c613d;justify-content:flex-end;gap:18px;max-width:1180px;margin:12px auto 0;padding:0 24px;font-size:13px;display:flex}.school-entry a{color:inherit}@media(max-width:620px){.practice-page .feedback-slot{min-height:96px;padding-top:8px}.practice-page .answer-result{border-radius:16px;padding:12px}.practice-footer{padding:10px 14px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.practice-footer>button{min-height:52px}}.practice-page .feedback-slot{min-height:0;padding-top:12px}.practice-page .feedback-slot:empty{padding-top:0}.practice-page .practice-footer{padding:12px 0}@media(max-height:800px){.practice-page .exercise-layout{min-height:140px;margin:14px 0}}.achievement-profile{--award-ink: #67472c;--award-muted: #856849;color:var(--award-ink);padding:42px 32px 36px}.achievement-profile ::selection{color:#4b351f;background:#f5dbab}.achievement-profile input{caret-color:#915d36}.achievement-identity{display:flex;align-items:center;gap:24px;padding-right:28px}.profile-bear{flex:0 0 92px;object-fit:contain}.profile-name h2{margin:0 0 8px;font-size:26px;line-height:1.4;overflow-wrap:anywhere}.profile-name h2 span{font-size:14px;font-weight:500;color:var(--award-muted)}.profile-name p{margin:0;color:var(--award-muted);font-size:14px;line-height:1.7}.achievement-profile .edit-name{background:transparent;border:0;border-radius:4px;color:#8c5935;text-decoration:underline;text-underline-offset:4px;padding:8px 0 0;font-size:13px}.achievement-name-form{padding:16px 0 0;margin:0}.achievement-name-form label{flex-basis:250px}.achievement-profile :is(button,input):focus-visible{outline:3px solid #8b633b;outline-offset:3px}.achievement-signin{margin-top:20px}.achievement-signin p{line-height:1.6}.achievement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:28px 0 34px;padding:24px 0;background:#f8f0e2;border-radius:14px}.achievement-summary div{padding:0 24px}.achievement-summary div+div{border-left:1px solid #e2d2bc}.achievement-summary dt{font-size:13px;font-weight:600;color:var(--award-muted);margin-bottom:8px}.achievement-summary dd{margin:0;font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.achievement-summary dd span{margin-left:8px;font-size:14px;font-weight:500}.achievement-collection-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.achievement-collection-heading h2{margin:0;font-size:22px}.achievement-collection-heading>span{font-size:13px;color:var(--award-muted)}.achievement-rules{color:var(--award-muted);font-size:13px;line-height:1.8;margin:10px 0 0}.achievement-group{--group-color: #925b2b;--group-light: #f2debc;margin-top:32px}.group-learned{--group-color: #446b61;--group-light: #dcebe7}.group-mastered{--group-color: #6d6288;--group-light: #e5e6f4}.group-reviews{--group-color: #92564d;--group-light: #f4e1db}.group-points{--group-color: #7a5d23;--group-light: #f5e7bd}.group-points .achievement-card.is-earned{background:#fbf4df}.points-summary{display:flex;align-items:center;gap:30px;padding:24px;margin:0 0 28px;background:#f8f0e2;border-radius:14px;color:#67472c}.points-balance{display:flex;flex-direction:column;gap:6px;flex:0 0 128px;font-variant-numeric:tabular-nums}.points-balance>span{font-size:13px;color:#856849}.points-balance strong{font-size:34px;line-height:1.2;font-weight:800}.points-balance small{font-size:14px;font-weight:500;margin-left:8px}.points-details{min-width:0}.points-details p{font-size:12px;line-height:1.9;color:#856849;margin:6px 0 0}.points-details p:first-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;font-size:14px;margin:0 0 10px}.points-details b{color:#67472c;font-variant-numeric:tabular-nums}.practice-points{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;margin:0 0 16px;color:#856849;font-size:13px;font-variant-numeric:tabular-nums}.practice-points b{color:#67472c}.points-gained{color:#386653;font-weight:700;margin-right:12px}.achievement-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.achievement-group-heading h3{margin:0 0 4px;font-size:17px}.achievement-group-heading p{margin:0;color:var(--award-muted);font-size:12px;line-height:1.7}.achievement-group-heading>span{color:var(--award-muted);white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}.achievement-group-heading>span b{color:var(--award-ink);font-size:16px}.achievement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}.achievement-card{min-width:0;background:#f5f2ec;border-radius:12px;padding:14px 12px 16px}.achievement-card.is-earned{background:#fff8eb}.group-learned .achievement-card.is-earned{background:#edf5f1}.group-mastered .achievement-card.is-earned{background:#f1eff8}.group-reviews .achievement-card.is-earned{background:#fbefea}.medal-art{display:block;width:100%;max-width:160px;height:auto;margin:0 auto 8px;aspect-ratio:1}.is-locked .medal-art{filter:grayscale(1);opacity:.48}.achievement-card h4{font-size:14px;line-height:1.5;text-align:center;margin:0 0 5px;color:#67472c}.achievement-requirement{color:#6f6458;text-align:center;font-size:11px;margin:0 0 16px;line-height:1.6}.achievement-progress{height:5px;background:#e2ddd4;border-radius:4px;overflow:hidden}.achievement-progress>span{display:block;height:100%;background:#a59985;border-radius:inherit}.achievement-remaining{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;font-size:11px;color:#766a5c;margin:8px 0 0;font-variant-numeric:tabular-nums;line-height:1.6}.achievement-remaining b{font-weight:600}.achievement-remaining>span{display:block;flex-basis:100%;text-align:center;font-size:10px}.achievement-earned-date{display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:center;color:var(--group-color);font-size:11px;font-weight:600;margin:0;line-height:1.8;font-variant-numeric:tabular-nums}.achievement-earned-date svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.5;fill:none}.achievement-library-note{font-size:12px;color:#856849;line-height:1.8;padding:18px 0 0;margin:28px 0 0;border-top:1px solid #eadac6}.achievement-backdrop{z-index:70;background:#403426aa}.achievement-celebration{isolation:isolate;position:relative;width:min(460px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fffaf0;border:2px solid #f0d18a;border-radius:24px;box-shadow:0 20px 65px #36220e30,0 0 0 8px #e4b84925;padding:28px;text-align:center;color:#67472c}.achievement-celebration:before{content:"";position:absolute;inset:-8px;z-index:-1;border:2px solid #e4b84966;border-radius:30px;pointer-events:none;animation:award-ring 1.1s ease-out both}.award-kicker{position:relative;z-index:1;margin:0 0 4px;color:#a15b28;font-size:14px;font-weight:800;letter-spacing:.08em}.award-kicker span{display:inline-block;color:#e4b849;font-size:19px;vertical-align:-1px}.award-art-stage{position:relative;max-width:248px;margin:0 auto}.award-art-stage>.medal-art{position:relative;z-index:1;max-width:228px;filter:drop-shadow(0 8px 8px #9b662833);animation:award-arrive .65s cubic-bezier(.16,1,.3,1)}.award-cheering-bear{position:absolute;right:-3px;bottom:3px;width:72px;height:72px;transform-origin:50% 90%;animation:bear-cheer .9s ease-in-out 3}.award-burst{position:absolute;top:115px;left:50%;width:220px;height:220px;transform:translate(-50%,-50%);pointer-events:none}.award-burst i{position:absolute;top:50%;left:50%;width:4px;height:31px;margin:-15px -2px;border-radius:999px;background:#e4b849;opacity:0;transform-origin:50% 15px;transform:rotate(calc(var(--ray) * 30deg)) translateY(60px) scaleY(.2);animation:award-burst .72s cubic-bezier(.16,1,.3,1) .12s both}.award-burst i:nth-child(3n){background:#ee8c42}.award-burst i:nth-child(3n+1){background:#3f8c79}.achievement-celebration h2{font-size:29px;line-height:1.4;margin:12px 0}.achievement-celebration #award-reason{line-height:1.9;margin:0;font-size:15px}.award-keepsake{color:#856849;font-size:12px;line-height:1.8;margin:14px 0 24px}.award-continue{width:100%;min-height:48px;background:#915d36;color:#fffdf8;border:0;border-radius:12px;font-size:15px;font-weight:600;padding:12px 16px;cursor:pointer}.award-continue:hover{background:#7a4c2b}.award-continue:focus-visible{outline:3px solid #70472c;outline-offset:4px}.award-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit}.award-confetti i{position:absolute;top:-18px;left:calc(var(--i) * 2.8%);width:7px;height:12px;border-radius:2px;background:var(--color);animation:award-confetti 2.6s cubic-bezier(.2,.7,.3,1) both;animation-delay:var(--delay)}.award-confetti i:nth-child(3n){height:8px;border-radius:50%}.award-confetti i:nth-child(3n+1){transform:rotate(35deg)}@keyframes award-arrive{0%{transform:translateY(12px) scale(.88);filter:drop-shadow(0 3px 2px #9b662800)}to{transform:translateY(0) scale(1);filter:drop-shadow(0 7px 5px #9b662815)}}@keyframes bear-cheer{0%,to{transform:rotate(-5deg)}40%{transform:translateY(-8px) rotate(9deg)}65%{transform:rotate(-4deg)}}@keyframes award-ring{0%{opacity:0;transform:scale(.95)}30%{opacity:1}to{opacity:0;transform:scale(1.06)}}@keyframes award-burst{0%{opacity:0;transform:rotate(calc(var(--ray) * 30deg)) translateY(60px) scaleY(.2)}35%{opacity:1}to{opacity:0;transform:rotate(calc(var(--ray) * 30deg)) translateY(5px) scaleY(1)}}@keyframes award-confetti{0%{transform:translateZ(0) rotate(0);opacity:1}90%{opacity:1}to{transform:translate3d(var(--drift),520px,0) rotate(320deg);opacity:0}}@media(max-width:850px){.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-group-heading{align-items:flex-start}}@media(max-width:540px){.achievement-profile{padding:40px 16px 28px}.achievement-identity{gap:14px;padding-right:42px}.profile-bear{width:66px;height:66px;flex-basis:66px}.profile-name h2{font-size:20px}.profile-name p{font-size:12px}.achievement-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0;padding:18px 0;margin:24px 0 28px}.achievement-summary div:nth-child(3){border-left:0}.points-summary{align-items:flex-start;flex-direction:column;gap:18px;padding:20px}.points-balance{flex-basis:auto}.achievement-summary div{padding:0 11px}.achievement-summary dt{font-size:11px}.achievement-summary dd{font-size:27px}.achievement-summary dd span{display:block;font-size:12px;margin:5px 0 0}.achievement-collection-heading h2{font-size:20px}.achievement-collection-heading>span{font-size:11px}.achievement-group-heading{flex-direction:column;gap:6px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.achievement-card{padding:12px 10px}.medal-art{max-width:132px}.achievement-name-form label{flex-basis:100%}.achievement-name-form button{min-height:44px}.achievement-celebration{padding:22px 20px 24px}.award-art-stage{max-width:220px}.award-art-stage>.medal-art{max-width:204px}.award-burst{top:104px}}@media(prefers-reduced-motion:reduce){.achievement-celebration:before,.award-art-stage>.medal-art,.award-cheering-bear,.award-burst i{animation:none}.achievement-celebration:before{opacity:.6}.award-confetti{display:none}}.daily-game-invite{display:flex;align-items:center;justify-content:space-between;gap:26px;margin:24px 0 0;padding:26px 30px;background:#f8f0e2;border-radius:14px;color:#67472c}.daily-game-copy{min-width:0;flex:1}.daily-game-invite h2{margin:0 0 10px;font-size:22px}.daily-game-invite p{margin:6px 0;font-size:14px;line-height:1.8}.daily-game-invite .daily-game-rule{font-size:12px;color:#856849}.daily-game-invite .daily-game-name{margin-top:12px}.daily-game-record{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;margin:16px 0 0;padding:13px 15px;border:1px solid #e1cda9;border-radius:12px;background:#fffaf0}.daily-game-record>span{display:inline-flex;align-items:baseline;gap:8px}.daily-game-record small{color:#856849;font-size:12px}.daily-game-record strong{color:#704b2c;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.daily-game-record strong em{margin-left:3px;font-size:11px;font-style:normal;font-weight:600}.daily-game-record p{flex-basis:100%;margin:0;color:#856849;font-size:12px;line-height:1.6}.daily-game-invite>img{flex:0 0 100px;object-fit:contain}.daily-game-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.word-game-primary,.word-game-secondary,.game-audio{cursor:pointer;border-radius:12px;padding:12px 18px;min-height:46px;font-size:14px;font-weight:600}.word-game-primary{border:0;background:#915d36;color:#fffdf8}.word-game-primary:hover:not(:disabled){background:#7a4c2b}.summary-modal .word-game-primary{background:#915d36;box-shadow:none}.summary-modal .word-game-primary+button{margin-top:12px;background:#fffdf8;color:#704b2c;border:1px solid #d5bfa2;box-shadow:none}.summary-modal>.word-game-secondary,.summary-modal>.word-game-secondary+button{margin-top:12px}.summary-modal>.word-game-error{margin:12px 0;color:#8a4b44;line-height:1.6}.word-game-secondary{border:1px solid #d5bfa2;background:#fffdf8;color:#704b2c}.word-game-secondary:hover:not(:disabled){background:#f5ead7}:is(.daily-game-invite,.word-game-page) button:disabled{cursor:default;opacity:.5}:is(.daily-game-invite,.word-game-page) :is(button,summary):focus-visible{outline:3px solid #8b633b;outline-offset:3px}.game-rotation{margin-top:16px}.game-rotation summary{cursor:pointer;font-size:13px;text-decoration:underline;text-underline-offset:4px;width:fit-content}.game-rotation ol{padding-left:20px;margin:14px 0 0;columns:2;column-gap:30px}.game-rotation li{break-inside:avoid;padding:0 0 14px 2px;font-size:13px;line-height:1.8}.game-rotation li span{display:block;font-size:12px;color:#856849}.word-game-error{color:#963d38;font-size:14px;line-height:1.7}.word-game-page{max-width:920px;margin:0 auto;padding:30px 28px 40px;color:#67472c}.word-game-page ::selection{color:#4b351f;background:#f5dbab}.word-game-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.word-game-header h1{margin:0;font-size:28px;line-height:1.5}.word-game-header h1:focus{outline:none}.game-scoreboard{position:sticky;top:12px;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:0;padding:0;background:#f8f0e2;border-radius:12px;overflow:hidden;font-size:14px;font-variant-numeric:tabular-nums}.game-score-metric{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:13px 15px;border-right:1px solid #ead9be}.game-score-metric small,.game-streak-metric small{color:#856849;font-size:11px;line-height:1.2;white-space:nowrap}.game-score-metric strong,.game-streak-metric strong{display:inline-flex;align-items:baseline;gap:3px;color:#67472c;font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums}.game-score-metric strong em,.game-streak-metric strong em{font-size:11px;font-style:normal;font-weight:600}.game-time-metric strong{font-size:22px}.game-current-metric{background:#f5e4c5}.game-current-metric strong{color:#915d36}.game-best-metric strong{color:#704b2c}.game-gap-metric strong{color:#8a4b44}.game-gap-metric.is-record{background:#e1eee7}.game-gap-metric.is-record strong{color:#38604d}.game-streak-metric{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:13px 15px}.game-streak-metric strong{color:#38604d}.game-race-status{grid-column:1 / -1;display:block;padding:8px 15px;background:#fffaf0;color:#856849;font-size:12px;font-weight:700;line-height:1.2;text-align:center}.game-race-status.is-close{color:#915d36}.game-race-status.is-record{color:#38604d;background:#e1eee7}.game-record-progress{height:5px;margin:8px 2px 0;overflow:hidden;border-radius:999px;background:#ead9be}.game-record-progress span{display:block;height:100%;border-radius:inherit;background:#915d36;transition:width .24s ease-out}.game-next-milestone{margin:6px 2px 0;color:#856849;font-size:12px;line-height:1.5;text-align:right}.game-next-milestone strong{color:#915d36;font-variant-numeric:tabular-nums}.game-scoreboard .time-short{color:#963d38}.game-instruction{color:#856849;font-size:14px;line-height:1.8;margin:18px 0 24px}.game-play-area{background:#fffaf0;border-radius:14px;padding:30px}.game-question{text-align:center}.game-question h2{margin:0 0 18px;font-size:28px;line-height:1.5;overflow-wrap:anywhere;text-wrap:balance}.game-subtitle{font-size:17px;color:#856849;margin:0 0 22px;line-height:1.8}.game-audio-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:25px}.game-audio{display:inline-flex;align-items:center;gap:10px;border:0;background:#e1eee7;color:#38604d}.game-audio svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.game-hint{padding:10px 4px;min-height:44px;border:0;background:transparent;font-size:13px;color:#856849;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.game-audio-row>span{flex-basis:100%;font-size:18px}.game-bubble-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px;align-items:center;justify-items:center;padding:10px 0 16px}.word-bubble{width:148px;height:148px;max-width:100%;border-radius:50%;border:1px solid #d2b58d;background:#f6e4c7;color:#67472c;font-size:21px;font-weight:700;overflow-wrap:anywhere;cursor:pointer;padding:12px;transition:transform .16s ease-out}.word-bubble:hover:not(:disabled){transform:scale(1.04)}.word-bubble:active:not(:disabled){transform:scale(.94)}.word-bubble.bubble-1{background:#e1eee7;color:#38604d;border-color:#b3cfc0}.word-bubble.bubble-2{background:#f3e4e0;color:#8a4b44;border-color:#d4b4ac}.word-bubble.is-long-word{font-size:16px}.game-choice-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.game-choice-board button,.game-sort-board button,.game-letter-board button,.game-pair-board button,.game-memory-board button{min-width:0;min-height:64px;border:1px solid #d5bfa2;background:#fffdf8;color:#67472c;border-radius:12px;padding:12px;font-size:19px;cursor:pointer;overflow-wrap:anywhere}:is(.game-choice-board,.game-sort-board,.game-letter-board,.game-pair-board,.game-memory-board) button:hover:not(:disabled){background:#f5e4c5}.game-judge-board button{min-height:104px;display:grid;place-items:center;border-width:3px;border-radius:20px}.game-judge-board svg{width:56px;height:56px}.game-judge-board .judge-yes{color:#2f8f5b;border-color:#8cc9a5;background:#eef8f1}.game-judge-board .judge-no{color:#d94b54;border-color:#eba7ac;background:#fdf0f0}.game-judge-board .judge-yes:hover:not(:disabled){background:#dcf1e3}.game-judge-board .judge-no:hover:not(:disabled){background:#fadfe0}.game-judge-board button:active:not(:disabled){transform:scale(.97)}.game-pair-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.game-pair-board>div{display:grid;gap:12px}.game-pair-board button{min-height:80px}.game-pair-board button small{display:block;margin-top:6px;font-size:12px}.game-pair-board button:disabled{opacity:1;color:#856849}.game-pair-board button.is-selected{outline:3px solid #8b633b;outline-offset:2px}.game-pair-board button.is-linked{background:#e1eee7;border-color:#b3cfc0;color:#38604d;opacity:1}.game-built-answer{min-height:64px;padding:16px;border-bottom:1px solid #d5bfa2;margin-bottom:22px;font-size:24px;font-weight:700;overflow-wrap:anywhere;line-height:1.5}.game-letter-board,.game-sort-board{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.game-letter-board button{min-width:50px;min-height:52px;font-size:24px}.game-sort-board button{padding:14px 22px}.game-build-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px}.game-small-help{font-size:13px;line-height:1.8;color:#856849;margin:18px 0}.game-memory-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game-memory-board button{min-height:146px;background:#f2dfbb}.game-memory-board button.is-face-up{background:#fffdf8}.game-memory-board button:disabled{opacity:1}.game-memory-board button span{font-size:14px}.game-feedback{min-height:90px;margin-top:20px;text-align:center}.game-feedback p{margin:0 0 14px;font-size:17px;line-height:1.8;font-weight:700}.game-feedback p span{display:block;font-size:14px;font-weight:400}.game-feedback-race{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 10px;margin:0 auto 14px;color:#856849;font-size:12px;line-height:1.5}.game-feedback-race span{padding:5px 9px;border-radius:999px;background:#f8f0e2}.game-feedback-race .feedback-points.is-positive{background:#e1eee7;color:#38604d;font-weight:700}.game-milestone{display:inline-flex!important;align-items:center;gap:6px;margin:0 0 14px!important;color:#915d36!important;font-size:13px!important;font-weight:700}.game-milestone svg{width:16px;height:16px;fill:none;stroke:#b47a36;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.game-correct{color:#38604d}.game-try{color:#8a4b44}.game-result,.game-exit{padding:30px;background:#f8f0e2;border-radius:14px;text-align:center}.game-result-hero{display:flex;align-items:center;justify-content:center;gap:16px;text-align:left}.game-result-hero img{flex:0 0 92px;object-fit:contain}.game-result h2,.game-exit h2{font-size:25px;line-height:1.5;margin:12px 0}.game-result-hero p{margin:0}.game-result p,.game-exit p{color:#856849;font-size:14px;line-height:1.8}.game-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px auto 18px;max-width:680px}.game-result-stat{padding:17px 14px;border:1px solid #d5bfa2;border-radius:12px;background:#fffdf8}.game-result-stat span,.game-result-stat em{display:block;font-size:12px;color:#856849;font-style:normal}.game-result-stat strong{display:block;margin:4px 0;color:#67472c;font-size:38px;line-height:1.1;font-variant-numeric:tabular-nums}.game-result-stat strong small{margin-left:4px;font-size:15px;font-weight:600}.game-result-stat-primary{background:#f5e4c5;border-color:#d2b58d}.game-result-stat-primary strong{color:#915d36}.game-record-banner{display:inline-flex;align-items:center;gap:7px;margin:4px 0 8px!important;padding:8px 13px;border-radius:999px;background:#e1eee7;color:#38604d!important;font-weight:700}.game-record-banner svg{width:16px;height:16px;fill:none;stroke:#b47a36;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.game-overall-note{margin:8px 0 0!important}.game-result-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:18px}.game-result-actions .word-game-primary{margin-top:0}.game-leaderboard{max-width:560px;margin:22px auto 0;padding:18px;border:1px solid #d5bfa2;border-radius:12px;background:#fffdf8;text-align:left}.game-leaderboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.game-leaderboard h3{margin:0;font-size:18px}.game-leaderboard-head p{margin:4px 0 0;font-size:12px}.game-close-button{border:0;padding:4px 0;background:transparent;color:#856849;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.game-leaderboard-tabs{display:flex;gap:4px;margin:16px 0 10px;padding:4px;border-radius:10px;background:#f8f0e2}.game-leaderboard-tabs button{flex:1;min-height:38px;border:0;border-radius:8px;background:transparent;color:#856849;cursor:pointer;font-weight:600}.game-leaderboard-tabs button.is-active{background:#915d36;color:#fffdf8}.game-leaderboard-list{list-style:none;margin:0;padding:0}.game-leaderboard-list li{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:10px 4px;border-bottom:1px solid #eee1ce;font-size:14px}.game-leaderboard-list li:last-child{border-bottom:0}.game-leaderboard-list li strong{color:#67472c;font-size:18px;font-variant-numeric:tabular-nums}.game-leaderboard-list li strong small{margin-left:3px;font-size:11px;font-weight:500}.game-rank{color:#856849;font-variant-numeric:tabular-nums}.rank-top-1 .game-rank{color:#a86f1e;font-weight:800}.rank-top-2 .game-rank{color:#6c7d82;font-weight:800}.rank-top-3 .game-rank{color:#9a6546;font-weight:800}.game-leaderboard-me{margin:12px 0 0!important;padding-top:10px;border-top:1px solid #d5bfa2;font-size:13px!important}.game-leaderboard-status{margin:18px 0 4px!important;text-align:center}.game-leaderboard-status .word-game-secondary{margin-top:8px}.game-footer-note{margin:20px 0 0;font-size:12px;color:#856849;line-height:1.8}@media(max-width:700px){.daily-game-invite{padding:22px;align-items:flex-start;gap:14px}.daily-game-invite>img{width:64px;height:64px;flex-basis:64px}.daily-game-invite h2{font-size:20px}.game-rotation ol{columns:1}.word-game-page{padding:20px 16px 30px}.word-game-header h1{font-size:23px}.word-game-header .word-game-secondary{padding:10px 12px;white-space:nowrap}.game-scoreboard{grid-template-columns:repeat(3,minmax(0,1fr));font-size:13px}.game-score-metric{padding:11px 10px}.game-score-metric strong,.game-streak-metric strong{font-size:20px}.game-time-metric strong{font-size:19px}.game-race-status{padding:8px 10px}.game-play-area{padding:22px 16px}.game-question h2{font-size:23px}.game-bubble-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.word-bubble{width:128px;height:128px;font-size:18px}.word-bubble.is-long-word{font-size:16px}.game-pair-board{gap:12px}.game-pair-board button{font-size:16px}.game-choice-board{gap:12px}.game-choice-board button{font-size:17px}.game-memory-board{gap:10px}.game-memory-board button{padding:10px 6px;min-height:125px;font-size:17px}.game-built-answer{font-size:20px}.game-result,.game-exit{padding:24px 18px}.game-result-hero{gap:10px}.game-result-hero img{flex-basis:72px;width:72px;height:72px}.game-result h2{font-size:22px}.game-result-stats{gap:8px;margin-top:22px}.game-result-stat{padding:14px 8px}.game-result-stat strong{font-size:32px}.game-result-actions>button{flex:1;min-width:130px}.game-leaderboard{padding:15px}}@media(max-width:420px){.daily-game-invite{position:relative}.daily-game-invite>img{position:absolute;top:22px;right:16px;width:45px;height:45px}.daily-game-invite h2{max-width:calc(100% - 45px);font-size:19px}.daily-game-actions .word-game-primary{width:100%}.daily-game-record{gap:7px 14px;padding:11px 12px}.daily-game-record strong{font-size:20px}.game-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}.game-score-metric,.game-streak-metric{padding:10px 12px}.game-score-metric:nth-child(2),.game-score-metric:nth-child(4){border-right:0}.game-feedback-race{gap:5px}.game-feedback-race span{padding:5px 7px}}.game-scoreboard.game-scoreboard-compact{position:static;display:flex;justify-content:space-between;align-items:center;border-radius:10px;padding:0 12px;min-height:44px;gap:8px}.game-scoreboard-compact .game-score-metric,.game-scoreboard-compact .game-streak-metric{flex-direction:row;align-items:baseline;padding:10px 0;gap:5px;border:0;background:transparent}.game-scoreboard-compact .game-score-metric strong,.game-scoreboard-compact .game-streak-metric strong{font-size:19px}.game-feedback .game-feedback-points{margin:0 0 10px;font-size:13px;font-weight:500;color:#6c573f}.game-feedback:empty{min-height:0;margin:0}@media(max-width:700px){.word-game-page:not(.bubble-garden){padding:14px 14px 24px}.word-game-header{margin-bottom:12px}.game-instruction{margin:10px 0 14px;font-size:13px;line-height:1.6}.game-play-area{padding:18px 14px}.game-pair-board{gap:10px}.game-pair-board>div{gap:10px}.game-pair-board button{min-height:60px;padding:8px}.game-small-help{margin:12px 0}.game-feedback{min-height:0;margin-top:14px}.game-feedback p{margin-bottom:8px;font-size:15px;line-height:1.5}.game-footer-note{margin-top:12px;font-size:11px}}.mistake-export{margin:18px 0 22px;color:#614936}.mistake-export-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.mistake-export-controls label{font-size:13px;font-weight:600}.mistake-export-controls select{min-height:44px;padding:9px 32px 9px 12px;border:1px solid #c9b9a5;border-radius:10px;background:#fffdf8;color:#4d392a;font:inherit;font-size:14px}.mistake-export-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:0;border-radius:10px;background:#8c613d;color:#fffdf8;font:inherit;font-size:14px;font-weight:600;cursor:pointer}.mistake-export-controls button:hover:not(:disabled){background:#734d2f}.mistake-export-controls button:disabled{background:#e8dfd1;color:#695646;cursor:not-allowed}.mistake-export-controls select:disabled{color:#695646;opacity:1}.mistake-export-controls :is(button,select):focus-visible,.mistake-export-status button:focus-visible{outline:3px solid #a77545;outline-offset:3px}.review-ranking .mistake-export-hint{margin:10px 0 0;color:#705744;font-size:12px;line-height:1.8}.mistake-export-status{color:#614936;font-size:13px;line-height:1.8}.mistake-export-status:not(:empty){margin-top:8px}.mistake-export-status.is-error{color:#933b27}.mistake-export-status button{margin-left:10px;padding:6px 8px;background:transparent;border:0;color:#734d2f;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}@media(max-width:520px){.mistake-export-controls{gap:8px}.mistake-export-controls button{flex-basis:100%}.mistake-export-controls select{flex:1;min-width:0}}
