@font-face{font-family:Fredoka;src:url(/assets/fredoka-vf-DOQG_Jwn.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0020-007F,U+00A0-00FF,U+2018-201D,U+2026,U+266D-266F,U+2728}@font-face{font-family:Fraunces;src:url(data:font/woff2;base64,d09GMgABAAAAAAawABIAAAAAC/gAAAZNAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2gcKj9IVkFSdgZgP1NUQVSCRCdQADwvOBEICoFcgUowhH4BNgIkAwwLCAAEIAWGQgcgG6cKUdSIyekjgi8KbPcUhU5CTjDg84cWvzDKW9LmCLEoShsIE6GAYiIsbaZ4iLeLelW/pwcLMgIYC9H6FAKOjIhEdhvvDOFpN8rVKKYz/TAz+35NN2EVHfltGAtA+uAdsxGdSlWK2u1VMzHEErA9z5Mn/jZJ7wrSu1YqVqDacDzyhSc2HmBIR/z+//1m5eKV0PRGLFQSMeOPj/n7HE4XsUiIhESFCJsnk2iavK2NusW0XmcjnX8QrULEZFi69Q8W6JhIFu6a68dPtI7nAgstFXQJxHHkWWgiECqJ0JKGwoDReOFIACGkREghBDomE25P1I5Qx5JgIOCkNElfuLBgmU3KCiucEmUveQnplrizJIpArvv7D6IOU7i5e6BIlLT9q+rRgtWgMbAawbWYJZ8za6EgDMMn2PI+gZeMhbx3H0vaE9MdEFBea8QBxsITQksDA5FjCdyTHD8r4Q+ez1RKcbKsBKWQ216eH0pF+YHn0UtD4BtKHMInReHX3Z7ynp8clRB9kaCNqR8l+tGLDx8Pqf5KgDHcmULGAEAww7g1ico+0OG3gK1jZnwo9iKd0YprEImj+dlObkckL2O2Zz6HSBkL2rtcAALCRoISGUw4zkFZJWOo2ISzZ0+mSJ1Vrkf/Q/7+qAfq2XmkxPj50xfuEWtcOlUWoUWh8oVW9gqn0HzJSz7y3vtf+frGv/xx4JP/ZwN7CBJKaiA8EZbgmwp1POTqpgYwU/dnq4mdWZwGAnquqW09iq+BsK5lEKFcoL8IEUJ06QMKqJFYBzYDqABk1Y8KpLKmtE9bICXPW8JJ7xcSml+3TRxvU+0awklfJqPKXwRpP/6OBo74y1WB2UFQQED5T3Y3cSaoxbW0LKoIdPZ6PfVAxeObcGLFEWIVXIwmKUZ4Bgx61HhqrBXSi547d7k4JF7OzZYR8Mm5SyPnS4/iXOQJZ+OqEKeWwHKxNNXD9XF/Ws/jBpqvzV8oHSoXAwceCKSCkfDAVAB9EwNesgKs8O+cDfoiEBpoSOe4RVmH0oDOE94Z88EmfARXb+SemxaUVtGfvK12Ja1rX2y41Nc79uodYf0Od2hM6/tt/Rsnimgh48BLskF0rs3P0BWThTFEXahKvmvRKH/ApsLiso5eDH+utOkKKtUdDQUI0W8E1k6wsYFEbjyCCB5tjNfkYRFS165p11dQeJi5Og9EwKNuGRIeiwHZKSPAUnzNKB0qxiHccaQ8LzMDKYpXpdCprs2v4hgFW1A1DNF+IqJ+mpnZunT0hpB2+v97MBXOH93Upjh5ybe5BdtM4ZaW8C14Hm4ypMPduwauhAtvxHERIEsQB/KV2SxSpv6c52yFBhXBp2tP10QHY0SIlyCQXamtyAQIFJ1geVlY+OAZRPh0f76jrq4QLZxlNnJrSwj20FXkgAg4lAw8A6PQoDi9lLi37JKW2YI39+xgrrOuPFdHkuDkJpQqCyE1q7ahax6SZcKoCH78eLVgcrHThtw80pxvX44Mz40sbBvpwz8EnEobqZurqyP27zx5+e6T8X69/PwIGTSkZO+fXF8LCnl5IBjwHz/5CLIT6Ou/eyfNClGzyWhaOvkGaMntro31dq8cPYOInh0u9vZ21RYjM5/85utpgyjwArSs0lpWTs5uQcEE+xamzgGeDhZaEAARIl4e9LiuVOrfifGITgC+HeMa4f393MCDCRdkaoUCagmZb21vfWkucXfqGEFsX8pf9nUj9VTsmK/YrupSVRmmID40wZiOqo1bcTH01YSptwewmGMBK2N9woZZUStrY0OpBEPzwNAzTsPUtywsOnEtVlpxO9Y6cX+kpS++6NQhGMOeWvEK9taJd7AvwviM9Msr+Ab6C34hA1jwHw5G3Q8cgjzr8w1Fmv2h2Rwpj0qmCDCypHU+NysKCp+TDg8nZBEQH2PGY9MQoSxB5ioNKGyemxLmS03ZPsQb8mQzjeoCkXj4aY6PBFIOMmptdAd574iMtzNwPBOSpNX8aqxd+LTDiEHZ4fn0MfqNRjJdZbOwtkod8VYUQ6snzd2cDOeWS184Auq4dQ2MJVWW/EFz3/rBJglYNVHfTy+oLl2JSZXlscz3iUl1zmYQw8Z2UwLdxqUrspSakCfv0g9Kz6jjuZ2+1uidoJcpleB9xX6NY6kAxz4ziwA=) format("woff2");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0020-007F,U+00A0-00FF,U+2018-201D,U+2026,U+266D-266F,U+2728}@font-face{font-family:Nunito;src:url(data:font/woff2;base64,d09GMgABAAAAAAS0ABMAAAAACgwAAARPAAOaHQAAAAAAAAAAAAAAAAAAAAAAAAAAGhQbbhwwP0hWQVJPBmA/U1RBVIEqJzIAPC90EQgKdHowgW4BNgIkAwwLCAAEIAWHPgcgG8AISB6HsRt68lMpDrWK1EGMUMkJnn+nfnOuZExSdIFVIHYfAPMXE+86/teavoTHXxytCqFLgUjREf7M3t+Ca7W7qarQRVSuyUhOOIWD+4y6VP87B+PZFOtAXWNam1i49/t/sAg+UCzzFLCAFCtNpAEFyGIxz1ShxrrJZ2LOqYgz3WdWKeIGgXZA9O2pG2eObJnlzu+hbX2gjKDtsiUn0OTwb3TtvK1MUOVGL5deG6qSvpYBgw0TEjXyqTB4gklsU2ySUo4cGlgBAIFuEgpMEhKFJqFpGxISot/UgXMFIEtBnmZ5Wol0UtoArHxVE5upxzAeGEKH8h9BprAkv7UuJ58ZExAQn6dHUMiEUJXQUMMIaf/tPc5hx9ejXAg9DDbOPMu59SLwLgeRPI2AyGICMqTI4wzS/QiIUvweUU4bAFnhUM0KdLXsGNdMSDGUYw4Q6g97GFRV1u6ma62vHp8Xej80RmGKceU5ZuzexDaQkKEhE2jIjUFZLiSFJevEVHV+uky8W3loqKpbdoo/PE32NYRIeJroHhkxgegROXEG0TNKxO9EI8rs198rKqT7id5RJSuIPlEjO4boK0Rnp64gA2UkDMVYQA5IDCgve9J5R/bZ+fzz204+t9eO5x5xTv2k83qvN7J99DrnnLPzBu2OERu9UT+/65xB56/0TqX6zjxbOafr/vX6c3PWuP+G2+/erOe9U5x669XrnjWTtOpfmzBQBgqwPvc0fScNKxTQhDWaKzRhWO/qHz/98dFXra6DZy4aO2Vc79pfX3zwQ7X3lCVzxnWZOfWHr7sYeGTRarUPm/LJbyml3z6ZMqyt1Wp1FP9+/PG/RZfWjaUhQ0o3Ht1nfPdvP/j2gRf+N2jhzodcPd8Oevz4zD3vdp2wRRM/tT3Xru+45f/LA809sv///td7qc1+P8/z/PNHN9up/c+1+zd/yx7+rTnwf83OjbP6woV1yxwtzJf4UukI/Y48+qSm7pNAdtGg0vB/b9m864I/qln2NbzX59o34MNp185sHdX6Pv8974qyBIJPVSwNIaijlgh+6Cx+Ny09b5w/EchspWJ3JQEAcoH+sUgm8hquIiIMcxWSLh5HZo5XyZxDSf+oG8qGxYiaoD2Wa3TwayFpxGbI1GMvIq8rRmmGPwRl3eIEVFTjAlT1iCtQU49bye4a6KFv3I+eBsbraOgfP6OXwamO3nqnMeijSIvQV9+02aMPVU/72UNWvkg+l4cJ00wx1QyFdXhswmqUhI8RYQ0SCdhMTFhCYR4ipYQxdsDYSmppssm252MexTC2NRKDZxPiitgcJMFSE7sVyvXq1y3rE5N059LfeMvmUiI6aWGSWaaYZr7VXLl0YC3J/Yh6DD9hwEcSwjHrPPUUb5YnmC5SNvl40HDBZvEpsbtIx427SMQa8RQCVBfRmUK1ePY4NLqgMXhUYnSMVxolpgFx3WmYuPynuUViukQB6LzZQA4AAA==) format("woff2");font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0020-007F,U+00A0-00FF,U+2018-201D,U+2026,U+266D-266F,U+2728}@layer reset,tokens,base,components,games,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;-webkit-appearance:none;appearance:none}img,svg{display:block;max-width:100%;height:auto}[hidden]{display:none!important}img[src*=epic_mascot]{max-width:100%;max-height:38vh;object-fit:contain}input,select{font:inherit;color:inherit}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary)}input[type=range]{width:100%;accent-color:var(--color-primary);-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}}@layer tokens{:root{color-scheme:light;--keyboard-offset: 0px;--color-primary: #E95639;--color-primary-light: color-mix(in oklch, var(--color-primary), white 28%);--color-primary-dark: color-mix(in oklch, var(--color-primary), black 18%);--color-secondary: #F9A93F;--color-accent: #4FB69E;--color-success: #31D0A0;--color-warning: #F9C74F;--color-error: #EF5A5A;--color-bg: #FFF9F3;--color-bg-alt: #FFEFE2;--color-surface: #FFFFFF;--color-text: #352019;--color-text-muted: #4A2E20;--color-brand-brown: #6A3A2A;--glass-bg: rgba(255, 255, 255, .92);--glass-bg-strong: rgba(255, 255, 255, .95);--glass-border: rgba(255, 255, 255, .6);--glass-shadow: var(--elevation-lg);--shadow-sm: 0 2px 8px rgba(86, 40, 23, .08);--elevation-lg: 0 18px 40px rgba(86, 40, 23, .15), 0 6px 14px rgba(86, 40, 23, .08), inset 0 0 0 1px rgba(255, 255, 255, .3);--font-main: "Fredoka", "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Fredoka", "Fraunces", "Nunito", serif;--text-xs: clamp(1.05rem, 2.4vw, 1.2rem);--text-sm: clamp(1.2rem, 3vw, 1.35rem);--text-base: clamp(1.35rem, 3.6vw, 1.5rem);--text-lg: clamp(1.5rem, 4.2vw, 1.8rem);--text-xl: clamp(1.8rem, 4.8vw, 2.1rem);--text-2xl: clamp(2.1rem, 6vw, 2.7rem);--text-3xl: clamp(2.7rem, 7.2vw, 3.6rem);--leading-tight: 1.1;--leading-snug: 1.25;--leading-relaxed: 1.45;--tracking-tight: .01em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 30px;--radius-2xl: 38px;--radius-full: 9999px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-bounce: cubic-bezier(.175, .885, .32, 1.275);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .2s;--duration-normal: .35s;--duration-slow: .5s;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=blue]{--color-bg: #E8F0F8;--color-bg-alt: #D6E4F0;--color-surface: #F2F7FA}[data-theme=green]{--color-bg: #EAF4EC;--color-bg-alt: #DCEADA;--color-surface: #F4F9F5}[data-theme=dark]{color-scheme:dark;--color-bg: #1A1A2E;--color-bg-alt: #16213E;--color-surface: #0F3460;--color-text: #F5F5F5;--color-text-muted: color-mix(in oklch, var(--color-text), transparent 25%);--glass-bg: color-mix(in srgb, #0F3460 82%, transparent);--glass-bg-strong: color-mix(in srgb, #0F3460 92%, transparent);--glass-border: color-mix(in srgb, white 32%, transparent);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .2);--color-brand-brown: #D4A88C}@media(prefers-reduced-motion:reduce){:root{--duration-fast: .01ms;--duration-normal: .01ms;--duration-slow: .01ms}}@media(min-width:768px){:root{--text-2xl: 1.75rem;--text-3xl: 2.25rem}}}@layer base{html{scroll-behavior:smooth;color-scheme:light;background:var(--color-bg)}body{font-family:var(--font-main);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text);background:var(--color-bg);overflow-x:hidden}p{line-height:var(--leading-relaxed);text-wrap:pretty}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:var(--leading-tight);text-wrap:balance}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}a{color:var(--color-primary);text-decoration:none}::selection{background:var(--color-primary-light);color:var(--color-text)}}@layer components{.global-animated-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(circle at 10% 50%,color-mix(in srgb,var(--color-bg-alt) 60%,transparent),transparent 60%),radial-gradient(circle at 90% 80%,color-mix(in srgb,var(--color-bg-alt) 80%,transparent),transparent 50%),linear-gradient(180deg,var(--color-bg-alt) 0%,var(--color-bg) 100%)}.bg-layer.stars circle{animation:twinkle 4s ease-in-out infinite alternate}.bg-layer.stars circle:nth-child(2n){animation-duration:5s;animation-delay:1s}.bg-layer.notes text{animation:float-note 15s ease-in-out infinite alternate;transform-origin:center}.bg-layer.notes .float-1{animation-delay:0s}.bg-layer.notes .float-2{animation-delay:-5s;animation-duration:20s}.bg-layer.notes .float-3{animation-delay:-10s}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:.8;transform:scale(1.2)}}@keyframes float-note{0%{transform:translate(0) rotate(0)}33%{transform:translate(15px,-20px) rotate(5deg)}66%{transform:translate(-10px,15px) rotate(-5deg)}to{transform:translate(25px,25px) rotate(10deg)}}.app-container{display:flex;flex-direction:column;min-height:100dvh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.glass{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:var(--color-text)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media(prefers-reduced-motion:reduce){html,.main-content{scroll-behavior:auto}.view{transition:none;transform:none}}@media(prefers-reduced-data:reduce){#achievement-modal .confetti-piece{display:none}.glass{backdrop-filter:none;-webkit-backdrop-filter:none}}.main-content{flex:1;max-height:100dvh;padding:var(--space-4);padding-top:calc(var(--safe-top) + 80px);padding-bottom:calc(80px + var(--safe-bottom) + var(--keyboard-offset));overflow-y:auto;scroll-behavior:smooth;scrollbar-gutter:stable}.view{opacity:1;transform:translateY(0);scroll-margin-top:calc(var(--safe-top) + 80px)}.view.is-active{display:block}.game-view.is-active,.song-view.is-active{position:fixed;inset:0;z-index:var(--z-modal);background:var(--color-bg);overflow-y:auto;padding-top:calc(var(--safe-top) + var(--space-4));padding-bottom:calc(var(--safe-bottom) + var(--space-6))}:root:not(:has(.view:target)) #view-home{display:block;opacity:1;transform:translateY(0)}@supports (view-transition-name: none){@media(prefers-reduced-motion:no-preference){.view{view-transition-name:none}.view.is-active,.view:target{view-transition-name:view}:root:not(:has(.view:target)) #view-home{view-transition-name:view}::view-transition-old(view){animation:slide-out-left var(--duration-normal) var(--ease-out) both}::view-transition-new(view){animation:slide-in-right var(--duration-normal) var(--ease-out) both}}}@keyframes slide-out-left{0%{opacity:1;transform:perspective(800px) translateZ(0) rotateY(0) scale(1)}to{opacity:0;transform:perspective(800px) translateZ(-200px) rotateY(-15deg) scale(.8)}}@keyframes slide-in-right{0%{opacity:0;transform:perspective(800px) translateZ(300px) rotateY(20deg) scale(1.5)}to{opacity:1;transform:perspective(800px) translateZ(0) rotateY(0) scale(1)}}@keyframes slide-out-right{0%{opacity:1;transform:perspective(800px) translateZ(0) rotateY(0) scale(1)}to{opacity:0;transform:perspective(800px) translateZ(-200px) rotateY(15deg) scale(.8)}}@keyframes slide-in-left{0%{opacity:0;transform:perspective(800px) translateZ(300px) rotateY(-20deg) scale(1.5)}to{opacity:1;transform:perspective(800px) translateZ(0) rotateY(0) scale(1)}}.view-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);background:var(--glass-bg);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:var(--glass-shadow);justify-content:space-between;flex-wrap:wrap;width:min(100%,1100px);margin-inline:auto;& h2{flex:1;text-align:center;margin:0;font-family:var(--font-display);text-wrap:balance;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}}.back-btn{padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-primary) 12%,white);border-radius:var(--radius-full);font-weight:600;transition:transform var(--duration-fast);display:inline-flex;align-items:center;gap:var(--space-1);text-decoration:none;color:var(--color-primary);min-height:44px;touch-action:manipulation;font-size:var(--text-sm);& svg{width:18px;height:18px;flex-shrink:0}&:active{transform:scale(.95)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);font-weight:800;font-size:var(--text-lg);transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease-out,background .15s;touch-action:manipulation;min-height:56px;border:4px solid var(--color-brand-brown);background:var(--color-surface);color:var(--color-text);box-shadow:0 8px 0 var(--color-brand-brown),0 15px 30px #783c2826;position:relative;transform-style:preserve-3d;transform:perspective(800px) rotateX(0) rotateY(0) translateZ(0);overflow:hidden;&:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#fff6,#fff0);transform:skew(-25deg);animation:magic-shimmer 4s infinite linear;pointer-events:none;z-index:10}@media(hover:hover)and (pointer:fine){&:hover{transform:perspective(800px) rotateX(10deg) rotateY(-5deg) translateZ(20px) scale(1.05);box-shadow:-5px 15px 0 var(--color-brand-brown),-10px 25px 40px #ff78004d;border-color:var(--color-primary)}}&:disabled,&[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;background-color:transparent;background-image:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(0,0,0,.05) 8px,rgba(0,0,0,.05) 12px)}}@keyframes magic-shimmer{0%{left:-100%}20%{left:200%}to{left:200%}}.btn:active,.icon-btn:active{transform:perspective(800px) rotateX(-5deg) rotateY(0) translateZ(-10px) scale(.92)!important;box-shadow:0 0 0 transparent!important;transition:transform .1s cubic-bezier(.4,0,.2,1),box-shadow .1s}.btn:focus-visible,.back-btn:focus-visible,.game-card:focus-visible,.song-card:focus-visible,.nav-item:focus-visible,.icon-btn:focus-visible{outline:none;outline:4px solid var(--color-secondary);outline-offset:4px}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-brand-brown);box-shadow:0 6px 0 var(--color-brand-brown)}@media(hover:hover)and (pointer:fine){.btn-primary:hover{filter:brightness(1.05)}.btn:hover{transform:translateY(2px);box-shadow:0 4px 0 var(--color-brand-brown)}}.btn-secondary{background:var(--color-secondary);color:var(--color-text);border-color:var(--color-brand-brown)}.btn-ghost{background:transparent;border:3px dashed #7A4A32;box-shadow:none;color:#7a4a32}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-md);min-height:44px}input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--color-primary) 0%,var(--color-primary) var(--slider-fill, 50%),var(--color-bg-alt) var(--slider-fill, 50%),var(--color-bg-alt) 100%);border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 3px #00000014}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));box-shadow:0 3px 10px color-mix(in srgb,var(--color-primary),transparent 45%),0 1px 3px #0000001f,inset 0 1px #ffffff4d;border:2px solid white;margin-top:-10px;transition:transform var(--duration-fast) var(--ease-bounce),box-shadow var(--duration-fast) var(--ease-out);cursor:grab}input[type=range]::-webkit-slider-thumb:active{transform:scale(.92);cursor:grabbing;box-shadow:0 1px 4px color-mix(in srgb,var(--color-primary),transparent 50%),inset 0 1px #fff3}@media(hover:hover)and (pointer:fine){input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 5px 15px color-mix(in srgb,var(--color-primary),transparent 35%),0 1px 3px #0000001f,inset 0 1px #ffffff4d}}.home-mascot{width:clamp(100px,28vw,140px);height:auto;aspect-ratio:1 / 1;object-fit:contain;animation:bounce 3s ease-in-out infinite;filter:drop-shadow(0 14px 26px rgba(73,39,26,.28));will-change:transform;cursor:pointer;transition:transform var(--duration-fast);outline-offset:4px;border-radius:50%}.home-mascot:active{transform:scale(.92)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes mascot-peek{0%{opacity:0;transform:translateY(20px) scale(.85)}60%{transform:translateY(-6px) scale(1.04)}80%{transform:translateY(2px) scale(.99)}to{opacity:.8;transform:translateY(0) scale(1)}}@keyframes progress-shimmer{0%{background-position:200% center}to{background-position:-200% center}}.goal-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary),var(--color-primary));background-size:200% 100%;border-radius:var(--radius-full);width:0%;transition:width var(--duration-slow) var(--ease-out);animation:progress-shimmer 2.5s ease-in-out infinite;box-shadow:1px 0 8px color-mix(in srgb,var(--color-secondary),transparent 40%)}@media(prefers-reduced-motion:reduce){.goal-fill{animation:none;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary))}}.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(100%,720px);margin-inline:auto}@media(max-width:720px){.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.games-grid{grid-template-columns:1fr}}.hero-mascot{position:absolute;right:-8px;top:-12px;width:90px;height:90px;object-fit:contain;pointer-events:none;z-index:1;filter:drop-shadow(0 6px 12px rgba(89,45,30,.18))}.arcade-mascot{width:100px;height:100px;top:-18px;right:-4px}.games-sort,.songs-filters{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);border-radius:var(--radius-full)}.filter-label{cursor:pointer}.filter-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.filter-chip{display:inline-block;padding:8px 18px;border-radius:var(--radius-full);font-weight:700;font-size:var(--text-sm);color:var(--color-text-muted);background:#fff9;border:2px solid transparent;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);cursor:pointer;user-select:none;-webkit-user-select:none}.filter-input:checked+.filter-chip{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 40%,transparent);transform:scale(1.06)}.filter-chip:active{transform:scale(.94)}@media(hover:hover)and (pointer:fine){.filter-chip:hover{background:#ffffffd9;border-color:color-mix(in srgb,var(--color-primary) 30%,transparent)}.filter-input:checked+.filter-chip:hover{background:color-mix(in srgb,var(--color-primary),#000 10%);border-color:color-mix(in srgb,var(--color-primary),#000 10%)}}.game-badge{font-size:1.6rem;line-height:1}.game-play-cta{font-size:1.3rem;opacity:.5;transition:opacity var(--duration-fast) var(--ease-out)}@media(hover:none)and (pointer:coarse){.game-play-cta{display:none}}@media(hover:hover)and (pointer:fine){.game-card:hover .game-play-cta{opacity:1}}.corner-mascot{display:block;width:80px;height:auto;margin:var(--space-6) auto var(--space-2);opacity:.3;pointer-events:none}.games-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center;border-radius:var(--radius-xl)}.games-empty[hidden]{display:none}.empty-state-mascot{width:100px;height:auto;opacity:.7}.empty-state-content h3{font-weight:800;margin-bottom:var(--space-2)}.empty-state-content p{color:var(--color-text-muted)}.game-card{padding:var(--space-4);border-radius:22px;text-align:center;transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out);position:relative;overflow:hidden;background:linear-gradient(135deg,#fff3e3f2,#ffe1c6d9);border:1px solid rgba(255,255,255,.9);box-shadow:0 14px 24px #592d1e24;aspect-ratio:1 / 1;display:grid;place-items:center;gap:var(--space-2);touch-action:manipulation}.game-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,rgba(255,255,255,.7),transparent 60%);z-index:-1;transition:opacity var(--duration-normal)}@media(hover:hover)and (pointer:fine){.game-card:hover:before{opacity:1}.game-card:hover{transform:translateY(-6px) scale(1.04)}}.game-card:active{transform:scale(.92) perspective(400px) rotateX(2deg);transition-duration:.08s}.game-title{font-size:var(--text-base);font-weight:800;line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:var(--space-2) var(--space-4);padding-bottom:calc(var(--space-2) + var(--safe-bottom));z-index:1000;margin:var(--space-2);margin-bottom:calc(var(--safe-bottom) + var(--keyboard-offset));border-radius:var(--radius-xl)}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);transition:background var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-fast) var(--ease-out);min-width:72px;touch-action:manipulation;min-height:64px;color:#7a4a32;font-size:var(--text-base);font-weight:800;&.is-active{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;font-weight:800;transform:translateY(-2px);text-shadow:0 1px 4px rgba(65,32,20,.35);box-shadow:0 4px 14px #e9563961}&:active{transform:scale(.9);.nav-icon{animation:nav-icon-bounce .35s var(--ease-bounce)}}}:root:has(.game-view:target) .bottom-nav,:root:has(.game-view.is-active) .bottom-nav{display:none!important;pointer-events:none}@keyframes nav-icon-bounce{0%{transform:scale(1)}30%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}.nav-icon{font-size:1.5rem;line-height:1}.nav-icon svg{width:24px;height:24px}.nav-label{font-size:var(--text-xs);font-weight:600;line-height:var(--leading-tight)}.tuner-card-header{position:absolute;top:14px;left:0;right:0;display:grid;place-items:center;pointer-events:none}.tuner-note{font-size:clamp(1.6rem,4.5vw,2.1rem);font-weight:800;color:#2f8b4b;line-height:1}.tuner-frequency{font-size:var(--text-sm);font-weight:700;color:#3b7a51;line-height:1.2}#tuner-live.in-tune .tuner-note{color:var(--color-success)}@keyframes in-tune-glow{0%,to{filter:drop-shadow(0 0 6px rgba(75,181,67,.4))}50%{filter:drop-shadow(0 0 14px rgba(75,181,67,.8))}}@keyframes note-pill-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}70%{transform:scale(.98)}to{transform:scale(1)}}@keyframes mascot-bounce{0%{transform:scale(1) translateY(0);filter:brightness(1) drop-shadow(0 10px 20px rgba(0,0,0,.3))}20%{transform:scale(1.15) translateY(-15px);filter:brightness(1.3) drop-shadow(0 20px 30px rgba(0,255,255,.6))}to{transform:scale(1) translateY(0);filter:brightness(1) drop-shadow(0 10px 20px rgba(0,0,0,.3))}}.trainer-mascot.metronome-tick{animation:mascot-bounce .3s var(--ease-bounce) forwards}}.tuner-layout{display:grid;gap:var(--space-4);padding:var(--space-4);width:min(100%,480px);margin-inline:auto}.tuner-card{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-2xl);text-align:center;position:relative;overflow:hidden}.tuner-card-mascot{position:absolute;top:0;right:-10%;width:35%;height:auto;object-fit:contain;opacity:.15;pointer-events:none;user-select:none}.tuner-note-pill{display:grid;gap:var(--space-1);justify-items:center;position:relative;z-index:1}.tuner-meter{display:grid;place-items:center;padding:var(--space-2) 0}.tuner-arc{width:100%;max-width:200px;height:auto}.tuner-zone{opacity:.6;transition:opacity var(--duration-fast) ease}.tuner-zone--red-l,.tuner-zone--red-r{stroke:var(--color-error)}.tuner-zone--yellow-l,.tuner-zone--yellow-r{stroke:var(--color-warning)}.tuner-zone--green{stroke:var(--color-success)}.tuner-needle{stroke:var(--color-text);transform-origin:100px 110px;transform:rotate(calc(var(--tuner-offset, 0) * 1.8deg));transition:transform .15s ease-out}.tuner-pivot{fill:var(--color-text)}.tuner-live-status{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.tuner-note-buttons{display:flex;gap:var(--space-2);justify-content:center}.tuner-note-btn{width:48px;height:48px;border-radius:var(--radius-full);border:2px solid var(--color-border);background:#fff9;font-weight:800;font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease}.tuner-note-btn:hover,.tuner-note-btn:focus-visible{background:#ffffffe6;border-color:var(--color-primary)}.tuner-controls{display:flex;gap:var(--space-3);justify-content:center}.tuner-start-big{flex:1;max-width:200px}.tuner-reference{padding:var(--space-4);border-radius:var(--radius-2xl)}.tuner-reference summary{cursor:pointer;font-weight:700}.reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2);margin-top:var(--space-2)}#tuner-live.in-tune .tuner-cents{color:var(--color-success);animation:note-pill-pop var(--duration-normal) var(--ease-bounce) both;font-weight:800}.tuner-cents{font-size:8rem;font-weight:800;color:var(--color-text-muted);line-height:.9;letter-spacing:-.04em;text-shadow:0 4px 12px rgba(0,0,0,.1)}.coach-kid-layout{display:grid;gap:var(--space-4);width:min(100%,600px);margin-inline:auto}.coach-hero-mascot{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3)}.timer-mascot-container{flex-shrink:0;width:120px;height:120px;border-radius:var(--radius-full);overflow:hidden;background:radial-gradient(circle,rgba(194,65,12,.15),transparent 70%);display:grid;place-items:center}.timer-mascot{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-full);animation:mascot-breathe 3s ease-in-out infinite alternate}.coach-speech-bubble{flex:1;padding:var(--space-3) var(--space-4);border-radius:20px 20px 20px 6px;font-weight:700;font-size:var(--text-base);color:var(--color-text);position:relative;animation:coach-fade-in .5s ease-out}.coach-bubble-text{display:block;margin:0}.coach-speech-bubble.is-typing .coach-bubble-text{opacity:.4;transition:opacity .2s ease-out}.coach-speech-bubble.is-revealed .coach-bubble-text{opacity:1;transition:opacity .3s ease-in}.state-checkbox{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus-ring{display:grid;place-items:center;padding:var(--space-5);width:clamp(160px,50vw,220px);height:clamp(160px,50vw,220px);margin:0 auto;border-radius:50%;border:6px solid var(--color-brand-brown);background:radial-gradient(circle,#fff6ebe6 60%,#e9563914);box-shadow:0 0 0 8px #d4a88c33,inset 0 4px 20px #582d1c0f;transition:border-color .4s ease,box-shadow .4s ease}.focus-toggle:not(:checked)~.focus-controls .btn-stop{display:none}.focus-toggle:checked~.focus-controls .btn-start{display:none}.focus-toggle:checked~.focus-ring{border-color:var(--color-primary);box-shadow:0 0 0 8px #e9563926,0 0 30px #e956391a;animation:ring-pulse 2s ease-in-out infinite}@keyframes ring-pulse{0%,to{box-shadow:0 0 0 8px #e9563926,0 0 30px #e956391a}50%{box-shadow:0 0 0 12px #e9563940,0 0 40px #e9563926}}.practice-focus{padding:clamp(1.5rem,4vw,2.8rem);border-radius:36px;background:linear-gradient(165deg,#fff6ebb3,#ffe8d299);box-shadow:0 40px 80px #582d1c33;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);display:grid;gap:var(--space-6);position:relative;text-align:center;margin-top:calc(var(--space-6) * -1)}.coach-card-header{display:grid;place-items:center;gap:var(--space-2);position:relative}@keyframes mascot-breathe{0%{transform:scale(1) translateY(0);filter:drop-shadow(0 15px 20px rgba(255,150,0,.3))}to{transform:scale(1.05) translateY(-5px);filter:drop-shadow(0 25px 40px rgba(255,204,0,.6))}}@keyframes coach-dot-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes coach-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes plasma-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.coach-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap;margin-top:var(--space-2);background:#ffffff8c;padding:var(--space-2);border-radius:var(--radius-full);box-shadow:inset 0 0 0 1px #fffc}.coach-actions .btn{border-radius:var(--radius-full);padding:.55rem 1rem;background:#ffffffeb;border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 16px #783c281f}.song-card{padding:var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:var(--glass-shadow);border-radius:var(--radius-xl);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center;color:var(--color-text);text-decoration:none;cursor:pointer;transition:transform var(--duration-normal) var(--ease-bounce),box-shadow var(--duration-normal) var(--ease-out);will-change:transform,box-shadow;transform:translateZ(0)}.practice-focus h3{margin-bottom:0;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.focus-meta{display:grid;place-items:center;gap:var(--space-1)}.focus-duration{font-size:var(--text-sm)}.focus-status{font-size:var(--text-xl);font-weight:800;color:var(--color-text);letter-spacing:.02em}.focus-controls{display:grid;gap:var(--space-4)}.btn-giant{padding:var(--space-4) var(--space-6);font-size:1.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-full);justify-content:center;min-height:120px;box-shadow:0 16px 32px #e9563966;transition:transform var(--duration-fast) var(--ease-bounce),box-shadow var(--duration-fast) var(--ease-out)}.btn-giant:active{transform:translateY(8px) scale(.98);box-shadow:0 4px 12px #e9563966}#view-analysis .view-header,#view-trainer .view-header{background:transparent;box-shadow:none;padding:var(--space-2) 0;justify-content:space-between}#view-progress .view-header h2,#view-analysis .view-header h2,#view-games .view-header h2,#view-trainer .view-header h2,#view-songs .view-header h2,#view-tuner .view-header h2,#view-coach .view-header h2,#view-parent .view-header h2{text-align:left;margin-left:var(--space-2)}#view-settings,#view-help,#view-about,#view-backup,#view-analysis,#view-trainer,.song-view{background:linear-gradient(180deg,#fff5ebf2,#ffe4d2d9 55%,#fff1e6f2);padding:var(--space-5);border-radius:28px;box-shadow:0 22px 40px #783c282e;position:relative;overflow:hidden}#view-settings .view-header h2,#view-help .view-header h2,#view-about .view-header h2,#view-backup .view-header h2,#view-analysis .view-header h2,#view-trainer .view-header h2,.song-view .view-header h2{margin-left:0;color:#6a2e11;text-shadow:0 8px 18px rgba(120,60,40,.18)}#view-settings .back-btn,#view-help .back-btn,#view-about .back-btn,#view-backup .back-btn,#view-analysis .back-btn,#view-trainer .back-btn,.song-view .back-btn{background:#ffffffe6;color:#6a2e11;box-shadow:0 10px 18px #783c281f}#view-games .view-header h2{letter-spacing:.02em}#view-games .view-header{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:start;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);position:relative;overflow:visible}#view-songs .view-header h2,#view-tuner .view-header{justify-content:center;margin-bottom:var(--space-3)}#view-tuner .back-btn{display:inline-flex}#view-tuner .view-header h2{margin-left:0;text-align:center;color:#6a2e11;text-shadow:0 6px 16px rgba(120,60,40,.18);font-size:clamp(1.8rem,5vw,2.4rem)}#view-analysis .back-btn,#view-games .back-btn,#view-trainer .back-btn,#view-songs .back-btn,#view-tuner .back-btn,.install-guide-backdrop{position:fixed;inset:0;background:#1e100c66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-5);padding-bottom:calc(90px + var(--safe-bottom) + var(--space-5));z-index:var(--z-modal)}.install-guide-backdrop[hidden]{display:none!important}.install-guide{width:min(420px,92vw);padding:var(--space-5);border-radius:24px;box-shadow:0 20px 46px #3c1e1440;background:#fff8f1f5;color:#5a3d2b}.install-guide h3{margin:0 0 var(--space-2);font-size:1.4rem}.install-guide p{margin:0 0 var(--space-3)}.install-guide ol{margin:0 0 var(--space-4);padding-left:1.2rem;display:grid;gap:var(--space-2)}.install-guide-chip{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:#f56b4926;border:1px solid rgba(245,107,73,.3);font-weight:600;font-size:.85rem}.install-guide-actions{display:grid;gap:var(--space-2)}.install-guide-open{overflow:hidden}.install-guide-close{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;border-radius:50%;background:#5628171a;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-text-muted);transition:all .2s}.install-guide-close:hover{background:#56281733;transform:scale(1.1)}.install-guide-close:active{transform:scale(.95)}.progress-mascot{position:absolute;left:var(--space-4);bottom:var(--space-2);width:120px;height:120px;object-fit:contain;opacity:.98}.progress-layout{display:grid;gap:var(--space-4)}#view-progress .progress-hero,#view-progress .xp-panel,#view-progress .achievements-panel,#view-progress .recent-games,#view-progress .progress-details{color:var(--color-text)}.progress-hero{display:grid;gap:var(--space-3);padding:var(--space-4);text-align:center;position:relative}.progress-hero-note{color:var(--color-text-muted);font-size:var(--text-sm)}.streak-display{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:800;font-size:var(--text-lg)}.streak-fire{font-size:1.4em}.streak-number{color:var(--color-primary)}.streak-label{color:var(--color-text-muted)}.lesson-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.lesson-item{display:flex;flex-direction:column;gap:var(--space-1)}.lesson-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;opacity:.7}.xp-display{display:grid;gap:var(--space-3);text-align:center}.xp-current{font-size:var(--text-lg);font-weight:800}.xp-bar-large{height:16px;background:#0000001a;border-radius:var(--radius-full);overflow:hidden}.xp-fill-large{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);transition:width .6s var(--ease-out)}.badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-3);justify-items:center}.badge-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.badge-item.locked{opacity:.5}.badge-name{font-size:var(--text-xs);font-weight:700}.badge-lock{position:absolute;bottom:-2px;right:-2px;font-size:.8rem}.badge-fallback{font-size:1.8rem}.recent-games-list{display:grid;gap:var(--space-2)}.recent-game{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:#ffffff80;border-radius:var(--radius-md)}.recent-game-title{font-weight:700}.recent-game-score{color:var(--color-text-muted);font-size:var(--text-sm)}.progress-details{padding:var(--space-4)}.progress-details summary{cursor:pointer;font-weight:700;padding:var(--space-2)}.progress-outcomes{display:grid;gap:var(--space-4);margin-top:var(--space-4)}.progress-outcome-card{padding:var(--space-3);background:#fff6;border-radius:var(--radius-lg)}.progress-outcome-card h3{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:700}.outcome-grid{display:grid;gap:var(--space-2)}.next-actions-list{margin:0;padding-left:var(--space-4);display:grid;gap:var(--space-1);font-size:var(--text-sm)}.skill-radar{text-align:center}.skill-radar h3{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:700}.radar-chart{display:flex;justify-content:center;padding:var(--space-2) 0}.radar-svg{max-width:200px;height:auto}.radar-grid polygon{stroke-width:1}.radar-shape{transition:points .4s var(--ease-spring)}.radar-point{transition:cx .4s var(--ease-spring),cy .4s var(--ease-spring)}.skill-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-xs);font-weight:600}.skill-item{white-space:nowrap}.progress-actions{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid rgba(0,0,0,.08)}.progress-actions h3{margin:0 0 var(--space-1);font-size:var(--text-base);font-weight:700}.progress-actions p{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.recent-games-empty{text-align:center;padding:var(--space-3)}.recent-games-empty .empty-state-text{margin:0 0 var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.lesson-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.badge-art{position:relative;width:70px;height:70px;border-radius:50%;background:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff4d,0 12px 20px #28123a40;display:grid;place-items:center;overflow:hidden}.badge-art img{width:100%;height:100%;object-fit:contain}@keyframes badge-unlock{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}80%{transform:scale(.95)}to{transform:scale(1)}}@keyframes glow-ripple{0%{transform:scale(.5);opacity:0}40%{opacity:1}to{transform:scale(1.4);opacity:0}}@keyframes confetti-burst{0%{transform:scale(.3);opacity:0}30%{opacity:1}to{transform:scale(1.6);opacity:0}}.progress-mascot.is-celebrating{animation:mascot-celebrate .7s var(--ease-bounce)}@keyframes mascot-celebrate{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.15) rotate(-5deg)}50%{transform:scale(1.1) rotate(5deg)}75%{transform:scale(1.05) rotate(-2deg)}to{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.progress-mascot.is-celebrating{animation:none}}.lesson-plan{display:grid;gap:var(--space-3);padding:var(--space-4)}.lesson-plan h3{margin:0;font-size:var(--text-lg);font-weight:800}.lesson-step{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:#fff9;box-shadow:inset 0 0 0 1px #fffc}.lesson-step-time{font-size:var(--text-xs);font-weight:800;color:var(--color-primary);white-space:nowrap}.lesson-step-text{font-size:var(--text-sm);font-weight:700;color:var(--color-text)}.lesson-step-link{font-size:var(--text-xs);font-weight:700;color:var(--color-primary);text-decoration:none}.lesson-step-link:hover{text-decoration:underline}.lesson-step-cue{grid-column:2 / -1;font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.3}.lesson-step.is-active{background:#ffffffd9;box-shadow:0 10px 18px #78505a2e}.lesson-step.is-active .lesson-step-text{font-weight:800}.lesson-step.is-complete{opacity:.7}.lesson-runner{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffffbf;box-shadow:inset 0 0 0 1px #ffffffd9}.lesson-runner-header{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.lesson-runner-status{text-transform:none;letter-spacing:.02em}.lesson-runner-body{display:grid;gap:var(--space-1)}.lesson-runner-step{font-size:var(--text-sm);font-weight:800}.lesson-runner-cue{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.35}.lesson-runner-timer{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;text-align:center}.lesson-runner-progress{height:8px;border-radius:var(--radius-full);background:#fff9;overflow:hidden;box-shadow:inset 0 0 0 1px #fff9}.lesson-runner-fill{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#ff9f7a,#f6c1d0);transition:width var(--duration-fast) var(--ease-out)}.lesson-runner-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}#view-progress .lesson-plan{grid-column:1 / -1;color:var(--color-text)}#view-progress .lesson-step-text{color:var(--color-text)}#view-progress .lesson-step-cue{color:var(--color-text-muted)}.xp-info{font-weight:700;color:var(--color-text-muted);line-height:1.2}.path-node{min-width:120px;display:grid;gap:var(--space-2);justify-items:center;text-align:center;font-weight:700;color:var(--color-text)}.analysis-layout{display:grid;gap:var(--space-4);padding:var(--space-4);max-width:640px;margin-inline:auto}.analysis-chart{padding:var(--space-4);border-radius:var(--radius-2xl)}.analysis-chart h3{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:700}.analysis-chart-svg{width:100%;height:auto}.analysis-chart-line{fill:none;stroke:var(--color-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.analysis-chart-points circle{fill:var(--color-primary)}.analysis-chart-caption{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);text-align:center}.analysis-coach{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-4);border-radius:var(--radius-2xl)}.analysis-coach-message{font-size:var(--text-sm);line-height:1.5;color:var(--color-text)}.analysis-coach-avatar{display:grid;place-items:center;gap:var(--space-1);text-align:center;font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted)}.analysis-coach-avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover}.analysis-recordings{padding:var(--space-4);border-radius:var(--radius-2xl);display:grid;gap:var(--space-3)}.analysis-recordings h3{margin:0;font-size:var(--text-base);font-weight:700}.analysis-recording{display:flex;align-items:center;gap:var(--space-3)}.analysis-skill-grid{padding:var(--space-4);border-radius:var(--radius-2xl)}.analysis-skill-grid h3{margin:0 0 var(--space-3);font-size:var(--text-base);font-weight:700}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.skill-cell{display:flex;align-items:center;gap:var(--space-2)}.skill-icon{font-size:var(--text-lg)}.skill-name{font-weight:700;font-size:var(--text-sm)}.skill-stars{font-size:var(--text-sm);color:var(--color-primary);letter-spacing:1px}.analysis-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.analysis-stat{padding:var(--space-4);border-radius:var(--radius-2xl);text-align:center}.analysis-stat-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.analysis-stat-value{font-size:var(--text-2xl);font-weight:800;color:var(--color-text)}.analysis-actions{padding:var(--space-4);border-radius:var(--radius-2xl)}.analysis-actions h3{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:700}.recording-info{display:grid;gap:2px}.recording-title{font-weight:700;line-height:1.2}.recording-sub{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.2}.recording-play{width:44px;height:44px;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:800}.recording-save{margin-left:auto;width:44px;height:44px;border-radius:12px;background:#f87c5326;color:var(--color-primary);font-weight:700;display:grid;place-items:center}.recording-save:disabled{opacity:.5;cursor:not-allowed}.recording-delete{width:44px;height:44px;border-radius:12px;background:#78463229;color:var(--color-text-muted);font-weight:700;display:grid;place-items:center}.songs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:min(100%,720px);margin-inline:auto}@media(max-width:720px){.songs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.songs-grid{grid-template-columns:1fr}}.song-card{padding:var(--space-4);border-radius:22px;text-align:center;background:radial-gradient(circle at top,#fffc,#ffe0c8e6);border:2px solid rgba(255,214,140,.7);box-shadow:0 16px 28px #582d1c29;display:grid;gap:var(--space-3);position:relative;text-decoration:none;color:inherit;min-height:210px;touch-action:manipulation}@media(hover:hover)and (pointer:fine){.song-card:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 22px 38px #582d1c33}}.song-card:active{transform:scale(.92) perspective(400px) rotateX(2deg);transition-duration:.08s}.song-art{font-size:2.4rem;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}.song-title{font-weight:800;font-size:var(--text-base);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);text-wrap:balance;color:var(--color-text)}.song-play{font-size:1.3rem;opacity:.5;transition:opacity var(--duration-fast) var(--ease-out)}@media(hover:none)and (pointer:coarse){.song-play{display:none}}@media(hover:hover)and (pointer:fine){.song-card:hover .song-play{opacity:1}}.song-card.is-recommended{border-color:#76c49ae6;box-shadow:0 18px 30px #3e785833}.song-recommendation{position:absolute;top:var(--space-3);right:var(--space-3);padding:6px 12px;border-radius:var(--radius-full);background:linear-gradient(135deg,#d6ffe9f2,#a7e8c6f2);color:#1f5a44;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 10px 18px #3e78582e}.song-card.is-hidden{display:none}.song-best{font-size:var(--text-xs);font-weight:700;color:var(--color-text);line-height:var(--leading-snug)}.songs-search{display:block;width:100%;max-width:420px;margin:0 auto var(--space-3);padding:var(--space-2) var(--space-4);border:2px solid rgba(255,255,255,.85);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;color:var(--color-text);background:#ffffffb3;outline:none;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.songs-search:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}.songs-search::placeholder{color:var(--color-text-muted);font-weight:500}.songs-continue-card{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);text-decoration:none}.song-player-mascot{position:absolute;width:80px;height:80px;top:-8px;right:-4px}[data-progress=daily-goal-value],[data-progress=week-minutes],[data-progress=level],[data-progress=level-label],[data-progress=games-level-label],.xp-info,.tuner-frequency,.tuner-cents,.game-score,.song-meta-value{font-variant-numeric:tabular-nums}.parent-layout{display:grid;gap:var(--space-4);padding:var(--space-4)}.parent-chart{padding:var(--space-4)}.parent-chart h3{margin:0 0 var(--space-2)}.parent-chart-graph{overflow:hidden;border-radius:var(--radius-lg)}.parent-chart-graph svg{display:block;width:100%;height:auto}.parent-chart-line{fill:none;stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.parent-chart-points circle{fill:var(--color-primary)}.weekly-summary{margin:var(--space-2) 0 0;font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);text-align:center}.parent-goals{padding:var(--space-4)}.parent-goals h3{margin:0 0 var(--space-2)}.parent-goal-note{margin:0 0 var(--space-2);font-weight:700;font-size:var(--text-sm)}.goal-progress{height:8px;border-radius:var(--radius-full);background:#00000014;overflow:hidden}.parent-goal-value{margin:var(--space-1) 0 var(--space-3);font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.parent-goal-form{display:grid;gap:var(--space-2)}.parent-goal-input{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.12);background:#ffffffe6;font-size:var(--text-sm)}.parent-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.parent-settings{padding:var(--space-4)}.parent-settings h3{margin:0 0 var(--space-2)}.parent-settings-note{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.parent-overview{padding:var(--space-4)}.parent-overview h3{margin:0 0 var(--space-3)}.overview-skills{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin-bottom:var(--space-3)}.parent-outcome-grid{display:grid;gap:var(--space-2);margin:var(--space-3) 0}.parent-recordings{padding:var(--space-4)}.parent-recordings h3{margin:0 0 var(--space-2)}.parent-recording-list{display:grid;gap:var(--space-2)}.parent-advanced{padding:var(--space-4)}.parent-advanced h3{margin:0 0 var(--space-3)}.parent-advanced-section{padding:var(--space-3) 0;border-top:1px solid rgba(0,0,0,.06)}.parent-advanced-section:first-child{border-top:none;padding-top:0}.parent-advanced-section h4{margin:0 0 var(--space-2);font-size:var(--text-sm);font-weight:700}.parent-share-note{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.parent-mascot{position:fixed;bottom:var(--space-4);right:var(--space-4);width:80px;opacity:.6;pointer-events:none}.parent-realtime{padding:var(--space-4)}.parent-realtime h3{margin:0 0 var(--space-2)}.rt-preset-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-2) 0}.rt-preset-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid rgba(0,0,0,.12);background:#fffc;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}.rt-preset-chip.is-active,.rt-preset-chip[aria-pressed=true]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.rt-review-list{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.pin-dialog{border:none;border-radius:var(--radius-2xl);padding:var(--space-5);max-width:320px;width:90vw}.pin-dialog::backdrop{background:#0006;backdrop-filter:blur(4px)}.pin-form{display:grid;gap:var(--space-3);text-align:center}.pin-form h3{margin:0}.pin-actions{display:flex;gap:var(--space-2);justify-content:center}.pin-lock{font-size:var(--text-xs);opacity:.7}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;font-size:var(--text-sm);font-weight:600}.toggle-setting{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;font-size:var(--text-sm);font-weight:600;cursor:pointer}.toggle{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:#00000026;border-radius:24px;cursor:pointer;transition:background .2s}.toggle-slider:before{content:"";position:absolute;left:2px;top:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle input:checked+.toggle-slider{background:var(--color-primary)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.settings-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.overview-skill{display:grid;gap:var(--space-1);justify-items:center;padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffffd9;box-shadow:inset 0 0 0 1px #fff9}.overview-skill .skill-name{font-weight:700;font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-snug)}.overview-skill .skill-stars{font-size:1rem;color:#f7c36b;letter-spacing:.1em}.parent-pin-input{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--glass-border);background:#ffffffe6;font-size:var(--text-base);text-align:center;letter-spacing:.2em}.parent-recording-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffffe6;border:1px solid rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px #fff6}.settings-layout,.help-layout,.about-layout,.backup-layout{display:grid;gap:var(--space-3);padding:var(--space-4)}.settings-card,.help-card,.about-card,.backup-card{padding:var(--space-4);border-radius:var(--radius-2xl)}.settings-card h3,.about-card h3,.backup-card h3{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:800}.about-card p,.backup-card p{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-muted)}.help-card summary{cursor:pointer;font-weight:700;font-size:var(--text-base);padding:var(--space-1) 0}.help-card p{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-muted)}.home-utility-links{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3) var(--space-4);margin:var(--space-3) var(--space-4);border-radius:var(--radius-2xl);justify-content:center}.setting-note{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-relaxed)}.trainer-layout{display:grid;gap:var(--space-5);padding:var(--space-4);width:min(100%,600px);margin-inline:auto}.trainer-hero{border-radius:var(--radius-2xl);padding:var(--space-4);text-align:center}.trainer-showcase{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--space-3)}.trainer-mascot-wrap{width:clamp(80px,20vw,140px);flex-shrink:0}.trainer-dial-ring{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(120,60,40,.12);pointer-events:none}.trainer-dial-value{display:grid;place-items:center;line-height:1}.dial-unit{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.08em}.tool-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-3)}.tool-card{display:grid;gap:var(--space-2);place-items:center;padding:var(--space-3) var(--space-2);border-radius:var(--radius-xl);text-decoration:none;color:var(--color-text);transition:transform var(--duration-fast) var(--ease-bounce)}.tool-card:hover,.tool-card:focus-visible{transform:translateY(-2px)}.tool-icon{font-size:1.6rem}.tool-title{font-size:var(--text-xs);font-weight:700;text-align:center}.trainer-audio{display:grid;gap:var(--space-5)}.metronome-controls{display:grid;gap:var(--space-3)}.metronome-range{display:grid;gap:var(--space-1);font-weight:700;font-size:var(--text-sm)}.metronome-actions{display:flex;gap:var(--space-3)}.metronome-bpm{font-weight:800;font-size:var(--text-sm);color:var(--color-text-muted);text-align:right}.metronome-body{width:30px;height:80px;background:linear-gradient(to top,var(--color-brand-brown),var(--color-brand-warm));border-radius:4px 4px 8px 8px;margin:0 auto}.metronome-arm{width:4px;height:60px;background:var(--color-brand-brown);border-radius:2px;position:absolute;bottom:40px;left:50%;transform-origin:bottom center;transform:translate(-50%)}.trainer-metronome.is-running .metronome-arm{animation:metronome-swing .6s ease-in-out infinite}.trainer-mascot{width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.4))}.trainer-metronome{position:relative;width:120px;height:120px;margin:0 auto}.trainer-dial{position:relative;width:120px;height:120px;margin:0 auto;border-radius:50%;background:#ffffffe6;box-shadow:0 16px 28px #783c282e;display:grid;place-items:center}.dial-number{font-size:1.6rem}@keyframes metronome-swing{0%,to{transform:translate(-50%) rotate(-18deg)}50%{transform:translate(-50%) rotate(18deg)}}.audio-panel{padding:clamp(1.5rem,4vw,2.5rem);border-radius:36px;background:linear-gradient(165deg,#fff6eb99,#ffe8d280);border:1px solid rgba(255,255,255,.85);box-shadow:0 40px 80px #582d1c26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;gap:var(--space-5)}.audio-panel-header{display:grid;gap:var(--space-2)}.audio-panel-header .difficulty-badge{justify-self:start}.audio-panel-header h3{font-size:var(--text-lg);font-weight:800}.audio-panel-header p{color:var(--color-text-muted);font-weight:600;margin-top:var(--space-1);line-height:1.35}.audio-card{padding:var(--space-3);border-radius:var(--radius-lg);background:#ffffffd9;border:1px solid rgba(255,255,255,.8);display:grid;gap:var(--space-2)}.audio-card.is-playing{border-color:#f69268e6;box-shadow:0 14px 24px #783c2833}.audio-label{font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);line-height:1.1}.audio-card audio[hidden]{display:none}.tone-play-btn{width:52px;height:52px;border-radius:var(--radius-full);background:var(--color-bg-alt);border:2px solid rgba(86,40,23,.1);display:grid;place-items:center;color:var(--color-text-muted);transition:all var(--duration-fast) var(--ease-out);cursor:pointer;justify-self:center}.tone-play-btn:hover{background:color-mix(in oklch,var(--color-primary),white 70%);color:var(--color-primary);border-color:color-mix(in oklch,var(--color-primary),transparent 60%)}.tone-play-btn:active{transform:scale(.93)}.tone-play-btn .tone-stop-icon{display:none}.audio-card.is-playing .tone-play-btn{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 16px #e9563959}.audio-card.is-playing .tone-play-icon{display:none}.audio-card.is-playing .tone-stop-icon{display:block}.wave-bars{display:flex;align-items:flex-end;gap:3px;height:20px;justify-self:center;opacity:0;transition:opacity var(--duration-fast)}.audio-card.is-playing .wave-bars{opacity:1}.wave-bar{width:3px;border-radius:2px;background:var(--color-primary);height:4px}.audio-card.is-playing .wave-bar{animation:wave-bounce .6s ease-in-out infinite alternate}.audio-card.is-playing .wave-bar:nth-child(1){animation-delay:0s}.audio-card.is-playing .wave-bar:nth-child(2){animation-delay:.15s}.audio-card.is-playing .wave-bar:nth-child(3){animation-delay:.3s}.audio-card.is-playing .wave-bar:nth-child(4){animation-delay:.45s}@keyframes wave-bounce{0%{height:4px}to{height:18px}}.toggle{position:relative;display:inline-block;width:50px;height:28px}.toggle input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-mastery-meta{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-3);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);pointer-events:none}.skeleton-view{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);animation:skeleton-fade-in var(--duration-fast) var(--ease-out) both}.skeleton-bar{background:linear-gradient(90deg,#e9563912 25%,#f9a93f1f,#e9563912 75%);background-size:200% 100%;border-radius:var(--radius-md);animation:skeleton-shimmer 1.8s ease-in-out infinite;animation-delay:calc((sibling-index() - 1)*.12s)}.skeleton-header{height:24px;width:40%;margin-bottom:var(--space-2)}.skeleton-card{height:120px;width:100%}.skeleton-card-sm{height:72px;width:100%}.skeleton-row{display:flex;gap:var(--space-3)}.skeleton-row .skeleton-bar{flex:1}.skeleton-card{animation-delay:80ms}.skeleton-card-sm:nth-child(1){animation-delay:.16s}.skeleton-card-sm:nth-child(2){animation-delay:.28s}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.skeleton-bar,.skeleton-view{animation:none}}@media(min-width:768px){.nav-item{min-height:60px;padding:var(--space-3) var(--space-4);min-width:72px}.nav-icon svg{width:28px;height:28px}.btn{min-height:52px}.view{padding:var(--space-6) var(--space-6) calc(var(--space-6) + 80px)}}@layer utilities{:root.popover-open,:root.popover-open body{overflow:hidden}.offline{filter:grayscale(30%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:var(--space-3);background:#fff;color:var(--color-text);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);text-decoration:none;transform:translateY(-200%);transition:transform .2s ease;z-index:9999}.skip-link:focus-visible{transform:translateY(0)}.hidden{display:none!important}:root:has(#setting-large-text:checked){font-size:112.5%}@media(prefers-contrast:more){:root{--color-bg: #ffffff;--color-bg-alt: #f2f2f2;--color-surface: #ffffff;--color-text: #1b1b1b;--color-text-muted: #3a3a3a;--glass-bg: rgba(255, 255, 255, .95);--glass-bg-strong: rgba(255, 255, 255, .98);--glass-border: rgba(0, 0, 0, .08);--glass-shadow: 0 18px 40px rgba(0, 0, 0, .12), 0 6px 14px rgba(0, 0, 0, .08), inset 0 0 0 1px rgba(255, 255, 255, .6)}}:root:has(#setting-high-contrast:checked){--color-bg: #ffffff;--color-bg-alt: #f2f2f2;--color-surface: #ffffff;--color-text: #1b1b1b;--color-text-muted: #3a3a3a;--glass-bg: rgba(255, 255, 255, .95);--glass-bg-strong: rgba(255, 255, 255, .98);--glass-border: rgba(0, 0, 0, .08);--glass-shadow: 0 18px 40px rgba(0, 0, 0, .12), 0 6px 14px rgba(0, 0, 0, .08), inset 0 0 0 1px rgba(255, 255, 255, .6)}:root:has(#setting-reduce-motion:checked){--duration-fast: .01ms;--duration-normal: .01ms;--duration-slow: .01ms}:root:has(#setting-reduce-motion:checked) .main-content{scroll-behavior:auto}:root:has(#setting-reduce-motion:checked) .home-mascot,:root:has(#setting-reduce-motion:checked) .song-play-toggle:checked~.song-sheet .song-playhead,:root:has(#setting-reduce-motion:checked) .song-play-toggle:checked~.song-sheet .song-note{animation:none!important}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: .01ms;--duration-normal: .01ms;--duration-slow: .01ms}.main-content{scroll-behavior:auto}.home-mascot,.nav-item:active .nav-icon,.song-play-toggle:checked~.song-sheet .song-playhead,.song-play-toggle:checked~.song-sheet .song-note,.wave-bar{animation:none!important}.btn:active,.game-card:active{transition-duration:.01ms!important}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}[popover]{opacity:0;transform:scale(.95);transition:opacity .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1),display .25s allow-discrete,overlay .25s allow-discrete;will-change:opacity,transform;border:none;padding:0;margin:0;background:transparent;overflow:visible;&:popover-open{opacity:1;transform:scale(1)}@starting-style{&:popover-open{opacity:0;transform:scale(.96) translateY(8px)}}}::backdrop{background:#56281733;backdrop-filter:blur(4px);transition:opacity .25s allow-discrete,overlay .25s allow-discrete;opacity:0}dialog[open]{margin:auto;border-radius:var(--radius-xl);padding:var(--space-5)}.pin-error{color:var(--color-error, #c0392b);font-size:.9rem;margin-top:var(--space-2)}[data-pin-dialog][data-error=false] .pin-error{display:none}[popover]:popover-open::backdrop,dialog[open]::backdrop{opacity:1}@starting-style{[popover]:popover-open::backdrop{opacity:0}}.song-play-toggle,.posture-capture{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.song-meta{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-4);margin-bottom:var(--space-4);font-weight:600;flex-wrap:wrap;line-height:1.3;background:#ffffffd9;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.85);box-shadow:0 14px 24px #783c281f}.song-meta-label{display:block;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--color-text),transparent 40%);line-height:1.1}.song-meta strong{line-height:1.2}.song-meta-best .song-meta-value{font-weight:700}.song-controls{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-bottom:var(--space-4);background:#ffffffd9;padding:var(--space-3);border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.85);box-shadow:0 12px 22px #783c281f}.song-sheet{position:relative;padding:var(--space-4);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--radius-xl);background:#ffffffe6;border:1px solid rgba(255,255,255,.85);box-shadow:0 16px 28px #783c281f}.song-sheet::-webkit-scrollbar{display:none}.song-playhead{position:absolute;top:-10px;bottom:-10px;left:0;width:6px;border-radius:var(--radius-full);background:linear-gradient(to bottom,transparent,#ffe066 20%,#ff7b00 80%,transparent);opacity:0;transform:translate(0);z-index:5;box-shadow:0 0 20px 8px #ff7b0099,0 0 40px #fc06}.song-playhead:after{content:"✨";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;filter:drop-shadow(0 0 10px #ffea00);animation:wand-sparkle .5s infinite alternate}@keyframes wand-sparkle{0%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:.8}to{transform:translate(-50%,-50%) scale(1.4) rotate(15deg);opacity:1;filter:drop-shadow(0 0 20px #ffffff)}}.song-note{position:absolute;top:50%;left:var(--note-x, 0px);transform:translateY(-50%) perspective(600px) rotateX(0) rotateY(0) translateZ(0);width:var(--note-width, 48px);min-width:44px;padding:var(--space-2);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,white),#fff);border:3px solid rgba(255,255,255,.95);text-align:center;font-weight:800;box-shadow:inset 0 -4px 6px #0000001a,0 8px 16px #0003;animation:none;z-index:2;transform-style:preserve-3d}.song-note-pitch{display:block;font-size:var(--text-base);line-height:1.1;color:var(--color-brand-brown)}.song-note-meta{display:flex;flex-direction:column;gap:1px;margin-top:2px}.song-note-string{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);line-height:1.2}.song-note-bow{font-size:.65rem;line-height:1;opacity:.7}.song-note-finger{font-size:var(--text-xs);font-weight:700;color:var(--color-primary);line-height:1.2}.song-play-toggle:checked~.song-sheet .song-playhead{opacity:1;animation:song-playhead var(--song-duration, 8s) linear forwards}.song-play-toggle:checked~.song-sheet .song-note{animation:song-note-highlight var(--note-duration, .5s) ease-in-out both;animation-delay:var(--note-start, 0s)}.song-play-toggle:checked~.song-sheet.is-waiting .song-playhead,.song-play-toggle:checked~.song-sheet.is-waiting .song-note{animation-play-state:paused}@keyframes song-playhead{0%{transform:translate(0)}to{transform:translate(calc(var(--song-width, 520px) - 2px))}}@keyframes song-note-highlight{0%,to{transform:translateY(-50%) perspective(600px) rotateX(0) rotateY(0) translateZ(0) scale(1);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,white),#fff);box-shadow:inset 0 -4px 6px #0000001a,0 8px 16px #0003}20%{transform:translateY(-50%) perspective(600px) rotateX(20deg) rotateY(-15deg) translateZ(40px) scale(1.3);background:linear-gradient(135deg,var(--color-secondary),var(--color-primary));color:#fff;border-color:#fff;box-shadow:-10px 20px 30px #ff640080,0 0 40px 10px #ffc80099;z-index:10}80%{transform:translateY(-50%) perspective(600px) rotateX(5deg) rotateY(-5deg) translateZ(20px) scale(1.1);background:linear-gradient(135deg,var(--color-secondary),var(--color-primary));color:#fff;border-color:#fff;box-shadow:-5px 10px 15px #ff64004d,0 0 20px 5px #ffc80066;z-index:10}}.song-level-pill{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#ffffffb3;color:var(--color-text-muted);border:1px solid rgba(255,255,255,.85);white-space:nowrap}.song-tips{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.song-tips summary{cursor:pointer;font-weight:700;color:var(--color-brand-brown)}.song-tips ul{margin:var(--space-2) 0 0;padding-left:1.2em}.song-tips li{margin-bottom:var(--space-1)}.song-play-toggle:not(:checked)~.song-controls .btn-stop{display:none}.song-play-toggle:checked~.song-controls .btn-start{display:none}@media(prefers-reduced-transparency:reduce){.glass{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffffff5}}@supports (content-visibility: auto){.songs-grid{content-visibility:auto;contain-intrinsic-size:800px 600px}.songs-grid .song-card,.song-view{content-visibility:auto;contain-intrinsic-size:280px 220px}}.toggle-ui{display:inline-block}.posture-layout{display:grid;gap:var(--space-4);padding:var(--space-4);width:min(100%,480px);margin-inline:auto}.posture-card{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-2xl)}.posture-preview{display:grid;gap:var(--space-3);justify-items:center}.posture-preview img{max-width:100%;border-radius:var(--radius-xl)}.posture-tips{padding:var(--space-4);border-radius:var(--radius-2xl)}.posture-tips summary{cursor:pointer;font-weight:700}.posture-hint{font-size:var(--text-xs);color:var(--color-text-muted)}.view-error{text-align:center;padding:2rem;max-width:400px;margin:4rem auto}.view-error .error-icon{font-size:4rem;margin-bottom:1rem}@layer games{.difficulty-picker{display:flex;gap:var(--space-1);justify-content:center;margin-top:var(--space-2);pointer-events:auto}.difficulty-btn{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;line-height:1;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);border:1.5px solid var(--color-primary);background:transparent;color:var(--color-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);touch-action:manipulation;min-height:28px;min-width:40px}.difficulty-btn:active{transform:scale(.92)}.difficulty-btn.is-selected{background:var(--color-primary);color:#fff}@media(prefers-reduced-motion:reduce){.difficulty-btn{transition:none}}:root:has(#setting-reduce-motion:checked) .difficulty-btn{transition:none}}@layer utilities{html[data-ui-mode=child]{--color-bg: #FFF7E8;--color-bg-alt: #FFEFD4;--color-surface: #FFFFFF;--color-text: #0F172A;--color-text-muted: #334155;--color-primary: #C2410C;--color-secondary: #1D4ED8;--color-accent: #0F766E;--color-success: #14532D;--glass-bg: rgba(255, 255, 255, .98);--glass-bg-strong: rgba(255, 255, 255, 1);--glass-border: rgba(15, 23, 42, .12);--text-sm: 1rem;--text-base: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.75rem}html[data-ui-mode=parent]{--color-bg: #F4F7FB;--color-bg-alt: #EAF0F8;--color-surface: #FFFFFF;--color-text: #0F172A;--color-text-muted: #475569;--glass-bg: rgba(255, 255, 255, .94);--glass-bg-strong: rgba(255, 255, 255, .99);--glass-border: rgba(15, 23, 42, .1)}html[data-ui-mode=parent] .bottom-nav{display:none}html[data-ui-mode=parent] .main-content{padding-bottom:40px}html[data-ui-mode=child] body{color:var(--color-text);background:linear-gradient(180deg,#fff7e8,#ffecce);font-size:1.125rem}html[data-ui-mode=child] p,html[data-ui-mode=child] .setting-note{max-width:45ch;color:var(--color-text-muted)}#app.app-container{padding-top:calc(var(--safe-top) + 88px)}.main-content{padding-bottom:calc(var(--safe-bottom) + 120px)}.app-topbar{position:fixed;top:0;left:0;right:0;z-index:260;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:calc(var(--safe-top) + 10px) 20px 12px;border-radius:0;border-bottom:1px solid var(--glass-border);backdrop-filter:none;background:var(--glass-bg-strong)}.app-topbar-brand{display:grid;gap:2px}.app-topbar-title{font-weight:900;font-size:1.1rem;color:var(--color-text);line-height:1.1}.app-topbar-subtitle{font-size:.92rem;color:var(--color-text-muted);line-height:1.1}.parent-zone-lock{min-width:44px;min-height:44px;display:inline-flex;align-items:center;gap:6px;justify-content:center;border-radius:999px;padding:0 10px;background:#0f172a;color:#fff;border:2px solid #0F172A;position:relative}.parent-zone-lock-icon{width:16px;height:16px;display:inline-flex}.parent-zone-lock svg{width:16px;height:16px}.parent-zone-lock-label{font-size:.78rem;font-weight:800;letter-spacing:.02em}@keyframes nav-pulse-ring{0%{box-shadow:0 0 #f973168c}to{box-shadow:0 0 0 9px #f9731600}}.bottom-nav{grid-template-columns:repeat(4,minmax(0,1fr));min-height:84px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:20px 20px 0 0;padding:8px 10px calc(var(--safe-bottom) + 6px);backdrop-filter:none}.bottom-nav .nav-item{min-height:64px;min-width:64px}.nav-item .nav-label{font-size:1rem;color:var(--color-text)}.nav-item .nav-icon{color:var(--color-text-muted)}.nav-item.is-active{background:#ffedd5;border-radius:14px}.nav-item.is-active .nav-label,.nav-item.is-active .nav-icon{color:var(--color-primary)}.glass,.game-card{background:var(--glass-bg)!important;border:1px solid var(--glass-border);backdrop-filter:none!important}.btn{min-height:56px;font-size:1rem;font-weight:800;border-radius:16px;border-width:2px}.icon-btn{min-height:56px;min-width:56px;padding:0 10px;border-radius:14px;border:2px solid #CBD5E1;background:#fff;color:#334155;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:1rem;font-weight:900;line-height:1}[data-start-practice]{min-height:60px}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-secondary{background:#fff;border-color:#1d4ed8;color:#1d4ed8}.btn-ghost{border-color:#64748b;color:var(--color-text)}.home-kid-hero{margin-top:calc(var(--safe-top) + 20px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);margin-bottom:var(--space-4);animation:slide-in-bottom .5s var(--ease-bounce) both}.home-mascot{width:clamp(140px,35vw,200px);height:auto;aspect-ratio:1 / 1;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(120,60,40,.25));animation:float-slow 4s ease-in-out infinite}.home-kid-title{font-family:var(--font-display);font-weight:900;font-size:var(--text-3xl);color:var(--color-primary);line-height:1.1;margin:0 0 14px;text-shadow:2px 2px 0 rgba(120,30,0,.25)}.home-kid-streak{display:inline-flex;align-items:center;gap:8px;background:var(--color-surface);border:3px solid var(--color-brand-brown);padding:8px 24px;border-radius:999px;font-weight:900;font-size:var(--text-2xl);color:var(--color-text);box-shadow:0 4px 0 var(--color-brand-brown);animation:streak-pop .5s .3s var(--ease-bounce) both}@keyframes streak-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.home-giant-actions{display:grid;grid-template-columns:1fr;gap:var(--space-4);padding:0 var(--space-3);position:relative;z-index:300}.btn-giant{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:24px var(--space-5);min-height:110px;border-radius:var(--radius-xl);border:4px solid var(--color-brand-brown);box-shadow:0 8px 0 var(--color-brand-brown)!important;gap:var(--space-5);text-decoration:none;animation:slide-in-bottom .5s var(--ease-bounce) both;animation-delay:calc(sibling-index()*70ms)}.btn-giant{transition:transform .1s ease,box-shadow .1s ease}.btn-giant:active{transform:translateY(8px)!important;box-shadow:0 0 0 var(--color-brand-brown)!important;transition:transform .04s ease,box-shadow .04s ease}.btn-giant-icon{font-size:3.5rem;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15));transform:rotate(random(-10deg,10deg))}.btn-giant-text{font-size:var(--text-2xl);font-weight:900;text-shadow:1px 1px 0 rgba(0,0,0,.2)}.btn-primary{background:var(--color-primary);color:contrast-color(var(--color-primary))}.btn-game{background:var(--color-accent);color:contrast-color(var(--color-accent))}.btn-song{background:var(--color-warning);color:contrast-color(var(--color-warning))}.btn-tool{background:#a06cd5;color:contrast-color(#A06CD5)}.game-card,.song-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-2);padding:var(--space-4);min-height:160px;background:var(--color-surface);border:4px solid var(--color-brand-brown);border-radius:var(--radius-xl);box-shadow:0 8px 0 var(--color-brand-brown)!important;text-decoration:none;transition:transform .1s var(--ease-out),box-shadow .1s var(--ease-out);position:relative;z-index:10;cursor:pointer}.game-card:active,.song-card:active{transform:translateY(8px)!important;box-shadow:0 0 0 var(--color-brand-brown)!important}.game-card.is-hidden{display:none!important}.game-card.is-favorite{border-color:var(--color-secondary);box-shadow:0 8px 0 var(--color-secondary)!important}.game-card.is-favorite:active{box-shadow:0 0 0 transparent!important}.game-title,.song-title{color:var(--color-text);font-size:var(--text-xl);font-weight:900;margin:0;line-height:1.1}@media(max-width:840px){.parent-zone-lock-label{display:none}}@media(max-width:600px){#app.app-container{padding-top:calc(var(--safe-top) + 78px)}.app-topbar{padding-left:14px;padding-right:14px}.mission-actions{grid-template-columns:1fr}.icon-btn{padding:0 8px}}.rt-listening-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid #CBD5E1;background:#fff;color:#334155;font-size:.88rem;font-weight:800;line-height:1;white-space:nowrap}.song-soft-lock{border:2px solid #FDBA74;position:relative}.song-card.is-locked{filter:saturate(.9) contrast(.95);cursor:not-allowed}.song-card.is-mastered{border-color:#22c55e;box-shadow:0 10px 24px #16a34a29}.song-lock-hint{margin-top:4px;color:#9a3412;font-size:.88rem;font-weight:700}.rt-coach-pill{position:fixed;left:50%;top:calc(var(--safe-top) + 84px);transform:translate(-50%);z-index:290;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;max-width:min(92vw,520px);padding:10px 14px;border-radius:999px;border:1px solid #CBD5E1;background:#fffffff7;box-shadow:0 10px 24px #0f172a26}.rt-coach-pill-avatar{width:56px;height:56px;border-radius:14px;object-fit:contain;background:#fff7ed}.rt-coach-pill-text{margin:0;font-size:1rem;font-weight:800;color:#1e293b;line-height:1.2}.rt-coach-pill.is-entering{animation:rt-pill-pop .22s ease-out}@keyframes rt-pill-pop{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.rt-review-card{border:1px solid #CBD5E1;border-radius:12px;background:#fff;padding:10px 12px;display:grid;gap:6px}.rt-review-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.rt-review-card-message{margin:0;font-size:.94rem;color:#334155}.rt-review-card-time{color:#64748b;font-size:.82rem;font-weight:700}.rt-confidence{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr))}@media(prefers-reduced-motion:reduce){.rt-coach-pill,.rt-coach-pill.is-entering{animation:none!important;transition:none!important}}:root:has(#setting-reduce-motion:checked) .rt-coach-pill,:root:has(#setting-reduce-motion:checked) .rt-coach-pill.is-entering{animation:none!important;transition:none!important}html[data-ui-mode=child] .main-content{width:min(100%,1160px);margin-inline:auto;padding-inline:clamp(12px,2.2vw,28px);padding-top:clamp(14px,2.5vw,24px)}html[data-ui-mode=child] .view{width:min(100%,1040px);margin-inline:auto;padding-top:clamp(14px,2.6vw,26px);padding-inline:clamp(14px,2.6vw,26px);border-radius:28px;border:1px solid rgba(15,23,42,.1);background:radial-gradient(circle at 86% 8%,rgba(255,216,163,.5),transparent 32%),radial-gradient(circle at 12% 90%,rgba(173,223,214,.35),transparent 34%),linear-gradient(165deg,#fffffff5,#fff6eaeb);box-shadow:0 20px 44px #51250e26,0 6px 14px #51250e14}html[data-ui-mode=child] .view-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:2px 0}html[data-ui-mode=child] .view-header h2{margin:0;color:#6a2e11;font-size:clamp(1.7rem,3.8vw,2.35rem);letter-spacing:.01em}html[data-ui-mode=child] .back-btn{min-height:46px;min-width:46px;padding:0 14px;border-radius:999px;border:1px solid rgba(15,23,42,.16);background:#fff;color:#1e293b;box-shadow:0 10px 18px #0f172a1c;font-weight:800;display:inline-flex;align-items:center;gap:6px}html[data-ui-mode=child] .app-topbar{padding-left:clamp(12px,2vw,20px);padding-right:clamp(12px,2vw,20px);box-shadow:0 10px 24px #0f172a1a}html[data-ui-mode=child] .parent-zone-lock{min-height:38px;min-width:38px;padding:0 8px;gap:5px}html[data-ui-mode=child] .parent-zone-lock-label{font-size:.7rem;letter-spacing:.03em}html[data-ui-mode=child] #view-coach,html[data-ui-mode=child] #view-games,html[data-ui-mode=child] #view-songs,html[data-ui-mode=child] #view-tuner,html[data-ui-mode=child] #view-progress{overflow-x:hidden;overflow-y:auto;padding-bottom:calc(80px + var(--space-safe-bottom, 24px) + 24px)}html[data-ui-mode=child] .mission-actions{gap:10px}html[data-ui-mode=child] .mission-actions .btn{min-height:60px;font-size:1.02rem}html[data-ui-mode=child] #view-games{background:radial-gradient(circle at 12% 10%,rgba(255,209,160,.34),transparent 36%),linear-gradient(160deg,#fffffffa,#fff0dced)}html[data-ui-mode=parent] .home-mascot{width:clamp(100px,28vw,160px);height:auto;object-fit:contain;transform-origin:bottom center;border-radius:var(--radius-2xl);overflow:hidden}html[data-ui-mode=parent] .view-header h2{color:#0f172a;text-shadow:none}@media(max-width:720px){html[data-ui-mode=child] .view{border-radius:22px;padding-top:14px;padding-inline:14px}html[data-ui-mode=child] .view-header h2{font-size:clamp(1.4rem,7vw,2rem)}html[data-ui-mode=child] .song-card{min-height:0}}}.mission-timeline{list-style:none;margin:.85rem 0 0;padding:0;display:grid;gap:.45rem}.mission-timeline-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.4rem .55rem;border-radius:.75rem;background:#ffffff8c}.mission-timeline-label{font-weight:600}.mission-timeline-meta{font-size:.82rem;opacity:.8}.song-advanced-controls{margin-top:.8rem;padding:.75rem;display:grid;gap:.55rem}.song-advanced-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.song-advanced-row label{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem}.song-advanced-status{margin:0;font-size:.82rem;opacity:.8}.song-section-meta{font-size:.74rem;opacity:.78;margin-top:.2rem}.learning-chip{display:flex;justify-content:space-between;align-items:center;gap:.55rem;border-radius:.65rem;padding:.4rem .55rem;background:#ffffffbd;border:1px solid rgba(15,23,42,.08);font-size:.86rem}.parent-home-teacher{margin-bottom:var(--space-4)}.teacher-focus-card{background:#fff9;border-radius:16px;padding:var(--space-3);margin:var(--space-3) 0;border:2px solid rgba(245,107,73,.2)}.teacher-focus-card h4{margin:0 0 var(--space-2) 0;color:var(--color-primary);font-size:1.1rem}.teacher-checklist{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.teacher-checklist li{background:#fff;padding:var(--space-2);border-radius:12px;box-shadow:0 4px 12px #3c1e140a}.teacher-checklist label{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center;cursor:pointer;font-size:1.05rem;font-weight:600;color:#5a3d2b}.teacher-checklist input[type=checkbox]{width:24px;height:24px;accent-color:var(--color-primary);cursor:pointer}html[data-ui-mode=child]{--app-shell-max: 1280px;--nav-shell-max: 960px;--panel-border-soft: rgba(15, 23, 42, .08);--surface-shadow-soft: 0 28px 56px rgba(73, 39, 26, .14), 0 10px 24px rgba(73, 39, 26, .08);--panel-shadow-soft: 0 18px 34px rgba(73, 39, 26, .12), 0 6px 14px rgba(73, 39, 26, .07)}html[data-ui-mode=child] body{background:radial-gradient(circle at 12% 12%,rgba(255,214,170,.5),transparent 32%),radial-gradient(circle at 88% 22%,rgba(173,223,214,.35),transparent 28%),linear-gradient(180deg,#fff9ef,#ffeccd);background-attachment:fixed}html[data-ui-mode=child] #app.app-container{padding-top:calc(var(--safe-top) + 128px)}html[data-ui-mode=child] .main-content{width:min(100%,var(--app-shell-max));margin-inline:auto;padding-top:clamp(8px,1.4vw,16px);padding-inline:clamp(16px,2.6vw,32px);padding-bottom:calc(var(--safe-bottom) + 188px);scroll-padding-top:calc(var(--safe-top) + 128px)}html[data-ui-mode=child] .app-topbar{top:calc(var(--safe-top) + 12px);left:50%;right:auto;transform:translate(-50%);width:min(calc(100% - 24px),var(--app-shell-max));padding:14px 18px;border-radius:24px;border:1px solid rgba(255,255,255,.72);background:linear-gradient(135deg,#fffffff5,#fff7efeb);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);box-shadow:0 18px 44px #0f172a1f}html[data-ui-mode=child] .app-topbar-title{font-size:clamp(1rem,1.6vw,1.18rem)}html[data-ui-mode=child] .app-topbar-subtitle{font-size:.88rem}html[data-ui-mode=child] .parent-zone-lock{min-height:40px;min-width:40px;padding:0 12px;gap:6px;box-shadow:inset 0 0 0 1px #ffffff1f,0 10px 22px #0f172a2e}html[data-ui-mode=child] .parent-zone-lock-label{font-size:.74rem;letter-spacing:.03em}html[data-ui-mode=child] .btn{min-height:54px;border-width:1px;border-color:transparent;border-radius:18px;box-shadow:0 14px 28px #0f172a1a;transform:none;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}html[data-ui-mode=child] .btn:before{display:none}html[data-ui-mode=child] .btn:hover{transform:translateY(-2px);box-shadow:0 18px 32px #0f172a1f}html[data-ui-mode=child] .btn:active{transform:translateY(1px) scale(.99)!important;box-shadow:0 10px 18px #0f172a1f!important}html[data-ui-mode=child] .btn-primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}html[data-ui-mode=child] .btn-secondary{background:#fffffff0;border-color:#3b82f64d;color:#1d4ed8}html[data-ui-mode=child] .btn-ghost{background:#ffffffad;border-color:#64748b47;color:var(--color-text)}html[data-ui-mode=child] .view{width:100%;padding:clamp(20px,3vw,34px);padding-bottom:calc(212px + var(--safe-bottom));scroll-margin-top:calc(var(--safe-top) + 120px);border-radius:36px;border:1px solid var(--panel-border-soft);background:radial-gradient(circle at 86% 8%,rgba(255,216,163,.46),transparent 34%),radial-gradient(circle at 12% 90%,rgba(173,223,214,.28),transparent 30%),linear-gradient(165deg,#fffffff7,#fff7eff0);box-shadow:var(--surface-shadow-soft)}html[data-ui-mode=child] .view-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vw,20px);margin-bottom:18px;padding:0}html[data-ui-mode=child] .view-header h2{grid-column:2;text-align:left;margin:0;color:#6a2e11;font-size:clamp(1.85rem,4vw,3rem);letter-spacing:-.02em;line-height:1.02;text-shadow:none}html[data-ui-mode=child] .view-header .hero-mascot{position:static;width:clamp(64px,9vw,96px);height:auto;justify-self:end;filter:drop-shadow(0 14px 26px rgba(120,60,40,.22))}html[data-ui-mode=child] .back-btn{min-height:44px;min-width:44px;padding:0 14px;border-radius:999px;border:1px solid rgba(15,23,42,.14);background:#fffffff5;color:#1e293b;box-shadow:0 10px 20px #0f172a1a}html[data-ui-mode=child] .view-lead{max-width:54ch;margin:-4px 0 18px;color:#352019c2;font-size:clamp(.96rem,1.35vw,1.06rem);font-weight:600;line-height:1.55}html[data-ui-mode=child] .home-kid-hero{width:min(100%,920px);margin:0 auto clamp(18px,3vw,28px);display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:center;gap:clamp(14px,3vw,24px);text-align:left}html[data-ui-mode=child] .home-kid-welcome{display:grid;gap:10px;justify-items:start}html[data-ui-mode=child] .home-mascot{width:clamp(160px,18vw,220px);justify-self:center;filter:drop-shadow(0 18px 34px rgba(120,60,40,.2))}html[data-ui-mode=child] .home-kid-title{margin:0;color:#6a2e11;font-size:clamp(2.1rem,4.2vw,3.35rem);letter-spacing:-.04em;text-shadow:none}html[data-ui-mode=child] .home-kid-streak{padding:8px 16px;border:1px solid rgba(15,23,42,.12);box-shadow:var(--panel-shadow-soft);font-size:clamp(1rem,1.7vw,1.18rem)}html[data-ui-mode=child] .home-giant-actions{width:min(100%,920px);margin-inline:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0}html[data-ui-mode=child] .btn-giant{align-items:flex-start;justify-content:flex-start;gap:12px;min-height:96px;padding:16px 18px;border-radius:24px;border:1px solid rgba(255,255,255,.3);box-shadow:var(--panel-shadow-soft)!important;text-transform:none;letter-spacing:-.02em}html[data-ui-mode=child] .btn-giant-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:#ffffff2e;font-size:1.75rem;transform:none;filter:none;flex-shrink:0}html[data-ui-mode=child] .btn-giant-text{font-size:clamp(1.18rem,1.8vw,1.45rem);font-weight:900;line-height:1.15;text-shadow:none}html[data-ui-mode=child] .home-giant-actions .btn-primary{background:linear-gradient(135deg,#f97316,#ea580c)}html[data-ui-mode=child] .home-giant-actions .btn-game{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff}html[data-ui-mode=child] .home-giant-actions .btn-song{background:linear-gradient(135deg,#f59e0b,#facc15);color:#212}html[data-ui-mode=child] .home-giant-actions .btn-tool{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff}html[data-ui-mode=child] .home-mission-summary{width:min(100%,920px);margin:4px auto 0;padding:9px 14px;border-radius:18px;background:linear-gradient(180deg,#fffffff7,#fff8f1eb);border:1px solid var(--panel-border-soft);box-shadow:var(--panel-shadow-soft);font-size:.95rem;font-weight:700}html[data-ui-mode=child] .home-utility-links{width:min(100%,920px);margin:12px auto 0;padding:10px 12px;justify-content:flex-start;background:linear-gradient(180deg,#ffffffe0,#fff8f1d6);box-shadow:var(--panel-shadow-soft)}html[data-ui-mode=child] #view-home{padding-bottom:calc(244px + var(--safe-bottom))}html[data-ui-mode=child] .home-utility-links .btn{min-height:42px;font-size:.92rem;box-shadow:none}html[data-ui-mode=child] .games-sort,html[data-ui-mode=child] .songs-filters{justify-content:flex-start;width:fit-content;max-width:100%;padding:8px;margin-bottom:18px;border-radius:999px;background:#ffffffd6;box-shadow:0 12px 24px #49271a14;overflow-x:auto}html[data-ui-mode=child] .filter-chip{padding:10px 18px;font-size:.95rem}html[data-ui-mode=child] .games-grid{width:100%;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;align-items:stretch}html[data-ui-mode=child] .game-card{position:relative;justify-items:start;gap:12px;min-height:270px;padding:18px;border-radius:24px;border:1px solid rgba(15,23,42,.08)!important;background:linear-gradient(180deg,#fffffffc,#fff7f0f0)!important;box-shadow:var(--panel-shadow-soft)!important}html[data-ui-mode=child] .game-title{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.15}html[data-ui-mode=child] .game-badge{font-size:1.5rem}html[data-ui-mode=child] .difficulty-picker{justify-content:flex-start;flex-wrap:wrap;margin-top:auto}html[data-ui-mode=child] .difficulty-btn{min-height:34px;padding:0 12px;border-color:#0f172a24;background:#fffffff5;color:#9a3412;font-size:.84rem;font-weight:800}html[data-ui-mode=child] .difficulty-btn.is-selected{background:#ea580c;border-color:#ea580c;color:#fff;box-shadow:0 10px 18px #ea580c38}html[data-ui-mode=child] .game-favorite-btn{position:absolute;top:16px;right:16px;z-index:2;width:38px;height:38px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(15,23,42,.08);background:#fffffff2;box-shadow:0 12px 24px #0f172a1a;color:#c2410c;font-size:1.15rem;line-height:1}html[data-ui-mode=child] .game-favorite-btn.is-active{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;border-color:transparent}html[data-ui-mode=child] .game-mastery-meta{position:static;inset:auto;transform:none;width:auto;height:auto;opacity:1;padding:14px 0 0;margin-top:auto;border-top:1px solid rgba(15,23,42,.08);gap:8px}html[data-ui-mode=child] .game-mastery-badge{background:#ffffffe6}html[data-ui-mode=child] .game-mastery-prereq{font-size:.82rem;line-height:1.4}html[data-ui-mode=child] .songs-continue-card{width:100%;min-height:96px;padding:18px 22px;margin-bottom:18px;justify-content:flex-start;gap:14px;border-radius:26px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#fff7edfa,#fffffffa);box-shadow:var(--panel-shadow-soft)}html[data-ui-mode=child] .songs-continue-card .btn-giant-icon{background:#f973161f;color:#9a3412}html[data-ui-mode=child] .songs-search{max-width:none;margin:0 0 14px;padding:14px 18px;border:1px solid rgba(15,23,42,.1);background:#ffffffeb;box-shadow:0 10px 20px #49271a14}html[data-ui-mode=child] .songs-grid{width:100%;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}html[data-ui-mode=child] .song-card{min-height:254px;padding:18px 16px;border-radius:24px;border:1px solid rgba(15,23,42,.08)!important;background:linear-gradient(180deg,#fffffffc,#fff6eef2)!important;box-shadow:var(--panel-shadow-soft)!important;align-content:start}html[data-ui-mode=child] .song-art{font-size:2rem}html[data-ui-mode=child] .song-title{font-size:clamp(1.18rem,1.8vw,1.4rem);line-height:1.18}html[data-ui-mode=child] .song-play{margin-top:auto;opacity:.72}html[data-ui-mode=child] .song-recommendation{top:12px;left:12px;right:auto;font-size:.64rem}html[data-ui-mode=child] .song-lock-hint{margin-top:auto;padding-top:8px}html[data-ui-mode=child] .coach-kid-layout{width:min(100%,980px);grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:24px;align-items:start}html[data-ui-mode=child] .coach-hero-mascot{display:grid;gap:16px;padding:0;justify-items:start}html[data-ui-mode=child] .timer-mascot-container{width:190px;height:190px;margin-inline:auto 0;box-shadow:0 18px 34px #49271a1f}html[data-ui-mode=child] .coach-speech-bubble{width:100%;padding:18px 20px;border-radius:24px;background:linear-gradient(180deg,#fffffffa,#fff7eff2);box-shadow:var(--panel-shadow-soft)}html[data-ui-mode=child] .practice-focus{min-height:100%;margin-top:0;gap:22px;padding:clamp(22px,4vw,30px);background:linear-gradient(180deg,#fffffffa,#fff7eff2);box-shadow:var(--panel-shadow-soft)}html[data-ui-mode=child] .focus-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}html[data-ui-mode=child] .focus-controls .btn-stop{min-width:120px}html[data-ui-mode=child] .coach-mission-status{width:min(100%,980px);margin:18px auto 0;padding:12px 16px;border-radius:18px;background:linear-gradient(180deg,#fffffff7,#fff8f1eb);border:1px solid var(--panel-border-soft);box-shadow:var(--panel-shadow-soft);font-weight:700}html[data-ui-mode=child] .mission-timeline{width:min(100%,980px);margin:14px auto 0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}html[data-ui-mode=child] .mission-timeline-item{padding:12px 14px}html[data-ui-mode=child] .progress-layout{width:min(100%,1020px);margin-inline:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:start}html[data-ui-mode=child] .progress-layout>*{grid-column:span 12;padding:22px;border-radius:26px}html[data-ui-mode=child] .progress-hero{position:relative;overflow:hidden}html[data-ui-mode=child] .progress-mascot{position:static;width:116px;height:auto;justify-self:end}html[data-ui-mode=child] .streak-display{justify-content:flex-start}html[data-ui-mode=child] .progress-hero-note{max-width:36ch;text-align:left}html[data-ui-mode=child] .progress-hero .btn{justify-self:start}html[data-ui-mode=child] .badges-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}html[data-ui-mode=child] .recent-game{padding:12px 14px;border-radius:16px}html[data-ui-mode=child] .progress-details summary{padding:0}html[data-ui-mode=child] .tuner-layout{width:min(100%,980px);margin-inline:auto;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:18px;align-items:start}html[data-ui-mode=child] .tuner-card{min-height:520px;padding:clamp(24px,4vw,32px);border-radius:32px;background:linear-gradient(180deg,#fffffffc,#fff7eff2);box-shadow:var(--panel-shadow-soft)}html[data-ui-mode=child] .tuner-card-header{position:static;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}html[data-ui-mode=child] .tuner-note-pill{justify-items:start;text-align:left}html[data-ui-mode=child] .tuner-cents{font-size:clamp(4.5rem,10vw,7rem)}html[data-ui-mode=child] .tuner-live-status{max-width:24ch;margin-inline:auto}html[data-ui-mode=child] .tuner-note-buttons{gap:10px}html[data-ui-mode=child] .tuner-controls{gap:12px}html[data-ui-mode=child] .tuner-reference{align-self:start;min-height:100%;background:linear-gradient(180deg,#fffffff7,#fff8f1eb);border:1px solid var(--panel-border-soft);box-shadow:var(--panel-shadow-soft)}html[data-ui-mode=child] .reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}html[data-ui-mode=child] .settings-layout,html[data-ui-mode=child] .help-layout,html[data-ui-mode=child] .about-layout,html[data-ui-mode=child] .backup-layout{width:min(100%,880px);margin-inline:auto;gap:18px}html[data-ui-mode=child] .settings-card,html[data-ui-mode=child] .help-card,html[data-ui-mode=child] .about-card,html[data-ui-mode=child] .backup-card{background:linear-gradient(180deg,#fffffff7,#fff8f1eb);border:1px solid var(--panel-border-soft);box-shadow:var(--panel-shadow-soft)}html[data-ui-mode=child] .bottom-nav{left:50%;right:auto;transform:translate(-50%);width:min(calc(100% - 24px),var(--nav-shell-max));bottom:calc(var(--safe-bottom) + 14px);margin:0;padding:10px 12px calc(var(--safe-bottom) + 10px);border-radius:24px;border:1px solid rgba(255,255,255,.72);background:linear-gradient(180deg,#fffffff2,#fff7eff0);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 22px 46px #0f172a1f}html[data-ui-mode=child] .bottom-nav .nav-item{min-height:72px;gap:6px;padding:12px 16px;border-radius:18px}html[data-ui-mode=child] .nav-item .nav-icon{color:#475569}html[data-ui-mode=child] .nav-item .nav-label{color:#334155;font-size:.92rem}html[data-ui-mode=child] .nav-item.is-active{background:linear-gradient(180deg,#ffedd5fa,#fffffffa);box-shadow:inset 0 0 0 1px #ea580c24,0 12px 22px #ea580c29}html[data-ui-mode=child] .nav-item.is-active .nav-label,html[data-ui-mode=child] .nav-item.is-active .nav-icon{color:#c2410c}html[data-ui-mode=child] .rt-coach-pill{top:calc(var(--safe-top) + 102px);left:auto;right:clamp(20px,4vw,32px);transform:none;max-width:min(42vw,280px);padding:8px 12px;gap:10px;border-radius:20px;box-shadow:0 18px 30px #0f172a24}html[data-ui-mode=child] .rt-coach-pill-avatar{width:40px;height:40px}html[data-ui-mode=child] .rt-coach-pill-text{font-size:.92rem;line-height:1.15}@media(min-width:980px){html[data-ui-mode=child] .progress-hero{grid-column:span 5;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left}html[data-ui-mode=child] #view-progress .lesson-plan,html[data-ui-mode=child] .lesson-plan{grid-column:span 7}html[data-ui-mode=child] .xp-panel,html[data-ui-mode=child] .recent-games,html[data-ui-mode=child] .achievements-panel{grid-column:span 4}html[data-ui-mode=child] .progress-details{grid-column:span 12}}@media(max-width:960px){html[data-ui-mode=child] .coach-kid-layout,html[data-ui-mode=child] .tuner-layout{grid-template-columns:1fr}html[data-ui-mode=child] .home-kid-hero{grid-template-columns:1fr;justify-items:center;text-align:center}html[data-ui-mode=child] .home-kid-welcome{justify-items:center}}@media(max-width:720px){html[data-ui-mode=child] #app.app-container{padding-top:calc(var(--safe-top) + 112px)}html[data-ui-mode=child] .app-topbar{width:calc(100% - 16px);padding:12px 14px}html[data-ui-mode=child] .main-content{scroll-padding-top:calc(var(--safe-top) + 112px)}html[data-ui-mode=child] .view{border-radius:28px;padding:18px;padding-bottom:calc(200px + var(--safe-bottom));scroll-margin-top:calc(var(--safe-top) + 112px)}html[data-ui-mode=child] .view-header{grid-template-columns:auto minmax(0,1fr)}html[data-ui-mode=child] .view-header .hero-mascot{display:none}html[data-ui-mode=child] .home-giant-actions,html[data-ui-mode=child] .games-grid,html[data-ui-mode=child] .songs-grid,html[data-ui-mode=child] .focus-controls,html[data-ui-mode=child] .reference-grid{grid-template-columns:1fr}html[data-ui-mode=child] .bottom-nav{width:calc(100% - 16px);bottom:calc(var(--safe-bottom) + 8px)}html[data-ui-mode=child] .rt-coach-pill{left:50%;right:auto;top:calc(var(--safe-top) + 96px);transform:translate(-50%);max-width:min(86vw,290px)}}._homeView_d1v10_1{background:radial-gradient(circle at 86% 0%,rgba(255,183,126,.42),transparent 38%),radial-gradient(circle at 10% 88%,rgba(160,223,214,.32),transparent 32%),linear-gradient(160deg,#fffffffa,#fff2dff0)!important;display:flex;flex-direction:column;min-height:100%;min-height:0;overflow-y:auto;padding:var(--space-4);padding-bottom:calc(120px + var(--safe-bottom))}._homeTopRow_d1v10_15{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}._welcomeCopy_d1v10_23{width:min(100%,760px);margin:0 auto var(--space-3);display:grid;gap:6px}._welcomeTitle_d1v10_30{margin:0;font-size:clamp(1.7rem,3vw,2.2rem);color:#0f172a}._welcomeBody_d1v10_36{margin:0;color:var(--color-text-muted);line-height:1.45}._settingsButton_d1v10_42,._streakPill_d1v10_43{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border-radius:999px;background:#fffffff2;box-shadow:0 12px 22px #0f172a14;color:var(--color-text)}._settingsButton_d1v10_42{width:44px;height:44px}._streakPill_d1v10_43{padding:0 16px;gap:6px;font-size:1.1rem;font-weight:800;color:var(--color-secondary)}._homeHero_d1v10_68{display:grid;justify-items:center;gap:var(--space-3);margin-bottom:var(--space-4);width:min(100%,760px);margin-inline:auto}._homeMascotArt_d1v10_77{width:clamp(156px,22vw,220px);height:auto;object-fit:contain;filter:drop-shadow(0 18px 34px rgba(120,60,40,.18))}._homeSpeechWrap_d1v10_84{width:min(100%,340px);display:flex;justify-content:center}._missionCard_d1v10_90{display:grid;gap:var(--space-3);margin:0 auto var(--space-4);width:min(100%,760px);border-radius:28px;background:linear-gradient(180deg,#fffffffc,#fff7eff0);box-shadow:0 20px 36px #783c2824}._missionHeader_d1v10_100{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}._missionIcon_d1v10_107{display:grid;place-items:center;width:60px;height:60px;font-size:2rem;border-radius:18px;background:var(--color-bg-alt)}._missionHeading_d1v10_117{display:grid;gap:4px}._missionTitle_d1v10_122{margin:0;font-size:clamp(1.5rem,2.8vw,1.85rem);color:#0f172a}._missionMeta_d1v10_128{margin:0;color:var(--color-text-muted)}._missionSummary_d1v10_133{margin:0;color:#0f172ac7;font-size:.98rem;line-height:1.45}._missionSteps_d1v10_140{display:flex;flex-wrap:wrap;gap:8px}._missionStepChip_d1v10_146{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:999px;background:#f9a93f24;color:#4a2e20;font-size:.9rem;font-weight:700}._startPracticeButton_d1v10_158{width:100%;margin-top:4px}._quickGrid_d1v10_163{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);width:min(100%,760px);margin:0 auto}@media(min-width:680px)and (max-width:860px){._homeHero_d1v10_68{grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;gap:18px}._homeSpeechWrap_d1v10_84{width:100%;justify-content:flex-start}}._quickCard_d1v10_185{display:grid;place-items:center;gap:12px;min-height:132px;text-align:center;text-decoration:none;color:inherit;border-radius:24px;background:linear-gradient(180deg,#fffffffc,#fff7eff0);box-shadow:0 16px 28px #783c281f}._quickIcon_d1v10_198{font-size:2.4rem}._quickLabel_d1v10_202{font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.45rem);color:#0f172a}@media(max-width:720px){._homeView_d1v10_1{padding-bottom:calc(104px + var(--safe-bottom))}._quickGrid_d1v10_163{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){._homeView_d1v10_1{padding:12px;padding-bottom:calc(132px + var(--safe-bottom))}._homeTopRow_d1v10_15{margin-bottom:12px}._welcomeCopy_d1v10_23{margin-bottom:10px}._homeHero_d1v10_68{gap:10px;margin-bottom:12px}._homeMascotArt_d1v10_77{width:104px}._homeSpeechWrap_d1v10_84{transform:scale(.84);transform-origin:top center;margin-bottom:-14px}._missionCard_d1v10_90{margin-bottom:14px}._startPracticeButton_d1v10_158{min-height:80px;padding:12px 16px}._quickGrid_d1v10_163{grid-template-columns:1fr;gap:12px}._quickCard_d1v10_185{min-height:112px}}
