:root{--ink: #1c2333;--panel: rgba(255, 255, 255, .92);--panel-strong: #ffffff;--edge: #1c2333;--accent: #ffb400;--accent-2: #4fc3c9;--good: #4caf50;--bad: #e0483e;--shadow: 0 10px 24px rgba(20, 20, 40, .28);--radius: 18px;font-family:ui-rounded,Arial Rounded MT Bold,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#0b1230;overscroll-behavior:none}#app{position:fixed;inset:0;overflow:hidden}.game-canvas{position:absolute;inset:0;display:block;outline:none;touch-action:none}.hidden{display:none!important}.hud{position:absolute;inset:0;pointer-events:none;z-index:10}.hud-stars{position:absolute;top:max(14px,env(safe-area-inset-top));left:14px;display:flex;align-items:center;gap:6px;background:var(--panel);border:3px solid var(--edge);border-radius:999px;padding:6px 14px 6px 10px;font-weight:800;font-size:1.15rem;color:var(--ink);box-shadow:var(--shadow)}.hud-goal{position:absolute;top:max(64px,calc(64px + env(safe-area-inset-top)));left:14px;width:132px;background:var(--panel);border:3px solid var(--edge);border-radius:14px;padding:6px 8px;box-shadow:var(--shadow)}.hud-goal-count{display:flex;align-items:center;gap:3px;font-weight:900;font-size:.95rem;color:var(--ink);justify-content:center}.goal-sep{opacity:.5}.hud-goal-track{margin-top:4px;height:9px;border-radius:999px;background:#1c233329;overflow:hidden}.hud-goal-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#ffd166,#f0951d);transition:width .35s ease}.goal-celebration{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:25;transition:opacity .6s ease}.goal-celebration.fading{opacity:0}.goal-celebration-card{display:flex;align-items:center;gap:10px;padding:16px 26px;border-radius:24px;border:5px solid var(--edge);background:linear-gradient(180deg,#fffdf7,#ffe6a8);box-shadow:0 14px #14142833,0 20px 40px #1414284d;font-size:1.5rem;font-weight:900;color:var(--ink);animation:pop-in .4s cubic-bezier(.34,1.56,.64,1)}.hud-compass{position:absolute;pointer-events:auto;cursor:pointer;top:max(126px,calc(126px + env(safe-area-inset-top)));left:14px;width:132px;display:flex;align-items:center;gap:6px;padding:6px 8px;background:var(--panel);border:3px solid var(--edge);border-radius:14px;box-shadow:var(--shadow)}.hud-compass-arrow{width:30px;height:30px;color:#f0951d;flex:none;transition:transform .12s linear}.hud-compass.is-sloofie .hud-compass-arrow{color:#4fc3c9}.hud-compass-arrow svg{width:100%;height:100%;display:block}.hud-compass-icon{font-size:1.1rem;line-height:1}.hud-compass-label{font-weight:900;font-size:.85rem;color:#fff;margin-left:auto}.hud-hero-btn{position:absolute;top:max(14px,env(safe-area-inset-top));right:14px;width:44px;height:44px;border-radius:999px;border:3px solid var(--edge);background:var(--panel-strong);font-size:1.4rem;display:grid;place-items:center;box-shadow:var(--shadow);pointer-events:auto;cursor:pointer}.hud-crosshair{position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#ffffffd9;border:2px solid rgba(20,20,30,.55)}.hud-mining-ring{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px}.hud-mining-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.hud-mining-ring .ring-bg{fill:none;stroke:#00000040;stroke-width:5}.hud-mining-ring .ring-fg{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .05s linear}.hud-help-prompt{position:absolute;top:30%;left:50%;transform:translate(-50%);background:var(--panel-strong);border:3px solid var(--edge);border-radius:999px;padding:8px 16px;font-weight:800;color:var(--ink);box-shadow:var(--shadow);animation:floaty 1.6s ease-in-out infinite}@keyframes floaty{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-6px)}}.hud-hotbar{position:absolute;top:max(66px,calc(66px + env(safe-area-inset-top)));left:50%;transform:translate(-50%);display:flex;gap:8px;pointer-events:auto;max-width:calc(100vw - 24px)}@media(max-width:420px){.hud-hotbar{gap:5px}.hotbar-slot{width:44px;height:44px;border-radius:11px}.hotbar-icon{font-size:1.3rem}}.hotbar-slot{position:relative;width:54px;height:54px;border-radius:14px;border:3px solid var(--edge);background:var(--panel);display:grid;place-items:center;box-shadow:var(--shadow);cursor:pointer;padding:0}.hotbar-slot.active{background:var(--accent);transform:translateY(-4px);box-shadow:0 12px #0000002e,var(--shadow)}.hotbar-icon{font-size:1.6rem;line-height:1}.hotbar-count{position:absolute;bottom:2px;right:4px;font-size:.7rem;font-weight:900;color:var(--ink);background:#ffffffd9;border-radius:8px;padding:0 4px}.touch-joystick-base{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:max(24px,calc(24px + env(safe-area-inset-bottom)));width:116px;height:116px;border-radius:50%;background:#ffffff47;border:3px solid rgba(255,255,255,.6);pointer-events:auto;touch-action:none}.touch-joystick-knob{position:absolute;top:50%;left:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--panel-strong);border:3px solid var(--edge);box-shadow:var(--shadow)}.touch-look-zone{position:absolute;right:0;top:0;width:55%;height:100%;pointer-events:auto;touch-action:none}.touch-btn{position:absolute;width:66px;height:66px;border-radius:50%;border:3px solid var(--edge);background:var(--panel-strong);font-size:1.7rem;display:grid;place-items:center;box-shadow:var(--shadow);pointer-events:auto;touch-action:none;transition:transform .08s ease}.touch-btn.pressed{transform:scale(.88);background:var(--accent)}.touch-btn-mine{right:max(20px,env(safe-area-inset-right));bottom:max(94px,calc(94px + env(safe-area-inset-bottom)))}.touch-btn-place{right:max(100px,calc(100px + env(safe-area-inset-right)));bottom:max(30px,calc(30px + env(safe-area-inset-bottom)));width:58px;height:58px}.touch-btn-jump{right:max(20px,env(safe-area-inset-right));bottom:max(174px,calc(174px + env(safe-area-inset-bottom)));width:58px;height:58px}.pointer-lock-prompt{position:absolute;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);background:var(--panel-strong);border:3px solid var(--edge);border-radius:999px;padding:6px 14px;font-weight:700;font-size:.85rem;color:var(--ink);box-shadow:var(--shadow);pointer-events:none;z-index:3}@media(hover:none)and (pointer:coarse){.pointer-lock-prompt{display:none}}.hero-picker{position:absolute;inset:0;background:#0b123099;display:grid;place-items:center;pointer-events:auto;z-index:20}.hero-picker-card{background:var(--panel-strong);border:4px solid var(--edge);border-radius:24px;padding:22px;box-shadow:var(--shadow);text-align:center;max-width:min(92vw,420px)}.hero-picker-card h2{margin:0 0 14px;font-size:1.5rem;color:var(--ink)}.hero-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hero-preset-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:14px;border:3px solid var(--edge);background:#f5f6fb;cursor:pointer;font-weight:800;color:var(--ink)}.hero-preset-btn:active{transform:scale(.95)}.hero-face{width:56px;height:56px;display:block;filter:drop-shadow(0 3px 0 rgba(20,20,40,.18))}.challenge-modal{position:absolute;inset:0;background:#0b12308c;display:grid;place-items:center;z-index:30;opacity:0;pointer-events:none;transition:opacity .2s ease}.challenge-modal.visible{opacity:1;pointer-events:auto}.challenge-card{position:relative;background:linear-gradient(180deg,#fffdf7,#fff4de);border:5px solid var(--edge);border-radius:30px;padding:30px 26px 26px;box-shadow:0 16px #1414282e,0 24px 44px #14142859;text-align:center;max-width:min(94vw,470px);animation:pop-in .32s cubic-bezier(.34,1.56,.64,1)}.challenge-card:before{content:"";position:absolute;inset:0;border-radius:25px;background:radial-gradient(circle at 50% 22%,#ffd16680,#ffd16600 62%);pointer-events:none}.challenge-card>*{position:relative}@keyframes pop-in{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.challenge-prompt{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 18px;padding:8px 18px;font-size:1.6rem;font-weight:900;font-family:inherit;color:var(--ink);letter-spacing:.2px;background:#ffffffb3;border:3px solid var(--edge);border-radius:999px;cursor:pointer}.challenge-prompt:active{transform:scale(.97)}.challenge-speaker{font-size:1.3rem;animation:speaker-pulse 1.8s ease-in-out infinite}@keyframes speaker-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.challenge-stimulus{display:flex;justify-content:center;margin-bottom:22px;padding:16px 18px;background:#ffffffbf;border:3px dashed rgba(28,35,51,.28);border-radius:22px}.challenge-options{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.challenge-option{border:4px solid var(--edge);background:linear-gradient(180deg,#fff,#eef1fb);border-radius:22px;padding:16px 20px;min-width:92px;min-height:92px;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px #1414282e;transition:transform .09s ease,box-shadow .09s ease}.challenge-option:active{transform:translateY(5px);box-shadow:0 3px #1414282e}.challenge-option:disabled{cursor:default}.challenge-option.correct{background:var(--good);border-color:#2e7d32}.challenge-option.wrong{animation:shake .4s ease;background:#ffe0dd}.challenge-option.hint{box-shadow:0 0 0 5px #ffb4008c,0 6px #00000024}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.qty-dots{display:flex;flex-direction:column;gap:10px;align-items:center}.qty-dots-row{display:flex;gap:12px}.qty-dot{position:relative;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#ffe9a8,#ffc93c 45%,#f0951d);border:2px solid rgba(120,66,8,.55);box-shadow:inset 0 -4px #8c4a0a52,0 3px #14142829}.qty-dot:after{content:"";position:absolute;top:5px;left:7px;width:10px;height:8px;border-radius:50%;background:#ffffffd9}.challenge-option .qty-dot{width:26px;height:26px}.challenge-option .qty-dot:after{top:4px;left:5px;width:8px;height:6px}.qty-sum{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.qty-group{padding:8px 10px;border-radius:16px;background:#ffffffb8;border:3px solid rgba(28,35,51,.22)}.qty-plus{font-size:2.1rem;font-weight:900;color:#5a6b8c}.qty-tenframe{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:8px;background:#ffffffb8;border:3px solid var(--edge);border-radius:14px}.qty-cell{width:30px;height:30px;border-radius:8px;background:#1c233317;border:2px solid rgba(28,35,51,.18)}.qty-cell.filled{background:radial-gradient(circle at 34% 28%,#ffe9a8,#ffc93c 45%,#f0951d);border-color:#78420880}.qty-letter{font-size:3.4rem;font-weight:900;line-height:1;color:var(--ink);text-transform:lowercase;text-shadow:0 3px 0 rgba(20,20,40,.14)}.qty-shape{width:74px;height:74px}.qty-shape svg{width:100%;height:100%;display:block;fill:#4fc3c9;stroke:var(--edge);stroke-width:5;stroke-linejoin:round;filter:drop-shadow(0 3px 0 rgba(20,20,40,.18))}.qty-picture{font-size:3.2rem;line-height:1.1}.qty-numeral{font-size:3.6rem;font-weight:900;color:var(--ink);line-height:1;text-shadow:0 3px 0 rgba(20,20,40,.14)}.hud-parent-btn{position:absolute;top:max(70px,calc(70px + env(safe-area-inset-top)));right:14px;width:30px;height:30px;border-radius:50%;border:2px solid rgba(28,35,51,.45);background:#fff9;color:#1c2333b3;font-weight:900;font-family:inherit;font-size:.9rem;pointer-events:auto;cursor:pointer}.parent-panel{position:absolute;inset:0;background:#0b1230b8;display:grid;place-items:center;z-index:40;pointer-events:auto;padding:16px;overflow-y:auto}.parent-card{background:var(--panel-strong);border:4px solid var(--edge);border-radius:22px;padding:22px;box-shadow:var(--shadow);max-width:min(94vw,380px);width:100%;text-align:center}.parent-card.wide{max-width:min(94vw,520px)}.parent-card h2{margin:0 0 12px;color:var(--ink)}.parent-gate-q{font-size:1.2rem;font-weight:800;color:var(--ink);margin:0 0 12px}.parent-gate-input{width:100%;padding:10px;font-size:1.2rem;font-family:inherit;border:3px solid var(--edge);border-radius:12px;margin-bottom:12px;text-align:center}.parent-btn{display:block;width:100%;padding:12px;margin-top:8px;border-radius:14px;border:3px solid var(--edge);background:var(--accent);font-family:inherit;font-weight:900;font-size:1rem;color:var(--ink);cursor:pointer}.parent-btn.ghost{background:#f0f2f8}.parent-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.parent-summary div{background:#f5f6fb;border:2px solid rgba(28,35,51,.18);border-radius:12px;padding:8px 4px}.parent-summary b{display:block;font-size:1.15rem;color:var(--ink)}.parent-summary span{font-size:.72rem;color:#5a6b8c}.parent-skills{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.parent-skill{display:grid;grid-template-columns:1fr 90px 74px;align-items:center;gap:8px;font-size:.85rem}.parent-skill-name{text-align:left;color:var(--ink);font-weight:700}.parent-bar{height:10px;border-radius:999px;background:#1c233324;overflow:hidden}.parent-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ffd166,#f0951d)}.parent-skill-num{text-align:right;font-weight:800;color:var(--ink)}.parent-note,.parent-empty{font-size:.85rem;color:#5a6b8c;text-align:left}.intro-overlay{position:absolute;inset:0;background:#0b12309e;display:grid;place-items:center;z-index:35;pointer-events:auto;padding:18px}.intro-card{background:linear-gradient(180deg,#fffdf7,#fff2d6);border:5px solid var(--edge);border-radius:28px;padding:26px 24px;text-align:center;max-width:min(92vw,400px);box-shadow:0 16px #1414282e,0 24px 44px #14142859;animation:pop-in .35s cubic-bezier(.34,1.56,.64,1)}.intro-star{font-size:3rem;animation:floaty-star 1.8s ease-in-out infinite}@keyframes floaty-star{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(6deg)}}.intro-card h2{margin:6px 0 10px;font-size:1.35rem;color:var(--ink)}.intro-card p{margin:0 0 8px;font-size:1.05rem;color:var(--ink)}.intro-hint{font-size:.9rem!important;color:#5a6b8c!important}.intro-go{margin-top:12px;padding:14px 28px;border-radius:18px;border:4px solid var(--edge);background:var(--accent);font-family:inherit;font-weight:900;font-size:1.15rem;color:var(--ink);cursor:pointer;box-shadow:0 6px #14142833}.hotbar-slot.empty-nudge{animation:slot-shake .42s ease;box-shadow:0 0 0 4px #e0483e99,var(--shadow)}@keyframes slot-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.parent-toggles{display:flex;gap:8px;margin-top:14px}.parent-toggle{flex:1;padding:10px;border-radius:12px;border:3px solid var(--edge);background:#e9ecf5;font-family:inherit;font-weight:800;font-size:.85rem;color:#5a6b8c;cursor:pointer}.parent-toggle.on{background:var(--good);color:#fff}.intro-stay{display:block;width:100%;margin-top:10px;padding:10px;border-radius:14px;border:3px solid var(--edge);background:#f0f2f8;font-family:inherit;font-weight:800;font-size:.95rem;color:#5a6b8c;cursor:pointer}.qty-clock{width:152px;height:152px}.qty-clock svg{width:100%;height:100%;display:block;filter:drop-shadow(0 3px 0 rgba(20,20,40,.18))}.qty-clock-num{font-family:ui-rounded,Arial Rounded MT Bold,system-ui,sans-serif;font-size:11px;font-weight:800;fill:#1c2333;text-anchor:middle;dominant-baseline:central}@media(max-height:540px){.challenge-card{padding:14px 16px;border-radius:22px;border-width:4px}.challenge-prompt{font-size:1.15rem;margin-bottom:8px;padding:8px 14px;min-height:46px;border-width:2px}.challenge-speaker{font-size:1rem}.challenge-stimulus{margin-bottom:10px;padding:7px 12px;border-radius:16px}.challenge-options{gap:10px}.challenge-option{min-width:62px;min-height:62px;padding:7px 11px;border-width:3px;border-radius:16px}.qty-numeral{font-size:2.2rem}.qty-letter{font-size:2.1rem}.qty-picture{font-size:2rem}.qty-dot{width:22px;height:22px}.qty-cell{width:20px;height:20px}.qty-shape{width:48px;height:48px}.qty-clock{width:96px;height:96px}}.challenge-card{max-height:calc(100dvh - 16px);overflow-y:auto}.startup-error,.context-lost{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:linear-gradient(180deg,#7ec8f0,#cfeaf7);z-index:60}.context-lost{background:#0b1230b8}.startup-error-card,.context-lost-card{background:var(--panel-strong, #fffdf7);border:5px solid var(--edge, #1c2333);border-radius:26px;padding:26px 24px;max-width:min(92vw,420px);text-align:center;box-shadow:0 14px #1414282e,0 22px 40px #14142852}.startup-error-star,.context-lost-star{font-size:3rem;line-height:1;margin-bottom:6px}.startup-error-card h1,.context-lost-card h2{margin:0 0 10px;font-size:1.4rem;color:var(--ink, #1c2333)}.startup-error-card p,.context-lost-card p{margin:0 0 8px;color:#46506b}.startup-error-hint{font-size:.92rem;color:#6a7590}.boot-screen{position:absolute;inset:0;z-index:80;display:grid;place-content:center;gap:12px;color:#1c2333;text-align:center;background:linear-gradient(180deg,#93d8ef,#d8f0cb)}.boot-screen span{font-size:4rem;color:#ffd23f;filter:drop-shadow(0 5px 0 rgba(23,32,57,.2));animation:speaker-pulse 1.1s ease-in-out infinite}.boot-screen b{font-size:1.2rem}:root{--night: #172039;--cream: #fffaf0;--cream-2: #f6edda;--gold: #ffc83d;--gold-deep: #e79519;--mint: #58d9aa;--violet: #6e5bd7;--coral: #ff7c69;--line: rgba(31, 40, 67, .82);--glass: rgba(255, 250, 240, .94);--soft-shadow: 0 8px 0 rgba(20, 27, 48, .16), 0 14px 34px rgba(17, 25, 48, .25);--edge: var(--night);--ink: var(--night);--panel: var(--glass);--panel-strong: var(--cream)}button{font:inherit}button:focus-visible{outline:5px solid #ffffff;outline-offset:3px;box-shadow:0 0 0 8px var(--violet)}.hud-brand{position:absolute;top:max(14px,env(safe-area-inset-top));left:16px;display:flex;align-items:center;gap:8px;height:42px;padding:0 14px 0 7px;border:2px solid rgba(255,255,255,.72);border-radius:999px;color:#fff;background:#172039bd;box-shadow:0 8px 24px #0b11233d;backdrop-filter:blur(12px);font-size:.92rem;font-weight:700;letter-spacing:.08em}.hud-brand b{color:var(--gold)}.hud-brand-mark{display:grid;width:28px;height:28px;place-items:center;color:var(--night);border-radius:50%;background:var(--gold);font-size:1.1rem}.hud-stars{top:max(14px,env(safe-area-inset-top));right:max(82px,calc(82px + env(safe-area-inset-right)));left:auto;min-width:66px;justify-content:center;border:2px solid rgba(255,255,255,.78);color:#fff;background:#172039c7;box-shadow:0 8px 24px #0b11233d;backdrop-filter:blur(12px)}.hud-goal{top:max(62px,calc(62px + env(safe-area-inset-top)));right:max(82px,calc(82px + env(safe-area-inset-right)));left:auto;width:88px;padding:4px 7px 6px;border:2px solid rgba(255,255,255,.72);background:#172039c2;box-shadow:0 8px 20px #0b112333}.hud-goal-count{color:#fff;font-size:.78rem}.hud-goal-track{background:#ffffff2e}.hud-hero-btn{top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:52px;height:52px;border:2px solid rgba(255,255,255,.78);background:#172039c7;box-shadow:0 8px 22px #0b112342}.hud-parent-btn{top:max(76px,calc(76px + env(safe-area-inset-top)));right:max(22px,calc(22px + env(safe-area-inset-right)));color:#fff;background:#172039ad;border-color:#ffffff9e}.hud-quest{--quest-progress: 0%;position:absolute;top:max(68px,calc(68px + env(safe-area-inset-top)));left:16px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;width:min(330px,calc(100vw - 190px));min-height:64px;padding:8px 12px 8px 8px;overflow:hidden;color:var(--night);text-align:left;border:2px solid rgba(255,255,255,.82);border-radius:20px;background:linear-gradient(90deg,rgba(255,200,61,.28) 0 var(--quest-progress),transparent var(--quest-progress)),var(--glass);box-shadow:var(--soft-shadow);pointer-events:auto;cursor:pointer}.hud-quest:after{content:"";position:absolute;right:0;bottom:0;left:0;height:4px;background:linear-gradient(90deg,var(--gold) 0 var(--quest-progress),rgba(23,32,57,.12) var(--quest-progress))}.hud-quest-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:var(--night);box-shadow:inset 0 -3px #0000002e;font-size:1.4rem}.hud-quest-copy{display:flex;min-width:0;flex-direction:column}.hud-quest-copy small{color:#7b6a47;font-size:.64rem;font-weight:900;letter-spacing:.13em}.hud-quest-copy b{overflow:hidden;font-size:.96rem;text-overflow:ellipsis;white-space:nowrap}.hud-quest-progress{padding:5px 8px;border-radius:999px;color:#fff;background:var(--violet);font-size:.75rem;font-weight:900}.hud-compass{top:max(144px,calc(144px + env(safe-area-inset-top)));left:18px;gap:6px;min-width:145px;padding:7px 12px;border:2px solid rgba(255,255,255,.74);color:#fff;background:#172039b3;box-shadow:0 7px 20px #0b112333;backdrop-filter:blur(10px)}.hud-compass-label{min-width:70px;font-size:.72rem;font-weight:800}.hud-hotbar{top:auto;bottom:max(16px,calc(16px + env(safe-area-inset-bottom)));padding:6px;border:2px solid rgba(255,255,255,.7);border-radius:22px;background:#172039b8;box-shadow:0 8px 28px #0b112347;backdrop-filter:blur(12px)}.hotbar-slot{border-width:2px;border-color:#ffffffbf;background:#fffaf0e6;box-shadow:inset 0 -3px #17203921}.hotbar-slot.active{border-color:#fff;background:var(--gold);box-shadow:0 0 0 4px #ffc83d59,inset 0 -3px #8b540733}.pointer-lock-prompt{top:auto;bottom:90px;color:#fff;border:2px solid rgba(255,255,255,.72);background:#172039c2}.hero-picker{padding:20px;overflow-y:auto;background:radial-gradient(circle at 50% 30%,rgba(255,222,120,.2),transparent 34%),linear-gradient(180deg,#10193085,#0b1226c7);backdrop-filter:blur(7px)}.hero-picker-card{position:relative;width:min(94vw,620px);max-width:620px;max-height:calc(100dvh - 28px);padding:26px 30px 20px;overflow-y:auto;border:2px solid rgba(255,255,255,.9);border-radius:32px;background:radial-gradient(circle at 50% -10%,rgba(255,211,86,.35),transparent 38%),linear-gradient(180deg,#fffdf6,#f8efd9);box-shadow:0 14px #12182c3d,0 28px 72px #090f216b}.welcome-logo{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--night)}.welcome-logo>span{display:grid;width:54px;height:54px;place-items:center;border:4px solid var(--night);border-radius:17px;color:var(--night);background:var(--gold);box-shadow:0 5px #1720392e;font-size:1.9rem}.welcome-logo strong{font-size:clamp(1.75rem,5vw,2.5rem);font-weight:950;letter-spacing:-.055em}.welcome-logo em{color:var(--violet);font-style:normal}.welcome-tagline{margin:10px auto 18px;max-width:470px;color:#5e6475;font-size:.98rem;font-weight:700}.welcome-divider{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#7c6c50;font-size:.7rem;font-weight:950;letter-spacing:.16em}.welcome-divider:before,.welcome-divider:after{content:"";height:2px;flex:1;background:#17203921}.hero-picker-grid{gap:12px}.hero-preset-btn{min-height:108px;padding:10px 6px;border:2px solid rgba(23,32,57,.38);border-radius:20px;background:#ffffffb3;box-shadow:0 5px #1720391f;transition:transform .12s ease,border-color .12s ease,background .12s ease}.hero-preset-btn:hover{border-color:var(--violet);background:#fff;transform:translateY(-2px)}.hero-face{width:68px;height:68px}.welcome-safety{margin:18px 0 0;color:#68705f;font-size:.74rem;font-weight:800}.welcome-safety>span:first-child{display:inline-grid;width:20px;height:20px;place-items:center;margin-right:3px;border-radius:50%;color:#fff;background:#3aa879}.hud.is-welcoming>:not(.hero-picker){opacity:0;pointer-events:none}.intro-overlay{background:#0c1429a8;backdrop-filter:blur(7px)}.intro-card{width:min(92vw,540px);padding:28px 30px;border:2px solid rgba(255,255,255,.88);border-radius:32px;background:linear-gradient(180deg,#fffdf6,#f7edd6);box-shadow:0 13px #13192e38,0 25px 65px #0a102266}.intro-buddy{display:grid;width:72px;height:72px;place-items:center;margin:-4px auto 10px;border:4px solid var(--night);border-radius:26px 26px 32px 32px;color:var(--night);background:var(--mint);box-shadow:0 7px #17203924;font-size:2.3rem;animation:buddy-bob 2s ease-in-out infinite}.intro-kicker{color:var(--violet);font-size:.72rem;font-weight:950;letter-spacing:.16em}.intro-card h2{margin-top:6px;font-size:clamp(1.65rem,5vw,2.25rem)}.intro-steps{display:flex;justify-content:center;gap:10px;margin:18px 0 12px}.intro-steps span{display:flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;color:var(--night);background:#6e5bd71a;font-size:.82rem;font-weight:900}.intro-steps i{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:#fff;background:var(--violet);font-style:normal}.intro-go{min-height:56px;padding:12px 22px;border:2px solid var(--night);border-radius:18px;color:var(--night);background:var(--gold);box-shadow:0 6px 0 var(--gold-deep)}@keyframes buddy-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}.challenge-modal{padding:14px;background:#0c142975;backdrop-filter:blur(4px)}.challenge-card{width:min(94vw,560px);max-width:560px;padding:18px 22px 22px;border:2px solid rgba(255,255,255,.92);border-radius:30px;background:radial-gradient(circle at 50% 0%,rgba(255,210,72,.28),transparent 34%),linear-gradient(180deg,#fffdf7,#f6edda);box-shadow:0 12px #141c3338,0 24px 62px #0a102266}.challenge-friend{background:radial-gradient(circle at 50% 0%,rgba(88,217,170,.34),transparent 36%),linear-gradient(180deg,#fbfff9,#edf6e7)}.challenge-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#6b6c73;font-size:.66rem;font-weight:950;letter-spacing:.1em}.challenge-context,.challenge-domain{display:flex;align-items:center;gap:6px}.challenge-context i,.challenge-domain i{display:grid;min-width:28px;height:28px;padding:0 5px;place-items:center;border-radius:9px;color:#fff;background:var(--violet);font-style:normal;letter-spacing:0}.challenge-context i{background:var(--night)}.challenge-prompt{min-height:52px;margin-bottom:12px;border:2px solid rgba(23,32,57,.25);background:#ffffffb8;font-size:clamp(1.22rem,4vw,1.65rem)}.challenge-stimulus{margin-bottom:14px;padding:12px 16px;border:2px dashed rgba(23,32,57,.2);background:#ffffffa6}.challenge-options{gap:12px}.challenge-option{min-width:100px;min-height:100px;padding:12px 16px;border:2px solid var(--night);border-radius:22px;box-shadow:0 6px #1720392e}.challenge-option.correct{color:var(--night);border-color:#207553;background:var(--mint)}.challenge-option.wrong{background:#fff1e9}.challenge-feedback{min-height:26px;margin-top:10px;color:#697084;font-size:.85rem;font-weight:900}.challenge-feedback.success{color:#207553}.challenge-feedback.model,.challenge-feedback.gentle{color:#75551a}.challenge-help{min-width:136px;min-height:48px;margin-top:6px;padding:8px 16px;color:var(--night);border:2px solid rgba(23,32,57,.3);border-radius:999px;background:#fff;box-shadow:0 4px #1720391f;font-weight:900}.quest-sheet,.rest-nudge{position:absolute;inset:0;display:grid;place-items:center;padding:18px;pointer-events:auto;z-index:42;background:#0c14299e;backdrop-filter:blur(7px)}.quest-sheet-card,.rest-nudge-card{position:relative;width:min(92vw,430px);padding:28px;text-align:center;color:var(--night);border:2px solid rgba(255,255,255,.88);border-radius:32px;background:linear-gradient(180deg,#fffdf6,#f6ecd3);box-shadow:0 13px #12192e3b,0 26px 62px #0910236b}.quest-sheet-close{position:absolute;top:12px;right:12px;width:48px;height:48px;border:0;border-radius:50%;color:#fff;background:var(--night);font-size:1.8rem}.quest-sheet-kicker{color:var(--violet);font-size:.72rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.quest-sheet-icon{margin:10px 0 0;font-size:3.4rem}.quest-sheet-card h2{margin:4px 0 12px;font-size:1.65rem}.quest-sheet-card p{color:#5f6678;font-weight:700}.quest-sheet-meter{height:13px;overflow:hidden;border-radius:999px;background:#1720391f}.quest-sheet-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#ff9f43)}.quest-sheet-count{display:block;margin-top:5px;color:#786a4f;font-size:.78rem}.quest-sheet-reward{display:flex;align-items:center;gap:10px;margin:16px 0;padding:12px;text-align:left;border-radius:18px;background:#6e5bd717}.quest-sheet-reward>span:first-child{font-size:1.8rem}.quest-sheet-reward span:last-child{display:flex;flex-direction:column}.quest-sheet-reward small{color:var(--violet);font-size:.62rem;font-weight:950;letter-spacing:.12em}.quest-sheet-listen,.rest-nudge button{min-height:52px;padding:10px 18px;color:var(--night);border:2px solid var(--night);border-radius:16px;background:var(--gold);box-shadow:0 5px 0 var(--gold-deep);font-weight:900}.rest-nudge-card>span{font-size:3rem}.rest-nudge-card h2{margin:8px 0 4px}.rest-nudge-card .ghost{margin-left:8px;background:#fff;box-shadow:0 5px #17203929}.parent-card.wide{width:min(95vw,820px)}.parent-panel{overflow-x:hidden}.parent-toggles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.parent-toggle{min-width:0}.parent-path{margin-top:16px;padding-top:14px;border-top:2px solid rgba(23,32,57,.1)}.parent-path h3{margin:0}.parent-path>p{margin:4px 0 10px;color:#6a7182;font-size:.86rem}.parent-path-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.parent-path-btn{min-height:76px;padding:10px;text-align:left;color:var(--night);border:2px solid rgba(23,32,57,.18);border-radius:14px;background:#fff}.parent-path-btn b,.parent-path-btn span{display:block}.parent-path-btn span{margin-top:3px;color:#6a7182;font-size:.72rem}.parent-path-btn.active{border-color:var(--violet);background:#6e5bd71a;box-shadow:inset 0 0 0 2px #6e5bd72e}.parent-data-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.parent-btn.danger{color:#a43f3a;border-color:#d17b75}.runtime-error{position:fixed;inset:0;display:grid;place-items:center;padding:20px;z-index:70;background:linear-gradient(180deg,#6ab8df,#cde8f5)}.runtime-error-card{width:min(92vw,430px);padding:28px;text-align:center;border:3px solid var(--night);border-radius:28px;background:var(--cream);box-shadow:var(--soft-shadow)}.runtime-error-star{font-size:3rem}.runtime-error-card h2{margin:5px 0}.high-contrast{--glass: #ffffff;--line: #000000;--night: #101010}.high-contrast .hud-quest,.high-contrast .challenge-card,.high-contrast .hotbar-slot{border-color:#000}.reduced-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media(hover:hover)and (pointer:fine){.touch-joystick-base,.touch-look-zone,.touch-btn{display:none}}@media(hover:none),(pointer:coarse){.touch-joystick-base{width:104px;height:104px;border:2px solid rgba(255,255,255,.78);background:#17203952;box-shadow:0 8px 28px #0b112338}.touch-joystick-knob{border:2px solid rgba(255,255,255,.86);color:#fff;background:#172039d1}.touch-btn{width:70px;height:70px;border:2px solid rgba(255,255,255,.88);color:#fff;background:#172039d6;box-shadow:0 7px #0b112359,0 12px 28px #0b112340}.touch-btn-mine{background:linear-gradient(180deg,#7868df,#5744bd)}.touch-btn-place{background:linear-gradient(180deg,#e99a3b,#c76b20)}.touch-btn-jump{background:linear-gradient(180deg,#59cda3,#2d9f7b)}.hud-hotbar{bottom:max(18px,calc(18px + env(safe-area-inset-bottom)))}}@media(max-width:700px){.hud-brand{display:none}.hud-quest{top:max(12px,env(safe-area-inset-top));left:10px;width:min(56vw,270px);min-height:56px;grid-template-columns:38px minmax(0,1fr);border-radius:17px}.hud-quest-icon{width:38px;height:38px;border-radius:12px;font-size:1.1rem}.hud-quest-progress{display:none}.hud-quest-copy b{font-size:.8rem}.hud-stars{right:max(70px,calc(70px + env(safe-area-inset-right)))}.hud-hero-btn{right:max(10px,env(safe-area-inset-right));width:48px;height:48px}.hud-goal{display:none}.hud-parent-btn{top:max(72px,calc(72px + env(safe-area-inset-top)));right:max(16px,env(safe-area-inset-right))}.hud-compass{top:max(80px,calc(80px + env(safe-area-inset-top)));left:10px;min-width:130px}.hud-hotbar{gap:3px;padding:5px}.hotbar-slot{width:48px;min-width:48px;height:48px}.hotbar-icon{font-size:1.15rem}.hotbar-count{font-size:.62rem}.hero-picker{padding:10px}.hero-picker-card{padding:20px 16px 16px;border-radius:26px}.hero-preset-btn{min-height:94px}.hero-face{width:54px;height:54px}.welcome-tagline{margin-bottom:12px;font-size:.82rem}.welcome-safety{margin-top:12px;font-size:.64rem}.challenge-option:has(.qty-numeral),.challenge-option:has(.qty-letter){min-width:92px;width:92px;min-height:96px;padding-inline:10px}.parent-path-options{grid-template-columns:1fr}.parent-toggles{grid-template-columns:1fr 1fr}.parent-data-tools{grid-template-columns:1fr}}@media(max-width:700px)and (orientation:portrait)and (hover:none),(max-width:700px)and (orientation:portrait)and (pointer:coarse){.hud-hotbar{bottom:max(260px,calc(260px + env(safe-area-inset-bottom)))}}@media(max-height:560px)and (orientation:landscape){.hud-quest{top:8px;min-height:50px}.hud-compass{top:68px}.hud-stars,.hud-hero-btn{top:8px}.hud-parent-btn{top:62px}.hero-picker-card{width:min(94vw,760px);padding:14px 20px}.hero-picker-grid{grid-template-columns:repeat(6,1fr);gap:8px}.hero-preset-btn{min-height:82px}.hero-face{width:48px;height:48px}.welcome-logo>span{width:42px;height:42px}.welcome-logo strong{font-size:1.7rem}.welcome-tagline,.welcome-safety{margin:6px 0}.welcome-divider{margin-bottom:8px}.intro-card{width:min(62vw,520px);max-height:calc(100dvh - 12px);padding:12px 20px 14px;overflow-y:auto}.intro-buddy{width:50px;height:50px;margin:0 auto 4px;border-width:3px;border-radius:18px;font-size:1.55rem}.intro-kicker{font-size:.62rem}.intro-card h2{margin:3px 0 5px;font-size:1.35rem}.intro-card p{margin:3px 0;font-size:.82rem}.intro-steps{gap:6px;margin:7px 0 4px}.intro-steps span{padding:4px 8px;font-size:.7rem}.intro-steps i{width:18px;height:18px}.intro-go{min-height:46px;margin-top:7px;padding:8px 16px}.challenge-modal{place-items:center end;padding-right:max(12px,env(safe-area-inset-right))}.challenge-card{width:min(72vw,540px);max-height:calc(100dvh - 12px);padding:10px 16px 14px}.challenge-topline{margin-bottom:5px}.challenge-prompt{min-height:52px;margin-bottom:7px}.quest-sheet{place-items:start center;overflow-y:auto;overscroll-behavior:contain}.quest-sheet-card{max-height:calc(100dvh - 12px);padding:14px 20px;overflow-y:auto}.quest-sheet-icon{margin-top:2px;font-size:2.2rem}.quest-sheet-card h2,.quest-sheet-reward{margin-block:6px}.challenge-stimulus{margin-bottom:7px;padding:6px 10px}.challenge-option{min-width:86px;min-height:72px;padding:7px 12px}.challenge-feedback{min-height:20px;margin-top:4px}.challenge-help{min-height:44px;margin-top:2px}}.intro-steps{flex-wrap:wrap}.quest-sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quest-sheet-controls{min-height:52px;padding:10px 14px;color:var(--night);border:2px solid var(--night);border-radius:16px;background:#fff;box-shadow:0 5px #17203929;font-weight:900}.rest-nudge-card.resting{background:linear-gradient(180deg,#f3f2ff,#dde4ff)}.capability-warnings{position:absolute;top:max(136px,calc(136px + env(safe-area-inset-top)));right:max(14px,env(safe-area-inset-right));z-index:18;display:flex;flex-direction:column;gap:8px;width:min(330px,calc(100vw - 28px));pointer-events:none}.voice-warning,.storage-warning{display:grid;grid-template-columns:auto 1fr auto;gap:2px 8px;align-items:center;width:100%;padding:10px 10px 10px 12px;color:#fff;border:2px solid rgba(255,255,255,.8);border-radius:18px;background:#5b3150f0;box-shadow:0 8px 28px #0b112352;pointer-events:auto}.storage-warning{background:#6e4913f2}.voice-warning>span,.storage-warning>span{grid-row:1 / 3;font-size:1.5rem}.voice-warning small,.storage-warning small{grid-column:2}.voice-warning button,.storage-warning button{grid-column:3;grid-row:1 / 3;width:44px;height:44px;color:#fff;border:0;border-radius:50%;background:#ffffff29;font-size:1.4rem}.parent-reset-input{grid-column:1 / -1;min-width:0;min-height:48px;padding:8px 12px;border:2px solid var(--night);border-radius:12px;font:inherit;text-transform:uppercase}.parent-btn.holding{animation:parent-hold 1.8s linear forwards}@keyframes parent-hold{0%{box-shadow:inset 0 0 0 999px #ffffffc7,0 5px #17203929}to{box-shadow:inset 0 0 0 999px #fff0,0 5px #17203929}}.hud-parent-btn{width:44px;height:44px}.hud-compass{cursor:pointer;pointer-events:auto}@media(max-width:520px){.quest-sheet-actions{grid-template-columns:1fr}}@media(max-width:700px){.hud-quest{top:max(8px,env(safe-area-inset-top));left:8px;width:min(50vw,184px);min-height:44px;height:44px;grid-template-columns:30px minmax(0,1fr);gap:7px;padding:5px 8px 5px 5px;border-width:1.5px;border-radius:14px;box-shadow:0 5px 16px #0b11232e}.hud-quest-icon{width:30px;height:30px;border-radius:9px;font-size:.95rem}.hud-quest-copy small,.hud-quest-progress{display:none}.hud-quest-copy b{font-size:.72rem;line-height:1.08}.hud-stars{top:max(9px,env(safe-area-inset-top));right:max(50px,calc(50px + env(safe-area-inset-right)));min-width:48px;height:40px;gap:3px;padding:4px 8px;border-width:1.5px;font-size:.88rem;box-shadow:0 5px 16px #0b11232e}.hud-hero-btn{display:none}.hud-parent-btn{top:max(10px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:36px;height:36px;border-width:1.5px;font-size:.82rem;opacity:.82}.hud-compass{top:max(60px,calc(60px + env(safe-area-inset-top)));left:8px;width:44px;min-width:44px;height:44px;gap:0;padding:6px;border-width:1.5px;border-radius:13px;box-shadow:0 5px 16px #0b11232e}.hud-compass-arrow{width:28px;height:28px}.hud-compass-icon,.hud-compass-label{display:none}.hud-hotbar{bottom:max(208px,calc(208px + env(safe-area-inset-bottom)));gap:4px;max-width:calc(100vw - 20px);padding:3px;border-width:0;border-radius:15px;background:#1720396b;box-shadow:0 4px 14px #0b11232e;backdrop-filter:blur(6px)}.hotbar-slot{width:44px;min-width:44px;height:44px;border-radius:11px}.hotbar-slot.is-empty{display:none}.hotbar-slot.active{transform:translateY(-2px)}.hotbar-icon{font-size:1.05rem}.touch-joystick-base{left:max(12px,env(safe-area-inset-left));bottom:max(14px,calc(14px + env(safe-area-inset-bottom)));width:94px;height:94px}.touch-joystick-knob{width:44px;height:44px;margin:-22px 0 0 -22px}.touch-btn{width:60px;height:60px;font-size:1.45rem}.touch-btn-mine{right:max(12px,env(safe-area-inset-right));bottom:max(78px,calc(78px + env(safe-area-inset-bottom)))}.touch-btn-place{right:max(78px,calc(78px + env(safe-area-inset-right)));bottom:max(16px,calc(16px + env(safe-area-inset-bottom)));width:58px;height:58px}.touch-btn-jump{right:max(12px,env(safe-area-inset-right));bottom:max(148px,calc(148px + env(safe-area-inset-bottom)));width:54px;height:54px}.touch-btn-place.task-active{outline:4px solid #ffe178;outline-offset:3px;animation:task-button-pulse 1.15s ease-in-out infinite}.touch-btn-place.task-active:after{content:attr(data-progress);position:absolute;top:-13px;right:-13px;min-width:32px;padding:3px 6px;border:2px solid #fff;border-radius:999px;color:#172039;background:#ffe178;font-size:.72rem;font-weight:900;line-height:1}}@keyframes task-button-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}
