:root{color:#233c38;font-synthesis:none;background:#e7ddc6;font-family:ui-rounded,Avenir Next,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #dda941}[hidden]{display:none!important}#classroom{touch-action:none;width:100%;height:100%;display:block}#classroom:focus{outline:none}.welcome{background:linear-gradient(90deg,#eae4d8f5,#eae4d8dd 32%,#eae4d82b 70%);align-items:start;padding:5vw;display:grid;position:absolute;inset:0;overflow-y:auto}.welcome-panel{width:min(28rem,100%);margin-block:auto}.eyebrow{letter-spacing:.22em;color:#627c66;font-size:.75rem;font-weight:800}h1{letter-spacing:-.05em;margin:.6rem 0 1.4rem;font-size:clamp(2.8rem,5.3vw,5rem);font-weight:800;line-height:1.08}h1 span{display:block}.welcome-first{letter-spacing:.06em;margin-bottom:.6em;font-size:.3em;font-weight:600}.welcome-last{letter-spacing:-.025em;margin-top:.25em;font-size:.54em}.intro{color:#53665d;margin:0 0 2rem;line-height:1.6}.load-status{margin-bottom:.5rem;font-size:.9rem}progress{accent-color:#39765c;border:0;border-radius:1rem;width:min(18rem,100%);height:.4rem;margin:0 0 1.5rem;display:block;overflow:hidden}progress::-webkit-progress-bar{background:#ced5c5}progress::-webkit-progress-value{background:#39765c}.primary{color:#fffdf3;background:#2c6952;border:0;border-radius:1rem;min-width:12rem;padding:.9rem 1.5rem;font-size:1.1rem;font-weight:800;box-shadow:0 5px #1f503e}.primary:hover{background:#347c61}.primary:disabled{opacity:.45;cursor:wait}.welcome-note{color:#677269;margin-top:1.2rem;font-size:.8rem}.save-status{max-width:24rem;font-size:.8rem;line-height:1.5}.game-menu .save-status{max-width:17rem;margin-bottom:0}#save-badge{color:#9b481c;margin-top:.15rem;font-size:.6rem;line-height:1;display:block}.game-header{z-index:8;top:max(1.3rem, env(safe-area-inset-top));left:max(1.5rem, env(safe-area-inset-left));align-items:center;gap:.5rem;display:flex;position:absolute}.game-header button,.sound-panel button,.game-menu button,.dialog-actions button:not(.primary),.welcome-actions button:not(.primary){color:#233c38;background:#fffaf0;border:1px solid #b8c4b7;border-radius:.6rem;min-height:2.75rem;padding:.45rem .8rem;font-weight:700}.welcome-actions{flex-wrap:wrap;gap:1rem;display:flex}.game-menu{z-index:5;top:4.5rem;left:max(1.5rem, env(safe-area-inset-left));background:#fffaf0;border-radius:1rem;padding:.75rem;position:absolute;box-shadow:0 5px 25px #24382b2e}#replay-confirmation{color:#233c38;background:#fffaf0;border:1px solid #fff;border-radius:1.25rem;width:min(28rem,100% - 2rem);max-height:calc(100% - 2rem);padding:1.5rem;overflow:auto;box-shadow:0 10px 45px #24382b55}#replay-confirmation::backdrop{background:#203a3380}#replay-confirmation h2{margin-top:0}#replay-confirmation p{line-height:1.6}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.dialog-actions .primary{min-width:0;font-size:1rem}.sound-panel{z-index:3;top:4.5rem;left:max(1.5rem, env(safe-area-inset-left));background:#fffaf0f5;border-radius:1rem;width:17rem;padding:1rem;position:absolute;box-shadow:0 5px 25px #24382b2e}.sound-panel label{justify-content:space-between;font-size:.9rem;display:flex}.sound-panel input{accent-color:#39765c;width:100%;margin:.4rem 0 1rem}.sound-panel p{font-size:.8rem;line-height:1.5}.game-header .icon-button{place-items:center;width:48px;height:48px;padding:11px;display:grid;position:relative}.icon-button svg{width:24px;height:24px}#save-badge{white-space:nowrap;background:#fffaf0;border-radius:.2rem;padding:.2rem;position:absolute;top:100%}.icon-button .sound-off,.icon-button .sound-paused,.icon-button .sound-unavailable,.icon-button:not([data-state=enabled]) .sound-waves{display:none}.icon-button[data-state=muted] .sound-off,.icon-button[data-state=paused] .sound-paused,.icon-button[data-state=unavailable] .sound-unavailable{display:initial}.game-menu,.sound-panel{z-index:7;top:max(5rem, calc(env(safe-area-inset-top) + 3.75rem));width:min(22rem,100% - 2rem);max-height:calc(100dvh - max(5rem, calc(env(safe-area-inset-top) + 3.75rem)) - 1rem - env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y;padding:1rem;overflow-y:auto}.panel-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.panel-heading h2{margin:0;font-size:1.1rem}.panel-heading button{min-width:44px;font-size:1.3rem}.game-menu h3{margin:1rem 0 .25rem;font-size:.85rem}.game-menu p{font-size:.85rem;line-height:1.5}.sound-help{border-top:1px solid #d5dccf;margin-top:.75rem}.sound-help summary{cursor:pointer;min-height:44px;padding-block:.8rem;font-size:.85rem;font-weight:700}.sound-help summary:focus-visible{outline-offset:2px;outline:3px solid #dda941}.tasks{right:max(1.5rem, env(safe-area-inset-right));top:max(1rem, env(safe-area-inset-top));background:#fffaf0f2;border:1px solid #ffffffa3;border-radius:1rem;padding:1rem 1.25rem;position:absolute;box-shadow:0 5px 25px #24382b18}.tasks h2{letter-spacing:.02em;margin:0 0 .8rem;font-size:.85rem;font-weight:800}.tasks ul{margin:0;padding:0;list-style:none}.tasks li{align-items:center;gap:.65rem;margin-top:.65rem;font-size:.85rem;display:flex}.task-mark{border:2px solid #9aa899;border-radius:50%;flex:none;width:1rem;height:1rem}.tasks .complete .task-mark{color:#fffaf0;background:#39765c;border-color:#39765c;place-items:center;font-size:.7rem;font-weight:900;display:grid}.round-complete{top:max(5rem, calc(env(safe-area-inset-top) + 4rem));left:max(1.5rem, env(safe-area-inset-left));color:#2c6952;background:#f3f8e9f5;border:2px solid #9eb68e;border-radius:1rem;width:min(23rem,100% - 3rem);margin:0;padding:1rem 1.25rem;font-weight:800;line-height:1.5;position:absolute}.answering .round-complete{display:none}.hint{left:50%;bottom:max(1.2rem, env(safe-area-inset-bottom));color:#365346;text-align:center;background:#fffaf0ee;border-radius:2rem;max-width:90%;margin:0;padding:.7rem 1.2rem;font-size:.9rem;position:absolute;transform:translate(-50%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.joystick{left:max(1.25rem, env(safe-area-inset-left));bottom:max(1.25rem, env(safe-area-inset-bottom));touch-action:none;-webkit-user-select:none;user-select:none;background:#294f42a8;border:3px solid #fff9e8e6;border-radius:50%;width:152px;height:152px;position:absolute;box-shadow:0 3px 20px #13271c33}.joystick:before{content:"";background:#fff9e825;border:1px solid #fff9e890;border-radius:50%;position:absolute;inset:25px}.joystick-run,.joystick-walk{color:#fff9e8;pointer-events:none;font-size:.72rem;font-weight:800;position:absolute;left:50%;transform:translate(-50%)}.joystick-run{letter-spacing:.08em;text-transform:uppercase;top:6px}.joystick-walk{top:36px}.joystick-thumb{pointer-events:none;background:#f6e6b9;border:2px solid #fff;border-radius:50%;width:40px;height:40px;position:absolute;top:50%;left:50%;box-shadow:0 3px 9px #163e4470}.joystick.running{background:#785623bd;border-color:#f6d780}.jump-button{right:max(1.25rem, env(safe-area-inset-right));bottom:max(2.5rem, calc(env(safe-area-inset-bottom) + 1.25rem));color:#fff9e8;touch-action:none;-webkit-user-select:none;user-select:none;background:#294f42df;border:3px solid #fff9e8e6;border-radius:50%;min-width:84px;min-height:84px;font-size:1rem;font-weight:800;position:absolute;box-shadow:0 3px 20px #13271c33}.jump-button.pressed{background:#785623;border-color:#f6d780}.interact-button{right:max(1.25rem, env(safe-area-inset-right));bottom:max(8.5rem, calc(env(safe-area-inset-bottom) + 7.25rem));color:#fff9e8;touch-action:none;background:#a76621;border:2px solid #fff9e8;border-radius:1rem;min-width:84px;min-height:56px;padding:.7rem 1.1rem;font-size:1rem;font-weight:800;position:absolute;box-shadow:0 3px 20px #13271c33}.touch-mode .hint{width:min(26rem,100% - 2rem);bottom:max(11.75rem, calc(env(safe-area-inset-bottom) + 10.5rem));font-size:.8rem}@media (height<=520px){.welcome{padding:1.5rem}.welcome h1{margin:.35rem 0 .75rem}.welcome .intro{margin-bottom:.75rem}.welcome progress{margin-bottom:.8rem}.welcome-note{margin-top:.65rem}}@media (width<=640px){.welcome{background:#eae4d8e8;padding:2rem}.game-header{top:max(.75rem, env(safe-area-inset-top));left:max(.75rem, env(safe-area-inset-left))}.game-menu,.sound-panel{left:max(.75rem, env(safe-area-inset-left));top:max(4.25rem, calc(env(safe-area-inset-top) + 3.5rem))}.tasks{right:max(.75rem, env(safe-area-inset-right));top:max(.75rem, env(safe-area-inset-top));max-width:calc(100% - 8.25rem);padding:.65rem .75rem}.tasks h2{margin-bottom:.5rem}.tasks li{gap:.4rem;margin-top:.4rem;font-size:.75rem}.round-complete{top:max(12rem, calc(env(safe-area-inset-top) + 11rem));width:calc(100% - 2rem);left:1rem}}@media (height<=520px) and (width>=641px){.tasks{padding:.65rem .9rem}.tasks h2{margin-bottom:.35rem}.tasks li{margin-top:.3rem;font-size:.75rem}.touch-mode .hint{width:min(24rem,100% - 22rem);left:56%;bottom:max(1.25rem, env(safe-area-inset-bottom))}}.task-marker{color:#fffdf3;pointer-events:none;background:#35634c;border:2px solid #fff9e8;border-radius:.55rem;padding:.35rem .7rem;font-size:.85rem;font-weight:800;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 9px #263e4166}.question-card{z-index:2;right:max(1.5rem, env(safe-area-inset-right));top:max(12rem, calc(env(safe-area-inset-top) + 11rem));width:min(24rem,100% - 2rem);max-height:calc(100% - 17rem - env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y;background:#fffaf0f7;border:1px solid #fff;border-radius:1.25rem;padding:1.5rem;position:absolute;overflow-y:auto;box-shadow:0 8px 35px #273e3233}.question-card h2{margin:.75rem 0 1.2rem;font-size:1.6rem}.answer-label{margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:block}.math-answer{color:#233c38;text-align:center;background:#fffef8;border:2px solid #afbaaa;border-radius:.6rem;width:100%;height:3.5rem;font:800 1.7rem ui-rounded,system-ui,sans-serif}.number-pad{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.8rem 0;display:grid}.number-pad button{color:#233c38;touch-action:manipulation;background:#f0eedf;border:1px solid #c2cbbd;border-radius:.6rem;min-height:44px;font-size:1.05rem;font-weight:800}.number-pad .delete-digit{grid-column:span 2;font-size:.9rem}.check-answer{width:100%;min-width:0;padding:.75rem;font-size:1rem}.answer-feedback{margin:1rem 0 0;font-size:.95rem;line-height:1.5}.answer-feedback:empty{display:none}.answer-feedback.correct{color:#2c6952;font-weight:800}.science-choices{border:0;margin:0 0 1rem;padding:0}.science-choices legend{margin-bottom:.65rem;font-size:.85rem;font-weight:700}.science-choice{cursor:pointer;touch-action:pan-y;background:#f0eedf;border:2px solid #c2cbbd;border-radius:.65rem;align-items:center;gap:.7rem;min-height:56px;margin-bottom:.55rem;padding:.75rem;font-size:.95rem;line-height:1.4;display:flex}.science-choice:has(input:checked){background:#e3efdd;border-color:#39765c}.science-choice:has(input:focus-visible){outline-offset:2px;outline:3px solid #a76621}.science-choice input{accent-color:#39765c;flex:none;width:1.15rem;height:1.15rem;margin:0}.science-choice:has(input:disabled){cursor:default}.answering .interact-button{z-index:4;bottom:max(1rem, env(safe-area-inset-bottom))}.answering .hint{bottom:max(1.25rem, env(safe-area-inset-bottom));width:auto;max-width:calc(100% - 8rem);left:1rem;transform:none}@media (width<=640px){.question-card{right:max(1rem, env(safe-area-inset-right));top:max(13rem, calc(env(safe-area-inset-top) + 12rem));max-height:calc(100% - 18rem - env(safe-area-inset-bottom));padding:1.15rem}.question-card h2{font-size:1.35rem}}@media (height<=520px) and (width>=641px){.question-card{top:max(9rem, calc(env(safe-area-inset-top) + 8rem));max-height:calc(100% - 14rem - env(safe-area-inset-bottom))}}
