@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-cyrillic-ext-400-normal-CuPM9foi.woff2)format("woff2"),url(./nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(./nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-vietnamese-400-normal-BHkVbP3T.woff2)format("woff2"),url(./nunito-vietnamese-400-normal-DtOtW02z.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-ext-400-normal-i-8OOpdj.woff2)format("woff2"),url(./nunito-latin-ext-400-normal-CjMJVfGn.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(./nunito-latin-400-normal-DKg4f3fz.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2)format("woff2"),url(./nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(./nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-vietnamese-700-normal-Ch8EUCfz.woff2)format("woff2"),url(./nunito-vietnamese-700-normal-C9SQsXvj.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-ext-700-normal-BWeMsAzO.woff2)format("woff2"),url(./nunito-latin-ext-700-normal-D4woHhbd.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-ext-800-normal-B-cvGohL.woff2)format("woff2"),url(./nunito-cyrillic-ext-800-normal-pjRatrRO.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-cyrillic-800-normal-D3igD7Kl.woff2)format("woff2"),url(./nunito-cyrillic-800-normal-DymMgApb.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-vietnamese-800-normal-D_CZYdm9.woff2)format("woff2"),url(./nunito-vietnamese-800-normal-Dz0hZPb5.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-ext-800-normal-CtU8tJOV.woff2)format("woff2"),url(./nunito-latin-ext-800-normal-CDcxIxx8.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff");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:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(./andika-cyrillic-ext-400-normal-VNDy5CZS.woff2)format("woff2"),url(./andika-cyrillic-ext-400-normal-BJwze9_g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(./andika-cyrillic-400-normal-DYbdP60f.woff2)format("woff2"),url(./andika-cyrillic-400-normal-CIdpN1kB.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(./andika-vietnamese-400-normal-afg23LQ3.woff2)format("woff2"),url(./andika-vietnamese-400-normal-Bw99zChb.woff)format("woff");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:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(./andika-latin-ext-400-normal-D580Nkki.woff2)format("woff2"),url(./andika-latin-ext-400-normal-NXfvB_tZ.woff)format("woff");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:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(./andika-latin-400-normal-BTFTIZb-.woff2)format("woff2"),url(./andika-latin-400-normal-BK42By1L.woff)format("woff");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:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(./andika-cyrillic-ext-700-normal-DvCsrHON.woff2)format("woff2"),url(./andika-cyrillic-ext-700-normal-BdIUMeTx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(./andika-cyrillic-700-normal-D404ywHU.woff2)format("woff2"),url(./andika-cyrillic-700-normal-Bzg0mZT8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(./andika-vietnamese-700-normal-CS3rZngu.woff2)format("woff2"),url(./andika-vietnamese-700-normal-CZOGxJjV.woff)format("woff");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:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(./andika-latin-ext-700-normal-Ch3SGZaH.woff2)format("woff2"),url(./andika-latin-ext-700-normal-DBt0PRsd.woff)format("woff");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:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(./andika-latin-700-normal-Dk95f5lc.woff2)format("woff2"),url(./andika-latin-700-normal-CAUSQC6x.woff)format("woff");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{--sky-top:#bfe3f2;--sky-bottom:#eaf6f0;--grass-light:#bfe3a0;--grass:#a8d98a;--grass-dark:#7fbf6a;--leaf-light:#8fcf7e;--leaf:#6db36a;--leaf-dark:#4f9a58;--soil:#c99a6b;--soil-dark:#a97a4f;--wood:#b07a4f;--wood-dark:#8a5a37;--water:#9fd3ec;--water-dark:#6fb6da;--peach:#f7c59f;--orange:#f2a65a;--orange-dark:#d9823b;--pink:#f5b5c4;--pink-dark:#e58fa5;--yellow:#ffd97a;--yellow-dark:#f2bd45;--blue:#8cc7e8;--blue-dark:#5aa7d3;--lilac:#c9b6e4;--lilac-dark:#a58ccc;--mint:#b5e5cf;--coral:#e8998d;--cream:#fff8ec;--paper:#fffdf8;--card:#fff;--text:#3e3a35;--text-soft:#6f675d;--line:#eadfcd;--primary:var(--orange);--primary-dark:var(--orange-dark);--success:#7cc47f;--success-dark:#57a55b;--gentle:#f0b7a4;--font-ui:"Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--font-letter:"Andika", "Nunito", "Segoe UI", system-ui, sans-serif;--touch:56px;--radius-sm:12px;--radius:20px;--radius-lg:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--activity-max:640px;--garden-max:960px;--shadow-sm:0 2px 0 #5e482c1f, 0 4px 10px #5e482c14;--shadow:0 4px 0 #5e482c24, 0 10px 24px #5e482c1a;--shadow-press:0 1px 0 #5e482c24, 0 2px 6px #5e482c1a;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{margin:0;padding:0}body{font-family:var(--font-ui);color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;min-height:100dvh;line-height:1.4}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:4px solid var(--blue-dark);outline-offset:3px;border-radius:12px}.app{min-height:100dvh}.glyph-inline{font-family:var(--font-letter);font-weight:700}.word-illustration{width:100%;height:100%;display:block}.screen{min-height:100dvh;padding-top:max(var(--space-2), var(--safe-top));padding-bottom:max(var(--space-4), var(--safe-bottom));padding-left:max(var(--space-3), var(--safe-left));padding-right:max(var(--space-3), var(--safe-right));flex-direction:column;display:flex}.screen--garden{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 42%, var(--cream) 70%);align-items:center;gap:var(--space-3)}.screen--session{background:radial-gradient(circle at 12% 8%, #bfe3f28c 0 90px, transparent 91px), radial-gradient(circle at 92% 94%, #bfe3a073 0 120px, transparent 121px), var(--paper);align-items:center}.screen--festival{background:radial-gradient(circle at 50% -10%, #ffd97a73 0 220px, transparent 221px), radial-gradient(circle at 92% 94%, #f5b5c459 0 140px, transparent 141px), var(--paper)}.screen--splash{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 55%, var(--grass-light) 100%);justify-content:center;align-items:center}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch);min-width:var(--touch);padding:0 var(--space-5);cursor:pointer;box-shadow:var(--shadow);touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:999px;font-size:1.1rem;font-weight:800;transition:transform .12s,box-shadow .12s,background-color .2s;display:inline-flex}.btn:active:not(:disabled){box-shadow:var(--shadow-press);transform:translateY(2px)scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn--lg{min-height:64px;padding:0 var(--space-6);font-size:1.3rem}.btn__icon{display:inline-flex}.btn--primary{background:var(--primary);color:#fff;text-shadow:0 1px #0000001f}.btn--primary:hover:not(:disabled){background:#f09a45}.btn--secondary{background:var(--blue);color:#1f4e6b}.btn--soft{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm), inset 0 0 0 2px var(--line)}.btn--success{background:var(--success);color:#fff;text-shadow:0 1px #0000001f}.icon-btn{width:var(--touch);height:var(--touch);color:var(--text);box-shadow:var(--shadow-sm);cursor:pointer;touch-action:manipulation;background:#ffffffeb;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{transform:scale(.95)}.icon-btn[aria-pressed=false]{color:var(--text-soft)}.icon-btn-spacer{width:var(--touch);flex:none}.topbar{width:100%;max-width:var(--garden-max);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.topbar__brand{color:#3d6b3f;align-items:center;gap:6px;font-size:1.15rem;font-weight:800;display:flex}.topbar__actions{align-items:center;gap:var(--space-2);display:flex}.star-pill{height:48px;box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums;background:#ffffffeb;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 10px;font-size:1.15rem;font-weight:800;display:inline-flex}.star-pill--small{height:44px;font-size:1rem}.garden-wrap{width:100%;max-width:var(--garden-max);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--sky-bottom);overflow:hidden}.garden-scene{width:100%;height:auto;display:block}.garden-panels{width:100%;max-width:var(--activity-max);gap:var(--space-3);display:grid}@media (width>=860px){.garden-panels{max-width:var(--garden-max);grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:stretch}}.main-card,.group-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-4)}.main-card{text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.main-card--festival{background:linear-gradient(160deg,#fff6d9,#ffe9ef)}.main-card__eyebrow{color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:800}.main-card__title{font-size:1.5rem;font-weight:800}.group-card__head{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.group-card__head h2{font-size:1.25rem;font-weight:800}.group-card__note{margin-top:var(--space-3);color:var(--text-soft);align-items:center;gap:6px;font-size:.95rem;display:flex}.group-strip{gap:6px;margin:0;padding:0;list-style:none;display:flex}.group-strip__item{width:28px;height:28px;color:var(--text-soft);background:#f1ebe0;border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid}.group-strip__item.is-done{background:var(--success);color:#fff}.group-strip__item.is-current{background:var(--yellow);color:var(--text);box-shadow:0 0 0 3px #fff, 0 0 0 5px var(--yellow-dark)}.letter-chips{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}@media (width>=480px){.letter-chips{grid-template-columns:repeat(6,minmax(0,1fr))}}.letter-chip{border-radius:var(--radius);cursor:pointer;width:100%;min-height:64px;box-shadow:inset 0 0 0 2px var(--line);touch-action:manipulation;background:#f6f1e8;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.letter-chip__glyph{font-family:var(--font-letter);font-size:1.35rem;font-weight:700;line-height:1.1}.letter-chip__state{align-items:center;height:18px;display:inline-flex}.letter-chip.is-done{color:#2f5f33;background:#e8f5e3;box-shadow:inset 0 0 0 2px #b9dfad}.letter-chip.is-done .letter-chip__state{color:var(--success-dark)}.letter-chip.is-current{box-shadow:inset 0 0 0 3px var(--yellow-dark);background:#fff4cf;animation:2.4s ease-in-out infinite breathe}.letter-chip.is-locked{cursor:default;color:#a79c8c}.seed{border:2px dashed #c9bda9;border-radius:50%;width:12px;height:12px}.slogan{padding-top:var(--space-3);color:var(--text-soft);text-align:center;margin-top:auto;font-size:.95rem;font-weight:700}.letter-badge{font-family:var(--font-letter);color:var(--text);align-items:baseline;gap:.18em;font-weight:700;line-height:1;display:inline-flex}.letter-badge__upper{color:#c9683a}.letter-badge__lower{color:#3f7fb0}.letter-badge--sm{font-size:1.6rem}.letter-badge--md{font-size:2.6rem}.letter-badge--lg{font-size:4rem}.letter-badge--xl{font-size:clamp(4.5rem,22vw,7rem)}.session-header{width:100%;max-width:var(--activity-max);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.session-header__center{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.session-header__letter{font-size:1.5rem;line-height:1}.session-header__title{font-size:1.15rem;font-weight:800}.session-steps{gap:8px;margin:0;padding:0;list-style:none;display:flex}.session-step{background:#eee4d4;border-radius:50%;width:16px;height:16px;transition:background-color .3s,transform .3s}.session-step.is-done{background:var(--success)}.session-step.is-current{background:var(--yellow);box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--yellow-dark);transform:scale(1.3)}.session-title{margin-top:var(--space-3);text-align:center;font-size:1.35rem;font-weight:800}.session-body{width:100%;max-width:var(--activity-max);padding-top:var(--space-3);flex-direction:column;flex:1;align-items:center;display:flex}.sequence{align-items:center;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.sequence__dots{gap:6px;display:flex}.leaf{background:#e7dfd0;border-radius:12px 0;width:18px;height:12px}.leaf.is-done{background:var(--leaf)}.leaf.is-current{background:var(--leaf-light);box-shadow:0 0 0 2px var(--leaf)}.round{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.round__header{justify-content:center;align-items:center;display:flex}.round__picture{background:var(--card);border-radius:var(--radius-lg);width:clamp(130px,38vw,190px);height:clamp(130px,38vw,190px);box-shadow:var(--shadow);padding:var(--space-2)}.blend{gap:var(--space-2);font-family:var(--font-letter);font-weight:700}.blend__part-wrap{align-items:center;gap:var(--space-2);display:inline-flex}.blend__part{border-radius:var(--radius);background:var(--card);min-width:64px;height:72px;box-shadow:var(--shadow);place-items:center;padding:0 12px;font-size:2.6rem;display:inline-grid}.blend__plus{color:var(--text-soft);font-size:1.8rem}.listen-btn{background:var(--blue);color:#1f4e6b;width:120px;height:120px;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:800;animation:2.6s ease-in-out infinite breathe;display:flex}.prompt{justify-content:center;align-items:center;gap:var(--space-2);text-align:center;display:flex}.prompt__text{color:var(--text);font-size:1.1rem;font-weight:700}.prompt__speak{color:#2f6b93;cursor:pointer;background:#eaf4fb;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.round__counter{gap:8px;display:flex}.round__counter .dot{background:#eee4d4;border-radius:50%;width:14px;height:14px}.round__counter .dot.is-on{background:var(--yellow-dark)}.choices{gap:var(--space-3);width:100%;display:grid}.choices--4{grid-template-columns:repeat(2,minmax(0,1fr));max-width:460px}.choices--3{grid-template-columns:1fr;max-width:420px}@media (width>=600px){.choices--3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:600px}}.choice{border-radius:var(--radius-lg);background:var(--card);min-height:72px;box-shadow:var(--shadow), inset 0 0 0 3px transparent;cursor:pointer;padding:var(--space-2);touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;place-items:center;transition:transform .18s,box-shadow .2s,opacity .2s;display:grid;position:relative}.choice:active{transform:scale(.97)}.choice--picture,.choice--letter{aspect-ratio:1}.choice--picture{padding:10%}.choice__letter{font-family:var(--font-letter);font-size:clamp(3.4rem,16vw,5.4rem);font-weight:700;line-height:1}.choice__text{font-family:var(--font-letter);padding:var(--space-2) 0;font-size:clamp(2rem,9vw,2.8rem);font-weight:700;line-height:1.1}.choice.is-correct{box-shadow:var(--shadow), inset 0 0 0 4px var(--success);background:#eaf7e6;animation:.45s ease-out pop}.choice.is-tried{opacity:.55}.choice.is-shaking{animation:.5s shake}.choice.is-hint{animation:1.4s ease-in-out infinite glow}.round__hint{color:#b0633b;text-align:center;opacity:0;min-height:1.6em;font-weight:700;transition:opacity .2s}.round__hint.is-visible{opacity:1}.round__note{color:var(--text-soft);text-align:center;font-size:.95rem}.star-burst{pointer-events:none;position:absolute;inset:0}.star-burst__star{--angle:calc(var(--i) * 360deg / var(--n));animation:.8s ease-out forwards burst;position:absolute;top:calc(50% - 9px);left:calc(50% - 9px)}.step-complete{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;padding-top:8vh;display:flex}.step-complete__star{filter:drop-shadow(0 6px 10px #f2bd4573);animation:.7s ease-out both pop-in,6s linear .7s infinite spin-slow}.step-complete__title{font-size:2.2rem;font-weight:800}.step-complete__sub{color:var(--text-soft);margin-bottom:var(--space-3);font-weight:700}.intro{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;width:100%;display:flex}.intro__letter{background:var(--card);box-shadow:var(--shadow);padding:var(--space-4) var(--space-6) var(--space-3);align-items:center;gap:var(--space-2);cursor:pointer;border:0;border-radius:36px;flex-direction:column;animation:.6s ease-out both pop-in;display:flex}.intro__listen{color:#2f6b93;align-items:center;gap:6px;font-weight:800;display:inline-flex}.intro__note{max-width:420px;color:var(--text-soft);font-weight:700}.intro__examples{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:420px;display:grid}.intro__example{aspect-ratio:1;border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm);cursor:pointer;border:0;padding:10%}.tracing-screen{align-items:center;gap:var(--space-2);flex-direction:column;width:100%;display:flex}.tracing-screen__top{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.tracing-screen__top .glyph-inline{font-size:1.5rem}.stage-pills{gap:var(--space-2);display:flex}.stage-pill{color:var(--text-soft);background:#f1ebe0;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:.9rem;font-weight:800;display:inline-flex}.stage-pill.is-current{background:var(--yellow);color:var(--text)}.stage-pill.is-done{color:#2f5f33;background:#e8f5e3}.trace{aspect-ratio:1;border-radius:var(--radius-lg);width:min(100%,460px,max(250px,100dvh - 330px));box-shadow:var(--shadow), inset 0 0 0 3px var(--line);touch-action:none;-webkit-user-select:none;user-select:none;background:#fffefb;transition:box-shadow .3s;position:relative;overflow:hidden}.trace.is-success{box-shadow:var(--shadow), inset 0 0 0 4px var(--success)}.trace__guide,.trace__canvas{width:100%;height:100%;position:absolute;inset:0}.trace__canvas{touch-action:none;cursor:crosshair}.trace__line{stroke:#d8e8f2;stroke-width:.6px}.trace__line--mid{stroke-dasharray:2 2}.trace__line--base{stroke:#b7d3e6;stroke-width:.9px}.trace__line--desc{stroke:#e9f1f6}.trace__band{fill:none;stroke:#efe3cf;stroke-width:13px;stroke-linecap:round;stroke-linejoin:round}.trace__band-dot{fill:#efe3cf}.trace__ghost{opacity:.55}.trace__center{fill:none;stroke:#c9ae86;stroke-width:1.1px;stroke-dasharray:2.4 2.4;stroke-linecap:round}.trace__start-dot{fill:var(--success)}.trace__start-num{fill:#fff;font-family:var(--font-ui);text-anchor:middle;font-size:5.4px;font-weight:800}.trace__arrow{fill:var(--success-dark)}.trace__tolerance{fill:none;stroke:#e5585824;stroke-linecap:round;stroke-linejoin:round}.trace__tolerance-dot{fill:#e5585824}.trace__demo-path{fill:none;stroke:var(--blue-dark);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;transition:opacity .4s}.trace__demo-path--dot{stroke-width:7px}.trace__pen{fill:#fff;stroke:var(--blue-dark);stroke-width:2px;transition:opacity .3s}.trace__model{min-width:44px;height:44px;font-family:var(--font-letter);color:var(--text-soft);pointer-events:none;background:#f4efe6;border-radius:12px;place-items:center;padding:0 6px;font-size:1.7rem;font-weight:700;display:grid;position:absolute;top:8px;right:10px}.tracing-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tracing-actions .btn{padding:0 var(--space-4);font-size:1rem}.reward-screen{align-items:center;gap:var(--space-3);text-align:center;width:100%;padding-top:var(--space-4);flex-direction:column;display:flex}.reward-screen__title{color:#d9823b;font-size:clamp(2.4rem,11vw,3.4rem);font-weight:800;animation:.6s ease-out both pop-in}.reward-screen__sub{font-size:1.3rem;font-weight:800}.reward-screen__sub .glyph-inline{font-size:1.6rem}.reward-screen__stars{gap:4px;display:flex}.reward-star{animation:.5s ease-out both pop-in;animation-delay:calc(.3s + var(--i) * .12s)}.reward-screen__art{aspect-ratio:1;width:clamp(170px,52vw,240px);position:relative}.reward-screen__art--large{width:clamp(200px,64vw,300px)}.reward-screen__art>svg{width:100%;height:100%;position:relative}.reward-glow{background:radial-gradient(circle,#ffd97ab3 0%,#ffd97a00 68%);border-radius:50%;animation:2.4s ease-in-out infinite breathe;position:absolute;inset:-8%}.reward-pop{transform-origin:50% 90%;animation:.9s cubic-bezier(.34,1.56,.64,1) .4s both reward-pop}.reward-screen__message{max-width:360px;font-size:1.15rem;font-weight:700}.festival{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;width:100%;display:flex}.bunting{border-top:3px solid #d8c7a8;border-radius:50%/10px;justify-content:center;gap:6px;width:100%;padding-top:4px;display:flex}.bunting__flag{clip-path:polygon(0 0,100% 0,50% 100%);background:var(--pink);transform-origin:50% 0;width:26px;height:30px;animation:2.6s ease-in-out infinite sway;animation-delay:calc(var(--i) * -.3s)}.bunting__flag:nth-child(4n+2){background:var(--yellow)}.bunting__flag:nth-child(4n+3){background:var(--blue)}.bunting__flag:nth-child(4n+4){background:var(--leaf-light)}.festival__title{font-size:clamp(1.9rem,8vw,2.6rem);font-weight:800}.festival__letters{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:420px;margin:0;padding:0;list-style:none;display:grid}.festival__letter{font-family:var(--font-letter);background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-3) 0;animation:.5s ease-out both pop-in;animation-delay:calc(var(--i) * .12s);font-size:2rem;font-weight:700}.final-menu{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;width:100%;display:flex}.final-menu__title{font-size:clamp(1.4rem,6vw,2rem);font-weight:800}.final-menu__sub{color:var(--text-soft);font-weight:700}.final-menu__grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.final-menu__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.activity-tile{border-radius:var(--radius-lg);background:var(--card);width:100%;box-shadow:var(--shadow);padding:var(--space-3);align-items:center;gap:var(--space-2);cursor:pointer;border:0;flex-direction:column;font-size:1.05rem;font-weight:800;display:flex}.activity-tile svg{width:72px;height:72px}.final-menu__back{margin-top:var(--space-4)}.toast{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff6d9;font-weight:800;animation:.5s ease-out both pop-in;display:flex}.splash{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.splash__art{width:260px;height:200px;position:relative}.splash__art svg{position:absolute}.splash__tree{top:10px;left:45px;width:170px!important;height:170px!important}.splash__flower{bottom:0;width:80px!important;height:80px!important}.splash__flower--1{left:0}.splash__flower--2{right:0}.splash__butterfly{animation:3.4s ease-in-out infinite float;top:0;right:20px;width:60px!important;height:60px!important}.splash__title{color:#3d6b3f;letter-spacing:-.01em;text-shadow:0 3px #ffffffb3;font-size:clamp(2.8rem,13vw,4.2rem);font-weight:800}.splash__slogan{color:#4d6a52;margin-bottom:var(--space-3);font-size:1.2rem;font-weight:700}.modal-backdrop{z-index:50;padding:var(--space-3);padding-bottom:max(var(--space-3), var(--safe-bottom));background:#3e3a3559;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=600px){.modal-backdrop{align-items:center}}.modal{background:var(--paper);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90dvh;padding:var(--space-4);animation:.25s ease-out slide-up;overflow:auto;box-shadow:0 20px 50px #3e3a3540}.modal:focus{outline:none}.modal__header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.modal__header h2{font-size:1.4rem;font-weight:800}.settings{gap:var(--space-3);flex-direction:column;display:flex}.settings__section{border-top:2px solid var(--line);padding-top:var(--space-3);gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.settings__section h3{font-size:1.05rem;font-weight:800}.settings__about p{color:var(--text-soft)}.toggle{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch);cursor:pointer;display:flex;position:relative}.toggle__text{flex-direction:column;display:flex}.toggle__label{font-size:1.1rem;font-weight:800}.toggle__hint{color:var(--text-soft);font-size:.9rem}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle__track{background:#ddd3c3;border-radius:999px;flex:none;width:64px;height:38px;transition:background-color .2s;position:relative}.toggle__thumb{width:30px;height:30px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .2s;position:absolute;top:4px;left:4px}.toggle input:checked+.toggle__track{background:var(--success)}.toggle input:checked+.toggle__track .toggle__thumb{transform:translate(26px)}.toggle input:focus-visible+.toggle__track{outline:4px solid var(--blue-dark);outline-offset:3px}.confirm{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:#fff3e6;flex-direction:column;width:100%;display:flex}.confirm--final{background:#ffe9e1}.confirm__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.debug-toggle{left:max(8px, var(--safe-left));bottom:max(8px, var(--safe-bottom));z-index:90;color:#fff;opacity:.6;cursor:pointer;background:#3e3a35;border:0;border-radius:10px;padding:6px 10px;font-size:.75rem;font-weight:800;position:fixed}.debug-panel{z-index:90;color:#f4efe6;background:#2f2c28;border-radius:14px;width:min(360px,100vw - 16px);max-height:80dvh;padding:12px;font-size:.85rem;position:fixed;bottom:8px;left:8px;overflow:auto;box-shadow:0 10px 30px #0000004d}.debug-panel__head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.debug-panel fieldset{border:1px solid #56504a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;padding:8px;display:flex}.debug-panel button,.debug-panel select{color:#2f2c28;cursor:pointer;background:#f4efe6;border:0;border-radius:8px;padding:6px 8px;font-size:.8rem}.debug-panel__info{margin-bottom:8px}.debug-panel__storage{white-space:pre-wrap;word-break:break-all;background:#1f1d1a;border-radius:8px;max-height:240px;padding:8px;font-size:.7rem;overflow:auto}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)rotate(-1.5deg)}40%{transform:translate(6px)rotate(1.5deg)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes reward-pop{0%{transform:scale(0)}65%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes glow{0%,to{box-shadow:var(--shadow), inset 0 0 0 3px #ffd97a00}50%{box-shadow:var(--shadow), inset 0 0 0 5px var(--yellow)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes burst{0%{transform:rotate(var(--angle)) translateY(0) scale(.4);opacity:1}to{transform:rotate(var(--angle)) translateY(-70px) scale(1);opacity:0}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-10px)rotate(4deg)}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.hb-garden{width:100%;height:auto;max-width:var(--garden-max,960px);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0 auto;display:block}.hb-garden-art{display:inline-block;overflow:visible}.garden-pop{transform-box:fill-box;transform-origin:50% 100%;animation:.7s cubic-bezier(.34,1.4,.64,1) both hb-garden-pop}@keyframes hb-garden-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.garden-pulse{transform-box:fill-box;transform-origin:50% 100%;animation:2.4s ease-in-out infinite hb-garden-pulse}.garden-pulse-center{transform-origin:50%}@keyframes hb-garden-pulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.14)}}.garden-drift{animation:26s ease-in-out infinite alternate hb-garden-drift}@keyframes hb-garden-drift{0%{transform:translate(-10px)}to{transform:translate(12px)}}.garden-sway{transform-box:fill-box;transform-origin:50% 100%;animation:7s ease-in-out infinite hb-garden-sway}@keyframes hb-garden-sway{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.garden-swing{transform-box:fill-box;transform-origin:50% 0;animation:4.5s ease-in-out infinite hb-garden-swing}@keyframes hb-garden-swing{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.garden-kite{transform-box:fill-box;transform-origin:0 100%;animation:8s ease-in-out infinite hb-garden-kite}@keyframes hb-garden-kite{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.5deg)}}.garden-flutter{transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out infinite hb-garden-flutter}@keyframes hb-garden-flutter{0%,to{transform:scaleX(1)}50%{transform:scaleX(.45)}}.garden-flit{animation:6s ease-in-out infinite hb-garden-flit}@keyframes hb-garden-flit{0%,to{transform:translate(0)}25%{transform:translate(3px,-3px)}50%{transform:translate(5px)}75%{transform:translate(2px,2px)}}.garden-spin{transform-box:fill-box;transform-origin:50%;animation:16s linear infinite hb-garden-spin}.garden-spin-fast{animation-duration:7s}@keyframes hb-garden-spin{to{transform:rotate(360deg)}}.garden-glow{animation:3.2s ease-in-out infinite hb-garden-glow}@keyframes hb-garden-glow{0%,to{opacity:.22}50%{opacity:.42}}.garden-twinkle{animation:2.2s ease-in-out infinite hb-garden-twinkle}@keyframes hb-garden-twinkle{0%,to{opacity:.35}50%{opacity:.95}}.garden-ripple{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-out infinite hb-garden-ripple}@keyframes hb-garden-ripple{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.35)}}.garden-smoke{animation:5s ease-in-out infinite hb-garden-smoke}@keyframes hb-garden-smoke{0%{opacity:.2;transform:translateY(2px)}50%{opacity:.8}to{opacity:0;transform:translateY(-4px)}}.garden-buzz{animation:2s ease-in-out infinite hb-garden-buzz}@keyframes hb-garden-buzz{0%,to{transform:translate(0)}33%{transform:translate(2px,-2px)}66%{transform:translate(-2px,-1px)}}.garden-swim{animation:5s ease-in-out infinite alternate hb-garden-swim}@keyframes hb-garden-swim{0%{transform:translate(-3px)}to{transform:translate(3px)}}.garden-bob{animation:3.2s ease-in-out infinite hb-garden-bob}@keyframes hb-garden-bob{0%,to{transform:translateY(0)}50%{transform:translateY(1.2px)}}html[data-reduced-motion=true] .hb-garden *,html[data-reduced-motion=true] .hb-garden-art *,html[data-reduced-motion=true] g[class*=garden-],html[data-reduced-motion=true] circle[class*=garden-],html[data-reduced-motion=true] ellipse[class*=garden-]{animation:none!important}@media (prefers-reduced-motion:reduce){.hb-garden *,.hb-garden-art *,g[class*=garden-],circle[class*=garden-],ellipse[class*=garden-]{animation:none!important}}
