@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-devanagari-wght-normal-B4j4n2PV.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-vietnamese-wght-normal-C4ZonJY6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-ext-wght-normal-Dz43yst_.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-wght-normal-B_TVFhwJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--purple:#6c47e0;--purple-2:#9a7bf5;--accent:var(--purple);--yellow:#ffc94d;--pink:#ff6fd8;--green:#23c58a;--blue:#3aa0ff;--red:#ff5a6a;--bg:#f4f3fb;--ink:#1c1730;--muted:#6b6488;--muted-2:#928bb0;--card:#fff;--surface-2:#f4f1fe;--line:#1c173014;--line-strong:#1c173024;--shadow-sm:0 1px 2px #1c17300d, 0 3px 8px #1c17300d;--shadow:0 2px 6px #1c17300d, 0 10px 26px #1c173012;--shadow-lg:0 8px 20px #1c173014, 0 24px 60px #1c17301f;--ring:0 0 0 3px color-mix(in srgb, var(--purple) 35%, transparent);--r-sm:12px;--r:18px;--r-lg:24px;--r-xl:30px;--pill:999px;--ease:cubic-bezier(.22, .8, .28, 1);--spring:cubic-bezier(.2, 1.25, .4, 1);--maxw:760px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}html,body,#root{width:100%;max-width:100%;height:100%;margin:0}body{color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:radial-gradient(60% 55% at 8% -8%, color-mix(in srgb, var(--purple) 20%, transparent) 0%, transparent 60%), radial-gradient(50% 45% at 100% 0%, #ff6fd829 0%, transparent 55%), radial-gradient(60% 50% at 50% 120%, #3aa0ff1f 0%, transparent 60%), var(--bg);background-attachment:fixed;font-family:Nunito Variable,"Baloo 2 Variable",ui-rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3,.brand,.card-title,.big-score{letter-spacing:-.01em;font-family:"Baloo 2 Variable",Nunito Variable,ui-rounded,system-ui,sans-serif}::selection{background:color-mix(in srgb, var(--purple) 24%, transparent)}:focus-visible{box-shadow:var(--ring);border-radius:12px;outline:none}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{max-width:var(--maxw);padding:0 clamp(12px, 4vw, 20px) calc(40px + env(safe-area-inset-bottom));margin:0 auto}.loading{height:100%;color:var(--purple);place-items:center;font-size:1.3rem;font-weight:800;display:grid}.topbar{z-index:40;padding:calc(env(safe-area-inset-top) + 10px) clamp(12px, 4vw, 20px) 12px;background:linear-gradient(180deg, var(--bg), color-mix(in srgb, var(--bg) 45%, transparent) 70%, transparent);-webkit-backdrop-filter:saturate(150%)blur(8px);border-bottom:none;justify-content:space-between;align-items:center;gap:10px;margin:0 calc(-1*clamp(12px,4vw,20px)) 14px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;align-items:center;gap:9px;display:flex}.brand-mark{filter:drop-shadow(0 3px 5px #6c47e047);place-items:center;width:clamp(30px,5vw,42px);height:clamp(30px,5vw,42px);line-height:1;display:inline-grid}.brand-word{letter-spacing:-.02em;background:linear-gradient(100deg, var(--purple) 0%, var(--pink) 55%, var(--purple-2) 100%);color:#0000;filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--purple) 30%, transparent));-webkit-background-clip:text;background-clip:text;font-family:"Baloo 2 Variable",Nunito Variable,ui-rounded,sans-serif;font-size:clamp(1.3rem,5vw,2.15rem);font-weight:900;line-height:1}.topbar-right{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.topbar-right>*{white-space:nowrap;flex:none}.who{color:var(--ink);font-size:.95rem;font-weight:800}.badge{background:color-mix(in srgb, var(--yellow) 45%, #fff);color:#7a5300;border-radius:var(--pill);border:1px solid color-mix(in srgb, var(--yellow) 55%, #fff);padding:4px 10px;font-size:.68rem;font-weight:800}.btn{border:1px solid var(--line);border-radius:var(--pill);font:inherit;color:var(--purple);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s var(--spring), box-shadow .2s var(--ease), filter .2s var(--ease), background .2s;background:#fff;min-height:44px;padding:12px 20px;font-weight:800}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}.btn.primary{background:linear-gradient(135deg, var(--purple), var(--purple-2));color:#fff;box-shadow:0 6px 18px color-mix(in srgb, var(--purple) 32%, transparent);border-color:#0000}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:color-mix(in srgb, var(--purple) 8%, transparent);transform:none}.btn.sm{min-height:36px;padding:8px 14px;font-size:.85rem}.big-btn{margin-top:10px;padding:16px 30px;font-size:1.2rem}.audience{text-align:center;padding:12px 4px}.mascot{filter:drop-shadow(0 6px 12px #1c17301f);font-size:3.4rem}.audience h1{color:var(--ink);margin:8px 0 20px;font-size:clamp(1.5rem,6vw,2rem)}.modes{justify-content:center;gap:14px;margin:8px 0 18px;display:flex}.mode{background:var(--card);border:2px solid var(--line);border-radius:var(--r-lg);cursor:pointer;max-width:210px;box-shadow:var(--shadow-sm);font:inherit;transition:transform .15s var(--spring), border-color .2s, box-shadow .2s;flex:1;padding:20px;font-weight:800}.mode:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.mode .big{font-size:2.6rem}.mode.sel{border-color:var(--purple);box-shadow:0 0 0 4px color-mix(in srgb, var(--purple) 14%, transparent), var(--shadow)}.label{color:var(--muted);margin:10px 0;font-weight:800}.chips{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.chip{background:var(--card);border:2px solid var(--line);border-radius:var(--pill);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);color:var(--muted);transition:transform .12s var(--spring), border-color .2s, color .2s;min-height:44px;padding:10px 18px;font-weight:800}.chip:hover{transform:translateY(-1px)}.chip.sel{border-color:var(--purple);color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff)}.existing{margin-bottom:16px}.or{color:var(--muted-2);margin:14px 0;font-weight:700}.name-input{border-radius:var(--r-sm);border:2px solid var(--line-strong);width:min(340px,92%);font:inherit;text-align:center;background:#fff;margin:16px auto 0;padding:13px 16px;display:block}.name-input:focus-visible{border-color:var(--purple)}.form-error{color:#a6273d;margin:12px auto 0;font-weight:800}.home h1{color:var(--ink);text-align:center;margin:8px 0 4px;font-size:clamp(1.5rem,6vw,2.1rem)}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:clamp(10px,3vw,16px);margin:18px 0;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;box-shadow:var(--shadow-sm);font:inherit;text-align:center;transition:transform .16s var(--spring), box-shadow .2s var(--ease), border-color .2s;padding:22px 14px 18px;position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg, var(--purple), var(--purple-2));opacity:0;height:4px;transition:opacity .2s;position:absolute;inset:0 0 auto}.card:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--purple) 22%, var(--line));transform:translateY(-3px)}.card:hover:before{opacity:1}.card:active{transform:translateY(-1px)scale(.99)}.card .emoji{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--purple) 16%, #fff), color-mix(in srgb, var(--purple) 7%, #fff));border-radius:50%;place-items:center;width:62px;height:62px;margin-bottom:8px;font-size:2.1rem;display:inline-grid}.card-title{color:var(--ink);margin-top:2px;font-weight:800}.card-blurb{color:var(--muted);margin-top:2px;font-size:.78rem}.card.soon{opacity:.5}.activity{padding:4px}.activity-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.title-wrap h1{color:var(--ink);margin:0;font-size:clamp(1.15rem,5vw,1.4rem)}.stars .star{color:#ded6f2}.stars .star.on{color:var(--yellow);filter:drop-shadow(0 2px 4px #ffc94d66)}.lyric-strip{flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0;display:flex}.lyric{background:var(--card);border-radius:var(--r-sm);text-align:center;min-width:46px;box-shadow:var(--shadow-sm);border:2px solid var(--line);transition:transform .15s var(--spring), border-color .2s;padding:8px 10px}.lyric.on{border-color:var(--purple);box-shadow:var(--shadow);transform:translateY(-4px)}.lyric.completed{opacity:.55}.lyric .num{color:var(--purple);font-size:1.2rem;font-weight:800}.lyric .pitch{color:var(--muted-2);font-size:.7rem}.lyric .syl{color:var(--ink);font-size:.78rem}.controls{flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0;display:flex}.hint{text-align:center;color:var(--muted);min-height:24px;font-weight:800}.message{text-align:center;color:var(--red);margin-top:4px;font-weight:800}.instrument-row{flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 4px;display:flex}.instrument-btn{border:1.5px solid var(--line);border-radius:var(--r);cursor:pointer;min-width:66px;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring);background:#fff;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;display:flex}.instrument-btn:hover{transform:translateY(-2px)}.instrument-btn.active{border-color:var(--purple);background:color-mix(in srgb, var(--purple) 10%, #fff)}.instrument-emoji{font-size:1.5rem}.instrument-name{color:var(--ink);font-size:.74rem;font-weight:800}.tempo-row{justify-content:center;align-items:center;gap:10px;max-width:340px;margin:10px auto 0;display:flex}.tempo-face{font-size:1.2rem}.tempo-slider{appearance:none;background:color-mix(in srgb, var(--purple) 22%, #eee);border-radius:999px;outline:none;flex:1;height:8px}.tempo-slider::-webkit-slider-thumb{appearance:none;background:linear-gradient(160deg, var(--purple), var(--purple-2));cursor:pointer;width:22px;height:22px;box-shadow:var(--shadow-sm);border-radius:50%}.tempo-slider::-moz-range-thumb{background:var(--purple);cursor:pointer;border:none;border-radius:50%;width:22px;height:22px}.tempo-label{color:var(--purple);text-align:left;min-width:48px;font-size:.82rem;font-weight:800}.piano-wrap{-webkit-overflow-scrolling:touch;margin-top:16px;padding-bottom:6px;overflow-x:auto}.piano{grid-template-columns:repeat(14,minmax(30px,1fr));gap:5px;min-width:100%;display:grid}.key{border:1px solid var(--line);border-radius:0 0 var(--r-sm) var(--r-sm);height:clamp(96px,26vw,132px);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;transition:transform .1s var(--ease), background .15s;background:linear-gradient(#fff,#f3eeff);flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:10px;display:flex}.key:active{transform:translateY(2px)}.key .key-num{color:var(--purple);font-size:clamp(1rem,3.4vw,1.4rem);font-weight:800}.key .key-pitch{color:var(--muted-2);font-size:.72rem}.key.oct2 .key-num{color:var(--purple-2)}.key.active{background:linear-gradient(160deg, var(--purple), var(--purple-2))}.key.active .key-num,.key.active .key-pitch{color:#fff}.note-map-item.oct2 b{color:var(--purple-2)}.key.expected{border:2px solid var(--yellow);animation:1.1s ease-in-out infinite glow}@keyframes glow{0%,to{box-shadow:0 0 #ffc94d59}50%{box-shadow:0 0 24px #ffc94dd9}}.celebrate{animation:.5s pop}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.015)}to{transform:scale(1)}}.colouring{padding:4px}.page-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin:16px 0;display:grid}.page-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;box-shadow:var(--shadow-sm);font:inherit;text-align:center;transition:transform .16s var(--spring), box-shadow .2s;padding:12px}.page-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.thumb{border-radius:var(--r-sm);background:#fff;width:100%;height:120px}.palette-wrap{margin:8px 0 12px}.palette{flex-wrap:wrap;justify-content:center;gap:8px;max-height:164px;margin:0 0 10px;padding:6px;display:flex;overflow:hidden auto}.swatch{cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring);border:3px solid #fff;border-radius:50%;flex:none}.swatch:hover{transform:scale(1.1)}.swatch.sel{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb, var(--purple) 25%, transparent);transform:scale(1.18)}.paint-tools{justify-content:center;gap:10px;display:flex}.paint-tool{font:inherit;border:2px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;transition:transform .1s var(--spring);background:#fff;border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:800}.paint-tool:hover{transform:translateY(-1px)}.paint-tool.on{border-color:var(--purple);color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff)}.paint-tool.warn{border-color:var(--red);color:var(--red);background:color-mix(in srgb, var(--red) 8%, #fff)}.canvas-wrap{place-items:center;display:grid}.canvas{border-radius:var(--r-lg);width:min(100%,460px);height:auto;box-shadow:var(--shadow);background:#fff}.lang-picker{gap:4px;display:flex}.lang-btn{border:1px solid var(--line);cursor:pointer;opacity:.5;background:#fff;border-radius:10px;min-width:44px;min-height:44px;padding:5px 9px;font-size:1.1rem;transition:opacity .2s,box-shadow .2s}.lang-btn.sel{opacity:1;background:color-mix(in srgb, var(--purple) 12%, #fff);box-shadow:0 0 0 2px var(--purple);border-color:#0000}.story-scene{border-radius:var(--r-lg);width:100%;max-width:520px;box-shadow:var(--shadow-sm);border:1px solid var(--line);aspect-ratio:200/132;background:#eaf8ff;margin:4px auto 0;overflow:hidden}.story-scene svg{width:100%;height:100%;display:block}.story-card{flex-direction:column;align-items:stretch;padding:0;display:flex;overflow:hidden}.story-card .story-scene{max-width:none;box-shadow:none;border:none;border-radius:0;margin:0}.story-card .card-title{padding:8px 10px 10px}.story-text{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);min-height:120px;margin:12px 0;padding:22px;font-size:1.2rem;line-height:1.55}.story-choices{flex-direction:column;align-items:center;gap:10px;display:flex}.story-choices .choice{width:min(440px,94%)}.ending-badge{color:var(--purple);margin:8px 0;font-size:1.2rem;font-weight:800}.validate-note{background:color-mix(in srgb, var(--yellow) 22%, #fff);color:#6b4b00;border-radius:var(--r-sm);text-align:center;border:1px solid color-mix(in srgb, var(--yellow) 40%, #fff);margin-bottom:12px;padding:9px 14px;font-size:.82rem}.subject-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);margin:10px 0;padding:14px 16px}.subject-name{color:var(--ink);margin-bottom:8px;font-weight:800}.subject-row .chips{justify-content:flex-start}.question{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow-sm);margin:12px 0;padding:22px;font-size:1.2rem;font-weight:800}.options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.opt{background:var(--card);border:2px solid var(--line);border-radius:var(--r-sm);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);min-height:56px;transition:transform .12s var(--spring), border-color .2s, background .2s;padding:18px;font-weight:800}.opt:hover{border-color:color-mix(in srgb, var(--purple) 30%, var(--line));transform:translateY(-2px)}.opt.right{border-color:var(--green);background:color-mix(in srgb, var(--green) 12%, #fff)}.opt.wrong{border-color:var(--red);background:color-mix(in srgb, var(--red) 10%, #fff)}.feedback{text-align:center;margin-top:14px;font-weight:800}.feedback .explain{color:var(--muted);margin:8px 0;font-weight:600}.score-card{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:12px;padding:26px;display:flex}.big-score{color:var(--purple);font-size:2.6rem;font-weight:800}.origami-diagram{border:1px solid var(--line);border-radius:var(--r);width:min(80vw,320px);height:auto;box-shadow:var(--shadow-sm);background:#fff;margin:10px auto;display:block}.step-instruction{text-align:center;color:var(--ink);margin:8px 0;font-size:1.12rem;font-weight:800}.page-card .origami-diagram{width:100%;height:110px}.hint-row{text-align:center;min-height:32px;margin-top:12px}.hint-text{background:color-mix(in srgb, var(--yellow) 22%, #fff);color:#6b4b00;border-radius:var(--r-sm);padding:8px 14px;font-weight:700;display:inline-block}.materials{text-align:center;background:color-mix(in srgb, var(--blue) 12%, #fff);color:#1c4e80;border-radius:var(--r-sm);max-width:420px;margin:8px auto;padding:9px 14px;font-weight:700}.step-tip{text-align:center;color:var(--muted);margin-top:6px;font-style:italic}.song-tip{text-align:center;background:color-mix(in srgb, var(--purple) 10%, #fff);color:var(--purple);border-radius:var(--r-sm);max-width:460px;margin:6px auto;padding:7px 14px;font-weight:700}.fold-pair{justify-content:center;align-items:center;gap:8px;margin:8px 0;display:flex}.fold-panel{text-align:center;flex:1;max-width:200px}.fold-panel .origami-diagram{width:100%;height:auto}.fold-label{color:var(--muted);margin-bottom:4px;font-size:.82rem;font-weight:800}.fold-arrow{color:var(--purple);flex:none;font-size:1.6rem}.fold-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px 16px;margin:4px 0 2px;font-size:.72rem;display:flex}.fold-legend span{align-items:center;gap:5px;display:inline-flex}.fold-legend i{width:20px;height:0;display:inline-block}.k-valley{border-top:3px dashed var(--blue)}.k-mountain{border-top:3px dashed #c026d3}.song-group{margin:6px 0 14px}.song-group-title{color:var(--ink);margin:12px 2px 8px;font-size:1.05rem;font-weight:800}.song-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.song-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;box-shadow:var(--shadow-sm);font:inherit;text-align:left;transition:transform .14s var(--spring), box-shadow .2s, border-color .2s;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.song-card:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--purple) 22%, var(--line));transform:translateY(-2px)}.song-title{color:var(--ink);font-weight:800}.song-diff{color:var(--yellow);letter-spacing:-1px;flex:none;font-size:.8rem}.note-map{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 12px;margin:12px 0 2px;font-size:.82rem;display:flex}.note-map-item{align-items:baseline;gap:2px;display:inline-flex}.note-map-item b{color:var(--purple);font-size:.95rem}.key-pitch{color:var(--muted);font-size:.85rem;font-weight:700}.growth{padding:4px}.gj-note{background:color-mix(in srgb, var(--green) 12%, #fff);color:#14663f;border-radius:var(--r);border:1px solid color-mix(in srgb, var(--green) 26%, #fff);margin:8px 0 14px;padding:11px 15px;font-size:.85rem}.gj-tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin:6px 0 12px;display:flex}.gj-tab{border:1px solid var(--line);color:var(--purple);border-radius:var(--pill);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);min-height:40px;transition:transform .12s var(--spring);background:#fff;padding:9px 18px;font-weight:800}.gj-tab:hover{transform:translateY(-1px)}.gj-tab.sel{background:linear-gradient(135deg, var(--purple), var(--purple-2));color:#fff;border-color:#0000}.gj-band{margin:10px 0}.gj-band-title{color:var(--ink);margin:14px 2px 8px;font-weight:800}.gj-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);margin:8px 0;padding:13px 15px}.gj-row.done{background:color-mix(in srgb, var(--green) 8%, #fff);border-color:color-mix(in srgb, var(--green) 24%, var(--line))}.gj-row-main{align-items:center;gap:10px;display:flex}.gj-cat{flex:none;font-size:1.5rem}.gj-text{flex:1}.gj-title{color:var(--ink);font-weight:800}.gj-desc{color:var(--muted);font-size:.82rem}.gj-achieved{color:#14663f;margin-top:3px;font-size:.82rem;font-weight:800}.gj-form{border-top:1px dashed var(--line-strong);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;display:flex}.gj-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.8rem;font-weight:800;display:flex}.gj-form input{border:2px solid var(--line-strong);font:inherit;border-radius:10px;padding:10px 12px}.gj-form-actions{gap:8px;display:flex}.gj-empty{text-align:center;color:var(--muted);padding:24px;font-weight:700}.gj-timeline{padding:4px}.gj-tl-item{border-left:3px solid var(--line-strong);align-items:flex-start;gap:12px;margin-left:14px;padding:8px 0 8px 14px;display:flex;position:relative}.gj-tl-dot{background:var(--bg);font-size:1.4rem;position:absolute;left:-16px}.gj-tl-date{color:var(--muted);font-size:.78rem;font-weight:800}.gj-earned{color:#14663f;flex:none;font-size:.82rem;font-weight:800}.gj-locked{color:var(--muted-2);flex:none;font-size:.78rem;font-weight:700}.gj-book{flex-direction:column;align-items:center;display:flex}.gj-book-page{border-radius:var(--r);width:min(520px,96%);box-shadow:var(--shadow);text-align:center;background:#fffdf7;border:1px solid #f0e6c8;padding:22px}.gj-book-cover{font-size:2.6rem}.gj-book-page h2{color:var(--purple);margin:6px 0 2px}.gj-book-sub{color:var(--muted);margin-bottom:12px;font-size:.85rem}.gj-book-entry{text-align:left;border-bottom:1px dotted #ece2c4;align-items:baseline;gap:8px;padding:7px 0;font-size:.9rem;display:flex}.gj-book-emoji{font-size:1.1rem}.gj-book-when{color:var(--purple);flex:none;min-width:78px;font-size:.78rem;font-weight:800}.gj-book-foot{color:#b0a58a;margin-top:14px;font-size:.8rem}.gj-book-hint{color:var(--muted);text-align:center;max-width:480px;margin-top:12px;font-size:.8rem}.gj-print-btn{margin-bottom:12px}.gj-dash-title{color:var(--ink);text-align:center;margin:8px 0 14px;font-weight:800}.gj-stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.gj-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-align:center;box-shadow:var(--shadow-sm);transition:transform .15s var(--spring);padding:18px 12px}.gj-stat:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.gj-stat-emoji{font-size:1.8rem}.gj-stat-num{color:var(--purple);font-size:2rem;font-weight:800;line-height:1.1}.gj-stat-label{color:var(--muted);margin-top:2px;font-size:.78rem}.gj-stat-label b{color:var(--ink)}.gj-dash-hint{text-align:center;color:var(--muted);margin-top:14px;font-size:.8rem}.avatar-grid{grid-template-columns:repeat(6,1fr);gap:8px;max-width:380px;margin:4px auto 8px;display:grid}.avatar-btn{background:var(--card);border:2px solid var(--line);border-radius:var(--r-sm);cursor:pointer;box-shadow:var(--shadow-sm);min-height:48px;transition:transform .12s var(--spring), border-color .2s;padding:8px 6px;font-size:1.7rem}.avatar-btn:hover{transform:translateY(-2px)}.avatar-btn.sel{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb, var(--purple) 18%, transparent);transform:scale(1.06)}.colour-row{flex-wrap:wrap;justify-content:center;gap:12px;margin:4px 0 8px;display:flex}.colour-swatch{cursor:pointer;width:42px;height:42px;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring);border:3px solid #fff;border-radius:50%}.colour-swatch:hover{transform:scale(1.1)}.colour-swatch.sel{outline:3px solid var(--purple);outline-offset:1px;transform:scale(1.14)}.streak-badge{color:#c65211;border-radius:var(--pill);background:linear-gradient(135deg,#fff0e6,#ffe0cc);border:1px solid #ffd3b8;padding:4px 10px;font-size:.82rem;font-weight:800}.sticker-bar{background:var(--surface-2);border-radius:var(--pill);height:14px;margin:8px 0 16px;overflow:hidden;box-shadow:inset 0 1px 2px #1c173014}.sticker-bar-fill{background:linear-gradient(90deg, var(--yellow), var(--green));border-radius:var(--pill);height:100%;transition:width .5s var(--ease)}.sticker-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.sticker{background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-align:center;box-shadow:var(--shadow-sm);transition:transform .15s var(--spring);padding:18px 10px}.sticker.got{border:2px solid var(--yellow);box-shadow:0 6px 18px color-mix(in srgb, var(--yellow) 30%, transparent)}.sticker.got:hover{transform:translateY(-3px)rotate(-1deg)}.sticker.locked{opacity:.6;filter:grayscale(.6)}.sticker-emoji{font-size:2.7rem}.sticker-label{color:var(--ink);margin-top:4px;font-weight:800}.sticker-hint{color:var(--muted);margin-top:3px;font-size:.74rem}.sticker.got .sticker-hint{color:#14663f;font-weight:800}.sticker-empty{text-align:center;color:var(--muted);padding:20px;font-weight:700}.stickers{position:relative}.confetti{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:2px;animation-name:confetti-fall;animation-timing-function:linear;animation-iteration-count:1;position:absolute;top:-12vh}@keyframes confetti-fall{to{transform:translateY(120vh)rotate(600deg)}}.sticker-toast{left:50%;top:calc(env(safe-area-inset-top) + 14px);z-index:51;background:linear-gradient(135deg, var(--purple), var(--purple-2));color:#fff;border-radius:var(--pill);box-shadow:var(--shadow-lg);animation:pop .4s var(--spring);padding:11px 20px;font-weight:800;position:fixed;transform:translate(-50%)}.sticker.new{animation:sticker-pop .7s var(--spring);border-color:var(--green);position:relative}@keyframes sticker-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}60%{transform:scale(1.12)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(0)}}.sticker-ribbon{background:var(--green);color:#fff;border-radius:var(--pill);box-shadow:var(--shadow);padding:3px 9px;font-size:.68rem;font-weight:800;position:absolute;top:-8px;right:-8px}.gj-book-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:14px;display:flex}.gj-book-actions-hint{color:var(--muted);font-size:.85rem}.gj-poster{justify-content:center;display:flex}.gj-poster-inner{border:5px solid var(--purple);text-align:center;width:min(560px,96%);box-shadow:var(--shadow-lg);background:#fffdf7;border-radius:10px;padding:40px 34px 30px;position:relative}.gj-poster-inner:before{content:"";border:1.5px solid var(--purple);opacity:.45;pointer-events:none;border-radius:6px;position:absolute;inset:10px}.gj-poster-avatar{background:linear-gradient(135deg, var(--purple), var(--purple-2));color:#fff;width:84px;height:84px;box-shadow:var(--shadow);border-radius:50%;margin:0 auto;font-size:3.4rem;line-height:84px}.gj-poster-title{color:var(--purple);margin:12px 0 2px;font-size:1.5rem;font-weight:800}.gj-poster-sub{color:#9a8f7a;font-size:.9rem}.gj-poster-rule{color:var(--purple);letter-spacing:2px;opacity:.7;margin:12px 0 8px}.gj-poster-list{text-align:left;margin:6px 4px}.gj-poster-entry{border-bottom:1px dotted #e6dcc2;align-items:baseline;gap:10px;padding:8px 2px;display:flex}.gj-poster-emoji{flex:none;font-size:1.2rem}.gj-poster-when{color:var(--purple);flex:none;min-width:82px;font-size:.78rem;font-weight:800}.gj-poster-what{color:var(--ink);font-size:.92rem}.gj-poster-foot{color:#b0a58a;margin-top:18px;font-size:.82rem}@media (width<=520px){.modes{gap:10px}.mode{padding:16px}.grid{grid-template-columns:repeat(2,1fr)}.options{gap:10px}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,300px)}}@media (width<=440px){.who{display:none}.badge{padding:4px 8px}}@media (width<=360px){.card .emoji{width:54px;height:54px;font-size:1.8rem}}@media print{body{background:#fff}body *{visibility:hidden}.gj-book-page,.gj-book-page *,.gj-poster,.gj-poster *{visibility:visible}.gj-book-page{width:100%;box-shadow:none;border:1px solid #f0e6c8;margin:0;position:absolute;top:0;left:0}.no-print{display:none!important}@page{size:A4;margin:14mm}.gj-poster-inner{box-shadow:none}.gj-poster-entry{break-inside:avoid}}.profile-wrap{position:relative}.profile-btn{border:1px solid var(--line);border-radius:var(--pill);font:inherit;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);min-height:40px;transition:box-shadow .2s, transform .12s var(--spring);background:#fff;align-items:center;gap:6px;padding:5px 10px 5px 8px;font-weight:800;display:inline-flex}.profile-btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.profile-av{font-size:1.2rem}.profile-name{font-size:.9rem}.profile-caret{color:var(--muted);font-size:.7rem}.profile-backdrop{z-index:45;position:fixed;inset:0}.profile-menu{z-index:46;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);min-width:230px;animation:dq-pop .18s var(--spring);background:#fff;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.profile-status{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;padding:8px 10px;font-size:.82rem}.profile-status b{color:var(--ink)}.profile-status-sub{color:var(--muted-2);margin-top:2px;font-size:.74rem;display:block}.profile-item{text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:12px;min-height:44px;padding:11px 12px;font-weight:700}.profile-item:hover{background:var(--surface-2)}.fc{max-width:1000px;margin:0 auto}.fc-decks{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px;margin:8px 0 18px;display:grid}.fc-deck{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring), box-shadow .12s, border-color .12s;border-radius:15px;align-items:center;gap:9px;padding:13px 14px;font-size:.95rem;font-weight:800;line-height:1.15;display:flex}.fc-deck:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--purple) 24%, var(--line));transform:translateY(-2px)}.fc-deck.active{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:var(--shadow)}.fc-deck-emoji{flex:none;font-size:1.5rem;line-height:1}.fc-deck-label{min-width:0}.fc-card{aspect-ratio:3/4;perspective:1200px;cursor:pointer;width:min(320px,84vw);margin:0 auto}.fc-inner{width:100%;height:100%;transition:transform .5s var(--spring);transform-style:preserve-3d;position:relative}.fc-card.flipped .fc-inner{transform:rotateY(180deg)}.fc-face{backface-visibility:hidden;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:22px;display:flex;position:absolute;inset:0}.fc-back{background:linear-gradient(160deg, #fff, color-mix(in srgb, var(--purple) 8%, #fff));transform:rotateY(180deg)}.fc-big{color:var(--purple);word-break:break-word;font-size:clamp(3rem,15vw,5rem);font-weight:800;line-height:1.05}.fc-back .fc-big{font-size:clamp(2.4rem,12vw,3.6rem)}.fc-sub{color:var(--ink);font-size:1.1rem;font-weight:800}.fc-fact{color:var(--ink);max-width:92%;font-size:1rem;font-weight:600;line-height:1.4}.fc-trans{color:var(--muted);font-size:.92rem;font-weight:700}.fc-tap{color:var(--muted-2);font-size:.72rem;font-weight:700;position:absolute;bottom:12px}.fc-meta{text-align:center;color:var(--muted);margin:14px 0 4px;font-weight:800}.fc-mode{justify-content:center;gap:8px;margin:2px 0 12px;display:flex}.fc-quiz{text-align:center;max-width:420px;margin:0 auto}.quiz-q{color:var(--ink);margin:10px 0 18px;font-size:1.35rem;font-weight:800}.quiz-q b{color:var(--purple)}.quiz-opts{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.quiz-opt{aspect-ratio:1;border-radius:var(--r-lg);border:2px solid var(--line);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring);background:#fff;justify-content:center;align-items:center;font-size:clamp(2.2rem,11vw,3.4rem);display:flex}.quiz-opt:hover{transform:translateY(-3px)}.quiz-opt.right{background:#def1e9;border-color:#22a06b}.quiz-opt.wrong{border-color:#e5484d;animation:.32s quiz-shake}@keyframes quiz-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.quiz-feedback{min-height:1.5em;margin-top:12px;font-size:1.1rem;font-weight:800}.quiz-feedback.ok{color:#22a06b}.quiz-feedback.no{color:#e5484d}.quiz-score{color:var(--purple);margin:4px 0 10px;font-size:1.05rem;font-weight:800}.quiz-q .fc-speak,.fc-speak{background:color-mix(in srgb, var(--purple) 12%, #fff);cursor:pointer;vertical-align:middle;border:none;border-radius:50%;width:1.9em;height:1.9em;margin-left:6px;font-size:1rem;line-height:1}.fc-speak:hover{background:color-mix(in srgb, var(--purple) 22%, #fff)}.story-read{text-align:center;margin:2px 0 10px}.calm{text-align:center;max-width:560px;margin:0 auto}.calm-modes{justify-content:center;gap:8px;margin:6px 0 20px;display:flex}.calm-breathe,.calm-lullaby{flex-direction:column;align-items:center;gap:18px;padding:10px 0 20px;display:flex}.breathe-bubble{color:#fff;background:radial-gradient(circle at 40% 35%, var(--purple-2), var(--purple));width:210px;height:210px;box-shadow:0 14px 44px color-mix(in srgb, var(--purple) 35%, transparent);border-radius:50%;place-items:center;font-size:1.2rem;font-weight:800;transition:transform 4s ease-in-out;display:grid;transform:scale(.72)}.breathe-bubble.idle{transition-duration:.6s;transform:scale(.86)}.breathe-bubble.in{transition-duration:4s;transform:scale(1.18)}.breathe-bubble.hold{transition-duration:2s;transform:scale(1.18)}.breathe-bubble.out{transition-duration:4s;transform:scale(.72)}.breathe-label{text-shadow:0 1px 6px #00000040}.calm-count{color:var(--purple);font-weight:800}.calm-tip{color:var(--muted);max-width:430px;line-height:1.55}.lullaby-orb{background:radial-gradient(circle at 40% 35%, color-mix(in srgb, var(--purple) 22%, #fff), color-mix(in srgb, var(--purple) 10%, #fff));border-radius:50%;place-items:center;width:160px;height:160px;font-size:3.4rem;display:grid}.lullaby-orb.on{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.parents{max-width:640px;margin:0 auto}.pc-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--purple) 10%, #fff), #fff);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);align-items:center;gap:14px;padding:16px;display:flex}.pc-hero-emoji{font-size:2.6rem}.pc-hero-title{color:var(--ink);font-size:1.1rem;font-weight:800}.pc-hero-text{color:var(--muted);margin-top:2px;font-size:.9rem}.pc-note{background:color-mix(in srgb, var(--green) 10%, #fff);border:1px solid color-mix(in srgb, var(--green) 26%, #fff);color:#14663f;border-radius:var(--r);margin:14px 0;padding:12px 14px;font-size:.86rem;line-height:1.5}.pc-h2{color:var(--ink);margin:18px 2px 8px;font-size:1.1rem}.pc-tips{flex-direction:column;gap:8px;display:flex}.pc-tip{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.pc-tip-head{width:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:14px;font-weight:800;display:flex}.pc-tip-emoji{font-size:1.4rem}.pc-tip-title{flex:1}.pc-tip-caret{color:var(--muted)}.pc-tip-body{color:var(--muted);padding:0 14px 14px 46px;font-size:.9rem;line-height:1.55}.pc-reach{border:1px solid var(--line);border-radius:var(--r);color:var(--ink);box-shadow:var(--shadow-sm);background:#fff;padding:14px;font-size:.9rem;line-height:1.55}.pc-contacts{flex-direction:column;gap:8px;display:flex}.pc-contact{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);background:#fff;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.pc-c-emoji{font-size:1.4rem}.pc-contact b{color:var(--ink)}.pc-c-sub{color:var(--muted);margin-top:2px;font-size:.84rem;line-height:1.45}.pc-c-sub a{color:var(--purple);font-weight:800}.pc-verify{color:var(--muted);margin:12px 2px;font-size:.8rem;line-height:1.5}.pc-foot{text-align:center;color:var(--muted-2);margin:18px 0 4px;font-size:.82rem}@media (width<=480px){.profile-name{display:none}.profile-btn{padding-right:8px}}@media (width<=360px){.topbar .brand-word{display:none}}.plan-tabs{margin-top:6px}.plan-intro{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--ink);margin:6px 0 18px;padding:14px 16px;font-size:.96rem;line-height:1.5}.plan-stars{float:right;color:var(--purple);white-space:nowrap;font-weight:800}.horizon{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:16px}.horizon-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.horizon-emoji{border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:1.7rem;display:grid}.horizon-soon .horizon-emoji{background:color-mix(in srgb, var(--green) 20%, #fff)}.horizon-growing .horizon-emoji{background:#d8edf7}.horizon-dreams .horizon-emoji{background:color-mix(in srgb, var(--yellow) 26%, #fff)}.horizon-title{color:var(--ink);font-size:1.12rem;font-weight:800}.horizon-blurb{color:var(--muted);font-size:.8rem;font-weight:700}.horizon-empty{color:var(--muted);padding:4px 2px 10px;font-size:.9rem}.goal-list{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.goal-card{border-radius:var(--r);border:1px solid var(--line);background:#fff;align-items:center;gap:10px;padding:9px 10px;display:flex}.goal-card.done{background:color-mix(in srgb, var(--green) 12%, #fff);border-color:color-mix(in srgb, var(--green) 32%, transparent)}.goal-emoji{flex:none;font-size:1.35rem}.goal-label{color:var(--ink);flex:1;font-size:.96rem;font-weight:700}.goal-card.done .goal-label{color:var(--muted);text-decoration:line-through}.goal-check{border:2px solid var(--line);color:#fff;cursor:pointer;background:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-weight:800;display:grid}.goal-check.on{background:var(--green);border-color:var(--green)}.goal-star{flex:none;font-size:1.05rem}.goal-remove{color:var(--muted-2);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:4px;font-size:.9rem}.goal-remove:hover{color:#e5484d;background:#e5484d1f}.add-goal{font-size:.9rem}.goal-picker{flex-wrap:wrap;gap:7px;padding-top:4px;display:flex}.pick-chip{border:1px dashed var(--purple);background:color-mix(in srgb, var(--purple) 7%, #fff);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:.86rem;font-weight:700;display:inline-flex}.pick-chip:hover{background:color-mix(in srgb, var(--purple) 14%, #fff)}.pick-plus{color:var(--purple);font-weight:800}.pick-done{width:100%;margin-top:4px}.plan-habits .dq-ages{margin:4px 0 16px}.habit-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.habit-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-sm);flex-direction:column;gap:5px;padding:15px;display:flex}.habit-top{justify-content:space-between;align-items:flex-start;display:flex}.habit-emoji{font-size:2rem}.habit-speak{background:color-mix(in srgb, var(--purple) 12%, #fff);cursor:pointer;border:none;border-radius:50%;flex:none;width:30px;height:30px;font-size:.95rem}.habit-speak:hover{background:color-mix(in srgb, var(--purple) 22%, #fff)}.habit-title{color:var(--ink);margin-top:2px;font-size:1.02rem;font-weight:800}.habit-line{color:var(--ink);font-size:.9rem;line-height:1.45}.habit-tip{color:var(--muted);margin-top:auto;padding-top:6px;font-size:.84rem;line-height:1.45}.habit-tip b{color:var(--purple)}.plan-grown{max-width:640px}.plan-grown .pc-note{letter-spacing:.04em;color:var(--purple);background:color-mix(in srgb, var(--purple) 12%, #fff);border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:800;display:inline-block}.grown-intro{color:var(--ink);margin:12px 0 8px;line-height:1.55}.grown-h2{color:var(--ink);margin:22px 0 12px;font-size:1.15rem;font-weight:800}.grown-horizons,.grown-tips{flex-direction:column;gap:10px;display:flex}.grown-hz,.grown-tip{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:14px;display:grid}.grown-hz-emoji,.grown-tip-emoji{font-size:1.5rem}.grown-hz-title,.grown-tip-title{color:var(--ink);font-weight:800}.grown-hz p,.grown-tip p{color:var(--muted);margin:3px 0 0;font-size:.9rem;line-height:1.5}.grown-ages{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.grown-age{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-sm);padding:14px}.grown-age-head{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.grown-band{color:#fff;background:linear-gradient(160deg, var(--purple), var(--purple-2));border-radius:999px;padding:2px 9px;font-size:.8rem;font-weight:800}.grown-age-title{color:var(--ink);font-size:.95rem;font-weight:800}.grown-age-row{color:var(--muted);margin-top:5px;font-size:.85rem;line-height:1.45}.grown-age-row b{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;display:block}.grown-disclaimer{border-radius:var(--r-lg);background:color-mix(in srgb, var(--yellow) 16%, #fff);color:#6b4b00;border:1px solid color-mix(in srgb, var(--yellow) 40%, transparent);margin:20px 0 8px;padding:14px 16px;font-size:.86rem;line-height:1.5}.plan-toast{z-index:60;background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);border-radius:999px;padding:11px 18px;font-size:.95rem;font-weight:800;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.dash-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 18px;display:grid}@media (width<=480px){.dash-stats{grid-template-columns:repeat(2,1fr)}}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:1px;padding:14px 12px;display:flex}.stat-emoji{font-size:1.5rem}.stat-num{color:var(--purple);font-variant-numeric:tabular-nums;font-family:"Baloo 2 Variable",sans-serif;font-size:1.7rem;font-weight:800;line-height:1.1}.stat-of{color:var(--muted-2);font-size:.95rem;font-weight:700}.stat-label{color:var(--ink);font-size:.82rem;font-weight:800}.stat-foot{color:var(--muted-2);font-size:.7rem;font-weight:700}.dash-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:18px}.dash-h2{color:var(--ink);margin:0 0 14px;font-size:1.05rem;font-weight:800}.week-chart{grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;height:128px;display:grid}.wc-col{flex-direction:column;align-items:center;gap:6px;height:100%;display:flex}.wc-bar-track{flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.wc-bar{background:color-mix(in srgb, var(--purple) 42%, var(--purple-2));width:74%;min-height:4px;transition:height .4s var(--spring);border-radius:6px 6px 3px 3px}.wc-bar.today{background:linear-gradient(180deg, var(--purple), var(--purple-2));box-shadow:0 3px 10px color-mix(in srgb, var(--purple) 30%, transparent)}.wc-bar.empty{background:var(--surface-2);border:1px dashed var(--line-strong)}.wc-label{color:var(--muted);font-size:.72rem;font-weight:800}.week-foot{color:var(--muted);margin-top:12px;font-size:.82rem}.tally-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}@media (width<=420px){.tally-grid{grid-template-columns:repeat(2,1fr)}}.tally{background:var(--surface-2);border-radius:var(--r);text-align:center;flex-direction:column;align-items:center;gap:1px;padding:12px 8px;display:flex}.tally-emoji{font-size:1.35rem}.tally-num{color:var(--ink);font-variant-numeric:tabular-nums;font-family:"Baloo 2 Variable",sans-serif;font-size:1.4rem;font-weight:800}.tally-label{color:var(--muted);font-size:.72rem;font-weight:700}.reward-row{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}@media (width<=480px){.reward-row{grid-template-columns:1fr 1fr}.reward.level{grid-column:1/-1}}.reward{background:var(--surface-2);border-radius:var(--r);padding:14px}.reward.mini{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.reward-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.reward-emoji{font-size:1.5rem}.reward-title{color:var(--ink);font-size:.95rem;font-weight:800}.reward-sub{color:var(--muted);font-size:.74rem;font-weight:700}.xp-track{background:color-mix(in srgb, var(--purple) 14%, #fff);border-radius:999px;height:9px;overflow:hidden}.xp-fill{background:linear-gradient(90deg, var(--purple), var(--purple-2));border-radius:999px;height:100%}.reward-big{color:var(--purple);font-family:"Baloo 2 Variable",sans-serif;font-size:1.7rem;font-weight:800;line-height:1.1}.reward-cap{color:var(--muted);font-size:.72rem;font-weight:800}.dash-note{border-radius:var(--r-lg);background:color-mix(in srgb, var(--green) 12%, #fff);color:#12603f;border:1px solid color-mix(in srgb, var(--green) 30%, transparent);margin:4px 0 8px;padding:14px 16px;font-size:.86rem;line-height:1.5}.gate-overlay{z-index:80;background:color-mix(in srgb, var(--ink) 55%, transparent);-webkit-backdrop-filter:blur(4px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.gate{background:var(--card);border-radius:var(--r-lg);text-align:center;width:min(340px,94vw);box-shadow:var(--shadow-lg);padding:22px}.gate-emoji{font-size:2rem}.gate h2{color:var(--ink);margin:6px 0 2px;font-size:1.3rem}.gate-sub{color:var(--muted);margin:0 0 10px;font-size:.86rem}.gate-q{color:var(--ink);margin:8px 0;font-size:1.15rem}.gate-q b{color:var(--purple)}.gate-display{color:var(--purple);border-bottom:2px solid var(--line-strong);font-variant-numeric:tabular-nums;width:120px;min-height:2.4rem;margin:4px auto 8px;font-family:"Baloo 2 Variable",sans-serif;font-size:2rem;font-weight:800;line-height:2.4rem}.gate-display.err{color:var(--red);border-color:var(--red)}.gate-err{color:var(--red);margin-bottom:6px;font-size:.82rem;font-weight:800}.gate-pad{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.gate-key{font:inherit;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;min-height:48px;padding:12px 0;font-size:1.2rem;font-weight:800}.gate-key:hover{background:color-mix(in srgb, var(--purple) 8%, var(--surface-2))}.gate-key.gate-ok{background:var(--green);color:#fff;border-color:#0000}.gate-key.gate-del{color:var(--muted)}.gate-cancel{margin-top:4px}.timeup{z-index:78;background:radial-gradient(60% 60% at 50% 30%, color-mix(in srgb, var(--purple) 30%, transparent), transparent 70%), color-mix(in srgb, var(--ink) 88%, #2a2350);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.timeup-card{text-align:center;color:#fff;max-width:380px}.timeup-emoji{filter:drop-shadow(0 6px 16px #00000059);font-size:3.4rem}.timeup-card h1{color:#fff;margin:10px 0 8px;font-size:1.6rem}.timeup-card p{color:#ffffffd9;margin:0 0 20px;line-height:1.55}.timeup-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.timeup-actions .btn{width:min(280px,90%)}.timeup-actions .btn:not(.primary){color:#fff;background:#ffffff24;border-color:#ffffff40}.st-lede{color:var(--muted);margin:0 0 12px;font-size:.88rem;line-height:1.5}.st-choices{flex-wrap:wrap;gap:8px;display:flex}.st-choice{font:inherit;border-radius:var(--pill);border:2px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;min-width:56px;min-height:44px;padding:10px 16px;font-weight:800}.st-choice.active{border-color:var(--purple);color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff)}.st-today{color:var(--muted);margin-top:12px;font-size:.88rem}.st-today b{color:var(--ink)}.lp-tracks{grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;display:grid}@media (width<=460px){.lp-tracks{grid-template-columns:1fr}}.lp-track{text-align:center;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s var(--spring);flex-direction:column;align-items:center;gap:4px;padding:26px 16px;display:flex}.lp-track:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.lp-reading{background:linear-gradient(160deg, #fff, color-mix(in srgb, var(--purple) 8%, #fff))}.lp-numbers{background:linear-gradient(160deg, #fff, color-mix(in srgb, var(--blue) 10%, #fff))}.lp-track-emoji{font-size:3rem}.lp-track-title{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.3rem;font-weight:800}.lp-track-blurb{color:var(--muted);font-size:.86rem}.lp-track-prog{color:var(--purple);margin-top:6px;font-size:.74rem;font-weight:800}.lp-levels{flex-direction:column;gap:10px;margin-top:8px;display:flex}.lp-level{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);cursor:pointer;box-shadow:var(--shadow-sm);text-align:left;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.lp-level.locked{opacity:.55;cursor:default;box-shadow:none}.lp-level.done{border-color:color-mix(in srgb, var(--green) 40%, transparent);background:color-mix(in srgb, var(--green) 7%, #fff)}.lp-level-n{background:linear-gradient(160deg, var(--purple), var(--purple-2));color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-family:"Baloo 2 Variable",sans-serif;font-weight:800;display:grid}.lp-level.locked .lp-level-n{background:var(--muted-2)}.lp-level-title{color:var(--ink);font-size:1rem;font-weight:800}.lp-level-stars{color:var(--muted-2);flex:none;font-size:1rem}.lp-level-stars .st.on{color:var(--yellow)}.lp-progress{background:var(--surface-2);border-radius:999px;height:8px;margin:8px 0 20px;overflow:hidden}.lp-progress-fill{background:linear-gradient(90deg, var(--purple), var(--purple-2));height:100%;transition:width .3s var(--ease);border-radius:999px}.lp-teach{text-align:center;padding:14px 0}.lp-glyph{color:var(--purple);font-family:"Baloo 2 Variable",sans-serif;font-size:clamp(3.5rem,22vw,6rem);font-weight:800;line-height:1}.lp-teach-emoji{margin-top:8px;font-size:clamp(2.4rem,12vw,3.4rem)}.lp-teach-word{color:var(--ink);margin-top:8px;font-size:1.4rem;font-weight:800}.lp-actions{justify-content:center;gap:10px;margin-top:24px;display:flex}.lp-choose{text-align:center}.lp-ask{color:var(--ink);margin:10px 0 6px;font-size:1.4rem;font-weight:800}.lp-speak{background:color-mix(in srgb, var(--purple) 12%, #fff);cursor:pointer;vertical-align:middle;border:none;border-radius:50%;width:32px;height:32px;margin-left:8px;font-size:1rem}.lp-picture{word-break:break-word;margin:10px 0 18px;font-size:clamp(1.8rem,9vw,2.6rem);line-height:1.3}.lp-options{grid-template-columns:repeat(3,1fr);gap:12px;max-width:420px;margin:12px auto 0;display:grid}.lp-opt{aspect-ratio:1;border-radius:var(--r-lg);border:2px solid var(--line);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring);background:#fff;place-items:center;display:grid}.lp-opt:hover{transform:translateY(-3px)}.lp-opt-label{color:var(--purple);font-family:"Baloo 2 Variable",sans-serif;font-size:clamp(2rem,12vw,3rem);font-weight:800}.lp-opt-emoji{font-size:clamp(2.2rem,13vw,3.2rem)}.lp-opt.right{border-color:var(--green);background:color-mix(in srgb, var(--green) 15%, #fff)}.lp-opt.wrong{border-color:var(--red);animation:.32s quiz-shake}.lp-feedback{min-height:1.5em;margin-top:14px;font-size:1.1rem;font-weight:800}.lp-feedback.ok{color:var(--green)}.lp-feedback.no{color:var(--red)}.lp-win{place-items:center;min-height:60vh;display:grid}.lp-win-card{text-align:center}.lp-win-emoji{font-size:3.4rem}.lp-win-card h1{color:var(--ink);margin:6px 0}.lp-win-stars{color:var(--muted-2);margin:6px 0;font-size:2rem}.lp-win-stars .st.on{color:var(--yellow)}.lp-win-card p{color:var(--muted);margin-bottom:18px}.lp-win-card .controls{justify-content:center}.town-meters{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:6px 0 8px;display:grid}.tm{text-align:center;flex-direction:column;align-items:center;gap:0;display:flex}.tm-emoji{font-size:1.3rem}.tm-num{color:var(--purple);font-variant-numeric:tabular-nums;font-family:"Baloo 2 Variable",sans-serif;font-size:1.3rem;font-weight:800;line-height:1}.tm-of{color:var(--muted-2);font-size:.8rem}.tm-cap{color:var(--muted);font-size:.68rem;font-weight:800}.tm-green{align-items:stretch}.tm-green-head{color:var(--muted);align-items:center;gap:6px;font-size:.72rem;font-weight:800;display:flex}.tm-green-head .tm-emoji{font-size:1rem}.tm-pct{color:var(--green);margin-left:auto;font-weight:800}.tm-bar{background:color-mix(in srgb, var(--green) 14%, #eee);border-radius:999px;height:9px;margin-top:3px;overflow:hidden}.tm-bar-fill{height:100%;transition:width .35s var(--spring);background:linear-gradient(90deg,#23c58a,#7ad06f);border-radius:999px}.town-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 12px;display:flex}.town-title-chip{color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:800;display:inline-block}.town-title-chip.good{color:#12603f;background:color-mix(in srgb, var(--green) 14%, #fff);border-color:color-mix(in srgb, var(--green) 34%, transparent)}.town-board-wrap{position:relative}.town-board{border-radius:var(--r-lg);background:linear-gradient(#cdeecb,#a7dc8f);grid-template-columns:repeat(8,1fr);gap:4px;padding:9px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #1c173014}.plot{aspect-ratio:1;cursor:pointer;transition:transform .12s var(--spring);background:#c1e7ad;border:none;border-radius:11px;place-items:center;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -3px #5a944b47}.plot:hover{transform:translateY(-2px)}.plot.filled{background:#ddf2d2}.plot.road{box-shadow:none;background:#d0edc0}.plot.unlinked{outline-offset:-3px;outline:2px dashed #f4a63a}.plot-emoji{z-index:1;font-size:clamp(1.05rem,5vw,1.7rem);position:relative}.plot-plus{color:#5a944b99;font-size:1.3rem;font-weight:800}.road-svg{width:100%;height:100%;position:absolute;inset:0}.town-cars{pointer-events:none;position:absolute;inset:9px}.town-car{filter:drop-shadow(0 1px 1px #00000040);font-size:clamp(1rem,4.5vw,1.4rem);transition:left .7s linear,top .7s linear;position:absolute;transform:translate(-50%,-50%)}.town-goals{margin:16px 0 4px}.town-goals-title{color:var(--ink);margin-bottom:8px;font-size:.92rem;font-weight:800}.goal-chips{flex-wrap:wrap;gap:7px;display:flex}.goal-chip{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:.8rem;font-weight:700;display:inline-flex}.goal-chip.done{color:#12603f;background:color-mix(in srgb, var(--green) 14%, #fff);border-color:color-mix(in srgb, var(--green) 34%, transparent)}.goal-chip-ico{font-weight:800}.goal-chip.done .goal-chip-ico{color:var(--green)}.sheet-overlay{z-index:70;background:color-mix(in srgb, var(--ink) 45%, transparent);-webkit-backdrop-filter:blur(3px);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);border-radius:var(--r-lg) var(--r-lg) 0 0;width:min(560px,100%);padding:18px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);max-height:78vh;overflow-y:auto}.sheet-title{text-align:center;color:var(--ink);margin-bottom:12px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.15rem;font-weight:800}.sheet-cats{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:12px;display:flex}.sheet-cat{font:inherit;border:2px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:800}.sheet-cat.active{border-color:var(--purple);color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff)}.sheet-items{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;display:grid}.sheet-item{border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;transition:transform .12s var(--spring);flex-direction:column;align-items:center;gap:4px;padding:12px 6px;display:flex}.sheet-item:hover{background:color-mix(in srgb, var(--purple) 6%, var(--surface-2));transform:translateY(-2px)}.sheet-item-emoji{font-size:2rem}.sheet-item-name{color:var(--ink);text-align:center;font-size:.74rem;font-weight:800}.sheet-close{width:100%;margin-top:12px}.info-card{background:var(--card);border-radius:var(--r-lg);text-align:center;width:min(340px,92%);box-shadow:var(--shadow-lg);align-self:center;margin:auto;padding:24px}.info-emoji{font-size:3rem}.info-name{color:var(--ink);margin:6px 0;font-family:"Baloo 2 Variable",sans-serif;font-size:1.4rem;font-weight:800}.info-fact{color:var(--muted);margin-bottom:18px;line-height:1.5}.info-card .controls{justify-content:center}.safety-game{max-width:640px;margin:0 auto;padding-bottom:32px}.safety-game .title-wrap h1{align-items:center;gap:6px;display:flex}.road-stage{flex-direction:column;align-items:center;gap:14px;padding:8px 12px;display:flex}.traffic-light{border-radius:var(--r);box-shadow:var(--shadow);background:#2a2440;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.traffic-light .lamp{filter:grayscale()brightness(.5);opacity:.35;font-size:2.2rem;line-height:1;transition:all .2s}.traffic-light.is-red .lamp-red,.traffic-light.is-green .lamp-green{filter:none;opacity:1;transform:scale(1.06)}.road-scene{border-radius:var(--r);width:100%;max-width:460px;box-shadow:var(--shadow-sm);text-align:center;background:#4a4560;padding:18px 10px;position:relative}.road-strip{letter-spacing:6px;color:#fff;opacity:.85;font-size:1.1rem}.road-scene .walker{transition:transform .25s var(--spring);margin-top:4px;font-size:3rem}.road-scene.go .walker{transform:translate(0)}.road-msg{text-align:center;min-height:1.4em;font-family:"Baloo 2 Variable",sans-serif;font-size:1.05rem;font-weight:800}.road-msg.ok{color:var(--green)}.road-msg.warn{color:var(--muted)}.cross-btn{min-width:200px}.crossing-dots{gap:6px;display:flex}.crossing-dots .cdot{filter:grayscale();opacity:.35;font-size:1.3rem}.crossing-dots .cdot.on{filter:none;opacity:1}.scenario-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:6px;margin:6px 12px 12px;padding:20px 16px;display:flex}.scenario-emoji{font-size:3.4rem}.scenario-q{color:var(--ink);text-align:center;font-family:"Baloo 2 Variable",sans-serif;font-size:1.15rem;font-weight:800}.scenario-msg{text-align:center;color:var(--muted);min-height:1.3em;margin:4px 12px 12px;font-weight:800}.scenario-opts{grid-template-columns:1fr 1fr;gap:12px;padding:0 12px;display:grid}.opt-card{border-radius:var(--r);border:2px solid var(--line);background:var(--card);cursor:pointer;transition:transform .12s var(--spring), border-color .15s ease;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;display:flex;position:relative}.opt-card:hover:not(:disabled){transform:translateY(-2px)}.opt-card .opt-emoji{font-size:2.6rem}.opt-card .opt-label{color:var(--ink);text-align:center;font-size:.9rem;font-weight:800}.opt-card.correct{border-color:var(--green);background:color-mix(in srgb, var(--green) 12%, var(--card))}.opt-card.wrong{border-color:var(--red);background:color-mix(in srgb, var(--red) 12%, var(--card));animation:.3s shake}.opt-card.dim{opacity:.45}.opt-card .opt-tick{color:var(--green);font-weight:900;position:absolute;top:8px;right:10px}.scenario-why{background:var(--surface-2);border-radius:var(--r);color:var(--ink);margin:14px 12px;padding:12px 14px;line-height:1.5}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.weather-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:4px;margin:6px 12px 10px;padding:18px 16px;display:flex}.weather-emoji{font-size:3.6rem}.weather-name{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.2rem;font-weight:800}.weather-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;padding:0 12px 14px;display:grid}.witem{border-radius:var(--r);border:2px solid var(--line);background:var(--card);cursor:pointer;transition:transform .12s var(--spring), border-color .15s ease;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;display:flex;position:relative}.witem:hover:not(:disabled){transform:translateY(-2px)}.witem .wi-emoji{font-size:2.1rem}.witem .wi-label{color:var(--ink);text-align:center;font-size:.72rem;font-weight:800}.witem.chosen{border-color:var(--purple);background:color-mix(in srgb, var(--purple) 10%, var(--card))}.witem.correct{border-color:var(--green);background:color-mix(in srgb, var(--green) 14%, var(--card))}.witem.wrong{border-color:var(--red);background:color-mix(in srgb, var(--red) 12%, var(--card))}.witem.dim{opacity:.4}.witem .wi-tick{color:var(--green);font-weight:900;position:absolute;top:6px;right:8px}.btn.big{margin:8px auto;padding:14px 22px;font-size:1.05rem;display:block}.safety-done{text-align:center;max-width:420px;margin:0 auto;padding:30px 18px}.safety-done .done-emoji{font-size:3.4rem}.safety-done .done-title{color:var(--ink);margin:6px 0;font-family:"Baloo 2 Variable",sans-serif;font-size:1.5rem;font-weight:800}.safety-done .done-score{color:var(--purple);margin-bottom:14px;font-size:1.1rem;font-weight:800}.safety-tip{background:var(--surface-2);border-radius:var(--r);color:var(--ink);margin:12px 0 18px;padding:14px 16px;line-height:1.5}.safety-done .controls{justify-content:center}.order-title{color:var(--ink);text-align:center;justify-content:center;align-items:center;gap:6px;margin:8px 14px 2px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.15rem;font-weight:800;display:flex}.order-answer{flex-wrap:wrap;justify-content:center;gap:8px;padding:4px 12px 6px;display:flex}.order-slot{border-radius:var(--r);border:2px dashed var(--line-strong);background:var(--surface-2);justify-content:center;align-items:center;width:62px;height:62px;display:flex;position:relative}.order-slot.filled{border-style:solid;border-color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff)}.order-slot.good.filled{border-color:var(--green);background:color-mix(in srgb, var(--green) 12%, #fff)}.order-slot.bad.filled{border-color:var(--red);background:color-mix(in srgb, var(--red) 10%, #fff)}.order-slot .order-num{color:var(--muted-2);font-size:.7rem;font-weight:900;position:absolute;top:3px;left:6px}.order-slot .order-slot-emoji{font-size:1.9rem}.order-pool{flex-direction:column;gap:10px;max-width:460px;margin:0 auto;padding:8px 12px 4px;display:flex}.order-chip{border-radius:var(--r);border:2px solid var(--line);background:var(--card);cursor:pointer;text-align:left;transition:transform .12s var(--spring), opacity .15s ease;align-items:center;gap:12px;padding:12px 16px;display:flex}.order-chip:hover:not(:disabled){transform:translateY(-2px)}.order-chip .oc-emoji{font-size:1.8rem}.order-chip .oc-label{color:var(--ink);font-weight:800}.order-chip.used{opacity:.3}.town-tools{flex-wrap:wrap;justify-content:center;gap:7px;margin:2px 0 8px;display:flex}.tt{font:inherit;border:2px solid var(--line);color:var(--muted);cursor:pointer;transition:transform .1s var(--spring);background:#fff;border-radius:999px;padding:8px 13px;font-size:.82rem;font-weight:800}.tt:hover:not(:disabled){transform:translateY(-1px)}.tt.on{border-color:var(--purple);color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff)}.tt:disabled{opacity:.4;cursor:default}.town-hint{text-align:center;color:var(--purple);margin:-2px 0 8px;font-size:.8rem;font-weight:800}.road-svg{pointer-events:none}.town-board.drawing-mode{touch-action:none;cursor:crosshair}.town-board.drawing-mode .plot{cursor:crosshair}.plot.water{background:linear-gradient(#58c0e8,#2e8fd0);overflow:hidden;box-shadow:inset 0 2px 8px #0000001f}.plot.water .wave{background-image:radial-gradient(circle at 30% 60%,#ffffff80 0 2px,#0000 3px),radial-gradient(circle at 70% 30%,#fff6 0 2px,#0000 3px);background-size:26px 26px;animation:3s linear infinite townWave;position:absolute;inset:0}@keyframes townWave{0%{background-position:0 0,0 0}to{background-position:26px 0,-26px 0}}.town-board.night{background:linear-gradient(#35406b,#24406a)}.town-board.night .plot{background:#2c4164;box-shadow:inset 0 -3px #0003}.town-board.night .plot.filled{background:#2d4265}.town-board.night .plot.road{background:#2c4164}.town-board.night .plot.water{background:linear-gradient(#1f5a86,#123f66)}.town-board.night .plot.filled:not(.road):after{content:"";background:#ffdf7e;border-radius:2px;width:6px;height:6px;position:absolute;top:7px;right:7px;box-shadow:0 0 6px 2px #ffd25ab3}.street-lamp{pointer-events:none;z-index:2;background:#fff3c4;border-radius:50%;width:10px;height:10px;position:absolute;top:16%;left:50%;transform:translate(-50%);box-shadow:0 0 12px 6px #ffd6668c}.town-car.lit{filter:drop-shadow(0 0 5px #ffeb96e6)drop-shadow(0 1px 1px #0000004d)}.info-zone{color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff);border-radius:999px;margin:2px 0 8px;padding:3px 12px;font-size:.76rem;font-weight:800;display:inline-block}@keyframes townPop{0%{transform:scale(.3)}60%{transform:scale(1.18)}to{transform:scale(1)}}.plot.pop .plot-emoji{animation:townPop .42s var(--spring)}.town-board.fancy .plot-emoji{filter:drop-shadow(0 2px 1px #1c173040)}.town-board.fancy .plot.filled{box-shadow:inset 0 -3px #5a944b47,0 2px 5px #1c17301f}.town-board.fancy:not(.night):before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60px 26px at 20% 18%,#ffffff8c,#0000 70%),radial-gradient(80px 30px at 70% 12%,#ffffff6b,#0000 70%);animation:26s linear infinite townClouds;position:absolute;inset:0}@keyframes townClouds{0%{background-position:-60px 0,40px 0}to{background-position:120% 0,130% 0}}.town-board.fancy.night:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(1.4px 1.4px at 15% 12%,#fff,#0000),radial-gradient(1.4px 1.4px at 40% 22%,#fff,#0000),radial-gradient(1.4px 1.4px at 65% 10%,#fff,#0000),radial-gradient(1.4px 1.4px at 85% 20%,#fff,#0000),radial-gradient(1.4px 1.4px at 30% 8%,#fff,#0000),radial-gradient(1.4px 1.4px at 78% 6%,#fff,#0000);animation:3.2s ease-in-out infinite townTwinkle;position:absolute;inset:0}@keyframes townTwinkle{0%,to{opacity:.35}50%{opacity:.9}}.town-board.fancy .plot,.town-board.fancy .town-car{z-index:1}:where(button,a,input,[tabindex]):focus-visible{outline:3px solid var(--purple);outline-offset:2px;border-radius:6px}:root.reduce-motion *,:root.reduce-motion :before,:root.reduce-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){.confetti,.town-car,.plot.water .wave{animation:none!important}}:root[data-stim=calm] .confetti,:root.reduce-motion .confetti{display:none!important}:root.easy-font body,:root.easy-font button,:root.easy-font input,:root.easy-font h1,:root.easy-font h2,:root.easy-font h3,:root.easy-font p,:root.easy-font span,:root.easy-font div{letter-spacing:.015em;font-family:Trebuchet MS,Verdana,Tahoma,system-ui,-apple-system,sans-serif!important}:root.easy-font{line-height:1.6}:root.high-contrast{--ink:#0a0a12;--muted:#2c2c3a;--muted-2:#3a3a4a;--line:#00000052;--line-strong:#00000085}:root.high-contrast .btn,:root.high-contrast .tt,:root.high-contrast .card,:root.high-contrast .swatch{border-color:#00000080}:root.big-text{font-size:18px}.whoplaying{text-align:center}.who-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px;max-width:520px;margin:18px auto 8px;display:grid}.who-card-wrap{position:relative}.who-card{border-radius:var(--r-lg);border:3px solid var(--line);background:var(--card);cursor:pointer;width:100%;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring), border-color .15s ease;flex-direction:column;align-items:center;gap:4px;padding:20px 10px 16px;display:flex}.who-card:hover{border-color:color-mix(in srgb, var(--kid,var(--purple)) 55%, var(--line));transform:translateY(-3px)}.who-av{background:color-mix(in srgb, var(--kid,var(--purple)) 16%, #fff);width:74px;height:74px;box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--kid,var(--purple)) 40%, transparent);border-radius:50%;place-items:center;font-size:3.2rem;display:grid}.who-name{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.05rem;font-weight:800}.who-age{color:var(--muted);text-transform:capitalize;font-size:.74rem;font-weight:800}.who-add{color:var(--muted);border-style:dashed;justify-content:center}.who-add .who-av{background:var(--surface-2);box-shadow:none;color:var(--muted-2);font-weight:800}.who-del{background:var(--red);color:#fff;cursor:pointer;width:30px;height:30px;box-shadow:var(--shadow);border:none;border-radius:50%;font-weight:900;position:absolute;top:-8px;right:-8px}.who-manage{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;margin:10px auto 0;font-weight:800}.audience-back{position:absolute;top:12px;left:12px}.settings{max-width:640px;margin:0 auto;padding-bottom:32px}.set-block{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin:12px 0;padding:16px 16px 18px}.set-h{color:var(--ink);margin:0 0 4px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.05rem}.set-note{color:var(--muted);margin:0 0 12px;font-size:.86rem;line-height:1.45}.stim-cards{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.stim-card{border-radius:var(--r);border:2px solid var(--line);background:var(--surface-2);cursor:pointer;text-align:center;transition:transform .1s var(--spring);flex-direction:column;align-items:center;gap:4px;padding:14px 8px;display:flex}.stim-card:hover{transform:translateY(-2px)}.stim-card.sel{border-color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff)}.stim-emoji{font-size:1.8rem}.stim-title{color:var(--ink);font-weight:800}.stim-blurb{color:var(--muted);font-size:.7rem;line-height:1.35}.set-row{border-top:1px solid var(--line);align-items:center;gap:12px;padding:10px 0;display:flex}.set-row:first-of-type{border-top:none}.set-label{flex-direction:column;flex:1;display:flex}.set-label b{color:var(--ink);font-size:.95rem}.set-label span{color:var(--muted);font-size:.8rem}.seg{border:2px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.seg-btn{font:inherit;min-height:44px;color:var(--muted);cursor:pointer;background:#fff;border:none;padding:6px 12px;font-size:.78rem;font-weight:800}.seg-btn.sel{background:var(--purple);color:#fff}.switch{background:var(--line-strong);cursor:pointer;border:none;border-radius:999px;flex:none;width:52px;height:30px;transition:background .15s;position:relative}.switch.on{background:var(--green)}.switch-knob{width:24px;height:24px;box-shadow:var(--shadow-sm);transition:left .15s var(--spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.switch.on .switch-knob{left:25px}.promise{max-width:660px;margin:0 auto;padding-bottom:32px}.promise-lead{color:var(--ink);margin:6px 4px 16px;font-size:1rem;line-height:1.55}.promise-list{flex-direction:column;gap:10px;display:flex}.promise-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.promise-emoji{flex:none;font-size:1.9rem;line-height:1}.promise-title{color:var(--ink);margin-bottom:2px;font-family:"Baloo 2 Variable",sans-serif;font-weight:800}.promise-body{color:var(--muted);font-size:.9rem;line-height:1.5}.promise-foot{text-align:center;color:var(--muted-2);margin-top:16px;font-size:.8rem}.curriculum{max-width:920px;margin:0 auto;padding-bottom:32px}.smart-btn{text-align:left;cursor:pointer;background:linear-gradient(120deg, var(--purple), var(--purple-2));color:#fff;border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow);transition:transform .12s var(--spring);border:none;align-items:center;gap:14px;margin:6px 0 14px;padding:16px 18px;display:flex}.smart-btn:hover{transform:translateY(-2px)}.smart-emoji{font-size:2rem}.smart-text{flex-direction:column;line-height:1.25;display:flex}.smart-text b{font-family:"Baloo 2 Variable",sans-serif;font-size:1.15rem}.smart-text span{opacity:.92;font-size:.85rem}.smart-go{opacity:.9;margin-left:auto;font-size:1.2rem}.cur-overall{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:14px;font-weight:800;display:flex}.cur-strands{flex-direction:column;gap:10px;display:flex}.cur-strand{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden}.cur-strand-h{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.cur-strand-emoji{font-size:1.7rem}.cur-strand-name{color:var(--ink);flex-direction:column;font-family:"Baloo 2 Variable",sans-serif;font-weight:800;line-height:1.15;display:flex}.cur-strand-ncf{font-family:var(--sans,inherit);color:var(--muted-2);font-size:.68rem;font-weight:700}.cur-strand-bar{background:var(--surface-2);border-radius:999px;flex:none;width:84px;height:8px;margin-left:auto;overflow:hidden}.cur-strand-fill{height:100%;transition:width .35s var(--spring);background:linear-gradient(90deg,#23c58a,#7ad06f);border-radius:999px;display:block}.cur-caret{color:var(--muted-2);font-size:.9rem}.cur-skills{flex-direction:column;gap:4px;padding:4px 10px 10px;display:flex}.cur-skill{background:var(--surface-2);cursor:pointer;text-align:left;width:100%;transition:transform .1s var(--spring);border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.cur-skill:hover{border-color:var(--line-strong);transform:translate(2px)}.cur-skill-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.cur-code{background:color-mix(in srgb, var(--purple) 12%, #fff);color:var(--purple);border-radius:5px;flex:none;padding:1px 6px;font-size:.72rem;font-weight:800}.cur-skill-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:700;overflow:hidden}.cur-stars{letter-spacing:1px;flex:none}.cur-stars .cs{color:var(--line-strong);font-size:.95rem}.cur-stars .cs.on{color:#ffc233}.cur-foot{text-align:center;color:var(--muted-2);margin-top:16px;font-size:.78rem;font-style:italic}.play-progress{background:var(--surface-2);border-radius:999px;height:8px;margin:4px 0 14px;overflow:hidden}.play-progress-fill{background:linear-gradient(90deg, var(--purple), var(--purple-2));height:100%;transition:width .3s var(--spring)}.play-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow);text-align:center;margin-bottom:16px;padding:22px 18px}.play-prompt{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.3rem;font-weight:800}.play-visual{letter-spacing:4px;word-break:break-word;margin-top:12px;font-size:2.4rem;line-height:1.3}.play-choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.play-choices.emoji{grid-template-columns:1fr 1fr}.play-choice{border-radius:var(--r);border:2px solid var(--line);background:var(--card);cursor:pointer;transition:transform .1s var(--spring), border-color .15s ease;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;display:flex}.play-choice:hover:not(:disabled){transform:translateY(-2px)}.play-choice .pc-emoji{font-size:2.4rem}.play-choice .pc-text{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.5rem;font-weight:800}.play-choice.right{border-color:var(--green);background:color-mix(in srgb, var(--green) 14%, var(--card))}.play-choice.wrong{border-color:var(--red);background:color-mix(in srgb, var(--red) 12%, var(--card));animation:.3s shake}.play-teach{text-align:center}.play-answer{background:var(--surface-2);border-radius:var(--r);color:var(--ink);margin-bottom:16px;padding:16px;font-weight:600;line-height:1.5}.play-hint{text-align:center;color:var(--muted);margin-top:12px;font-weight:800}.cur-done{text-align:center;padding:34px 18px}.cur-done-emoji{font-size:3.4rem}.cur-done-title{color:var(--ink);margin:6px 0;font-family:"Baloo 2 Variable",sans-serif;font-size:1.5rem;font-weight:800}.cur-done-score{color:var(--purple);font-size:1.1rem;font-weight:800}.cur-levelups{color:#7a5410;border-radius:var(--r);background:#fff3d6;margin:12px auto;padding:10px 16px;font-weight:800;display:inline-block}.report{max-width:660px;margin:0 auto;padding-bottom:32px}.rep-hero{grid-template-columns:1fr 1fr 1fr;gap:10px;margin:6px 0 16px;display:grid}.rep-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-align:center;box-shadow:var(--shadow-sm);padding:14px 8px}.rep-stat b{color:var(--purple);font-family:"Baloo 2 Variable",sans-serif;font-size:1.7rem;line-height:1;display:block}.rep-stat span{color:var(--muted);font-size:.74rem;font-weight:700}.rep-block{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:16px 18px}.rep-block h2{color:var(--ink);margin:0 0 6px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.1rem}.rep-note{color:var(--muted);margin:0 0 12px;font-size:.86rem;line-height:1.45}.rep-empty{color:var(--muted);line-height:1.5}.rep-week{flex-direction:column;gap:6px;display:flex}.rep-week-row{align-items:center;gap:10px;display:flex}.rep-week-title{color:var(--ink);flex:1;font-size:.92rem;font-weight:700}.rep-domains{flex-direction:column;gap:12px;display:flex}.rep-domain{align-items:center;gap:12px;display:flex}.rep-domain-emoji{font-size:1.6rem}.rep-domain-main{flex:1}.rep-domain-h{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.rep-domain-h b{color:var(--ink);font-size:.95rem}.rep-domain-h span{color:var(--muted);font-size:.76rem;font-weight:700}.rep-domain-bar{background:var(--surface-2);border-radius:999px;height:8px;margin-top:4px;overflow:hidden}.rep-domain-fill{height:100%;transition:width .35s var(--spring);background:linear-gradient(90deg,#23c58a,#7ad06f);border-radius:999px}.rep-foot{text-align:center;color:var(--muted-2);margin-top:8px;font-size:.78rem;font-style:italic}.ws-screen{max-width:780px;margin:0 auto}.ws-toolbar{justify-content:space-between;align-items:center;padding:6px 4px 14px;display:flex}.ws-tools{gap:8px;display:flex}.worksheet{color:#1a1a1a;border:1px solid var(--line);background:#fff;border-radius:12px;padding:28px 30px}.ws-head{border-bottom:2px solid #1a1a1a;justify-content:space-between;align-items:flex-end;margin-bottom:18px;padding-bottom:10px;display:flex}.ws-brand{color:#1a1a1a;font-family:"Baloo 2 Variable",sans-serif;font-size:1.2rem;font-weight:800}.ws-brand span{color:#666;font-size:.8rem;font-weight:700}.ws-meta{text-align:right;color:#333;flex-direction:column;gap:4px;font-size:.82rem;display:flex}.ws-sec{margin-bottom:22px}.ws-sec h3{color:#1a1a1a;margin:0 0 10px;font-family:"Baloo 2 Variable",sans-serif;font-size:1rem}.ws-trace{flex-wrap:wrap;gap:16px;display:flex}.ws-letter{color:#cfcfcf;-webkit-text-stroke:1px #9a9a9a;text-align:center;border-bottom:2px dotted #bbb;width:68px;font-family:Georgia,serif;font-size:3.4rem;font-weight:700}.ws-count-row{align-items:center;gap:16px;margin-bottom:10px;display:flex}.ws-objs{letter-spacing:3px;font-size:1.7rem}.ws-box{border:2px solid #1a1a1a;border-radius:8px;width:46px;height:46px;margin-left:auto}.ws-match{justify-content:space-around;gap:40px;display:flex}.ws-col{flex-direction:column;gap:22px;display:flex}.ws-num{border:2px solid #1a1a1a;border-radius:10px;place-items:center;width:46px;height:46px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.6rem;font-weight:800;display:grid}.ws-dots{letter-spacing:3px;color:#333;align-items:center;min-height:46px;font-size:1.1rem;display:flex}.ws-foot{text-align:center;color:#888;border-top:1px solid #ddd;margin-top:20px;padding-top:12px;font-size:.78rem}@media print{body{background:#fff!important}body *{visibility:hidden!important}.worksheet,.worksheet *{visibility:visible!important}.worksheet{border:none;border-radius:0;width:100%;padding:0;position:absolute;top:0;left:0}.no-print{display:none!important}.ws-letter{color:#e2e2e2;-webkit-text-stroke:1px #999}}.cur-new{background:linear-gradient(120deg, #fff2d2, color-mix(in srgb, var(--purple) 10%, #fff));border-radius:var(--r);border:1px solid #ffc23366;margin-bottom:14px;padding:12px 14px}.cur-new-h{color:var(--ink);margin-bottom:8px;font-family:"Baloo 2 Variable",sans-serif;font-weight:800}.cur-new-list{flex-wrap:wrap;gap:8px;display:flex}.cur-new-chip{font:inherit;border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;padding:7px 13px;font-size:.85rem;font-weight:800}.cur-new-chip:hover{border-color:var(--purple);color:var(--purple)}.play-img{border-radius:14px;max-width:200px;max-height:160px;margin-top:10px}.lesson-chip{color:var(--purple);background:color-mix(in srgb, var(--purple) 12%, #fff);border-radius:999px;margin-bottom:8px;padding:4px 12px;font-size:.78rem;font-weight:800;display:inline-block}.play-card.lesson{background:linear-gradient(180deg, color-mix(in srgb, var(--purple) 7%, var(--card)), var(--card));border:1px solid color-mix(in srgb, var(--purple) 22%, transparent)}.play-card.lesson .play-prompt{font-size:1.15rem;line-height:1.4}.teach-examples{flex-wrap:wrap;justify-content:center;gap:10px;margin:4px 0 16px;display:flex}.teach-ex{background:var(--card);border:1px solid var(--line);border-radius:var(--r);min-width:84px;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:4px;padding:12px 14px;display:flex}.teach-ex .tex-emoji{font-size:2rem}.teach-ex .tex-text{color:var(--ink);text-align:center;font-size:.82rem;font-weight:700}.parenting{max-width:660px;margin:0 auto;padding-bottom:32px}.pn-hero{text-align:left;cursor:pointer;background:linear-gradient(120deg, color-mix(in srgb, var(--purple) 12%, #fff), #e5f8f1);border:1px solid var(--line);border-radius:var(--r-lg);width:100%;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring);align-items:center;gap:14px;margin:6px 0 16px;padding:16px 18px;display:flex}.pn-hero:hover{transform:translateY(-2px)}.pn-hero-emoji{font-size:2.2rem}.pn-hero-text{flex-direction:column;line-height:1.3;display:flex}.pn-hero-text b{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.1rem}.pn-hero-text span{color:var(--muted);font-size:.85rem}.pn-hero-go{color:var(--muted-2);margin-left:auto;font-size:1.3rem}.pn-h{color:var(--ink);margin:8px 0 10px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.05rem}.pn-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.pn-card{border-radius:var(--r);border:1px solid var(--line);background:var(--card);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring);flex-direction:column;align-items:center;gap:4px;padding:18px 12px;display:flex}.pn-card:hover{transform:translateY(-3px)}.pn-card-emoji{font-size:2.4rem}.pn-card-title{color:var(--ink);text-align:center;font-family:"Baloo 2 Variable",sans-serif;font-weight:800}.pn-card-age{color:var(--muted);text-align:center;font-size:.72rem;font-weight:700}.pn-disclaimer{background:var(--surface-2);border-radius:var(--r);color:var(--muted);margin-top:20px;padding:12px 16px;font-size:.82rem;line-height:1.5}.pn-bar{background:var(--surface-2);border-radius:999px;height:9px;margin:4px 0 16px;overflow:hidden}.pn-bar-fill{height:100%;transition:width .35s var(--spring);background:linear-gradient(90deg,#23c58a,#7ad06f);border-radius:999px}.pn-group{margin-bottom:16px}.pn-group-h{color:var(--ink);margin:0 0 8px;font-family:"Baloo 2 Variable",sans-serif;font-size:.95rem}.pn-check{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:6px;padding:11px 14px;transition:border-color .15s;display:flex}.pn-check:hover{border-color:var(--line-strong)}.pn-check.on{background:color-mix(in srgb, var(--green) 8%, var(--card));border-color:color-mix(in srgb, var(--green) 30%, transparent)}.pn-box{border:2px solid var(--line-strong);color:#fff;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;font-weight:900;display:grid}.pn-check.on .pn-box{background:var(--green);border-color:var(--green)}.pn-check-text{color:var(--ink);font-weight:600}.pn-check.on .pn-check-text{color:var(--muted);text-decoration:line-through}.pn-expect{background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:var(--ink);box-shadow:var(--shadow-sm);padding:16px 18px;line-height:1.6}.pn-tips{flex-direction:column;gap:8px;display:flex}.pn-tip{background:var(--surface-2);color:var(--ink);border-radius:12px;align-items:flex-start;gap:10px;padding:11px 14px;line-height:1.45;display:flex}.pn-tip-dot{color:var(--green);flex:none;font-weight:900}.wonder{max-width:960px;margin:0 auto;padding-bottom:40px}.ww-hub{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:10px;display:grid}@media (width<=560px){.ww-hub{grid-template-columns:1fr}}.ww-hub-card{text-align:left;cursor:pointer;background:linear-gradient(135deg,#fef3ff,#eaf4ff);border:none;border-radius:22px;flex-direction:column;gap:6px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 6px 18px #6a4bd41a}.ww-hub-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #6a4bd42e}.ww-hub-emoji{font-size:46px}.ww-hub-emoji .glyph-img{width:70px;height:70px}.ww-hub-title{color:#3a2a6b;font-size:20px;font-weight:900}.ww-hub-blurb{color:#6b6390;font-size:14px}.ww-height{color:#5a4b8c;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:8px 0 4px;font-weight:800;display:flex}.ww-height-val{color:#7a3cf0;text-align:center;min-width:84px;font-size:20px}.ww-step{cursor:pointer;color:#fff;background:#7a3cf0;border:none;border-radius:50%;width:40px;height:40px;font-size:22px;font-weight:900;line-height:1}.ww-step:active{transform:scale(.92)}.ww-stage{background:linear-gradient(#eef6ff,#f7fbff);border-radius:20px;min-height:300px;margin:10px 0 14px;padding:18px 14px 10px;position:relative;overflow-x:auto;box-shadow:inset 0 -3px #cfe0f5}.ww-stage.line{border-bottom:4px solid #b9d2ee;align-items:flex-end;gap:18px;display:flex}.ww-stage.orb{background:radial-gradient(circle at 50% 40%,#1b1b3a,#05051a);align-items:center;gap:20px;display:flex}.ww-fig{cursor:pointer;background:0 0;border:none;border-radius:14px;flex-direction:column;flex:none;align-items:center;gap:3px;padding:4px;transition:transform .18s;display:flex}.ww-fig-emoji{filter:drop-shadow(0 4px 6px #0002);line-height:.9;transition:font-size .35s cubic-bezier(.2,.9,.3,1.2)}.ww-fig-name{color:#3a2a6b;white-space:nowrap;font-size:13px;font-weight:800}.ww-fig-val{color:#7a719c;white-space:nowrap;font-size:12px}.ww-fig.sel{background:#fff5c9;transform:translateY(-4px)}.ww-fig.you .ww-fig-emoji{filter:drop-shadow(0 0 10px #ffcf3f)drop-shadow(0 4px 6px #0002)}.ww-fig.you .ww-fig-name{color:#d98200}.ww-orbwrap{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.ww-orb{cursor:pointer;border:none;border-radius:50%;place-items:center;transition:transform .18s;display:grid;box-shadow:0 0 24px #fff2,inset -6px -8px 16px #00000040}.ww-orb.sel{outline:3px solid #ffd76a;transform:scale(1.06)}.ww-orb.sun{box-shadow:0 0 44px #ffb70399,inset -6px -8px 16px #00000030}.ww-orb-emoji{place-items:center;width:82%;height:82%;display:grid}.ww-orb-emoji .glyph-img{width:100%;height:100%}.ww-stage.orb .ww-fig-name{color:#eef}.ww-stage.orb .ww-fig-val{color:#aab}.ww-callout{background:#fff;border:2px solid #ece6fb;border-radius:18px;margin-bottom:14px;padding:14px 16px;box-shadow:0 6px 16px #6a4bd414}.ww-callout-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ww-callout-emoji{font-size:30px}.ww-callout-head b{color:#3a2a6b;font-size:18px}.ww-callout-size{color:#7a719c;margin-left:2px;font-size:13px}.ww-say{cursor:pointer;background:#f0eafd;border:none;border-radius:50%;width:38px;height:38px;margin-left:auto;font-size:18px}.ww-callout-fact{color:#4a4368;margin:8px 0 0;font-size:15px;line-height:1.5}.ww-compare{background:#f6f2ff;border-radius:12px;margin-top:10px;padding:10px 12px}.ww-compare-line{text-align:center;font-size:20px}.ww-compare-txt{text-align:center;color:#5a4b8c;margin-top:4px;font-weight:700}.ww-compare-txt b{color:#7a3cf0}.ww-stack{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;margin-top:6px;font-size:18px;display:flex}.ww-stack-more{color:#7a3cf0;margin-left:4px;font-weight:900}.ww-tray{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.ww-chip{color:#6b6390;cursor:pointer;background:#fff;border:2px solid #e4def5;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800}.ww-chip.on{color:#fff;background:#7a3cf0;border-color:#7a3cf0}.ww-chip.giant{color:#fff;background:linear-gradient(90deg,#ff7a59,#ffb703);border:none;animation:1.6s ease-in-out infinite wwpulse}@keyframes wwpulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.ww-facts-h{color:#3a2a6b;margin:6px 0 10px}.ww-facts{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=620px){.ww-facts{grid-template-columns:1fr}}.ww-fact{text-align:left;cursor:pointer;background:linear-gradient(135deg,#fff8ef,#fff);border:2px solid #eee;border-radius:16px;flex-direction:column;align-items:flex-start;gap:5px;min-height:92px;padding:14px;display:flex}.ww-fact.open{background:#fffdf5;border-color:#ffd76a}.ww-fact-emoji{font-size:30px}.ww-fact-emoji .glyph-img{width:46px;height:46px}.ww-fact-title{color:#3a2a6b;font-weight:900}.ww-fact-hint{color:#b3a9d0;font-size:12px}.ww-fact-body{color:#4a4368;font-size:14px;line-height:1.45}:root.reduce-motion .ww-fig-emoji,:root.reduce-motion .ww-chip.giant,:root.reduce-motion .ww-orb{transition:none;animation:none}.ww-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.ww-seg2{border:2px solid #e4def5;border-radius:999px;display:inline-flex;overflow:hidden}.ww-seg2 button{color:#6b6390;cursor:pointer;background:#fff;border:none;padding:7px 14px;font-size:13px;font-weight:800}.ww-seg2 button.on{color:#fff;background:#7a3cf0}.ww-walk{color:#6b6390;cursor:pointer;background:#fff;border:2px solid #e4def5;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:800}.ww-walk.on{color:#fff;background:#2e9e6a;border-color:#2e9e6a}.ww-stage.sil .ww-fig-emoji{filter:brightness(0)opacity(.82)}.ww-stage.sil .ww-fig.you .ww-fig-emoji{filter:brightness(0)opacity(.82)drop-shadow(0 0 12px #ffcf3f)drop-shadow(0 0 3px #ffcf3f)}.ww-stage.sil .ww-fig.sel .ww-fig-emoji{filter:brightness(0)opacity(.9)drop-shadow(0 0 10px #ffd76a)}@keyframes ww-bob{0%,to{transform:translateY(0)rotate(-1.2deg)}50%{transform:translateY(-7px)rotate(1.2deg)}}@keyframes ww-swim{0%,to{transform:translate(-4px)rotate(-3deg)}50%{transform:translate(6px)rotate(3deg)}}.ww-stage.walk .ww-fig .ww-fig-emoji{transform-origin:50% 90%;animation:1.25s ease-in-out infinite ww-bob}.ww-stage.walk .ww-fig.swim .ww-fig-emoji{transform-origin:50%;animation:2.1s ease-in-out infinite ww-swim}.ww-stage.walk .ww-fig:nth-child(3n) .ww-fig-emoji{animation-delay:-.4s}.ww-stage.walk .ww-fig:nth-child(3n+1) .ww-fig-emoji{animation-delay:-.8s}:root.reduce-motion .ww-stage.walk .ww-fig .ww-fig-emoji{animation:none}.nest,.deck,.friends,.daily,.badges{max-width:960px;margin:0 auto;padding-bottom:40px}.nest-seeds{color:#b8860b;background:#fff6d8;border-radius:999px;margin-left:auto;padding:6px 14px;font-size:15px;font-weight:900}.nest-hero{background:linear-gradient(135deg,#fff3e0,#eef6ff);border-radius:22px;align-items:center;gap:18px;margin:12px 0;padding:18px;display:flex;box-shadow:0 6px 18px #6a4bd41a}.nest-hero-scene{flex:none;place-items:end center;width:128px;height:118px;display:grid;position:relative}.nest-hero-nest{font-size:78px;position:absolute;bottom:-6px}.nest-hero-nesty{font-size:56px;animation:2.4s ease-in-out infinite nest-bounce;position:absolute;bottom:30px}.nest-hero-nesty.stage-4{font-size:62px}@keyframes nest-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.nest-hero-info{flex-direction:column;gap:4px;display:flex}.nest-hero-info b{color:#3a2a6b;font-size:20px}.nest-hero-sub{color:#6b6390;font-size:13px}.nest-hero-stars{color:#b8860b;font-size:13px;font-weight:800}.nest-bar{background:#e6e3f0;border-radius:8px;max-width:320px;height:12px;margin:4px 0;overflow:hidden}.nest-bar-fill{background:linear-gradient(90deg,#ffb703,#fb8500);border-radius:8px;height:100%;transition:width .5s}.nest-care{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}@media (width<=560px){.nest-care{grid-template-columns:1fr}}.nest-widget{background:#fff;border:2px solid #ece6fb;border-radius:18px;align-items:center;gap:12px;padding:12px 14px;display:flex}.nest-widget-emoji{font-size:40px}.nest-widget-body{flex-direction:column;flex:1;gap:2px;display:flex}.nest-widget-body b{color:#3a2a6b}.nest-widget-sub{color:#6b6390;font-size:12px}.nest-eggdots{color:#ddd;gap:4px;margin-top:4px;font-size:12px;display:flex}.nest-eggdots .on{color:#ffb703}.nest-nav{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=640px){.nest-nav{grid-template-columns:1fr 1fr}}.nest-tile{cursor:pointer;background:linear-gradient(135deg,#f6f0ff,#eef6ff);border:none;border-radius:18px;flex-direction:column;align-items:center;gap:3px;padding:16px 10px;transition:transform .15s;display:flex;box-shadow:0 4px 12px #6a4bd414}.nest-tile:hover{transform:translateY(-3px)}.nest-tile-emoji{font-size:34px}.nest-tile b{color:#3a2a6b;font-size:15px}.nest-tile span{color:#6b6390;font-size:12px}.deck-bar{background:#e6e3f0;border-radius:8px;height:12px;margin:8px 0 14px;overflow:hidden}.deck-bar-fill{background:linear-gradient(90deg,#7a3cf0,#b56bff);height:100%;transition:width .5s}.deck-cats{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.deck-cat{color:#6b6390;cursor:pointer;background:#fff;border:2px solid #e4def5;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800}.deck-cat.on{color:#fff;background:#7a3cf0;border-color:#7a3cf0}.deck-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px;display:grid}.deck-card{cursor:pointer;background:#fff;border:2px solid #ece6fb;border-radius:16px;flex-direction:column;align-items:center;gap:4px;min-height:118px;padding:14px 8px;display:flex}.deck-card.locked{cursor:default;background:#f5f4fa}.deck-card.has{box-shadow:0 4px 12px #0000000f}.deck-card-emoji{filter:drop-shadow(0 3px 4px #0002);font-size:40px}.deck-card.locked .deck-card-emoji{filter:none;opacity:.5}.deck-card-name{color:#3a2a6b;text-align:center;font-size:13px;font-weight:800}.deck-card-rar{font-size:11px;font-weight:800}.deck-hint{text-align:center;color:#8a80ad;margin-top:16px}.deck-modal{z-index:50;background:#201a3caa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.deck-modal-card{text-align:center;background:#fff;border:3px solid #7a3cf0;border-radius:22px;max-width:340px;padding:22px;box-shadow:0 20px 50px #0004}.deck-modal-emoji{filter:drop-shadow(0 6px 8px #0003);font-size:76px}.deck-modal-card h2{color:#3a2a6b;margin:6px 0 2px}.deck-modal-rar{margin-bottom:8px;font-size:13px;font-weight:900}.deck-modal-card p{color:#4a4368;line-height:1.5}.fr-group{margin-bottom:18px}.fr-h{color:#3a2a6b;margin:6px 0 10px}.fr-card{background:#fff;border:2px solid #ece6fb;border-radius:18px;align-items:center;gap:12px;margin-bottom:10px;padding:12px 14px;display:flex}.fr-emoji{font-size:44px}.fr-body{flex:1}.fr-body b{color:#3a2a6b}.fr-meters{gap:14px;margin:6px 0;display:flex}.fr-meter{align-items:center;gap:5px;display:flex}.fr-meter-track{gap:3px;display:flex}.fr-pip{border-radius:3px;width:14px;height:10px}.fr-grow{color:#6b6390;align-items:center;gap:8px;font-size:12px;display:flex}.fr-grow-bar{background:#eee;border-radius:6px;flex:1;max-width:200px;height:8px;overflow:hidden}.fr-grow-bar div{background:linear-gradient(90deg,#43aa8b,#90e0c0);height:100%;transition:width .4s}.fr-adoptgrid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.fr-adopt{cursor:pointer;background:#fff7ef;border:2px dashed #f4a259;border-radius:16px;flex-direction:column;align-items:center;gap:3px;padding:12px;display:flex}.fr-adopt b{color:#3a2a6b;font-size:13px}.fr-adopt-cta{color:#e07a1f;font-size:12px;font-weight:900}.fr-lockgrid{flex-wrap:wrap;gap:8px;display:flex}.fr-lock{opacity:.6;background:#f0eef7;border-radius:14px;place-items:center;width:52px;height:52px;font-size:22px;display:grid}.feed-card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:360px;padding:22px;box-shadow:0 20px 50px #0004}.feed-top{justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.feed-pet{font-size:40px}.feed-top b{color:#3a2a6b;font-size:18px}.feed-ask{color:#4a4368}.feed-ask b{color:#7a3cf0;font-size:20px}.feed-bowl{background:#f6f2ff;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;min-height:46px;margin:8px 0;padding:10px;font-size:24px;display:flex}.feed-empty{color:#b3a9d0;font-size:14px}.feed-controls{justify-content:center;align-items:center;gap:14px;margin:8px 0;display:flex}.feed-count{color:#3a2a6b;min-width:40px;font-size:28px}.feed-go{margin:6px 0}.feed-nofood{color:#c9871a;font-size:14px;font-weight:700}.feed-result{color:#2e9e6a;margin:6px 0;font-size:26px;font-weight:900}.feed-fact{color:#4a4368;line-height:1.5}.daily-card{text-align:center;background:linear-gradient(135deg,#fff8ef,#f0f7ff);border:2px solid #ffe0b0;border-radius:24px;margin-top:12px;padding:28px 22px}.daily-emoji{font-size:72px}.daily-q{color:#3a2a6b;margin:10px 0 14px}.daily-a{color:#4a4368;max-width:560px;margin:0 auto 12px;font-size:17px;line-height:1.6}.daily-reward{color:#b8860b;background:#fff6d8;border-radius:999px;margin-top:8px;padding:8px 18px;font-weight:900;display:inline-block}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.badge-card{text-align:center;opacity:.75;background:#f6f5fa;border:2px solid #eee;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;display:flex}.badge-card.on{opacity:1;background:linear-gradient(135deg,#fff8ef,#fff);border-color:#ffd76a;box-shadow:0 4px 14px #ffb70320}.badge-emoji{font-size:40px}.badge-card b{color:#3a2a6b}.badge-desc{color:#6b6390;font-size:12px}.badge-tick{color:#2e9e6a;font-size:12px;font-weight:900}.app-main{min-width:0}.app-rail,.tabbar{display:none}@media (width>=900px){.app.has-rail{grid-template-columns:248px minmax(0,1fr);align-items:start;gap:0;max-width:1760px;padding:0;display:grid}.app.has-rail .app-main{padding:0 clamp(16px, 2.4vw, 34px) calc(40px + env(safe-area-inset-bottom))}.app.has-rail .app-main .topbar{margin-left:calc(-1*clamp(16px,2.4vw,34px));margin-right:calc(-1*clamp(16px,2.4vw,34px));padding-left:clamp(16px,2.4vw,34px);padding-right:clamp(16px,2.4vw,34px)}.app.has-rail .app-main .topbar .brand{display:none}.app.has-rail .app-rail{height:100vh;padding:16px 12px calc(20px + env(safe-area-inset-bottom));border-right:1px solid var(--line);background:linear-gradient(#fff,#faf8ff);flex-direction:column;gap:3px;display:flex;position:sticky;top:0;overflow-y:auto}.app:not(.has-rail){max-width:960px}}.rail-brand{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;padding:4px 6px 12px;display:flex}.rb-mark{filter:drop-shadow(0 3px 5px #6c47e047);place-items:center;width:34px;height:34px;line-height:1;display:inline-grid}.rb-word{letter-spacing:-.02em;background:linear-gradient(100deg, var(--purple), var(--pink) 65%, var(--purple-2));color:#0000;filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--purple) 28%, transparent));-webkit-background-clip:text;background-clip:text;font-family:"Baloo 2 Variable",Nunito Variable,ui-rounded,sans-serif;font-size:1.62rem;font-weight:900}.rail-kid{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:15px;align-items:center;gap:10px;margin-bottom:6px;padding:9px;display:flex}.rail-av{background:radial-gradient(circle at 50% 35%, #fff, color-mix(in srgb, var(--purple) 14%, #fff));border:2px solid color-mix(in srgb, var(--purple) 30%, #fff);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.rail-kid b{font-size:.92rem;display:block}.rail-lv{color:var(--muted);font-size:.72rem}.rail-sec{letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin:12px 10px 3px;font-size:.64rem;font-weight:800}.rail-nav{cursor:pointer;font:inherit;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;width:100%;padding:9px 11px;font-weight:800;transition:background .15s;display:flex}.rail-nav:hover{background:color-mix(in srgb, var(--purple) 7%, transparent)}.rail-nav.on{background:color-mix(in srgb, var(--purple) 12%, #fff);color:var(--purple)}.rail-ic{background:#f0eef8;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:15px;display:grid}.hero{border-radius:var(--r-xl);background:linear-gradient(#bfe3ff,#dcefff 45%,#eaf6ff);margin:6px 0 0;padding:22px 26px 26px;position:relative;overflow:hidden}.hero-sun{background:radial-gradient(circle,#fff3b0,#ffd23f);border-radius:50%;width:64px;height:64px;position:absolute;top:16px;right:48px;box-shadow:0 0 60px #ffd23f88}.hero-cloud{opacity:.9;position:absolute}.hero-cloud.c1{font-size:38px;top:20px;left:36%}.hero-cloud.c2{font-size:28px;top:62px;left:62%}.hero-row{z-index:2;align-items:center;gap:20px;display:flex;position:relative}.hero-nesty{flex:none;width:110px;height:100px;position:relative}.hn-nest{filter:drop-shadow(0 8px 10px #0002);font-size:74px;position:absolute;bottom:-4px;left:12px}.hn-bird{font-size:48px;animation:2.6s ease-in-out infinite hero-bob;position:absolute;bottom:30px;left:32px}@keyframes hero-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-hi h1{color:#213a52;text-align:left;margin:0 0 2px;font-size:clamp(1.5rem,3vw,2.1rem)}.hero-hi p{color:#3f5f7e;margin:0;font-weight:700}.hero-snap{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.hstat{color:#33506e;box-shadow:var(--shadow-sm);background:#fffc;border-radius:13px;padding:7px 13px;font-size:.72rem;font-weight:800}.hstat b{font-size:1.05rem;line-height:1.15;display:block}.hero-cta{align-self:center;margin-left:auto}@media (width<=640px){.hero-cta{display:none}.hero-hi h1{font-size:1.4rem}.hero-sun{right:20px}}.dash{padding-top:18px}.resume{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;display:grid}@media (width<=760px){.resume{grid-template-columns:1fr}}.rcard{cursor:pointer;border-radius:var(--r-lg);color:#fff;text-align:left;min-height:104px;box-shadow:var(--shadow);transition:transform .16s var(--spring);border:none;flex-direction:column;justify-content:flex-end;padding:18px;display:flex;position:relative;overflow:hidden}.rcard:hover{transform:translateY(-4px)}.rbig{opacity:.3;font-size:70px;position:absolute;top:-6px;right:4px}.rcard b{font-size:1.05rem}.rcard span{opacity:.92;font-size:.8rem}.rc1{background:linear-gradient(135deg,#6c47e0,#9a7bf5)}.rc2{background:linear-gradient(135deg,#ff8a3d,#ffb703)}.rc3{background:linear-gradient(135deg,#23c58a,#59d6b0)}.zone{margin-bottom:22px}.zone-h{color:var(--ink);text-align:left;align-items:center;gap:8px;margin:0 0 12px;font-size:1.15rem;display:flex}.zone-dot{border-radius:50%;width:12px;height:12px}.zgrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}@media (width<=560px){.zgrid{grid-template-columns:1fr 1fr;gap:10px}}.ztile{text-align:left;cursor:pointer;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-sm);transition:transform .16s var(--spring), box-shadow .2s;border:none;min-height:126px;padding:16px;position:relative;overflow:hidden}.ztile:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.ztile:before{content:"";background:var(--c,#ccc);height:5px;position:absolute;inset:0 0 auto}.ztile-blob{background:linear-gradient(135deg, color-mix(in srgb, var(--c,#ccc) 26%, #fff), color-mix(in srgb, var(--c,#ccc) 10%, #fff));border-radius:17px;place-items:center;width:58px;height:58px;margin-bottom:9px;font-size:30px;display:grid}.ztile b{color:var(--ink);font-size:1rem;display:block}.ztile>span:last-child{color:var(--muted);font-size:.76rem}.ztile-grown{color:var(--muted-2);background:#f0eef8;border-radius:999px;padding:3px 7px;font-size:.62rem;font-weight:800;position:absolute;top:12px;right:12px}@media (width<=899px){.tabbar{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#fffffff2;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.app-main{padding-bottom:82px}}.tab{min-width:56px;min-height:48px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px 6px;font-size:.6rem;font-weight:800;display:flex}.tab-ic{place-items:center;width:25px;height:25px;display:grid}.tab.on{color:var(--purple)}.audience{max-width:720px;margin:0 auto}.whoplaying{padding-top:clamp(12px,6vh,60px)}.whoplaying .mascot{font-size:clamp(3rem,8vw,4.4rem);animation:3s ease-in-out infinite hero-bob}.who-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;max-width:640px;margin-top:24px}.who-card{border-radius:var(--r-lg);box-shadow:var(--shadow-sm);border:2px solid var(--line);transition:transform .16s var(--spring), box-shadow .2s, border-color .2s;padding:24px 12px 18px}.who-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.who-av{width:84px;height:84px;box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--kid,var(--purple)) 40%, #fff);font-size:3.4rem}.who-manage{margin-top:16px}.audience .modes,.audience .avatar-grid,.audience .colour-row,.audience .ages{margin-left:auto;margin-right:auto}.ztile .ztile-blob{width:64px;height:64px;font-size:42px;line-height:1}.rail-ic{font-size:17px}.hstat b{line-height:1.05}.whoplaying{max-width:760px;margin:0 auto;padding-top:clamp(10px,4vh,44px)}.whoplaying .mascot{font-size:clamp(3.2rem,9vw,5rem)}.whoplaying h1{margin:4px 0 2px;font-size:clamp(1.8rem,5.5vw,2.6rem)}.who-sub{color:var(--muted);margin:0 0 4px;font-size:1.02rem;font-weight:800}.who-panel{border-radius:var(--r-xl);box-shadow:var(--shadow);background:linear-gradient(#cfe8ff 0%,#eaf4ff 46%,#fff 100%);margin-top:22px;padding:26px 22px 24px;position:relative;overflow:hidden}.who-panel .who-cloud{opacity:.85;position:absolute}.who-panel .who-cloud.a{font-size:30px;top:14px;left:12%}.who-panel .who-cloud.b{font-size:22px;top:30px;right:14%}.who-panel .who-sun{filter:blur(2px);opacity:.8;background:radial-gradient(circle,#fff3b0,#ffd23f);border-radius:50%;width:90px;height:90px;position:absolute;top:-18px;right:-12px}.who-grid{z-index:2;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:18px;max-width:640px;margin:6px auto 0;position:relative}.who-card{box-shadow:var(--shadow);background:#fff;border:2px solid #fff;padding:26px 12px 20px;position:relative;overflow:hidden}.who-card:before{content:"";background:var(--kid,var(--purple));height:7px;position:absolute;inset:0 0 auto}.who-card:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--kid,var(--purple)) 40%, #fff);transform:translateY(-5px)scale(1.02)}.who-av{background:color-mix(in srgb, var(--kid,var(--purple)) 12%, #fff);width:92px;height:92px;box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--kid,var(--purple)) 45%, #fff);font-size:3.6rem}.who-name{font-size:1.15rem}.who-age{background:color-mix(in srgb, var(--kid,var(--purple)) 12%, #fff);color:color-mix(in srgb, var(--kid,var(--purple)) 70%, #333);border-radius:999px;padding:2px 10px}.who-add{border:2px dashed color-mix(in srgb, var(--purple) 40%, #fff);background:#fffc}.who-add:before{display:none}.who-manage{margin-top:18px;font-size:.95rem}.activity-top{border-radius:var(--r-xl);background:radial-gradient(130px 96px at 93% -18%, #ffe6a0 0%, #ffe6a000 72%), linear-gradient(180deg, color-mix(in srgb, var(--purple) 16%, #d3e9ff) 0%, #e9f5ff 56%, #fff 100%);box-shadow:var(--shadow);justify-content:flex-start;align-items:center;gap:14px;margin:6px 0 18px;padding:16px 20px;display:flex;position:relative;overflow:hidden}.activity-top:after{content:"☁️";opacity:.75;pointer-events:none;font-size:22px;animation:6s ease-in-out infinite hero-float;position:absolute;top:12px;right:54px}@keyframes hero-float{0%,to{transform:translate(0)}50%{transform:translate(-9px)}}.title-wrap{min-width:0;margin-right:auto}.title-wrap h1{color:#213a52;margin:0;font-size:clamp(1.4rem,4.4vw,2rem);line-height:1.1}.title-wrap .sub{color:#3f5f7e;font-size:.95rem;font-weight:800}.activity-top .btn.ghost{box-shadow:var(--shadow-sm);color:var(--purple);background:#fffc;border:1px solid #fff;flex:none}.activity-top .btn.ghost:hover{background:#fff;transform:translateY(-1px)}.activity-top .lang-picker{z-index:2;position:relative}:root.reduce-motion .activity-top:after{animation:none}@media (width<=560px){.activity-top{border-radius:var(--r-lg);grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px;display:grid}.activity-top .title-wrap{margin-right:0}.activity-top .lang-picker{grid-column:2;justify-self:start}.title-wrap h1{font-size:1.3rem}.activity-top:after{display:none}}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:22px;display:grid}.dw{text-align:left;cursor:pointer;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--shadow-sm);transition:transform .16s var(--spring), box-shadow .2s;border:none;flex-direction:column;gap:6px;min-height:132px;padding:16px;display:flex;position:relative;overflow:hidden}.dw:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.dw:before{content:"";background:var(--dwc,var(--purple));height:5px;position:absolute;inset:0 0 auto}.dw-friends{--dwc:var(--yellow)}.dw-daily{--dwc:var(--green)}.dw-quest{--dwc:var(--pink)}.dw-collect{--dwc:var(--purple)}.dw-badge{--dwc:var(--blue)}.dw-head{align-items:center;gap:8px;display:flex}.dw-emoji{font-size:30px;line-height:1}.dw-head b{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.04rem}.dw-sub{color:var(--muted);flex:1;font-size:.86rem;font-weight:700}.dw-sub b{color:var(--ink)}.dw-cta{color:var(--purple);margin-top:auto;font-size:.82rem;font-weight:800}.dw-bar{background:#eee;border-radius:6px;height:8px;overflow:hidden}.dw-bar>div{background:linear-gradient(90deg, var(--purple), var(--purple-2));height:100%}.dw-pips{gap:3px;display:flex}.dw-pip{background:#e6e3f0;border-radius:3px;width:16px;height:9px}.dw-pip.on{background:var(--yellow)}@media (width>=900px){.app.has-rail .home-launcher{display:none}}.lab-mix{text-align:center;max-width:560px;margin:0 auto}.lab-mix-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:10px 0;display:flex}.lab-well{color:#0005;width:74px;height:74px;box-shadow:var(--shadow-sm);border-radius:20px;place-items:center;font-size:26px;display:grid}.lab-well.big{border-radius:24px;width:96px;height:96px}.lab-plus{color:var(--muted-2);font-size:26px;font-weight:900}.lab-result{color:var(--ink);margin:6px 0 12px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.6rem}.lab-paints{justify-content:center;gap:14px;margin:12px 0;display:flex}.lab-paint{cursor:pointer;width:56px;height:56px;box-shadow:var(--shadow);transition:transform .14s var(--spring);border-radius:50%}.lab-paint:hover{transform:translateY(-3px)scale(1.05)}.lab-tip{color:var(--muted);margin-top:12px;font-size:.9rem;font-weight:700}.lab-plant{text-align:center;max-width:480px;margin:0 auto}.lab-plant-stage{border-radius:var(--r-lg);place-items:end center;height:240px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -6px #0000000d}.lab-plant-sun{font-size:40px;position:absolute;top:14px;right:18px}.lab-plant-emoji{z-index:2;transition:all .3s var(--spring);margin-bottom:26px;font-size:90px}.lab-plant-soil{background:linear-gradient(#a9744f,#7d5637);height:34px;position:absolute;bottom:0;left:0;right:0}.lab-msg{color:var(--ink);margin:12px 0;font-family:"Baloo 2 Variable",sans-serif;font-size:1.2rem}.lab-slider{text-align:left;color:var(--body,var(--ink));flex-direction:column;gap:6px;margin:10px 0;font-weight:800;display:flex}.lab-slider input[type=range]{width:100%;accent-color:var(--purple);height:26px}.lab-tank{text-align:center;max-width:480px;margin:0 auto}.lab-water{border-radius:var(--r-lg);background:linear-gradient(#eaf6ff 0 22%,#5bb6f0 22% 100%);height:220px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #cfe7fb}.lab-drop{font-size:56px;position:absolute;left:50%;transform:translate(-50%)}.lab-drop.floats{animation:lab-float-in .6s var(--spring) both;top:12%}.lab-drop.sinks{animation:.7s ease-in both lab-sink-in;top:70%}@keyframes lab-float-in{0%{top:-20%}to{top:12%}}@keyframes lab-sink-in{0%{top:-20%}to{top:70%}}.lab-guess{color:var(--ink);margin:12px 0 4px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.25rem}.lab-fact{color:var(--body,var(--muted));font-weight:700}.lab-tray{flex-wrap:wrap;justify-content:center;gap:10px;max-width:480px;margin:14px auto 0;display:flex}.lab-obj{border:2px solid var(--line);cursor:pointer;width:58px;height:58px;box-shadow:var(--shadow-sm);transition:transform .14s var(--spring);background:#fff;border-radius:16px;font-size:30px}.lab-obj:hover{transform:translateY(-3px)}.lab-obj.on{border-color:var(--purple);background:color-mix(in srgb, var(--purple) 8%, #fff)}.lab-dn{text-align:center;max-width:520px;margin:0 auto}.lab-dn-sky{border-radius:var(--r-lg);height:220px;box-shadow:var(--shadow-sm);transition:background .4s;position:relative;overflow:hidden}.lab-dn-sun{font-size:46px;transition:all .3s;position:absolute}.lab-dn-earth{font-size:64px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.lab-dn-label{color:#fffd;text-shadow:0 1px 3px #0006;font-family:"Baloo 2 Variable",sans-serif;font-size:1.2rem;font-weight:800;position:absolute;top:12px;left:14px}.tl-ribbon{gap:8px;padding:8px 2px 14px;display:flex;overflow-x:auto}.tl-era{background:var(--card);border:2px solid var(--line);border-top:6px solid var(--tlc,var(--purple));border-radius:var(--r-lg);width:200px;box-shadow:var(--shadow-sm);flex:none;padding:14px;position:relative}.tl-era-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.tl-era-emoji{font-size:34px}.tl-era-head b{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1rem;display:block}.tl-when{color:var(--muted);font-size:.72rem;font-weight:800}.tl-creatures{flex-direction:column;gap:6px;display:flex}.tl-creature{background:var(--surface-2);color:var(--ink);border-radius:10px;align-items:center;gap:8px;padding:6px 8px;font-size:.86rem;font-weight:700;display:flex}.tl-c-emoji{font-size:22px}.tl-arrow{color:var(--muted-2);z-index:2;font-size:20px;position:absolute;top:50%;right:-8px;transform:translateY(-50%)}.tl-play{margin:6px auto 0;display:block}.tl-quiz{text-align:center;max-width:560px;margin:0 auto}.tl-quiz-creature{flex-direction:column;align-items:center;gap:4px;margin:8px 0 18px;display:flex}.tl-quiz-emoji{filter:drop-shadow(0 4px 6px #0002);font-size:72px}.tl-quiz-creature b{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.3rem}.tl-quiz-eras{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tl-quiz-era{border-radius:var(--r-lg);border:2px solid var(--line);border-top:6px solid var(--tlc,var(--purple));cursor:pointer;font:inherit;transition:transform .14s var(--spring);background:#fff;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;display:flex}.tl-quiz-era:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.tl-quiz-era span:nth-child(2){color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-weight:800}.tl-quiz-era.right{background:color-mix(in srgb, var(--green) 18%, #fff);border-color:var(--green)}.tl-quiz-era.wrong{background:color-mix(in srgb, var(--red) 14%, #fff);border-color:var(--red)}.tl-done{text-align:center;flex-direction:column;align-items:center;gap:10px;max-width:420px;margin:0 auto;padding-top:20px;display:flex}.tl-done-emoji{font-size:72px}.tl-done-score{color:var(--purple);font-family:"Baloo 2 Variable",sans-serif;font-size:2rem}:root.reduce-motion .lab-drop,:root.reduce-motion .lab-plant-emoji{transition:none!important;animation:none!important}.lab-reward{color:#b8860b;background:#fff6d8;border-radius:999px;margin:10px auto;padding:8px 18px;font-weight:900;animation:1.4s ease-in-out 2 hero-bob;display:inline-block}:root.reduce-motion .lab-reward{animation:none}.app{z-index:1;position:relative}body:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(38% 40% at 18% 16%, color-mix(in srgb, var(--purple) 34%, transparent), transparent 62%), radial-gradient(34% 36% at 82% 12%, #ff6fd84d, transparent 62%), radial-gradient(44% 46% at 74% 88%, #3aa0ff42, transparent 62%), radial-gradient(40% 42% at 12% 84%, #23c58a38, transparent 62%);filter:blur(28px);opacity:.9;animation:24s ease-in-out infinite alternate aurora;position:fixed;inset:-15%}@keyframes aurora{0%{transform:translate(0,0)scale(1)rotate(0)}50%{transform:translate(2%,-2%)scale(1.07)rotate(2deg)}to{transform:translate(-2%,2%)scale(1.04)rotate(-2deg)}}:root.reduce-motion body:after{animation:none}.ww-hub-emoji,.dw-emoji,.nest-tile-emoji,.nest-widget-emoji,.badge-emoji,.fr-emoji,.deck-card-emoji,.tl-era-emoji,.tl-c-emoji,.dw-friends .dw-emoji{background:radial-gradient(circle at 34% 26%, #fff 0%, #ffffffb0 14%, color-mix(in srgb, var(--tok,#efeafc) 55%, #fff) 46%, var(--tok,#efeafc) 74%, color-mix(in srgb, var(--tok,#efeafc) 62%, #1c1730) 100%);text-shadow:0 2px 3px #00000038;border-radius:50%;flex:none;place-items:center;display:inline-grid;box-shadow:inset 0 2px 3px #ffffffe0,inset 0 -7px 12px #1c173029,0 10px 18px #1c173033,0 3px 6px #1c173024}.ww-hub-emoji{--tok:#e7defb;width:88px;height:88px;margin:4px auto 8px;font-size:44px;animation:4.4s ease-in-out infinite tok-float}.dw-emoji{--tok:color-mix(in srgb, var(--dwc,var(--purple)) 30%, #fff);width:46px;height:46px;font-size:24px}.nest-tile-emoji{--tok:#e7defb;width:64px;height:64px;font-size:32px}.nest-widget-emoji{--tok:#e7defb;width:58px;height:58px;font-size:28px}.badge-emoji{--tok:#ece7f6;width:66px;height:66px;font-size:34px}.badge-card.on .badge-emoji{--tok:#ffe6a0;box-shadow:inset 0 2px 3px #fffef0,inset 0 -7px 12px #b4780040,0 10px 20px #ffb70359,0 3px 6px #1c173024}.fr-emoji{--tok:#e7defb;width:62px;height:62px;font-size:32px}.deck-card-emoji{--tok:#ece7f6;width:58px;height:58px;font-size:30px}.ztile-blob{box-shadow:inset 0 2px 3px #ffffffe6, inset 0 -8px 14px color-mix(in srgb, var(--c,#ccc) 30%, #0000001a), 0 12px 22px color-mix(in srgb, var(--c,#ccc) 24%, #1c173029), 0 3px 6px #1c17301f;text-shadow:0 2px 3px #00000029;border-radius:20px;animation:5s ease-in-out infinite tok-float;position:relative;background:radial-gradient(120% 100% at 30% 20%, #fff 0%, #fff6 22%, color-mix(in srgb, var(--c,#ccc) 30%, #fff) 55%, color-mix(in srgb, var(--c,#ccc) 55%, #fff) 100%)!important}@keyframes tok-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}:root.reduce-motion .ztile-blob,:root.reduce-motion .ww-hub-emoji{animation:none}.ztile,.ww-hub-card,.dw,.nest-tile,.deck-card.has,.fr-card,.tl-era,.badge-card,.rcard{transform-style:preserve-3d;will-change:transform;border:1px solid #fffc;box-shadow:inset 0 1px #fff,0 14px 30px #1c17301a,0 4px 10px #1c17300f;background:linear-gradient(#fff,#fbfaff)!important}.ztile:hover,.ww-hub-card:hover,.dw:hover,.nest-tile:hover,.deck-card.has:hover,.fr-card:hover,.tl-era:hover,.badge-card:hover{box-shadow:inset 0 1px #fff,0 26px 50px #1c173029,0 8px 18px #1c17301a}.rcard{border:none}.btn.primary,.hero-cta,.tl-play{background:linear-gradient(180deg, color-mix(in srgb, var(--purple) 82%, #fff) 0%, var(--purple) 46%, color-mix(in srgb, var(--purple) 78%, #000) 100%);box-shadow:0 1px 0 #ffffff80 inset, 0 -3px 8px #00000024 inset, 0 12px 22px color-mix(in srgb, var(--purple) 40%, transparent);position:relative;overflow:hidden}.btn.primary:after,.hero-cta:after,.tl-play:after{content:"";pointer-events:none;background:linear-gradient(#ffffff8c,#fff0);border-radius:999px;height:42%;position:absolute;top:5px;left:8%;right:8%}.btn.primary:active,.hero-cta:active,.tl-play:active{transform:translateY(2px)scale(.99)}.btn.secondary{color:#fff;background:linear-gradient(180deg, color-mix(in srgb, var(--blue) 82%, #fff) 0%, var(--blue) 46%, color-mix(in srgb, var(--blue) 78%, #000) 100%);box-shadow:0 1px 0 #ffffff80 inset, 0 -3px 8px #00000024 inset, 0 12px 22px color-mix(in srgb, var(--blue) 40%, transparent);border-color:#0000;position:relative;overflow:hidden}.btn.secondary:after{content:"";pointer-events:none;background:linear-gradient(#ffffff8c,#fff0);border-radius:999px;height:42%;position:absolute;top:5px;left:8%;right:8%}.btn.secondary:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(100deg,#0000,#fff9,#0000);width:42%;transition:left .55s;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-18deg)}.btn.secondary:hover{color:#fff;transform:translateY(-1px)}.btn.secondary:hover:before{left:135%}.btn.secondary:active{transform:translateY(2px)scale(.99)}.btn.secondary:disabled{opacity:.5}.lab-reward{box-shadow:0 0 0 4px #fff6d8,0 8px 20px #ffb70366}.tl-ribbon{gap:26px;padding:30px 6px 26px;position:relative}.tl-ribbon:before{content:"";z-index:0;opacity:.55;background:linear-gradient(90deg,#7bb47f,#c19a6b,#b0a884,#4a90d9);border-radius:999px;height:10px;position:absolute;top:92px;left:0;right:0;box-shadow:0 6px 16px #1c173024}.tl-era{z-index:1;width:220px;position:relative;overflow:visible;border-top:none!important;border-radius:26px!important;padding:16px!important}.tl-era:before{content:"";z-index:-1;opacity:.9;border-radius:26px;position:absolute;inset:0;box-shadow:0 18px 40px #1c173024}.tl-ribbon .tl-era:first-child{background:linear-gradient(#d7f0d8,#f2fbf2)!important}.tl-ribbon .tl-era:nth-child(2){background:linear-gradient(#e7ecf4,#f6f4ee)!important}.tl-ribbon .tl-era:nth-child(3){background:linear-gradient(#efe4cf,#faf5ea)!important}.tl-ribbon .tl-era:nth-child(4){background:linear-gradient(#cfeaff,#eef7ff)!important}.tl-era-emoji{width:58px;height:58px;margin-top:-34px;font-size:30px;animation:4.6s ease-in-out infinite tok-float}:root.reduce-motion .tl-era-emoji{animation:none}.tl-era-head{align-items:flex-start}.tl-creature{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #fff;box-shadow:0 4px 10px #1c173014;background:#fffc!important}.tl-c-emoji{--tok:#eef;width:34px;height:34px;font-size:18px}.tl-arrow{background:radial-gradient(circle at 34% 28%,#fff,#cbb8f0);border-radius:50%;width:24px;height:24px;font-size:0;right:-22px;box-shadow:0 6px 12px #1c173033}.tl-quiz-emoji{--tok:#e7defb;background:radial-gradient(circle at 34% 26%,#fff,#fff8 16%,#efe9fb 60%,#d8cff5 100%);border-radius:50%;place-items:center;width:128px;height:128px;margin:0 auto;animation:4s ease-in-out infinite tok-float;display:grid;box-shadow:inset 0 3px 4px #fff,inset 0 -10px 18px #1c173029,0 20px 34px #1c173038}:root.reduce-motion .tl-quiz-emoji{animation:none}.tl-quiz-era{box-shadow:0 12px 26px #1c17301a;border-top:none!important;border-radius:22px!important}.tl-quiz-era .tl-era-emoji{margin-top:0}[class$=-emoji],[class$=-face],[class$=-ico],.emoji,.big{filter:drop-shadow(0 3px 4px #1c173038)}.card,.mode,.who-card,.sheet-item,.lab-obj,.avatar-btn,.goal-chip,.lyric,.pn-card,.pn-hero,.sticker,.swatch,.instrument,.quest-card,.scenario-card,.track,.domain-card,.strand-card,.flash-card,.story-card,.mm-card,.fc-card,.opt,.weather-card,.poster,.habit,.smart-card,.wi-card{transition:transform .16s var(--spring), box-shadow .2s var(--ease), border-color .2s;transform-style:preserve-3d}.card:hover,.mode:hover,.who-card:hover,.sheet-item:hover,.lab-obj:hover,.avatar-btn:hover,.pn-card:hover,.instrument:hover,.quest-card:hover,.scenario-card:hover,.track:hover,.flash-card:hover,.story-card:hover,.mm-card:hover,.fc-card:hover,.opt:hover,.poster:hover,.smart-card:hover,.wi-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.ztile,.ww-hub-card,.dw,.nest-tile,.deck-card.has{position:relative;overflow:hidden}.ztile:after,.ww-hub-card:after,.dw:after,.nest-tile:after,.deck-card.has:after,.card:after,.rcard:after{content:"";border-radius:inherit;pointer-events:none;z-index:3;background:linear-gradient(120deg,#0000 32%,#ffffff8c 48%,#0000 64%);transition:transform .65s;position:absolute;inset:0;transform:translate(-130%)}.ztile:hover:after,.ww-hub-card:hover:after,.dw:hover:after,.nest-tile:hover:after,.deck-card.has:hover:after,.card:hover:after,.rcard:hover:after{transform:translate(130%)}.btn.primary:before,.hero-cta:before,.tl-play:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(100deg,#0000,#fff9,#0000);width:42%;transition:left .55s;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-18deg)}.btn.primary:hover:before,.hero-cta:hover:before,.tl-play:hover:before{left:135%}.level-badge,.streak-badge{background:linear-gradient(#fff,#f3eefe);border:1px solid #fff;border-radius:999px;padding:6px 12px;font-weight:800;box-shadow:inset 0 1px #fff,0 6px 14px #1c17301a}.profile-btn{box-shadow:inset 0 1px #fff,0 6px 16px #1c17301f}.rail-ic{box-shadow:inset 0 1px 2px #fff,inset 0 -3px 5px #1c173024,0 3px 6px #1c173024;background:radial-gradient(circle at 34% 28%,#fff,#fff8 16%,#ece7f6 60%,#d9d1ee 100%)!important}.rail-nav.on .rail-ic{box-shadow:inset 0 1px 2px #fff, 0 0 0 3px color-mix(in srgb, var(--purple) 30%, transparent), 0 4px 8px #1c173029}.ww-chip.on,.deck-cat.on,.ww-seg2 button.on,.sheet-cat.active,.chip.sel,.mode.sel{box-shadow:0 0 0 3px color-mix(in srgb, var(--purple) 22%, transparent), 0 6px 16px color-mix(in srgb, var(--purple) 24%, transparent)}.done-emoji,.tl-done-emoji,.cur-done-emoji,.win-emoji,.feed-result,.safety-done .done-emoji{animation:pop-in .55s var(--spring) both;display:inline-block;position:relative}.done-emoji:before,.tl-done-emoji:before,.cur-done-emoji:before,.win-emoji:before{content:"";z-index:-1;background:radial-gradient(circle,#ffc94d8c,#ff6fd840 45%,#0000 68%);border-radius:50%;animation:1.1s ease-out both burst;position:absolute;inset:-40%}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes burst{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.5)}}.lab-reward,.daily-reward{animation:pop-in .5s var(--spring) both}.hero-sun{animation:9s ease-in-out infinite hero-sun-drift}.hero-cloud.c1{animation:13s ease-in-out infinite hero-cloud-drift-a}.hero-cloud.c2{animation:17s ease-in-out infinite hero-cloud-drift-b}@keyframes hero-sun-drift{0%,to{transform:translate(0)}50%{transform:translate(-8px,6px)}}@keyframes hero-cloud-drift-a{0%,to{transform:translate(0)}50%{transform:translate(22px,-5px)}}@keyframes hero-cloud-drift-b{0%,to{transform:translate(0)}50%{transform:translate(-18px,4px)}}.hn-bird{filter:drop-shadow(0 0 14px #ffd13f99)drop-shadow(0 8px 10px #0000002e)}.three-ambient{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.hero{-webkit-backdrop-filter:blur(10px)saturate(1.25);border:1px solid #fff9;background:linear-gradient(#c6e4ffa8,#e9f5ff80 60%,#ffffff6b)!important}.ztile,.ww-hub-card,.dw,.nest-tile,.deck-card.has{-webkit-backdrop-filter:blur(6px);background:linear-gradient(#fffffff0,#fbfaffe6)!important}.hero-nest3d{cursor:pointer;touch-action:manipulation;flex:none;width:170px;height:152px;margin:-6px 0;display:block}@media (width<=640px){.hero-nest3d{width:118px;height:108px}}.ww-globe-wrap{justify-content:center;margin:2px 0 14px;display:flex}.ww-globe3d{width:230px;height:230px;display:block}.ww-globe-fallback{text-align:center;filter:drop-shadow(0 8px 12px #1c173040);font-size:120px}@media (width<=560px){.ww-globe3d{width:172px;height:172px}}body:after{opacity:.5}.three-ambient{display:none!important}.hero{border:1px solid #ffffff8c;-webkit-backdrop-filter:none!important;background:linear-gradient(#bfe3ff,#dcefff 45%,#eaf6ff)!important}.app-rail{-webkit-backdrop-filter:none!important;background:linear-gradient(#fff,#faf8ff)!important}.topbar{background:linear-gradient(180deg, var(--bg) 8%, color-mix(in srgb, var(--bg) 42%, transparent) 68%, transparent)!important;border-bottom:none!important}.ztile,.ww-hub-card,.dw,.nest-tile,.deck-card.has{-webkit-backdrop-filter:none!important}@media (width>=900px){.app.has-rail .app-main .wonder,.app.has-rail .app-main .nest,.app.has-rail .app-main .deck,.app.has-rail .app-main .friends,.app.has-rail .app-main .badges,.app.has-rail .app-main .daily,.app.has-rail .app-main .calm,.app.has-rail .app-main .fc,.app.has-rail .app-main .proj,.app.has-rail .app-main .tl{width:100%;max-width:none}.app.has-rail .app-main .games-hub{max-width:none}.app.has-rail .app-main .game{max-width:1040px}.app.has-rail .app-main .calm-breathe,.app.has-rail .app-main .calm-lullaby{width:min(100%,640px);margin-inline:auto}.app.has-rail .app-main .ww-hub{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.app.has-rail .app-main .games-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.app.has-rail .app-main .deck-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}.app.has-rail .app-main .badge-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.app.has-rail .app-main .fr-adoptgrid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.app.has-rail .app-main .proj .cat-grid,.app.has-rail .app-main .proj .tile-grid,.app.has-rail .app-main .proj-detail .tile-grid{max-width:none}}.home-sec{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:9px;margin:26px 2px 12px;font-family:"Baloo 2 Variable",Nunito Variable,ui-rounded,sans-serif;font-size:1.18rem;font-weight:900;display:flex}.home-sec:before{content:"";background:linear-gradient(180deg, var(--purple), var(--purple-2));border-radius:6px;flex:none;width:6px;height:20px}.dash>.home-sec:first-child{margin-top:4px}.hp-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px;display:grid}.hp-kpi{border:1px solid var(--line);background:linear-gradient(#fff,#fbfaff);border-radius:20px;align-items:center;gap:12px;padding:15px 16px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 16px #3a2a6b12}.hp-kpi-emoji{background:radial-gradient(circle at 50% 34%, #fff, var(--hp-tok,#eef0ff));border-radius:14px;flex:none;place-items:center;width:46px;height:46px;font-size:24px;display:grid;box-shadow:inset 0 2px 4px #ffffffe6,0 4px 10px #3a2a6b1f}.hp-kpi-txt{flex-direction:column;min-width:0;line-height:1.1;display:flex}.hp-kpi-txt b{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.5rem}.hp-kpi-txt span{color:var(--muted);font-size:.78rem;font-weight:700}.hp-lv{--hp-tok:#e7fbe9}.hp-mast{--hp-tok:#eae6ff}.hp-star{--hp-tok:#fff4d6}.hp-area{--hp-tok:#e2f1ff}.hp-won{--hp-tok:#ffe6f4}.hp-lvbar{background:#ecebf5;border-radius:4px;height:5px;position:absolute;bottom:9px;left:15px;right:15px;overflow:hidden}.hp-lvbar>div{background:linear-gradient(90deg,#34c759,#7be08a);border-radius:4px;height:100%;transition:width .5s}.hp-kpi.hp-lv{padding-bottom:20px}.hp-journey{border:1px solid var(--line);background:linear-gradient(#fff,#fbfaff);border-radius:22px;margin-bottom:22px;padding:18px 18px 8px;box-shadow:0 8px 22px #3a2a6b14}.hp-journey-head{align-items:center;gap:14px;margin-bottom:12px;display:flex}.hp-journey-head>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hp-journey-head b{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.08rem}.hp-journey-head span{color:var(--muted);font-size:.84rem;font-weight:700}.hp-journey-head .btn.primary{flex:none}.hp-areas{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding-bottom:10px;display:grid}.hp-area{text-align:left;cursor:pointer;border:1.5px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:12px;transition:transform .14s,border-color .14s,box-shadow .14s;display:flex}.hp-area:hover{border-color:color-mix(in srgb, var(--purple) 40%, var(--line));transform:translateY(-3px);box-shadow:0 8px 18px #3a2a6b1a}.hp-area.started{background:linear-gradient(#fff,#f6f2ff)}.hp-area-emoji{background:#f2f0fb;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:24px;display:grid}.hp-area-title{color:var(--ink);white-space:normal;overflow-wrap:anywhere;font-size:.92rem;font-weight:800;line-height:1.22}.hp-area-status{color:var(--muted);font-size:.74rem;font-weight:800}.hp-area.started .hp-area-status{color:var(--purple)}.hp-area-bar{background:#ecebf5;border-radius:5px;width:100%;height:7px;margin-top:auto;overflow:hidden}.hp-area-bar>div{background:linear-gradient(90deg, var(--purple), var(--purple-2));border-radius:5px;height:100%;transition:width .5s}.hp-todo{grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px;margin-bottom:24px;display:grid}.hp-td{text-align:left;cursor:pointer;border:1.5px solid var(--line);background:linear-gradient(#fff,#fbfaff);border-radius:18px;align-items:center;gap:11px;padding:13px 14px;transition:transform .14s,border-color .14s,box-shadow .14s;display:flex;position:relative}.hp-td:hover{border-color:color-mix(in srgb, var(--purple) 42%, var(--line));transform:translateY(-3px);box-shadow:0 10px 20px #3a2a6b1a}.hp-td-emoji{background:radial-gradient(circle at 50% 34%,#fff,#eef0ff);border-radius:13px;flex:none;place-items:center;width:44px;height:44px;font-size:23px;display:grid;box-shadow:inset 0 2px 4px #ffffffe6,0 4px 10px #3a2a6b1a}.hp-td-txt{flex-direction:column;flex:1;min-width:0;line-height:1.12;display:flex}.hp-td-txt b{color:var(--purple);font-family:"Baloo 2 Variable",sans-serif;font-size:1.5rem}.hp-td-txt span{color:var(--muted);font-size:.76rem;font-weight:700}.hp-td-of{color:var(--muted-2);background:color-mix(in srgb, var(--purple) 8%, #fff);border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:900;position:absolute;top:10px;right:11px}.hp-td.done{background:linear-gradient(#f2fdf4,#eafaf0);border-color:#bfe9c8}.hp-td.done .hp-td-txt b{color:#2ea44f;font-size:1.12rem}.hp-td.done .hp-td-emoji{background:radial-gradient(circle at 50% 34%,#fff,#dbf5e1)}.hp-td.done .hp-td-of{color:#2ea44f;background:#dbf5e1}@media (width>=900px){:root{font-size:17px}}@media (width>=1360px){:root{font-size:17.5px}}@media (width>=900px){.app.has-rail .app-main .curriculum{max-width:1180px}.app.has-rail .app-main .safety-game{max-width:940px}.app.has-rail .app-main .settings,.app.has-rail .app-main .promise,.app.has-rail .app-main .report,.app.has-rail .app-main .parenting,.app.has-rail .app-main .parents,.app.has-rail .app-main .plan-grown{max-width:880px}}.hstat{font-size:.8rem}.dw-sub{font-size:.9rem}.ztile>span:last-child,.card-blurb{font-size:.82rem}.app.is-audience .topbar{display:none}.who-brand{justify-content:center;align-items:center;gap:14px;margin:30px auto 8px;display:flex}.who-brand .brand-mark{filter:drop-shadow(0 5px 10px #6c47e04d);font-size:clamp(2.4rem,6vw,3.4rem)}.who-brand .brand-word{letter-spacing:-.025em;background:linear-gradient(100deg, var(--purple) 0%, var(--pink) 55%, var(--purple-2) 100%);color:#0000;filter:drop-shadow(0 3px 10px color-mix(in srgb, var(--purple) 30%, transparent));-webkit-background-clip:text;background-clip:text;font-family:"Baloo 2 Variable",Nunito Variable,ui-rounded,sans-serif;font-size:clamp(2.4rem,6.4vw,3.6rem);font-weight:900;line-height:1}.who-mascot{justify-content:center;align-items:flex-end;min-height:210px;margin:4px auto 2px;display:flex}.who-mascot .hero-nest3d{cursor:pointer;width:clamp(200px,32vw,280px);height:clamp(200px,32vw,280px)}.who-mascot .hero-nesty{transform-origin:bottom;margin-bottom:34px;transform:scale(2)}@media (width>=900px){.app.has-rail .app-main .home-sec{margin:14px 2px 7px;font-size:1.12rem}.app.has-rail .app-main .home-sec:before{height:18px}.app.has-rail .app-main .dash>.home-sec:first-child{margin-top:2px}.app.has-rail .app-main .hero{margin-top:2px;padding:14px 24px 16px}.app.has-rail .app-main .hero-nest3d{width:124px;height:112px;margin:-2px 0}.app.has-rail .app-main .hero-row{gap:16px}.app.has-rail .app-main .hero-snap{margin-top:7px}.app.has-rail .app-main .hstat{padding:5px 11px}.app.has-rail .app-main .dash{padding-top:8px}.app.has-rail .app-main .dash-grid{gap:12px;margin-bottom:12px}.app.has-rail .app-main .hp-kpis{gap:10px;margin-bottom:12px}.app.has-rail .app-main .hp-kpi{padding:11px 14px}.app.has-rail .app-main .hp-kpi.hp-lv{padding-bottom:15px}.app.has-rail .app-main .hp-lvbar{bottom:6px}.app.has-rail .app-main .hp-kpi-txt b{font-size:1.35rem}.app.has-rail .app-main .hp-journey{margin-bottom:12px;padding:13px 16px 8px}.app.has-rail .app-main .hp-journey-head{margin-bottom:8px}.app.has-rail .app-main .hp-areas{gap:8px;padding-bottom:4px}.app.has-rail .app-main .hp-area{gap:5px;padding:10px 11px}.app.has-rail .app-main .hp-area-emoji{width:34px;height:34px;font-size:20px}.app.has-rail .app-main .hp-todo{gap:10px;margin-bottom:12px}.app.has-rail .app-main .hp-td{gap:10px;padding:10px 12px}.app.has-rail .app-main .hp-td-emoji{width:40px;height:40px;font-size:21px}.app.has-rail .app-main .hp-td-txt b{font-size:1.35rem}}@media (width>=1180px){.app.has-rail .app-main .hp-areas{grid-template-columns:repeat(6,1fr)}}.rail-sec-toggle{width:100%;font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;margin:10px 0 2px;padding:7px 10px 5px;font-size:.64rem;font-weight:800;transition:background .15s,color .15s;display:flex}.rail-sec-toggle:hover{background:color-mix(in srgb, var(--purple) 7%, transparent);color:var(--muted)}.rail-sec-caret{opacity:.7;font-size:.8rem;line-height:1;transition:transform .2s}.rail-sec-caret.open{transform:rotate(180deg)}.who-brand-top{margin:4px auto 16px}.who-brand-top .brand-mark{font-size:clamp(1.7rem,4.6vw,2.3rem)}.who-brand-top .brand-word{font-size:clamp(1.7rem,5vw,2.4rem)}.glyph-img{object-fit:contain;vertical-align:-.15em;border-radius:3px;width:1em;height:1em;display:inline-block}.brand-mark .glyph-img,.rb-mark .glyph-img{width:100%;height:100%}.tab-ic .glyph-img{width:24px;height:24px}.level-badge .glyph-img,.streak-badge .glyph-img,.hstat .glyph-img{width:22px;height:22px}.dw-emoji .glyph-img{width:40px;height:40px}.hp-kpi-emoji .glyph-img,.hp-td-emoji .glyph-img{width:38px;height:38px}.hp-area-emoji .glyph-img{width:34px;height:34px}.ztile-blob .glyph-img{width:54px;height:54px}.rail-ic .glyph-img{width:82%;height:82%}.badge-emoji .glyph-img{width:54px;height:54px}.sticker-emoji .glyph-img{width:1.3em;height:1.3em}.avatar-btn .glyph-img{width:40px;height:40px}.profile-av .glyph-img{width:30px;height:30px}.who-av .glyph-img{width:88%;height:88%}.cur-areas{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.cur-area{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);transition:transform .12s var(--spring), box-shadow .12s, border-color .12s;flex-direction:column;align-items:flex-start;gap:5px;padding:16px 16px 14px;display:flex}.cur-area:hover{box-shadow:var(--shadow-lg);border-color:color-mix(in srgb, var(--purple) 22%, var(--line));transform:translateY(-3px)}.cur-area.done{background:color-mix(in srgb, #23c58a 6%, var(--card));border-color:#23c58a73}.cur-area-emoji{margin-bottom:3px;font-size:2.1rem;line-height:1}.cur-area-name{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.08rem;font-weight:800;line-height:1.2}.cur-area-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.cur-area-bar{background:var(--surface-2);border-radius:999px;width:100%;height:8px;margin-top:8px;overflow:hidden}.cur-area-fill{height:100%;transition:width .35s var(--spring);background:linear-gradient(90deg,#23c58a,#7ad06f);border-radius:999px;display:block}.cur-area-meta{color:var(--muted-2);font-size:.74rem;font-weight:800}.cur-tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.cur-tile{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);min-height:92px;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring), box-shadow .12s, border-color .12s;border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.cur-tile:hover{box-shadow:var(--shadow-lg);border-color:var(--purple);transform:translateY(-3px)}.cur-tile.done{background:color-mix(in srgb, #23c58a 6%, var(--card));border-color:#23c58a73}.cur-tile-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.cur-tile-title{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:.98rem;font-weight:700;line-height:1.25}.fc-stage{grid-template-columns:minmax(0,215px) auto minmax(0,215px);justify-content:center;align-items:start;gap:20px;margin-top:4px;display:grid}.fc-rail{flex-direction:column;gap:8px;width:100%;display:flex}.fc-center{flex-direction:column;align-items:center;min-width:0;display:flex}.fc-rail .fc-deck{width:100%}@media (width<=960px){.fc{max-width:640px}.fc-stage{grid-template-columns:1fr}.fc-rail{scroll-snap-type:x proximity;scrollbar-width:none;flex-direction:row;gap:9px;max-width:100%;padding:2px 2px 8px;display:flex;overflow-x:auto}.fc-rail::-webkit-scrollbar{display:none}.fc-rail:first-child{order:0}.fc-rail:last-child{order:1}.fc-rail .fc-deck{scroll-snap-align:start;flex:0 0 min(158px,70vw)}.fc-center{order:2;margin-top:6px}}.cat-grid{flex-wrap:wrap;justify-content:center;gap:10px;max-width:760px;margin:8px auto 16px;display:flex}.cat-tile{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring), box-shadow .12s, border-color .12s;border-radius:14px;flex:0 165px;align-items:center;gap:8px;padding:12px 13px;font-size:.92rem;font-weight:800;line-height:1.15;display:flex}.cat-tile:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--purple) 24%, var(--line));transform:translateY(-2px)}.cat-tile.on,.cat-tile.active{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:var(--shadow)}.cat-emoji{flex:none;font-size:1.35rem;line-height:1}.cat-tile>span:last-child{min-width:0}.proj{max-width:760px;margin:0 auto;padding-bottom:32px}.proj .cat-grid{max-width:none}.proj-detail .title-wrap h1{align-items:center;gap:8px;display:flex}.proj-ask{background:linear-gradient(120deg, color-mix(in srgb, var(--yellow,#ffd257) 26%, #fff), color-mix(in srgb, var(--purple) 8%, #fff));border:1px solid var(--line-strong);border-radius:var(--r);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 14px;padding:14px 16px;display:flex}.proj-ask-q{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif;font-size:1.05rem;font-weight:800}.proj-say{opacity:.8;font-size:1.2rem}.proj-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:14px 18px}.proj-card h3{color:var(--ink);margin:2px 0 10px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.05rem}.proj-need{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.proj-need li{color:var(--body);align-items:center;gap:9px;font-weight:600;display:flex}.proj-tick{opacity:.9}.proj-steps{counter-reset:step;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.proj-steps li{background:var(--surface-2);border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.proj-steps li.on{background:#e5f8f1}.proj-step-tick{cursor:pointer;background:0 0;border:none;flex:none;padding:0;font-size:1.25rem;line-height:1}.proj-step-text{color:var(--ink);cursor:pointer;font-weight:600;line-height:1.4}.proj-tip{color:var(--muted);font-style:italic;font-weight:500}.proj-wonder{background:color-mix(in srgb, var(--purple) 8%, #fff);border:1px solid var(--line-strong);border-radius:var(--r);color:var(--body);margin-bottom:14px;padding:13px 16px;line-height:1.5}.proj-wonder b{color:var(--ink)}.proj-show{background:#ffeff4}.proj-done{border-radius:16px;width:100%;padding:15px;font-size:1.05rem}.proj-celebrate{text-align:center;color:var(--good);background:#e5f8f1;border-radius:16px;padding:18px;font-family:"Baloo 2 Variable",sans-serif;font-size:1.15rem;font-weight:800}.fest-when{color:var(--muted);margin-top:2px;font-size:.74rem;font-style:normal;font-weight:700;display:block}.fest-acts{flex-direction:column;gap:10px;display:flex}.fest-act{background:var(--surface-2);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.fest-act:hover{background:color-mix(in srgb, var(--purple) 7%, var(--surface-2))}.fest-act-emoji{flex:none;font-size:1.7rem;line-height:1}.fest-act-body{flex-direction:column;gap:3px;min-width:0;display:flex}.fest-act-body b{color:var(--ink);font-family:"Baloo 2 Variable",sans-serif}.fest-kind{color:var(--purple);background:color-mix(in srgb, var(--purple) 10%, #fff);border-radius:20px;align-self:flex-start;padding:1px 8px;font-size:.72rem;font-weight:800}.fest-how{color:var(--body);line-height:1.45}@media (width<=560px){.proj{padding-left:4px;padding-right:4px}}.tl{max-width:760px;margin:0 auto;padding-bottom:3rem}.tl-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0;display:flex}.tl-count{color:var(--muted);margin-left:auto;font-size:.95rem;font-weight:700}.tl-form{background:var(--card,#fff);border:2px solid var(--line,#eee);border-radius:18px;flex-direction:column;gap:.6rem;margin-bottom:1.2rem;padding:1rem;display:flex;box-shadow:0 4px 16px #0000000d}.tl-form-row{gap:.5rem;display:flex}.tl-form input{font:inherit;border:2px solid var(--line,#e6e6e6);background:var(--bg,#fafafa);border-radius:12px;padding:.6rem .7rem}.tl-title,.tl-note{flex:1}.tl-emoji{text-align:center;width:3rem;font-size:1.3rem}.tl-date{flex:none}.tl-form-actions{justify-content:flex-end;gap:.5rem;display:flex}.tl-preview{object-fit:cover;border-radius:14px;width:100%;max-height:240px}.tl-upsell{text-align:center;border-color:var(--yellow,#ffd54a);background:linear-gradient(#fffbe9,#fff);align-items:center}.tl-upsell-t{font-size:1.2rem;font-weight:800}.tl-upsell p{color:var(--muted);margin:.3rem 0 .6rem}.tl-feed{position:relative}.tl-empty{text-align:center;color:var(--muted);padding:2.5rem 1rem;font-size:1.05rem}.tl-item{gap:.8rem;padding-bottom:1rem;display:flex;position:relative}.tl-rail{flex-direction:column;flex:none;align-items:center;display:flex}.tl-dot{background:var(--card,#fff);border:2px solid var(--line,#eee);z-index:1;border-radius:50%;place-items:center;width:2.6rem;height:2.6rem;font-size:1.3rem;display:grid}.tl-item:before{content:"";background:var(--line,#eee);width:2px;position:absolute;top:2.6rem;bottom:0;left:1.3rem}.tl-item:last-child:before{display:none}.tl-body{background:var(--card,#fff);border:2px solid var(--line,#f0f0f0);border-radius:16px;flex:1;min-width:0;padding:.7rem .9rem}.tl-head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.tl-head b{font-size:1.02rem}.tl-head .tl-date{color:var(--muted);white-space:nowrap;font-size:.82rem}.tl-note-txt{color:var(--muted);margin-top:.2rem;font-size:.92rem}.tl-photo{object-fit:cover;border-radius:12px;width:100%;max-height:260px;margin-top:.5rem;display:block}.tl-photo-ph{background:var(--bg,#f4f4f4);place-items:center;height:120px;font-size:2rem;display:grid}.tl-badge{color:var(--purple,#7c4dff);background:#7c4dff1a;border-radius:999px;margin-top:.4rem;padding:.12rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.tl-achievement .tl-dot{border-color:var(--purple,#7c4dff)}.tl-del{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;align-self:flex-start;padding:.3rem;font-size:1rem}.tl-del:hover{color:#d33;background:#0000000f}.tl-consent{text-align:center;border-color:var(--blue,#4a90d9);background:linear-gradient(#eef5ff,#fff);align-items:center}.tl-consent p{color:var(--muted);margin:.3rem 0 .7rem;font-size:.95rem}.tl-ach-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.tl-addphoto{border:1.5px dashed var(--line,#d9d9d9);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .6rem;font-size:.82rem}.tl-addphoto:hover:not(:disabled){border-color:var(--purple,#7c4dff);color:var(--purple,#7c4dff)}.tl-addphoto:disabled{opacity:.5;cursor:default}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;max-width:780px;margin:10px auto 18px;display:grid}.proj .tile-grid,.proj-detail .tile-grid{max-width:860px}.tile-card{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s var(--spring), box-shadow .12s, border-color .12s;border-radius:18px;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;min-height:112px;padding:16px 10px 14px;font-size:.86rem;font-weight:800;line-height:1.18;display:flex}.tile-card:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--purple) 26%, var(--line));transform:translateY(-3px)}.tile-card.on{background:var(--purple);color:#fff;border-color:var(--purple);box-shadow:var(--shadow)}.tile-emo{font-size:40px;line-height:1}.tile-emo .glyph-img{object-fit:cover;border-radius:10px;width:46px;height:46px}.tile-label{display:block}.tile-card .fest-when{opacity:.72;margin-top:3px;font-size:.72rem;font-style:normal;font-weight:600;display:block}@media (width<=420px){.tile-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.tile-emo{font-size:34px}}:root{--dq-accent:var(--purple,#5b3aa8)}.level-badge{color:#7a5200;white-space:nowrap;background:linear-gradient(135deg,#fff3d6,#ffe6a8);border:1px solid #f4d488;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.82rem;font-weight:800;display:inline-flex}.home-level{border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;max-width:560px;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;align-items:center;gap:12px;margin:0 auto 14px;padding:12px 16px;transition:transform .1s,box-shadow .1s;display:flex}.home-level:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.home-level-emoji{font-size:1.7rem}.home-level-text{color:var(--dq-accent);white-space:nowrap;font-weight:800}.home-level-bar{background:var(--surface-2);border-radius:999px;flex:1;height:10px;overflow:hidden}.home-level-fill{background:linear-gradient(90deg, var(--dq-accent), #ffb703);border-radius:999px;height:100%;display:block}.dq{max-width:720px;margin:0 auto;padding:0 14px 40px;position:relative}.level-card{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fff,#f7f3ff);align-items:center;gap:14px;margin:6px 0 18px;padding:16px 18px;display:flex}.level-emoji{font-size:2.4rem;line-height:1}.level-body{flex:1;min-width:0}.level-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.level-title{color:var(--dq-accent);font-size:1.05rem;font-weight:800}.level-xp{color:#8a7fb0;font-size:.85rem;font-weight:700}.level-bar{background:var(--surface-2);border-radius:999px;height:14px;margin:7px 0 5px;overflow:hidden}.level-bar-fill{background:linear-gradient(90deg, var(--dq-accent), #ffb703);border-radius:999px;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1)}.level-next{color:#7c7397;font-size:.82rem;font-weight:600}.dq-tabs{-webkit-overflow-scrolling:touch;gap:8px;padding:2px 0 8px;display:flex;overflow-x:auto}.dq-tab{cursor:pointer;border:1px solid var(--line);color:#5b5570;min-width:78px;font:inherit;background:#fff;border-radius:15px;flex-direction:column;flex:none;align-items:center;gap:2px;padding:9px 12px;display:flex}.dq-tab.active{border-color:var(--dq-accent);color:var(--dq-accent);background:#f6f2ff}.dq-tab-emoji{font-size:1.5rem}.dq-tab-title{text-align:center;font-size:.72rem;font-weight:700;line-height:1.1}.dq-group-head{justify-content:space-between;align-items:center;gap:10px;margin:12px 2px 8px;display:flex}.dq-group-blurb{color:#6d6685;font-size:.9rem;font-weight:600}.dq-group-count{color:#2e9e5b;white-space:nowrap;background:#eef7f0;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:800}.dq-ages{flex-wrap:wrap;gap:6px;margin:0 2px 10px;display:flex}.dq-age{color:#6d6685;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2ddf0;border-radius:999px;padding:7px 12px;font-size:.8rem;font-weight:700}.dq-age.active{background:var(--dq-accent);color:#fff;border-color:var(--dq-accent)}.dq-note{color:#8a5a1a;background:#fff7ed;border:1px solid #ffe1bf;border-radius:14px;margin:0 0 12px;padding:11px 14px;font-size:.88rem;line-height:1.4}.dq-list{flex-direction:column;gap:10px;display:flex}.quest-card{text-align:left;border:1px solid var(--line);cursor:pointer;width:100%;font:inherit;background:#fff;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;transition:transform 80ms,border-color .15s,background .15s;display:flex}.quest-card:hover{transform:translateY(-1px)}.quest-card:disabled{opacity:.6;cursor:default}.quest-card.done{background:#f1fbf5;border-color:#34c98a}.quest-emoji{text-align:center;width:40px;font-size:1.9rem;line-height:1}.quest-main{flex:1;min-width:0}.quest-title{color:#2f2a41;font-size:1rem;font-weight:800}.quest-card.done .quest-title{color:#1f7a4d}.quest-hint{color:#857e9c;margin-top:1px;font-size:.82rem}.quest-xp{color:#b98900;white-space:nowrap;background:#fff3d6;border-radius:999px;padding:3px 9px;font-size:.8rem;font-weight:800}.quest-check{color:#fff;border:2px solid #d9d4e8;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-weight:900;display:flex}.quest-check.on{background:#34c98a;border-color:#34c98a}.dq-parent{color:#857e9c;text-align:center;margin-top:16px;font-size:.82rem;line-height:1.4}@media (width>=900px){.app.has-rail .app-main .dq{width:100%;max-width:none}.app.has-rail .app-main .dq-tabs{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));display:grid;overflow:visible}.app.has-rail .app-main .dq-tab{width:100%}.app.has-rail .app-main .dq-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.dq-toast{left:50%;top:calc(env(safe-area-inset-top) + 64px);background:var(--ink);color:#fff;z-index:60;border-radius:999px;padding:10px 18px;font-size:.95rem;font-weight:800;animation:.25s cubic-bezier(.2,1.4,.4,1) dq-pop;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.dq-toast.levelup{background:linear-gradient(135deg,#7a4bd0,#ffb703);padding:12px 22px;font-size:1.05rem}@keyframes dq-pop{0%{opacity:0;transform:translate(-50%)scale(.7)}to{opacity:1;transform:translate(-50%)scale(1)}}:root{--g-accent:var(--dq-accent,var(--purple,#5b3aa8))}.game,.games-hub{max-width:720px;margin:0 auto;padding:0 14px 40px;position:relative}.game .btn.primary,.games-hub .btn.primary{background:linear-gradient(135deg, var(--g-accent), color-mix(in srgb, var(--g-accent) 62%, #b58bff));color:#fff;cursor:pointer;box-shadow:0 6px 18px color-mix(in srgb, var(--g-accent) 30%, transparent);border:none;border-radius:999px;padding:11px 20px;font-size:1rem;font-weight:800}.game .btn.primary:hover,.games-hub .btn.primary:hover{filter:brightness(1.05)}.games-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px;display:grid}.game-card{text-align:center;border:1px solid var(--line);cursor:pointer;font:inherit;box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:22px 14px;transition:transform .1s,border-color .15s;display:flex}.game-card:hover{border-color:var(--g-accent);transform:translateY(-2px)}.game-card-emoji{font-size:2.8rem}.game-card-title{color:var(--g-accent);font-weight:800}.game-card-blurb{color:#857e9c;font-size:.82rem}.game-win{text-align:center;padding:40px 0;position:relative}.game-win-card{max-width:380px;box-shadow:var(--shadow-lg);background:#fff;border-radius:22px;margin:0 auto;padding:26px}.game-win-emoji{font-size:3.4rem}.game-win-title{color:var(--g-accent);margin-top:6px;font-size:1.3rem;font-weight:900}.game-win-sub{color:#857e9c;margin-top:4px}.game-win-actions{justify-content:center;gap:10px;margin-top:18px;display:flex}.lt-stage{justify-content:center;align-items:center;gap:8px;margin:10px 0;display:flex}.lt-nav{background:color-mix(in srgb, var(--g-accent) 10%, #fff);width:44px;height:44px;color:var(--g-accent);cursor:pointer;border:none;border-radius:50%;flex:none;font-size:1.7rem;font-weight:900}.lt-canvas-wrap{aspect-ratio:1;width:320px;max-width:78vw;position:relative}.lt-canvas{border:3px dashed color-mix(in srgb, var(--g-accent) 30%, #fff);background:#fff;border-radius:20px;width:100%;height:100%;display:block}.lt-done{background:#ffffffb8;border-radius:20px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lt-done-word{color:var(--g-accent);flex-direction:column;align-items:center;font-size:3rem;font-weight:900;display:flex}.lt-done-word span{margin-top:6px;font-size:1.1rem}.lt-bar{background:var(--surface-2);border-radius:999px;max-width:320px;height:12px;margin:4px auto;overflow:hidden}.lt-bar-fill{background:linear-gradient(90deg, var(--g-accent), #34c98a);height:100%;transition:width .1s}.lt-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.lt-letter-label{color:#6d6685;font-weight:800}.ct-question{text-align:center;color:var(--g-accent);margin:10px 0;font-size:1.25rem;font-weight:800}.ct-objects{border:1px solid var(--line);background:#fff;border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;min-height:120px;padding:20px;display:flex}.ct-group{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.ct-emoji{font-size:2.4rem;line-height:1.1}.ct-plus{color:var(--g-accent);margin:0 6px;font-size:2rem;font-weight:900}.ct-options{flex-wrap:wrap;justify-content:center;gap:12px;margin:16px 0;display:flex}.ct-opt{border:1px solid var(--line);width:66px;height:66px;color:var(--g-accent);cursor:pointer;background:#fff;border-radius:18px;font-size:1.8rem;font-weight:900}.ct-opt:hover{border-color:var(--g-accent)}.ct-opt.wrong{color:#e5484d;background:#fdeaea;border-color:#e5484d;animation:.3s ct-shake}@keyframes ct-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.ct-nudge{text-align:center;color:#b56;font-weight:600}.ct-score{text-align:center;color:#b98900;margin-top:8px;font-weight:800}.mm-themes{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0;display:flex}.mm-meta{text-align:center;color:#857e9c;margin-bottom:8px;font-size:.85rem;font-weight:600}.mm-grid{gap:10px;max-width:420px;margin:0 auto;display:grid}.mm-card{aspect-ratio:1;background:var(--g-accent);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;display:flex}.mm-card .mm-face{font-size:2rem}.mm-card:not(.up) .mm-face{color:#fff;opacity:.85}.mm-card.up{border:1px solid var(--line);background:#fff}.mm-card.matched{background:#eefaf2;border-color:#34c98a}.mu-card{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:center;gap:14px;margin:10px 0;padding:16px;display:flex}.mu-dodo-emoji{font-size:3rem}.mu-card-title{color:var(--g-accent);font-weight:800}.mu-card-text{color:#5b5570;font-size:.9rem;line-height:1.4}.mu-section-title{color:#6d6685;margin:16px 2px 8px;font-weight:800}.mu-fruits{flex-wrap:wrap;gap:10px;display:flex}.mu-fruit{border:1px solid var(--line);color:#5b5570;background:#fff;border-radius:14px;flex-direction:column;align-items:center;padding:10px 14px;font-size:.8rem;font-weight:700;display:flex}.mu-fruit-emoji{font-size:2rem}.mu-flag{border-radius:8px;flex-direction:column;width:180px;height:120px;display:flex;overflow:hidden;box-shadow:0 3px 10px #00000026}.mu-stripe{flex:1}.mu-flag-note{color:#857e9c;margin-top:6px;font-size:.82rem}.mu-words{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.mu-word{border:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:14px;align-items:center;gap:10px;padding:12px;display:flex}.mu-word-emoji{font-size:1.6rem}.mu-word-text{color:#2f2a41;flex:1;font-weight:800}.mu-word-lang{color:#fff;background:var(--g-accent);border-radius:999px;padding:2px 7px;font-size:.7rem;font-weight:700}.mu-start-quiz{width:100%;margin:20px 0 0;display:block}.mu-quiz-emoji{text-align:center;font-size:3rem}.mu-quiz-q{text-align:center;color:var(--g-accent);margin:8px 0 16px;font-size:1.2rem;font-weight:800}.mu-quiz-options{flex-direction:column;gap:10px;max-width:420px;margin:0 auto;display:flex}.mu-opt{border:1px solid var(--line);font:inherit;color:#2f2a41;cursor:pointer;background:#fff;border-radius:14px;padding:14px;font-size:1rem;font-weight:700}.mu-opt.right{color:#1f7a4d;background:#eefaf2;border-color:#34c98a}.mu-opt.wrong{color:#e5484d;background:#fdeaea;border-color:#e5484d}.mu-quiz-score{text-align:center;color:#b98900;margin-top:14px;font-weight:800}:root{--glass-blur:saturate(185%) blur(22px);--glass-blur-strong:saturate(190%) blur(28px);--glass-bg:#fff6;--glass-bg-lite:#ffffff7a;--glass-border:#ffffffbf;--glass-hi:inset 0 1px 0 #ffffffb3;--glass-shadow:0 10px 34px #1c173021}body{background:var(--bg)}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(46% 40% at 4% -6%, color-mix(in srgb, var(--purple) 50%, transparent) 0%, transparent 60%), radial-gradient(42% 38% at 100% 0%, #ff6fd866 0%, transparent 58%), radial-gradient(46% 42% at 92% 100%, #3aa0ff57 0%, transparent 60%), radial-gradient(50% 46% at 2% 104%, #ffc94d52 0%, transparent 60%), radial-gradient(62% 62% at 50% 48%, #7a4bd01f 0%, transparent 72%), var(--bg);will-change:transform;position:fixed;inset:0;transform:translateZ(0)}.card,.mode,.subject-row,.home-level,.level-card,.game-card,.game-win-card,.question,.score-card,.story-text,.mu-card,.fc-face,.profile-btn,.profile-menu,.btn,.lt-nav{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-hi)}.chip,.name-input,.song-card,.page-card,.sticker,.lang-btn,.gj-row,.gj-stat,.gj-tab,.opt,.dq-tab,.dq-age,.quest-card,.ct-objects,.ct-opt,.mu-fruit,.mu-word,.mu-opt,.pc-hero,.pc-tip,.pc-reach,.pc-contact,.key,.lyric{background:var(--glass-bg-lite);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow), var(--glass-hi)}.btn.ghost{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:color-mix(in srgb, var(--purple) 10%, transparent)}.btn.primary{box-shadow:0 6px 18px color-mix(in srgb, var(--purple) 32%, transparent), var(--glass-hi)}.game .btn.primary,.games-hub .btn.primary{box-shadow:0 6px 18px color-mix(in srgb, var(--g-accent) 30%, transparent), var(--glass-hi)}.topbar{background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong)}.profile-menu{-webkit-backdrop-filter:var(--glass-blur-strong);backdrop-filter:var(--glass-blur-strong);background:#ffffffad}.card .emoji{background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--purple) 24%, #ffffff73), color-mix(in srgb, var(--purple) 8%, #ffffff40))}.level-card{background:linear-gradient(135deg, #ffffff75, color-mix(in srgb, var(--purple) 16%, #ffffff61))}.fc-front{background:linear-gradient(160deg, #ffffff80, color-mix(in srgb, var(--purple) 10%, #ffffff5c))}.fc-back{background:linear-gradient(160deg, #ffffff80, color-mix(in srgb, var(--purple) 18%, #ffffff5c))}.key{background:linear-gradient(#ffffff8c,#ffffff59)}.key.oct2{background:linear-gradient(#ffffff8c, color-mix(in srgb, var(--purple) 16%, #ffffff59))}.card-blurb,.song-diff,.quest-hint,.mu-card-text,.game-card-blurb,.pc-hero-text,.card-title{text-shadow:0 1px #ffffff59}@media (prefers-reduced-transparency:reduce){body:before{display:none}.card,.mode,.subject-row,.home-level,.level-card,.game-card,.game-win-card,.question,.score-card,.story-text,.mu-card,.fc-face,.profile-btn,.profile-menu,.btn,.lt-nav,.chip,.name-input,.song-card,.page-card,.sticker,.lang-btn,.gj-row,.gj-stat,.gj-tab,.opt,.dq-tab,.dq-age,.quest-card,.ct-objects,.ct-opt,.mu-fruit,.mu-word,.mu-opt,.pc-hero,.pc-tip,.pc-reach,.pc-contact,.key,.lyric,.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.topbar{background:color-mix(in srgb, var(--bg) 92%, #fff)}}
