.chain-display{justify-content:center;align-items:center;width:100%;min-height:120px;display:flex;overflow:hidden}.chain-expression{align-items:center;gap:12px;font-size:48px;font-weight:800;display:flex}.chain-number{color:var(--ink)}.chain-op{color:var(--primary);font-size:42px}.chain-operand{color:var(--ink)}.chain-equals{color:var(--quiet)}.chain-answer{color:var(--warning);font-size:52px;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chain-expression-easy{justify-content:center;align-items:center;gap:12px;display:flex}.pip-card{background:#fff;border:2px solid #d0d0d0;border-radius:10px;flex-direction:column;width:110px;height:154px;display:flex;position:relative;box-shadow:0 2px 6px #0000001f}.pip-corner{flex-direction:column;align-items:center;padding:4px 6px;line-height:1;display:flex;position:absolute}.pip-corner-top{top:0;left:0}.pip-corner-bottom{bottom:0;right:0;transform:rotate(180deg)}.pip-corner-number{color:var(--muted);border:1.5px solid #d0d0d0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;font-weight:800;display:flex}.pip-body{flex:1;grid-template-rows:repeat(5,1fr);grid-template-columns:repeat(3,1fr);place-items:center;padding:32px 18px;display:grid}.pip{font-size:18px;line-height:1}.easy-op{color:var(--primary);font-size:30px;font-weight:800}.easy-question{color:var(--warning);font-size:38px;font-weight:800;animation:1s ease-in-out infinite pulse}.fraction{align-items:center;gap:8px;display:inline-flex}.fraction-whole{font-size:clamp(40px,10vw,48px);line-height:1}.fraction-stack{flex-direction:column;align-items:center;line-height:1;display:inline-flex}.fraction-num,.fraction-den{padding:2px 6px;font-size:clamp(32px,8vw,40px)}.fraction-bar{background:var(--ink);border-radius:2px;width:100%;min-width:32px;height:3px}.fraction-display{justify-content:center;align-items:center;width:100%;min-height:120px;display:flex}.fraction-expression{color:var(--ink);align-items:center;gap:16px;font-size:36px;font-weight:800;display:flex}.fraction-op{color:var(--primary);font-size:36px}.frac-input{background:var(--surface);box-shadow:var(--shadow);border:2px solid #fff;border-radius:24px;align-items:center;gap:18px;min-height:96px;padding:12px 28px;display:flex}.frac-input-stack{flex-direction:column;align-items:center;gap:4px;display:inline-flex}.frac-input-bar{background:var(--ink);border-radius:2px;width:100%;min-width:48px;height:3px}.frac-slot{min-width:48px;min-height:44px;color:var(--quiet);background:var(--surface);border:2px dashed var(--line);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;justify-content:center;align-items:center;padding:4px 6px;font-family:inherit;font-size:32px;font-weight:800;line-height:1;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.frac-slot:disabled{cursor:default}.frac-slot-active{border-color:var(--primary);background:var(--lilac);border-style:solid}.frac-slot-filled{color:var(--ink);border-style:solid;border-color:var(--line)}.frac-slot-active.frac-slot-filled{border-color:var(--primary)}.frac-slot-disabled{color:#d0d5d8;opacity:.55;background:0 0;border-style:dashed;border-color:#e5e8ea}.pad-frozen .frac-slot{color:var(--primary);border-color:var(--primary)}.recall-timer-bar{background:linear-gradient(90deg, var(--primary), var(--lavender));transform-origin:0;border-radius:4px;width:80%;height:6px}.recall-display{justify-content:center;align-items:center;width:100%;min-height:160px;display:flex}.recall-row{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:360px;display:flex;container-type:inline-size}.recall-items{justify-content:center;align-items:center;gap:clamp(4px, calc(16cqw / var(--recall-count)), 18px);display:flex}.recall-item{font-size:clamp(24px, calc(100cqw / var(--recall-count)), 64px);color:var(--ink);font-weight:900;line-height:1}.recall-footer{justify-content:center;align-items:center;width:100%;height:56px;display:flex}.recall-slots{grid-template-columns:repeat(var(--recall-count), minmax(0, 1fr));width:100%;max-width:calc(var(--recall-count) * 58px - 10px);justify-content:center;gap:clamp(4px,1.8cqw,10px);display:grid}.recall-slot{width:100%;min-width:0;height:56px;font-size:clamp(20px, calc(75cqw / var(--recall-count)), 32px);color:var(--ink);border:2px dashed var(--quiet);background:#ffffffb3;border-radius:8px;justify-content:center;align-items:center;font-weight:800;transition:border-color .15s,background .15s;display:inline-flex}.recall-slot-active{border-color:var(--primary);background:#f0edff;border-style:solid}.recall-slot-filled{border-style:solid;border-color:var(--line)}.recall-slot-active.recall-slot-filled{border-color:var(--primary)}.pattern-round{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:340px;display:flex}.pattern-board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#ffffffbf;border-radius:24px;width:100%;position:relative;box-shadow:0 4px 14px #00000014}.pattern-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pattern-line{stroke-linecap:round;stroke-linejoin:round;stroke-width:6px}.pattern-line-shown{stroke:var(--primary);opacity:.55}.pattern-line-picked{stroke:var(--success);opacity:.85}.pattern-line-drag{stroke:var(--success);opacity:.45}.pattern-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;padding:6%;display:grid;position:absolute;inset:0}.pattern-node{aspect-ratio:1;border:3px solid var(--quiet);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:46%;padding:0;transition:transform .12s,border-color .15s,background .15s;display:flex}.pattern-node:disabled{cursor:default}.pattern-node-shown{border-color:var(--primary);background:#f0edff}.pattern-node-picked{border-color:var(--success);background:#d8f5ee;transform:scale(1.08)}.pattern-node-order{color:var(--ink);font-size:20px;font-weight:800;line-height:1}.pattern-footer{justify-content:center;align-items:center;width:100%;height:48px;display:flex}.pattern-clear-btn{background:var(--muted);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:14px;width:84px;height:48px;font-size:20px;font-weight:700;box-shadow:0 4px #4a4f52}.pattern-clear-btn:disabled{opacity:.5;cursor:default}.avatar-art{width:var(--avatar-size,1.4em);height:var(--avatar-size,1.4em);object-fit:contain;-webkit-user-select:none;user-select:none;flex:none;display:block}.avatar-fallback{width:var(--avatar-size,1.4em);height:var(--avatar-size,1.4em);place-items:center;display:inline-grid}.home-player-avatar{--avatar-size:42px}.topbar-avatar{--avatar-size:34px;place-items:center;display:grid}.picker-avatar{--avatar-size:90px}.child-avatar{--avatar-size:48px}.profile-pin-title{--avatar-size:64px;justify-content:center;align-items:center;gap:12px;display:flex}@media (width<=360px){.topbar-avatar{--avatar-size:28px}}.picture-symbol{--avatar-size:1em;vertical-align:middle;display:inline-block}.vocab-round{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:420px;display:flex}.vocab-round .option-item{font-size:clamp(30px,8.5vw,40px)}.vocab-emoji{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;margin-top:12px;padding:0;font-family:inherit;font-size:140px;line-height:1;display:inline-flex;position:relative}.vocab-emoji:active{transform:scale(.96)}.vocab-speaker{opacity:.4;font-size:22px;position:absolute;bottom:10px;right:14px}.spell-round{justify-items:center;gap:18px;padding:8px 0 4px;display:grid}.spell-picture{cursor:pointer;background:0 0;border:none;padding:4px 14px;font-size:clamp(64px,19vw,96px);line-height:1;position:relative}.spell-speaker{inset-inline-end:-2px;opacity:.55;pointer-events:none;font-size:22px;position:absolute;bottom:2px}.spell-slots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.spell-slot{touch-action:none;border-radius:14px;place-items:center;width:clamp(46px,13vw,62px);height:clamp(54px,15vw,70px);transition:background .15s,border-color .15s;display:grid}.spell-empty{color:#0000;background:#f7f2fb;border:3px dashed #cabade}.spell-full{color:#4b3a66;cursor:grab;background:linear-gradient(#fff,#f1e9fa);border:3px solid #b79ddb;box-shadow:0 3px #cdbbe6}.spell-wrong .spell-full{color:#a8584f;background:linear-gradient(#fff,#fdeeec);border-color:#e0938a;box-shadow:0 3px #efc3bd}.spell-tray{background:#f4f7f8;border-radius:18px;flex-wrap:wrap;justify-content:center;gap:9px;min-height:clamp(54px,15vw,70px);padding:10px;display:flex}.spell-tile{color:#34546c;touch-action:none;cursor:grab;background:linear-gradient(#fff,#edf6f6);border:2px solid #d6e4e9;border-radius:14px;place-items:center;width:clamp(46px,13vw,62px);height:clamp(54px,15vw,70px);display:grid;box-shadow:0 4px #bdcfd7}.spell-used{visibility:hidden}.spell-ghost{z-index:50;color:#4b3a66;pointer-events:none;background:linear-gradient(#fff,#f1e9fa);border:3px solid #9472b8;border-radius:14px;place-items:center;width:clamp(46px,13vw,62px);height:clamp(54px,15vw,70px);display:grid;position:fixed;translate:-50% -50%;box-shadow:0 8px 18px #4b3a6633}.spell-slot,.spell-tile,.spell-ghost{font:800 clamp(30px,8.5vw,42px) Andika,sans-serif}@media (prefers-reduced-motion:reduce){.spell-slot{transition:none}}.repeat-controls{justify-content:center;align-items:flex-end;gap:18px;width:100%;max-width:380px;display:flex}.repeat-keyboard-button{width:52px;height:48px;color:var(--primary);background:var(--lilac);box-shadow:0 4px 0 var(--line);cursor:pointer;border:2px solid #fff;border-radius:16px;flex:none;place-items:center;display:grid}.repeat-keyboard-button svg{width:26px;height:26px}.repeat-keyboard-button:active:not(:disabled){box-shadow:0 2px 0 var(--line);transform:translateY(2px)}.repeat-keyboard-button:disabled{opacity:.45;cursor:default}.repeat-typing{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.repeat-typing input{border:2px solid var(--lavender);background:var(--surface);width:100%;min-width:0;height:58px;color:var(--ink);text-align:center;box-shadow:0 4px 0 var(--line);border-radius:18px;padding:8px 12px;font-family:inherit;font-size:26px;font-weight:700;line-height:1.2}.repeat-typing input:focus{outline-offset:3px;outline:3px solid #c6e8d9}.repeat-typed-check{background:var(--mint);color:var(--success-deep);box-shadow:0 4px #a4cdb9}.repeat-round:has(.repeat-typing){gap:12px;padding-block:8px}.repeat-round:has(.repeat-typing) .repeat-picture{width:150px;height:130px;font-size:92px}.repeat-round:has(.repeat-typing) .repeat-transcript{min-height:36px}@media (height<=550px) and (orientation:landscape){.repeat-round:has(.repeat-typing) .repeat-picture{grid-row:auto}.repeat-round:has(.repeat-typing) .repeat-controls{width:min(340px,48vw)}}.repeat-round{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:clamp(14px,3vh,28px);width:100%;padding:18px 12px;display:flex}.repeat-picture{width:clamp(170px,42vw,280px);height:clamp(170px,28vh,250px);color:inherit;cursor:pointer;background:#ffffff59;border:0;border-radius:32px;font-family:inherit;font-size:clamp(110px,22vw,180px);line-height:1;position:relative}.repeat-speaker{font-size:26px;position:absolute;bottom:12px;right:12px}.repeat-mic{color:#fff;background:var(--primary);width:clamp(112px,26vw,156px);height:clamp(112px,26vw,156px);box-shadow:0 7px 0 var(--primary-deep);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:12px;font-size:clamp(52px,12vw,76px);display:grid}.repeat-mic-recording{background:#cf385b;transform:translateY(3px);box-shadow:0 4px #942a43,0 0 0 10px #cf385b26}.repeat-mic:disabled{opacity:.55;cursor:default}.repeat-meter{width:130px;height:10px}.repeat-transcript{overflow-wrap:anywhere;text-align:center;max-width:100%;min-height:48px;font-size:clamp(24px,5vw,36px);font-weight:700;line-height:1.4}.repeat-correct{color:var(--success)}.repeat-wrong{color:var(--danger)}.repeat-error{text-align:center;max-width:390px;color:var(--danger);margin:0;line-height:1.5}.repeat-picture:focus-visible,.repeat-mic:focus-visible{outline-offset:5px;outline:4px solid #35237a}@media (height<=550px) and (orientation:landscape){.repeat-round{grid-template-columns:auto auto;gap:12px 40px;display:grid}.repeat-picture{grid-row:span 2;width:160px;height:160px;font-size:116px}.repeat-mic{width:100px;height:100px;font-size:50px}.repeat-transcript,.repeat-error{grid-column:1/-1}}.repeat-mic svg{width:clamp(48px,11vw,68px);height:clamp(48px,11vw,68px)}.repeat-meter{accent-color:var(--success)}.fives-round{justify-items:center;gap:20px;padding:10px 0 4px;display:grid}.fives-target{color:#34546c;text-shadow:0 3px #d6e4e9;margin:0;font:800 clamp(52px,16vw,78px)/1 Andika,sans-serif}.fives-options{grid-template-columns:1fr;gap:12px;width:100%;display:grid}.fives-options button{background:#fcfdfe;border:2px solid #e4edf2;border-radius:20px;justify-content:flex-start;align-items:center;padding:14px 12px;transition:border-color .15s,box-shadow .15s;display:flex;box-shadow:0 3px #e4edf2}.fives-right{border-color:#9ad9bb;box-shadow:0 3px #c4e9d6}.fives-retry{border-color:#ecb3ab;box-shadow:0 3px #f6d6d1}.fives-bar{align-items:center;gap:3px;display:flex}.fives-bar i{background:radial-gradient(circle at 34% 28%,#7fb4de,#4580b0 72%);border-radius:50%;width:clamp(11px,3.4vw,18px);height:clamp(11px,3.4vw,18px);display:block;box-shadow:0 1px 2px #2f5f8726}.fives-bar i.fives-over{background:radial-gradient(circle at 34% 28%,#f3b96a,#d98a2c 72%);box-shadow:0 1px 2px #a9651726}.fives-bar i.fives-empty{box-shadow:none;background:#808a941f}.fives-bar b{background:#cedbe4;border-radius:1px;width:2px;height:clamp(8px,2.4vw,11px);margin:0 2px;display:block}@media (prefers-reduced-motion:reduce){.fives-options button{transition:none}}.letter-pad{--key-gap:5px;--key-width:calc((100% - 9 * var(--key-gap)) / 10);box-sizing:border-box;flex-direction:column;gap:6px;width:100%;max-width:460px;padding:6px 3px 8px;display:flex}.letter-row{justify-content:center;gap:var(--key-gap);width:100%;min-width:0;display:flex}.letter-btn{flex:0 0 var(--key-width);color:#1c1c1e;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:none;border-radius:6px;min-width:0;height:clamp(38px,6vh,50px);font-size:clamp(16px,2.4vh,21px);font-weight:500;box-shadow:0 1px #0000004d}.letter-btn:active:not(:disabled){background:#d1d5db}.letter-btn:disabled{opacity:.5}.letter-btn-delete{background:#adb3bd;font-size:clamp(14px,2.1vh,18px)}.writing-prompt{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;transition:transform .12s;display:flex}.writing-emoji{font-size:clamp(40px,9vh,64px);line-height:1}.writing-word{color:var(--ink);letter-spacing:2px;font-size:clamp(36px,10vw,48px);font-weight:900}.writing-slots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.writing-slot{width:clamp(34px,8vw,44px);height:clamp(42px,9vw,54px);box-shadow:inset 0 -3px 0 var(--line);color:var(--primary);background:#ffffffb3;border-radius:12px;justify-content:center;align-items:center;font-size:clamp(30px,8.5vw,38px);font-weight:900;display:inline-flex}.writing-slot-filled{box-shadow:inset 0 -3px 0 var(--primary);background:#f0edff}.writing-keyboard{justify-content:center;width:100%;display:flex}.writing-prompt:active{transform:scale(.97)}.writing-speaker{opacity:.4;font-size:18px}.composite-stage{justify-content:center;align-items:center;width:100%;max-width:560px;height:clamp(150px,26vh,280px);display:flex}.composite-svg{width:100%;height:100%;display:block}.composite-fill{fill:var(--lavender)}.composite-cell{fill:none;stroke:#ffffffe6;stroke-width:1.5px}.composite-edge{stroke:var(--ink);stroke-width:2.5px;stroke-linecap:square}.composite-label{fill:var(--ink);font-family:inherit;font-size:16px;font-weight:800}.composite-edge.axis-horizontal,.composite-edge.axis-vertical{stroke-width:3.5px}.composite-edge.axis-horizontal{stroke:var(--warning)}.composite-edge.axis-vertical{stroke:var(--success)}.composite-label.axis-horizontal,.composite-sum.axis-horizontal{fill:#c0442d}.composite-label.axis-vertical,.composite-sum.axis-vertical{fill:#00806a}.composite-label,.composite-sum{paint-order:stroke fill;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}.composite-sum{font-family:inherit;font-size:26px;font-weight:900}.composite-round{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.composite-prompt{color:var(--ink);letter-spacing:.5px;font-size:22px;font-weight:800}.composite-header{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.composite-hint-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffe6;border:none;border-radius:14px;width:36px;height:36px;font-size:18px;box-shadow:0 3px #00000014}.composite-hint-btn:disabled{opacity:.45;box-shadow:none}.composite-hint-btn{position:relative}.composite-hint-left{background:var(--primary);color:#fff;border-radius:999px;min-width:17px;height:17px;padding:0 4px;font-size:11px;font-weight:800;line-height:17px;position:absolute;top:-5px;right:-5px}.composite-hint-btn:disabled .composite-hint-left{background:var(--quiet)}.simplify-display{flex-direction:column;align-items:center;gap:12px;width:100%;min-height:140px;display:flex}.simplify-prompt{color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:0;font-size:16px;font-weight:700}.simplify-fraction{color:var(--ink);font-size:36px;font-weight:800}.kw-word{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:5px;margin:0;padding:0 1px;text-decoration:none;transition:background .12s}.kw-word:active,.kw-word-open{background:var(--lilac)}.kw-pop{background:var(--ink);color:#fff;white-space:nowrap;z-index:1000;pointer-events:none;border-radius:12px;padding:7px 14px;font-size:21px;font-weight:700;position:fixed;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 6px 18px #00000047}.kw-pop.kw-pop-below{transform:translate(-50%,12px)}.kw-pop:after{content:"";border:7px solid #0000;border-top-color:var(--ink);position:absolute;top:100%;left:50%;transform:translate(-50%)}.kw-pop.kw-pop-below:after{border-top-color:#0000;border-bottom-color:var(--ink);top:auto;bottom:100%}.knowledge-round{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:520px;padding:0 8px;display:flex}.knowledge-scroll{background:var(--surface);width:100%;max-height:min(72vh,640px);box-shadow:var(--shadow);scrollbar-color:var(--lavender) var(--surface);scrollbar-width:thin;border:2px solid #fff;border-radius:28px;flex-direction:column;align-items:center;gap:16px;padding-bottom:12px;display:flex;overflow-y:auto}.knowledge-article{box-sizing:border-box;background:0 0;border-radius:18px;flex-direction:column;gap:14px;width:100%;padding:20px clamp(16px,4vw,26px);display:flex}.knowledge-title{color:var(--primary-deep);margin:0;font-size:30px;font-weight:900}.knowledge-image{object-fit:cover;border-radius:18px;width:100%;max-height:220px}.knowledge-paragraph{color:var(--ink);margin:0;font-size:22px;font-weight:500;line-height:1.65}.knowledge-done-btn{background:linear-gradient(145deg, #9878c4, var(--primary));color:#fff;cursor:pointer;box-shadow:0 5px 0 var(--primary-deep);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:none;border-radius:16px;padding:14px 36px;font-size:20px;font-weight:800}.knowledge-done-btn:active{box-shadow:0 2px 0 var(--primary-deep);transform:translateY(3px)}.knowledge-question{color:var(--ink);text-align:center;background:var(--lilac);width:100%;box-shadow:0 4px 0 var(--line);border:2px solid #fff;border-radius:24px;margin:0;padding:18px;font-size:24px;font-weight:800}.number-name{flex-direction:column;align-items:center;gap:14px;max-width:100%;display:flex}.number-name-word{max-width:100%;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffe6;border:none;border-radius:18px;align-items:center;gap:10px;padding:10px 22px;font-family:inherit;font-size:clamp(38px,10vw,56px);font-weight:900;transition:transform .12s;display:inline-flex;box-shadow:0 4px #0000000f}.number-name-word:active{transform:translateY(2px)}.number-name-speaker{opacity:.45;font-size:.42em}.number-name-card{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;transition:transform .12s}.number-name-card:active{transform:scale(.96)}@media (height<=700px){.number-name{gap:8px}.number-name-word{padding:6px 18px;font-size:clamp(34px,10vw,48px)}}.first-letter-round{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:420px;display:flex}.first-letter-picture{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:clamp(72px,15vh,108px);line-height:1;display:inline-flex;position:relative}.first-letter-picture:active{transform:scale(.96)}.first-letter-speaker{opacity:.4;font-size:20px;position:absolute;bottom:8px;right:12px}.first-letter-word{color:var(--muted);align-items:baseline;gap:2px;margin:0;font-size:clamp(36px,10vw,48px);font-weight:800;display:flex}.first-letter-lead{color:var(--primary);font-size:1.7em;font-weight:900}.option-list-letters{flex-direction:row;gap:10px}.option-list-letters .option-item{flex:1;padding:14px 0;font-size:clamp(38px,7vh,52px);font-weight:900}.listen-round{flex-direction:column;align-items:center;gap:22px;max-width:100%;padding:10px;display:flex}.listen-picture{-webkit-user-select:none;user-select:none;font-size:96px;line-height:1}.listen-letter{color:var(--ink);-webkit-user-select:none;user-select:none;align-items:baseline;gap:6px;font-size:92px;font-weight:900;line-height:1;display:flex}.listen-letter-small{color:var(--primary);font-size:56px}.listen-prompt{background:0 0;border:none;justify-content:center;align-items:center;padding:6px;font-family:inherit;display:inline-flex;position:relative}.listen-prompt-speaks{cursor:pointer;border-radius:20px}.listen-prompt-speaks:disabled{cursor:default}.listen-question-mark{background:#fff;width:120px;height:120px;box-shadow:0 4px #00000014}.listen-question-mark .listen-letter{color:var(--primary)}.listen-round-digits .listen-option{justify-content:center;min-height:84px;font-size:40px}.listen-prompt-speaker{opacity:.4;font-size:20px;line-height:1;animation:1.3s ease-in-out 2 listen-hint;position:absolute;bottom:4px;right:4px}@keyframes listen-hint{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.22)}}@media (prefers-reduced-motion:reduce){.listen-prompt-speaker{animation:none}}.listen-veiled{filter:blur(16px);opacity:.55;-webkit-user-select:none;user-select:none;pointer-events:none}.listen-options{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.listen-option{min-width:104px;color:var(--ink);cursor:pointer;background:#fff;border:3px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:14px 18px;font-family:inherit;font-size:clamp(28px,7.5vw,36px);font-weight:800;display:flex;box-shadow:0 3px #00000014}.listen-option-speaker{font-size:26px;line-height:1}.listen-option-word{line-height:1.1}.listen-option-chosen{border-color:var(--primary);background:#f0edff}.listen-option:disabled{opacity:.6;cursor:default}.listen-submit{background:var(--success);min-width:96px;box-shadow:0 4px 0 var(--success-deep);color:#fff;cursor:pointer;border:none;border-radius:16px;padding:12px 26px;font-family:inherit;font-size:28px;font-weight:900}.listen-submit:disabled{background:var(--line);color:#fff;cursor:default;box-shadow:0 4px #c7cfd2}@media (width<=480px){.listen-picture{font-size:76px}.listen-letter{font-size:70px}.listen-letter-small{font-size:44px}.listen-option{min-width:88px;padding:12px 14px}}.artwork{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.welcome-bird{width:130px;height:140px;animation:.7s ease-out both bird-hello}.loading-garden{align-content:center;justify-items:center;gap:16px;width:100%;min-height:45vh;display:grid}.loading-garden .artwork{width:100px;height:112px}.loading-dots{gap:8px;display:flex}.loading-dots i{background:var(--lavender);border-radius:50%;width:10px;height:10px;animation:.9s ease-in-out infinite alternate loading-bob}.loading-dots i:nth-child(2){background:var(--mint);animation-delay:.15s}.loading-dots i:nth-child(3){background:var(--peach);animation-delay:.3s}@keyframes bird-hello{0%{opacity:0;transform:translateY(10px)rotate(-7deg)}to{opacity:1;transform:none}}@keyframes loading-bob{to{transform:translateY(-7px)}}@media (height<=650px){.welcome-bird{width:88px;height:94px}}.music-prompt{box-shadow:0 5px 0 var(--line);cursor:pointer;background:linear-gradient(145deg,#fffdfb,#f3ecfa);border:2px solid #fff;border-radius:30px;place-items:center;padding:8px;transition:box-shadow .2s,transform .2s;display:grid;position:relative}.music-prompt:active{box-shadow:0 2px 0 var(--line);transform:translateY(3px)}.music-prompt-listen{background:radial-gradient(circle,#f3fbf6,#dff0e7);border-radius:50%;width:176px;height:176px}.music-prompt-listen .artwork{object-fit:contain;width:100%;height:100%}.music-prompt-staff{width:100%;padding:6px 30px 10px 4px}.music-replay{background:var(--primary);color:#fff;width:44px;height:44px;box-shadow:0 3px 0 var(--primary-deep);border:3px solid #fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:2px;right:2px}.music-prompt-playing{box-shadow:0 5px #a4cdb9,0 0 0 5px #c6e8d966}.music-wave{align-items:center;gap:3px;height:22px;display:flex}.music-wave i{background:#fff;border-radius:3px;width:4px;height:9px;animation:.65s ease-in-out infinite alternate music-wave}.music-wave i:nth-child(2){height:20px;animation-delay:-.3s}.music-wave i:nth-child(3){height:14px;animation-delay:-.5s}@keyframes music-wave{to{transform:scaleY(.45)}}@media (height<=700px){.music-prompt-listen{width:128px;height:128px}.music-prompt-staff .staff{min-height:120px}.music-prompt-staff .staff svg{max-height:140px}}@media (prefers-reduced-motion:reduce){.music-wave i{animation:none}}.ear-round{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:420px;display:flex}.ear-round .option-list-wide{flex-direction:row;gap:16px}.ear-round .option-list-wide .option-item{border-radius:24px;flex:1;min-height:86px;padding:12px 8px;font-size:42px}@media (height<=700px){.ear-round{gap:20px}}.staff{justify-content:center;align-items:center;width:100%;min-height:150px;display:flex}.staff-canvas svg{max-width:100%;height:auto;display:block}.staff-failed{color:var(--muted);margin:0;font-size:14px}.staff-round{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:440px;display:flex}.staff-options{gap:10px;width:100%;display:flex}.staff-option{background:linear-gradient(145deg, #fffdfb, var(--lilac));min-width:0;box-shadow:0 5px 0 var(--line);color:var(--primary);cursor:pointer;border:2px solid #fff;border-radius:20px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:14px 2px 12px;font-family:inherit;display:flex}.staff-option:active:not(:disabled){box-shadow:0 2px 0 var(--line);transform:translateY(3px)}.staff-option:disabled{cursor:default}.staff-option-picked{background:var(--mint);color:var(--success-deep);border-color:#7cbfa0;box-shadow:0 5px #a4cdb9}.staff-option-solfege{font-size:clamp(24px,6vw,32px);font-weight:900}.staff-option-letter{color:var(--muted);font-size:15px;font-weight:700}.piano{background:linear-gradient(145deg, #9675bd, var(--primary));width:100%;max-width:440px;height:160px;box-shadow:0 6px 0 var(--primary-deep);direction:ltr;border:2px solid #ad94ce;border-radius:22px;padding:10px 10px 8px;display:flex}.piano-slot{flex:1;min-width:0;display:flex;position:relative}.piano-key{min-width:0;color:var(--primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#fffdfb 60%,#f4edf8);border:none;border-radius:5px 5px 12px 12px;flex:1;justify-content:center;align-items:flex-end;margin:0 1px;padding:0 0 12px;font-family:inherit;font-size:18px;font-weight:800;display:flex;box-shadow:inset 0 -5px #d7c8e4}.piano-key:active:not(:disabled),.piano-key-lit{background:var(--mint);color:var(--success-deep);transform:translateY(2px);box-shadow:inset 0 -2px #a4cdb9}.piano-key:disabled{cursor:default}.piano-black{z-index:2;pointer-events:none;background:linear-gradient(#655174,#342740);border:1px solid #342740;border-radius:0 0 7px 7px;width:56%;height:59%;position:absolute;top:0;right:-28%;box-shadow:inset 0 -5px #251b32,0 3px 2px #44365033}@media (height<=700px){.piano{height:126px}}.piano-round{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:440px;display:flex}.echo-round{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:440px;display:flex}.echo-round .music-prompt-listen{width:140px;height:140px}.echo-progress{background:#fffdfbb3;border-radius:30px;gap:12px;padding:8px 16px;display:flex}.echo-dot{background:var(--lilac);width:16px;height:16px;box-shadow:inset 0 0 0 2px var(--lavender);border-radius:50%;transition:background .2s}.echo-dot-done{background:var(--success);box-shadow:inset 0 0 0 2px #fff8}.echo-clear{background:var(--lilac);width:52px;height:44px;box-shadow:0 3px 0 var(--line);color:var(--primary);cursor:pointer;border:2px solid #fff;border-radius:16px;font-size:26px}.echo-clear:disabled{opacity:.4;cursor:default}@media (height<=700px){.echo-round{gap:10px}.echo-round .music-prompt-listen{width:100px;height:100px}}.value-round{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:420px;display:flex}.value-options{gap:12px;width:100%;display:flex}.value-option{cursor:pointer;background:linear-gradient(145deg,#fffdfb,#e5f3eb);border:2px solid #fff;border-radius:22px;flex:1;place-items:center;min-height:90px;padding:16px 6px;display:grid;box-shadow:0 5px #bdd8c8}.value-option:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #bdd8c8}.value-option:disabled{cursor:default}.value-option-picked{background:var(--mint);border-color:#7cbfa0}.value-beats{grid-template-columns:repeat(2,auto);justify-content:center;gap:8px;display:grid}.value-beat{background:var(--success);border-radius:50%;width:18px;height:18px;box-shadow:inset 0 2px #fff6}.cube-stage{perspective:900px;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#ffffff8c;border-radius:20px;justify-content:center;align-items:center;width:100%;height:clamp(190px,34vh,260px);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #2d34360d}.cube-stage-turning{cursor:grabbing}.cube-world{transform-style:preserve-3d;position:relative}.cube{width:34px;height:34px;transform-style:preserve-3d;margin:-17px 0 0 -17px;position:absolute}.cube-face{backface-visibility:hidden;border:1px solid #2d343638;border-radius:3px;position:absolute;inset:0}.cube-face-top{background:var(--lavender);transform:rotateX(90deg)translateZ(17px)}.cube-face-bottom{background:var(--primary-deep);transform:rotateX(-90deg)translateZ(17px)}.cube-face-front{background:#7d6ef0;transform:translateZ(17px)}.cube-face-back{background:#5b4bd6;transform:rotateY(180deg)translateZ(17px)}.cube-face-right{background:var(--primary);transform:rotateY(90deg)translateZ(17px)}.cube-face-left{background:#5a4ad1;transform:rotateY(-90deg)translateZ(17px)}.cube-zoom{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.cube-zoom-btn{width:38px;height:38px;color:var(--primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffeb;border:none;border-radius:12px;font-family:inherit;font-size:22px;font-weight:900;line-height:1;box-shadow:0 2px #0000001a}.cube-zoom-btn:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.cube-zoom-btn:disabled{opacity:.35;cursor:default}@media (height<=700px){.cube-stage{height:clamp(150px,26vh,200px)}}.volume-round{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:440px;display:flex}.equation-round{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:440px;display:flex}.equation{color:var(--ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:clamp(5px,1.8vw,10px);margin:0;font-size:clamp(30px,9vw,46px);font-weight:900;display:flex}.equation-equals{color:var(--quiet)}.equation-unknown{color:var(--primary)}
