.quick-practice-menu{position:relative}.quick-practice-dropdown{z-index:50;border:1px solid var(--line-200,#dfd3c0);background:var(--paper-0,#fffdf6);border-radius:16px;width:226px;max-width:calc(100vw - 32px);padding:7px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 28px #302c231a}.quick-practice-dropdown>button{width:100%;color:var(--ink-900,#302c23);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:11px 12px;font-weight:700;display:block}.quick-practice-dropdown>button:hover,.quick-practice-dropdown>button:focus-visible{background:var(--brand-100,#e4e9d8)}.quick-practice-dropdown small{color:var(--ink-600,#786c5c);margin-top:3px;font-size:12px;font-weight:400;display:block}.quick-practice-dropdown p{color:#ad4232;margin:8px 12px;font-size:13px}.v2-learn-flow{box-sizing:border-box;gap:var(--space-4,16px);grid-template-columns:minmax(0,1fr);justify-items:center;width:100%;min-width:0;display:grid}.v2-card{box-sizing:border-box;width:100%;max-width:var(--reading-max,560px);background:var(--paper-1,#faf7ef);border-radius:var(--radius-card,20px);box-shadow:var(--shadow-card,0 2px 12px #2e3a2914);padding:var(--space-5,20px);gap:var(--space-4,16px);grid-template-columns:minmax(0,1fr);justify-items:center;min-width:0;display:grid;overflow-x:clip}.v2-spelling{overflow-wrap:anywhere;word-break:break-word;text-align:center;min-width:0;max-width:100%;font-size:clamp(44px,12vw,64px);line-height:1.2}.v2-word-size--short{font-size:clamp(52px,14vw,64px)}.v2-word-size--medium{font-size:clamp(44px,12vw,58px)}.v2-word-size--long{font-size:clamp(36px,9.5vw,48px)}.v2-phonetic{color:var(--ink-2,#6b7563);font-size:var(--text-child-body,16px)}.v2-meaning{overflow-wrap:anywhere;word-break:break-word;text-align:center;min-width:0;max-width:100%;font-size:clamp(22px,6vw,34px);font-weight:700;line-height:1.35}.v2-meaning-size--short{font-size:clamp(30px,8vw,40px)}.v2-meaning-size--medium{font-size:clamp(26px,7vw,34px)}.v2-meaning-size--long{font-size:clamp(22px,6vw,30px)}@media (width>=600px){.v2-meaning-size--short{font-size:clamp(36px,5vw,44px)}.v2-meaning-size--medium{font-size:clamp(30px,4vw,38px)}.v2-meaning-size--long{font-size:clamp(24px,3vw,32px)}}.v2-syllables{letter-spacing:.08em;color:var(--ink-2,#6b7563);font-size:clamp(20px,6vw,26px);font-weight:600}.v2-teach-word .phonics-word-split,.v2-meaning-word .phonics-word-split,.v2-corrective-wordblock .phonics-word-split{letter-spacing:.08em;font-size:clamp(20px,6vw,26px);font-weight:600}.v2-spelling .phonics-word-main,.v2-corrective-word .phonics-word-main{white-space:normal;overflow-wrap:anywhere}.v2-spelling .phonics-word-wrapper,.v2-corrective-wordblock,.v2-corrective-word{min-width:0;max-width:100%}.practice-top{width:100%;max-width:var(--reading-max,560px);padding:0 var(--space-3,12px);justify-content:flex-end;display:flex}.practice-progress{font-size:var(--text-child-body,16px);color:var(--ink-2,#6b7563);font-weight:600}.v2-teach-word,.v2-word-prompt,.v2-meaning-prompt,.v2-spelling-prompt{align-items:center;gap:var(--space-3,12px);flex-wrap:wrap;justify-content:center;min-width:0;display:flex}.v2-meaning-word{min-width:0;max-width:100%}.v2-card .v2-teach-word .sound-btn,.v2-card .v2-word-prompt .sound-btn,.v2-card .v2-meaning-prompt .sound-btn,.learn-step .word-row .sound-btn{min-height:var(--touch-child,64px);padding:0 var(--space-3,12px);font-size:var(--text-child-body,20px)}.v2-slots .v2-token-sep,.v2-keyboard-slots .v2-token-sep{text-align:center;align-self:center;min-width:.4em}.v2-question{font-size:var(--text-child-body,16px);color:var(--ink-2,#6b7563)}.v2-options{gap:var(--space-3,12px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;display:grid}.v2-options .v2-option{height:auto;min-height:56px;font-size:var(--text-child-button,18px);white-space:normal;overflow-wrap:anywhere;border-radius:8px;padding:10px 14px;line-height:1.4}.v2-dont-know{color:var(--ink-2,#6b7563);font-size:var(--text-child-body-sm,14px);padding:var(--space-2,8px);cursor:pointer;background:0 0;border:none;text-decoration:underline}.v2-slots{gap:var(--space-2,8px);min-height:56px;margin-bottom:var(--space-2,8px);box-sizing:border-box;flex-wrap:wrap;justify-content:center;width:100%;min-width:0;display:flex}.v2-slots.is-dense{gap:6px;min-height:48px}.v2-slots.is-dense .v2-slot{border-radius:10px;width:44px;height:48px;font-size:24px}.v2-slot{border:2px solid var(--line,#d8d2c2);background:var(--paper-2,#fffdf8);width:52px;height:56px;font-size:clamp(28px, var(--text-child-slot,28px), 40px);text-transform:lowercase;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-family:inherit;line-height:1.15;display:inline-flex}.v2-slot:disabled{cursor:default}.v2-slot:not(:empty){border-color:var(--leaf,#2e6434)}.v2-pool{gap:var(--space-2,8px);box-sizing:border-box;flex-wrap:wrap;justify-content:center;width:100%;min-width:0;display:flex}.v2-pool.is-dense{gap:6px}.v2-pool-letter{background:var(--leaf,#2e6434);color:#fff;min-width:52px;height:56px;font-size:clamp(28px, var(--text-child-slot,28px), 40px);text-transform:lowercase;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;padding:0;font-family:inherit;line-height:1.15;display:inline-flex}.v2-pool.is-dense .v2-pool-letter{border-radius:10px;min-width:44px;height:48px;font-size:24px}.v2-pool-letter.is-used{background:var(--paper-2,#fffdf8);color:var(--ink-2,#6b7563);border:2px solid var(--line,#d8d2c2)}.v2-pool-letter:active{transform:scale(.95)}.v2-group-progress{font-size:var(--text-child-body-sm,14px);color:var(--ink-2,#6b7563)}.v2-tokens{gap:var(--space-2,8px);margin-bottom:var(--space-2,8px);box-sizing:border-box;flex-wrap:wrap;justify-content:center;width:100%;min-width:0;display:flex}.v2-token-wrap{flex-wrap:wrap;flex:100%;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;max-width:100%;display:flex}.v2-token{flex-wrap:wrap;flex:100%;justify-content:center;gap:6px;width:100%;min-width:0;max-width:100%;display:flex}.v2-token-sep{color:var(--ink-2,#6b7563);font-size:clamp(28px, var(--text-child-slot,28px), 40px);line-height:1.15}.v2-token-suffix{flex:none;align-self:center}.v2-tokens.is-dense .v2-slot{border-radius:10px;width:44px;height:48px;font-size:24px}.v2-keyboard{gap:var(--space-3,12px);width:100%;max-width:420px;display:grid}.v2-keyboard-slots{box-sizing:border-box;width:100%;min-width:0}.v2-keyboard-input{border:2px solid var(--line,#d8d2c2);min-height:56px;padding:0 var(--space-3,12px);font-size:var(--text-child-button,18px);text-transform:lowercase;border-radius:12px}.v2-hint-btn{background:var(--paper-2,#fffdf8);color:var(--leaf,#2e6434);padding:var(--space-2,8px) var(--space-3,12px);font-size:var(--text-child-body-sm,14px);cursor:pointer;border:none;border-radius:999px}.v2-hint-note{font-size:var(--text-child-body-sm,14px);color:var(--ink-2,#6b7563)}.v2-maintenance{width:100%;max-width:var(--reading-max,560px);box-sizing:border-box;gap:var(--space-3,12px);justify-items:stretch;min-width:0;display:grid}.v2-maintenance>.v2-card{max-width:none}.v2-maintenance-banner{font-size:var(--text-child-body,16px);color:var(--leaf,#2e6434);margin:0;font-weight:600}.v2-corrective{gap:var(--space-3,12px);padding:var(--space-4,16px) var(--space-4,16px)}.v2-corrective-word{letter-spacing:.04em;text-align:center;color:var(--ink-1,#2f3628);overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;margin:0;font-size:clamp(44px,12vw,64px);font-weight:800}@media (width>=600px){.v2-word-size--short{font-size:clamp(60px,8vw,72px)}.v2-word-size--medium{font-size:clamp(52px,7vw,64px)}.v2-word-size--long{font-size:clamp(40px,5.5vw,52px)}}.v2-corrective-stage{font-size:var(--text-child-body,16px);text-align:center;margin:0}.v2-corrective-audio{justify-content:center;display:flex}.v2-spell-actions{gap:var(--space-3,12px);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;width:min(100%,400px);min-width:0;display:grid}.v2-spell-actions>.ui-btn{width:100%;min-width:0;padding-inline:8px}@media (width<=360px){.v2-spell-actions .ui-btn{padding-inline:16px}}.v2-keyboard-slots{gap:var(--space-2,8px);min-height:56px;margin-bottom:var(--space-2,8px);cursor:text;flex-wrap:wrap;justify-content:center;display:flex;position:relative}.v2-keyboard-slots .v2-slot{cursor:text;font-style:normal}.v2-slot.is-caret{border-color:var(--leaf,#2e6434);box-shadow:0 0 0 2px #2e643426}.v2-keyboard-capture{opacity:0;cursor:text;background:0 0;border:none;width:100%;height:100%;position:absolute;inset:0}.v2-hint-panel{justify-content:center;display:flex}.v2-hint-chunks{letter-spacing:.08em;color:var(--leaf,#2e6434);font-size:clamp(26px,8vw,36px);font-weight:700}.v2-feedback{background:var(--paper-2,#fffdf8);border-radius:var(--radius-card,20px);width:min(90vw,420px);box-shadow:var(--shadow-card,0 4px 24px #2e3a292e);padding:var(--space-4,16px);gap:var(--space-3,12px);z-index:20;justify-items:center;margin:0 auto;display:grid;position:fixed;inset:auto 0 12vh}.v2-break-offer{z-index:60;background:#2e3a298c;place-items:center;display:grid;position:fixed;inset:0}.v2-break-card{background:var(--paper-2,#fffdf8);border-radius:var(--radius-card,20px);box-shadow:var(--shadow-card,0 2px 12px #2e3a2914);padding:var(--space-6,24px) var(--space-5,20px);gap:var(--space-3,12px);justify-items:center;max-width:min(90vw,420px);display:grid}.v2-break-card>p{font-size:var(--text-child-prompt,22px);margin:0}.v2-break-countdown{font-size:var(--text-child-word,40px);color:var(--leaf,#2e6434);font-variant-numeric:tabular-nums;font-weight:700}.v2-break-actions{gap:var(--space-3,12px);flex-wrap:wrap;justify-content:center;display:flex}.practice-menu{gap:var(--space-2,8px);justify-items:center;display:grid;position:relative}.practice-menu-items{background:var(--paper-2,#fffdf8);box-shadow:var(--shadow-card,0 2px 12px #2e3a291f);padding:var(--space-2,8px);z-index:10;border-radius:12px;gap:2px;min-width:160px;display:grid;position:absolute;top:calc(100% + 4px)}.practice-menu-item{padding:var(--space-2,8px) var(--space-3,12px);font-size:var(--text-child-body,16px);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px}.practice-menu-item:hover:not(:disabled){background:var(--paper-1,#faf7ef)}.v2-corrective-wordblock{justify-items:center;gap:4px;display:grid}.v2-corrective-wordblock .v2-corrective-word{letter-spacing:.04em;margin:0;font-size:clamp(36px,10vw,64px);font-weight:800}.v2-corrective-chunks{letter-spacing:.08em;color:var(--ink-2,#6b7563);margin:0;font-size:clamp(20px,6vw,26px);font-weight:600}.v2-group-input{gap:var(--space-2,8px);justify-items:center;width:100%;min-width:0;display:grid}.v2-group-input .v2-group-progress{text-align:center;color:var(--muted,#756b5e);margin:0;font-size:.8rem}.v2-group-transition{text-align:center;color:#756b5e;min-height:1.4em;margin:.25rem 0 .65rem;font-size:.8rem}@media (width<=767px){.v2-card{--spell-tile-width:52px;--spell-tile-height:56px;--spell-tile-font:30px;--spell-row-width:332px;--spell-inline-gain:24px}.v2-card.learning-card--follow{--spell-inline-gain:8px}.v2-card :is(.v2-slots,.v2-keyboard-slots,.v2-tokens,.v2-pool).is-dense{--spell-tile-width:48px;--spell-tile-height:52px;--spell-row-width:308px}.v2-card :is(.v2-slots,.v2-keyboard-slots,.v2-tokens,.v2-pool)[class]{width:calc(100% + var(--spell-inline-gain));max-width:var(--spell-row-width);flex-shrink:0;place-self:center;gap:4px}.v2-card .v2-token[class]{gap:4px}}@media (width>=768px){.v2-card{--spell-tile-width:64px;--spell-tile-height:68px;--spell-tile-font:40px;--spell-row-width:434px}.v2-card .v2-keyboard{max-width:100%}.v2-card :is(.v2-slots,.v2-keyboard-slots,.v2-tokens,.v2-pool)[class]{width:100%;max-width:var(--spell-row-width);place-self:center;gap:10px}.v2-card .v2-token[class]{gap:10px}}.v2-card :is(.v2-slots,.v2-token,.v2-keyboard-slots,.v2-pool)[class] :is(.v2-slot,.v2-pool-letter),.v2-card.learning-card--follow :is(.v2-slots,.v2-token,.v2-keyboard-slots,.v2-pool)[class] :is(.v2-slot,.v2-pool-letter){width:var(--spell-tile-width);min-width:var(--spell-tile-width);height:var(--spell-tile-height);min-height:var(--spell-tile-height);flex:0 0 var(--spell-tile-width);box-sizing:border-box;font-size:var(--spell-tile-font);padding:0;line-height:1.15}.child-main:has(.learning-card){width:min(var(--reading-max,760px), calc(100% - 24px))}.child-main--fullscreen:has(.learning-card){align-content:start;padding:12px 0}.learn-body:has(.learning-card){flex:auto;min-height:0}.learn-body:has(.learning-card)>*{margin-top:0;margin-bottom:0}.learn-stage--fullscreen:has(.learning-card){justify-content:flex-start;height:auto;min-height:0;transform:none}.learn-stage--fullscreen:has(.learning-card) .learn-top{width:100%;margin-bottom:8px}.learn-stage--fullscreen:has(.learning-card) .learn-body{width:100%;max-width:100%}.v2-card.learning-card{text-align:center;flex-direction:column;align-items:stretch;gap:20px;width:100%;min-width:0;max-width:760px;min-height:0;padding:24px;display:flex;container-type:inline-size}.learning-card--bounded{max-height:calc(var(--learning-card-available,calc(100dvh - 180px)) - env(safe-area-inset-bottom,0px));overflow:hidden}.learning-card-body{flex-direction:column;align-items:center;gap:24px;min-width:0;min-height:0;display:flex}.learning-card--bounded .learning-card-body{flex:0 auto;overflow:hidden auto}.learning-card-body>*{flex-shrink:0;max-width:100%}.learning-card .learning-card-instruction{text-align:left;color:var(--ink-900);align-self:flex-start;margin:0 0 12px;font-size:22px;font-weight:600;line-height:1.4}.learning-card .v2-meaning,.learning-card .v2-question{text-align:center;margin:0}.learning-card .v2-meaning{font-size:24px;line-height:1.45}.learning-card .v2-question{font-size:22px}.learning-card-actions{flex-direction:column;flex:none;align-items:center;gap:12px;width:100%;padding:16px 0 4px;display:flex}.learning-card-actions>.ui-btn{width:100%;min-height:64px;font-size:20px}.learning-card-actions>.v2-dont-know{min-height:44px;margin:0;font-size:18px}.learning-card-body>.v2-keyboard{width:100%}.learning-word-display{border-bottom:1px solid var(--line-200);text-align:center;width:100%;min-width:0;padding:8px 0 24px;position:relative}.learning-word-display>.phonics-word-wrapper{gap:20px;width:100%}.learning-word-display .phonics-word-heading.has-audio{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.learning-word-display .phonics-word-main{white-space:normal;overflow-wrap:anywhere;word-break:normal;min-width:0;max-width:100%;font-family:var(--font-word,Georgia, serif);letter-spacing:-.025em;flex:0 auto;font-weight:500;line-height:1.1;display:block}.learning-word-display.v2-word-size--short .phonics-word-main{font-size:72px}.learning-word-display.v2-word-size--medium .phonics-word-main{font-size:clamp(44px,14cqw,60px)}.learning-word-display.v2-word-size--long .phonics-word-main{width:100%;font-size:clamp(36px,12cqw,48px);line-height:1.16}.learning-word-display.v2-word-size--long .phonics-word-heading{flex-direction:column;gap:20px}.phonics-word-pronunciation{min-width:0;max-width:100%;font-family:var(--font-body);letter-spacing:normal;flex:0 auto;justify-content:center;align-items:center;gap:12px;display:inline-flex}.learning-word-display .phonics-word-pronunciation .v2-phonetic{flex:0 auto;min-width:0;font-size:20px;font-weight:400;line-height:1.4}.learning-word-display .sound-control--learning{flex:none;display:inline-flex}.v2-card .learning-word-display .sound-btn{width:80px;min-width:80px;height:44px;min-height:44px;font-family:var(--font-body);letter-spacing:normal;white-space:nowrap;border-width:1.5px;border-radius:14px;flex:none;gap:6px;padding:0 6px;font-size:18px;font-weight:600;line-height:1.2}.learning-word-display .sound-btn svg{width:18px;height:18px}.learning-word-display .sound-btn--failed{color:#7d5c2f;border-style:solid;border-color:#cebaa0}.learning-word-display .phonics-word-pronunciation:has(.sound-btn--failed){flex-wrap:wrap}.learning-word-display .sound-control--learning:has(.sound-btn--failed){display:contents}.learning-word-display .sound-control-error{min-width:0;font-family:var(--font-body);text-align:center;color:var(--ink-600);flex:0 0 100%;margin:0;font-size:14px;font-weight:400;line-height:1.5;position:static}.learning-word-display .phonics-word-split{letter-spacing:.02em;opacity:1;max-width:100%;font-size:26px;font-weight:600;line-height:1.35}.learning-word-display .phonics-word-split .phonics-word{row-gap:8px}.learning-word-display .phonics-syl i{padding:0 6px}@media (width>=1024px){.v2-card.learning-card{gap:24px;padding:32px 40px}.learning-card .learning-card-instruction{font-size:24px}.learning-word-display.v2-word-size--short .phonics-word-main{font-size:96px}.learning-word-display.v2-word-size--medium .phonics-word-main{font-size:76px}.learning-word-display.v2-word-size--long .phonics-word-main{font-size:64px}.learning-word-display>.phonics-word-wrapper{gap:24px}.learning-word-display .phonics-word-pronunciation .v2-phonetic{font-size:24px}.learning-word-display .phonics-word-split{font-size:32px}.learning-card .v2-meaning{font-size:26px}.learning-card-actions>.ui-btn{max-width:400px}}@media (height<=700px) and (width<=1023px){.v2-card.learning-card{gap:12px;padding:16px}.learning-card-body{gap:16px}.learning-card .learning-card-instruction{margin-bottom:4px;font-size:20px}.learning-word-display{padding:4px 0 16px}.learning-word-display>.phonics-word-wrapper,.learning-word-display.v2-word-size--long .phonics-word-heading{gap:12px}.learning-word-display .phonics-word-split{font-size:24px}.learning-card-actions{gap:8px;padding-top:8px}}.v2-card.learning-card--follow{gap:12px;max-height:none;padding:12px;overflow:visible}.learning-card--follow .learning-card-body{flex:none;gap:8px;overflow:visible}.learning-card--follow .learning-card-instruction{margin-bottom:0;font-size:18px}.learning-card--follow .learning-word-display{padding:0 0 12px}.learning-card--follow .phonics-word-wrapper,.learning-card--follow .phonics-word-heading.has-audio{gap:8px}.learning-card--follow .learning-word-display .phonics-word-main{font-size:clamp(36px,12cqw,48px)}.learning-card--follow .learning-word-display.v2-word-size--long .phonics-word-main{font-size:clamp(28px,9cqw,40px)}.learning-card--follow .phonics-word-pronunciation{gap:8px}.learning-card--follow .phonics-word-pronunciation .v2-phonetic{font-size:18px}.learning-card--follow .learning-word-display .phonics-word-split{font-size:22px}.learning-card--follow .v2-keyboard{gap:8px}.learning-card--follow .v2-group-progress{margin:0}.learning-card--follow .v2-slots,.learning-card--follow .v2-keyboard-slots,.learning-card--follow .v2-tokens,.learning-card--follow .v2-token,.learning-card--follow .v2-pool{gap:4px}.learning-card--follow .v2-slots,.learning-card--follow .v2-keyboard-slots,.learning-card--follow .v2-tokens{min-height:48px;margin-bottom:0}.learning-card.learning-card--follow .v2-keyboard .v2-slot,.learning-card.learning-card--follow .v2-keyboard .v2-pool-letter{border-radius:10px;flex:none;width:44px;min-width:44px;height:48px;padding:0;font-size:28px;line-height:1}.learning-card--follow .learning-card-actions{gap:4px;padding:8px 0 0}.learning-card--follow .v2-spell-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;display:grid}.learning-card--follow .v2-spell-actions .ui-btn{width:100%;min-width:0;min-height:56px;padding:8px;font-size:20px}@media (width<=767px){.learning-card--follow .learning-card-body{gap:6px}.learning-card--follow .learning-word-display{padding-bottom:8px}.learning-card--follow .phonics-word-wrapper,.learning-card--follow .phonics-word-heading.has-audio{gap:4px}.learning-card--follow .learning-word-display.v2-word-size--long .phonics-syl i{padding:0 2px}.learning-card.learning-card--follow .v2-keyboard .v2-slot,.learning-card.learning-card--follow .v2-keyboard .v2-pool-letter{width:48px;min-width:48px;height:52px;font-size:30px}}@media (width>=1024px){.v2-card.learning-card--follow{gap:12px;padding:16px 24px}.learning-card--follow .learning-card-body{gap:8px}.learning-card--follow .learning-word-display .phonics-word-main{font-size:48px}.learning-card--follow .learning-word-display.v2-word-size--long .phonics-word-main{font-size:40px}.learning-card--follow .phonics-word-pronunciation .v2-phonetic,.learning-card--follow .learning-word-display .phonics-word-split{font-size:22px}.learning-card--follow .v2-spell-actions{max-width:480px}}.learning-card--meaning .learning-card-actions{gap:12px}@media (width>=1024px){.v2-card.learning-card--meaning{gap:12px;padding:20px 32px}.learning-card--meaning .learning-card-actions{gap:10px;padding:8px 0 4px}.learning-card--meaning .learning-word-display{padding:4px 0 12px}.learning-card--meaning .phonics-word-wrapper{gap:12px}.learning-card--meaning .learning-word-display.v2-word-size--short .phonics-word-main{font-size:72px}.learning-card--meaning .learning-word-display.v2-word-size--medium .phonics-word-main{font-size:60px}.learning-card--meaning .learning-word-display.v2-word-size--long .phonics-word-main{font-size:48px}.learning-card--meaning .phonics-word-heading.has-audio{gap:12px}.learning-card--meaning .phonics-word-pronunciation .v2-phonetic{font-size:20px}.learning-card--meaning .learning-word-display .phonics-word-split{font-size:26px}.learning-card--meaning .sound-control-error{font-size:16px;line-height:1.4}.learning-card--meaning .v2-question{font-size:20px}.learning-card--meaning .v2-options{gap:10px}.learning-card--meaning .v2-options .v2-option{padding:8px 12px;font-size:22px}}@media (width<=767px){.v2-card.learning-card{gap:12px;padding:12px}.learning-card:not(.learning-card--follow){max-height:none;overflow:visible}.learning-card:not(.learning-card--follow) .learning-card-body{flex:none;gap:12px;overflow:visible}.learning-card .learning-word-display{padding:4px 0 12px}.learning-card .learning-word-display>.phonics-word-wrapper{gap:8px}.learning-card .learning-word-display .phonics-word-heading.has-audio{flex-direction:column;gap:8px}.learning-card .learning-word-display.v2-word-size--short .phonics-word-main{font-size:clamp(32px,12cqw,40px)}.learning-card .learning-word-display.v2-word-size--medium .phonics-word-main{font-size:clamp(28px,10cqw,34px)}.learning-card .learning-word-display.v2-word-size--long .phonics-word-main{font-size:clamp(24px,8cqw,28px)}.learning-card .learning-word-display .phonics-word-pronunciation{gap:8px}.learning-card .learning-word-display .v2-phonetic{font-size:16px}.learning-card .learning-word-display .phonics-word-split{font-size:18px;line-height:1.35}.learning-card .learning-word-display .phonics-syl i{padding-inline:3px}.learning-card .learning-card-instruction{margin-bottom:0;font-size:18px}.learning-card .v2-question{font-size:18px}.learning-card .learning-card-actions{gap:8px;padding-top:4px}}.recognition-page{box-sizing:border-box;width:min(100%,700px);color:var(--ink-900,#302c23);margin:0 auto;padding:20px 24px 36px}.recognition-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.recognition-heading h1{margin:4px 0 12px;font-size:26px}.recognition-counter{white-space:nowrap;color:var(--ink-600,#786c5c);font-size:16px}.recognition-intro,.recognition-save-note{color:var(--ink-600,#786c5c);line-height:1.7}.recognition-lists{gap:12px;margin-top:20px;display:grid}.recognition-lists article{border:1px solid var(--line-200,#dfd3c0);background:var(--paper-0,#fffdf6);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.recognition-lists h2{overflow-wrap:anywhere;margin:0 0 6px;font-size:18px}.recognition-lists p{color:var(--ink-600,#786c5c);margin:0;font-size:13px}.recognition-lists .ui-btn{flex-shrink:0;min-height:44px;padding:10px 14px;font-size:14px}.recognition-progress{background:var(--line-200,#ede7da);border-radius:3px;height:5px;margin:4px 0 10px;overflow:hidden}.recognition-progress span{background:var(--brand-700,#4f6947);height:100%;transition:width .2s;display:block}.recognition-quiz{flex-direction:column;align-items:center;display:flex}.recognition-prompt{text-align:center;width:100%;margin:0 0 8px;container-type:inline-size}.recognition-prompt>span{color:var(--ink-600,#786c5c);font-size:13px;line-height:1.4;display:block}.recognition-prompt>div{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.recognition-prompt h2{overflow-wrap:anywhere;margin:4px 0;font-size:clamp(28px,6vw,38px);line-height:1.3}.recognition-prompt h2:has(.recognition-word-display){width:100%;min-width:0}.recognition-prompt .recognition-word-display{border:0;padding:0;display:block}.recognition-prompt .phonics-word-main{white-space:normal;overflow-wrap:anywhere}.recognition-prompt .recognition-word-display>.phonics-word-wrapper{gap:8px}.recognition-prompt .recognition-word-display .phonics-word-heading{flex-direction:column;align-items:center;gap:6px}.recognition-prompt .phonics-word-pronunciation{align-items:center;gap:10px;display:inline-flex}.recognition-answer-word{margin:10px 0;font-size:25px}.recognition-prompt p{min-height:22px;color:var(--ink-600,#786c5c);margin:6px 0 8px;font-size:13px}.recognition-prompt .recognition-correction{justify-items:center;gap:6px;width:100%;margin:6px 0 14px;display:grid}.recognition-correction>span{color:var(--ink-600,#786c5c);font-size:13px}.recognition-correct-answer{max-width:100%;color:var(--danger-600,#ae4b3d);overflow-wrap:anywhere;font-size:clamp(26px,6vw,36px);font-weight:700;line-height:1.4}.recognition-correction .phonics-word-main{color:var(--danger-600,#ae4b3d)}.recognition-correction .recognition-answer-word{width:100%;min-width:0;margin:4px 0 0}.recognition-sound{white-space:nowrap;border:1px solid var(--line-200,#dfd3c0);background:var(--paper-0,#fffdf6);color:var(--brand-700,#4f6947);min-height:44px;font:inherit;border-radius:20px;flex:none;padding:8px 15px;font-size:14px}.recognition-options{gap:8px;width:min(100%,360px);display:grid}.recognition-options button{border:1px solid var(--line-200,#dfd3c0);background:var(--paper-0,#fffdf6);width:100%;min-height:48px;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;border-radius:12px;grid-template-columns:26px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:9px 12px;line-height:1.5;display:grid}.recognition-options button>span:nth-child(2){min-width:0;font-size:18px}.recognition-option-number{color:#786c5c;background:#f1ebde;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:14px;display:grid}.recognition-options .is-correct{background:#e3ebdd;border-color:#4f7552}.recognition-options .is-muted{opacity:.66}.recognition-option-mark{color:#4f7552;text-align:center;font-weight:700}.recognition-unknown{width:min(100%,360px);min-height:44px;color:var(--ink-600,#786c5c);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:9px;font-size:14px;display:block}.recognition-save-note{text-align:center;margin-top:6px;font-size:12px}.recognition-summary{width:100%;max-width:480px;margin-inline:auto}.recognition-summary h2{margin:20px 0 8px;font-size:25px}.recognition-summary>p{line-height:1.6}.recognition-summary dl{gap:8px;margin:20px 0;display:grid}.recognition-summary dl div{border:1px solid var(--line-200,#dfd3c0);background:var(--paper-0,#fffdf6);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.recognition-summary dd{color:var(--brand-700,#4f6947);white-space:nowrap;margin:0;font-weight:700}.recognition-total{justify-content:space-between;gap:16px;margin-bottom:6px;display:flex}.recognition-total strong{color:var(--brand-700,#4f6947)}.recognition-summary>small{color:var(--ink-600,#786c5c)}.recognition-summary-actions{gap:8px;margin-top:20px;display:grid}.recognition-summary-actions .ui-btn{min-height:44px;margin:0}.recognition-error{color:#a44332;background:#f3ded8;border-radius:12px;margin:8px 0;padding:10px 14px}.recognition-error p{margin:0 0 6px}.recognition-error button,.recognition-pagination button{min-height:44px;font:inherit;color:inherit;background:0 0;border:1px solid;border-radius:9px;padding:6px 12px}.recognition-pagination{justify-content:center;gap:12px;margin-top:16px;display:flex}@media (width>=601px){.recognition-quiz--zh_to_en .recognition-options button{min-height:56px;padding-block:10px}.recognition-quiz--zh_to_en .recognition-options button>span:nth-child(2){font-size:24px;line-height:1.35}}@media (width>=601px) and (height<=800px){.child-main:has(.recognition-quiz){align-content:start;padding-block:4px}.recognition-page:has(.recognition-quiz){padding-block:4px 12px}.recognition-page:has(.recognition-quiz) .recognition-heading .ui-eyebrow{display:none}.recognition-page:has(.recognition-quiz) .recognition-heading h1{margin:0 0 6px;font-size:24px;line-height:1.25}.recognition-page:has(.recognition-quiz) .recognition-progress{margin-bottom:10px}.recognition-prompt p{min-height:18px;margin:4px 0}.recognition-prompt{margin-bottom:4px}.recognition-prompt .recognition-word-display.v2-word-size--short .phonics-word-main{font-size:clamp(44px,8vh,64px)}.recognition-prompt .recognition-word-display.v2-word-size--medium .phonics-word-main{font-size:clamp(36px,7vh,56px)}.recognition-prompt .recognition-word-display.v2-word-size--long .phonics-word-main{font-size:clamp(32px,6vh,44px)}.recognition-prompt .recognition-word-display .phonics-word-split{font-size:22px}.recognition-prompt .recognition-word-display .v2-phonetic{font-size:20px}.recognition-options{gap:6px}.recognition-options button{min-height:44px;padding-block:7px}.recognition-save-note{line-height:1.4}}@media (width<=600px){.recognition-page{padding:12px 16px 28px}.recognition-heading h1{font-size:22px}.recognition-heading .ui-eyebrow{display:none}.recognition-progress{margin-bottom:12px}.recognition-prompt{margin-top:6px}.recognition-options,.recognition-unknown{width:min(100%,240px)}.recognition-quiz--zh_to_en .recognition-options,.recognition-quiz--zh_to_en .recognition-unknown{width:min(100%,260px)}.recognition-options button{min-height:44px;padding:8px 10px;font-size:16px}.recognition-lists article{gap:8px;padding:16px 12px}.child-main:has(.recognition-quiz){align-content:start;width:100%;min-height:0;padding:0}.recognition-page:has(.recognition-quiz){padding:6px 12px 4px}.recognition-page:has(.recognition-quiz) .recognition-heading h1{margin:0 0 4px}.recognition-page:has(.recognition-quiz) .recognition-progress{margin:2px 0 10px}.recognition-prompt{margin:0 0 6px}.recognition-prompt h2{margin:4px 0;font-size:24px}.recognition-prompt .recognition-word-display>.phonics-word-wrapper,.recognition-prompt .recognition-word-display .phonics-word-heading{gap:4px}.recognition-prompt .recognition-word-display.v2-word-size--short .phonics-word-main{font-size:clamp(32px,12cqw,40px)}.recognition-prompt .recognition-word-display.v2-word-size--medium .phonics-word-main{font-size:clamp(28px,10cqw,34px)}.recognition-prompt .recognition-word-display.v2-word-size--long .phonics-word-main{font-size:clamp(24px,8cqw,28px)}.recognition-prompt .recognition-word-display .phonics-word-pronunciation{gap:8px}.recognition-prompt .recognition-word-display .v2-phonetic{font-size:16px}.recognition-prompt .recognition-word-display .phonics-word-split{font-size:18px;line-height:1.3}.recognition-prompt .recognition-word-display .phonics-word-split .phonics-word{row-gap:2px}.recognition-prompt .recognition-word-display .phonics-syl i{padding-inline:3px}.recognition-prompt p{margin:2px 0 4px}.recognition-prompt .recognition-correction{gap:2px;margin:2px 0 4px}.recognition-correct-answer{font-size:18px;line-height:1.4}.recognition-correction .recognition-answer-word{margin:0}.recognition-options{gap:6px}.recognition-options button{padding-block:7px}.recognition-quiz--zh_to_en .recognition-options button{min-height:56px;padding-block:10px}.recognition-quiz--zh_to_en .recognition-options button>span:nth-child(2){font-size:22px;line-height:1.35}.recognition-unknown{margin-top:12px}.recognition-save-note{margin-top:12px;line-height:1.4}}@media (width<=360px){.child-header:has(+.child-main .recognition-quiz) .child-header-parent span{display:none}}@media (prefers-reduced-motion:reduce){.recognition-progress span{transition:none}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--content-max:1200px;--reading-max:760px;--header-height:80px;--text-body:17px;--text-body-lg:19px;--text-small:14px;--text-page-title:40px;--text-section-title:28px;--text-data-number:48px;--text-hero:48px;--text-child-word:104px;--text-child-prompt:24px;--text-child-button:24px;--text-child-slot:64px;--text-child-letter:28px;--touch-parent:44px;--touch-child:64px;--touch-letter:60px;--motion-press:.12s;--motion-task:.25s;--motion-panel:.32s;--motion-correct:.42s;--ease-out:cubic-bezier(.22, .61, .36, 1);--radius-s:8px;--radius-m:14px;--radius-l:22px;--radius-pill:999px}@media (width<=1279px){:root{--text-body:16px;--text-body-lg:18px;--text-small:13px;--text-hero:40px;--text-page-title:36px;--text-section-title:26px;--text-data-number:42px;--text-child-word:84px;--text-child-prompt:22px;--text-child-button:22px;--text-child-slot:56px;--text-child-letter:26px}}@media (width<=1023px){:root{--header-height:68px;--text-hero:34px;--text-page-title:32px;--text-section-title:24px;--text-data-number:38px;--text-child-word:72px;--text-child-prompt:20px;--text-child-button:20px;--text-child-slot:48px;--text-child-letter:24px;--touch-child:60px;--touch-letter:56px}}@media (width<=767px){:root{--text-body:16px;--text-body-lg:17px;--text-small:13px;--text-hero:28px;--text-page-title:28px;--text-section-title:22px;--text-data-number:36px;--text-child-word:56px;--text-child-prompt:18px;--text-child-button:18px;--text-child-slot:48px;--text-child-letter:28px;--touch-child:56px;--touch-letter:64px}}@media (prefers-reduced-motion:reduce){:root{--motion-press:0s;--motion-task:0s;--motion-panel:0s;--motion-correct:0s}}:root,[data-ui-theme=a]{--paper-0:#fbfaf6;--paper-1:#f3f0e7;--paper-2:#ece7d9;--ink-900:#17342c;--ink-600:#587068;--ink-300:#93a49d;--brand-700:#1e5a45;--brand-600:#276b53;--brand-100:#dde9e1;--amber-500:#d18b32;--amber-100:#f5e7d0;--success-600:#397653;--success-100:#dfece2;--danger-600:#ae4b3d;--danger-100:#f3e0db;--line-200:#d9ddd7;--surface-card:#fffdf8;--shadow-soft:0 1px 2px #17342c0d, 0 8px 24px #17342c0f;--shadow-lift:0 2px 6px #17342c14, 0 16px 40px #17342c1a;--font-display:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;--font-body:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-word:"Literata", "Noto Serif SC", Georgia, "Times New Roman", serif;--heading-weight:600;--card-border:1px solid var(--line-200)}[data-ui-theme=b]{--paper-0:#f7faf9;--paper-1:#eef4f2;--paper-2:#e2ece9;--ink-900:#14313a;--ink-600:#527076;--ink-300:#8fa5a9;--brand-700:#155e6e;--brand-600:#1d7182;--brand-100:#d8e9ec;--amber-500:#d1912f;--amber-100:#f6e9cf;--success-600:#2f7d5b;--success-100:#ddeee4;--danger-600:#b04a41;--danger-100:#f5e0dd;--line-200:#d5e0de;--surface-card:#fff;--shadow-soft:0 1px 2px #14313a0d, 0 10px 28px #14313a12;--shadow-lift:0 2px 8px #14313a17, 0 18px 44px #14313a1f;--font-display:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-body:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-word:"Literata", Georgia, "Times New Roman", serif;--heading-weight:700;--card-border:1px solid var(--line-200)}[data-ui-theme=c]{--paper-0:#faf6ef;--paper-1:#f2ebdd;--paper-2:#e9dfcc;--ink-900:#2e2620;--ink-600:#6b5f52;--ink-300:#a2937f;--brand-700:#41563c;--brand-600:#4f6a49;--brand-100:#e4e8d8;--amber-500:#c07f2e;--amber-100:#f4e5c9;--success-600:#4c7250;--success-100:#e2ebdf;--danger-600:#a8473a;--danger-100:#f2ddd8;--line-200:#ddd3c0;--surface-card:#fffcf5;--shadow-soft:0 1px 2px #2e26200d, 0 8px 22px #2e26200f;--shadow-lift:0 2px 6px #2e262014, 0 16px 38px #2e26201c;--font-display:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;--font-body:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-word:"Literata", "Noto Serif SC", Georgia, "Times New Roman", serif;--heading-weight:600;--card-border:1px solid var(--line-200)}[data-student-theme=leaf]{--student-600:#2e7d54;--student-100:#dcebe0}[data-student-theme=sky]{--student-600:#2f6d8f;--student-100:#dbe8ef}[data-student-theme=sun]{--student-600:#c07f2e;--student-100:#f4e5c9}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper-0);min-width:320px;min-height:100vh;color:var(--ink-900);font-family:var(--font-body);font-size:var(--text-body);font-synthesis:none;-webkit-font-smoothing:antialiased;margin:0;line-height:1.65;overflow-x:clip}h1,h2,h3{font-family:var(--font-display);font-weight:var(--heading-weight);letter-spacing:-.01em;margin:0;line-height:1.25}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}a{color:var(--brand-700)}img,svg{display:block}:focus-visible{outline:3px solid var(--brand-100);outline-offset:2px;border-radius:var(--radius-s)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-parent);padding:0 var(--space-6);border-radius:var(--radius-pill);transition:background var(--motion-press) var(--ease-out), border-color var(--motion-press) var(--ease-out), transform var(--motion-press) var(--ease-out);white-space:nowrap;border:1px solid #0000;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn--primary{background:var(--brand-700);color:var(--paper-0)}.ui-btn--primary:hover:not(:disabled){background:var(--brand-600)}.ui-btn--primary:disabled{opacity:.55}.ui-btn--secondary{border-color:var(--line-200);color:var(--ink-900);background:var(--surface-card)}.ui-btn--secondary:hover:not(:disabled){border-color:var(--ink-300)}.ui-btn--ghost{color:var(--ink-600)}.ui-btn--ghost:hover:not(:disabled){color:var(--ink-900);background:var(--paper-1)}.ui-btn--danger{background:var(--danger-600);color:#fff}.ui-btn--danger:hover:not(:disabled){filter:brightness(1.06)}.ui-btn--text{min-height:auto;padding:var(--space-1) 0;color:var(--ink-600);text-underline-offset:4px;border-radius:0;font-weight:500;text-decoration:underline}.ui-switch{color:var(--line-200);cursor:pointer;transition:color var(--motion-task) var(--ease-out);background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.ui-switch.is-on{color:var(--brand-700)}.ui-switch:hover{filter:brightness(.96)}.ui-switch:focus-visible{outline:2px solid var(--brand-700);outline-offset:2px;border-radius:var(--radius-pill)}.ui-switch-knob{transition:transform var(--motion-task) var(--ease-out)}.ui-switch.is-on .ui-switch-knob{transform:translate(28px)}.ui-btn--text:hover:not(:disabled){color:var(--ink-900)}.ui-btn--wide{width:100%}.ui-btn--child{min-height:var(--touch-child);padding:0 var(--space-12);font-size:var(--text-child-button);border-radius:var(--radius-pill)}.ui-eyebrow{letter-spacing:.16em;color:var(--brand-700);text-transform:uppercase;font-size:15px;font-weight:700}.ui-quiet{color:var(--ink-600);font-size:var(--text-small)}.ui-field{gap:var(--space-2);font-size:15px;font-weight:600;display:grid}.ui-field input,.ui-field select,.ui-field textarea{min-height:var(--touch-parent);padding:0 var(--space-4);border:1px solid var(--line-200);border-radius:var(--radius-m);background:var(--surface-card);width:100%;font-size:16px;font-weight:400}.ui-field input:focus,.ui-field select:focus,.ui-field textarea:focus{border-color:var(--brand-700);outline:3px solid var(--brand-100)}.ui-field small{color:var(--ink-600);font-weight:400}.ui-form-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--danger-100);color:var(--danger-600);margin:0;font-size:15px}.ui-form-error .ui-request-id{margin-top:var(--space-1);opacity:.75;font-size:12px;display:block}.ui-warn{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--amber-100);color:var(--amber-600,#92400e);margin:0;font-size:15px}.ui-form-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--success-100);color:var(--success-600);font-size:15px}.ui-card{background:var(--surface-card);border:var(--card-border);border-radius:var(--radius-l);box-shadow:var(--shadow-soft)}.ui-state{justify-items:center;gap:var(--space-3);text-align:center;padding:var(--space-16) var(--space-6);color:var(--ink-600);display:grid}.ui-state h2{font-size:var(--text-section-title);color:var(--ink-900)}.ui-state--page{box-sizing:border-box;align-content:center;min-height:100dvh}.ui-state .ui-request-id{color:var(--ink-300);font-size:12px}.ui-skeleton{border-radius:var(--radius-m);background:linear-gradient(90deg, var(--paper-1) 25%, var(--paper-2) 50%, var(--paper-1) 75%);background-size:200% 100%;animation:1.4s infinite ui-skeleton}@keyframes ui-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-pill{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--paper-1);color:var(--ink-600);font-size:13px;font-weight:600;display:inline-flex}.ui-pill--good{background:var(--success-100);color:var(--success-600)}.ui-pill--warn{background:var(--amber-100);color:var(--amber-500)}.ui-pill--danger{background:var(--danger-100);color:var(--danger-600)}.ui-coming-soon{align-items:center;gap:var(--space-1);color:var(--ink-300);border:1px dashed var(--line-200);border-radius:var(--radius-pill);padding:2px var(--space-3);font-size:12px;font-weight:600;display:inline-flex}.ui-is-disabled{opacity:.55;pointer-events:none}.ui-dialog-backdrop{padding:var(--space-6);z-index:200;animation:ui-fade var(--motion-panel) var(--ease-out);background:#00000052;place-items:center;display:grid;position:fixed;inset:0}.ui-dialog{background:var(--surface-card);border-radius:var(--radius-l);width:min(480px,100%);box-shadow:var(--shadow-lift);padding:var(--space-8);gap:var(--space-4);display:grid}.ui-dialog h2{font-size:24px}.ui-dialog .ui-dialog-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}@keyframes ui-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ui-page-head{gap:var(--space-2);display:grid}.ui-page-head h1{font-size:var(--text-page-title)}.ui-page-head p{color:var(--ink-600);max-width:56ch}.ui-avatar{background:var(--student-100,var(--brand-100));width:52px;height:52px;color:var(--student-600,var(--brand-700));border:2px solid var(--student-600,var(--brand-700));border-radius:50%;flex:none;place-items:center;font-size:22px;font-weight:700;display:grid}.ui-avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.ui-avatar--small{border-width:1.5px;width:32px;height:32px;font-size:14px}.ui-avatar--large{width:88px;height:88px;font-size:46px}.ui-stack{gap:var(--space-4);display:grid}.ui-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-spread{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.ui-btn--small{min-height:34px;padding:0 var(--space-3);font-size:13px}.legal-page{max-width:720px;padding:var(--space-6) var(--space-4);gap:var(--space-5,20px);margin:0 auto;display:grid}.legal-tabs{gap:var(--space-3);flex-wrap:wrap;display:flex}.legal-tabs a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--ink-600);border:1px solid var(--line-200);font-size:14px;text-decoration:none}.legal-tabs a.is-active{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.legal-intro{color:var(--ink-700);line-height:1.8}.legal-section h2{margin:var(--space-5,20px) 0 var(--space-2);color:var(--brand-700);font-size:17px}.legal-section ul{padding-left:var(--space-5,20px);gap:var(--space-2);color:var(--ink-700);line-height:1.8;display:grid}.legal-contact{margin-top:var(--space-5,20px)}.auth-consent{gap:var(--space-2);color:var(--ink-600);margin-top:var(--space-3);align-items:flex-start;font-size:13px;line-height:1.7;display:flex}.auth-consent input{flex:none;margin-top:3px}.auth-consent a{color:var(--brand-700);margin:0 2px}.site-footer-legal{gap:var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.site-footer-legal a{color:var(--ink-600);font-size:13px;text-decoration:none}.site-footer-legal a:hover{color:var(--brand-700)}.editor-delete{color:var(--danger-600,#b3452e);margin-top:var(--space-2)}.captcha-modal-overlay{z-index:90;padding:var(--space-4);background:#1e181273;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.captcha-modal{width:min(420px,100%);padding:var(--space-5,20px);gap:var(--space-3);display:grid}.captcha-modal h3{color:var(--ink-800);margin:0;font-size:17px}.captcha-modal-hint{color:var(--ink-600);margin:0;font-size:13px;line-height:1.7}.captcha-modal altcha-widget{display:block}.captcha-modal-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.brand{align-items:center;gap:var(--space-3);text-align:left;color:inherit;text-decoration:none;display:inline-flex}.brand-mark{background:var(--ink-900);width:42px;height:42px;color:var(--paper-0);font-family:var(--font-display);border-radius:13px;flex:none;place-items:center;font-size:24px;display:grid}.brand-text b{font-family:var(--font-display);white-space:nowrap;font-size:19px;line-height:1.2;display:block}.brand-text small{color:var(--ink-600);letter-spacing:.04em;font-size:13px}.brand-title{white-space:nowrap;align-items:center;gap:6px;font-size:19px;display:flex}.brand-badge{border-radius:var(--radius-pill);background:var(--paper-1);border:1px solid var(--brand-700);color:var(--brand-700);letter-spacing:.05em;flex:none;padding:3px 8px 2px;font-size:.55em;font-weight:600;line-height:1}.site-header{height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--line-200);background:color-mix(in srgb, var(--paper-0) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;padding:0 clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.site-header nav{gap:var(--space-8);flex:none;align-items:center;display:flex}.site-header nav a{color:var(--ink-600);white-space:nowrap;font-size:15px;font-weight:600;text-decoration:none}.site-header nav a:hover{color:var(--ink-900)}@media (width<=600px){.layout-public .site-header{height:auto;min-height:var(--header-height);flex-wrap:wrap;padding-block:12px}.layout-public .site-header nav{flex-wrap:wrap;gap:12px;max-width:100%}}.site-footer{border-top:1px solid var(--line-200);padding:var(--space-12) clamp(20px, 5vw, 72px);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.app-header{height:var(--header-height);justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--line-200);background:var(--paper-0);z-index:20;padding:0 clamp(16px,4vw,48px);display:flex;position:sticky;top:0}.app-header nav{gap:var(--space-2);display:flex}.app-header nav a{color:var(--ink-600);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);min-height:var(--touch-parent);align-items:center;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.app-header nav a:hover{color:var(--ink-900);background:var(--paper-1)}.app-header nav a.active{color:var(--brand-700);background:var(--brand-100)}@media (width<=640px){.app-header{gap:var(--space-2);overflow-x:auto}.app-header nav{flex:none}.app-header nav a{white-space:nowrap;padding:var(--space-2) var(--space-3);font-size:14px}}.app-main{width:min(var(--content-max), 100% - 2 * clamp(16px, 4vw, 48px));padding:var(--space-8) 0 var(--space-24);gap:var(--space-8);align-content:start;margin:0 auto;display:grid}.layout-child{background:var(--paper-1);grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.child-header{padding:var(--space-2) clamp(16px, 4vw, 48px);gap:var(--space-2) var(--space-3);background:var(--paper-0);border-bottom:1px solid var(--line-200);grid-template-rows:auto;grid-template-columns:auto 1fr auto;align-items:center;display:grid}.child-header-brand{color:inherit;grid-area:1/1;min-width:0;text-decoration:none}.child-header .brand{gap:var(--space-2)}.child-header .brand-mark{border-radius:10px;width:34px;height:34px;font-size:18px}.child-header .brand-text b,.child-header .brand-title{font-size:16px}.child-header .brand-text small{color:var(--ink-600);font-size:12px;line-height:1.3}.child-header-controls{justify-content:center;align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.child-header-actions{justify-content:flex-end;justify-self:end;align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-area:1/2/auto/4;display:inline-flex}.child-header-exit{min-height:34px;padding:0 var(--space-3);font-size:13px}@media (width<=1100px){.child-header{grid-template-columns:minmax(0,auto) 1fr}.child-header-brand{grid-area:1/1}.child-header-actions{grid-area:1/2}.child-header .brand-badge{display:none}}@media (width<=480px){.child-header .brand-text,.child-identity-grade{display:none}.child-header-actions{gap:var(--space-1)}.child-header{padding:var(--space-2) var(--space-3)}.child-header .brand-mark{width:30px;height:30px;font-size:16px}.child-identity b{font-size:15px}.child-header-controls .learn-control{min-height:30px;padding:0 8px}.child-header-controls .learn-control span{display:none}.child-header-exit{min-height:30px;padding:0 10px;font-size:12px}}.child-identity{align-items:center;gap:var(--space-2);display:inline-flex}.child-identity b{font-size:16px}.child-identity small{color:var(--ink-600);font-size:13px}.child-identity .ui-theme-swatches{margin:0 var(--space-1)}.child-identity--button{border-radius:var(--radius-m);color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:2px 4px}.child-identity--button:hover,.child-identity--button:focus-visible{background:var(--surface-card)}.child-identity-avatar{display:inline-flex;position:relative}.child-identity-gear{background:var(--student-500,var(--brand-600));color:#fff;border-radius:50%;width:15px;height:15px;padding:2px;position:absolute;bottom:-5px;right:-5px}.child-main{width:min(var(--reading-max), 100% - 2 * var(--space-6));padding:var(--space-3) 0 var(--space-4);align-content:start;margin:0 auto;display:grid}.child-header--hidden{display:none}.child-main--fullscreen{width:100%;padding:var(--space-4) var(--space-6);align-content:center;min-height:100dvh}.sound-btn{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);border:1px solid var(--line-200);background:var(--surface-card);min-height:32px;color:var(--brand-700);transition:border-color var(--motion-press) var(--ease-out);padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.sound-btn:hover{border-color:var(--brand-700)}.sound-btn--large{min-height:var(--touch-child);padding:0 var(--space-8);font-size:20px}.sound-btn--failed{color:var(--ink-600);border-style:dashed}@media (width<=767px){.site-header nav{gap:var(--space-4)}.brand-text small{display:none}}.ui-theme-swatches{margin-left:var(--space-2);align-items:center;gap:6px;display:inline-flex}.ui-theme-swatch{width:22px;height:22px;box-shadow:inset 0 0 0 2px var(--paper-0), 0 0 0 1px var(--line-200);transition:transform var(--motion-press) var(--ease-out);border:2px solid #0000;border-radius:50%}.ui-theme-swatch:hover{transform:scale(1.15)}.ui-theme-swatch.active{box-shadow:inset 0 0 0 2px var(--paper-0), 0 0 0 2px var(--ink-900)}.ui-theme-swatch--a{background:#1e5a45}.ui-theme-swatch--b{background:#155e6e}.ui-theme-swatch--c{background:linear-gradient(135deg,#41563c 55%,#c07f2e 45%)}.hero{min-height:480px;width:min(var(--content-max), 100% - 2 * clamp(20px, 5vw, 72px));padding:var(--space-12) 0 var(--space-12);grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:center;gap:clamp(32px,5vw,72px);margin:0 auto;display:grid}.hero-copy{gap:var(--space-5,20px);justify-items:start;display:grid}.hero-copy h1{font-size:var(--text-hero);letter-spacing:-.02em;line-height:1.22}.hero-copy h1 mark{color:var(--brand-700);background:0 0}.hero-lede{color:var(--ink-600);max-width:46ch;font-size:18px}.hero-actions{gap:var(--space-3,12px);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:stretch;width:100%;max-width:560px;display:grid}.hero-actions .ui-btn{min-height:48px;padding:0 16px;font-size:16px;line-height:1.25}.home-account-status{color:var(--ink-600);white-space:nowrap;font-size:14px}.home-logout{min-height:44px;padding:0 12px;font-size:14px}.home-session-status{color:var(--ink-600);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.home-session-error{color:var(--danger-600)}@media (width<=600px){.hero-actions{grid-template-columns:1fr;max-width:none}}.hero-demo-wrap{justify-self:center;width:min(100%,480px);position:relative}.hero-sticker{z-index:2;background:var(--surface-card);border:1.5px solid var(--ink-900);border-radius:var(--radius-s);padding:var(--space-1) var(--space-3);box-shadow:3px 3px 0 color-mix(in srgb, var(--ink-900) 18%, transparent);font-size:13px;font-weight:600;position:absolute;top:-14px;left:-20px;transform:rotate(-4deg)}.hero-demo{background:var(--surface-card);border:2px solid var(--ink-900);border-radius:var(--radius-l);box-shadow:10px 12px 0 color-mix(in srgb, var(--ink-900) 8%, transparent), 22px 26px 0 color-mix(in srgb, var(--ink-900) 4%, transparent);padding:var(--space-8) var(--space-8) var(--space-8);justify-items:center;gap:var(--space-5,20px);text-align:center;display:grid;position:relative;transform:rotate(-1.2deg)}.hero-demo-top{align-items:center;gap:var(--space-4);width:100%;display:flex}.hero-demo-label{color:var(--ink-600);letter-spacing:.08em;white-space:nowrap;font-size:13px;font-weight:600}.hero-demo-top b{font-family:var(--font-word);white-space:nowrap;font-size:17px}.hero-demo-bar{border-radius:var(--radius-pill);background:var(--paper-2);flex:1;height:8px;overflow:hidden}.hero-demo-bar i{background:var(--brand-700);border-radius:inherit;width:38%;height:100%;display:block}.hero-phonics-hint{color:var(--ink-600);letter-spacing:.06em;margin-bottom:calc(var(--space-2) * -1);font-size:14px}.hero-demo strong{font-family:var(--font-word);letter-spacing:.01em;font-size:clamp(44px,4.4vw,64px);font-weight:600;line-height:1.1}.hero-demo-options{gap:var(--space-3);width:100%;margin-top:var(--space-2);display:grid}.hero-option{border:1.5px solid var(--line-200);border-radius:var(--radius-m);background:var(--surface-card);padding:var(--space-3) var(--space-4);text-align:left;font-size:16px}.hero-option.is-correct{background:var(--success-100);border-color:var(--success-600);color:var(--success-600);font-weight:600}.hero-demo .phonics{white-space:nowrap;align-items:baseline;max-width:100%;display:inline-flex}.hero-demo .phonics i{color:var(--ink-300);padding:0 4px;font-style:normal;font-weight:400}.hero-demo .phonics .syl-1{color:var(--brand-700)}.hero-demo .phonics .syl-2{color:var(--amber-500);text-underline-offset:10px;text-decoration:underline;text-decoration-thickness:6px;-webkit-text-decoration-color:color-mix(in srgb, var(--amber-500) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--amber-500) 35%, transparent)}.hero-demo .phonics .syl-3{color:var(--ink-600)}.evidence-strip{border-top:1px solid var(--line-200);border-bottom:1px solid var(--line-200);width:min(var(--content-max), 100% - 2 * clamp(20px, 5vw, 72px));grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid}.evidence-strip div{padding:var(--space-8) var(--space-6);gap:var(--space-1);border-left:1px solid var(--line-200);display:grid}.evidence-strip div:first-child{border-left:0}.evidence-strip b{font-family:var(--font-display);font-size:20px}.evidence-strip span{color:var(--ink-600);font-size:14px}.compare-heading h2,.home-closing h2{font-size:var(--text-page-title);margin-top:var(--space-3)}.compare-heading>p{color:var(--ink-600);max-width:44ch}.compare-block{padding:var(--space-24) max(clamp(20px, 5vw, 72px), calc((100vw - var(--content-max)) / 2));background:radial-gradient(760px 420px at 88% -12%, color-mix(in srgb, var(--paper-0) 16%, transparent), transparent 72%), var(--brand-700);color:var(--paper-0);gap:var(--space-16);grid-template-columns:minmax(280px,.7fr) minmax(560px,1.5fr);align-items:start;display:grid}.compare-block .ui-eyebrow{color:var(--amber-500)}.compare-heading h2{color:var(--paper-0)}.compare-heading p{color:color-mix(in srgb, var(--paper-0) 66%, transparent);margin-top:var(--space-6);max-width:40ch}.compare-table{display:grid}.compare-row{gap:var(--space-4);padding:var(--space-3) 0;grid-template-columns:.42fr 1fr 1.2fr;align-items:stretch;display:grid}.compare-row--head{padding-bottom:var(--space-3);margin-bottom:var(--space-2);color:color-mix(in srgb, var(--paper-0) 56%, transparent);letter-spacing:.12em;border-bottom:1px solid color-mix(in srgb, var(--paper-0) 16%, transparent);font-size:12px}.compare-row--head span:last-child{color:var(--amber-500);font-weight:700}.compare-row b{color:var(--paper-0);align-self:center;font-size:16px}.compare-row>span:not(:first-child){color:color-mix(in srgb, var(--paper-0) 55%, transparent);padding:var(--space-3) var(--space-4);align-self:center;font-size:14px}.compare-row strong{align-items:center;gap:var(--space-2);color:var(--ink-900);background:var(--paper-0);border-radius:var(--radius-m);padding:var(--space-3) var(--space-4);box-shadow:0 2px 0 color-mix(in srgb, var(--ink-900) 22%, transparent);font-size:14px;font-weight:600;display:flex}.compare-row strong:before{content:"✓";color:var(--amber-500);font-weight:700}.home-closing{width:min(var(--content-max), 100% - 2 * clamp(20px, 5vw, 72px));padding:var(--space-24) 0;gap:var(--space-12);grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:0 auto;display:grid}.home-closing-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.method-page{width:min(var(--reading-max), 100% - 2 * clamp(20px, 5vw, 72px));padding:var(--space-16) 0 var(--space-24);gap:var(--space-12);margin:0 auto;display:grid}.method-steps{gap:var(--space-4);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.method-steps li{gap:var(--space-6);background:var(--surface-card);border:var(--card-border);border-radius:var(--radius-l);padding:var(--space-6);align-items:flex-start;display:flex}.method-steps i{background:var(--brand-100);width:40px;height:40px;color:var(--brand-700);border-radius:50%;flex:none;place-items:center;font-size:18px;font-style:normal;font-weight:700;display:grid}.method-steps b{font-size:18px;display:block}.method-steps span{color:var(--ink-600);font-size:15px}.method-callout{gap:var(--space-3);background:var(--paper-1);border-radius:var(--radius-l);padding:var(--space-8);justify-items:start;display:grid}.method-callout b{font-size:20px;font-family:var(--font-display)}.method-callout span{color:var(--ink-600)}@media (width<=1023px){.hero{grid-template-columns:1fr;min-height:auto}.evidence-strip{grid-template-columns:repeat(2,1fr)}.evidence-strip div:nth-child(3){border-left:0}.compare-block,.home-closing{grid-template-columns:1fr}}@media (width<=767px){.evidence-strip{grid-template-columns:1fr}.evidence-strip div{border-left:0;border-top:1px solid var(--line-200)}.evidence-strip div:first-child{border-top:0}.hero-demo{padding:var(--space-6) var(--space-4);transform:none}.hero-sticker{left:-6px}.compare-block{padding-top:var(--space-12);padding-bottom:var(--space-12)}.compare-table{border-top:0}.compare-row{gap:var(--space-2);padding:var(--space-5,20px) 0;grid-template-columns:1fr}.compare-row--head{display:none}.compare-row b{font-size:17px}.compare-row>span:not(:first-child){padding:0 var(--space-2)}.compare-row>span:not(:first-child):before{content:"传统："}.compare-row strong{margin-top:var(--space-1)}.home-closing{padding:var(--space-16) 0}.home-closing-actions{width:100%;display:grid}}.hero-title{justify-items:stretch;width:fit-content;max-width:100%;display:grid}.hero-title .hero-underline{width:101%;height:20px;margin-top:var(--space-1);fill:#e0a24e;justify-self:center}.mobile-photo-page{background:radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--brand-100) 70%, transparent), transparent 34%), var(--paper-0);min-height:100vh;padding:clamp(18px,4vw,40px)}.mobile-photo-page>header{width:min(620px,100%);margin:0 auto var(--space-6)}.mobile-photo-card{border:1px solid var(--line-200);background:var(--surface-card);width:min(620px,100%);box-shadow:var(--shadow-card);gap:var(--space-6);border-radius:clamp(24px,6vw,40px);margin:0 auto;padding:clamp(24px,6vw,48px);display:grid}.mobile-photo-heading{gap:var(--space-3);display:grid}.mobile-photo-heading h1,.mobile-photo-state h1{font-size:clamp(32px,9vw,50px);line-height:1.08}.mobile-photo-heading p,.mobile-photo-state p{color:var(--ink-600);font-size:17px}.mobile-capture-actions{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.mobile-capture-actions .ui-btn{min-height:58px}.mobile-photo-count{padding:var(--space-4);border-radius:var(--radius-m);background:var(--paper-1);gap:2px;display:grid}.mobile-photo-count span{color:var(--ink-600);font-size:var(--text-small)}.mobile-photo-files{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.mobile-photo-files li{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line-200);border-radius:var(--radius-m);grid-template-columns:34px minmax(0,1fr) 38px;align-items:center;display:grid}.mobile-photo-files li>span{background:var(--brand-100);width:30px;height:30px;color:var(--brand-700);border-radius:50%;place-items:center;font-weight:800;display:grid}.mobile-photo-files li>b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-photo-files li>button{min-width:38px;min-height:38px;color:var(--ink-600);background:0 0;border:0;font-size:26px}.mobile-photo-submit{width:100%;min-height:62px;font-size:18px}.mobile-photo-state{align-content:center;justify-items:start;gap:var(--space-4);min-height:420px;display:grid}.mobile-photo-state>span{color:var(--brand-700);letter-spacing:.08em;font-weight:800}.mobile-photo-state.is-done>span{background:var(--success-100);width:72px;height:72px;color:var(--success-600);border-radius:50%;place-items:center;font-size:34px;display:grid}.mobile-photo-state.is-error>span{color:var(--danger-600)}.mobile-photo-privacy{width:min(620px,100%);margin:var(--space-5,20px) auto 0;text-align:center;color:var(--ink-600);font-size:13px}@media (width<=520px){.mobile-capture-actions{grid-template-columns:1fr}.mobile-photo-page{padding:14px}}.welcome-hero{width:min(var(--reading-max), 100% - 2 * clamp(20px, 5vw, 72px));padding:var(--space-24) 0 var(--space-16);gap:var(--space-5,20px);text-align:center;justify-items:center;margin:0 auto;display:grid}.welcome-hero h1{font-size:var(--text-hero);letter-spacing:-.02em;line-height:1.22}.welcome-lede{color:var(--ink-600);max-width:48ch;font-size:18px}.welcome-section{width:min(var(--content-max), 100% - 2 * clamp(20px, 5vw, 72px));padding:var(--space-16) 0;gap:var(--space-8);margin:0 auto;display:grid}.welcome-heading{gap:var(--space-3);display:grid}.welcome-heading h2{font-size:var(--text-section-title)}.welcome-cards{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.welcome-card{background:var(--surface-card);border:var(--card-border);border-radius:var(--radius-l);padding:var(--space-6);gap:var(--space-2);align-content:start;display:grid}.welcome-card b{font-size:17px}.welcome-card p{color:var(--ink-600);font-size:15px;line-height:1.7}.welcome-features{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.welcome-feature{background:var(--paper-1);border-radius:var(--radius-l);padding:var(--space-5,20px);gap:var(--space-2);align-content:start;display:grid}.welcome-feature b{color:var(--brand-700);font-size:16px}.welcome-feature p{color:var(--ink-600);font-size:14px;line-height:1.7}.welcome-steps{gap:var(--space-4);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.welcome-steps li{gap:var(--space-6);background:var(--surface-card);border:var(--card-border);border-radius:var(--radius-l);padding:var(--space-6);align-items:flex-start;display:flex}.welcome-steps i{background:var(--brand-100);width:40px;height:40px;color:var(--brand-700);border-radius:50%;flex:none;place-items:center;font-size:18px;font-style:normal;font-weight:700;display:grid}.welcome-steps b{font-size:18px;display:block}.welcome-steps span{color:var(--ink-600);font-size:15px}.welcome-pricing{gap:var(--space-3);background:var(--brand-700);color:var(--paper-0);border-radius:var(--radius-l);padding:var(--space-8);justify-items:start;display:grid}.welcome-pricing b{font-size:20px;font-family:var(--font-display)}.welcome-pricing p{color:color-mix(in srgb, var(--paper-0) 80%, transparent);line-height:1.8}.welcome-closing{width:min(var(--content-max), 100% - 2 * clamp(20px, 5vw, 72px));padding:var(--space-16) 0 var(--space-24);gap:var(--space-12);grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:0 auto;display:grid}.welcome-closing h2{font-size:var(--text-section-title);margin-top:var(--space-3)}.welcome-closing-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.guide-page{width:min(var(--reading-max), 100% - 2 * clamp(20px, 5vw, 72px));padding:var(--space-16) 0 var(--space-24);gap:var(--space-10,40px);margin:0 auto;display:grid}.guide-toc{gap:var(--space-3);flex-wrap:wrap;display:flex}.guide-toc a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--ink-600);border:1px solid var(--line-200);font-size:14px;text-decoration:none}.guide-toc a:hover{color:var(--brand-700);border-color:var(--brand-700)}.guide-section{gap:var(--space-4);scroll-margin-top:var(--header-height);display:grid}.guide-section h2{font-size:var(--text-section-title);color:var(--brand-700)}.guide-section p,.guide-section li{color:var(--ink-700);line-height:1.8}.guide-section>ul{padding-left:var(--space-5,20px);gap:var(--space-2);display:grid}.guide-steps{gap:var(--space-3);counter-reset:step;margin:0;padding:0;list-style:none;display:grid}.guide-steps li{background:var(--surface-card);border:var(--card-border);border-radius:var(--radius-l);padding:var(--space-5,20px) var(--space-6);gap:var(--space-1);display:grid}.guide-steps b{font-size:16px}.guide-steps p{color:var(--ink-600);font-size:15px}.guide-faq{gap:var(--space-3);display:grid}.guide-faq details{background:var(--surface-card);border:var(--card-border);border-radius:var(--radius-m);padding:var(--space-4) var(--space-5,20px)}.guide-faq summary{cursor:pointer;font-weight:600}.guide-faq details p{margin-top:var(--space-3);color:var(--ink-600);font-size:15px}.guide-cta{gap:var(--space-3);background:var(--paper-1);border-radius:var(--radius-l);padding:var(--space-8);justify-items:start;display:grid}.guide-cta b{font-size:20px;font-family:var(--font-display)}.guide-cta span{color:var(--ink-600)}@media (width<=1023px){.welcome-cards{grid-template-columns:1fr}.welcome-features{grid-template-columns:repeat(2,1fr)}.welcome-closing{grid-template-columns:1fr}}@media (width<=767px){.welcome-hero{padding:var(--space-16) 0 var(--space-12)}.welcome-features{grid-template-columns:1fr}.welcome-closing-actions{width:100%;display:grid}}.style-lab{background:var(--paper-1);min-height:100vh}.style-lab-bar{z-index:30;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--paper-0);border-bottom:1px solid var(--line-200);flex-wrap:wrap;display:flex;position:sticky;top:0}.style-lab-switch{gap:var(--space-2);display:flex}.style-lab-switch button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--line-200);min-height:40px;font-size:14px;font-weight:600}.style-lab-switch button.active{background:var(--ink-900);color:var(--paper-0);border-color:var(--ink-900)}.style-lab-grid{width:min(var(--content-max), 100% - 2 * var(--space-6));padding:var(--space-8) 0 var(--space-24);gap:var(--space-6);grid-template-columns:repeat(2,1fr);margin:0 auto;display:grid}.style-lab-card{padding:var(--space-8);gap:var(--space-4);align-content:start;justify-items:start;display:grid}.style-lab-word{font-family:var(--font-word);font-size:56px;font-weight:600}.style-lab-data{gap:var(--space-8);display:flex}.style-lab-data b{font-size:var(--text-data-number);font-family:var(--font-display);line-height:1.1;display:block}.style-lab-data span{color:var(--ink-600);font-size:14px}.style-lab-child{background:var(--paper-1);border:2px solid var(--student-600);border-radius:var(--radius-l);padding:var(--space-12);justify-items:center;gap:var(--space-5,20px);text-align:center;grid-column:1/-1;display:grid}.style-lab-child-prompt{color:var(--ink-600);font-size:var(--text-child-prompt)}.style-lab-child-word{font-family:var(--font-word);font-size:var(--text-child-word);font-weight:600}@media (width<=1023px){.style-lab-grid{grid-template-columns:1fr}}.child-login{background:var(--paper-1);min-height:100vh}.child-login-panel{width:min(560px, 100% - 2 * var(--space-6));padding:var(--space-16) 0;gap:var(--space-6);text-align:center;justify-items:center;margin:0 auto;display:grid}.child-login-panel h1{font-size:var(--text-page-title)}.child-login-form{gap:var(--space-5,20px);justify-items:center;width:100%;display:grid}.code-boxes{gap:var(--space-3);display:flex}.code-boxes input{text-align:center;width:72px;height:88px;font-size:calc(var(--text-child-word) * .42);font-weight:700;font-family:var(--font-word);border:2px solid var(--line-200);border-radius:var(--radius-m);background:var(--surface-card)}.code-boxes input:focus{border-color:var(--brand-700);outline:3px solid var(--brand-100)}@media (width<=1279px){.code-boxes input{width:64px;height:78px}}@media (width<=1023px){.code-boxes input{width:58px;height:72px}}@media (width<=767px){.code-boxes input{width:56px;height:68px}}.child-page-state{background:var(--paper-1);min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.today-focus{gap:var(--space-6);text-align:center;padding:var(--space-8) 0;justify-items:center;display:grid}.today-focus h1{font-size:var(--text-page-title)}.task-counts{gap:var(--space-12);flex-wrap:wrap;justify-content:center;display:flex}.task-counts>div{gap:var(--space-1);justify-items:center;display:grid}.task-counts b{font-size:var(--text-data-number);font-weight:700;line-height:1}.task-counts span{color:var(--ink-600);font-size:var(--text-body)}.learn-stage{gap:var(--space-2);flex-direction:column;height:100%;min-height:0;display:flex}.learn-stage--fullscreen{justify-content:center;align-items:center;min-height:100dvh;transform:translateY(-50px)}.learn-body{gap:var(--space-2);flex-direction:column;flex:1 0 auto;display:flex}.learn-body>*{margin-top:auto;margin-bottom:auto}.learn-stage--fullscreen .learn-top{width:min(92vw,960px);padding:0 var(--space-2);flex:none;margin-bottom:50px;margin-left:auto;margin-right:auto}.learn-stage--fullscreen .learn-body{flex-direction:column;flex:none;justify-content:flex-start;align-items:center;width:min(92vw,960px);display:flex;transform:none}.learn-stage--fullscreen .learn-body>*{width:100%}.learn-stage--fullscreen .feedback{margin-top:80px}.learn-stage,.learn-body,.learn-step,.study-step .learn-step-word,.word-row,.feedback-word-row{min-width:0}.learn-top{align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:nowrap;display:flex}.learn-top>b{white-space:nowrap}.learn-progress{border-radius:var(--radius-pill);background:var(--paper-2);flex:1;min-width:120px;height:8px;overflow:hidden}.learn-progress i{border-radius:inherit;background:var(--student-600,var(--brand-700));height:100%;transition:width var(--motion-task) var(--ease-out);display:block}.learn-top>b{font-family:var(--font-word);color:var(--ink-600);flex:none;font-size:14px}.learn-retry-banner{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:34px;padding:var(--space-1) var(--space-5,20px);border-radius:var(--radius-pill);background:var(--student-100,var(--brand-100));border:1.5px solid var(--student-600,var(--brand-700));flex:1;display:flex}.retry-badge{color:var(--student-600,var(--brand-700));font-size:13px;font-weight:700}.retry-progress{font-family:var(--font-word);color:var(--ink-600);white-space:nowrap;font-size:14px}@media (width<=480px){.retry-progress{font-size:12px}}.learn-control{border-radius:var(--radius-pill);border:1.5px solid var(--line-200);background:var(--surface-card);min-height:30px;color:var(--student-600,var(--brand-700));cursor:pointer;transition:background var(--motion-press) var(--ease-out), border-color var(--motion-press) var(--ease-out), transform var(--motion-press) var(--ease-out);align-items:center;gap:5px;padding:0 10px;font-size:clamp(13px,3.6vw,16px);font-weight:600;display:inline-flex}.learn-control:hover{border-color:var(--student-600,var(--brand-700));background:var(--student-100,var(--brand-100))}.learn-control:active{transform:translateY(1px)}.learn-control.is-muted,.learn-control.is-disabled{color:var(--ink-600);border-style:dashed}@media (width<=480px){.learn-control{gap:4px;min-height:30px;padding:0 8px}.learn-control svg{width:13px;height:13px}.learn-progress{min-width:0}.learn-top>b{font-size:12px}}.learn-fab{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));z-index:50;border-radius:var(--radius-pill);border:1.5px solid var(--line-200);background:color-mix(in srgb, var(--surface-card) 85%, transparent);height:42px;color:var(--student-600,var(--brand-700));cursor:pointer;opacity:.85;transition:opacity var(--motion-task) var(--ease-out), background var(--motion-press) var(--ease-out), border-color var(--motion-press) var(--ease-out);justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 2px 10px #00000014}.learn-fab:hover,.learn-fab:focus-visible{opacity:1;border-color:var(--student-600,var(--brand-700));background:var(--student-100,var(--brand-100))}.learn-fab-label{opacity:0;white-space:nowrap;max-width:0;transition:max-width var(--motion-task) var(--ease-out), opacity var(--motion-task) var(--ease-out), margin var(--motion-task) var(--ease-out);overflow:hidden}.learn-fab:hover .learn-fab-label,.learn-fab:focus-visible .learn-fab-label{opacity:1;max-width:5em;margin-left:5px}@media (width<=480px){.learn-fab{height:36px;padding:0 10px}.learn-fab svg{width:14px;height:14px}}.learn-step{gap:var(--space-1);text-align:center;animation:learn-step-in var(--motion-task) var(--ease-out);justify-items:center;display:grid}@keyframes learn-step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.study-step{gap:var(--space-1);flex-direction:column;min-height:0;display:flex}.study-step .learn-step-head{flex:none;justify-items:center;gap:0;display:grid}.study-step .learn-step-word{justify-content:flex-start;align-items:center;gap:var(--space-1);flex-direction:column;flex:none;min-height:0;display:flex}.study-step .learn-step-foot{gap:var(--space-1);flex:none;justify-items:center;width:100%;display:grid}.phase-tag{padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--student-100,var(--brand-100));color:var(--student-600,var(--brand-700));align-items:center;font-size:12px;font-weight:700;display:inline-flex}.learn-hint{color:var(--ink-600);font-size:var(--text-child-prompt);margin:0;line-height:1.3}.word-big{font-family:var(--font-word);font-size:min(var(--text-child-word), 15vh, calc(150vw / var(--word-chars,10)));overflow-wrap:break-word;margin:0;line-height:1.05}.word-row,.feedback-word-row{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.word-row .sound-btn,.feedback-word-row .sound-btn{min-height:30px;padding:0 12px;font-size:13px}.learn-step .ui-btn--child{min-height:48px;padding:0 var(--space-6);font-size:var(--text-child-button)}.study-choice{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.study-choice .ui-btn{min-width:120px}.study-choice .ui-btn[data-picked]{border-color:var(--brand-700);background:var(--brand-100)}.study-saving-hint{color:var(--ink-500);font-size:var(--text-child-body-sm,14px);text-align:center;min-height:1.5em;margin:0}.meaning-inline{color:var(--student-600,var(--brand-700));font-size:var(--text-child-prompt);margin:0;font-weight:700}.answer-grid{gap:var(--space-2);width:100%;max-width:560px;display:grid}.answer-option{min-height:42px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-l);border:2px solid var(--line-200);background:var(--surface-card);color:var(--ink-900);font-size:var(--text-child-button);transition:border-color var(--motion-press) var(--ease-out), background var(--motion-press) var(--ease-out), transform var(--motion-press) var(--ease-out);font-weight:600}.answer-option:hover:not(:disabled){border-color:var(--brand-700)}.answer-option:active:not(:disabled){transform:translateY(1px)}.answer-option:disabled{opacity:.55}.answer-option[data-picked]{border-color:var(--brand-700);background:var(--brand-100);opacity:1}.meaning-skip{justify-self:center;margin-top:0}.meaning-skip-hint{color:var(--ink-500);font-size:var(--text-child-body-sm,14px);text-align:center;min-height:1.5em;margin:0}.spell-hint-word{font-family:var(--font-word);color:var(--student-600,var(--brand-700));font-weight:700;font-size:var(--text-child-prompt)}.spell-prompt-line{max-width:min(680px,100%);margin:0}.spell-audio-row{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.spell-audio-row .phonetic-line{margin:0}.spell-audio-row .sound-btn{min-height:30px;padding:0 12px;font-size:13px}.spell-slots{gap:var(--space-4) var(--space-3);margin:var(--space-4) 0;flex-wrap:wrap;justify-content:center;align-items:center;min-width:0;display:flex}.spell-slots .spell-word{align-items:center;gap:var(--space-3);white-space:nowrap;flex-wrap:nowrap;min-width:0;max-width:100%;display:inline-flex}.spell-slots .spell-word+.spell-word{margin-left:var(--space-6)}.spell-slots .spell-segment{align-items:center;gap:var(--space-3);flex-wrap:nowrap;min-width:0;display:inline-flex}.spell-slots i.spell-slot{box-sizing:border-box;border-bottom:3px solid var(--line-200);width:1.1em;min-width:0;height:auto;min-height:1.2em;font-family:var(--font-word);font-style:normal;font-size:var(--text-child-slot);color:var(--ink-900);flex:0 auto;place-items:center;padding:6px 2px;line-height:1;display:grid}.spell-slots i.spell-sep{width:auto;min-width:0;color:var(--ink-300);font-size:calc(var(--text-child-slot) * .6);-webkit-user-select:none;user-select:none;pointer-events:none;border-bottom:3px solid #0000;padding:6px 0}.spell-slots>.spell-sep{margin:0 var(--space-1)}.letter-bank{gap:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;justify-content:center;min-width:0;display:flex}.letter-bank button{border-radius:var(--radius-m);border:2px solid var(--line-200);background:var(--surface-card);min-width:52px;min-height:52px;color:var(--ink-900);font-family:var(--font-word);font-size:var(--text-child-letter);transition:border-color var(--motion-press) var(--ease-out), transform var(--motion-press) var(--ease-out);font-weight:700}.letter-bank button:hover:not(:disabled){border-color:var(--brand-700)}.letter-bank button:active:not(:disabled){transform:translateY(1px)}.letter-bank button:disabled{opacity:.35}.spell-actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.spell-give-up{color:var(--ink-600);margin-top:var(--space-1)}.spell-give-up:disabled{opacity:.55}.spell-give-up-hint{margin:var(--space-1) 0 0;color:var(--ink-500);font-size:var(--text-child-body-sm,14px);text-align:center;min-height:1.5em}.save-retry{margin-top:var(--space-4);gap:var(--space-3);padding:var(--space-4) var(--space-6);border-radius:var(--radius-m);background:var(--amber-100);justify-items:center;display:grid}.save-retry p{margin:0}.feedback{gap:var(--space-1);flex-direction:column;justify-content:center;align-items:center;min-height:0;display:flex}.feedback h1{font-size:var(--text-section-title);margin:0}.feedback-mark{background:var(--success-100);width:48px;height:48px;color:var(--success-600);animation:feedback-pop var(--motion-correct) var(--ease-out);border-radius:50%;place-items:center;display:grid}.feedback-mark svg{width:26px;height:26px}@keyframes feedback-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.feedback-word{font-family:var(--font-word);font-size:var(--text-child-prompt);color:var(--ink-600);margin:0}.feedback-answer{font-family:var(--font-word);font-size:min(calc(var(--text-child-word) * .72), 30vh, calc((100vw - 3rem) / var(--answer-len,6) * 1.6));overflow-wrap:break-word;margin:0;line-height:1.05}.correction{gap:var(--space-1);text-align:center;font-size:var(--text-child-prompt);color:var(--ink-600);justify-items:center;display:grid}.correction .wrong-answer{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--danger-500,#ef4444) 12%, transparent);color:var(--danger-600,#dc2626);padding:2px 10px;font-weight:700;text-decoration:line-through;display:inline-block}.correction .correct-answer{font-size:min(calc(var(--text-child-word) * .62), 22vh, calc((100vw - 3rem) / var(--answer-len,8) * 1.6));color:var(--success-600,#16a34a);font-weight:700;line-height:1.05}.correction .correct-answer--meaning{font-size:var(--text-child-prompt);font-weight:600}.result-focus{gap:var(--space-6);text-align:center;padding:var(--space-8) 0;justify-items:center;display:grid}.result-focus h1{font-size:var(--text-page-title)}.result-seal{border:3px solid var(--success-600);width:96px;height:96px;color:var(--success-600);font-family:var(--font-display);font-size:var(--text-section-title);border-radius:50%;place-items:center;font-weight:700;display:grid}.weak-note{gap:var(--space-3);color:var(--ink-600);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.weak-note b{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--amber-100);color:var(--ink-900);font-family:var(--font-word)}.result-challenge-note{gap:var(--space-2);width:min(680px,100%);padding:var(--space-4) var(--space-5,20px);border:1px solid color-mix(in srgb, var(--brand-600) 24%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--brand-100) 72%, transparent);color:var(--ink-600);display:grid}.result-challenge-note b{color:var(--ink-900);font-size:var(--text-body-lg)}.result-actions{gap:var(--space-4);grid-template-columns:1fr 1.18fr;width:min(760px,100%);display:grid}.result-actions .ui-btn{width:100%}.result-actions-secondary{gap:var(--space-3);width:min(760px,100%);margin-top:var(--space-2);justify-items:center;display:grid}.result-actions-secondary .ui-btn{min-width:220px}.phonics-word-heading{justify-content:center;align-items:baseline;gap:var(--space-3,12px);flex-wrap:wrap;min-width:0;max-width:100%;display:inline-flex}.phonics-word-heading .v2-phonetic{max-width:100%;font-size:var(--text-child-body,20px);letter-spacing:normal;white-space:normal;overflow-wrap:anywhere;font-weight:400;line-height:1.4}.phonics-word-main{white-space:nowrap}.phonics-word-wrapper{justify-items:center;gap:var(--space-1);display:grid}.phonics-word-split{opacity:.9;font-size:.55em;line-height:1.2}.phonics-word{flex-wrap:wrap;justify-content:center;align-items:baseline;line-height:1.2;display:inline-flex}.phonics-phrase{column-gap:.34em}.phonics-phrase-part{white-space:nowrap;display:inline-flex}.phonics-word-split .phonics-phrase-part~.phonics-phrase-part{margin-left:.5em}.phonics-syl{display:inline-block}.phonics-syl i{color:var(--ink-300);padding:0 4px;font-style:normal;font-weight:400}.phonics-syl--0{color:var(--brand-700)}.phonics-syl--1{color:var(--ink-900)}.phonics-syl--2{color:var(--ink-600)}.phonetic-line{font-family:var(--font-word);font-size:calc(var(--text-child-prompt) * .75);color:var(--ink-600);letter-spacing:.04em;margin:0}@media (width<=1279px){.letter-bank button{min-width:56px;min-height:56px}}@media (width<=1023px){.letter-bank button{min-width:52px;min-height:52px}}@media (width<=767px){.result-actions{grid-template-columns:1fr}.learn-step{gap:var(--space-1)}.learn-step .ui-btn--child{min-height:var(--touch-child);padding:0 var(--space-6);font-size:20px}.study-choice .ui-btn{min-width:132px}.answer-option{min-height:54px;font-size:20px}.spell-slots{width:100%}.letter-bank{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(56px,1fr));width:100%;display:grid}.letter-bank button{width:100%;min-width:0;min-height:var(--touch-letter);font-size:var(--text-child-letter)}.letter-bank.is-long{grid-template-columns:repeat(var(--spell-cols,6), 1fr);gap:var(--space-2) var(--space-3)}.spell-slots.is-long i.spell-slot{font-size:calc(var(--text-child-slot) * .85);border-bottom-width:2px;padding:4px 2px}.letter-bank.is-long button{min-height:44px;font-size:calc(var(--text-child-letter) * .9)}.word-big{font-size:min(var(--text-child-word), 14vh, calc(150vw / var(--word-chars,10)))}.word-big .phonics-word-main{white-space:normal;overflow-wrap:break-word}}@media (height<=700px){.word-big{font-size:calc(min(var(--text-child-word), 15vh, calc(150vw / var(--word-chars,10))) * .72)}.learn-hint{font-size:calc(var(--text-child-prompt) * .88)}.answer-option{min-height:48px}}@media (height<=600px){.word-big{font-size:calc(min(var(--text-child-word), 15vh, calc(150vw / var(--word-chars,10))) * .62)}.learn-hint{font-size:calc(var(--text-child-prompt) * .82)}.letter-bank button{min-width:52px;min-height:52px}}.break-lock-backdrop{padding:var(--space-6);z-index:70;animation:ui-fade var(--motion-panel) var(--ease-out);background:#0000006b;place-items:center;display:grid;position:fixed;inset:0}.break-lock-panel{background:var(--surface-card);border-radius:var(--radius-l);width:min(480px,100%);min-width:0;box-shadow:var(--shadow-lift);padding:var(--space-8);gap:var(--space-4);text-align:center;justify-items:center;display:grid}.break-lock-panel h2{font-size:var(--text-section-title);margin:0}.break-lock-panel p{color:var(--ink-600);margin:0}.break-lock-panel .ui-btn{white-space:normal}.break-lock-icon{font-size:48px;line-height:1}.break-lock-timer{font-family:var(--font-word);font-size:var(--text-data-number);color:var(--brand-700)}.break-lock-auto{font-size:var(--text-body);color:var(--ink-600);margin-top:var(--space-1);display:block}.child-quota-note{background:var(--success-100);color:var(--success-600);border:1px solid var(--line-200);border-radius:var(--radius-l);padding:var(--space-6) var(--space-8);text-align:center;max-width:min(560px,100%)}.child-quota-note p{font-size:var(--text-child-prompt);margin:0;font-weight:600;line-height:1.5}.child-lists-page{gap:var(--space-5,20px);width:min(720px,100%);padding:var(--space-4) 0 var(--space-8);margin:0 auto;display:grid}.child-lists-head{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.child-lists-head h1{font-size:var(--text-page-title);margin:0}.child-lists-actions{justify-content:flex-start;display:flex}.child-lists-upload{min-height:40px;padding:0 var(--space-5,20px);border:1.5px dashed var(--line-200);border-radius:var(--radius-pill);color:var(--ink-700);font-size:15px}.child-lists-upload:hover{border-color:var(--student-600,var(--brand-700));color:var(--student-600,var(--brand-700));background:var(--student-100,var(--brand-100))}.child-lists-empty{text-align:center;justify-items:center}.child-lists-empty p{color:var(--ink-600);max-width:420px;margin:0}.child-lists-locked{text-align:center;justify-items:center}.child-lists-locked p{color:var(--ink-600);margin:0}.child-lists-lock-icon{color:var(--ink-300)}.child-lists{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.child-list-card{gap:var(--space-4);padding:var(--space-5,20px) var(--space-6);border-radius:var(--radius-l);border:2px solid var(--line-200);background:var(--surface-card);display:grid}.child-list-card-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.child-list-card-head b{overflow-wrap:break-word;font-size:17px}.child-list-count{color:var(--ink-600);font-size:var(--text-child-body-sm,14px)}.child-list-delete{color:var(--danger-600);margin-left:auto}.child-list-card.is-paused{opacity:.75}.child-list-paused-badge{padding:2px var(--space-3,12px);border:1px solid var(--line-200);background:var(--line-100,#eceae2);color:var(--ink-600);font-size:var(--text-child-body-sm,14px);border-radius:999px}.child-list-paused-hint{color:var(--ink-600);font-size:var(--text-child-body-sm,14px);margin:0}.child-list-card-actions .ui-btn:disabled{opacity:.55;cursor:not-allowed}.child-list-card-actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.child-list-card-actions .ui-btn{min-height:42px;padding:0 var(--space-5,20px);font-size:15px}.child-word-view{padding:0 0 0 var(--space-6);gap:var(--space-2);max-height:min(50vh,420px);margin:0;display:grid;overflow:auto}.child-word-view li{gap:var(--space-3);grid-template-columns:minmax(110px,.7fr) 1.3fr;align-items:baseline;display:grid}.child-word-view b{font-family:var(--font-word);font-size:17px}.child-word-view span{color:var(--ink-600);font-size:var(--text-body)}.quick-limit-options{gap:var(--space-2);width:100%;display:grid}.quick-limit-options .answer-option.is-selected{border-color:var(--brand-700);background:var(--brand-100);opacity:1}.child-source-grid{grid-template-columns:repeat(3,1fr)}@media (width<=767px){.child-source-grid{grid-template-columns:1fr}.child-list-card-actions .ui-btn{flex:auto}}.child-quick-done{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5,20px);border-radius:var(--radius-l);border:2px solid var(--student-300,var(--line-200));background:var(--student-100,var(--paper-1));color:var(--ink-900);flex-wrap:wrap;font-size:17px;display:flex}.child-extra-item{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-3,12px);border:2px solid var(--line-200);border-radius:var(--radius-l);background:var(--surface-card);color:var(--student-600,var(--brand-700));font:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-press) var(--ease-out), background var(--motion-press) var(--ease-out);display:flex}.child-extra-item:hover{border-color:var(--student-600,var(--brand-700));background:var(--student-100,var(--brand-100))}.child-extra-item.is-disabled{cursor:default;opacity:.55}.child-extra-item.is-disabled:hover{border-color:var(--line-200);background:var(--surface-card)}.child-extra-item-text{color:var(--ink-900);gap:2px;display:grid}.child-extra-item-text small{color:var(--ink-600);font-size:13px}.child-lists-more{padding:var(--space-2) 0;justify-content:center;display:flex}.child-list-source{border-radius:var(--radius-pill);border:1px solid var(--line-200);background:var(--paper-1);color:var(--ink-600);white-space:nowrap;padding:2px 8px;font-size:12px}.settings-menu{gap:var(--space-2);min-width:min(78vw,320px);display:grid}.settings-group-label{margin:var(--space-2) 0 0;color:var(--ink-600);font-size:13px}.settings-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.settings-row .learn-control{min-height:38px;padding:0 14px;font-size:clamp(15px,4.2vw,18px)}.settings-logout{border:1.5px solid var(--line-200);border-radius:var(--radius-m);background:var(--surface-card);color:#c2402f;cursor:pointer;width:100%;min-height:40px;font-size:clamp(15px,4.2vw,18px)}.step-indicator{min-height:32px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--brand-100);color:var(--brand-700);letter-spacing:.06em;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.editor-back{justify-self:start}.bottom-actions{justify-content:flex-end;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line-200);flex-wrap:wrap;display:flex}.explain-box{gap:var(--space-1);padding:var(--space-4) var(--space-6);border-radius:var(--radius-m);background:var(--paper-1);border-left:3px solid var(--brand-700);display:grid}.explain-box span{color:var(--ink-600);font-size:var(--text-small)}.identity-bar{align-items:center;gap:var(--space-3);min-width:0;display:flex}.identity-bar b{font-size:18px;display:block}.identity-bar .ui-quiet{display:block}.word-spelling{font-family:var(--font-word);letter-spacing:.01em}.parent-login{background:var(--paper-0);min-height:100vh}.auth-layout{width:min(1080px,100% - 2*clamp(16px,4vw,48px));padding:var(--space-16) 0 var(--space-24);gap:var(--space-16);grid-template-columns:1.1fr 1fr;align-items:center;margin:0 auto;display:grid}.trust-copy{gap:var(--space-4);align-content:start;display:grid}.trust-copy h1{font-size:var(--text-page-title)}.trust-copy ul{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.trust-copy li{color:var(--ink-600);padding-left:var(--space-6);position:relative}.trust-copy li:before{content:"";background:var(--brand-100);border:2px solid var(--brand-700);border-radius:3px;width:10px;height:10px;position:absolute;top:10px;left:0}.auth-panel{padding:var(--space-8);gap:var(--space-6);box-sizing:border-box;align-content:start;max-width:100%;display:grid}.auth-panel h2{font-size:var(--text-section-title)}.auth-panel-submit{flex:1}.auth-panel--wechat{gap:var(--space-4);padding:var(--space-6)}.auth-layout--wechat{padding-block:clamp(24px,4vh,48px)}.auth-wechat-policy{text-align:center;line-height:1.7}.auth-wechat-policy a{color:var(--brand-700);white-space:nowrap}@media (width<=767px){.auth-layout.auth-layout--wechat{padding-block:var(--space-6)}.auth-layout--wechat .trust-copy{display:none}}.auth-tabs{gap:var(--space-2);border-bottom:1px solid var(--line-200);flex-wrap:wrap;display:flex}.auth-tab{min-height:var(--touch-parent);padding:0 var(--space-4);font:inherit;color:var(--ink-600);cursor:pointer;transition:color var(--motion-press) var(--ease-out), border-color var(--motion-press) var(--ease-out);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:700}.auth-tab:hover{color:var(--ink-900)}.auth-tab:disabled{cursor:not-allowed;opacity:.55}.auth-tab[aria-selected=true]{color:var(--brand-700);border-bottom-color:var(--brand-700)}.auth-tab:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-700) 30%, transparent);outline-offset:2px}.auth-wechat{gap:var(--space-2);justify-items:stretch;max-width:100%;display:grid}.wechat-qr-box{gap:var(--space-3);box-sizing:border-box;width:min(320px,100%);max-width:100%;padding:var(--space-6) var(--space-2) var(--space-1);border:1px solid var(--line-200);border-radius:var(--radius-m);background:#fff;justify-self:center;justify-items:center;display:grid;position:relative;overflow:hidden}.wechat-qr-box--pending{background:0 0;border:0;border-radius:0;padding:0;overflow:hidden}.wechat-qr-box--pending .wechat-qr-viewport{opacity:0;pointer-events:none;position:absolute;top:0;left:50%;transform:translate(-50%)}.wechat-qr-loading{color:var(--ink-600);text-align:center;background:0 0;margin:0;padding:0}.wechat-qr-viewport{justify-content:center;width:min(300px,100%);display:flex;position:relative;overflow:hidden}.wechat-qr-canvas{transform-origin:top;flex:none;place-items:center;width:300px;height:400px;display:grid}.wechat-qr-canvas:empty:before{content:"二维码加载中…";color:var(--ink-600);font-size:var(--text-small)}.wechat-qr-countdown{color:var(--ink-600);font-size:var(--text-small);font-variant-numeric:tabular-nums;justify-self:center}.wechat-bind-banner{gap:var(--space-3);padding:var(--space-4) var(--space-5,20px);border-radius:var(--radius-m);border:1px solid color-mix(in srgb, var(--success-600) 35%, var(--line-200));background:color-mix(in srgb, var(--success-100) 55%, var(--surface-card));justify-items:start;display:grid}.wechat-bind-banner p{color:var(--ink-900);margin:0;font-weight:600;line-height:1.6}.wechat-bind-banner.is-active{border-color:var(--brand-700);background:var(--brand-100);grid-template-columns:minmax(0,1fr) auto;align-items:center}@media (width<=560px){.wechat-bind-banner.is-active{grid-template-columns:1fr;justify-items:stretch}}.dash-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(380px,1fr));display:grid}.dash-card{padding:var(--space-6);gap:var(--space-5,20px);border-top:3px solid var(--student-600,var(--brand-700));align-content:start;display:grid}.dash-card-head{align-items:center;gap:var(--space-3);display:flex}.dash-card-head>div:not(.dash-card-pills){flex:1;min-width:0}.dash-card-head h2{font-size:22px}.dash-card-head p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dash-card-pills{align-items:center;gap:var(--space-2,8px);white-space:nowrap;flex:none;margin-left:auto;display:flex}.dash-card-pills .ui-pill{flex:none}.dash-page-head h1{font-size:22px;font-family:var(--font-body,inherit);letter-spacing:0}.dash-family{gap:var(--space-6);padding:var(--space-6);margin-bottom:var(--space-4);border-top:3px solid var(--brand-700);grid-template-columns:1.25fr 1fr 1fr 1fr;align-items:center;display:grid}.dash-family.is-active{background:linear-gradient(120deg, color-mix(in srgb, var(--success-100) 55%, transparent), transparent 70%)}.dash-family-plan{gap:var(--space-3);padding-right:var(--space-6);border-right:1px solid var(--line-200);align-content:center;align-self:stretch;justify-items:start;display:grid}.dash-family-plan b{color:var(--ink-900);font-size:17px}.dash-family-plan small{color:var(--ink-600);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:36ch;line-height:1.6;display:-webkit-box;overflow:hidden}.dash-family-plan .ui-btn{min-height:36px;padding:0 var(--space-4);font-size:14px}.dash-family-stat{align-content:start;gap:4px;display:grid}.dash-family-stat>span{color:var(--ink-600);font-size:13px}.dash-family-stat b{color:var(--ink-900);font-size:18px;font-weight:700}.dash-family-stat small{color:var(--ink-600);font-size:12px}.dash-family-bar{background:var(--paper-2);border-radius:999px;height:6px;overflow:hidden}.dash-family-bar i{border-radius:inherit;background:var(--success-600);height:100%;display:block}.dash-kids-title{margin:var(--space-4) 0 var(--space-3);color:var(--ink-600);font-size:15px;font-weight:600}.dash-kids{background:var(--paper-50,#fff);border:1px solid var(--line-200);border-radius:var(--radius-lg,16px);overflow:hidden}.dash-kid-grid{gap:var(--space-4);padding-left:var(--space-6);padding-right:var(--space-6);grid-template-columns:minmax(170px,1.2fr) 130px minmax(150px,1fr) 120px 110px 110px minmax(170px,1fr);align-items:center;display:grid}.dash-kids-head{padding-top:var(--space-3);padding-bottom:var(--space-3);color:var(--ink-600);background:color-mix(in srgb, var(--paper-2) 45%, transparent);font-size:13px}.dash-kids-head>span{white-space:nowrap}.dash-kid{padding-top:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--paper-2)}.dash-kid:last-child{border-bottom:0}.dash-kid>*,.dash-kids-head>*{min-width:0}.dash-kid-id{align-items:center;gap:var(--space-3);display:flex}.dash-kid-id b{font-size:16px;line-height:1.3;display:block}.dash-kid-id small{color:var(--ink-600);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;display:block;overflow:hidden}.dash-kid-prog{gap:6px;display:grid}.dash-kid-prog-row{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.dash-kid-prog-row b{font-size:18px}.dash-kid-prog-row small{color:var(--ink-600);font-size:13px}.dash-kid-weak{color:#b0413e;text-underline-offset:4px;font-size:15px;font-weight:700;text-decoration:underline}.dash-kid-weak small{color:var(--ink-600);margin-top:3px;font-size:12px;font-weight:400;text-decoration:none;display:block}.dash-kid-weak-none{color:var(--ink-600);font-size:15px}.dash-kid-weak-none small{margin-top:3px;font-size:12px;display:block}.dash-kid-days b{font-size:18px}.dash-kid-days small{color:var(--ink-600);font-size:13px}.dash-kid-today{color:var(--ink-600);white-space:nowrap;font-size:15px}.dash-kid-today.yes{color:var(--success-600);font-weight:600}.dash-kid-actions{gap:var(--space-4);justify-content:flex-end;align-items:center;display:flex}.dash-kid-link{color:var(--brand-700);white-space:nowrap;font-size:14px;font-weight:600}button.dash-kid-link{cursor:pointer;font:inherit;color:var(--brand-700);background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.dash-kid-retry{color:var(--brand-700);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}@media (width<=899px){.dash-family{gap:var(--space-5,20px);grid-template-columns:1fr 1fr}.dash-family-plan{padding-right:0;padding-bottom:var(--space-4);border-right:none;border-bottom:1px solid var(--line-200);grid-column:1/-1}.dash-kids-head{display:none}.dash-kid-grid{row-gap:var(--space-3);padding-left:var(--space-4);padding-right:var(--space-4);grid-template-columns:1fr 1fr}.dash-kid-id,.dash-kid-actions{grid-column:1/-1}.dash-kid-actions{justify-content:flex-start}.dash-kids{gap:var(--space-4);background:0 0;border:none;display:grid;overflow:visible}.dash-kid{padding:var(--space-4);border:1px solid var(--line-200);border-radius:var(--radius-lg,16px);background:var(--paper-50,#fff)}}@media (width<=560px){.dash-family,.dash-kid-grid{grid-template-columns:1fr}}.dash-card-error{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-m);background:var(--danger-100);justify-items:start;display:grid}.dash-card-pending{gap:var(--space-1);padding:var(--space-4) var(--space-6);border-radius:var(--radius-m);background:var(--paper-1);display:grid}.dash-card-pending b{font-size:20px}.dash-card-facts{gap:var(--space-4);display:grid}.dash-card-accuracy{align-items:center;gap:var(--space-3);display:flex}.dash-card-accuracy strong{font-size:var(--text-data-number);font-family:var(--font-display);line-height:1}.dash-card-accuracy span{color:var(--ink-600);font-size:var(--text-small)}.dash-card-vocab{gap:var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--paper-1);flex-wrap:wrap;display:flex}.dash-card-vocab span{color:var(--ink-600);font-size:var(--text-small);align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.dash-card-vocab span:not(:last-child):after{content:"·";margin-left:var(--space-5,20px);color:var(--ink-300)}.dash-card-vocab b{color:var(--brand-700);font-variant-numeric:tabular-nums;font-size:18px;line-height:1}.dash-card-mini{gap:var(--space-6);flex-wrap:wrap;display:flex}.dash-card-mini span{color:var(--ink-600);font-size:var(--text-small);align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex}.dash-card-mini b{color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:17px;line-height:1}.dash-daily-limit{padding-top:var(--space-3);border-top:1px solid var(--line-200);color:var(--ink-600);font-size:var(--text-small);margin:0}.dash-daily-limit b{color:var(--ink-900)}.dash-empty{padding:var(--space-12);gap:var(--space-4);justify-items:start;display:grid}.dash-empty h2{font-size:var(--text-section-title)}.dash-empty>p{max-width:680px}.dash-empty-steps{width:100%;margin:var(--space-2) 0;gap:var(--space-3);counter-reset:onboarding-step;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.dash-empty-steps li{counter-increment:onboarding-step;min-height:112px;padding:var(--space-4);border-radius:var(--radius-m);background:var(--paper-1);align-content:start;gap:var(--space-1);display:grid}.dash-empty-steps li:before{content:"0" counter(onboarding-step);color:var(--brand-700);letter-spacing:.08em;font-size:12px;font-weight:800}.dash-empty-steps b{font-size:17px}.dash-empty-steps span{color:var(--ink-600);font-size:var(--text-small)}@media (width<=760px){.dash-empty{padding:var(--space-8)}.dash-empty-steps{grid-template-columns:1fr}.dash-empty-steps li{min-height:auto}}.editor-layout{gap:var(--space-8);grid-template-columns:minmax(300px,380px) 1fr;align-items:start;display:grid}.editor-plan{padding:var(--space-6) var(--space-8);grid-column:2}.editor-preview{padding:var(--space-6) var(--space-8);gap:var(--space-3);text-align:center;border-top:3px solid var(--student-600,var(--brand-700));justify-items:center;display:grid}.editor-preview>b{font-size:22px}.editor-picker{gap:var(--space-3);justify-items:center;width:100%;display:grid}.editor-picker>b{margin-top:var(--space-2);font-size:15px}.avatar-options,.theme-options{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.avatar-upload-trigger{justify-items:center;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-m);color:var(--ink-600);display:grid}.avatar-upload-trigger .ui-avatar{transition:transform var(--motion-press) var(--ease-out), box-shadow var(--motion-press) var(--ease-out)}.avatar-upload-trigger:hover .ui-avatar,.avatar-upload-trigger:focus-visible .ui-avatar{box-shadow:0 0 0 5px var(--student-100,var(--brand-100));transform:translateY(-2px)}.avatar-upload-trigger span:not(.ui-avatar){color:var(--brand-700);font-size:14px;font-weight:700}.avatar-upload-trigger small{color:var(--ink-600)}.avatar-option,.theme-option{border:2px solid var(--line-200);background:var(--surface-card);width:40px;height:40px;transition:border-color var(--motion-press) var(--ease-out), transform var(--motion-press) var(--ease-out);border-radius:50%;place-items:center;padding:0;display:grid}.avatar-option i{background:var(--paper-1);width:44px;height:44px;color:var(--ink-900);border-radius:50%;place-items:center;font-style:normal;font-weight:700;display:grid}.theme-swatch{background:var(--student-100,var(--brand-100));border:2.5px solid var(--student-600,var(--brand-700));border-radius:50%;flex:none;width:24px;height:24px}.avatar-option:hover,.theme-option:hover{border-color:var(--ink-300)}.avatar-option.is-selected,.theme-option.is-selected{border-color:var(--ink-900);transform:scale(1.06)}.editor-form{padding:var(--space-8)}.stepper{align-items:center;gap:var(--space-4);display:flex}.stepper button{width:var(--touch-parent);height:var(--touch-parent);border:1px solid var(--line-200);background:var(--surface-card);transition:border-color var(--motion-press) var(--ease-out);border-radius:50%;font-size:20px;font-weight:700}.stepper button:hover:not(:disabled){border-color:var(--brand-700);color:var(--brand-700)}.stepper button:disabled{opacity:.4}.stepper strong,.stepper input{text-align:center;min-width:56px;max-width:84px;font-size:28px;font-family:var(--font-display);color:inherit;background:0 0;border:none}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input[type=number]{-moz-appearance:textfield}.device-layout{gap:var(--space-6);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.device-panel{padding:var(--space-8)}.device-panel h2{font-size:var(--text-section-title)}.bind-code-panel{gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-m);background:var(--paper-1);border:1px dashed var(--line-200);justify-items:start;display:grid}.bind-code-value{font-family:var(--font-word);letter-spacing:.3em;font-size:56px;line-height:1}.bind-code-notes{padding-left:var(--space-6);gap:var(--space-1);margin:0;display:grid}.access-required-panel{gap:var(--space-3);padding:var(--space-6);border:1px solid var(--amber-500);border-radius:var(--radius-m);background:var(--amber-100);display:grid}.access-required-panel h3{margin:0;font-size:20px}.access-required-panel p{color:var(--ink-600);margin:0}.switch-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--line-200);cursor:pointer;display:flex}.switch-row small{color:var(--ink-600);font-weight:400;display:block}.switch-row input{appearance:none;border-radius:var(--radius-pill);background:var(--line-200);cursor:pointer;width:56px;height:32px;transition:background var(--motion-press) var(--ease-out);flex:none;position:relative}.switch-row input:after{content:"";background:var(--surface-card);width:26px;height:26px;box-shadow:var(--shadow-soft);transition:left var(--motion-press) var(--ease-out);border-radius:50%;position:absolute;top:3px;left:3px}.switch-row input:checked{background:var(--success-600)}.switch-row input:checked:after{left:27px}.switch-row input:focus-visible{outline:3px solid var(--brand-100);outline-offset:2px}.device-coming{gap:var(--space-2);padding:var(--space-8);border-radius:var(--radius-m);border:1px dashed var(--line-200);color:var(--ink-300);text-align:center;display:grid}.device-coming span{font-size:32px}.device-list{gap:var(--space-4);display:grid}.device-item{gap:var(--space-4);padding:var(--space-5,20px) var(--space-6);border:1px solid var(--line-200);border-radius:var(--radius-m);background:var(--paper-1);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;display:grid}.device-item__action{align-self:center}.device-item__icon{background:var(--brand-100);width:48px;height:48px;color:var(--brand-700);border-radius:14px;place-items:center;font-size:22px;display:grid}.device-item__main{min-width:0}.device-item h3{margin:0;font-size:20px}.device-meta{gap:var(--space-3);margin:var(--space-3) 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.device-meta div{gap:2px;display:grid}.device-meta dt{color:var(--ink-600);font-size:13px}.device-meta dd{margin:0;font-weight:650}.device-revoke{min-height:var(--touch-parent);padding:0 var(--space-5,20px);border:1.5px solid var(--danger-600);border-radius:var(--radius-m);background:var(--surface-card);color:var(--danger-600);white-space:nowrap;transition:background var(--motion-press) var(--ease-out), transform var(--motion-press) var(--ease-out);font-size:15px;font-weight:600}.device-revoke:active{transform:translateY(1px)}.device-revoke:hover{background:var(--danger-100)}.wordlists-note{padding:var(--space-8);gap:var(--space-4);display:grid}.wordlists-note h2{font-size:var(--text-section-title)}.wordlists-steps{gap:var(--space-4);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.wordlists-steps li{gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-m);background:var(--paper-1);display:grid}.wordlists-steps b{color:var(--brand-700);letter-spacing:.08em;font-size:13px}.wordlists-steps span{color:var(--ink-600);font-size:var(--text-small)}.source-grid{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.source-icon{border-radius:var(--radius-m);background:var(--paper-1);width:48px;height:48px;color:var(--ink-600);margin-bottom:var(--space-2);transition:background var(--motion-press) var(--ease-out), color var(--motion-press) var(--ease-out);place-items:center;display:grid}.source-card.is-selected .source-icon{background:var(--brand-100);color:var(--brand-700)}.source-card{gap:var(--space-2);padding:var(--space-6);border-radius:var(--radius-l);border:var(--card-border);background:var(--surface-card);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;display:grid}.source-card b{align-items:center;gap:var(--space-2);font-size:18px;display:inline-flex}.source-card span{color:var(--ink-600);font-size:var(--text-small)}.source-card.is-selected{border:2px solid var(--brand-700);background:color-mix(in srgb, var(--brand-100) 35%, var(--surface-card))}.drop-area-icon{color:var(--ink-300)}.drop-area:hover .drop-area-icon,.drop-area.is-dragging .drop-area-icon{color:var(--brand-700)}.drop-area{gap:var(--space-2);padding:var(--space-16) var(--space-6);border-radius:var(--radius-l);border:2px dashed var(--line-200);background:var(--surface-card);text-align:center;cursor:pointer;transition:border-color var(--motion-press) var(--ease-out), background var(--motion-press) var(--ease-out);justify-items:center;display:grid}.drop-area:hover,.drop-area.is-dragging{border-color:var(--brand-700);background:var(--brand-100)}.drop-area b{font-size:20px}.drop-area span{color:var(--ink-600);font-size:var(--text-small)}.drop-area-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.upload-submit{min-width:200px}.photo-import-shell{gap:var(--space-4);display:grid}.photo-start-card{min-height:160px;padding:var(--space-8) var(--space-10,40px);align-items:center;gap:var(--space-6);border-top:3px solid var(--brand-700);display:flex}.photo-start-body{justify-content:space-between;align-items:center;gap:var(--space-8);flex:1;display:flex}.photo-start-text{gap:var(--space-2);display:grid}.photo-start-text h2,.photo-local-card h2,.photo-qr-card h2{font-size:var(--text-section-title)}.photo-start-text p,.photo-local-card p,.photo-qr-card p{color:var(--ink-600)}.photo-start-body .ui-btn{flex:none}.photo-start-mark{background:var(--brand-100);width:76px;height:76px;color:var(--brand-700);font-family:var(--font-display);border-radius:24px;place-items:center;font-size:32px;display:grid}.photo-import-grid{gap:var(--space-6);grid-template-columns:1.05fr .95fr;align-items:start;display:grid}.photo-local-card,.photo-qr-card{padding:var(--space-8);gap:var(--space-4);align-content:start;display:grid}.photo-local-card{border-top:3px solid var(--brand-700)}.photo-qr-card{text-align:center;justify-items:center}.photo-qr-card .ui-eyebrow{justify-self:start}.photo-pick-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.photo-selection{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line-200);display:grid}.photo-selection ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.photo-selection li{gap:var(--space-2);min-width:0;padding:var(--space-2);border-radius:var(--radius-s);background:var(--paper-1);grid-template-columns:30px 1fr 32px;align-items:center;display:grid}.photo-selection li>span{background:var(--brand-100);width:26px;height:26px;color:var(--brand-700);border-radius:50%;place-items:center;font-weight:800;display:grid}.photo-selection li>button{color:var(--ink-600);cursor:pointer;background:0 0;border:0;font-size:24px}.qr-frame{aspect-ratio:1;border:1px solid var(--line-200);width:min(280px,100%);box-shadow:var(--shadow-soft);background:#fffdf7;border-radius:28px;place-items:center;padding:10px;display:grid}.qr-frame img{border-radius:18px;width:100%;height:100%;display:block}.qr-frame span{color:var(--ink-600)}.photo-live-state{justify-content:center;align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--paper-1);color:var(--ink-600);display:flex}.photo-live-state i{background:var(--ink-300);width:9px;height:9px;box-shadow:0 0 0 5px color-mix(in srgb, var(--ink-300) 16%, transparent);border-radius:50%}.photo-live-state i.is-active{background:var(--success-600);box-shadow:0 0 0 5px color-mix(in srgb, var(--success-600) 16%, transparent)}.issue-card{padding:var(--space-6);gap:var(--space-4);display:grid}.issue-card-fields{align-items:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.issue-card-fields small{color:var(--ink-600);font-size:12px;font-weight:400;display:block}.issue-card-fields b{font-size:18px}.issue-edit-grid{gap:var(--space-4);grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr);display:grid}.dict-meaning-btn{border:1px dashed var(--brand-500,#4f6ef7);color:var(--brand-700,#3b5bdb);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:999px;grid-column:2;justify-self:start;max-width:100%;padding:2px 8px;font-size:12px;overflow:hidden}.dict-meaning-btn:hover{background:var(--brand-50,#eef1fe)}.issue-card-actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.review-section{gap:var(--space-4);display:grid}.review-section-title{align-items:baseline;gap:var(--space-2);font-size:20px;display:flex}.review-section-title em{font-style:normal;font-family:var(--font-word);color:var(--brand-700)}.parsing-state{padding:var(--space-12) var(--space-8);gap:var(--space-4);text-align:center;justify-items:center;display:grid}.parsing-state h2{font-size:var(--text-section-title)}.parsing-state p{color:var(--ink-600);max-width:520px}.parsing-progress-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 48px;align-items:center;width:min(520px,100%);display:grid}.parsing-progress-row progress{width:100%;height:12px;accent-color:var(--brand-700)}.parsing-progress-row b{color:var(--brand-700);font-variant-numeric:tabular-nums;text-align:right}.row-no{font-family:var(--font-word);color:var(--ink-300);font-variant-numeric:tabular-nums;font-size:13px}.accepted-table{padding:var(--space-2) var(--space-6)}.accepted-row{gap:var(--space-4);min-height:52px;padding:var(--space-2) 0;border-bottom:1px solid var(--line-200);grid-template-columns:48px minmax(120px,.8fr) minmax(200px,1.6fr) minmax(180px,220px);align-items:center;display:grid}.accepted-row:last-child{border-bottom:0}.accepted-row.is-in-target{color:var(--ink-400);background:color-mix(in srgb, var(--line-100,#f3f1ec) 60%, transparent)}.accepted-row.is-in-target .word-spelling{text-decoration:line-through;-webkit-text-decoration-color:var(--line-300,#d8d3c8);text-decoration-color:var(--line-300,#d8d3c8)}.accepted-row--head{letter-spacing:.08em;min-height:36px;color:var(--ink-600);font-size:12px}.accepted-row .word-spelling{font-family:var(--font-word);font-size:17px;font-weight:600}.accepted-meaning{color:var(--ink-600);font-size:var(--text-small)}.accepted-row-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:inline-flex}.accepted-row input{min-height:40px;padding:0 var(--space-3);border:1px solid var(--brand-700);border-radius:var(--radius-s);background:var(--surface-card);width:100%;font-size:15px}.accepted-row.is-editing{background:var(--paper-1);border-radius:var(--radius-s);padding-left:var(--space-2);padding-right:var(--space-2)}.accepted-remove{color:var(--danger-600)}.accepted-row-error{color:var(--danger-600);font-size:12px}@media (width<=767px){.accepted-table{padding:var(--space-2) var(--space-4)}.accepted-row{grid-template-rows:auto auto;grid-template-columns:36px minmax(0,1fr)}.accepted-row--head{display:none}.accepted-row .accepted-meaning{grid-column:2}.accepted-row-actions{grid-column:2;justify-content:flex-start}}.assign-card-list{justify-content:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.assign-child{align-content:start;justify-items:center;gap:var(--space-3);min-width:240px;padding:var(--space-10,40px) var(--space-6) var(--space-8);border-radius:var(--radius-l);border:2px solid color-mix(in srgb, var(--card-600,var(--brand-700)) 30%, var(--line-200));background:color-mix(in srgb, var(--card-100,var(--brand-100)) 30%, var(--surface-card));cursor:pointer;text-align:center;transition:border-color var(--motion-press) var(--ease-out), background var(--motion-press) var(--ease-out), transform var(--motion-press) var(--ease-out);flex:0 280px;display:grid;position:relative}.assign-child:hover{border-color:var(--card-600,var(--brand-700));transform:translateY(-2px)}.assign-child input{opacity:0;width:1px;height:1px;position:absolute}.assign-child-check{top:var(--space-3);right:var(--space-3);border:2px solid var(--line-200);color:#0000;background:var(--surface-card);width:26px;height:26px;transition:all var(--motion-press) var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute}.assign-child.is-selected{border-color:var(--card-600,var(--brand-700));background:var(--card-100,var(--brand-100));box-shadow:0 4px 0 color-mix(in srgb, var(--card-600,var(--brand-700)) 25%, transparent)}.assign-child.is-selected .assign-child-check{background:var(--card-600,var(--brand-700));border-color:var(--card-600,var(--brand-700));color:var(--paper-0)}.assign-child .ui-avatar--large{width:68px;height:68px;margin-bottom:var(--space-2);font-size:34px}.assign-child-name{gap:2px;display:grid}.assign-child-name b{font-size:18px}.assign-child-name small{color:var(--ink-600)}.assign-empty{padding:var(--space-8);gap:var(--space-3);justify-items:start;display:grid}.assign-success{padding:var(--space-12);gap:var(--space-4);border-left:4px solid var(--success-600);justify-items:start;display:grid}.assign-success h1{font-size:var(--text-page-title)}.child-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.child-tab{min-height:var(--touch-parent);padding:0 var(--space-5,20px);border-radius:var(--radius-pill);border:1px solid var(--line-200);background:var(--surface-card);color:var(--ink-600);transition:border-color var(--motion-press) var(--ease-out);font-weight:600}.child-tab:hover{border-color:var(--ink-300);color:var(--ink-900)}.child-tab.is-active{border-color:var(--student-600,var(--brand-700));background:var(--student-100,var(--brand-100));color:var(--student-600,var(--brand-700))}.report-loading,.report-error{padding:var(--space-8);gap:var(--space-4);justify-items:start;display:grid}.report-conclusion{padding:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-8);border-top:3px solid var(--student-600,var(--brand-700));flex-wrap:wrap;display:flex}.report-conclusion h2{font-size:var(--text-section-title);margin:var(--space-2) 0}.report-accuracy{text-align:right}.report-accuracy strong{font-size:var(--text-data-number);font-family:var(--font-display);line-height:1;display:block}.report-accuracy span{color:var(--ink-600);font-size:var(--text-small)}.report-facts{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.report-facts article{gap:var(--space-1);padding:var(--space-4) var(--space-6);border-radius:var(--radius-m);background:var(--surface-card);border:var(--card-border);display:grid}.report-facts span{color:var(--ink-600);font-size:var(--text-small)}.report-facts b{font-size:32px;font-family:var(--font-display)}.report-facts small{color:var(--ink-300);font-size:12px}.weak-section,.report-section{padding:var(--space-8);gap:var(--space-6);display:grid}.report-section>.ui-page-head{gap:var(--space-1)}.report-section>p.ui-quiet{margin:0}.weak-list{margin:0;padding:0;list-style:none;display:grid}.weak-row{align-items:center;gap:var(--space-6);padding:var(--space-4) 0;border-bottom:1px solid var(--line-200);grid-template-columns:minmax(180px,1.2fr) auto minmax(160px,1fr) auto;display:grid}.weak-row:last-child{border-bottom:0}.weak-word b{font-size:20px;display:block}.weak-word small{color:var(--ink-600)}.weak-level{gap:var(--space-1);display:grid}.weak-level small{color:var(--ink-600);font-size:12px}.level-bar{border-radius:var(--radius-pill);background:var(--paper-2);height:8px;display:block;overflow:hidden}.level-bar i{border-radius:inherit;background:var(--amber-500);height:100%;display:block}.week-nav{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);display:flex}.week-nav strong{font-family:var(--font-display);font-size:17px}.week-chart{gap:var(--space-3);margin:var(--space-4) 0 var(--space-2);grid-template-columns:repeat(7,1fr);align-items:end;display:grid}.week-chart-day{gap:var(--space-1);color:var(--ink-600);justify-items:center;font-size:12px;display:grid}.week-chart-day small{min-height:16px;color:var(--ink-900);font-weight:700}.week-chart-bar-track{border-radius:var(--radius-small,6px);background:var(--paper-2);align-items:flex-end;width:100%;max-width:48px;height:96px;display:flex;overflow:hidden}.week-chart-bar{border-radius:var(--radius-small,6px) var(--radius-small,6px) 0 0;width:100%}.week-chart-bar.is-good{background:var(--success-500,#3a9b6e)}.week-chart-bar.is-mid{background:var(--amber-500)}.week-chart-bar.is-low{background:var(--danger-500,#d05555)}.weakness-split{gap:var(--space-6);margin-bottom:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.weakness-split>div{gap:var(--space-2);justify-items:start;display:grid}.weakness-split b{font-size:28px;font-family:var(--font-display)}.weakness-split span{color:var(--ink-600);font-size:var(--text-small)}.weakness-split .level-bar{width:100%}.confusion-list{gap:var(--space-2);display:grid}.confusion-list li{align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-small,6px);background:var(--paper-2);display:flex}.confusion-list b{font-size:20px;font-family:var(--font-display)}.confusion-list small{color:var(--ink-600);margin-left:auto}.subs-family{gap:var(--space-4);padding:var(--space-5,20px) var(--space-6);margin-bottom:var(--space-5,20px);display:grid}.subs-family.is-active{background:linear-gradient(120deg, color-mix(in srgb, var(--success-100) 55%, transparent), transparent 70%)}.subs-family-head{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.subs-family-head>div{gap:2px;display:grid}.subs-family-head b{font-size:20px;font-family:var(--font-display);color:var(--ink-900)}.subs-family-kids{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.subs-family-kid{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--line-200);background:var(--paper-50,#fff);border-radius:999px;display:inline-flex}.subs-family-kid .student-avatar{width:28px;height:28px;font-size:14px}.subs-family-kid b{color:var(--ink-900);font-size:15px}.subs-family-kid small{color:var(--ink-600)}.subs-family-usage{white-space:nowrap;margin-left:auto;font-size:13px}.subs-list{display:grid}.subs-row{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line-200);grid-template-columns:minmax(200px,1.4fr) auto auto auto;display:grid}.subs-row:last-child{border-bottom:0}.subs-row.is-active{background:linear-gradient(90deg, color-mix(in srgb, var(--success-100) 48%, transparent), transparent 58%)}.subs-access-copy{gap:3px;min-width:168px;display:grid}.subs-access-copy strong{color:var(--ink-900);font-size:17px}.subs-access-copy small{color:var(--ink-600);white-space:nowrap}.subs-active-mark{min-width:112px;color:var(--success-600);text-align:center;font-weight:700}.subs-period{font-size:var(--text-small);color:var(--ink-600);margin:0}.subs-plans{gap:var(--space-5,20px);margin-bottom:var(--space-5,20px);grid-template-columns:repeat(3,1fr);display:grid}.subs-plan-card{gap:var(--space-3);padding:var(--space-5,20px) var(--space-6);align-content:start;display:grid}.subs-plan-card.is-featured{border-color:var(--success-600);background:linear-gradient(150deg, color-mix(in srgb, var(--success-100,transparent) 60%, transparent), transparent 75%)}.subs-plan-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.subs-plan-name{font-size:var(--text-body-lg);font-family:var(--font-display);color:var(--ink-900)}.subs-plan-badge{padding:2px var(--space-2);background:var(--success-100,transparent);color:var(--success-600);white-space:nowrap;border-radius:999px;font-size:12px;font-weight:700}.subs-plan-price strong{font-size:var(--text-section-title);font-family:var(--font-display);color:var(--ink-900);line-height:1}.subs-plan-total,.subs-plan-note{font-size:var(--text-small)}.subs-pay-channels{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.subs-pay-channel{padding:var(--space-4) var(--space-3);border:1px solid var(--line-200);border-radius:var(--radius-m);background:var(--paper-50,#fff);cursor:pointer;justify-items:center;gap:2px;display:grid}.subs-pay-channel b{font-size:var(--text-body);color:var(--ink-900)}.subs-pay-channel small{color:var(--ink-600);font-size:12px}.subs-pay-channel:disabled{opacity:.55;cursor:not-allowed}.subs-pay-qr{gap:var(--space-3);text-align:center;justify-items:center;display:grid}.subs-pay-qr img{border:1px solid var(--line-200);border-radius:var(--radius-m)}.subs-pay-success{color:var(--success-600);font-weight:700}.subs-ocr-panel,.subs-comparison{min-width:0;margin:24px 0;padding:28px}.subs-section-head{gap:6px;margin:0 0 22px;display:grid}.subs-section-head h2{color:var(--ink-900);overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.4}.subs-section-head p{color:var(--ink-600);margin:0;font-size:14px;line-height:1.7}.subs-ocr-layout{grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);align-items:start;gap:28px;display:grid}.subs-ocr-allowance{min-width:0;padding:6px 0}.subs-ocr-label{color:var(--ink-900);margin:0 0 14px;font-size:14px;font-weight:600}.subs-ocr-tiers{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 14px;display:grid}.subs-ocr-tiers>div{border-left:1px solid var(--line-200);min-width:0;padding-left:16px}.subs-ocr-tiers>div:first-child{border-left:0;padding-left:0}.subs-ocr-tiers dt{min-height:40px;color:var(--ink-600);font-size:13px;line-height:1.5}.subs-ocr-tiers dd{flex-wrap:wrap;align-items:baseline;gap:6px;margin:8px 0 0;display:flex}.subs-ocr-tiers dd b{color:var(--brand-700);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.2}.subs-ocr-tiers dd span{color:var(--ink-600);font-size:12px}.subs-ocr-products{gap:12px;min-width:0;display:grid}.subs-ocr-product{border:1px solid var(--line-200);background:var(--paper-1);border-radius:16px;gap:10px;min-width:0;padding:20px;display:grid}.subs-ocr-product-name{color:var(--ink-900);overflow-wrap:anywhere;font-size:16px}.subs-ocr-price{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;display:flex}.subs-ocr-price strong{color:var(--brand-700);font-variant-numeric:tabular-nums;font-size:30px;line-height:1.25}.subs-ocr-price span{color:var(--ink-600);font-size:13px}.subs-ocr-product .ui-btn{width:100%;margin-top:4px}.subs-ocr-caption{color:var(--ink-600);margin:0;font-size:12px;line-height:1.65}.subs-ocr-note{border-top:1px solid var(--line-200);color:var(--ink-600);margin:20px 0 0;padding-top:14px;font-size:12px;line-height:1.7}.subs-benefits-scroll{max-width:100%;overflow-x:auto}.subs-comparison .subs-benefits{min-width:560px}.subs-comparison .subs-benefits thead{background:var(--paper-1)}.subs-comparison .subs-benefits th,.subs-comparison .subs-benefits td{vertical-align:top;line-height:1.65}.subs-comparison .subs-benefits thead th{white-space:nowrap;font-size:13px}@media (width<=760px){.subs-ocr-panel,.subs-comparison{margin:20px 0;padding:20px 16px}.subs-section-head{margin-bottom:18px}.subs-section-head h2{font-size:20px}.subs-ocr-layout{grid-template-columns:minmax(0,1fr);gap:18px}.subs-ocr-tiers{gap:10px}.subs-ocr-tiers>div{padding-left:10px}.subs-ocr-tiers dt{min-height:36px;font-size:12px}.subs-ocr-tiers dd{gap:4px}.subs-ocr-tiers dd b{font-size:26px}.subs-ocr-product{padding:16px}}.subs-quota{gap:6px;min-width:210px;display:grid}.subs-quota-label{justify-content:space-between;gap:var(--space-3);color:var(--ink-900);font-size:14px;display:flex}.subs-quota-label small{color:var(--ink-600)}.subs-quota-bar{background:var(--line-200);border-radius:999px;height:8px;overflow:hidden}.subs-quota-bar i{border-radius:inherit;background:var(--success-500,var(--success-600));height:100%;display:block}.subs-quota-bar.is-full i{background:var(--amber-500)}.subs-quota-note{color:var(--ink-600);font-size:12px}.subs-benefits{border-collapse:collapse;width:100%}.subs-benefits th,.subs-benefits td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-200);text-align:left;color:var(--ink-900);font-size:14px}.subs-benefits th{color:var(--ink-600);font-weight:600}.subs-benefits tr:last-child th,.subs-benefits tr:last-child td{border-bottom:0}.admin-preview{background:var(--paper-0);min-height:100vh}.admin-banner{padding:var(--space-3) var(--space-6);border-radius:var(--radius-m);background:var(--amber-100);color:var(--amber-500);text-align:center;margin:0;font-weight:600}.admin-toolbar{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.admin-toolbar-field{flex:1;min-width:260px}.admin-family{display:grid}.admin-family-head{align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--paper-1);border-bottom:1px solid var(--line-200);display:flex}.grant-row{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line-200);grid-template-columns:minmax(200px,1.4fr) auto auto auto;display:grid}.grant-row:last-child{border-bottom:0}@media (width<=899px){.auth-layout{gap:var(--space-8);padding-top:var(--space-8);grid-template-columns:1fr}.editor-layout,.device-layout,.source-grid,.wordlists-steps,.photo-import-grid{grid-template-columns:1fr}.photo-start-card{padding:var(--space-6)}.photo-start-body{align-items:stretch;gap:var(--space-5,20px);flex-direction:column}.photo-start-body .ui-btn{width:100%}.issue-edit-grid{grid-template-columns:1fr}.report-facts{grid-template-columns:repeat(2,1fr)}.dash-grid{grid-template-columns:1fr}.weak-row{gap:var(--space-2) var(--space-4);grid-template-columns:1fr auto}.weak-level{grid-column:1/-1}.subs-row,.grant-row{gap:var(--space-3);grid-template-columns:1fr;justify-items:start}.subs-plans{grid-template-columns:1fr}.report-accuracy{text-align:left}}.grade-row{gap:var(--space-3);align-items:center;display:flex}.grade-row select{flex:1;min-width:0}.semester-toggle{border:1px solid var(--line-200);border-radius:var(--radius-pill);flex:none;display:inline-flex;overflow:hidden}.semester-toggle button{min-height:var(--touch-parent);padding:0 var(--space-5,20px);color:var(--ink-600);background:var(--surface-card);transition:background var(--motion-press) var(--ease-out);font-size:15px;font-weight:600}.semester-toggle button+button{border-left:1px solid var(--line-200)}.semester-toggle button.is-selected{background:var(--brand-700);color:var(--paper-0)}.dash-loading{gap:var(--space-3);padding:var(--space-16) var(--space-6);flex-direction:row;display:flex}.dash-loading-dot{background:var(--brand-700);border-radius:50%;width:10px;height:10px;animation:1s ease-in-out infinite dash-pulse}@keyframes dash-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@media (width<=767px){.device-item{grid-template-columns:48px minmax(0,1fr)}.device-item__action{grid-column:2;justify-self:start}}.assign-child-textbook{color:var(--ink-600);background:color-mix(in srgb, var(--surface-card) 72%, var(--card-100,var(--brand-100)));border:1px solid color-mix(in srgb, var(--card-600,var(--brand-700)) 18%, var(--line-200));border-radius:var(--radius-pill);padding:2px var(--space-3);font-size:12px}.assign-child-stats{width:100%;margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid color-mix(in srgb, var(--card-600,var(--brand-700)) 16%, var(--line-200));grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:center;display:grid}.assign-child-stats>span:not(.assign-child-stats__divider){justify-items:center;gap:3px;display:grid}.assign-child-stats strong{font-family:var(--font-display);color:var(--card-600,var(--brand-700));font-variant-numeric:tabular-nums;font-size:25px;line-height:1}.assign-child-stats small{color:var(--ink-600);letter-spacing:.06em;font-size:12px}.assign-child-stats__divider{background:color-mix(in srgb, var(--card-600,var(--brand-700)) 18%, var(--line-200));width:1px;height:30px}[data-card-tone=sun]{--card-600:#c07f2e;--card-100:#f6e9cf}[data-card-tone=leaf]{--card-600:#4f7d52;--card-100:#e2eddc}[data-card-tone=sky]{--card-600:#3f6f8f;--card-100:#dfeaf1}[data-card-tone=berry]{--card-600:#96505f;--card-100:#f2e1e4}[data-card-tone=lilac]{--card-600:#6a5f8f;--card-100:#e8e5f1}.wordlist-add-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.wordlist-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.wordlist-tabs{border:1px solid var(--line-200);border-radius:var(--radius-l);background:color-mix(in srgb, var(--paper-1) 86%, var(--brand-100));grid-auto-columns:max-content;grid-auto-flow:column;gap:6px;max-width:100%;padding:6px;display:inline-grid;overflow-x:auto}.wordlist-tab{min-height:40px;padding:0 var(--space-4);border-radius:calc(var(--radius-l) - 5px);color:var(--ink-600);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);background:0 0;border:0;font-weight:700;display:inline-flex}.wordlist-tab[aria-selected=true]{background:var(--brand-700);color:#fff;box-shadow:var(--shadow-1)}.wordlist-tab:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-700) 30%, transparent);outline-offset:2px}.wordlist-tab__badge{border-radius:var(--radius-pill);background:var(--danger-600);color:#fff;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;line-height:1;display:inline-flex}.wordlist-tab[aria-selected=true] .wordlist-tab__badge{color:var(--brand-700);background:#fff}.wordlist-filter{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.wordlist-filter__chip{min-height:36px;padding:0 var(--space-4);border:1px solid var(--line-200);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--ink-600);font:inherit;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:700}.wordlist-filter__chip[aria-pressed=true]{background:var(--brand-700);border-color:var(--brand-700);color:#fff;box-shadow:var(--shadow-1)}.wordlist-filter__chip:focus-visible{outline:3px solid color-mix(in srgb, var(--brand-700) 30%, transparent);outline-offset:2px}.pending-wordlists-panel{gap:var(--space-4);margin-top:var(--space-8);display:grid}.pending-wordlists-head{gap:var(--space-1);display:grid}.pending-wordlists-head h2{font-size:var(--text-section-title);margin:0}.pending-import-empty{min-height:180px}.default-lists-section,.uploaded-lists-section{gap:var(--space-5,20px);margin-top:var(--space-8);display:grid}.default-lists-section__head{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.default-lists-section__head h2{margin:var(--space-1) 0;font-size:var(--text-section-title)}.default-lists-children{gap:var(--space-4);display:grid}.default-lists-child{padding:var(--space-5,20px) var(--space-6);gap:var(--space-4);display:grid}.default-lists-child__head{align-items:center;gap:var(--space-3);display:flex}.default-lists-child__head h3{margin:0;font-size:18px}.default-lists-child__head p{margin:2px 0 0}.default-lists-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-m);background:var(--paper-1);color:var(--ink-600);font-size:var(--text-small);margin:0}.default-lists-options{margin:0;padding:0;list-style:none;display:grid}.default-lists-foundation{padding-top:var(--space-3);border-top:1px solid var(--line-200)}.default-lists-foundation summary{color:var(--ink-700);cursor:pointer;font-weight:700}.default-lists-foundation>p{margin:var(--space-2) 0 0}.default-list-option{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:72px;padding:var(--space-3) 0;border-bottom:1px solid var(--line-200);display:flex}.default-list-option:last-child{border-bottom:0}.default-list-option__copy{gap:var(--space-1);min-width:0;display:grid}.default-list-option__title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.default-list-option__title b{font-size:17px}.default-list-option__actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.default-list-option__selection{align-items:center;gap:var(--space-2);min-height:44px;color:var(--ink-700);cursor:pointer;font-weight:600;display:inline-flex}.default-list-option__selection input{width:24px;height:24px;accent-color:var(--brand-700);cursor:pointer;margin:0}.default-list-option__selection.is-disabled{color:var(--ink-400);cursor:not-allowed}.default-list-option__selection.is-disabled input{cursor:not-allowed}.default-lists-unavailable{justify-items:start;gap:var(--space-2);text-align:left}.default-lists-unavailable p{margin:0}.wordlist-list{gap:var(--space-6);margin-top:var(--space-8);display:grid}.wordlist-card{padding:var(--space-6);gap:var(--space-4);align-content:start;display:grid}.wordlist-card h2{font-size:var(--text-section-title)}.wordlist-meta{margin:0}.wordlist-rename{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:inline-flex}.wordlist-rename input{min-height:var(--touch-parent);min-width:min(320px,100%);padding:0 var(--space-3);border:1px solid var(--line-200);border-radius:var(--radius-m);font-size:15px}.wordlist-chips{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.wordlist-chip{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border:1px solid var(--line-200);border-radius:var(--radius-pill);background:var(--paper-1);font-size:var(--text-small);display:inline-flex}.wordlist-chip em{color:var(--ink-600);font-size:12px;font-style:normal}.wordlist-chip[data-status=paused] em{color:var(--amber-500)}.wordlist-chip[data-status=completed] em{color:var(--success-600)}.wordlist-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.wordlist-items{margin:0;padding:0;list-style:none;display:grid}.wordlist-item{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--line-200);grid-template-columns:40px minmax(120px,1fr) minmax(0,2fr) auto;display:grid}.wordlist-item:last-child{border-bottom:0}.wordlist-item__no{color:var(--ink-300);font-variant-numeric:tabular-nums;text-align:right}.wordlist-item__spelling{font-weight:700}.wordlist-item__meaning{color:var(--ink-600);overflow-wrap:anywhere}.wordlist-item__ops{align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex}.wordlist-item__delete{color:var(--danger-600)}.wordlist-empty{gap:var(--space-4);text-align:center;justify-items:center}.assign-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.assign-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.assign-row__student{align-items:center;gap:var(--space-3);min-height:var(--touch-parent);font-weight:600;display:inline-flex}.assign-row__student input{width:20px;height:20px;accent-color:var(--brand-700)}.assign-row__status{min-width:140px}@media (width<=899px){.default-list-option{flex-direction:column;align-items:flex-start}.default-list-option__actions{justify-content:flex-start;width:100%}.wordlist-item{grid-template-columns:32px minmax(0,1fr) auto}.wordlist-item__meaning{grid-column:2/-1}.wordlist-item__ops{grid-area:1/3}}@media (width<=560px){.wordlist-toolbar{flex-direction:column;align-items:flex-start}.wordlist-tabs{gap:3px;padding:4px}.wordlist-tab{min-height:40px;padding:0 8px;font-size:14px}.wordlist-tab__badge{min-width:19px;height:19px;padding:0 5px;font-size:11px}.wordlist-filter{width:100%}.wordlist-filter__chip{flex:1}.wordlist-items-toolbar{flex-direction:column;align-items:stretch}.wordlist-items-search{width:100%}}.wordlist-items-head{gap:var(--space-1)}.wordlist-items-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.wordlist-items-search{min-width:min(280px,100%);min-height:40px;padding:0 var(--space-4);border:1px solid var(--line-200);border-radius:var(--radius-pill);background:var(--paper-1);color:var(--ink-900);font:inherit}.wordlist-items-search:focus{border-color:var(--brand-700);outline:3px solid color-mix(in srgb, var(--brand-700) 30%, transparent);outline-offset:2px}.wordlist-archive{color:var(--danger-600)}.wordlist-archive:hover{background:var(--danger-100)}.campaign-section{gap:var(--space-3);margin-bottom:var(--space-5,20px);display:grid}.notice-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--line-200);border-radius:var(--radius-m);background:var(--paper-1);font-size:14px;display:flex}.notice-bar-label{padding:1px var(--space-3);border-radius:var(--radius-pill);background:var(--brand-700);color:#fff;flex:none;font-size:12px;font-weight:700}.notice-bar-text{min-width:0;color:var(--ink-700);flex:1}.notice-bar-text b{color:var(--ink-900)}.notice-bar-close{cursor:pointer;color:var(--ink-300);padding:0 var(--space-1);background:0 0;border:none;flex:none;font-family:inherit;font-size:20px;line-height:1}.notice-bar-close:hover{color:var(--ink-900)}.campaign-card{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--brand-100,var(--line-200));border-radius:var(--radius-l);background:linear-gradient(160deg, var(--brand-100) 0%, var(--surface-card) 45%);box-shadow:var(--shadow-soft);display:grid}.campaign-card-head{gap:var(--space-1);display:grid}.campaign-card-head h2{font-size:var(--text-section-title)}.campaign-card-body{color:var(--ink-700);font-size:15px;line-height:1.8}.campaign-card-body p{margin:0 0 var(--space-2)}.campaign-card-body h3,.campaign-card-body h4{margin:var(--space-3) 0 var(--space-1);color:var(--ink-900)}.campaign-card-body ul,.campaign-card-body ol{padding-left:var(--space-5,20px);gap:var(--space-1);display:grid}.campaign-card-body code{background:var(--paper-1);border-radius:4px;padding:1px 6px;font-size:13px}.campaign-card-foot{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.feedback-form{gap:var(--space-4);padding:var(--space-5,20px);margin-bottom:var(--space-6);display:grid}.feedback-form textarea{padding:var(--space-3) var(--space-4);resize:vertical;min-height:96px}.feedback-section-title{font-size:var(--text-section-title);margin-bottom:var(--space-3)}.feedback-group{margin-bottom:var(--space-8)}.feedback-group-empty{margin:0 0 var(--space-2)}.feedback-ticket-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.feedback-ticket{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4);text-align:left;cursor:pointer;background:var(--surface-card);border:1px solid var(--line-200);border-radius:var(--radius-m);border-left-width:4px;flex-wrap:wrap;font-family:inherit;font-size:15px;display:flex}.feedback-ticket:hover{border-color:var(--brand-700)}.feedback-ticket.is-pending{border-left-color:var(--amber-500)}.feedback-ticket.is-replied{border-left-color:var(--brand-700)}.feedback-ticket-status{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.feedback-ticket-body{flex:1;gap:2px;min-width:0;display:grid}.feedback-ticket-body span{color:var(--ink-600);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-pill--pending{background:var(--amber-100);color:var(--amber-500)}.ui-pill--replied{background:var(--brand-100);color:var(--brand-700)}.feedback-thread{gap:var(--space-3);display:grid}.feedback-bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-l);gap:var(--space-1);font-size:15px;display:grid}.feedback-bubble--mine{background:var(--brand-100);color:var(--ink-900);border-bottom-right-radius:4px;justify-self:end}.feedback-bubble--admin{background:var(--paper-1);color:var(--ink-900);border:1px solid var(--line-200);border-bottom-left-radius:4px;justify-self:start}.dash-quota-note{background:var(--amber-100);color:var(--ink-900);border-radius:var(--radius-m);padding:var(--space-3) var(--space-4);font-size:var(--text-small);margin:0;line-height:1.6}.dash-quota-note a{color:var(--brand-700);margin-left:var(--space-1);font-weight:600;text-decoration:underline}.regen-modes{gap:var(--space-3);margin:var(--space-2) 0 var(--space-3);flex-direction:column;display:flex}.regen-modes label{align-items:flex-start;gap:var(--space-3);border:1px solid var(--line-200);border-radius:var(--radius-m);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex}.regen-modes label:has(input:checked){border-color:var(--brand-600);background:var(--brand-50)}.regen-modes input[type=radio]{accent-color:var(--brand-600);margin-top:3px}.regen-modes span{flex-direction:column;gap:2px;display:flex}.regen-modes small{color:var(--ink-600);line-height:1.5}.pending-import-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.pending-import-row{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);color:inherit;flex-wrap:wrap;text-decoration:none;display:flex}.pending-import-row:hover{border-color:var(--brand-500,#4f6ef7)}.pending-import-card{padding:var(--space-4);gap:var(--space-3);align-content:start;display:grid}.pending-import-card .review-section-title{margin:0;line-height:1.3}.pending-import-list li{align-items:center;gap:var(--space-2);display:flex}.pending-import-list .pending-import-row{flex:1;min-width:0}.dict-apply-bar{margin:var(--space-3) 0;align-items:center}.subs-pay-channel{align-items:center;gap:8px;display:inline-flex}.subs-pay-channel.is-selected{border-color:var(--brand-600,#2f6fed);box-shadow:0 0 0 1px var(--brand-600,#2f6fed)}.subs-pay-channel.is-disabled{opacity:.55;cursor:not-allowed}.subs-pay-channel small{color:var(--ink-600);margin-left:auto}.coach-root{z-index:300;pointer-events:none;position:fixed;inset:0}.coach-mask{pointer-events:auto;background:#0f172ad9;position:absolute}.coach-bubble{width:min(320px,100vw - 24px);padding:var(--space-4) var(--space-6);border-radius:var(--radius-m);background:var(--paper-0);box-shadow:var(--shadow-lift);pointer-events:auto;position:absolute}.coach-bubble.is-centered{top:50%;left:50%;transform:translate(-50%,-50%)}.coach-bubble-head{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:16px;display:flex}.coach-close{color:var(--ink-600);padding:var(--space-1);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.coach-close:hover{color:var(--ink-900)}.coach-desc{margin:var(--space-2) 0 0;color:var(--ink-600);font-size:var(--text-small)}.coach-fallback{margin:var(--space-2) 0 0;color:var(--danger-600);font-size:var(--text-small)}.coach-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4);display:flex}.editor-daily-fixed{color:var(--ink-900);padding:10px 0 6px;font-size:28px;font-weight:700;display:block}.admin-app{--brand:#1e5a45;--brand-2:#276b53;--brand-bg:#dde9e1;--brand-bg-soft:#e9f1ec;--ink:#1f2a26;--sub:#5f6f69;--faint:#93a19a;--line:#e3e8e6;--bg:#f4f6f5;--thead:#eef2f0;--rowhover:#f6f9f7;color:var(--ink);background:var(--bg);min-height:100vh;font-family:-apple-system,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:14px}.admin-app *,.admin-app :before,.admin-app :after{box-sizing:border-box}.admin-app a{color:var(--brand);text-decoration:none}.admin-app a:hover{text-decoration:underline}.admin-app .layout{min-height:100vh;display:flex}.admin-app .sidebar{width:208px;color:var(--sub);border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.admin-app .sidebar .brand{color:var(--brand);border-bottom:1px solid var(--line);padding:20px 20px 16px;font-size:17px;font-weight:700}.admin-app .sidebar .brand:before{content:"";background:var(--brand);vertical-align:2px;border-radius:2px;width:8px;height:8px;margin-right:8px;display:inline-block}.admin-app .sidebar .brand span{color:var(--faint);margin-top:2px;font-size:12px;font-weight:400;display:block}.admin-app .sidebar nav{flex:1;padding:8px 0;overflow-y:auto}.admin-app .sidebar .nav-group-title{letter-spacing:1px;color:var(--faint);padding:12px 20px 4px;font-size:11px;font-weight:600}.admin-app .sidebar nav a{color:#45534d;border-left:3px solid #0000;padding:8px 20px;font-size:14px;display:block}.admin-app .sidebar nav a:hover{background:var(--brand-bg-soft);color:var(--brand-2);text-decoration:none}.admin-app .sidebar nav a.active{background:var(--brand-bg);color:var(--brand);border-left-color:var(--brand);font-weight:600}.admin-app .sidebar-footer{color:var(--faint);border-top:1px solid var(--line);padding:14px 20px;font-size:12px;line-height:1.7}.admin-app .main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-app .topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.admin-app .topbar .page-title{font-size:15px;font-weight:600}.admin-app .topbar-right{align-items:center;gap:14px;font-size:13px;display:flex}.admin-app .admin-name{color:var(--sub)}.admin-app .topbar-right button.linklike{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px}.admin-app .topbar-right button.linklike:hover{text-decoration:underline}.admin-app .role-badge{border-radius:10px;padding:2px 10px;font-size:12px;font-weight:600;line-height:18px;display:inline-block}.admin-app .role-super{background:var(--brand);color:#fff}.admin-app .role-ops{color:#245a8d;background:#edf4fb;border:1px solid #d3e2f2}.admin-app .role-viewer{color:#5f6f69;background:#eef1f0;border:1px solid #dfe5e2}.admin-app .content{flex:1;padding:20px 24px 40px}.admin-app .page-desc{color:var(--sub);margin-bottom:16px;font-size:13px;line-height:1.7}.admin-app .page-desc code{background:var(--thead);border-radius:4px;padding:1px 5px;font-size:12px}.admin-app .card{border:1px solid var(--line);background:#fff;border-radius:10px;margin-bottom:16px;padding:16px 18px;box-shadow:0 1px 3px #14231c0d}.admin-app .card h2{margin-bottom:12px;font-size:15px;font-weight:600}.admin-app .card h2 .sub{color:var(--faint);margin-left:8px;font-size:12px;font-weight:400}.admin-app .card h2 .head-action{float:right}.admin-app .recognition-records-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:12px;display:flex}.admin-app .recognition-records-heading h2{min-width:0;margin:0}.admin-app .recognition-records-heading>.btn{flex:none;min-width:64px;min-height:32px;margin:0}.admin-app .btn{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cfd8d3;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:13px;line-height:1.5;text-decoration:none;display:inline-block}.admin-app .btn:hover{background:var(--rowhover);text-decoration:none}.admin-app .btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.admin-app .btn-primary:hover{background:var(--brand-2)}.admin-app .btn-danger{color:#fff;background:#b3261e;border-color:#b3261e}.admin-app .btn-danger:hover{background:#8c1d17}.admin-app .btn-sm{padding:3px 10px;font-size:12px}.admin-app .btn[disabled],.admin-app .btn.disabled{color:#9aa5b1;cursor:not-allowed;background:#eceff3;border-color:#d5dbe2}.admin-app .readonly-note{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;margin-bottom:16px;padding:8px 14px;font-size:13px}.admin-app table{border-collapse:collapse;width:100%;font-size:13px}.admin-app th,.admin-app td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.admin-app th{color:var(--sub);background:var(--thead);white-space:nowrap;font-weight:600}.admin-app tr:last-child td{border-bottom:none}.admin-app tbody tr.clickable{cursor:pointer}.admin-app tbody tr.clickable:hover{background:var(--rowhover)}.admin-app .settings-table{table-layout:fixed}.admin-app .settings-table th:first-child{width:26%}.admin-app .settings-table th:nth-child(2){width:8%}.admin-app .settings-table th:nth-child(3){width:11%}.admin-app .settings-table th:nth-child(4),.admin-app .settings-table th:nth-child(5){width:9%}.admin-app .settings-table th:nth-child(6){width:13%}.admin-app .settings-table th:nth-child(7){width:10%}.admin-app .settings-table td.mono{overflow-wrap:anywhere}.admin-app .settings-table th:nth-child(2),.admin-app .settings-table td:nth-child(2),.admin-app .settings-table th:nth-child(3),.admin-app .settings-table td:nth-child(3),.admin-app .settings-table th:nth-child(4),.admin-app .settings-table td:nth-child(4),.admin-app .settings-table th:nth-child(8),.admin-app .settings-table td:nth-child(8){text-align:center}.admin-app .badge{white-space:nowrap;border:1px solid #0000;border-radius:9px;padding:1px 8px;font-size:12px;line-height:18px;display:inline-block}.admin-app .badge-green{color:#1e7a4c;background:#e7f4ec;border-color:#cbe7d6}.admin-app .badge-gray{color:#5f6f69;background:#eef1f0;border-color:#dfe5e2}.admin-app .badge-red{color:#b3261e;background:#fdeceb;border-color:#f5c6c2}.admin-app .badge-blue{color:#245a8d;background:#edf4fb;border-color:#d3e2f2}.admin-app .badge-amber{color:#935f10;background:#fdf3e2;border-color:#f2dfba}.admin-app .badge-purple{color:#5b4399;background:#f3effa;border-color:#ddd3f0}.admin-app .kid-chip{white-space:nowrap;color:#1f2a26;background:#fff;border:1px solid #e3e8e6;border-radius:9px;margin:0 4px 2px 0;padding:1px 8px;font-size:12px;line-height:18px;display:inline-block}.admin-app .kid-chip:hover{border-color:#1e5a45;text-decoration:none}.admin-app .filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.admin-app .filter-bar label{color:var(--sub);font-size:13px}.admin-app input[type=text],.admin-app input[type=password],.admin-app input[type=number],.admin-app input[type=date],.admin-app select,.admin-app textarea{color:var(--ink);background:#fff;border:1px solid #cfd8d3;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px}.admin-app input:focus,.admin-app select:focus,.admin-app textarea:focus{border-color:var(--brand);outline:2px solid #c2d8cc}.admin-app textarea{resize:vertical;width:100%;min-height:70px}.admin-app .muted{color:var(--sub);font-size:12px}.admin-app .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.admin-app .metric-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.admin-app .metric-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:16px 18px;box-shadow:0 1px 3px #14231c0d}.admin-app .metric-card .label{color:var(--sub);font-size:13px}.admin-app .metric-card .value{color:var(--brand);margin:6px 0 4px;font-size:28px;font-weight:700}.admin-app .metric-card .value small{color:var(--faint);margin-left:4px;font-size:13px;font-weight:400}.admin-app .metric-card .hint{color:var(--faint);font-size:12px;line-height:1.6}.admin-app .funnel-bar{align-items:center;gap:10px;margin-top:12px;display:flex}.admin-app .funnel-bar .funnel-label{width:110px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:13px;overflow:hidden}.admin-app .funnel-bar .funnel-track{background:#eef2f7;border-radius:8px;flex:1;height:16px;overflow:hidden}.admin-app .funnel-bar .bar{background:#3b82f6;border-radius:8px;height:100%;display:block}.admin-app .funnel-bar .bar.over{background:#2563eb}.admin-app .funnel-bar .funnel-value{text-align:right;width:40px;color:var(--brand);flex:none;font-size:15px}.admin-app .funnel-bar .funnel-pct{width:90px;color:var(--sub);white-space:nowrap;flex:none;font-size:12px}.admin-app .funnel-bar .funnel-conv{width:120px;color:var(--faint);white-space:nowrap;flex:none;font-size:12px}.admin-app .alert{border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px;line-height:1.6}.admin-app .alert-red{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.admin-app .alert-amber{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.admin-app .alert-blue{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.admin-app .tabs{border-bottom:2px solid var(--line);gap:4px;margin-bottom:16px;display:flex}.admin-app .tabs button{cursor:pointer;color:var(--sub);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:9px 16px;font-family:inherit;font-size:14px}.admin-app .tabs button.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.admin-app .modal{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-app .modal .mask{background:#14231c73;position:absolute;inset:0}.admin-app .modal-box{background:#fff;border-radius:10px;width:460px;max-width:92vw;max-height:86vh;padding:20px 22px;position:relative;overflow-y:auto;box-shadow:0 12px 40px #14231c38}.admin-app .modal-box h3{margin-bottom:10px;font-size:15px}.admin-app .modal-box p{color:var(--sub);margin-bottom:12px;font-size:13px;line-height:1.7}.admin-app .modal-box label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.admin-app .modal-box textarea{margin-bottom:6px}.admin-app .modal-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.admin-app .modal-close{color:var(--faint);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:18px;position:absolute;top:12px;right:16px}.admin-app .modal-field{margin-bottom:12px}.admin-app .modal-field input,.admin-app .modal-field select{width:100%;margin-top:4px}.admin-app .modal-field .label-like{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.admin-app .modal-field .btn-sm{margin-bottom:4px;margin-right:6px}.admin-app .grant-duration{align-items:center;gap:8px;display:flex}.admin-app .grant-duration input{width:110px;margin-top:0}.admin-app .grant-duration select{width:auto;margin-top:0}.admin-app .form-error{color:#b3261e;margin:4px 0 8px;font-size:12px}.admin-app .login-page{background:linear-gradient(160deg,#d8e9df 0%,#f4f6f5 55%);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-app .login-card{border:1px solid var(--line);background:#fff;border-radius:12px;width:380px;padding:36px 36px 28px;box-shadow:0 8px 30px #14231c1a}.admin-app .login-card h1{margin-bottom:4px;font-size:20px}.admin-app .login-card .sub{color:var(--faint);margin-bottom:24px;font-size:13px}.admin-app .login-card label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.admin-app .login-card input{width:100%;margin-bottom:16px}.admin-app .login-card .rate-hint{background:var(--rowhover);border:1px solid var(--line);color:var(--sub);border-radius:6px;margin-top:14px;padding:8px 12px;font-size:12px;line-height:1.7}.admin-app .login-footer{border-top:1px solid var(--line);color:var(--faint);margin-top:22px;padding-top:14px;font-size:12px;line-height:1.8}.admin-app .kv{grid-template-columns:120px 1fr;gap:8px 12px;margin:0;font-size:13px;display:grid}.admin-app .kv dt{color:var(--sub)}.admin-app .kv dd{color:var(--ink);margin:0}.admin-app .student-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.admin-app .student-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:10px;padding:14px 16px;display:block}.admin-app .student-card:hover{border-color:var(--brand);text-decoration:none}.admin-app .student-card .name{font-size:15px;font-weight:600}.admin-app .student-card .meta{color:var(--faint);margin-top:4px;font-size:12px}.admin-app .quota-grid td{padding:4px 8px}.admin-app .state-note{color:var(--faint);text-align:center;padding:20px 0;font-size:13px}.admin-app a.badge:hover{opacity:.85;text-decoration:none}.admin-app .admin-notice-bar{background:#eef4fb;border-bottom:1px solid #d3e2f2;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex}.admin-app .admin-notice-link{cursor:pointer;text-align:left;min-width:0;color:var(--ink);background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}.admin-app .admin-notice-title{flex:none;font-weight:600}.admin-app .admin-notice-body{color:var(--sub);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-app .admin-notice-link:hover .admin-notice-title{text-decoration:underline}.admin-app .admin-notice-close{cursor:pointer;color:var(--sub);background:0 0;border:none;border-radius:4px;flex:none;padding:2px 6px;font-size:16px;line-height:1}.admin-app .admin-notice-close:hover{color:var(--ink);background:#d3e2f2}.admin-app .admin-notice-full{white-space:pre-wrap;color:var(--ink);background:#f8fafb;border:1px solid #e3e8e6;border-radius:6px;padding:12px 14px;line-height:1.7}.admin-app .table-scroll{max-height:320px;overflow:auto}.admin-app .table-compact th,.admin-app .table-compact td{padding:4px 10px;font-size:12px}.admin-app tr.row-diff td{background:#fef2f2}.default-unlock-admin .table-scroll{max-height:none;overflow-x:auto}.default-unlock-admin .unlock-table{table-layout:fixed;min-width:720px}.default-unlock-admin .unlock-table th:first-child{width:15%}.default-unlock-admin .unlock-table th:nth-child(2){width:24%}.default-unlock-admin .unlock-table th:nth-child(3){width:16%}.default-unlock-admin .unlock-table th:nth-child(4){width:12%}.default-unlock-admin .unlock-table th:nth-child(5){width:33%}.default-unlock-admin .unlock-table th{padding:11px 12px}.default-unlock-admin .unlock-table td{vertical-align:middle;padding:12px}.default-unlock-admin .unlock-student-name{font-weight:600;display:block}.default-unlock-admin .unlock-student-grade{margin-top:2px;display:block}.default-unlock-admin .unlock-wordlist{overflow-wrap:anywhere;color:var(--sub)}.default-unlock-admin .unlock-requested-at span{font-variant-numeric:tabular-nums;display:block}.default-unlock-admin .unlock-requested-at span+span{margin-top:2px}.default-unlock-admin .unlock-review-reason{color:var(--sub);font-size:13px;line-height:1.6}.default-unlock-review{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.default-unlock-review input{flex:120px;min-width:0;min-height:40px}.default-unlock-actions{flex:none;align-items:center;gap:10px;display:flex}.default-unlock-review .btn{white-space:nowrap;min-height:40px;padding-inline:14px}.admin-app .k12-catalog-heading,.admin-app .k12-detail-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-app .k12-catalog-heading h2,.admin-app .k12-detail-header h2{margin-bottom:4px}.admin-app .k12-catalog-heading p{color:var(--sub);margin:0;font-size:12px}.admin-app .k12-total{text-align:right;color:var(--sub);flex:none}.admin-app .k12-total strong{color:var(--brand);font-size:24px;line-height:1;display:block}.admin-app .k12-total span{margin-top:5px;font-size:11px;display:block}.admin-app .k12-stages{grid-template-columns:2fr 1fr 1fr;gap:18px;margin-top:18px;display:grid}.admin-app .k12-stage{min-width:0}.admin-app .k12-stage-title{color:var(--sub);letter-spacing:.12em;border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:7px;font-size:12px;font-weight:700}.admin-app .k12-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.admin-app .k12-period{appearance:none;border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;padding:9px 10px;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s}.admin-app .k12-period:hover{background:var(--rowhover);border-color:#9bb6aa}.admin-app .k12-period.selected{border-color:var(--brand);background:var(--brand-bg-soft);box-shadow:inset 3px 0 0 var(--brand)}.admin-app .k12-period-name{font-size:13px;font-weight:650;display:block}.admin-app .k12-period-meta{color:var(--sub);align-items:center;gap:5px;margin-top:4px;font-size:11px;display:flex}.admin-app .k12-status-dot{background:var(--faint);border-radius:50%;width:6px;height:6px}.admin-app .k12-status-dot.published{background:#2b8a57}.admin-app .k12-detail-card{margin-top:16px}.admin-app .k12-release-meta{color:var(--sub);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.admin-app .k12-search{min-width:280px;color:var(--sub);font-size:12px}.admin-app .k12-search span{margin-bottom:5px;display:block}.admin-app .k12-search input{width:100%;font:inherit;border:1px solid #cfd8d3;border-radius:6px;padding:7px 10px}.admin-app .k12-search input:focus{border-color:var(--brand);outline:2px solid #c2d8cc}.admin-app .k12-result-summary{color:var(--sub);margin:18px 0 8px;font-size:12px}.admin-app .k12-table-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.admin-app .k12-word-table{min-width:720px}.admin-app .k12-word-table th:first-child{width:70px}.admin-app .k12-word-table th:nth-child(2){width:22%}.admin-app .k12-word-table th:nth-child(4){width:100px}.admin-app .k12-word-table th:nth-child(5){width:150px}.admin-app .k12-position{color:var(--faint);font-variant-numeric:tabular-nums}.admin-app .k12-spelling{color:var(--brand);font-size:14px;font-weight:650}.admin-app .k12-pagination{color:var(--sub);justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}@media (width<=960px){.admin-app .metric-grid{grid-template-columns:repeat(2,1fr)}.admin-app .sidebar{width:168px}.admin-app .k12-stages{grid-template-columns:1fr}.admin-app .k12-stage:first-child .k12-period-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=680px){.admin-app .k12-detail-header{flex-direction:column}.admin-app .k12-search{width:100%;min-width:0}.admin-app .k12-stage:first-child .k12-period-grid,.admin-app .k12-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
