@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_next/static/media/nunito-sans-cyrillic-ext-wght-normal.807f8a64.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_next/static/media/nunito-sans-cyrillic-wght-normal.958b8893.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_next/static/media/nunito-sans-vietnamese-wght-normal.904964c5.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_next/static/media/nunito-sans-latin-ext-wght-normal.dde16b97.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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 Sans Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/_next/static/media/nunito-sans-latin-wght-normal.89a9369d.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--color-canvas:#f7f5ef;--color-surface:#fff;--color-surface-raised:#fcfbf7;--color-surface-soft:#eeeae2;--color-ink:#29263d;--color-ink-muted:#6c6876;--color-ink-subtle:#aaa49a;--color-accent:#e65f43;--color-accent-soft:#fce4dd;--color-success:#17815b;--color-success-soft:#dff3e9;--color-danger:#c84141;--color-danger-soft:#fde5e2;--color-warning:#d9a514;--color-warning-soft:#fff1bd;--color-focus:#007394;--color-learning-ink:#5548c8;--color-guide:#d8d4e7;--gradient-learning:linear-gradient(90deg,#6457d9,#2d78c4 34%,#168c88 68%,#7b61b6);--color-border:#dcd7cd;--color-border-strong:#bdb6aa;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-control:12px;--radius-inner:20px;--radius-card:28px;--radius-round:999px;--shadow-control:0 2px 0 rgba(41,38,61,0.14),0 4px 12px rgba(41,38,61,0.08);--shadow-card:0 2px 0 rgba(41,38,61,0.08),0 16px 40px rgba(41,38,61,0.09);--shadow-overlay:0 24px 80px rgba(30,27,45,0.24);--shadow-image:0 7px 0 rgba(41,38,61,0.08);--shadow-text:0 4px 0 rgba(41,38,61,0.22);--color-overlay:rgba(41,38,61,0.56);--gradient-stars:linear-gradient(140deg,rgba(230,95,67,0.94),rgba(0,115,148,0.82));--gradient-fireworks:linear-gradient(140deg,rgba(41,38,61,0.96),rgba(0,115,148,0.9));--gradient-confetti:linear-gradient(140deg,rgba(230,95,67,0.94),rgba(217,165,20,0.9));--ring-success:rgba(23,129,91,0.2);--duration-fast:120ms;--duration-normal:220ms;--duration-celebration:800ms;--ease-standard:cubic-bezier(0.2,0.8,0.2,1);--cream:var(--color-canvas);--paper:var(--color-surface);--ink:var(--color-ink);--muted:var(--color-ink-subtle);--coral:var(--color-accent);--green:var(--color-success);--yellow:var(--color-warning);--red:var(--color-danger);--blue:var(--color-focus);font-family:Nunito Sans Variable,ui-rounded,system-ui,sans-serif;color:var(--color-ink);background:var(--color-canvas);font-weight:600}*{box-sizing:border-box}body,html{margin:0;min-height:100%;overscroll-behavior:none}body,img{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}img{-webkit-user-drag:none}.adult-card details,.adult-card legend,.adult-card p,[contenteditable],input,textarea{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}button,input,select{font:inherit;color:inherit}button{border:0;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.icon-button{display:inline-grid;place-items:center;color:var(--color-ink)}@media (hover:hover){button:not(:disabled):hover{filter:brightness(.98)}.adult-lock:hover,.tools .icon-button:hover{color:var(--color-accent);background:var(--color-accent-soft)}}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}main{min-height:100dvh;padding:10px clamp(12px,3vw,44px) 18px;background:radial-gradient(circle at 8% 5%,var(--color-surface) 0 3%,transparent 17%),var(--color-canvas);display:flex;flex-direction:column}main[data-hydrated=false]{visibility:hidden}header{height:54px;justify-content:space-between}.brand,header{display:flex;align-items:center}.brand{gap:10px;background:none;font-size:1.05rem;letter-spacing:.06em;font-weight:800}.brand span{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-control);background:var(--coral);color:white;font-size:1.55rem}.adult-lock{width:48px;height:48px;border-radius:var(--radius-round);background:var(--color-surface-soft);font-size:1.4rem}.lesson{flex:1 1;min-height:245px;display:grid;grid-template-columns:minmax(180px,30%) 1fr 64px;gap:clamp(16px,4vw,48px);align-items:center;max-width:1200px;width:100%;margin:auto}.picture{aspect-ratio:1;max-height:270px;border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--shadow-card);display:grid;place-items:center;overflow:hidden}.picture-stage{position:relative;width:100%}.picture-sound{position:absolute;right:-18px;bottom:-18px;width:clamp(96px,11vw,124px);height:clamp(96px,11vw,124px);border:5px solid var(--color-surface);border-radius:var(--radius-round);color:white;background:var(--color-focus);box-shadow:var(--shadow-card);z-index:2}.picture-sound svg{width:52%;height:52%}.picture>span{font-size:clamp(6rem,14vw,11rem);filter:drop-shadow(var(--shadow-image))}.picture .name-mark{display:grid;place-items:center;width:70%;height:70%;background:var(--color-success-soft);border-radius:var(--radius-round);color:var(--color-success)}.task{text-align:center;min-width:0}.word{font-size:clamp(2.8rem,7vw,6.8rem);letter-spacing:.03em;white-space:nowrap;display:flex;justify-content:center;font-weight:750}.word span{color:var(--color-ink-subtle);transition:.18s}.word span.done{color:var(--green)}.word span.incorrect{color:var(--red);-webkit-text-decoration:underline wavy currentColor;text-decoration:underline wavy currentColor;text-underline-offset:.12em}.word span.current{position:relative;color:var(--color-learning-ink)}.word span.current:after{content:"";position:absolute;left:8%;right:8%;bottom:.04em;height:clamp(5px,.075em,8px);border-radius:var(--radius-round);background:var(--gradient-learning)}.target{margin:24px auto 0;width:clamp(90px,10vw,132px);height:clamp(90px,10vw,132px);display:grid;place-items:center;border-radius:var(--radius-card);border:3px solid transparent;background:linear-gradient(var(--color-surface),var(--color-surface)) padding-box,var(--gradient-learning) border-box;box-shadow:var(--shadow-card);font-size:clamp(4rem,7vw,6.2rem);color:var(--color-learning-ink);font-weight:750}.lesson.wrong .target{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--red)}.lesson.correct .target{color:var(--color-success);background:var(--color-success-soft);border-color:var(--color-success);box-shadow:0 0 0 6px var(--ring-success),var(--shadow-card);animation:correct-pop .52s var(--ease-standard)}.tools{display:grid;gap:10px}.tools button{width:58px;height:58px;border-radius:var(--radius-inner);background:var(--color-surface);box-shadow:var(--shadow-control);color:var(--color-ink)}.speech-tool{position:relative}.tools .icon-button.listening{color:white;background:var(--color-accent);box-shadow:0 0 0 5px var(--color-accent-soft),var(--shadow-control);animation:listening-pulse 1.15s var(--ease-standard) infinite}.tools .icon-button.speech-error{color:var(--red);background:var(--color-danger-soft)}.speech-status{position:absolute;top:50%;right:calc(100% + 10px);z-index:2;translate:0 -50%;padding:6px 9px;border-radius:var(--radius-control);color:var(--color-accent);background:var(--color-accent-soft);font-size:.72rem;font-weight:850;letter-spacing:.04em;white-space:nowrap}.speech-status.error{color:var(--red);background:var(--color-danger-soft)}.keyboard{position:relative;width:min(100%,940px);margin:0 auto;display:grid;gap:7px}.key-row{display:flex;justify-content:center;gap:7px}.key{height:clamp(48px,6vw,68px);min-width:clamp(35px,6vw,66px);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:var(--shadow-control);font-size:clamp(1.05rem,2.3vw,1.8rem);font-weight:750}.key:active{transform:translateY(2px);box-shadow:none}.key.hint{background:var(--color-warning-soft);box-shadow:0 0 0 2px var(--color-warning),var(--shadow-control)}.focus-blob{position:absolute;inset:0;z-index:0;pointer-events:none;filter:drop-shadow(0 0 2px var(--color-warning)) drop-shadow(0 0 3px var(--color-warning))}.focus-blob i{position:absolute;border-radius:44% 56% 48% 52%/56% 45% 55% 44%;background:color-mix(in srgb,var(--color-warning-soft) 88%,transparent);animation:focusBreathe 1.6s var(--ease-standard) infinite alternate}.focus-blob i:nth-child(2n){border-radius:56% 44% 54% 46%/45% 57% 43% 55%;transform:rotate(1.2deg)}.key-row{position:relative;z-index:1}.key.focus-choice{background:var(--color-warning-soft);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-warning) 72%,white),var(--shadow-control)}main.low-arousal .focus-blob i{animation-duration:3.2s}@keyframes focusBreathe{to{transform:scale(1.08);border-radius:53% 47% 55% 45%/47% 55% 45% 53%}}.key:disabled{opacity:.2}.actions{margin-top:3px}.key.back{min-width:100px}.key.back,.key.enter{background:var(--color-surface-soft)}.key.enter{min-width:190px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-ink-muted)}.key.enter.ready{background:var(--green);color:white;box-shadow:0 0 0 2px var(--color-success),var(--shadow-control);animation:pulse 1s infinite}.celebration,.modal-backdrop{position:fixed;inset:0;z-index:20;background:var(--color-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.celebration.kind-fireworks{background:var(--gradient-fireworks)}.celebration.kind-confetti{background:var(--gradient-confetti)}.adult-card,.hand-card,.picker-card{position:relative;width:min(920px,96vw);max-height:92dvh;overflow:auto;padding:30px}.adult-card,.confirm-card,.hand-card,.picker-card{background:var(--paper);border-radius:var(--radius-card);box-shadow:var(--shadow-overlay)}.confirm-card{width:min(460px,92vw);padding:34px;text-align:center}.confirm-card>div{display:flex;justify-content:center;gap:14px}.confirm-card button{min-width:120px;padding:16px;border-radius:var(--radius-inner);background:var(--color-surface-soft)}.confirm-card .primary{background:var(--green);color:white}.start-card{width:min(760px,96vw);background:var(--paper);border-radius:var(--radius-card);padding:30px;text-align:center;box-shadow:var(--shadow-overlay)}.start-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}.start-modes button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;border-radius:var(--radius-inner);background:var(--color-surface-soft);border:2px solid transparent;transition:border-color var(--duration-fast) var(--ease-standard)}.start-modes button.selected{border-color:var(--color-accent)}.start-sample{display:flex;gap:4px;min-height:44px;align-items:center;font-weight:800;font-size:1.6rem;color:var(--color-learning-ink)}.start-title{font-size:1.1rem}.start-modes small{color:var(--color-ink-muted)}@media (max-width:560px){.start-modes{grid-template-columns:1fr}}.word span.masked{color:var(--color-ink-subtle)}.adult-card h2,.hand-card h2,.picker-card h2{text-align:center;margin:0 0 18px}.close{position:absolute;right:18px;top:15px;width:48px;height:48px;border-radius:var(--radius-round);font-size:2rem;background:var(--color-surface-soft)}.picker-card>input{width:100%;height:68px;border:2px solid var(--color-border);border-radius:var(--radius-inner);padding:0 22px;font-size:1.35rem}.picker-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.picker-categories button{position:relative;min-height:112px;border:2px solid var(--color-border);border-radius:var(--radius-inner);background:var(--color-surface-soft);box-shadow:var(--shadow-control);display:grid;place-items:center;gap:var(--space-1);padding:var(--space-2)}.picker-categories button:active{transform:translateY(2px);box-shadow:none}.picker-categories button.selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.picker-categories img{width:64px;height:64px;object-fit:contain}.picker-categories b{font-size:1rem}.category-monogram{width:64px;height:64px;background:var(--color-surface);place-items:center;color:var(--color-learning-ink);font-size:2.25rem;font-weight:800}.category-check,.category-monogram{border-radius:var(--radius-round);display:grid}.category-check{position:absolute;top:var(--space-2);right:var(--space-2);width:24px;height:24px;background:var(--color-accent);color:var(--color-surface);place-items:center}.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin-top:18px}.results button{min-height:140px;border-radius:var(--radius-inner);background:var(--color-surface-soft);display:grid;place-items:center;padding:12px}.results span{font-size:3.8rem}.results b{font-size:1rem}.missing{text-align:center;padding:30px}.missing button,.primary{background:var(--green);color:white;border-radius:var(--radius-control);padding:14px 20px}.wish-saved{gap:8px;color:var(--green);font-weight:700;animation:wish-saved-in var(--duration-normal,.22s) cubic-bezier(.2,.8,.2,1)}.wish-check,.wish-saved{display:inline-flex;align-items:center}.wish-check{justify-content:center;width:28px;height:28px;border-radius:var(--radius-round);background:var(--color-success-soft)}@keyframes wish-saved-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.low-arousal .wish-saved{animation:none}@media (prefers-reduced-motion:reduce){.wish-saved{animation:none}}.celebration{background:var(--gradient-stars);-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden}.hooray{z-index:2;text-align:center;color:white;font-size:clamp(3rem,9vw,8rem);text-shadow:var(--shadow-text);font-weight:800}.hooray small{display:block;font-size:.3em;margin:10px}.hooray button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:32px auto 0;padding:18px 30px;border-radius:var(--radius-inner);background:var(--yellow);font-size:1.4rem;box-shadow:var(--shadow-control)}.fest-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.celebration-glow{position:absolute;width:min(76vw,820px);aspect-ratio:1;left:50%;top:50%;border:2px solid var(--color-warning-soft);border-radius:var(--radius-round);opacity:.22;transform:translate(-50%,-50%);box-shadow:0 0 0 42px var(--ring-success),0 0 110px var(--color-warning-soft);animation:celebration-breathe 1.8s infinite alternate var(--ease-standard)}.fest-piece{position:absolute;width:12px;height:28px;border-radius:4px;background:var(--color-warning-soft);animation:confetti-fall linear infinite}.fest-pictogram{position:absolute;height:auto;filter:drop-shadow(var(--shadow-image));opacity:.92;animation:pictogram-rain linear infinite}.fest-piece:nth-child(4n){background:var(--color-accent-soft)}.fest-piece:nth-child(4n+1){background:var(--color-success-soft)}.fest-piece:nth-child(4n+2){background:var(--color-surface)}.fest-piece.shape-dot{width:17px;height:17px;border-radius:var(--radius-round)}.fest-piece.shape-diamond{width:19px;height:19px;border-radius:3px}.fest-burst{position:absolute;width:10px;height:10px;animation:burst-pulse 1.45s infinite var(--ease-standard)}.fest-burst i{--angle:calc(var(--ray) * 30deg);position:absolute;left:4px;top:4px;width:4px;height:52px;border-radius:var(--radius-round);background:var(--color-warning-soft);transform-origin:2px 2px;transform:rotate(var(--angle)) translateY(-18px) scaleY(.75)}.burst-one{left:17%;top:24%}.burst-two{right:16%;top:19%;animation-delay:-.55s}.burst-three{right:24%;bottom:19%;animation-delay:-1s;transform:scale(.72)}.celebration.low-arousal .fest-burst:nth-of-type(n+3),.celebration.low-arousal .fest-pictogram:nth-of-type(n+6),.celebration.low-arousal .fest-piece:nth-of-type(n+19){display:none}.celebration.low-arousal .fest-piece{animation-duration:7s!important;opacity:.7}.celebration.low-arousal .fest-pictogram{animation-duration:9s!important;opacity:.65}.celebration.low-arousal .fest-burst{animation-duration:3.4s;opacity:.65}.celebration.low-arousal .celebration-glow{animation-duration:4s}main.low-arousal .word span{transition-duration:.42s}main.low-arousal .lesson.correct .target{animation:correct-breathe .95s var(--ease-standard)}main.low-arousal{--duration-enter-cue:2.2s}main.low-arousal .shake{animation:gentle-shake .42s var(--ease-standard)}.canvas-wrap{position:relative;width:min(420px,75vw);aspect-ratio:1;margin:auto;border:3px dashed var(--color-border-strong);border-radius:var(--radius-card);background:white}.hand-card,.hand-card *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.canvas-wrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.trace-letter{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(9rem,19vw,13rem);font-weight:900;line-height:1;color:var(--color-guide);pointer-events:none}.hand-actions{display:flex;justify-content:center;gap:12px;margin-top:15px}.hand-actions button{padding:14px;border-radius:var(--radius-control)}.hand-card p{font-weight:500;text-align:center;color:var(--color-ink-muted)}.input-method-toggle{width:fit-content;margin:0 auto 10px;padding:4px;display:flex;gap:4px;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-soft)}.input-method-toggle button{min-width:132px;padding:9px 18px;border-radius:calc(var(--radius-control) - 4px);background:transparent;color:var(--color-ink-muted);font-weight:800}.input-method-toggle button.active{background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-control)}.handwriting-inline,.handwriting-inline *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.handwriting-inline{width:min(100%,940px);min-height:225px;margin:0 auto;padding:12px 20px max(16px,env(safe-area-inset-bottom));border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface-soft)}.handwriting-heading{text-align:center}.handwriting-heading h2{margin:0;font-size:1.25rem}.handwriting-heading p{margin:2px 0 8px;color:var(--color-ink-muted)}.handwriting-workspace{display:flex;align-items:center;justify-content:center;gap:22px}.handwriting-inline .canvas-wrap{width:clamp(190px,25vw,250px);margin:0}.handwriting-inline .canvas-wrap.trace-error{border-color:var(--color-danger);background:var(--color-danger-soft);animation:trace-retry-shake .36s var(--ease-standard)}.handwriting-inline .hand-actions{width:min(220px,32vw);margin:0;flex-direction:column}.handwriting-inline .hand-actions button{min-height:52px;font-weight:850;background:var(--color-surface);box-shadow:var(--shadow-control)}.handwriting-inline .hand-actions button.primary{background:var(--green);color:white}.handwriting-inline .hand-actions button.retry-attention{color:white;background:var(--color-danger);box-shadow:0 0 0 5px var(--color-danger-soft),var(--shadow-control);animation:retry-attention .9s var(--ease-standard) infinite}.handwriting-inline .hand-actions button:disabled{opacity:.38}.handwriting-inline .hand-actions p{min-height:2.6em;margin:0;text-align:center;color:var(--color-ink-muted)}.handwriting-inline .hand-actions p.error-message{color:var(--color-danger);font-weight:800}.handwriting-complete{width:min(100%,940px);min-height:225px;margin:0 auto;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-success-soft)}.handwriting-enter{min-width:250px;min-height:86px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);border-radius:var(--radius-inner);color:white;background:var(--green);box-shadow:0 0 0 3px var(--color-success),var(--shadow-card);font-size:1.55rem;font-weight:900;animation:enterGlow var(--duration-enter-cue,1s) infinite}@media (max-width:680px){.handwriting-workspace{gap:12px}.handwriting-inline .hand-actions{width:min(180px,38vw)}}@media (orientation:landscape) and (max-height:760px){main{overflow-y:auto;padding-top:6px}header{height:46px}.lesson{flex:0 0 auto;min-height:205px;padding-block:6px}.picture{max-height:205px}.target{width:88px;height:88px;margin-top:12px;font-size:4rem}.input-method-toggle{margin-bottom:6px}.handwriting-inline{min-height:0;padding-block:8px 10px}.handwriting-heading p{margin-bottom:4px}.handwriting-inline .canvas-wrap{width:clamp(160px,26dvh,205px)}.handwriting-complete{min-height:190px}}.adult-card{font-weight:600}.adult-check{text-align:center;color:var(--color-ink-muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats div{background:var(--color-surface-soft);border-radius:var(--radius-inner);padding:16px;text-align:center}.stats b,.stats span{display:block}.stats b{font-size:2rem;color:var(--color-success)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.settings-grid>label{display:grid;gap:7px}.settings-grid input[type=range],.settings-grid select{width:100%;min-height:48px}.toggle{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important}.toggle input{width:25px;height:25px}fieldset{display:flex;flex-wrap:wrap;gap:15px;border:2px solid var(--color-border);border-radius:var(--radius-inner);padding:14px}fieldset input{width:22px;height:22px;vertical-align:middle;margin-right:5px}.danger{margin-top:22px;background:var(--color-danger-soft);color:var(--color-danger);padding:12px;border-radius:var(--radius-control)}.attribution{font-size:.8rem;color:var(--color-ink-muted)}.attribution a{color:var(--color-focus)}@keyframes pulse{50%{transform:scale(1.06)}}@keyframes listening-pulse{50%{transform:scale(1.055);box-shadow:0 0 0 9px var(--color-accent-soft),var(--shadow-control)}}@keyframes trace-retry-shake{25%{transform:translateX(-7px) rotate(-.6deg)}75%{transform:translateX(7px) rotate(.6deg)}}@keyframes retry-attention{50%{filter:brightness(1.12);box-shadow:0 0 0 9px var(--color-danger-soft),var(--shadow-control)}}main.low-arousal .handwriting-inline .canvas-wrap.trace-error{animation:gentle-shake .65s var(--ease-standard)}main.low-arousal .handwriting-inline .hand-actions button.retry-attention{animation-duration:1.8s}@keyframes confetti-fall{0%{transform:translate3d(0,-12vh,0) rotate(0deg)}to{transform:translate3d(var(--drift),124vh,0) rotate(780deg)}}@keyframes pictogram-rain{0%{transform:translate3d(0,-18vh,0) rotate(-12deg)}50%{transform:translate3d(var(--drift),56vh,0) rotate(9deg)}to{transform:translate3d(0,124vh,0) rotate(-8deg)}}@keyframes celebration-breathe{to{opacity:.34;transform:translate(-50%,-50%) scale(1.06)}}@keyframes burst-pulse{0%,to{opacity:.18;transform:scale(.62) rotate(-8deg)}48%{opacity:.9;transform:scale(1) rotate(4deg)}}@keyframes shake{25%{transform:translateX(-9px)}75%{transform:translateX(9px)}}@keyframes correct-pop{35%{transform:scale(1.1) rotate(-2deg)}70%{transform:scale(1.04) rotate(2deg)}}@keyframes correct-breathe{50%{transform:scale(1.045)}}@keyframes gentle-shake{35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}.shake{animation:shake .18s 2}@media (max-width:800px),(orientation:portrait){main{overflow:auto}.lesson{grid-template-columns:auto minmax(0,1fr) 64px;min-height:unset}.picture{display:none}.picture-stage{width:auto}.picture-sound{position:static;width:88px;height:88px}.word{font-size:clamp(2rem,9vw,4rem);overflow:hidden}.settings-grid{grid-template-columns:1fr}.key{min-width:7.5vw}.keyboard{margin-top:12px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important}}.key.enter.ready{animation:enterGlow var(--duration-enter-cue,1s) infinite!important}@keyframes enterGlow{50%{filter:brightness(1.12);box-shadow:var(--shadow-control),0 0 0 8px var(--ring-success)}}.picture>img{width:78%;height:78%;object-fit:contain}.results img{width:72px;height:72px;object-fit:contain}@media (prefers-reduced-motion:reduce){.key.enter.ready{animation:none!important}}