:root{--font-display:ui-rounded, "Arial Rounded MT Bold", system-ui, sans-serif;--type-caption:.875rem;--type-body:1rem;--type-action:1.125rem;--type-title:clamp(2rem, 7vw, 3.25rem);--type-prompt:clamp(1.75rem, 5vw, 3rem);--surface:#fffaf0;--surface-strong:#fff;--text:#17375e;--text-soft:#4c6480;--focus:#ffd65a;--focus-ring:#155aa8;--success:#58b957;--error:#d95252;--mint:#c9f7eb;--turquoise:#43cfc7;--sky:#72cdf5;--peach:#ffb77d;--lavender:#a98be9;--pink:#f48fbd;--cream:#fff7df;--radius:20px;--radius-large:34px;--shadow:0 6px 0 #204f7238, 0 12px 24px #1e698926;--shadow-large:0 10px 0 #204f722e, 0 24px 48px #1e69892e;--control-min:56px;--world:#32bcd0;--world-deep:#166fbd;--accent:#ff6a62;--path:#dff8ff;--motion-fast:.16s;--motion-normal:.28s;--motion-celebrate:.42s;--motion-travel:.64s;--ease-enter:cubic-bezier(.22, 1, .36, 1);--ease-move:cubic-bezier(.45, 0, .2, 1);--success-surface:#e5f7e1;--success-text:#1d6b32;--retry-surface:#fff1c9;--retry-text:#7a4c00;--error-surface:#fff0e8;--error-text:#8b3025}[data-theme=mecha]{--world:#078df2;--world-deep:#0758bc;--accent:#ff3b30;--path:#dff8ff}[data-theme=magical]{--world:#70cf4d;--world-deep:#23944e;--accent:#ec67c4;--path:#fff0c7}:root{font-family:var(--font-display);color:var(--text);font-synthesis:none;background:#baf7eb}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}button,input,select{font:inherit;min-height:var(--control-min)}:focus-visible{outline:4px solid var(--focus-ring);outline-offset:3px}h1[tabindex="-1"]:focus,h2[tabindex="-1"]:focus{outline:none}.startup{text-align:center;place-content:center;min-height:100vh;padding:24px;display:grid}.eyebrow{letter-spacing:.12em;font-weight:900}.screen{place-items:center;min-height:100vh;padding:24px;display:grid}.screen:not(.game-selection-screen):not(.parent-screen){isolation:isolate;background:linear-gradient(#daf9f2d6,#def5ffe0),url(/assets/worlds/family-map-landscape.webp) 50%/cover fixed;position:relative}.screen:not(.game-selection-screen):not(.parent-screen):before{z-index:-1;content:"";background:radial-gradient(circle at 18% 15%,#ffffffbd,#0000 22%),radial-gradient(circle at 84% 82%,#fff4a157,#0000 20%);position:absolute;inset:0}.panel{border:3px solid var(--text);border-radius:var(--radius-large);background:var(--surface);width:min(100%,520px);box-shadow:var(--shadow-large);text-align:center;padding:clamp(24px,6vw,48px)}.panel.wide{width:min(100%,760px)}.panel h1{margin:8px 0 12px;font-size:clamp(2rem,7vw,3.25rem);line-height:1.05}.field-label{text-align:left;margin:28px 0 8px;font-weight:800;display:block}.pin-input{border:3px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);letter-spacing:.4em;text-align:center;width:100%;min-height:64px;margin-bottom:20px;font-size:2rem}.button{min-height:var(--control-min);border:3px solid var(--text);border-radius:var(--radius);background:var(--focus);color:var(--text);cursor:pointer;box-shadow:var(--shadow);padding:12px 20px;font-weight:900}.button[data-variant=quiet]{box-shadow:none;background:0 0;border-color:#0000}.button[data-feedback=correct]{border-color:var(--success);background:var(--success);color:#fff}.button[data-feedback=incorrect]{border-color:var(--error);background:var(--error);color:#fff}.button:active:not(:disabled){box-shadow:0 2px 0 var(--text);transform:translateY(3px)}.button[data-variant=quiet]:active:not(:disabled){background:var(--path);box-shadow:none}.button:disabled{cursor:not-allowed;opacity:.5}.button small{margin-top:4px;font-weight:700;display:block}.parent-entry-link,.parent-link{place-items:center;text-decoration:none;display:inline-grid}.parent-entry-link{margin-top:24px}.parent-shell{gap:24px;display:grid}.parent-nav{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.parent-nav a{min-height:var(--control-min);border-radius:var(--radius);color:var(--text);border:2px solid #0000;padding:12px;font-weight:900;text-decoration:none}.parent-nav a[aria-current=page]{border-color:var(--text);background:var(--path)}.parent-content{min-width:0}.parent-dashboard-links,.parent-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.leaderboard-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.leaderboard-range [aria-pressed=true]{background:var(--path)}.leaderboard-current-form{margin-bottom:24px}.leaderboard-table{table-layout:fixed;border-collapse:collapse;width:100%}.leaderboard-table caption{padding:0 0 12px;font-size:1.15rem;font-weight:900}.leaderboard-table th,.leaderboard-table td{border:2px solid var(--text);overflow-wrap:anywhere;padding:8px 4px}.leaderboard-rank-column{width:36px}.current-child-marker{background:var(--path);border-radius:8px;margin-top:4px;padding:4px;font-size:.8rem;font-weight:900;display:block}.parent-form{text-align:left;gap:12px;margin-top:24px;display:grid}.parent-form label,.parent-form legend{font-weight:800}.parent-form input:not([type=radio]):not([type=checkbox]),.parent-form select{border:3px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);width:100%;padding:10px 12px}.parent-form fieldset,fieldset.parent-form{border:2px solid var(--text);border-radius:var(--radius);min-width:0;margin:0;padding:16px}.parent-choice{min-height:var(--control-min);align-items:center;gap:12px;display:flex}.parent-choice input{width:28px;min-height:28px;margin:0}.reward-form h2{margin-bottom:0}.reward-list,.reset-panel,.reward-ready-list{gap:16px;margin-top:32px;display:grid}.reward-card,.reward-ready-card,.reset-panel{border:3px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);overflow-wrap:anywhere;min-width:0;padding:20px}.reward-card,.reset-panel{text-align:left}.reward-card h3,.reward-ready-card h2,.reset-panel h2{margin:0}.reward-card p,.reward-ready-card p{margin:8px 0}.reward-status{border:2px solid var(--text);background:var(--path);border-radius:12px;padding:10px 12px}.reset-panel label{font-weight:800}.reset-panel select{border:3px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);width:100%;padding:10px 12px}.reward-parent-cta{width:100%;min-height:56px;margin-top:8px}.modal>.button{margin:8px}.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px;display:grid}.language-options{grid-template-columns:1fr}.loading-state{color:var(--text);text-align:center;align-content:center;gap:18px;font-size:1.25rem;font-weight:900}.loading-state:after{border:10px solid #ffffffc7;border-top-color:var(--world-deep);width:74px;height:74px;box-shadow:var(--shadow);content:"";border-radius:50%;order:-1;margin:auto;animation:.9s linear infinite loading-orbit}.loading-state p{box-shadow:var(--shadow);background:#fffaf0eb;border:3px solid #fff;border-radius:999px;margin:0;padding:12px 18px}p[role=alert]{background:var(--error-surface);color:var(--error-text);border:2px solid #efb2a8;border-radius:16px;padding:12px 16px;font-weight:850}p[role=note],.parent-content p[role=status],.parent-screen .panel>form>p[role=status]{color:var(--text);background:#e8f7ff;border-radius:16px;padding:12px 16px;font-weight:800}.progress-total{margin:24px 0;font-size:1.35rem;font-weight:900}.personal-family-totals{border-radius:var(--radius);background:var(--path);padding:12px;font-weight:900}.personal-family-totals p{margin:6px 0}.family-totals{margin-top:28px}.family-total-list{text-align:left;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.family-total-card{border:3px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);padding:16px}.family-total-card[aria-current=true]{background:var(--path)}.family-total-card h3,.family-total-card p{margin:6px 0}.question-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px;display:grid}.question-choice{color:#102445;cursor:pointer;background:#fff;border:3px solid #102445;border-radius:20px;min-height:150px;padding:18px;box-shadow:0 5px #102445}.question-choice:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #102445}.question-choice-label{margin-bottom:16px;font-size:1.4rem;font-weight:900;display:block}.quantity-art{justify-content:center;align-items:center;gap:12px;min-height:54px;display:flex}.quantity-shape{background:#a78bfa;border:3px solid #102445;border-radius:50%;width:48px;height:48px}.interaction-option-shell{min-width:0}.interaction-option-shell>button{width:100%;min-width:var(--control-min)}.interaction-option-shell .quantity-art{flex-wrap:wrap}.interaction-choice{min-width:var(--control-min);place-items:center;gap:8px;display:grid}.interaction-choice .learning-object{width:88px;height:88px}.interaction-stack{gap:18px;margin-top:24px;display:grid}.interaction-stack .button{min-width:var(--control-min)}.interaction-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.interaction-column,.drag-sources,.drag-targets{border:2px solid var(--text);border-radius:var(--radius);min-width:0;padding:16px}.interaction-column h3,.drag-sources h3{margin-top:0}.interaction-button-stack{gap:12px;display:grid}.interaction-stack [aria-pressed=true]{background:var(--focus)}.interaction-stack [role=status],[data-submission-status]{font-weight:800}.arrange-list{text-align:left;gap:14px;margin:0;padding-left:28px;display:grid}.arrange-list li{border:2px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);padding:14px}.arrange-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.pointer-source{touch-action:none}.supportive-copy,.hint{font-weight:800}.hint{background:#e0f2fe;border-radius:12px;padding:12px}.update-prompt{z-index:50;background:#fffdf4;border:3px solid #102445;border-radius:20px;width:min(100% - 32px,520px);margin-left:auto;padding:20px;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 8px #102445}.update-prompt p{margin:0 0 14px;font-weight:900}.update-prompt-actions{flex-wrap:wrap;gap:12px;display:flex}.icon{flex:none;width:24px;height:24px}.modal{border:3px solid var(--text);border-radius:var(--radius-large);background:var(--surface);width:min(100% - 32px,520px);color:var(--text);box-shadow:var(--shadow-large);text-align:center;padding:28px}.modal::backdrop{background:#102445a6}.modal-close{min-height:var(--control-min);border:3px solid var(--text);border-radius:var(--radius);background:var(--focus);color:var(--text);cursor:pointer;padding:12px 20px;font-weight:900}.character-presenter{transition:transform .18s;transform:translateY(0)}.character-presenter img{object-fit:contain;width:100%;height:150px;display:block}.character-greeting{transform:rotate(-2deg)}.character-hint{transform:translate(-4px)}.character-happy{transform:translateY(-4px)}.character-try-again{transform:rotate(2deg)}.character-celebrating{transform:scale(1.04)}.character-session-ended{transform:translateY(4px)}.learning-object{width:104px;height:104px;color:var(--text);place-items:center;display:inline-grid}.learning-object-svg{width:100%;height:100%;overflow:visible}.learning-object[data-learning-object^=shape-] .learning-object-svg{fill:#fff}.catalogue{background:#baf7eb;justify-items:center;gap:28px;min-height:100vh;padding:28px;display:grid}.catalogue h2{margin-top:0;font-size:clamp(1.5rem,5vw,2.25rem)}.catalogue-display{font-size:clamp(1.8rem,6vw,3rem);font-weight:900;line-height:1.05}.catalogue-themes{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.theme-sample{border:3px solid var(--text);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.theme-sample strong{background:var(--surface-strong);grid-column:1/-1;padding:12px}.theme-sample span{min-height:var(--control-min);color:#041426;place-items:center;padding:8px;font-weight:900;display:grid}.palette-world{background:var(--world)}.palette-deep{background:var(--world-deep)}[data-theme=mecha] .palette-deep{color:#fff}.palette-accent{background:var(--accent)}.palette-path{background:var(--path)}.catalogue-button-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.catalogue-input{border:3px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);width:100%;color:var(--text);padding:12px 16px}.icon-catalogue{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;list-style:none;display:grid}.icon-catalogue li{min-height:var(--control-min);border:2px solid var(--text);border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;display:flex}.future-node-row{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.future-node{border:4px solid var(--world-deep);background:var(--path);border-radius:50%;place-items:center;width:112px;min-height:112px;font-weight:900;display:grid}.future-node-current{border-color:var(--accent);background:var(--focus)}.future-node-locked{filter:grayscale();opacity:.65}progress{width:100%;height:28px;accent-color:var(--success)}.learning-filters{margin-bottom:24px}.learning-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.learning-metric{border:2px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);gap:4px;padding:16px;display:grid}.learning-metric strong{font-size:1.45rem}.learning-metric span{font-weight:800}.parent-subsection{border:2px solid var(--text);border-radius:var(--radius);background:var(--surface);margin-top:24px;padding:18px}.focus-weight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.focus-weight-grid label{gap:6px;font-weight:800;display:grid}.weekly-report-list{gap:12px;display:grid}.weekly-report-list div{border-left:5px solid var(--accent);background:var(--surface-strong);padding:12px}.weekly-report-list dt{font-weight:900}.weekly-report-list dd{margin:4px 0 0}.cloud-status-list,.notification-list{gap:10px;margin:16px 0;padding:0;display:grid}.cloud-status-list>div,.notification-list li{border:2px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);justify-content:space-between;gap:16px;padding:12px;display:flex}.notification-list li{flex-direction:column}.learning-object-grid,.character-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.learning-object-grid figure,.character-grid figure{border:2px solid var(--text);border-radius:var(--radius);background:var(--surface-strong);min-width:0;margin:0;padding:10px}.learning-object-grid figcaption,.character-grid figcaption{overflow-wrap:anywhere;font-weight:800}.asset-fallback{border:3px dashed var(--error);border-radius:var(--radius);min-height:120px;color:var(--error);place-items:center;font-weight:900;display:grid}.asset-recovery-sample{gap:16px;max-width:320px;margin:24px auto 0;display:grid}.asset-recovery-sample img,.asset-recovery-sample [role=img]{object-fit:contain;width:100%;min-height:120px}@media (width<=520px){.option-grid,.question-grid,.catalogue-themes,.catalogue-button-grid,.interaction-columns{grid-template-columns:1fr}.learning-object-grid,.character-grid,.icon-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-screen{padding:12px}.parent-screen .panel{padding:20px 16px}.parent-nav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.learning-metric-grid,.focus-weight-grid,.leaderboard-range{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.character-presenter,.button:active:not(:disabled){transform:none!important}}.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}body{background:linear-gradient(145deg,#d8fbf2,#bceffa);overflow-x:hidden}.screen>.panel{background:#fffaf0f0;border:5px solid #ffffffeb;box-shadow:0 9px #1d567729,0 24px 54px #13587e38}.button{color:var(--text);box-shadow:var(--shadow);transition:transform var(--motion-fast) ease, filter var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border:0;border-radius:20px}.button:hover:not(:disabled){filter:saturate(1.08)brightness(1.02)}.button:active:not(:disabled){transform:translateY(4px)scale(.98);box-shadow:0 2px #204f7233}.button[data-variant=secondary]{background:#fff}.button[data-variant=answer]{background:linear-gradient(#fff,#e7f8ff)}.button[data-feedback=correct]{background:var(--success-surface);color:var(--success-text)}.button[data-feedback=incorrect]{background:var(--retry-surface);color:var(--retry-text)}.button .icon{vertical-align:middle}progress{appearance:none;background:#d7e4e7;border:4px solid #fff;border-radius:999px;height:24px;overflow:hidden;box-shadow:inset 0 2px 5px #17375e2e,0 3px #17375e24}progress::-webkit-progress-bar{background:#d7e4e7}progress::-webkit-progress-value{border-radius:inherit;background:linear-gradient(90deg,#54b844,#a7df55)}progress::-moz-progress-bar{border-radius:inherit;background:linear-gradient(90deg,#54b844,#a7df55)}.game-shell{width:100%;min-width:320px;min-height:100vh;color:var(--text);background-position:50%;background-size:cover;position:relative;overflow-x:hidden}.game-hud{top:max(0px, env(safe-area-inset-top));z-index:20;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#155e84e0;border:2px solid #ffffffb3;border-radius:24px;justify-content:center;align-items:center;gap:10px;width:min(100% - 24px,1100px);min-height:72px;margin:10px auto 0;padding:8px 12px;display:flex;position:sticky;box-shadow:0 8px 24px #0f405e38}.hud-player,.hud-stat{white-space:nowrap;background:#05305052;border-radius:16px;align-items:center;gap:8px;min-height:46px;padding:6px 12px;display:flex}.hud-player{min-width:56px;min-height:56px;color:inherit;cursor:pointer;border:0}.hud-player:active{transform:translateY(2px)}.hud-stat .icon{color:#ffd856;fill:#ffd8564d}.hud-icon-button{color:#8c632d;cursor:pointer;background:linear-gradient(#fff8de,#f6e2ba);border:0;border-radius:16px;flex:0 0 56px;place-items:center;width:56px;min-height:56px;display:grid;box-shadow:0 4px #6b4b2038}.hud-icon-button:active{transform:translateY(3px);box-shadow:0 1px #6b4b2038}.profile-avatar{background:#dff8ff;border:5px solid #fff;border-radius:50%;flex:none;width:88px;height:88px;display:inline-block;position:relative;overflow:hidden;box-shadow:0 5px 14px #17375e33}.profile-avatar[data-size=small]{border-width:3px;width:46px;height:46px}.profile-avatar[data-size=large]{width:clamp(112px,26vw,158px);height:clamp(112px,26vw,158px)}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar[data-avatar=miso] img{transform:translateY(10%)scale(1.25)}.profile-avatar[data-avatar=soba] img{transform:translate(7%,21.5%)scale(1.43)}.profile-avatar[data-avatar=mecha-boy] img{transform:translate(20%,40%)scale(1.82)}.profile-avatar[data-avatar=mecha-robot] img{transform:translate(-45%,13%)scale(1.67)}.game-selection-screen{background:radial-gradient(circle at 20% 15%,#ffffffd6,#0000 24%),linear-gradient(#d0fbf1b8,#e3f0ffd6),url(/assets/worlds/family-map-landscape.webp) 50%/cover fixed;align-items:start;padding:clamp(16px,4vw,42px)}.game-selection-screen:before,.game-selection-screen:after{z-index:0;content:"";background:#ffffff3d;border-radius:50%;width:260px;height:260px;position:fixed}.game-selection-screen:before{top:-120px;left:-70px}.game-selection-screen:after{bottom:-100px;right:-90px}.profile-selection-panel,.world-selection-panel{z-index:1;box-shadow:var(--shadow-large);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff9e;border:2px solid #fffc;position:relative;width:min(100%,1040px)!important}.selection-title{justify-content:center;align-items:center;gap:12px;display:flex}.selection-title .icon{color:#ffc62f;fill:#ffc62f;width:30px;height:30px}.selection-copy{color:var(--text-soft);margin:0 0 24px;font-weight:800}.profile-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,24px);display:grid}.profile-select-card:after{content:"";border-radius:40px;position:absolute;inset:-14px}.profile-select-card{min-width:0;min-height:250px;color:var(--text);box-shadow:var(--shadow);cursor:pointer;transition:transform var(--motion-normal) cubic-bezier(.2,.8,.2,1), box-shadow var(--motion-normal) ease;background:linear-gradient(#fffdf8,#e9f8ff);border:4px solid #fff;border-radius:30px;align-content:center;place-items:center;gap:10px;padding:18px 10px;display:grid;position:relative}.profile-select-card:nth-child(2){background:linear-gradient(#fff6de,#ffe6d5)}.profile-select-card:nth-child(3){background:linear-gradient(#eef8ff,#ddecff)}.profile-select-card:nth-child(4){background:linear-gradient(#eafaff,#dcefff)}.profile-select-card strong{font-size:1.45rem}.profile-select-card span:last-child{color:var(--text-soft);font-weight:800}.profile-select-card:hover,.profile-select-card:focus-visible{transform:translateY(-6px)rotate(-.5deg);box-shadow:0 12px #4688ab29,0 24px 44px #1e698938}.profile-select-card:nth-child(2n):hover,.profile-select-card:nth-child(2n):focus-visible{transform:translateY(-6px)rotate(.5deg)}.profile-select-card{animation:chooser-card-enter var(--motion-celebrate) var(--ease-enter) both}.profile-select-card:nth-child(2){animation-delay:60ms}.profile-select-card:nth-child(3){animation-delay:.12s}.profile-select-card:nth-child(4){animation-delay:.18s}.selected-player-strip{box-shadow:var(--shadow);text-align:left;background:#fff;border-radius:999px;align-items:center;gap:14px;padding:8px 18px 8px 8px;display:inline-flex}.selected-player-strip div{display:grid}.selected-player-strip span{color:var(--text-soft);text-transform:uppercase;font-size:.78rem;font-weight:900}.world-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0 28px;display:grid}.world-card{min-height:310px;color:var(--text);box-shadow:var(--shadow-large);cursor:pointer;background:#fff;border:5px solid #0000;border-radius:32px;padding:0;display:grid;position:relative;overflow:hidden}.world-card[data-selected=true]{outline:5px solid var(--focus);border-color:#fff;box-shadow:0 12px #4688ab29,0 24px 44px #1e698938}.world-card:hover,.world-card:focus-within{transform:translateY(-4px)}.world-card img{object-fit:cover;width:100%;height:235px}.mecha-world-card img{object-position:center 42%}.magical-world-card img{object-position:center 52%}.world-card span{align-content:center;gap:4px;padding:12px 18px;display:grid}.world-card strong{font-size:clamp(1.3rem,3vw,1.8rem)}.world-card small{font-weight:800}.mecha-world-card span{color:#155baa;background:linear-gradient(90deg,#d8f4ff,#c6e4ff)}.magical-world-card span{color:#a84183;background:linear-gradient(90deg,#ffe7ef,#f0e2ff)}.adventure-ribbon{color:#fff;letter-spacing:.03em;background:linear-gradient(#b18bf0,#7653ca);border-radius:14px 14px 18px 18px;margin:0 0 8px;padding:7px 16px;font-size:clamp(.9rem,2vw,1.15rem);font-weight:950;display:inline-block;transform:rotate(-2deg);box-shadow:0 4px #5b3c9f40}.home-game-shell{background:linear-gradient(#5ed8d2,#cdf8ed);height:100svh;padding-bottom:90px;overflow:hidden}.home-game-content{width:min(100% - 24px,1100px);height:calc(100svh - 184px);min-height:420px;margin:10px auto 0}.home-world{height:100%;box-shadow:var(--shadow-large);isolation:isolate;background:#19aac3;border:5px solid #fff;border-radius:34px;position:relative;overflow:hidden}.home-map-camera{background:url(/assets/worlds/family-map-landscape.webp) 50%/cover no-repeat;transition:transform .64s cubic-bezier(.45,0,.2,1);animation:.48s cubic-bezier(.22,1,.36,1) both home-world-enter;position:absolute;inset:-4%}.home-game-shell[data-theme=mecha] .home-map-camera{background-image:url(/assets/worlds/mecha-map.webp)}.home-world[data-selected-area=adventure] .home-map-camera{transform:scale(1.04)translateY(1%)}.home-world[data-selected-area=practice] .home-map-camera{transform:scale(1.07)translate(3%,-1%)}.home-world[data-selected-area=rewards] .home-map-camera{transform:scale(1.07)translate(-3%,1%)}.home-world[data-selected-area=family] .home-map-camera{transform:scale(1.07)translate(-1%,-3%)}.home-world-sparkles{pointer-events:none;opacity:.7;background:radial-gradient(circle,#fff9a8 0 3px,#0000 4px) 16% 22%/180px 160px,radial-gradient(circle,#fff 0 2px,#0000 3px) 78% 30%/220px 190px;animation:8s linear infinite home-sparkle-drift;position:absolute;inset:0}.home-area-node{z-index:2;color:#17416c;cursor:pointer;background:linear-gradient(#fffce6,#ffd765);border:4px solid #fff;border-radius:24px;align-content:center;place-items:center;gap:2px;width:106px;min-height:74px;padding:7px;transition:filter .16s,scale .16s,box-shadow .16s;display:grid;position:absolute;translate:-50% -50%;box-shadow:0 7px #b97828,0 12px 24px #0a3d5340}.home-area-node .icon{color:#ec8d27;fill:#ffdc5e;width:27px;height:27px}.home-area-node strong{font-size:.76rem;line-height:1.05}.home-area-node:hover,.home-area-node:focus-visible{filter:brightness(1.05)saturate(1.08);scale:1.05}.home-area-node:active{scale:.96}.home-area-node[aria-pressed=true]{background:linear-gradient(#fff8a4,#ffb82e);box-shadow:0 7px #b86822,0 0 0 10px #ffef626b,0 16px 28px #0a3d534d}.home-area-node[aria-pressed=true]:after{content:"";border:4px solid #fff797b3;border-radius:30px;animation:1.7s ease-in-out infinite home-node-pulse;position:absolute;inset:-14px}.home-area-node[data-area=adventure]{top:27%;left:45%}.home-area-node[data-area=practice]{top:44%;left:36.5%}.home-area-node[data-area=rewards]{top:44%;left:71%}.home-area-node[data-area=family]{top:61%;left:58%}.home-avatar-marker{z-index:5;pointer-events:none;place-items:center;transition:left .64s cubic-bezier(.45,0,.2,1),top .64s cubic-bezier(.45,0,.2,1);display:grid;position:absolute;top:27%;left:45%;translate:-50% -118%}.home-avatar-marker[data-area=practice]{top:44%;left:36.5%}.home-avatar-marker[data-area=rewards]{top:44%;left:71%}.home-avatar-marker[data-area=family]{top:61%;left:58%}.home-avatar-marker .profile-avatar{border-color:#fff8a8;width:68px;height:68px;box-shadow:0 7px #7c4e1d59,0 12px 22px #08305052}.home-avatar-marker:after{content:"";filter:blur(2px);background:#083b5847;border-radius:50%;width:42px;height:12px;margin-top:-4px}.home-avatar-marker[data-phase=traveling] .profile-avatar{animation:.32s ease-in-out infinite alternate home-avatar-hop}.home-quest-button{z-index:8;color:#fff;cursor:pointer;background:linear-gradient(#a276ed,#704bc4);border:4px solid #fff;border-radius:18px;justify-content:center;align-items:center;gap:7px;min-width:72px;min-height:58px;font-weight:950;animation:3.2s ease-in-out infinite home-quest-float;display:inline-flex;position:absolute;top:14px;left:14px;box-shadow:0 6px #543698,0 12px 22px #0e344f42}.home-quest-button.button[data-variant=secondary]{color:#fff;background:linear-gradient(#a276ed,#704bc4)}.home-progress-pill{z-index:8;color:#fff;min-height:48px;box-shadow:var(--shadow);background:#0b5b80db;border:3px solid #fff;border-radius:999px;padding:12px 15px;font-size:.78rem;font-weight:950;position:absolute;top:14px;right:14px}.home-quest-panel{z-index:9;width:min(340px,100% - 28px);max-height:calc(100% - 220px);box-shadow:var(--shadow-large);text-align:left;background:#fffcebf5;border:4px solid #f0d59d;border-radius:22px;gap:9px;padding:14px;animation:.22s cubic-bezier(.22,1,.36,1) both home-tray-enter;display:grid;position:absolute;top:82px;left:14px;overflow:auto}.home-quest-panel h2{margin:0;font-size:1.05rem}.home-quest-panel .level-progress{background:#d8dfd5;border-radius:999px;height:12px;overflow:hidden}.home-quest-panel .level-progress span{border-radius:inherit;background:linear-gradient(90deg,#49b653,#8cd75f);height:100%;display:block}.home-quest-panel .mission-row{font-size:var(--type-caption);grid-template-columns:22px 1fr auto;align-items:center;gap:7px;font-weight:850;display:grid}.home-quest-panel .mission-row[data-complete=true] .icon{color:#42ad53;fill:#bceaa8}.home-action-tray{z-index:7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffae5f0;border:4px solid #ffffffe6;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:min(100% - 32px,620px);min-height:104px;margin:auto;padding:12px 14px;animation:.26s cubic-bezier(.22,1,.36,1) both home-tray-enter;display:grid;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 12px #0a52732e,0 22px 42px #073a584d}.home-action-copy{text-align:left;min-width:0}.home-action-copy h1,.home-action-copy h2,.home-action-copy p{margin:0}.home-action-copy h1,.home-action-copy h2{font-size:clamp(1.1rem,3vw,1.5rem)}.home-action-copy p{color:var(--text-soft);font-size:var(--type-caption);margin-top:3px;font-weight:850}.home-action-buttons{gap:7px;display:grid}.home-action-button{color:#fff;background:linear-gradient(#39b8ff,#188ae3);border:4px solid #fff;justify-content:center;align-items:center;gap:7px;min-width:156px;min-height:62px;font-size:1rem;display:inline-flex}.home-action-button.button[data-variant=secondary]{color:#fff;background:linear-gradient(#8ed55d,#58ac3f)}.home-mini-game-grid{grid-column:1/-1;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;gap:8px;padding:2px 2px 8px;display:grid;overflow-x:auto}.home-mini-game-grid .button{min-height:56px;font-size:var(--type-caption);padding:8px 12px}.home-world-status{position:absolute}.home-scene-wipe{z-index:100;pointer-events:none;opacity:0;background:radial-gradient(circle,#fff79a 0 6%,#29bbdc 7% 38%,#0d74b2 72%);transition:transform .36s cubic-bezier(.65,0,.35,1),opacity .14s;position:fixed;inset:0;transform:scale(.1)}.home-game-shell[data-transitioning=true] .home-scene-wipe{opacity:1;transform:scale(1.5)}.bottom-nav{right:12px;bottom:max(10px, env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf1f0;border:2px solid #fffc;border-radius:24px;grid-template-columns:repeat(5,minmax(0,1fr));width:min(100% - 24px,720px);margin:auto;padding:7px;display:grid;position:fixed;left:12px;box-shadow:0 10px 32px #0d435e42}.bottom-nav button{min-width:0;min-height:62px;color:var(--text-soft);cursor:pointer;background:0 0;border:0;border-radius:17px;align-content:center;place-items:center;gap:2px;display:grid}.bottom-nav button[aria-current=page]{color:#bd6419;background:linear-gradient(#fff5b8,#ffe27b);transform:translateY(-7px);box-shadow:0 5px #b665182e}.bottom-nav button:active{transform:scale(.94)}.bottom-nav span{text-overflow:ellipsis;font-size:clamp(.75rem,2.4vw,.875rem);font-weight:900;overflow:hidden}body:has(.bottom-nav) .update-prompt{bottom:calc(96px + env(safe-area-inset-bottom))}.map-game-shell{background-attachment:fixed;padding-bottom:96px}.map-world-panel{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#16a1b429;border:5px solid #ffffffe0;grid-template:"title guide""path path"1fr"status status"/minmax(0,1fr) minmax(170px,230px);align-items:start;gap:16px 24px;min-height:clamp(590px,100svh - 176px,760px);margin:16px auto;padding:clamp(20px,3vw,34px);display:grid;position:relative;overflow:hidden;box-shadow:0 22px 50px #0a3b5c47;width:min(100% - 24px,1100px)!important}.map-world-panel:before{z-index:0;content:"";pointer-events:none;background:linear-gradient(145deg,#33cfd326,#0b69b62e);position:absolute;inset:0}.map-world-panel>*{z-index:1;position:relative}.map-title-card{color:#fff;box-shadow:var(--shadow);background:linear-gradient(#875ee0,#6845bc);border:4px solid #fff;border-radius:24px;grid-area:title;justify-self:start;gap:2px;padding:12px 26px;display:inline-grid}.map-title-card span{font-size:var(--type-caption);letter-spacing:.12em;font-weight:950}.map-title-card h1{margin:0;font-size:clamp(1.7rem,5vw,2.6rem)}.map-title-card p{margin:0;font-weight:800}.map-guide{pointer-events:none;grid-area:guide;place-self:end;width:min(100%,220px);animation:2.8s ease-in-out infinite companion-idle}.map-guide img{object-fit:cover;object-position:center;mix-blend-mode:multiply;border-radius:44% 44% 28px 28px;height:clamp(150px,18vw,210px)}.level-map{grid-area:path;grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;gap:clamp(22px,5vh,46px) clamp(18px,5vw,54px);width:min(100%,820px);margin:2px auto 0;padding:clamp(18px,4vw,34px);list-style:none;display:grid;position:relative}.level-map:before{content:"";filter:drop-shadow(0 3px #0d588233);border:8px dotted #ffffffd1;border-color:#ffffffd1 #0000;border-radius:48%;position:absolute;inset:16% 10%}.level-node-slot{place-items:center;min-width:0;display:grid}.future-node{width:clamp(98px,13vw,126px);min-height:clamp(98px,13vw,126px);color:var(--text);box-shadow:0 7px 0 var(--world-deep), 0 16px 25px #0e4d7340;background:linear-gradient(#c9f7ff,#91ddef);border:7px solid #fff;align-content:center;place-items:center;gap:3px;display:grid;position:relative}.future-node strong{font-size:1.18rem}.future-node-current{cursor:pointer;background:linear-gradient(#ffec79,#ffb935);border-color:#fff7a8;box-shadow:0 7px #d37924,0 0 0 10px #ffea6b57,0 20px 32px #0e4d7347}.future-node-current:before{content:"";border:5px solid #fff17ba6;border-radius:50%;animation:1.8s ease-in-out infinite node-pulse;position:absolute;inset:-16px}.future-node-current:after{width:24px;height:24px;box-shadow:var(--shadow);content:"";background:#ff9e35;border:4px solid #fff;border-radius:50%;position:absolute;bottom:-8px;right:-13px}.future-node-locked{opacity:.78;background:linear-gradient(#dce4e6,#adbcc0);box-shadow:0 7px #778b90}.map-back-button{color:#fff;margin-top:10px;background:#0f4c6f94!important}.map-world-panel>[role=status],.map-world-panel>div:not(.map-title-card):not(.map-guide):not(.level-map){grid-area:status}.gameplay-shell{align-items:stretch;min-height:100svh;padding:clamp(8px,2vw,20px);display:grid}.gameplay-panel{min-height:calc(100svh - clamp(16px,4vw,40px));box-shadow:var(--shadow-large);background:linear-gradient(#e5fbffe8,#e8ffeeeb);border:5px solid #ffffffe0;flex-direction:column;margin:auto;padding:clamp(12px,2.4vw,28px);display:flex;overflow:hidden;width:min(100%,1180px)!important}.gameplay-hud{grid-template-columns:56px minmax(180px,1fr) auto;align-items:center;gap:12px;display:grid}.gameplay-progress progress{height:26px}.game-title-row{text-align:center;margin:10px 0 4px}.game-title-row p,.game-title-row h1{margin:0}.game-title-row p{color:var(--text-soft);font-weight:800}.game-title-row h1{font-size:clamp(1.5rem,4vw,2.4rem)}.gameplay-arena{flex:1;grid-template-columns:minmax(0,1fr) clamp(190px,25vw,300px);align-items:center;gap:clamp(16px,3vw,34px);min-height:0;margin-top:10px;display:grid}.gameplay-arena>.character-presenter{pointer-events:none;grid-area:1/2;align-self:center;width:100%;animation:2.8s ease-in-out infinite companion-idle}.gameplay-arena>.character-presenter img{object-fit:cover;object-position:center;mix-blend-mode:multiply;border-radius:44% 44% 28px 28px;height:clamp(250px,31vw,370px)}.question-stage{width:100%;min-width:0;box-shadow:var(--shadow-large);animation:scene-enter var(--motion-normal) var(--ease-enter) both;background:#fffaeff5;border:4px solid #f0d7aa;border-radius:34px;grid-area:1/1;align-self:center;margin:0;padding:clamp(20px,3vw,34px);display:grid}.game-success-stage{background:linear-gradient(145deg,#fffddff7,#e1ffe5f7);align-content:center;place-items:center;min-height:clamp(300px,45vh,520px)}.game-success-stage h2{color:var(--success-text);margin:0;font-size:clamp(3rem,8vw,5.4rem)}.game-success-stage p{font-size:1.2rem;font-weight:850}.spoken-question{align-items:center;gap:14px;display:flex}.spoken-question h2{flex:1;margin:0;font-size:clamp(1.7rem,5vw,3rem);line-height:1.15}.speech-orb{color:#fff;background:linear-gradient(#49b8ff,#2387de);border:4px solid #fff;border-radius:50%;flex:none;place-items:center;width:58px;min-height:58px;display:grid;box-shadow:0 5px #1967b3}.speech-orb.button[data-variant=secondary]{color:#fff;background:linear-gradient(#49b8ff,#2387de)}.game-action-row{gap:10px;margin:18px 0;display:flex}.game-action-row .button{align-items:center;gap:7px;display:inline-flex}.hint-button{color:#fff;background:linear-gradient(#ffbd55,#ff8e39)!important}.question-stage .interaction-stack,.question-stage .question-grid{z-index:2;position:relative}.question-stage .button[data-variant=answer],.question-choice,.interaction-button-stack .button{color:#fff;min-height:88px;box-shadow:var(--shadow);border:5px solid #fff;font-size:clamp(1.15rem,4vw,1.7rem)}.question-stage .interaction-option-shell:nth-child(4n+1) .button{background:linear-gradient(#4fc4f2,#2696d4)}.question-stage .interaction-option-shell:nth-child(4n+2) .button{background:linear-gradient(#8ed55d,#58ac3f)}.question-stage .interaction-option-shell:nth-child(4n+3) .button{background:linear-gradient(#ffc450,#f49a24)}.question-stage .interaction-option-shell:nth-child(4n+4) .button{background:linear-gradient(#ad8ae8,#8060c8)}.interaction-button-stack .button:nth-child(4n+1){background:linear-gradient(#4fc4f2,#2696d4)}.interaction-button-stack .button:nth-child(4n+2){background:linear-gradient(#8ed55d,#58ac3f)}.interaction-button-stack .button:nth-child(4n+3){background:linear-gradient(#ffc450,#f49a24)}.interaction-button-stack .button:nth-child(4n+4){background:linear-gradient(#ad8ae8,#8060c8)}.question-stage .hint{box-shadow:var(--shadow);background:#fff3ae;border:3px solid #fff}.gameplay-shell[data-game-id=colour-garden]{isolation:isolate;padding:0;background-image:url(/assets/worlds/colour-garden-stage-v2.jpg)!important;background-position:bottom!important;background-size:cover!important}.gameplay-shell[data-game-id=colour-garden] .gameplay-panel{min-height:100svh;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:clamp(10px,2vw,24px);overflow:auto;width:100%!important}.gameplay-shell[data-game-id=colour-garden] .game-title-row{z-index:1;position:relative}.gameplay-shell[data-game-id=colour-garden] .game-title-row :is(p,h1){color:#173b38;text-shadow:0 2px #ffffffe6}.gameplay-shell[data-game-id=colour-garden] .gameplay-arena{grid-template-columns:1fr;align-items:stretch;margin-top:0}.gameplay-shell[data-game-id=colour-garden] .gameplay-arena>.character-presenter{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.gameplay-shell[data-game-id=colour-garden] .question-stage{grid-column:1}.gameplay-shell[data-game-id=colour-garden] .question-stage:has(.interaction-choice-grid){min-height:0;box-shadow:none;background:0 0;border:0;flex-direction:column;align-self:stretch;gap:10px;padding:clamp(8px,1.5vw,18px);display:flex}.gameplay-shell[data-game-id=colour-garden] .question-stage:has(.interaction-choice-grid) .spoken-question{background:#fff8e6;border:5px solid #ffffffeb;border-radius:28px;align-self:center;width:min(100%,720px);padding:clamp(10px,1.7vw,18px) clamp(14px,2.4vw,26px);box-shadow:0 7px #82623840,0 16px 26px #164c4733}.gameplay-shell[data-game-id=colour-garden] .question-stage:has(.interaction-choice-grid) .game-action-row{z-index:3;justify-content:center;margin:0;position:relative}.gameplay-shell[data-game-id=colour-garden] .question-stage:has(.interaction-choice-grid)>:is(.supportive-copy,.hint){align-self:center;width:min(100%,720px);margin:0}.gameplay-shell[data-game-id=colour-garden] .interaction-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-self:flex-start;gap:clamp(12px,2vw,22px);width:min(50vw,720px);margin:auto 0 0 17vw}.gameplay-shell[data-game-id=colour-garden] .question-stage .interaction-choice-grid .interaction-choice{color:#173b38;height:clamp(170px,27vh,250px);min-height:0;box-shadow:none;transition:transform var(--motion-fast) ease, filter var(--motion-fast) ease;background:0 0;border:4px solid #0000;border-radius:42%;padding:12px 12px 54px;position:relative;overflow:visible}.gameplay-shell[data-game-id=colour-garden] .interaction-choice>span:first-child{z-index:2;color:#173b38;text-overflow:ellipsis;white-space:nowrap;background:#fff8df;border:3px solid #fff;border-radius:999px;padding:7px 16px;font-size:clamp(.95rem,2vw,1.3rem);line-height:1.05;position:absolute;bottom:4px;left:8px;right:8px;overflow:hidden;box-shadow:0 5px #304b3938}.gameplay-shell[data-game-id=colour-garden] .interaction-choice .learning-object{filter:drop-shadow(0 9px 5px #23422c47);width:clamp(112px,14vw,154px);height:clamp(112px,14vw,154px);animation:2.4s ease-in-out infinite flower-bob}.gameplay-shell[data-game-id=colour-garden] [data-option-id*=blue] .learning-object{animation-delay:-1.2s}.gameplay-shell[data-game-id=colour-garden] [data-option-id*=red] .interaction-choice>span:first-child{color:#fff;background:#e94f57}.gameplay-shell[data-game-id=colour-garden] [data-option-id*=blue] .interaction-choice>span:first-child{color:#fff;background:#347fe2}.gameplay-shell[data-game-id=colour-garden] [data-option-id*=yellow] .interaction-choice>span:first-child{background:#ffd94f}.gameplay-shell[data-game-id=colour-garden] [data-option-id*=purple] .interaction-choice>span:first-child{color:#fff;background:#8d5fd3}.gameplay-shell[data-game-id=colour-garden] [data-option-id*=green] .interaction-choice>span:first-child{color:#fff;background:#54a848}@media (hover:hover){.gameplay-shell[data-game-id=colour-garden] .interaction-choice:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-7px)scale(1.025)}}@keyframes flower-bob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-7px)rotate(1deg)}}@media (width>=521px){.interaction-choice-grid>:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}}@media (width>=761px){.gameplay-shell[data-game-id=colour-garden] .interaction-choice-grid{margin:0 0 0 17vw;position:absolute;bottom:22svh}}.result-game-shell{place-items:center;padding:20px;display:grid}.result-celebration-panel{min-height:min(720px,100svh - 40px);box-shadow:var(--shadow-large);background:linear-gradient(145deg,#fffde0f5,#e1fff4f2);border:5px solid #fff;grid-template-columns:minmax(0,1fr) minmax(230px,.8fr);align-content:center;place-items:center;gap:8px 26px;display:grid;position:relative;overflow:hidden;width:min(100%,960px)!important}.result-celebration-panel>:not(.character-presenter):not(.confetti-layer){z-index:1;grid-column:1;position:relative}.result-celebration-panel h1{animation:reward-pop var(--motion-celebrate) var(--ease-enter) both;margin:8px 0;font-size:clamp(3.2rem,8vw,5.6rem)}.result-celebration-panel>p:not(.adventure-ribbon){max-width:520px;font-size:1.15rem;font-weight:800}.result-celebration-panel .character-presenter{z-index:1;grid-area:1/2/span 6;width:100%;animation:2.8s ease-in-out infinite companion-idle}.result-celebration-panel .character-presenter img{object-fit:cover;object-position:center 50%;mix-blend-mode:multiply;border-radius:30px;height:clamp(260px,34vw,400px)}.result-reward-row{flex-wrap:wrap;justify-content:center;gap:12px;margin:14px 0;display:flex}.result-reward-row>span{min-width:100px;min-height:96px;box-shadow:var(--shadow);background:linear-gradient(#fff,#fff0c5);border:4px solid #fff;border-radius:24px;align-content:center;place-items:center;display:grid}.result-reward-row .icon{color:#f0ae16;fill:#ffd862}.result-reward-row strong{font-size:1.5rem}.result-reward-row small{color:var(--text-soft);font-weight:850}.celebration-continue{color:#fff;background:linear-gradient(#4fc5f5,#258fe1);justify-content:center;align-items:center;gap:8px;min-width:180px;display:inline-flex}.confetti-layer{pointer-events:none;opacity:.8;background-image:radial-gradient(circle,#ffcb3d 0 4px,#0000 5px),radial-gradient(circle,#ef76b1 0 3px,#0000 4px),radial-gradient(circle,#58c8c0 0 3px,#0000 4px);background-position:10% 12%,80% 18%,52% 7%;background-size:160px 180px,190px 150px,210px 170px;animation:1.8s ease-out both confetti-drift;position:absolute;inset:0}.parent-screen{background:linear-gradient(150deg,#daf9f1,#eaf4ff);align-items:start}.parent-screen .panel{box-shadow:var(--shadow-large);background:#ffffffd6;border:2px solid #ffffffd1}.parent-shell{text-align:left;grid-template:"nav content"1fr"exit content"/220px minmax(0,1fr);align-items:start;gap:18px 28px;min-height:calc(100svh - 48px);padding:clamp(18px,3vw,34px);width:min(100vw - 24px,1180px)!important}.parent-nav{background:#e7f7ff;border-radius:22px;flex-flow:column;grid-area:nav;justify-content:flex-start;padding:10px;display:flex;position:sticky;top:20px}.parent-nav a{align-items:center;display:flex}.parent-nav a[aria-current=page]{background:#fff0a8;border-color:#0000;box-shadow:0 4px #5d7e9029}.parent-content{text-align:left;grid-area:content}.parent-content>section>h1{margin:2px 0 10px;font-size:clamp(2rem,4vw,3.3rem)}.parent-shell>.button{grid-area:exit;align-self:end}.parent-dashboard-links{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;display:grid}.parent-link{text-align:center;min-width:0;padding-inline:10px}.parent-subsection{background:#ffffffe0}.parent-content :is(input:not([type=radio]):not([type=checkbox]),select,textarea){width:100%;min-height:var(--control-min);color:var(--text);background:#fff;border:2px solid #a9cede;border-radius:15px;padding:10px 12px}.parent-content label{font-weight:800}:is(.parent-content label:has(>input[type=checkbox]),.parent-content label:has(>input[type=radio])){min-height:var(--control-min);align-items:center;gap:10px;display:flex}.parent-content input:is([type=checkbox],[type=radio]){flex:0 0 26px;width:26px;min-height:26px}.parent-content>.loading-state{background:0 0;min-height:260px;padding:20px}.parent-content>.loading-state:before{display:none}.parent-content>.loading-state:after{width:46px;height:46px;box-shadow:none;border-width:7px}.plan-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-card,.reward-ready-card,.reset-panel,.family-total-card,.learning-metric,.parent-subsection{border:2px solid #3f7b9d29;box-shadow:0 8px 20px #1e69891a}.reward-ready-card{background:linear-gradient(145deg,#fff3bd,#ffdfef)}.reward-chest{color:#fff;background:linear-gradient(#ffbd3e,#f1792d);border:5px solid #fff3a5;border-radius:20px;place-items:center;width:92px;height:76px;margin:0 auto 12px;animation:2s ease-in-out infinite chest-glow;display:grid;box-shadow:0 7px #bd571d,0 0 24px #ffc2398c}.reward-chest .icon{width:42px;height:42px}.reward-parent-cta{justify-content:center;align-items:center;gap:8px;display:inline-flex}.leaderboard-table{border-collapse:separate;border-spacing:0 12px;display:block}.leaderboard-table caption{display:block}.leaderboard-table thead{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.leaderboard-table tbody{gap:12px;display:grid}.leaderboard-table tr{box-shadow:var(--shadow);background:linear-gradient(90deg,#fff,#edf9ff);border:3px solid #fff;border-radius:22px;grid-template-columns:52px minmax(120px,1fr) repeat(2,minmax(70px,.5fr));align-items:center;display:grid;overflow:hidden}.leaderboard-table th,.leaderboard-table td{text-align:center;border:0;padding:14px 10px}.leaderboard-table th[scope=row]{text-align:left}.leaderboard-player{align-items:center;gap:10px;font-size:1.05rem;display:flex}.leaderboard-medal{color:#d78b16;place-items:center;display:grid}.leaderboard-medal .icon{fill:#ffd862}.leaderboard-table.mastery-table{border-spacing:0;display:block;overflow-x:auto}.leaderboard-table.mastery-table thead{clip:auto;width:auto;height:auto;position:static;overflow:visible}.leaderboard-table.mastery-table tbody{display:table-row-group}.leaderboard-table.mastery-table tr{box-shadow:none;background:0 0;border:0;display:table-row;overflow:visible}.leaderboard-table.mastery-table th,.leaderboard-table.mastery-table td{text-align:left;border-bottom:1px solid #c9dfe8;min-width:110px}.leaderboard-table.mastery-table th:first-child,.leaderboard-table.mastery-table td:first-child{min-width:86px}@keyframes loading-orbit{to{transform:rotate(1turn)}}@keyframes chooser-card-enter{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}@keyframes scene-enter{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@keyframes companion-idle{0%,to{transform:translateY(0)rotate(-.5deg)}50%{transform:translateY(-8px)rotate(.5deg)}}@keyframes reward-pop{0%{opacity:0;transform:scale(.72)rotate(-3deg)}to{opacity:1;transform:none}}@keyframes node-pulse{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:.9;transform:scale(1.06)}}@keyframes confetti-drift{0%{background-position:10% 0,80% 10%,52% -10%}to{background-position:10% 180px,80% 160px,52% 170px}}@keyframes chest-glow{0%,to{filter:brightness();transform:translateY(0)}50%{filter:brightness(1.08);transform:translateY(-5px)}}@keyframes home-world-enter{0%{opacity:0;filter:brightness(1.35)saturate(.75)}to{opacity:1;filter:none}}@keyframes home-sparkle-drift{0%{background-position:16% 22%,78% 30%}to{background-position:22% 28%,72% 24%}}@keyframes home-node-pulse{0%,to{opacity:.35;scale:.92}50%{opacity:.9;scale:1.04}}@keyframes home-avatar-hop{0%{translate:0;rotate:-2deg}to{translate:0 -9px;rotate:2deg}}@keyframes home-quest-float{0%,to{translate:0}50%{translate:0 -5px}}@keyframes home-tray-enter{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0}}@media (height<=800px) and (width>=761px){.map-guide img{height:140px}.level-map{gap:18px 38px;padding-block:10px}.future-node{border-width:6px;width:104px;min-height:104px}}@media (width<=760px){.game-hud{justify-content:space-between}.game-hud .hud-player strong,.game-hud .hud-stat:nth-of-type(3){display:none}.hud-stat{padding:6px 9px}.profile-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-select-card{min-height:220px}.world-card-grid{grid-template-columns:1fr}.world-card{min-height:230px}.world-card img{height:170px}.home-game-content{height:calc(100svh - 174px);min-height:320px}.home-map-camera{background-image:url(/assets/worlds/family-map-portrait.webp);inset:-3%}.home-area-node{border-radius:20px;width:88px;min-height:64px;padding:5px}.home-area-node strong{font-size:.8rem}.home-area-node[data-area=adventure]{top:61%;left:55%}.home-area-node[data-area=practice]{top:47%;left:38%}.home-area-node[data-area=rewards]{top:24%;left:55%}.home-area-node[data-area=family]{top:40%;left:68%}.home-avatar-marker{top:61%;left:55%}.home-avatar-marker[data-area=practice]{top:47%;left:38%}.home-avatar-marker[data-area=rewards]{top:24%;left:55%}.home-avatar-marker[data-area=family]{top:40%;left:68%}.home-avatar-marker .profile-avatar{width:58px;height:58px}.home-action-tray{border-radius:22px;width:calc(100% - 20px);min-height:94px;padding:9px 10px;bottom:10px;left:10px;right:10px}.home-action-button{min-width:132px;min-height:58px;padding:8px 12px;font-size:.86rem}.map-world-panel{grid-template:"title guide""path path"1fr"status status"/minmax(0,1fr) 116px;gap:10px}.map-guide{width:116px}.map-guide img{height:116px}.level-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px;padding:18px 8px}.level-map:before{border-left-color:#0000;border-right-color:#ffffffd1;inset:10% 22%}.future-node{border-width:6px;width:clamp(94px,28vw,114px);min-height:clamp(94px,28vw,114px)}.gameplay-arena{grid-template-columns:1fr;align-content:center;gap:6px}.gameplay-arena>.character-presenter{grid-area:1/1;justify-self:center;width:min(44vw,180px)}.gameplay-arena>.character-presenter img{height:clamp(130px,35vw,175px)}.question-stage{grid-area:2/1}.gameplay-shell[data-game-id=colour-garden]{background-image:url(/assets/worlds/colour-garden-stage-mobile-v2.jpg)!important}.gameplay-shell[data-game-id=colour-garden] .gameplay-panel{padding:8px}.gameplay-shell[data-game-id=colour-garden] .question-stage:has(.interaction-choice-grid){grid-row:1;padding:4px}.gameplay-shell[data-game-id=colour-garden] .question-stage:has(.interaction-choice-grid) .spoken-question{width:min(100%,600px)}.gameplay-shell[data-game-id=colour-garden] .interaction-choice-grid{grid-template-columns:1fr;align-self:flex-start;gap:4px;width:min(62vw,300px);margin:15svh 0 0 3vw}.gameplay-shell[data-game-id=colour-garden] .question-stage .interaction-choice-grid .interaction-choice{height:clamp(112px,17svh,150px);padding:4px 6px 38px}.gameplay-shell[data-game-id=colour-garden] .interaction-choice>span:first-child{padding:5px 11px;font-size:clamp(.78rem,3.2vw,1rem);bottom:0;left:4px;right:4px}.gameplay-shell[data-game-id=colour-garden] .interaction-choice .learning-object{width:clamp(72px,20vw,100px);height:clamp(72px,20vw,100px)}.result-celebration-panel{grid-template-columns:1fr}.result-celebration-panel>:not(.confetti-layer){grid-column:1}.result-celebration-panel .character-presenter{grid-area:auto/1;width:min(72vw,300px)}.result-celebration-panel .character-presenter img{height:clamp(190px,58vw,290px)}.parent-shell{max-width:760px;padding:16px;display:block;width:calc(100vw - 24px)!important}.parent-nav{z-index:10;overscroll-behavior-inline:contain;flex-direction:row;justify-content:flex-start;gap:6px;margin:-4px -4px 20px;display:flex;position:sticky;top:0;overflow-x:auto}.parent-nav a{white-space:nowrap;flex:none}.parent-shell>.button{width:100%;margin-top:24px}.parent-dashboard-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px) and (height<=650px){.gameplay-shell[data-game-id=colour-garden] .interaction-choice-grid{margin-top:24px}}@media (width<=480px){.parent-screen>.panel{width:calc(100vw - 24px)}.game-selection-screen{padding:10px}.profile-selection-panel,.world-selection-panel{padding:22px 14px}.selection-title h1{font-size:2rem}.profile-select-card{border-radius:24px;min-height:190px}.profile-avatar[data-size=large]{width:105px;height:105px}.game-hud{border-radius:18px;gap:5px;width:calc(100% - 12px);min-height:62px;margin-top:6px;padding:5px}.game-hud .hud-player{padding:4px 6px;display:flex}.game-hud .hud-player .profile-avatar{display:none}.game-hud .hud-player strong{font-size:.65rem;display:block}.hud-icon-button{flex-basis:56px;width:56px;min-height:56px}.home-game-content{width:calc(100% - 12px);margin-top:8px}.home-world{border-width:3px;border-radius:24px}.home-quest-button{min-width:58px;min-height:56px;padding:6px;top:8px;left:8px}.home-quest-button span{display:none}.home-progress-pill{max-width:145px;min-height:44px;padding:10px 12px;font-size:.68rem;top:8px;right:8px}.home-quest-panel{width:calc(100% - 16px);max-height:calc(100% - 184px);top:70px;left:8px}.home-action-copy p{font-size:.875rem}.home-action-copy h1,.home-action-copy h2{font-size:.98rem}.home-mini-game-grid{grid-auto-columns:minmax(132px,1fr)}.bottom-nav{right:6px;bottom:max(6px, env(safe-area-inset-bottom));border-radius:20px;width:calc(100% - 12px);left:6px}.bottom-nav button{min-height:56px;padding:4px 2px}.map-world-panel{border-radius:26px;min-height:680px;margin-top:8px;padding:16px 8px 34px;width:calc(100% - 12px)!important}.map-title-card{padding:10px 12px}.map-title-card h1{font-size:1.55rem}.map-title-card p{font-size:.875rem}.map-guide,.map-guide img{width:96px}.map-guide img{height:104px}.future-node strong{font-size:1rem}.gameplay-shell{padding:6px}.gameplay-panel{border-radius:26px;min-height:calc(100svh - 12px);padding:10px}.gameplay-hud{grid-template-columns:48px minmax(80px,1fr) auto;gap:7px}.gameplay-hud .hud-icon-button{flex-basis:48px;width:48px;min-height:48px}.gameplay-progress progress{height:22px}.game-title-row{margin-top:7px}.game-title-row h1{font-size:1.55rem}.gameplay-arena>.character-presenter{width:min(38vw,142px)}.gameplay-arena>.character-presenter img{height:clamp(112px,31vw,142px)}.question-stage{border-radius:26px;padding:18px 12px}.spoken-question{align-items:flex-start}.spoken-question h2{font-size:clamp(1.45rem,7vw,2rem)}.game-action-row{margin:12px 0}.question-stage .button[data-variant=answer],.question-choice,.interaction-button-stack .button{min-height:72px}.result-game-shell{padding:8px}.result-celebration-panel{border-radius:28px;min-height:calc(100svh - 16px);padding:22px 14px}.result-celebration-panel h1{font-size:3.4rem}.result-reward-row>span{min-width:84px;min-height:82px}.parent-dashboard-links,.plan-metric-grid{grid-template-columns:1fr}.leaderboard-table tr{grid-template-columns:42px minmax(100px,1fr) repeat(2,58px)}.leaderboard-table th,.leaderboard-table td{padding:12px 4px;font-size:.78rem}}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .interaction-choice>span:only-child{font-size:clamp(2.4rem,9vw,3.6rem);line-height:1}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .interaction-choice{min-height:120px}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .interaction-choice .learning-object{width:clamp(108px,22vw,148px);height:clamp(108px,22vw,148px)}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .interaction-choice>span:not(:only-child):first-child{font-size:1.2rem}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .question-choice-label{margin-bottom:8px;font-size:1.2rem}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .quantity-shape{width:clamp(44px,9vw,60px);height:clamp(44px,9vw,60px)}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .quantity-art{gap:14px;min-height:64px}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .question-grid{gap:24px}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .spoken-question h2{font-size:clamp(1.3rem,4vw,2.1rem)}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .speech-orb{width:72px;min-height:72px}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .speech-orb .icon{width:32px;height:32px}.gameplay-shell:is([data-age-band="2-3"],[data-age-band="4-5"]) .interaction-button-stack .button{min-height:96px;font-size:1.3rem}@media (prefers-reduced-motion:reduce){.future-node-current,.confetti-layer,.map-guide,.gameplay-arena>.character-presenter,.result-celebration-panel .character-presenter,.reward-chest{animation:none!important}.gameplay-shell[data-game-id=colour-garden] .interaction-choice:hover:not(:disabled),.profile-select-card:hover,.profile-select-card:focus-visible,.bottom-nav button[aria-current=page],.profile-select-card:nth-child(2n):hover,.profile-select-card:nth-child(2n):focus-visible,.adventure-ribbon{transform:none}}
