.controls[data-v-bc7c496b]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 24px;box-shadow:var(--shadow-sm);margin-bottom:24px}audio[data-v-bc7c496b]{display:none}details summary[data-v-bc7c496b]{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;font-weight:600;padding:6px 0}details summary[data-v-bc7c496b]::-webkit-details-marker{display:none}details summary[data-v-bc7c496b]:before{content:"";width:7px;height:7px;flex:none;border-right:2px solid var(--muted-2);border-bottom:2px solid var(--muted-2);transform:rotate(-45deg);transition:transform .18s ease}details[open] summary[data-v-bc7c496b]:before{transform:rotate(45deg)}.howto__list[data-v-bc7c496b]{padding:6px 0 4px 20px;list-style:decimal;display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:.9rem;line-height:1.6}.player[data-v-bc7c496b]{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.play-btn[data-v-bc7c496b]{width:42px;height:42px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--shadow-sm)}.play-btn[data-v-bc7c496b]:hover{background:var(--brand-deep)}.play-btn[data-v-bc7c496b]:before{content:"";width:0;height:0;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent currentColor;margin-left:3px}.play-btn.is-playing[data-v-bc7c496b]:before{width:4px;height:14px;background:currentColor;border-style:none;margin:0 3px 0 0;box-shadow:7px 0 0 currentColor}.scrubber[data-v-bc7c496b]{flex:1;min-width:0}.scrubber__range[data-v-bc7c496b]{display:block;width:100%;accent-color:var(--brand)}.scrubber__time[data-v-bc7c496b]{display:flex;justify-content:space-between;font-size:.8125rem;color:var(--muted);margin-top:6px}.volume[data-v-bc7c496b]{display:flex;align-items:center;gap:8px;color:var(--muted);flex:none;font-size:.8125rem}.volume input[data-v-bc7c496b]{width:84px}.progress-readout[data-v-bc7c496b]{display:flex;flex-wrap:wrap;gap:18px;padding:10px 0;font-size:.8125rem;color:var(--muted);border-bottom:1px solid var(--border)}.progress-readout b[data-v-bc7c496b]{color:var(--ink);font-weight:700}.console-grid[data-v-bc7c496b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 26px;padding:16px 0}.control-field label[data-v-bc7c496b]{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:8px;font-weight:600}.control-field--toggle[data-v-bc7c496b]{display:flex;align-items:center;justify-content:space-between}.control-field--toggle label[data-v-bc7c496b]{margin-bottom:0}.control-field-row[data-v-bc7c496b]{display:flex;align-items:center;gap:10px}input[type=range][data-v-bc7c496b]{width:100%;accent-color:var(--brand);height:4px}.stepper[data-v-bc7c496b]{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:var(--radius-md);overflow:hidden}.stepper button[data-v-bc7c496b]{width:32px;height:32px;background:var(--surface-2);font-size:1rem}.stepper button[data-v-bc7c496b]:hover{background:var(--brand-tint);color:var(--brand)}.stepper span[data-v-bc7c496b]{min-width:56px;text-align:center;font-weight:600}.switch[data-v-bc7c496b]{position:relative;display:inline-block;width:40px;height:22px;flex:none}.switch input[data-v-bc7c496b]{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch__track[data-v-bc7c496b]{position:absolute;inset:0;background:var(--border-strong);border-radius:999px;transition:background .15s ease;pointer-events:none}.switch__track[data-v-bc7c496b]:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .15s ease;box-shadow:var(--shadow-sm)}.switch input:checked+.switch__track[data-v-bc7c496b]{background:var(--brand)}.switch input:checked+.switch__track[data-v-bc7c496b]:before{transform:translate(18px)}.switch input:focus-visible+.switch__track[data-v-bc7c496b]{outline:2px solid var(--brand);outline-offset:2px}.sentence-card[data-v-c92063f7]{background:var(--surface);border:1px solid var(--border);border-left:3px solid transparent;border-radius:var(--radius-sm);padding:16px 18px;transition:border-color .15s ease,background .15s ease}.sentence-card.is-playing[data-v-c92063f7]{border-left-color:var(--brand);background:var(--brand-tint)}.sentence-card__meta[data-v-c92063f7]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.sentence-index[data-v-c92063f7]{font-size:.75rem;color:var(--muted-2);font-weight:700}.sentence-card .time[data-v-c92063f7]{font-size:.75rem;color:var(--muted)}.sentence-play[data-v-c92063f7]{margin-left:auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);flex:none;display:flex;align-items:center;justify-content:center;color:var(--brand)}.sentence-play[data-v-c92063f7]:before{content:"";width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent currentColor;margin-left:2px}.sentence-card.is-playing .sentence-play[data-v-c92063f7]{background:var(--brand);color:#fff;border-color:var(--brand)}.sentence-en[data-v-c92063f7]{font-family:var(--font-serif);font-size:1.125rem;line-height:1.65;margin-bottom:6px}.sentence-zh[data-v-c92063f7]{font-size:.9375rem;color:var(--muted);line-height:1.7}.word[data-v-c92063f7]{cursor:pointer;border-radius:3px;padding:0 2px}.word--saved[data-v-c92063f7],.word--glossary[data-v-c92063f7]{background:var(--highlight);border-bottom:2px solid var(--highlight-border)}.word--saved[data-v-c92063f7]:hover,.word--glossary[data-v-c92063f7]:hover{background:var(--gold-tint)}.sentence-en.hide-highlight .word--saved[data-v-c92063f7],.sentence-en.hide-highlight .word--glossary[data-v-c92063f7]{background:none;border-bottom-color:transparent}.word-badge[data-v-c92063f7]{font-size:.65rem;vertical-align:super;color:var(--success);margin-left:1px}.sentences[data-v-69c4c0f0]{display:flex;flex-direction:column;gap:14px}.calibration[data-v-01549f0f]{padding-top:14px}.calibration__trigger[data-v-01549f0f]{display:flex;align-items:center;gap:10px;width:100%;cursor:pointer}.chip[data-v-01549f0f]{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:.8125rem;font-weight:600}.chip--success[data-v-01549f0f]{background:var(--success-tint);color:var(--success);border:1px solid rgba(47,125,93,.25)}.calibration__hint[data-v-01549f0f]{font-weight:400;color:var(--muted);font-size:.8125rem;margin-left:auto}.calibration__panel[data-v-01549f0f]{padding:14px 0 4px;display:flex;flex-direction:column;gap:10px}.calibration__row[data-v-01549f0f]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.calibration__row span[data-v-01549f0f]:first-child{font-weight:600;margin-right:2px;min-width:70px}.calibration__error[data-v-01549f0f]{font-size:.8125rem;color:var(--danger);background:var(--danger-tint);border-radius:var(--radius-sm);padding:7px 10px}.calibration__preview-label[data-v-01549f0f]{font-size:.8125rem;color:var(--muted)}.btn[data-v-01549f0f]{border-radius:var(--radius-md);border:1px solid transparent;padding:8px 16px;font-size:.875rem;font-weight:600}.btn--outline[data-v-01549f0f]{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn--outline[data-v-01549f0f]:hover{border-color:var(--brand);color:var(--brand)}.btn--text[data-v-01549f0f]{background:none;color:var(--brand);padding:8px 10px}.btn--text[data-v-01549f0f]:hover{text-decoration:underline}.btn--sm[data-v-01549f0f]{padding:5px 11px;font-size:.8125rem}.word-popover{background:var(--ink);color:#fff;padding:6px 6px 6px 12px;border-radius:var(--radius-md);font-size:.8125rem;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-md);z-index:45}.word-popover__btn{background:var(--gold-deep);color:#fff;border-radius:6px;padding:5px 10px;font-weight:600;font-size:.8125rem}.word-popover__btn:hover{filter:brightness(.95)}.modal-overlay[data-v-b022175e]{position:fixed;inset:0;background:#12344973;z-index:50}.modal[data-v-b022175e]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);width:calc(100% - 48px);max-width:520px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:88vh;overflow:auto;z-index:51}.modal__header[data-v-b022175e],.modal__footer[data-v-b022175e]{padding:16px 22px}.modal__header[data-v-b022175e]{border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:1.05rem;font-weight:700}.modal__close[data-v-b022175e]{font-size:1.25rem;color:var(--muted)}.modal__footer[data-v-b022175e]{border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.modal__body[data-v-b022175e]{padding:18px 22px;display:flex;flex-direction:column;gap:14px}.field label[data-v-b022175e]{display:block;font-size:.8125rem;font-weight:600;color:var(--muted);margin-bottom:6px}.field input[data-v-b022175e],.field textarea[data-v-b022175e]{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 11px;font-size:.9375rem;background:var(--paper);font-family:var(--font-sans)}.field textarea[data-v-b022175e]{resize:vertical;min-height:62px}.field-hint[data-v-b022175e]{font-size:.75rem;color:var(--muted-2);margin-top:5px;line-height:1.5}.lemma-note[data-v-b022175e]{font-size:.75rem;color:var(--gold-deep);margin-top:5px}.source-tag[data-v-b022175e]{font-size:.75rem;color:var(--muted-2)}.btn[data-v-b022175e]{border-radius:var(--radius-md);border:1px solid transparent;padding:8px 16px;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:6px}.btn--brand[data-v-b022175e]{background:var(--brand);color:#fff}.btn--brand[data-v-b022175e]:hover{background:var(--brand-deep)}.btn--gold[data-v-b022175e]{background:var(--gold-deep);color:#fff}.btn--gold[data-v-b022175e]:hover{filter:brightness(.92)}.btn--outline[data-v-b022175e]{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn--outline[data-v-b022175e]:hover{border-color:var(--brand);color:var(--brand)}.delete-trigger[data-v-c3f5da73]{color:var(--muted);font-size:.8125rem;font-weight:600;padding:5px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-md)}.delete-trigger[data-v-c3f5da73]:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-tint)}.confirm-overlay[data-v-c3f5da73]{position:fixed;inset:0;background:#12344973;z-index:60}.confirm-dialog[data-v-c3f5da73]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);width:calc(100% - 48px);max-width:360px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:20px 22px;z-index:61}.confirm-dialog__title[data-v-c3f5da73]{font-size:1rem;font-weight:700;margin-bottom:8px}.confirm-dialog__desc[data-v-c3f5da73]{font-size:.875rem;color:var(--muted);line-height:1.55}.confirm-dialog__actions[data-v-c3f5da73]{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.btn[data-v-c3f5da73]{border-radius:var(--radius-md);border:1px solid transparent;padding:8px 16px;font-size:.875rem;font-weight:600}.btn--outline[data-v-c3f5da73]{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn--outline[data-v-c3f5da73]:hover{border-color:var(--brand);color:var(--brand)}.btn--danger[data-v-c3f5da73]{background:var(--danger);color:#fff}.btn--danger[data-v-c3f5da73]:hover{filter:brightness(.92)}.vocab-card[data-v-bc8f837c]{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.vocab-card+.vocab-card[data-v-bc8f837c]{margin-top:12px}.vocab-card__head[data-v-bc8f837c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px}.vocab-card__head-actions[data-v-bc8f837c]{display:flex;align-items:center;gap:6px;flex:none}.vocab-word[data-v-bc8f837c]{font-family:var(--font-serif);font-size:1.05rem;font-weight:700}.vocab-def[data-v-bc8f837c]{font-size:.875rem;margin-bottom:4px;line-height:1.55}.vocab-meta[data-v-bc8f837c]{font-size:.6875rem;color:var(--muted-2);margin-bottom:8px}.vocab-example[data-v-bc8f837c]{font-size:.8125rem;color:var(--muted);font-style:italic;border-left:2px solid var(--border-strong);padding-left:8px;margin-bottom:6px}.vocab-notes[data-v-bc8f837c]{font-size:.8125rem;color:var(--ink);background:var(--brand-tint);border-radius:var(--radius-sm);padding:8px 10px;margin-top:6px;line-height:1.5}.vocab-notes__label[data-v-bc8f837c]{display:block;font-size:.6875rem;font-weight:700;color:var(--brand-deep);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.vocab-status[data-v-bc8f837c]{display:flex;gap:6px;margin-top:10px}.status-pill[data-v-bc8f837c]{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--border-strong);color:var(--muted);background:var(--surface)}.status-pill[data-v-bc8f837c]:hover{border-color:var(--brand);color:var(--brand)}.status-pill.is-active[data-v-bc8f837c]{background:var(--brand);border-color:var(--brand);color:#fff}.tag[data-v-bc8f837c]{font-size:.6875rem;font-weight:700;padding:2px 8px;border-radius:999px;flex:none}.tag--gold[data-v-bc8f837c]{background:var(--gold-tint);color:var(--gold-deep)}.rail-block[data-v-2fc0d9c2]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.vocab-book h2[data-v-2fc0d9c2]{font-size:1rem;margin-bottom:12px}.rail-empty[data-v-2fc0d9c2]{color:var(--muted);font-size:.875rem;line-height:1.6}.vocab-search[data-v-2fc0d9c2]{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 10px;font-size:.875rem;background:var(--paper);margin-bottom:10px}.vocab-controls-row[data-v-2fc0d9c2]{display:flex;gap:8px;margin-bottom:10px}.vocab-select[data-v-2fc0d9c2]{flex:1;min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 8px;font-size:.8125rem;background:var(--paper);color:var(--ink)}.vocab-filter__list[data-v-2fc0d9c2]{display:flex;gap:4px;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-md);padding:3px}.vocab-filter__trigger[data-v-2fc0d9c2]{flex:1;font-size:.75rem;font-weight:600;padding:5px 8px;border-radius:var(--radius-sm);color:var(--muted)}.vocab-filter__trigger[data-state=active][data-v-2fc0d9c2]{background:var(--brand);color:#fff}.note-float[data-v-17c2f15a]{position:fixed;top:96px;right:24px;width:300px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:18px;z-index:40}.note-float__close[data-v-17c2f15a]{position:absolute;top:10px;right:12px;font-size:1.2rem;color:var(--muted)}.note-eyebrow[data-v-17c2f15a]{font-size:.75rem;color:var(--muted-2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.vocab-word[data-v-17c2f15a]{display:block;font-family:var(--font-serif);font-size:1.05rem;font-weight:700;margin-bottom:6px}.vocab-def[data-v-17c2f15a]{font-size:.875rem;margin-bottom:6px;line-height:1.55}.vocab-example[data-v-17c2f15a]{font-size:.8125rem;color:var(--muted);font-style:italic;border-left:2px solid var(--border-strong);padding-left:8px}.vocab-notes[data-v-17c2f15a]{font-size:.8125rem;color:var(--ink);background:var(--brand-tint);border-radius:var(--radius-sm);padding:8px 10px;margin-top:8px;line-height:1.5}.vocab-notes__label[data-v-17c2f15a]{display:block;font-size:.6875rem;font-weight:700;color:var(--brand-deep);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.note-float__actions[data-v-17c2f15a]{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.btn[data-v-17c2f15a]{border-radius:var(--radius-md);border:1px solid transparent;font-weight:600}.btn--outline[data-v-17c2f15a]{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn--outline[data-v-17c2f15a]:hover{border-color:var(--brand);color:var(--brand)}.btn--sm[data-v-17c2f15a]{padding:5px 11px;font-size:.8125rem}@media(max-width:640px){.note-float[data-v-17c2f15a]{inset:auto 0 0;width:auto;border-radius:16px 16px 0 0;box-shadow:0 -12px 32px #16213a40}}.banner[data-v-e86b06a4]{background:var(--gold-tint);border-bottom:1px solid rgba(169,120,46,.35);color:var(--gold-deep);padding:10px 24px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:.9rem;flex-wrap:wrap}.banner__actions[data-v-e86b06a4]{display:flex;align-items:center;gap:6px}.banner__close[data-v-e86b06a4]{font-size:1.15rem;line-height:1;color:inherit;opacity:.6;padding:2px 6px}.banner__close[data-v-e86b06a4]:hover{opacity:1}.btn[data-v-e86b06a4]{border-radius:var(--radius-md);border:1px solid transparent;font-weight:600;background:#fff}.btn--outline[data-v-e86b06a4]{border-color:var(--border-strong);color:var(--ink)}.btn--sm[data-v-e86b06a4]{padding:5px 11px;font-size:.8125rem}.import-export[data-v-e54f86ca]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.import-export h2[data-v-e54f86ca]{font-size:1rem;margin-bottom:12px}.import-export__actions[data-v-e54f86ca]{display:flex;gap:8px}.visually-hidden[data-v-e54f86ca]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.import-preview[data-v-e54f86ca]{margin-top:14px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.875rem;line-height:1.6}.import-preview__title[data-v-e54f86ca]{font-weight:700;margin-bottom:6px}.import-preview__hint[data-v-e54f86ca]{color:var(--muted);font-size:.8125rem;margin-top:6px}.import-preview__buttons[data-v-e54f86ca]{display:flex;gap:8px;margin-top:10px}.status-message[data-v-e54f86ca]{margin-top:10px;font-size:.8125rem;color:var(--success)}.error-message[data-v-e54f86ca]{margin-top:10px;font-size:.8125rem;color:var(--danger)}.btn[data-v-e54f86ca]{border-radius:var(--radius-md);border:1px solid transparent;font-weight:600}.btn--outline[data-v-e54f86ca]{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn--outline[data-v-e54f86ca]:hover{border-color:var(--brand);color:var(--brand)}.btn--brand[data-v-e54f86ca]{background:var(--brand);color:#fff}.btn--brand[data-v-e54f86ca]:hover{background:var(--brand-deep)}.btn--sm[data-v-e54f86ca]{padding:5px 11px;font-size:.8125rem}.rail-block[data-v-79e78589]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.glossary-panel__trigger[data-v-79e78589]{display:flex;align-items:baseline;justify-content:space-between;width:100%;cursor:pointer}.glossary-panel__trigger h2[data-v-79e78589]{font-size:1rem}.glossary-panel__hint[data-v-79e78589]{font-size:.75rem;color:var(--muted)}.glossary-panel__note[data-v-79e78589]{font-size:.8125rem;color:var(--muted);margin:10px 0 12px;line-height:1.5}.glossary-list[data-v-79e78589]{display:flex;flex-direction:column;gap:10px}.glossary-item dt[data-v-79e78589]{display:flex;align-items:baseline;gap:6px;margin-bottom:2px}.glossary-term[data-v-79e78589]{font-family:var(--font-serif);font-weight:700}.glossary-pos[data-v-79e78589]{font-size:.75rem;color:var(--muted-2);font-style:italic}.glossary-item dd[data-v-79e78589]{font-size:.8125rem;color:var(--muted);line-height:1.5}.rail-block[data-v-0c629074]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.quiz-panel__trigger[data-v-0c629074]{display:flex;align-items:baseline;justify-content:space-between;width:100%;cursor:pointer}.quiz-panel__trigger h2[data-v-0c629074]{font-size:1rem}.quiz-panel__hint[data-v-0c629074]{font-size:.75rem;color:var(--muted)}.rail-empty[data-v-0c629074]{font-size:.875rem;color:var(--muted);margin-top:10px;line-height:1.6}.quiz-progress[data-v-0c629074]{display:flex;align-items:center;gap:10px;margin:12px 0 10px}.tag[data-v-0c629074]{font-size:.6875rem;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--gold-tint);color:var(--gold-deep)}.quiz-progress__count[data-v-0c629074]{font-size:.75rem;color:var(--muted)}.quiz-question[data-v-0c629074]{font-size:.9375rem;line-height:1.55;margin-bottom:10px}.quiz-zh[data-v-0c629074]{color:var(--muted)}.quiz-masked[data-v-0c629074]{font-size:.9375rem;padding:10px 12px;background:var(--paper);border-radius:var(--radius-sm);margin-bottom:10px}.quiz-choices[data-v-0c629074]{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.quiz-choice[data-v-0c629074]{display:flex;align-items:center;gap:8px;font-size:.875rem;cursor:pointer}.quiz-radio[data-v-0c629074]{width:16px;height:16px;border-radius:50%;border:1px solid var(--border-strong);flex:none;display:flex;align-items:center;justify-content:center}.quiz-radio__indicator[data-v-0c629074]{width:8px;height:8px;border-radius:50%;background:var(--brand)}.quiz-input[data-v-0c629074]{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 10px;font-size:.9375rem;background:var(--paper);margin-bottom:10px}.quiz-feedback[data-v-0c629074]{font-size:.8125rem;border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:10px}.quiz-feedback.is-correct[data-v-0c629074]{background:var(--success-tint);color:var(--success)}.quiz-feedback.is-wrong[data-v-0c629074]{background:var(--danger-tint);color:var(--danger)}.quiz-actions[data-v-0c629074]{display:flex;align-items:center;gap:10px}.quiz-done[data-v-0c629074]{font-size:.8125rem;color:var(--muted)}.btn[data-v-0c629074]{border-radius:var(--radius-md);border:1px solid transparent;padding:8px 16px;font-size:.875rem;font-weight:600}.btn--brand[data-v-0c629074]{background:var(--brand);color:#fff}.btn--brand[data-v-0c629074]:hover{background:var(--brand-deep)}.btn--outline[data-v-0c629074]{background:var(--surface);border-color:var(--border-strong);color:var(--ink);margin-bottom:10px}.btn--outline[data-v-0c629074]:hover{border-color:var(--brand);color:var(--brand)}.btn--text[data-v-0c629074]{background:none;color:var(--brand);padding:8px 4px}.btn--text[data-v-0c629074]:hover{text-decoration:underline}.btn--sm[data-v-0c629074]{font-size:.8125rem}.shell[data-v-d7f46897]{max-width:1180px;margin:0 auto;padding:24px 24px 56px}.body-grid[data-v-d7f46897]{display:grid;grid-template-columns:minmax(0,700px) minmax(280px,360px);gap:28px;align-items:start}.side-rail[data-v-d7f46897]{display:flex;flex-direction:column;gap:18px;position:sticky;top:24px}@media(max-width:960px){.body-grid[data-v-d7f46897]{grid-template-columns:1fr}.side-rail[data-v-d7f46897]{position:static}}.privacy-trigger[data-v-1cc57f05]{font-size:.875rem;font-weight:600;color:var(--muted)}.privacy-trigger[data-v-1cc57f05]:hover{color:var(--brand);text-decoration:underline}.privacy-policy-link[data-v-1cc57f05]{display:inline-block;margin-top:8px;color:var(--brand);font-weight:700}.modal-overlay[data-v-1cc57f05]{position:fixed;inset:0;background:#12344973;z-index:50}.modal[data-v-1cc57f05]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);width:calc(100% - 48px);max-width:520px;max-height:82vh;overflow:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:51}.modal__header[data-v-1cc57f05]{padding:16px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-size:1.05rem;font-weight:700;position:sticky;top:0;background:var(--surface)}.modal__close[data-v-1cc57f05]{font-size:1.25rem;color:var(--muted)}.modal__body[data-v-1cc57f05]{padding:18px 22px 22px;display:flex;flex-direction:column;gap:16px}.modal__body h3[data-v-1cc57f05]{font-size:.9375rem;margin-bottom:4px}.modal__body p[data-v-1cc57f05]{font-size:.875rem;color:var(--muted);line-height:1.6}.modal-overlay[data-v-f65e95f3]{position:fixed;z-index:80;inset:0;background:#1123307a}.modal[data-v-f65e95f3]{position:fixed;z-index:81;left:50%;top:50%;transform:translate(-50%,-50%);padding:22px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg)}.modal__header[data-v-f65e95f3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal__close[data-v-f65e95f3]{width:32px;height:32px;font-size:1.25rem}.account-trigger[data-v-f65e95f3]{color:var(--muted);font-size:.875rem;font-weight:600}.account-modal[data-v-f65e95f3]{width:min(560px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 32px));overflow-y:auto}.account-body[data-v-f65e95f3]{display:grid;gap:22px}.account-body section[data-v-f65e95f3]{display:grid;gap:9px}.account-body section+section[data-v-f65e95f3]{padding-top:18px;border-top:1px solid var(--border)}.account-body h3[data-v-f65e95f3]{font-size:1rem}.account-body p[data-v-f65e95f3],.account-body label[data-v-f65e95f3]{color:var(--muted);font-size:.8125rem;line-height:1.6}.account-body input[type=password][data-v-f65e95f3]{width:100%;padding:9px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.confirm-delete[data-v-f65e95f3]{display:flex;align-items:center;gap:8px}.btn[data-v-f65e95f3]{width:fit-content;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.8125rem;font-weight:700}.btn--brand[data-v-f65e95f3]{border-color:var(--brand);color:#fff;background:var(--brand)}.btn--outline[data-v-f65e95f3]{background:var(--surface)}.btn--danger[data-v-f65e95f3]{border-color:var(--danger);color:#fff;background:var(--danger)}.btn[data-v-f65e95f3]:disabled{cursor:not-allowed;opacity:.5}.recovery-code[data-v-f65e95f3]{overflow-wrap:anywhere;padding:10px;border-radius:var(--radius-sm);background:var(--gold-tint);color:var(--gold-deep);font-family:var(--font-mono);font-weight:700}.success-message[data-v-f65e95f3]{color:var(--success)}.error-message[data-v-f65e95f3]{color:var(--danger)}.app-header[data-v-6e3cd46f]{display:flex;align-items:center;gap:18px;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.app-header__brand[data-v-6e3cd46f]{font-family:var(--font-serif);font-weight:700;font-size:1.125rem;color:var(--brand-deep)}.app-header__lesson-picker select[data-v-6e3cd46f]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 10px;font-size:.875rem;background:var(--paper);color:var(--ink);max-width:240px}.app-header__actions[data-v-6e3cd46f]{display:flex;align-items:center;gap:14px;margin-left:auto}.app-header__menu[data-v-6e3cd46f]{display:none;width:36px;height:36px;padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.app-header__menu span[data-v-6e3cd46f]{display:block;width:100%;height:2px;background:var(--brand-deep)}.app-header__menu span+span[data-v-6e3cd46f]{margin-top:4px}.app-header__link[data-v-6e3cd46f]{font-size:.875rem;font-weight:600;color:var(--brand)}.app-header__link[data-v-6e3cd46f]:hover{text-decoration:underline}.app-header__import[data-v-6e3cd46f]{display:inline-flex;align-items:center;gap:6px}.app-header__status-dot[data-v-6e3cd46f]{width:8px;height:8px;flex:none;border-radius:50%;background:var(--gold)}.app-header__status-dot.is-running[data-v-6e3cd46f]{background:var(--success);animation:status-pulse-6e3cd46f 1.4s ease-in-out infinite}.app-header__status-dot.is-review[data-v-6e3cd46f]{background:var(--brand)}.app-header__status-dot.is-failed[data-v-6e3cd46f]{background:var(--danger)}@keyframes status-pulse-6e3cd46f{50%{opacity:.42}}.sr-only[data-v-6e3cd46f]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.app-header[data-v-6e3cd46f]{flex-wrap:wrap;gap:10px;padding:12px 16px}.app-header__lesson-picker[data-v-6e3cd46f]{min-width:0;flex:1}.app-header__lesson-picker select[data-v-6e3cd46f]{width:100%;max-width:none}.app-header__menu[data-v-6e3cd46f]{display:block;flex:0 0 auto}.app-header__actions[data-v-6e3cd46f]{width:100%;display:none;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:6px 12px;margin-left:0;padding-top:10px;border-top:1px solid var(--border)}.app-header__actions.is-open[data-v-6e3cd46f]{display:grid}.app-header__actions[data-v-6e3cd46f] button,.app-header__link[data-v-6e3cd46f]{min-width:0;padding:7px 0;text-align:left}}:root{--paper: #f5f6f8;--surface: #ffffff;--surface-2: #eef1f5;--ink: #16213a;--muted: #5b6472;--muted-2: #8791a0;--border: #e1e4ea;--border-strong: #c7ccd6;--brand: #1b4b6b;--brand-deep: #123449;--brand-tint: #e9eff3;--gold: #a9782e;--gold-deep: #8a6221;--gold-tint: #f3e9d3;--gold-on-dark: #d9b876;--highlight: #f6e2a0;--highlight-border: #c9a227;--success: #2f7d5d;--success-tint: #e4f1eb;--danger: #b4443a;--danger-tint: #fdecea;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(22, 33, 58, .07);--shadow-md: 0 6px 20px rgba(22, 33, 58, .12);--shadow-lg: 0 20px 60px rgba(22, 33, 58, .22);--font-serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Songti SC", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Cascadia Code", Consolas, "Courier New", monospace}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.skip-link{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:10px 16px;border-radius:0 0 8px;z-index:100}.skip-link:focus{left:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}
