@font-face{font-family:"Baloo Bhaijaan 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-bhaijaan-2-arabic-wght-normal-CRcpK9-Q.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:"Baloo Bhaijaan 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-bhaijaan-2-vietnamese-wght-normal-BbBSjvDu.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 Bhaijaan 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-bhaijaan-2-latin-ext-wght-normal-CVnLRR-E.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 Bhaijaan 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(./baloo-bhaijaan-2-latin-wght-normal-Dg-XQwW0.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{--teal:#3cb7bd;--mint:#b5e8d3;--aqua:#a8f4e6;--yellow:#fec643;--soft-yellow:#fff8a2;--lavender:#e5dbf4;--teal-800:#175f64;--teal-700:#1f7f85;--teal-600:#2a9ea4;--teal-200:#bfe9e7;--teal-100:#daf4f2;--teal-50:#eefaf9;--yellow-700:#b87c0a;--yellow-600:#e5a51f;--yellow-100:#fff2c8;--lavender-700:#6f5a9c;--lavender-500:#b7a3dc;--lavender-100:#f4effb;--mint-600:#6fc9a4;--ink:#173f47;--ink-soft:#48656b;--ink-faint:#85a0a5;--cream:#fffcf3;--white:#fff;--line:#173f471a;--rec:#ff7b7b;--font:"Baloo Bhaijaan 2 Variable", "Baloo Bhaijaan 2", "Segoe UI", Tahoma, system-ui, sans-serif;--fs-display:clamp(6.5rem, 24vw, 11rem);--fs-h1:clamp(1.9rem, 4.4vw, 2.6rem);--fs-h2:clamp(1.45rem, 3vw, 1.85rem);--fs-h3:1.3rem;--fs-body:1.2rem;--fs-small:1.02rem;--fs-tiny:.88rem;--radius-sm:14px;--radius-md:22px;--radius-lg:30px;--radius-xl:40px;--radius-pill:999px;--shadow-card:0 1px 0 #173f470a, 0 18px 40px -26px #173f4761;--shadow-float:0 26px 60px -30px #173f4780;--shadow-teal:0 16px 34px -18px #1f7f85bf;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--gutter:16px;--screen-max:1120px;--tap:56px}@media (width>=720px){:root{--gutter:28px}}@media (width>=1100px){:root{--gutter:36px}}.theme-home{--world-a:var(--aqua);--world-b:var(--soft-yellow);--world-c:var(--lavender);--world-surface:var(--teal-50)}.theme-coast{--world-a:var(--aqua);--world-b:var(--mint);--world-c:var(--soft-yellow);--world-surface:var(--teal-50)}.theme-parent{--world-a:var(--teal-100);--world-b:var(--lavender);--world-c:var(--soft-yellow);--world-surface:#f6fbfb}.theme-planet{--world-a:var(--lavender);--world-b:var(--soft-yellow);--world-c:var(--aqua);--world-surface:var(--lavender-100)}.tone-1{--tone:var(--teal);--tone-soft:var(--aqua);--tone-faint:var(--teal-50);--tone-deep:var(--teal-700);--tone-edge:var(--teal-800);--tone-ink:var(--white)}.tone-2{--tone:var(--lavender-500);--tone-soft:var(--lavender);--tone-faint:var(--lavender-100);--tone-deep:var(--lavender-700);--tone-edge:#4f3f78;--tone-ink:var(--white)}.tone-3{--tone:var(--yellow);--tone-soft:var(--soft-yellow);--tone-faint:var(--yellow-100);--tone-deep:var(--yellow-700);--tone-edge:#8a5c06;--tone-ink:var(--ink)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font);font-size:var(--fs-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5;overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{cursor:default}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;display:block}h1,h2,h3,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ltr-num{direction:ltr;unicode-bidi:isolate;display:inline-block}.app{isolation:isolate;min-height:100dvh;position:relative}.screen{width:100%;max-width:var(--screen-max);padding:max(14px, env(safe-area-inset-top)) var(--gutter) max(28px, env(safe-area-inset-bottom));margin-inline:auto}.app__center{min-height:90dvh;padding:var(--gutter);text-align:center;place-items:center;display:grid}.app__center--stack{align-content:center;gap:16px}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:2px solid #3cb7bd1f}.eyebrow{font-size:var(--fs-small);color:var(--teal-700);font-weight:700}.big-letter{font-size:var(--fs-display);color:var(--teal-700);font-weight:800;line-height:1.1}.backdrop{z-index:-1;background:linear-gradient(180deg, #fffdf6 0%, var(--world-surface,var(--teal-50)) 100%);transition:background .6s var(--ease-out);position:fixed;inset:0;overflow:hidden}.backdrop__blob{filter:blur(70px);opacity:.5;transition:background .8s var(--ease-out);border-radius:50%;position:absolute}.backdrop__blob--a{background:var(--world-a);width:46vmax;height:46vmax;inset-block-start:-18vmax;inset-inline-start:-12vmax}.backdrop__blob--b{background:var(--world-b);width:38vmax;height:38vmax;inset-block-end:-16vmax;inset-inline-end:-10vmax}.backdrop__blob--c{background:var(--world-c);opacity:.28;width:26vmax;height:26vmax;inset-block-start:38%;inset-inline-end:30%}.backdrop__sparkle{color:var(--yellow);opacity:.55;animation:3.6s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.8)rotate(0)}50%{opacity:.7;transform:scale(1.1)rotate(20deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes pulse-ring{0%{opacity:.7;transform:scale(.9)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.link-button{color:var(--teal-700);font:inherit;text-underline-offset:4px;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.star-chip{border-radius:var(--radius-pill);background:var(--yellow-100);min-height:40px;color:var(--yellow-700);align-items:center;gap:5px;padding:4px 14px;font-size:1.1rem;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 2px #fec64380}.star-chip svg{color:var(--yellow);stroke:var(--yellow-600)}.letter-badge{background:var(--aqua);width:66px;height:66px;color:var(--teal-800);border-radius:22px;flex:none;place-items:center;font-size:42px;font-weight:800;line-height:1;display:grid;box-shadow:inset 0 -5px #173f4714}.letter-badge--planet{background:var(--lavender);color:var(--lavender-700)}.world-pill{border-radius:var(--radius-pill);box-shadow:inset 0 0 0 2px var(--teal-100);background:#fffc;align-items:center;gap:8px;padding:6px 16px;font-weight:800;display:inline-flex}.world-pill--planet{box-shadow:inset 0 0 0 2px var(--lavender)}.topbar{grid-template-columns:minmax(56px,1fr) auto minmax(56px,1fr);align-items:center;gap:10px;margin-bottom:14px;display:grid}.topbar__start{justify-self:start}.topbar__end{justify-self:end}.topbar__title{font-size:var(--fs-h2);text-align:center;font-weight:800;line-height:1.2}.glyph{justify-content:center;align-items:center;line-height:1;display:inline-flex}.glyph--letter{color:var(--teal-800);font-size:46px;font-weight:800;translate:0 -3px}.glyph--word{gap:4px}.glyph__tile{width:18px;height:28px;color:var(--teal-800);background:#173f4724;border-radius:8px;place-items:center;font-size:19px;font-weight:800;display:grid}.glyph__tile--target{background:var(--white);width:28px;box-shadow:0 3px #173f472e}.wear-art{object-fit:contain;filter:drop-shadow(0 8px 10px #173f4729);max-width:100%;max-height:100%;display:block}.wear-art--hidden{filter:brightness(0)opacity(.14)}.bulbul{height:var(--bulbul-size);flex:none;place-items:end center;display:inline-grid;position:relative}.bulbul__pose{grid-area:1/1}.bulbul__motion{transform-origin:50% 90%;animation:3.6s ease-in-out infinite float}.bulbul__art{isolation:isolate;line-height:0;position:relative}.bulbul__art img{height:var(--bulbul-size);filter:drop-shadow(0 14px 16px #173f4729);width:auto;max-width:none}.bulbul--flip .bulbul__art{transform:scaleX(-1)}.bulbul--hop .bulbul__motion{animation:bulbul-hop .8s var(--ease-bounce) 2, float 3.6s ease-in-out 1.6s infinite}.bulbul--wiggle .bulbul__motion{animation:.6s ease-in-out 2 wiggle,3.6s ease-in-out 1.2s infinite float}.bulbul--bob .bulbul__motion{animation:.7s ease-in-out infinite bulbul-bob}.bulbul--talk .bulbul__motion{animation:.42s ease-in-out infinite bulbul-talk}@keyframes bulbul-hop{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-14%)scale(1.03,.97)}55%{transform:translateY(0)scale(1.05,.94)}75%{transform:translateY(-4%)scale(1)}}@keyframes bulbul-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-5%)rotate(2deg)}}@keyframes bulbul-talk{0%,to{transform:scale(1)}50%{transform:scale(1.035,.975)}}.bulbul-fx{pointer-events:none;position:absolute}.bulbul-fx--waves{width:34%;height:34%;top:34%;left:86%}.bulbul--flip .bulbul-fx--waves{left:auto;right:86%;transform:scaleX(-1)}.bulbul-fx--waves span{border:5px solid #0000;border-right-color:var(--teal);opacity:0;animation:1.2s ease-out infinite wave-out;animation-delay:calc(var(--i) * .3s);border-radius:50%;position:absolute;inset:0}@keyframes wave-out{0%{opacity:0;transform:translate(-40%)scale(.35)}30%{opacity:1}to{opacity:0;transform:translate(10%)scale(1)}}.bulbul-fx--rings{inset:8% 0 18%}.bulbul-fx--rings span{aspect-ratio:1;border:4px solid var(--aqua);height:100%;animation:1.8s ease-out infinite pulse-ring;animation-delay:calc(var(--i) * .9s);border-radius:50%;margin:auto;position:absolute;inset:0}.bulbul-fx--dots{background:var(--white);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);gap:5px;padding:8px 10px;display:flex;top:-2%;left:74%}.bulbul--flip .bulbul-fx--dots{left:auto;right:74%}.bulbul-fx--dots span{background:var(--teal);width:9px;height:9px;animation:1s ease-in-out infinite dot-bounce;animation-delay:calc(var(--i) * .16s);border-radius:50%}@keyframes dot-bounce{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.bulbul-fx--sparkles{inset:-6% -14%}.bulbul-fx--sparkles svg{width:26px;height:26px;color:var(--yellow);stroke:var(--yellow-600);stroke-width:1px;animation:1.4s ease-in-out infinite twinkle;animation-delay:calc(var(--i) * .25s);position:absolute}.bulbul-fx--sparkles svg:first-child{top:4%;left:8%}.bulbul-fx--sparkles svg:nth-child(2){width:34px;height:34px;top:0;right:10%}.bulbul-fx--sparkles svg:nth-child(3){width:20px;height:20px;top:46%;right:0}.bulbul-fx--sparkles svg:nth-child(4){width:22px;height:22px;top:52%;left:0}.bulbul-fx--hearts{width:40%;height:50%;top:0;right:-6%}.bulbul-fx--hearts svg{width:24px;height:24px;color:var(--lavender-500);stroke:none;opacity:0;animation:2.2s ease-out infinite heart-up;animation-delay:calc(var(--i) * .8s);position:absolute;bottom:0}.bulbul-fx--hearts svg:nth-child(2){color:var(--yellow);left:40%}@keyframes heart-up{0%{opacity:0;transform:translateY(0)scale(.6)}25%{opacity:1}to{opacity:0;transform:translateY(-120%)scale(1)}}.btn{--btn-bg:var(--yellow);--btn-fg:var(--ink);--btn-edge:var(--yellow-600);--btn-depth:5px;min-height:var(--tap);border-radius:var(--radius-pill);background:var(--btn-bg);color:var(--btn-fg);text-align:center;white-space:nowrap;box-shadow:0 var(--btn-depth) 0 var(--btn-edge), 0 calc(var(--btn-depth) + 10px) 22px -14px #173f4773;transition:transform .12s var(--ease-out), box-shadow .12s var(--ease-out), background-color .2s;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.55em;padding:0 1.3em;font-weight:700;line-height:1.2;display:inline-flex;position:relative;transform:translateY(0)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(calc(var(--btn-depth) - 1px));box-shadow:0 1px 0 var(--btn-edge), 0 6px 14px -12px #173f4766}.btn:disabled{opacity:.55;filter:saturate(.6)}.btn__icon{flex:none;width:1.15em;height:1.15em}.btn--primary{--btn-bg:var(--yellow);--btn-fg:var(--ink);--btn-edge:var(--yellow-600)}.btn--teal{--btn-bg:var(--teal-600);--btn-fg:var(--white);--btn-edge:var(--teal-800);text-shadow:0 1px #173f4740}.btn--soft{--btn-bg:var(--white);--btn-fg:var(--teal-800);--btn-edge:var(--teal-200);--btn-depth:4px}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--teal-700);--btn-edge:transparent;--btn-depth:0px;box-shadow:none;text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.btn--ghost:active:not(:disabled){box-shadow:none;transform:scale(.97)}.btn--xl{--btn-depth:7px;min-height:80px;padding-inline:1.6em;font-size:clamp(1.45rem,3.4vw,1.8rem);font-weight:800}.btn--lg{--btn-depth:6px;min-height:66px;font-size:1.35rem}.btn--md{min-height:56px;font-size:1.15rem}.btn--sm{--btn-depth:3px;min-height:44px;padding-inline:1em;font-size:1rem}.btn--block{width:100%;display:flex}.btn--icon-only{aspect-ratio:1;padding:0}.toasts{z-index:60;padding-inline:var(--gutter);pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;inset-block-start:max(12px, env(safe-area-inset-top));inset-inline:0}.toast{pointer-events:auto;border-radius:var(--radius-md);background:var(--white);width:min(420px,100%);box-shadow:var(--shadow-float);border:2px solid var(--yellow);text-align:start;align-items:center;gap:12px;padding:10px 18px 10px 12px;display:flex}.toast__emoji{background:var(--soft-yellow);border-radius:16px;flex:none;place-items:center;width:52px;height:52px;font-size:30px;line-height:1;display:grid}.toast__text{flex-direction:column;line-height:1.3;display:flex}.toast__text strong{font-size:1.1rem}.toast__text span{color:var(--ink-soft);font-size:.98rem;font-weight:600}.dev-pill{z-index:80;color:#a8f4e6;letter-spacing:.08em;opacity:.75;background:#173f47;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:inline-flex;position:fixed;inset-block-end:14px;inset-inline-start:14px}.dev-pill em{color:#173f47;background:#fec643;border-radius:6px;padding:1px 6px;font-style:normal}.dev-panel{z-index:90;color:#d7ecec;background:#0f2f34;width:min(420px,100vw);padding:16px 18px 40px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5;position:fixed;inset-block:0;inset-inline-start:0;overflow-y:auto;box-shadow:0 0 60px #00000080}.dev-panel section{border-top:1px solid #a8f4e62e;margin-top:14px;padding-top:14px}.dev-panel h3{color:#a8f4e6;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:12px}.dev-panel__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dev-panel__head strong{color:#fff;font-size:14px}.dev-panel__head button{color:#d7ecec;padding:4px 8px;font-size:16px}.dev-panel__warning{color:#ffe6a6;background:#fec64324;border-radius:8px;margin-top:10px;padding:8px 10px}.dev-facts{gap:4px;display:grid}.dev-facts>div{gap:10px;display:flex}.dev-facts dt{color:#8fbdbd;min-width:118px}.dev-facts dd{word-break:break-all;margin:0}.dev-seg{flex-wrap:wrap;gap:6px;display:flex}.dev-seg button{color:#d7ecec;background:#a8f4e61f;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px}.dev-seg button.is-active{color:#0f2f34;background:#a8f4e6;font-weight:700}.dev-range{align-items:center;gap:8px;margin-top:10px;display:flex}.dev-range input{accent-color:#a8f4e6;flex:1}.dev-check{cursor:pointer;align-items:center;gap:8px;margin-top:8px;display:flex}.dev-check input{accent-color:#a8f4e6;width:16px;height:16px}.dev-json{color:#b7f3e4;background:#0a2126;border-radius:8px;margin:0 0 10px;padding:10px;overflow-x:auto}.dev-audio{width:100%;height:34px;margin-top:10px}.dev-meter{--level:0;background:#a8f4e626;border-radius:6px;height:10px;margin:8px 0;display:block;overflow:hidden}.dev-meter i{height:100%;width:calc(var(--level) * 100%);background:linear-gradient(90deg,#8ff0c4,#a8f4e6);transition:width 80ms linear;display:block}.dev-empty{color:#7fa6a6}.dev-table{border-collapse:collapse;width:100%;font-size:11.5px}.dev-table th{text-align:left;color:#8fbdbd;padding-bottom:4px;font-weight:500}.dev-table td{border-top:1px solid #a8f4e61f;padding:3px 6px 3px 0}.dev-table .ok{color:#8ff0c4}.dev-table .no{color:#ffc98f}.dev-buttons{flex-wrap:wrap;gap:6px;display:flex}.dev-buttons button{color:#d7ecec;background:#a8f4e61f;border-radius:8px;padding:7px 10px;font-family:inherit;font-size:12px}.dev-buttons button:disabled{opacity:.5}.dev-buttons .danger{color:#ffc4c4;background:#ff7b7b2e}.dev-ok{color:#8ff0c4}.dev-issue{color:#ffc98f}.dev-notes{color:#9dc4c4;gap:4px;margin-top:6px;display:grid}.stage-chips{flex-wrap:wrap;gap:8px;display:flex}.stage-chip{border-radius:var(--radius-pill);align-items:center;gap:6px;padding-block:5px;padding-inline:8px 13px;font-size:.98rem;font-weight:700;line-height:1.3;display:inline-flex}.stage-chip__icon{border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.stage-chip--done{background:var(--mint);color:var(--teal-800)}.stage-chip--done .stage-chip__icon{background:var(--teal-600);color:var(--white)}.stage-chip--current{background:var(--soft-yellow);color:var(--ink);box-shadow:inset 0 0 0 2px var(--yellow)}.stage-chip--open{background:var(--white);color:var(--teal-800);box-shadow:inset 0 0 0 2px var(--teal-100)}.stage-chip__dot{background:var(--yellow-600);border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 4px #fec64359}.stage-chip--open .stage-chip__dot{background:var(--teal);box-shadow:none}.stage-chip--locked{color:var(--ink-faint);background:#f1f4f4}.stage-chip--locked .stage-chip__icon{color:#a9bcbf}.tap-bulbul{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s var(--ease-bounce);background:0 0;border:0;place-items:end center;padding:0;display:grid;position:relative}.tap-bulbul:active{transform:scale(.94)}.tap-bulbul__zzz{top:6%;font-size:2.4rem;animation:2.4s ease-in-out infinite float;position:absolute;inset-inline-end:4%}.home{flex-direction:column;gap:clamp(12px,2.4vh,22px);max-width:1120px;min-height:100dvh;margin-inline:auto;padding-bottom:24px;display:flex;position:relative}.home>:not(.home__scene){z-index:1;position:relative}.home__scene{z-index:0;background:#bfeee9 url(../images/home-scene.webp) bottom/cover no-repeat;position:fixed;inset:0}.home__scene:after{content:"";background:linear-gradient(#ffffff59 0%,#fff0 40%);position:absolute;inset:0}.home__top{border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-card);background:#ffffffc7;justify-content:space-between;align-items:center;margin-top:12px;padding:8px 10px 8px 16px;display:flex}.home__logo{width:auto;height:clamp(40px,6vw,52px)}.home__top-end{align-items:center;gap:10px;display:flex}.home__icon-btn{background:var(--mint);width:48px;height:48px;box-shadow:0 4px 0 var(--mint-600);cursor:pointer;border:0;border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.home__icon-btn:active{box-shadow:0 1px 0 var(--mint-600);transform:translateY(3px)}.home__hero{flex:1;grid-template-columns:1fr;place-items:end center;gap:8px;display:grid}@media (width>=820px){.home__hero{grid-template-columns:1.1fr 1fr;align-items:center;min-height:46vh}}.home__welcome{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}@media (width>=820px){.home__welcome{text-align:start;align-items:flex-start;padding-inline-start:12px}}.home__title{color:var(--teal-800);text-shadow:0 3px #ffffffe6,0 0 18px #fffc;align-items:center;gap:12px;margin:0;font-size:clamp(2.3rem,6.4vw,4rem);font-weight:800;line-height:1.1;display:inline-flex}.home__say{background:var(--white);width:44px;height:44px;color:var(--teal-700);box-shadow:var(--shadow-card);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.home__subtitle{border-radius:var(--radius-pill);color:var(--ink-soft);background:#ffffffb3;margin:0;padding:4px 16px;font-size:clamp(1.1rem,2.4vw,1.4rem);font-weight:700}.play-big{border-radius:var(--radius-pill);color:var(--ink);background:linear-gradient(170deg, var(--soft-yellow), var(--yellow));box-shadow:0 9px 0 var(--yellow-700), 0 22px 40px -18px #b87c0abf;font:inherit;cursor:pointer;transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);border:0;align-items:center;gap:16px;margin-top:10px;padding:12px 30px 12px 14px;animation:2.2s ease-in-out infinite home-breathe;display:flex}.play-big:active{box-shadow:0 1px 0 var(--yellow-700);animation:none;transform:translateY(8px)}.play-big__icon{background:var(--white);width:66px;height:66px;color:var(--yellow-700);box-shadow:inset 0 -4px 0 var(--yellow-100);border-radius:50%;place-items:center;font-size:2rem;display:grid}.play-big__text{flex-direction:column;align-items:flex-start;font-size:clamp(1.8rem,4.6vw,2.4rem);font-weight:800;line-height:1.05;display:flex}.play-big__text small{color:var(--yellow-700);font-size:1rem;font-weight:700}@keyframes home-breathe{0%,to{scale:1}50%{scale:1.04}}.home__bulbul{place-items:end center;display:grid;position:relative}.home__ground-shadow{filter:blur(2px);background:#785a1e2e;border-radius:50%;width:62%;height:22px;margin-top:-14px}.home__cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;display:grid}.home-card{-webkit-backdrop-filter:blur(8px);min-height:112px;box-shadow:0 7px 0 var(--card-edge,var(--teal-100)), var(--shadow-card);font:inherit;color:var(--ink);text-align:start;cursor:pointer;transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);background:#ffffffdb;border:0;border-radius:32px;align-items:center;gap:14px;padding:14px 16px;display:flex}.home-card:hover{transform:translateY(-3px)}.home-card:active{box-shadow:0 2px 0 var(--card-edge,var(--teal-100)), var(--shadow-card);transform:translateY(5px)}.home-card--coast{--card-edge:var(--aqua);background:linear-gradient(160deg,#ffffffeb,#a8f4e6bf)}.home-card--planet{--card-edge:var(--lavender-500);background:linear-gradient(160deg,#ffffffeb,#e5dbf4d9)}.home-card--wardrobe{--card-edge:var(--yellow-600);background:linear-gradient(160deg,#ffffffeb,#fff8a2d9)}.home-card__badge{width:76px;height:76px;color:var(--white);background:linear-gradient(160deg, var(--teal), var(--teal-700));box-shadow:0 5px 0 var(--teal-800);border-radius:24px;flex:none;place-items:center;font-size:3rem;font-weight:800;display:grid}.home-card--planet .home-card__badge{background:linear-gradient(160deg, var(--lavender-500), var(--lavender-700));box-shadow:0 5px #4f3f78}.home-card__badge--wardrobe{background:var(--white);box-shadow:0 5px 0 var(--yellow-600);font-size:2.4rem}.home-card__badge--wardrobe .wear-art{width:auto;height:68px}.home-card__body{flex-direction:column;flex:1;gap:8px;display:flex}.home-card__title{font-size:1.45rem;line-height:1.1}.home-card__meter{gap:6px;display:flex}.home-card__meter i{background:#173f471f;border-radius:99px;width:22px;height:10px}.home-card__meter i.is-on{background:var(--yellow-600)}.home-card__go{background:var(--white);width:40px;height:40px;color:var(--yellow-700);box-shadow:var(--shadow-card);border-radius:50%;flex:none;place-items:center;display:grid}.home-card__path{flex:1;justify-content:space-between;align-items:flex-start;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:relative}.home-card__path:before{content:"";top:25px;border-top:4px dashed #173f4726;position:absolute;inset-inline:24px}.mini-station{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex;position:relative}.mini-station__node{border:4px solid var(--tone-soft);background:var(--white);width:52px;height:52px;color:var(--tone-deep);border-radius:50%;place-items:center;display:grid}.mini-station--done .mini-station__node{background:var(--tone);border-color:var(--tone);color:var(--tone-ink)}.mini-station--current .mini-station__node{border-color:var(--tone);box-shadow:0 0 0 5px var(--tone-faint);animation:1.8s ease-in-out infinite home-breathe}.mini-station--locked .mini-station__node{color:var(--ink-faint);background:#173f4714;border-color:#0000}.mini-station__name{text-align:center;color:var(--ink-soft);font-size:.82rem;font-weight:800;line-height:1.15}.mini-station--locked .mini-station__name{color:var(--ink-faint)}.mini-station .bulbul{height:40px}.home-card__stars{background:var(--white);vertical-align:middle;border-radius:99px;margin-inline-start:6px;padding:0 10px;font-size:1.05rem;display:inline-block}.bubble{background:var(--white);max-width:100%;box-shadow:var(--shadow-card);border:2px solid var(--teal-100);color:var(--ink);transform-origin:var(--bubble-origin,center);border-radius:26px;align-items:center;gap:10px;padding:14px 20px;font-weight:700;display:flex;position:relative}.bubble--md{font-size:1.2rem}.bubble--lg{padding:18px 24px;font-size:clamp(1.35rem,3.2vw,1.75rem)}.bubble__text{flex:1;min-width:0}.bubble:after{content:"";background:var(--white);border:2px solid var(--teal-100);border-radius:0 0 6px;width:22px;height:22px;position:absolute}.bubble--tail-start:after{inset-inline-start:-11px;border-top-color:#0000;border-left-color:#0000;top:50%;translate:0 -50%;rotate:135deg}[dir=rtl] .bubble--tail-start:after{rotate:-45deg}.bubble--tail-end:after{inset-inline-end:-11px;border-top-color:#0000;border-left-color:#0000;top:50%;translate:0 -50%;rotate:-45deg}[dir=rtl] .bubble--tail-end:after{rotate:135deg}.bubble--tail-bottom:after{bottom:-11px;border-top-color:#0000;border-left-color:#0000;inset-inline-start:calc(50% - 11px);rotate:45deg}.bubble--tail-top:after{top:-11px;border-top-color:#0000;border-left-color:#0000;inset-inline-start:calc(50% - 11px);rotate:225deg}.bubble__replay{width:44px;height:44px;color:var(--teal-700);background:var(--teal-50);transition:transform .15s var(--ease-bounce);border-radius:50%;flex:none;place-items:center;display:grid}.bubble__replay:active{transform:scale(.9)}.journey__world{justify-content:center;display:flex}.journey-map{max-width:640px;margin:18px auto 30px;position:relative}.journey-map__path{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.journey-map__segment{fill:none;stroke:#173f472e;stroke-width:9px;stroke-linecap:round;stroke-dasharray:1 20}.journey-map__segment--open{stroke:var(--teal);stroke-width:12px;stroke-dasharray:none;filter:drop-shadow(0 4px #1f7f8540)}.journey-map__stations{position:absolute;inset:0}.station{--node-edge:#d5dddd;flex-direction:column;align-items:center;gap:8px;width:150px;display:flex;position:absolute;translate:-50%}.station__node{border:5px solid var(--white);color:#9db1b4;width:96px;height:96px;box-shadow:0 7px 0 var(--node-edge), var(--shadow-card);transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);background:#eef2f2;border-radius:50%;place-items:center;display:grid;position:relative}.station__node:active{box-shadow:0 2px 0 var(--node-edge), var(--shadow-card);transform:translateY(5px)}.station--done{--node-edge:var(--teal-800)}.station--done .station__node{background:linear-gradient(160deg, var(--teal), var(--teal-600));color:var(--white)}.station--current{--node-edge:var(--yellow-600)}.station--current .station__node{background:linear-gradient(160deg, var(--soft-yellow), var(--yellow));color:var(--ink);animation:2.2s ease-in-out infinite station-glow}.station--open{--node-edge:var(--teal-200)}.station--open .station__node{background:var(--white);border-color:var(--teal-100)}@keyframes station-glow{0%,to{box-shadow:0 7px 0 var(--node-edge), 0 0 0 0 #fec64380, var(--shadow-card)}50%{box-shadow:0 7px 0 var(--node-edge), 0 0 0 16px #fec64300, var(--shadow-card)}}.station__ring{pointer-events:none;width:calc(100% + 34px);height:calc(100% + 34px);position:absolute;inset:-17px;rotate:-90deg}.station__ring-track{fill:none;stroke:#fec64347;stroke-width:7px}.station__ring-fill{fill:none;stroke:var(--yellow-600);stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease-out)}.station__label{white-space:nowrap;background:#ffffffe6;border-radius:16px;flex-direction:column;align-items:center;padding:3px 14px 5px;font-size:1.08rem;font-weight:800;line-height:1.15;display:flex;box-shadow:0 2px 8px #173f4714}.station__label small{color:var(--ink-soft);font-size:.8rem;font-weight:700}.station--locked .station__label{color:var(--ink-faint)}.station__stars{color:var(--yellow);align-items:flex-end;gap:1px;display:flex;position:absolute;top:-18px}.station__stars svg{stroke:var(--yellow-600);stroke-width:1.4px}.station__bulbul{pointer-events:none;position:absolute;top:-12px}.station__bulbul--left{right:calc(50% + 52px)}.station__bulbul--right{left:calc(50% + 52px)}.station__hint{z-index:5;width:max-content;max-width:250px;position:absolute;top:calc(100% + 8px)}.station--nudge .station__node{animation:.45s ease-in-out shake}.journey__done{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;max-width:640px;margin:0 auto;padding:18px 22px;display:flex}.journey__done h2{font-size:var(--fs-h2)}.station.station--done{--node-edge:var(--tone-edge)}.station.station--done .station__node{background:linear-gradient(160deg, var(--tone-soft), var(--tone));color:var(--tone-ink)}.station.station--current{--node-edge:var(--tone-edge)}.station.station--current .station__node{background:linear-gradient(160deg, var(--white), var(--tone-soft));color:var(--tone-deep);box-shadow:0 0 0 6px var(--tone)}.station.station--open .station__node{border-color:var(--tone-soft)}.station .station__label{color:var(--tone-deep)}.station.station--locked .station__node{filter:grayscale();opacity:.7}.confetti{pointer-events:none;z-index:70;position:fixed;inset:0;overflow:hidden}.confetti span{display:block;position:absolute;top:0}.wardrobe{flex-direction:column;gap:18px;max-width:760px;margin-inline:auto;padding-bottom:28px;display:flex}.wardrobe__stage{border-radius:var(--radius-xl);background:radial-gradient(60% 50% at 50% 70%, var(--white) 0%, transparent 70%), linear-gradient(180deg, var(--lavender-100), var(--mint));box-shadow:var(--shadow-card);place-items:end center;padding:26px 16px 10px;display:grid;position:relative}.wardrobe__stage:after{content:"";background:#173f471f;border-radius:50%;width:min(70%,320px);height:22px;margin-top:-14px}.wardrobe__rail{top:14px;background:var(--lavender-500);opacity:.6;border-radius:99px;height:6px;position:absolute;inset-inline:30px}.wardrobe__grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0;list-style:none;display:grid}.outfit{border-radius:var(--radius-lg);background:var(--white);width:100%;box-shadow:0 6px 0 var(--tone-soft), var(--shadow-card);font:inherit;cursor:pointer;border:4px solid #0000;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;display:flex;position:relative}.outfit__art{place-items:center;width:100%;height:clamp(96px,16vh,140px);display:grid;position:relative}.outfit__art .wear-art{object-fit:contain;width:100%;height:100%}.outfit__name{color:var(--tone-deep);font-size:1.15rem;font-weight:800}.outfit--on{border-color:var(--tone);background:var(--tone-faint)}.outfit__check{top:8px;background:var(--tone);width:28px;height:28px;color:var(--tone-ink);border-radius:50%;place-items:center;display:grid;position:absolute;inset-inline-end:8px}@keyframes outfit-glow{0%,to{box-shadow:0 6px 0 var(--tone-soft), 0 0 0 0 #fec64399}50%{box-shadow:0 6px 0 var(--tone-soft), 0 0 0 16px #fec64300}}@media (orientation:landscape) and (width>=820px){.wardrobe{grid-template-rows:auto 1fr;grid-template-columns:1fr 1.1fr;column-gap:22px;max-width:1180px;height:100dvh;padding-bottom:16px;display:grid;overflow:hidden}.wardrobe .topbar{grid-column:1/-1}.wardrobe__stage{align-self:stretch;place-items:center}.wardrobe__grid{align-self:center}.wardrobe .outfit__art{height:clamp(90px,20vh,150px)}}.wardrobe__wallet{border-radius:var(--radius-pill);background:linear-gradient(165deg, var(--soft-yellow), var(--yellow));box-shadow:0 4px 0 var(--yellow-700);color:var(--ink);align-items:center;gap:6px;padding:6px 16px;font-size:1.5rem;font-weight:800;display:inline-flex}.outfit--owned{--tone:var(--mint-600);--tone-soft:var(--mint);--tone-faint:var(--teal-50);--tone-deep:var(--teal-700);--tone-ink:var(--white)}.outfit--affordable{--tone:var(--yellow);--tone-soft:var(--soft-yellow);--tone-faint:var(--yellow-100);--tone-deep:var(--yellow-700);--tone-ink:var(--ink);border-color:var(--yellow);animation:1.6s ease-in-out infinite outfit-glow}.outfit--saving{--tone:var(--lavender-500);--tone-soft:var(--lavender);--tone-faint:var(--lavender-100);--tone-deep:var(--lavender-700);--tone-ink:var(--white)}.outfit--saving .outfit__art{opacity:.55;filter:grayscale(.35)}.outfit__price{border-radius:var(--radius-pill);background:var(--yellow);color:var(--ink);align-items:center;gap:4px;padding:2px 12px;font-size:1.1rem;font-weight:800;display:inline-flex}.outfit--saving .outfit__price{background:var(--lavender-100);color:var(--lavender-700)}.outfit__saving{background:var(--lavender-100);border-radius:99px;width:80%;height:8px;display:block;overflow:hidden}.outfit__saving span{background:var(--yellow);height:100%;display:block}.outfit--nudge{animation:.45s ease-in-out shake}.sounds__intro{justify-content:center;align-items:center;gap:14px;margin-bottom:22px;display:flex}.world-cards{gap:20px;display:grid}@media (width>=720px){.world-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.world-card{border-radius:var(--radius-xl);text-align:start;min-height:340px;box-shadow:0 8px 0 var(--card-edge), var(--shadow-float);transition:transform .16s var(--ease-out), box-shadow .16s var(--ease-out);flex-direction:column;align-items:flex-start;gap:2px;padding:22px 24px 26px;display:flex;position:relative;overflow:hidden}.world-card:hover{transform:translateY(-3px)}.world-card:active{box-shadow:0 2px 0 var(--card-edge), var(--shadow-card);transform:translateY(6px)}.world-card>*{position:relative}.world-card--coast{--card-edge:#7fdcc9;background:linear-gradient(170deg, #f1fffc 0%, var(--aqua) 70%)}.world-card--planet{--card-edge:var(--lavender-500);background:linear-gradient(170deg, #fdfbff 0%, var(--lavender) 70%)}.world-card__scenery{width:100%;height:100%;position:absolute;inset:0}.world-card__letter{color:var(--teal-800);text-shadow:0 6px #fffc;font-size:7.4rem;font-weight:800;line-height:1.05}.world-card--planet .world-card__letter{color:var(--lavender-700)}.world-card__name{font-size:2rem;font-weight:800;line-height:1.1}.world-card__world{color:var(--ink-soft);font-size:1.1rem;font-weight:700}.world-card__stations{gap:7px;margin-top:14px;display:flex}.world-card__station{background:#ffffffb3;border-radius:50%;width:16px;height:16px;box-shadow:inset 0 0 0 2px #173f471f}.world-card__station--done{background:var(--teal-600);box-shadow:none}.world-card__station--current,.world-card__station--open{background:var(--yellow);box-shadow:0 0 0 4px #fec64359}.world-card__status{font-size:var(--fs-small);color:var(--ink-soft);font-weight:700}.world-card__cta{border-radius:var(--radius-pill);background:var(--yellow);box-shadow:0 5px 0 var(--yellow-600);align-items:center;gap:8px;margin-top:auto;padding:10px 24px;font-size:1.3rem;font-weight:800;display:inline-flex}.world-card__bulbul{inset-block-end:18px;inset-inline-end:22px;position:absolute!important}.dock{z-index:20;padding:14px var(--gutter) max(16px, env(safe-area-inset-bottom));margin-inline:calc(var(--gutter) * -1);background:linear-gradient(180deg, #fffcf300 0%, var(--cream) 22%);flex-direction:column;align-items:center;gap:4px;display:flex;position:sticky;bottom:0}.dock__controls{justify-content:center;align-items:center;gap:16px;width:100%;max-width:520px;display:flex}.dock__listen{flex:1;max-width:190px}.dock__listen--playing{animation:.6s ease-in-out infinite wiggle}.dock__listen--hidden{visibility:hidden}.dock__spacer{flex:1;max-width:190px;display:none}@media (width>=560px){.dock__spacer{display:block}}.mic{--mic-level:0;width:clamp(88px,14vh,108px);height:clamp(88px,14vh,108px);color:var(--white);background:linear-gradient(165deg, var(--teal), var(--teal-600));box-shadow:0 8px 0 var(--teal-800), var(--shadow-teal);transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out), background .2s;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.mic:active:not(:disabled){box-shadow:0 2px 0 var(--teal-800), var(--shadow-card);transform:translateY(6px)}.mic:disabled{opacity:.75}.mic__rings{pointer-events:none;position:absolute;inset:0}.mic__rings i{border:4px solid var(--teal);opacity:0;border-radius:50%;position:absolute;inset:0}.mic--live{background:linear-gradient(165deg, #ff9d9d, var(--rec));scale:calc(1 + var(--mic-level) * .06);box-shadow:0 8px #d85f5f,0 16px 34px -18px #d85f5fcc}.mic--live .mic__rings i{border-color:var(--rec);opacity:1;scale:calc(1 + var(--mic-level) * .5);transition:scale 90ms linear;animation:1.4s ease-out infinite mic-ring}.mic--live .mic__rings i:nth-child(2){animation-delay:.7s}@keyframes mic-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}.mic--busy{background:linear-gradient(165deg, var(--lavender-500), var(--lavender-700));box-shadow:0 8px 0 #57448a, var(--shadow-card)}.mic--demo{box-shadow:0 8px 0 #7d9295, var(--shadow-card);outline:4px dashed var(--ink-faint);outline-offset:5px;background:linear-gradient(165deg,#c9d6d8,#9fb3b6)}.mic__dots{gap:7px;display:flex}.mic__dots i{background:var(--white);border-radius:50%;width:12px;height:12px;animation:1s ease-in-out infinite dot-bounce}.mic__dots i:nth-child(2){animation-delay:.15s}.mic__dots i:nth-child(3){animation-delay:.3s}.dock__label{text-align:center;align-items:center;gap:8px;margin-top:6px;font-size:clamp(1.3rem,4vw,1.6rem);font-weight:800;display:flex}.dock__rec-dot{background:var(--rec);border-radius:50%;width:14px;height:14px;animation:1s ease-in-out infinite rec-blink}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.25}}.dock__hint{font-size:var(--fs-small);color:var(--ink-soft);font-weight:700}.dock__mic-note{border-radius:var(--radius-pill);background:var(--lavender-100);color:var(--lavender-700);text-align:center;align-items:center;gap:10px;margin-top:6px;padding:6px 8px 6px 16px;font-size:.95rem;font-weight:700;display:flex}.dock__mic-fix{border-radius:var(--radius-pill);background:var(--white);min-height:40px;color:var(--teal-800);box-shadow:0 3px 0 var(--teal-200);flex:none;padding:0 16px;font-size:.95rem;font-weight:800}.dock__mic-fix:active{box-shadow:0 1px 0 var(--teal-200);transform:translateY(2px)}.dock__controls{align-items:flex-start;gap:clamp(28px,8vw,64px)}.dock__slot{flex-direction:column;align-items:center;gap:8px;display:flex}.dock__name{min-height:1.6em;color:var(--ink);align-items:center;gap:6px;font-size:1.15rem;font-weight:800;display:inline-flex}.hear{width:clamp(96px,15vh,116px);height:clamp(96px,15vh,116px);color:var(--ink);background:linear-gradient(165deg, var(--soft-yellow), var(--yellow));box-shadow:0 8px 0 var(--yellow-700), 0 16px 34px -18px #b87c0acc;cursor:pointer;transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);border:0;border-radius:50%;place-items:center;display:grid;position:relative}.hear:active:not(:disabled){box-shadow:0 2px 0 var(--yellow-700);transform:translateY(6px)}.hear:disabled{opacity:.6}.hear__waves{pointer-events:none;position:absolute;inset:0}.hear__waves i{border:4px solid var(--yellow);opacity:0;border-radius:50%;position:absolute;inset:0}.hear--playing .hear__waves i{animation:1.2s ease-out infinite hear-wave}.hear--playing .hear__waves i:nth-child(2){animation-delay:.6s}@keyframes hear-wave{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}.dock .mic{width:clamp(96px,15vh,116px);height:clamp(96px,15vh,116px)}.fish{flex-direction:column;gap:14px;max-width:720px;display:flex}.ai-chip{border-radius:var(--radius-pill);background:var(--lavender);color:var(--ink);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;font-weight:700;display:inline-flex}.fish__stage{background:linear-gradient(180deg, var(--aqua) 0%, var(--white) 75%);flex-direction:column;align-items:center;gap:8px;padding:22px 16px 18px;display:flex;position:relative;overflow:hidden}.fish__picture{width:min(340px,78vw)}.fish-picture{width:100%;height:auto;display:block}.fish-picture--swim{animation:1.6s ease-in-out infinite float}.fish__word{color:var(--ink);margin:0;font-size:clamp(2.6rem,9vw,3.6rem);font-weight:800;line-height:1.2}.fish__meter{gap:10px;display:flex}.fish__star{background:var(--cream);border:3px dashed var(--mint);width:52px;height:52px;color:var(--ink-faint);border-radius:50%;place-items:center;transition:transform .25s,background .25s;display:grid}.fish__star--on{background:var(--yellow);border:3px solid var(--yellow);color:var(--white);transform:scale(1.08)}.fish__bulbul{inset-inline-start:6px;position:absolute;bottom:4px}@media (width<=520px){.fish__bulbul{display:none}}.fish__message{border-radius:var(--radius-md);background:var(--soft-yellow);min-height:3.2em;color:var(--ink);text-align:center;margin:0;padding:12px 16px;font-size:1.2rem;font-weight:700}.fish__message--correct{background:var(--mint)}.fish__message--retry,.fish__message--not-heard{background:var(--lavender)}.fish__message--offline,.fish__message--no-mic{background:var(--cream);border:2px dashed var(--ink-faint)}.fish__dock{background:0 0;margin-inline:0;position:static}.fish__done{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.fish-adult{color:var(--ink-soft);padding:12px 16px;font-size:.95rem}.fish-adult summary{cursor:pointer;align-items:center;gap:8px;font-weight:700;display:flex}.fish-adult__facts{grid-template-columns:max-content 1fr;gap:6px 14px;margin:12px 0;display:grid}.fish-adult__facts dt{color:var(--ink);font-weight:700}.fish-adult__facts dd{overflow-wrap:anywhere;margin:0}.fish-adult__dot{background:var(--ink-faint);border-radius:50%;width:10px;height:10px;margin-inline-end:6px;display:inline-block}.fish-adult__dot.is-on{background:var(--teal)}.fish-adult__file{flex-direction:column;gap:6px;font-weight:700;display:flex}.fish-adult__note{margin:10px 0 0;font-size:.85rem}.fish-entry{border:2px solid var(--teal);background:linear-gradient(135deg, var(--aqua), var(--mint));width:100%;font:inherit;color:var(--ink);text-align:start;cursor:pointer;align-items:center;gap:14px;padding:14px 16px;display:flex}.fish-entry__fish{flex:none;width:96px}.fish-entry__text{flex-direction:column;flex:1;gap:4px;display:flex}.fish-entry__title{font-size:1.35rem;font-weight:800}.fish-entry__line{color:var(--ink-soft)}.feedback{inset-inline:0;z-index:40;padding:0 var(--gutter) max(14px, env(safe-area-inset-bottom));position:fixed;bottom:0}.feedback__inner{border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--white);width:100%;max-width:640px;box-shadow:var(--shadow-float);border:3px solid var(--feedback-accent,var(--teal-100));border-bottom:0;grid-template-columns:auto 1fr;align-items:center;gap:10px 16px;margin-inline:auto;padding:18px 20px 20px;display:grid}.feedback--correct .feedback__inner{--feedback-accent:var(--mint-600);background:linear-gradient(180deg, #f3fffa, var(--white) 60%)}.feedback--retry .feedback__inner{--feedback-accent:var(--yellow);background:linear-gradient(180deg, #fffdf0, var(--white) 60%)}.feedback--not-heard .feedback__inner{--feedback-accent:var(--lavender-500);background:linear-gradient(180deg, #fbf9ff, var(--white) 60%)}.feedback__bulbul{grid-row:span 2}.feedback__text h2{font-size:clamp(1.7rem,5.5vw,2.2rem);line-height:1.2}.feedback__text p{color:var(--ink-soft);font-size:1.1rem;font-weight:700}.feedback__meter{grid-column:2;justify-self:start}.feedback__actions{flex-wrap:wrap;grid-column:1/-1;gap:12px;display:flex}.feedback__actions .btn{flex:1;min-width:160px}.feedback__skip{grid-column:1/-1;justify-self:center}@media (width<=420px){.feedback__inner{grid-template-columns:96px 1fr;gap:8px 12px;padding:14px 16px 16px}.feedback__bulbul{--bulbul-size:96px!important}}.feedback__cheer{color:var(--teal-700);animation:pop .42s var(--ease-bounce);font-size:clamp(2rem,6vw,2.8rem)}.feedback__next-bar{background:var(--teal-100);border-radius:99px;width:min(220px,60%);height:8px;display:block;position:relative;overflow:hidden}.feedback__next-bar:after{content:"";background:var(--teal);transform-origin:100%;animation:1.9s linear forwards next-fill;position:absolute;inset:0}@keyframes next-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.feedback__hear{background:linear-gradient(165deg, var(--soft-yellow), var(--yellow));color:var(--ink)}.picture{aspect-ratio:1;background:radial-gradient(circle at 50% 35%, var(--white), var(--teal-50) 70%);border-radius:28px;place-items:center;display:grid;box-shadow:inset 0 -6px #173f470f}.picture--sm{border-radius:20px;width:74px}.picture--md{width:clamp(88px,min(26vw,18vh),140px)}.picture--lg{border-radius:34px;width:clamp(104px,min(34vw,24vh),190px)}.picture__emoji{filter:drop-shadow(0 6px 8px #173f4733);font-size:.62em;line-height:1}.picture--sm .picture__emoji{font-size:44px}.picture--md .picture__emoji{font-size:clamp(46px,min(15vw,10vh),76px)}.picture--lg .picture__emoji{font-size:clamp(56px,min(20vw,14vh),110px)}.picture img{object-fit:contain;width:76%;height:76%}.picture--xl{border-radius:40px;width:clamp(150px,min(48vw,32vh),260px)}.picture--xl .picture__emoji{font-size:clamp(84px,min(26vw,18vh),150px)}.picture--xl img{width:88%;height:88%}.target-text{color:var(--ink);letter-spacing:0;font-weight:800;line-height:1.35}.target-text--md{font-size:1.6rem}.target-text--lg{font-size:clamp(1.8rem,min(7vw,5vh),3.2rem)}.target-text--xl{font-size:clamp(3.4rem,min(20vw,15vh),8rem);line-height:1.2}.target-text__sound{color:var(--teal-600);text-shadow:0 3px #a8f4e6b3}.levelup{z-index:50;padding:var(--gutter);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#173f4759;place-items:center;display:grid;position:fixed;inset:0}.levelup__card{border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 10%, #fffdf2, var(--white) 60%);width:min(520px,100%);max-height:92dvh;box-shadow:var(--shadow-float);border:3px solid var(--yellow);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:22px 24px 26px;display:flex;overflow:auto}.levelup__card h2{font-size:clamp(2rem,7vw,2.6rem);line-height:1.15}.levelup__card p{color:var(--ink-soft);font-size:1.2rem;font-weight:700}.levelup__stars{border-radius:var(--radius-pill);background:var(--soft-yellow);color:var(--yellow-700);align-items:center;gap:6px;padding:6px 20px;font-size:1.4rem;font-weight:800;display:inline-flex}.levelup__stars svg{color:var(--yellow);stroke:var(--yellow-600)}.levelup__unlock{border-radius:var(--radius-lg);background:var(--teal-50);width:100%;box-shadow:inset 0 0 0 2px var(--teal-100);flex-direction:column;align-items:center;gap:4px;margin-top:6px;padding:14px 18px;display:flex}.levelup__unlock strong{font-size:1.3rem}.levelup__unlock span{color:var(--ink-soft);font-weight:700}.levelup__unlock-icon{color:var(--teal-700);align-items:center;gap:10px;margin-bottom:4px;display:inline-flex}.levelup__unlock--journey{background:var(--soft-yellow);box-shadow:inset 0 0 0 2px var(--yellow)}.levelup__actions{flex-wrap:wrap;gap:12px;width:100%;margin-top:10px;display:flex}.levelup__actions .btn{flex:1;min-width:170px}.levelup__earned{color:var(--ink-soft);margin:0;font-size:1.3rem;font-weight:800}.levelup__stars-row{align-items:center;gap:16px;display:flex}.levelup__bonus{color:var(--yellow-700);font-size:2.4rem;font-weight:800}.levelup__wallet{border-radius:var(--radius-pill);background:linear-gradient(165deg, var(--soft-yellow), var(--yellow));box-shadow:0 4px 0 var(--yellow-700);align-items:center;gap:6px;padding:6px 18px;font-size:1.6rem;display:inline-flex}.levelup__more{gap:8px;display:flex}.practice{flex-direction:column;min-height:100dvh;padding-bottom:0;display:flex}.practice__level{flex-direction:column;line-height:1.15;display:flex}.practice__level small{color:var(--ink-soft);font-size:.82rem;font-weight:700}.practice__stage{flex-direction:column;flex:1;align-items:center;gap:clamp(10px,2.4vh,18px);width:100%;max-width:640px;margin-inline:auto;padding-block:4px 12px;display:flex}.practice__coach{width:100%;transition:opacity .24s var(--ease-out), transform .24s var(--ease-out);align-items:center;gap:12px;display:flex}.practice--feedback .practice__coach{opacity:0;pointer-events:none;transform:translateY(-8px)}.practice__coach .bubble{flex:1;min-height:74px}.practice__board{flex:1;place-items:center;width:100%;display:grid}.intro{z-index:45;padding:var(--gutter);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#173f4752;place-items:center;display:grid;position:fixed;inset:0}.intro__card{border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 0%, var(--white), var(--teal-50) 120%);width:min(480px,100%);max-height:92dvh;box-shadow:var(--shadow-float);border:3px solid var(--teal-100);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:20px 24px 24px;display:flex;overflow:auto}.intro__eyebrow{font-size:var(--fs-small);color:var(--teal-700);font-weight:800}.intro__card h2{font-size:clamp(1.9rem,6vw,2.4rem);line-height:1.15}.intro__glyph{background:var(--white);width:82px;height:82px;box-shadow:inset 0 0 0 2px var(--teal-100);border-radius:26px;place-items:center;display:grid}.intro__targets{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.intro__targets li{border-radius:var(--radius-pill);background:var(--white);box-shadow:0 3px 0 var(--teal-100);align-items:center;gap:6px;padding:6px 14px;font-size:1.15rem;font-weight:800;display:inline-flex}.intro__card p{color:var(--ink-soft);font-weight:700}.intro__card .btn--xl{width:100%;margin-top:6px}.practice{background:radial-gradient(120% 60% at 50% 0%, var(--tone-faint,var(--teal-50)) 0%, transparent 70%)}.practice__level{align-items:center;gap:6px}.practice__level-name{align-items:center;gap:10px;font-size:clamp(1.2rem,3vw,1.5rem);display:inline-flex}.practice__letter{background:var(--tone);width:42px;height:42px;color:var(--tone-ink);box-shadow:0 4px 0 var(--tone-edge);border-radius:14px;place-items:center;font-size:1.6rem;display:grid}.practice__words{gap:6px;display:inline-flex}.practice__words i{background:var(--line);border-radius:50%;width:12px;height:12px}.practice__words i.is-done{background:var(--tone-deep)}.practice__words i.is-now{background:var(--tone);border-radius:99px;width:26px}.practice__board{align-content:center;gap:clamp(12px,2.4vh,20px)}.practice .target-card{box-shadow:0 9px 0 var(--tone-soft), 0 0 0 4px var(--tone-soft) inset, var(--shadow-card);padding-inline:clamp(24px,6vw,48px)}.practice .target-card--speaking{box-shadow:0 9px 0 var(--tone-soft), 0 0 0 6px var(--tone), var(--shadow-card)}.practice .target-card__speaker{background:var(--tone-faint);color:var(--tone-deep)}.practice .picture{background:radial-gradient(circle at 50% 35%, var(--white), var(--tone-faint) 72%)}.repeat-dots{gap:clamp(8px,2vw,14px);margin:0;padding:0;list-style:none;display:flex}.repeat-dot{border:4px dashed var(--tone-soft);background:var(--white);width:clamp(34px,7vw,46px);height:clamp(34px,7vw,46px);transition:transform .3s var(--ease-bounce), background .2s;border-radius:50%;place-items:center;font-size:1.3rem;display:grid}.repeat-dot--done{border:4px solid var(--tone-edge);background:var(--tone);animation:pop .42s var(--ease-bounce);font-size:1.5rem;transform:scale(1.08)}@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.25)}to{transform:scale(1.08)}}.start-card{border-top:10px solid var(--tone);gap:10px}.start-card h2{color:var(--tone-deep);font-size:var(--fs-h1);margin:0}.start-card__glyph{color:var(--tone-deep);font-size:1.4rem}.start-card__go{width:128px;height:128px;color:var(--tone-ink);background:linear-gradient(160deg, var(--tone-soft), var(--tone));box-shadow:0 10px 0 var(--tone-edge), var(--shadow-float);cursor:pointer;transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);border:0;border-radius:50%;place-items:center;margin-block:6px;font-size:3.4rem;animation:1.8s ease-in-out infinite breathe;display:grid}.start-card__go span{translate:-4px}.start-card__go:active{box-shadow:0 2px 0 var(--tone-edge);animation:none;transform:translateY(8px)}@keyframes breathe{0%,to{scale:1}50%{scale:1.07}}.nest-game{flex-direction:column;max-width:none;height:100dvh;padding-bottom:12px;display:flex;position:relative;overflow:hidden}.nest-game>:not(.nest-game__sky){z-index:1;position:relative}.nest-game__sky{z-index:0;filter:saturate(.9);background:linear-gradient(#ffffff8c,#ffffff26 40%),#bfeee9 url(../images/home-scene.webp) bottom/cover no-repeat;position:fixed;inset:0}.nest-game__title{align-items:center;gap:10px;font-size:clamp(1.2rem,3vw,1.6rem);display:inline-flex}.nest-game__body{flex:1;grid-template-rows:1fr auto;grid-template-columns:1fr;gap:10px;width:100%;max-width:1180px;min-height:0;margin-inline:auto;display:grid}@media (orientation:landscape) and (width>=700px){.nest-game__body{grid-template-rows:1fr;grid-template-columns:1.35fr 1fr;align-items:center}}.nest-game__scene{place-items:center;height:100%;min-height:0;display:grid}.nest-game__tree-box{aspect-ratio:3/4;max-width:100%;height:100%;max-height:100%;position:relative}.tree{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tree__pad{fill:#fff0;transition:fill .4s}.tree__branch--reached .tree__pad{fill:#fec6438c}.tree__branch--reached .tree__leaves{animation:leaf-wiggle .6s var(--ease-bounce);transform-box:fill-box;transform-origin:50%}.tree__nest--home{animation:1.6s ease-in-out infinite nest-glow}@keyframes leaf-wiggle{0%{transform:scale(.6)}60%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes nest-glow{0%,to{filter:drop-shadow(0 0 #fec64300)}50%{filter:drop-shadow(0 0 18px #fec643e6)}}.nest-bird{z-index:2;pointer-events:none;position:absolute;translate:-50% -100%}.nest-bird--flap .bulbul__motion{transform-origin:50% 60%;animation:.34s ease-in-out infinite bird-flap}.nest-bird--try .bulbul__motion{transform-origin:50% 95%;animation:.6s ease-in-out infinite bird-try}.nest-bird--struggle .bulbul__motion{transform-origin:50% 95%;animation:.32s ease-in-out infinite bird-struggle}.nest-bird--flying .bulbul__motion{transform-origin:50%;animation:.5s ease-in-out infinite bird-glide}.nest-bird--flying:after{content:"✨";inset-inline-start:-10%;font-size:clamp(1.6rem,4vh,2.6rem);animation:.5s ease-out infinite bird-trail;position:absolute;bottom:20%}.nest-bird--home .bulbul__motion{animation:bird-home .9s var(--ease-bounce) 3}@keyframes bird-flap{0%,to{transform:translateY(0)rotate(-3deg)scaleY(1)}50%{transform:translateY(-7%)rotate(3deg)scaleY(.94)}}@keyframes bird-try{0%,to{transform:translateY(0)}40%{transform:translateY(-9%)scaleY(1.03)}60%{transform:translateY(-9%)scaleY(1.03)}}@keyframes bird-struggle{0%,to{transform:rotate(0)translate(0)}25%{transform:rotate(-7deg)translate(-3%)translateY(-3%)}75%{transform:rotate(7deg)translate(3%)translateY(-3%)}}@keyframes bird-glide{0%,to{transform:rotate(-10deg)translateY(0)}50%{transform:rotate(-4deg)translateY(-6%)}}@keyframes bird-trail{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-40%,30%)scale(.5)}}@keyframes bird-home{0%{transform:scale(1)}50%{transform:scale(1.18)translateY(-8%)}to{transform:scale(1)}}.nest-game__hud{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-card);background:#ffffffd1;flex-direction:column;align-items:center;gap:clamp(8px,1.8vh,16px);padding:clamp(12px,2vh,22px) 16px;display:flex}.nest-game__say{min-height:1.4em;color:var(--teal-800);text-align:center;margin:0;font-size:clamp(1.3rem,3.2vw,1.8rem);font-weight:800}.sound-meter{--meter:clamp(130px, 24vh, 210px);--meter-colour:var(--line);width:var(--meter);height:var(--meter);border:8px solid var(--meter-colour);background:var(--white);border-radius:50%;place-items:center;transition:border-color .2s;display:grid;position:relative;overflow:hidden}.sound-meter__fill{background:var(--meter-colour);opacity:.85;transform-origin:bottom;transform:scaleY(var(--fill,0));transition:transform .18s ease-out,background .2s;position:absolute;inset:0}.sound-meter__face{font-size:calc(var(--meter) * .36);line-height:1;position:relative}.sound-meter--green{--meter-colour:var(--mint-600);animation:1.2s ease-in-out infinite meter-glow}.sound-meter--yellow{--meter-colour:var(--yellow)}.sound-meter--red{--meter-colour:#ff9b8a}.sound-meter--quiet,.sound-meter--off{--meter-colour:var(--teal-100)}@keyframes meter-glow{0%,to{box-shadow:0 0 #6fc9a499}50%{box-shadow:0 0 0 14px #6fc9a400}}.hold-timer{align-items:center;gap:6px;width:min(100%,320px);display:flex}.hold-timer__icon{font-size:1.5rem}.hold-timer__seg{background:var(--teal-50);height:18px;box-shadow:inset 0 0 0 2px var(--teal-100);border-radius:99px;flex:1;overflow:hidden}.hold-timer__seg span{background:linear-gradient(90deg, var(--teal), var(--mint-600));height:100%;transition:width .12s linear;display:block}.nest-steps{gap:10px;margin:0;padding:0;list-style:none;display:flex}.nest-step{border:4px dashed var(--teal-200);background:var(--white);border-radius:50%;place-items:center;width:clamp(36px,6vh,46px);height:clamp(36px,6vh,46px);font-size:1.4rem;display:grid}.nest-step--done{border:4px solid var(--yellow-600);background:var(--yellow-100);animation:pop .42s var(--ease-bounce)}.nest-game__controls{align-items:center;gap:18px;display:flex}.nest-go{border-radius:var(--radius-pill);color:var(--white);background:linear-gradient(165deg, var(--teal), var(--teal-600));box-shadow:0 8px 0 var(--teal-800), var(--shadow-teal);font:inherit;cursor:pointer;border:0;align-items:center;gap:10px;padding:14px 26px;font-size:1.5rem;font-weight:800;animation:1.8s ease-in-out infinite home-breathe;display:inline-flex}.nest-go:active{box-shadow:0 2px 0 var(--teal-800);transform:translateY(6px)}.nest-mic-note{border-radius:var(--radius-md);background:var(--yellow-100);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:10px 14px;font-weight:700;display:flex}.nest-mic-note p{margin:0}.nest-game__intro-art{font-size:3rem}@media (orientation:portrait),(width<=699px){.nest-game__hud{flex-flow:wrap;justify-content:center}.sound-meter{--meter:clamp(96px, 16vh, 140px)}.nest-game__say{width:100%}}.howto{z-index:60}.howto__card{border-radius:var(--radius-xl);border-top:10px solid var(--tone);background:var(--white);width:min(92vw,760px);max-height:94dvh;box-shadow:var(--shadow-float);flex-direction:column;gap:clamp(10px,2vh,18px);padding:clamp(16px,2.6vh,26px) clamp(18px,3vw,32px);display:flex}.howto__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.howto__title{color:var(--tone-deep);align-items:center;gap:10px;font-size:clamp(1.4rem,3.4vw,1.9rem);font-weight:800;display:inline-flex}.howto__dots{gap:8px;margin:0;padding:0;list-style:none;display:flex}.howto__dots li{background:var(--line);width:14px;height:14px;transition:width .25s var(--ease-out), background .25s;border-radius:99px}.howto__dots li.is-done{background:var(--tone-soft)}.howto__dots li.is-now{background:var(--tone);width:34px}.howto__step{flex-direction:column;gap:clamp(10px,2vh,18px);display:flex}.howto__scene{border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 40%, var(--white), var(--tone-faint) 75%);min-height:clamp(200px,36vh,300px);box-shadow:inset 0 0 0 3px var(--tone-soft);place-items:center;padding:16px;display:grid;overflow:hidden}.howto__text{color:var(--ink);align-items:center;gap:12px;margin:0;font-size:clamp(1.3rem,3.2vw,1.75rem);font-weight:800;line-height:1.35;display:flex}.howto__num{background:var(--tone);width:44px;height:44px;color:var(--tone-ink);border-radius:50%;flex:none;place-items:center;font-size:1.4rem;display:grid}.howto__actions{align-items:center;gap:12px;display:flex}.howto__back,.howto__exit{background:var(--tone-faint);width:56px;height:56px;color:var(--tone-deep);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.howto__back:disabled{opacity:.35}.howto__next{border-radius:var(--radius-pill);min-height:70px;color:var(--tone-ink);background:linear-gradient(165deg, var(--tone-soft), var(--tone));box-shadow:0 8px 0 var(--tone-edge), var(--shadow-card);font:inherit;cursor:pointer;border:0;flex:1;justify-content:center;align-items:center;gap:14px;font-size:clamp(1.5rem,3.6vw,2rem);font-weight:800;display:inline-flex}.howto__next:active{box-shadow:0 2px 0 var(--tone-edge);transform:translateY(6px)}.howto__next--go{animation:1.6s ease-in-out infinite home-breathe}.howto-row{justify-content:center;align-items:center;gap:clamp(16px,4vw,40px);display:flex}.howto-col{flex-direction:column;align-items:center;gap:12px;display:flex}.howto-target{border-radius:var(--radius-lg);background:var(--white);box-shadow:0 6px 0 var(--tone-soft), var(--shadow-card);flex-direction:column;align-items:center;gap:4px;padding:12px 22px;display:flex}.howto-target__text{color:var(--tone-deep);font-size:clamp(2.6rem,7vw,4rem);font-weight:800;line-height:1}.howto-target--small .howto-target__text{font-size:2.2rem}.howto-press{display:inline-grid;position:relative}.howto-press .hear,.howto-mic{pointer-events:none}.howto-finger{bottom:-26px;font-size:3rem;animation:1.2s ease-in-out infinite finger-tap;position:absolute;inset-inline-end:-18px}@keyframes finger-tap{0%,to{transform:translate(0)}45%{transform:translate(-10%,-22%)scale(.92)}}.howto-dots{gap:8px;display:flex}.howto-dots .repeat-dot{width:38px;height:38px;font-size:1.1rem}.howto-dots--fill .repeat-dot{border-style:dashed;animation:4.2s step-end infinite dot-fill}@keyframes dot-fill{0%{background:var(--white);border:4px dashed var(--tone-soft);color:#0000}15%,to{background:var(--tone);border:4px solid var(--tone-edge);color:inherit}}.howto-plus{color:var(--yellow-700);animation:plus-pop 1.4s var(--ease-bounce) infinite;font-size:clamp(2.2rem,6vw,3.2rem);font-weight:800}@keyframes plus-pop{0%{opacity:0;transform:scale(.4)translateY(20px)}40%,80%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(1)translateY(-14px)}}.howto-arrow{color:var(--tone-deep);font-size:3rem;font-weight:800;animation:1s ease-in-out infinite arrow-nudge}@keyframes arrow-nudge{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}.howto-col--next{opacity:.85}.howto-caption{color:var(--tone-deep);direction:ltr;font-size:1.6rem;font-weight:800}.howto-wardrobe{flex-direction:column;align-items:center;gap:4px;display:flex}.howto-wardrobe__tag{background:var(--mint);border-radius:99px;padding:4px 14px;font-weight:800}@media (height<=640px){.howto__scene{min-height:170px}}.board{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.target-card{border-radius:var(--radius-xl);background:var(--white);box-shadow:0 7px 0 var(--teal-100), var(--shadow-card);transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out);flex-direction:column;align-items:center;gap:6px;padding:clamp(12px,2vh,18px) 30px clamp(14px,2.4vh,20px);display:flex;position:relative}.target-card:active{box-shadow:0 2px 0 var(--teal-100), var(--shadow-card);transform:translateY(5px)}.target-card--speaking{box-shadow:0 7px 0 var(--teal-100), 0 0 0 5px var(--aqua), var(--shadow-card)}.target-card__speaker{background:var(--teal-50);width:42px;height:42px;color:var(--teal-700);border-radius:50%;place-items:center;display:grid;position:absolute;inset-block-start:12px;inset-inline-start:12px}.hear-button{border-radius:var(--radius-pill);background:var(--white);min-height:64px;color:var(--teal-800);box-shadow:0 6px 0 var(--teal-200), var(--shadow-card);align-items:center;gap:10px;padding:0 26px;font-size:1.3rem;font-weight:800;display:inline-flex}.hear-button:active{box-shadow:0 2px 0 var(--teal-200);transform:translateY(4px)}.choices{gap:14px;width:100%;max-width:580px;display:grid}.choices--three,.choices--pictures{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-wrap{position:relative}.choice{border-radius:var(--radius-lg);background:var(--white);width:100%;box-shadow:0 6px 0 var(--teal-100), var(--shadow-card);transition:transform .14s var(--ease-out), box-shadow .14s var(--ease-out), background .2s;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 16px;display:flex;position:relative}.choice:active{box-shadow:0 2px 0 var(--teal-100), var(--shadow-card);transform:translateY(4px)}.choice__text{color:var(--teal-700);font-size:clamp(2.4rem,10vw,3.6rem);font-weight:800;line-height:1.25}.choice--right{background:linear-gradient(180deg, #f2fff9, var(--mint));box-shadow:0 6px 0 var(--mint-600), var(--shadow-card)}.choice--wrong{animation:.45s ease-in-out shake}.choice--hint{outline:4px dashed var(--yellow);outline-offset:5px}.choice__badge{top:-12px;background:var(--teal-600);width:36px;height:36px;color:var(--white);box-shadow:0 3px 0 var(--teal-800);border-radius:50%;place-items:center;display:grid;position:absolute;inset-inline-end:-8px}.choice__label{opacity:0;font-size:1.15rem;font-weight:800;transition:opacity .2s}.choice__label--show{opacity:1}.choice__speaker{top:-10px;background:var(--white);width:44px;height:44px;color:var(--teal-700);box-shadow:var(--shadow-card);border-radius:50%;place-items:center;display:grid;position:absolute;inset-inline-start:-6px}.adventure{gap:10px}.adventure__track{width:100%;max-width:580px;height:clamp(104px,18vh,132px);position:relative;container-type:inline-size}.adventure__line{inset-inline:3%;border-radius:var(--radius-pill);background:repeating-linear-gradient(90deg,#173f4729 0 10px,#0000 10px 20px);height:12px;position:absolute;top:70%}.checkpoint{width:min(56px, calc(100% / var(--slots,5) - 4px));aspect-ratio:1;background:var(--white);color:var(--teal-700);box-shadow:0 4px 0 var(--teal-100), var(--shadow-card);border-radius:50%;place-items:center;display:grid;position:absolute;top:53%;translate:-50%}.checkpoint__emoji{font-size:min(30px, calc(55cqw / var(--slots,5)));line-height:1}.checkpoint--done{background:var(--mint);color:var(--teal-800);box-shadow:0 4px 0 var(--mint-600)}.checkpoint--current{outline:4px solid var(--yellow);outline-offset:4px;animation:2.4s ease-in-out infinite float}.checkpoint--treasure{background:var(--soft-yellow);box-shadow:0 4px 0 var(--yellow)}.checkpoint--open{animation:bulbul-hop .8s var(--ease-bounce) 2}.adventure__bulbul{transition:left .75s var(--ease-bounce);position:absolute;bottom:46%;translate:-50%}.auth-shell{color:#285b60;direction:rtl;background:#f1f6f5;place-items:center;min-height:100vh;padding:24px 16px;font-family:inherit;display:grid}.auth-card{background:#fff;border:1px solid #e5f1ed;border-radius:24px;width:min(420px,100%);padding:28px 24px;box-shadow:0 12px 34px #2f837d14}.auth-logo{text-align:center;margin:0 auto 8px;font-size:44px;display:block}.auth-card h1{text-align:center;margin:0 0 4px;font-size:24px}.auth-sub{color:#728d8f;text-align:center;margin:0 0 20px;font-size:14px}.auth-form{gap:12px;display:grid}.auth-field{gap:6px;font-size:14px;font-weight:700;display:grid}.auth-field input{font:inherit;color:inherit;background:#f7fbfa;border:1px solid #dbe9e5;border-radius:14px;padding:12px 14px}.auth-field input:focus{outline-offset:1px;outline:3px solid #fec643}.auth-field input[dir=ltr]{text-align:left}.auth-btn{font:inherit;cursor:pointer;color:#fff;background:#3cb7bd;border:0;border-radius:14px;padding:12px 16px;font-weight:800}.auth-btn:disabled{opacity:.6;cursor:default}.auth-btn.secondary{color:#258990;background:#fff;border:1px solid #ccebe3}.auth-link{font:inherit;color:#268d90;cursor:pointer;background:0 0;border:0;justify-self:center;padding:4px;font-weight:700}.auth-error{color:#a33a3a;background:#fdeeee;border-radius:12px;margin:0;padding:10px 12px;font-size:14px}.auth-note{color:#2f7b6f;background:#effbf7;border-radius:12px;margin:0;padding:10px 12px;font-size:14px}.auth-badge{z-index:10000;color:#287b84;direction:rtl;background:#dcf6f9f5;border:1px solid #36a1ae24;border-radius:999px;align-items:center;gap:10px;padding:5px 9px 5px 6px;font-size:12px;display:flex;position:fixed;inset:auto 16px 14px auto;box-shadow:0 4px 12px #2a879224}.auth-badge-account{align-items:center;gap:6px;font-weight:750;display:flex}.auth-badge-user-icon{fill:currentColor;width:16px;height:16px}.auth-badge button{font:inherit;color:#287b84;cursor:pointer;background:#ffffff38;border:0;border-radius:999px;padding:5px 9px;font-size:12px}.auth-badge button:hover{background:#ffffffb8}.pd{--teal:#39b5bb;--deep:#245c60;--muted:#7e9da0;--mint:#d9f8f1;--bg:#f4fdfa;--line:#e2f1ed;background:var(--bg);min-height:100vh;color:var(--deep);grid-template-columns:270px minmax(0,1fr);font-family:inherit;display:grid}.pd *{box-sizing:border-box}.pd button{font:inherit;cursor:pointer}.pd-sidebar{border-left:1px solid var(--line);z-index:2;background:#fff;flex-direction:column;height:100vh;padding:28px 22px;display:flex;position:sticky;top:0}.pd-brand{border-bottom:1px dashed var(--line);height:135px;color:var(--teal);justify-content:center;align-items:center;gap:10px;font-size:27px;text-decoration:none;display:flex}.pd-brand img{object-fit:contain;width:95px;height:88px}.pd-brand small{color:#efb439;letter-spacing:2px;font-size:17px;display:block}.pd-sidebar nav{gap:10px;padding-top:28px;display:grid}.pd-sidebar nav button{color:#55787c;text-align:right;background:0 0;border:0;border-radius:22px;align-items:center;gap:16px;padding:15px 18px;font-size:19px;font-weight:750;transition:all .18s;display:flex}.pd-sidebar nav button span{width:26px;color:var(--teal);text-align:center;font-size:25px}.pd-sidebar nav button:hover,.pd-sidebar nav button.active{color:#25888d;box-shadow:inset -4px 0 var(--teal);background:#d8f8f1}.pd-sidebar-note{color:#a28435;background:#fff8dc;border-radius:24px;margin-top:auto;padding:20px;font-size:16px;line-height:1.8}.pd-sidebar-note span{font-size:25px}.pd-sidebar-note p{margin:6px 0 0}.pd-signout{color:#809b9d;background:0 0;border:0;margin-top:16px;padding:10px}.pd-main{min-width:0}.pd-top{border-bottom:1px solid var(--line);z-index:1;background:#fff;justify-content:space-between;align-items:center;height:104px;padding:18px clamp(22px,5vw,72px);display:flex;position:sticky;top:0}.pd-top>div{gap:3px;display:grid}.pd-top small{color:#77a3a4;font-size:15px;font-weight:700}.pd-top strong{font-size:24px}.pd-avatar{color:#77649a;background:#ece1fa;border-radius:50%;place-items:center;width:54px;height:54px;font-size:24px;font-weight:800;display:grid}.pd-content{max-width:1280px;margin:auto;padding:42px clamp(20px,5vw,68px) 30px}.pd-heading{text-align:right;margin:0 0 30px}.pd-pill{color:#25888d;background:#cef4e9;border-radius:99px;padding:9px 18px;font-weight:750;display:inline-flex}.pd-heading h1{margin:14px 0 5px;font-size:clamp(32px,4vw,48px);line-height:1.25}.pd-heading p,.pd-card-title p{color:var(--muted);margin:0;font-size:18px}.pd-hero{background:linear-gradient(120deg,#e1fbf5,#fffbed);border:1px solid #daf2e7;border-radius:32px;justify-content:space-between;align-items:center;gap:24px;min-height:255px;margin-bottom:24px;padding:30px 36px;display:flex}.pd-hero>div{max-width:680px}.pd-hero h2{margin:12px 0;font-size:clamp(25px,3vw,36px)}.pd-hero p{color:var(--muted);font-size:18px}.pd-hero img{object-fit:contain;max-width:150px;max-height:160px}.pd-hero button{background:var(--teal);color:#fff;border:0;border-radius:18px;padding:14px 22px;font-weight:800;box-shadow:0 9px 20px #39b5bb30}.pd-highlight{background:linear-gradient(115deg,#e4fcf6,#fff);border:1px solid #d8f2eb;border-radius:30px;justify-content:space-between;align-items:center;gap:22px;margin-bottom:22px;padding:28px 34px;display:flex}.pd-highlight h2{margin:6px 0;font-size:27px}.pd-highlight p{color:var(--muted)}.pd-big-pct{color:var(--teal);text-align:center;min-width:125px;font-size:44px}.pd-progress{color:var(--deep);margin:20px 0}.pd-progress>div{justify-content:space-between;gap:10px;margin-bottom:8px;display:flex}.pd-progress i{background:#eaf4f1;border-radius:99px;height:10px;display:block;overflow:hidden}.pd-progress i span{border-radius:inherit;background:var(--teal);height:100%;display:block}.pd-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0;display:grid}.pd-stat{border:1px solid var(--line);background:#fff;border-radius:24px;grid-template-columns:54px 1fr;align-items:center;column-gap:14px;min-height:104px;padding:18px;display:grid;box-shadow:0 12px 34px #5b9c8910}.pd-stat>span{width:52px;height:52px;color:var(--teal);background:#e2faf6;border-radius:18px;grid-row:span 2;place-items:center;font-size:25px;display:grid}.pd-stat small{color:var(--muted)}.pd-stat b{font-size:22px}.pd-card{border:1px solid var(--line);background:#fff;border-radius:28px;margin:20px 0;padding:26px 30px;box-shadow:0 14px 38px #5b9c8910}.pd-card-title{margin-bottom:22px}.pd-card-title h2{margin:0 0 5px;font-size:25px}.pd-rows{display:grid}.pd-row{border-bottom:1px solid #edf5f2;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 0;display:grid}.pd-row:last-child{border-bottom:0}.pd-row-icon{width:42px;height:42px;color:var(--teal);background:#e4faf5;border-radius:15px;place-items:center;font-weight:900;display:grid}.pd-row>div{gap:5px;display:grid}.pd-row small,.pd-exercise .pd-meta{color:var(--muted)}.pd-status{color:#328f91;white-space:nowrap;background:#e3f8f4;border-radius:99px;justify-self:start;padding:6px 12px;font-size:14px;font-weight:750}.pd-status.completed{color:#3b936a;background:#e0f7e9}.pd-status.failed{color:#a27b25;background:#fff2d4}.pd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.pd-grid .pd-card{margin:0}.pd-exercise,.pd-goal{min-height:225px;position:relative}.pd-exercise h2,.pd-goal h2{margin:24px 0 8px;font-size:23px}.pd-exercise p,.pd-goal p{color:var(--muted)}.pd-exercise .pd-meta{margin:16px 0}.pd-filters{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.pd-filters button{border:1px solid var(--line);color:#65888a;background:#fff;border-radius:99px;padding:10px 18px;font-weight:750}.pd-filters button.selected{background:var(--mint);color:#25888d;border-color:#b7ece2}.pd-section-title{margin:34px 0 16px;font-size:27px}.pd-award{text-align:center;background:#fffdf4;border:1px solid #f4edcc;border-radius:24px;align-content:center;justify-items:center;gap:8px;min-height:145px;padding:18px;display:grid}.pd-award span{font-size:30px}.pd-award small{color:var(--muted)}.pd-empty,.pd-empty-inline{text-align:center;color:var(--muted);padding:30px}.pd-alert{color:#806322;background:#fff2d4;border-radius:16px;margin-bottom:18px;padding:14px 18px}.pd-footer{text-align:center;color:#36898c;background:#ebfaf5;border-radius:24px;margin-top:24px;padding:21px;font-weight:750}@media (width<=1000px){.pd{grid-template-columns:220px minmax(0,1fr)}.pd-sidebar{padding:20px 14px}.pd-sidebar nav button{padding:13px;font-size:16px}.pd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.pd{padding-bottom:75px;display:block}.pd-sidebar{width:100%;height:auto;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);position:fixed;inset:auto 0 0;box-shadow:0 -8px 25px #235d5d10}.pd-brand,.pd-sidebar-note,.pd-signout{display:none}.pd-sidebar nav{justify-content:space-around;gap:2px;padding:0;display:flex}.pd-sidebar nav button{border-radius:13px;flex:1;justify-items:center;gap:1px;padding:6px 2px;font-size:11px;display:grid}.pd-sidebar nav button span{height:24px;font-size:21px}.pd-sidebar nav button.active{box-shadow:inset 0 -3px var(--teal)}.pd-top{height:76px;padding:10px 18px}.pd-top strong{font-size:19px}.pd-avatar{width:44px;height:44px}.pd-content{padding:25px 16px}.pd-heading h1{font-size:32px}.pd-heading p{font-size:16px}.pd-hero{gap:5px;min-height:0;padding:22px}.pd-hero img{max-width:78px;max-height:100px}.pd-hero h2{font-size:24px}.pd-hero p{font-size:15px}.pd-highlight{align-items:flex-start;padding:22px}.pd-big-pct{min-width:72px;font-size:32px}.pd-stats{gap:10px}.pd-stat{grid-template-columns:42px 1fr;gap:8px;min-height:92px;padding:12px}.pd-stat>span{border-radius:14px;width:40px;height:40px}.pd-stat b{font-size:18px}.pd-stat small{font-size:12px}.pd-card{border-radius:22px;padding:20px}.pd-grid{grid-template-columns:1fr}.pd-row{grid-template-columns:38px minmax(0,1fr);gap:10px}.pd-row-icon{width:36px;height:36px}.pd-row .pd-status{grid-column:2}.pd-card-title h2{font-size:22px}}.pd-top>div:first-child{gap:3px;display:grid}.pd-top-actions{align-items:center;gap:12px;display:flex}.pd-logout{color:#21878c;font:inherit;background:#e3faf4;border:1px solid #ccebe3;border-radius:14px;padding:10px 20px;font-weight:800}.pd-logout:hover{background:#d2f5ed}button.pd-avatar{cursor:pointer;border:0;padding:0;font-family:inherit;transition:transform .16s,box-shadow .16s}button.pd-avatar:hover{transform:translateY(-1px);box-shadow:0 5px 15px #77649a30}button.pd-avatar:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
