:root{--review-bg: var(--c-bg);--review-surface: var(--c-surface);--review-border: var(--c-border);--review-text: var(--c-text);--review-text-secondary: var(--c-text-secondary);--review-blue: var(--c-blue);--review-green: var(--c-green);--review-red: var(--c-red);--review-radius-sm: var(--r-sm);--review-radius-md: var(--r-md);--review-radius-lg: var(--r-lg);--review-radius-xl: var(--r-xl);--review-shadow: var(--shadow-card);--review-focus: var(--focus-ring);--review-content-width: var(--content-width)}.review-page{max-width:var(--page-width);margin:0 auto;padding:20px 32px;width:100%;box-sizing:border-box;min-height:100%;display:flex;flex-direction:column}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;max-width:var(--review-content-width);width:100%;align-self:center}.review-header__left{display:flex;align-items:flex-start;gap:12px}.review-header__icon{width:40px;height:40px;min-width:40px;border-radius:10px;background:var(--review-blue);display:flex;align-items:center;justify-content:center}.review-header__text{display:flex;flex-direction:column;gap:2px}.review-header__title{font-size:28px;font-weight:700;color:var(--review-text);margin:0;line-height:1.1}.review-header__subtitle{font-size:15px;font-weight:500;color:var(--review-text-secondary);margin:0}.review-header__streak{display:flex;align-items:center;gap:6px;height:40px;margin:0;padding:8px 14px;border-radius:var(--r-control);background:var(--c-hover);color:var(--review-text-secondary);font-size:14px;font-weight:500;white-space:nowrap}.review-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:var(--review-radius-sm);color:var(--review-red);font-size:14px;padding:10px 14px;margin-bottom:12px;max-width:var(--review-content-width);width:100%;align-self:center;box-sizing:border-box}.review-note{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--c-hover);border:1px solid var(--review-border);border-radius:var(--review-radius-sm);color:var(--review-text-secondary);font-size:13px;line-height:1.4;padding:10px 10px 10px 14px;margin-bottom:12px;max-width:var(--review-content-width);width:100%;align-self:center;box-sizing:border-box}.review-note__dismiss{width:var(--target-dense);height:var(--target-dense);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:-6px -6px 0 0;border:none;border-radius:var(--review-radius-sm);background:none;box-shadow:none;color:var(--review-text-secondary);font-size:16px;line-height:1;cursor:pointer;transition:background .15s ease}.review-note__dismiss:hover{background:var(--c-surface)}.review-note__dismiss:focus-visible{outline:var(--review-focus);outline-offset:2px}.review-page .mode-row{margin-bottom:12px}.review-page .mode-toggle{display:inline-flex;align-items:center;gap:8px}.review-card__progress{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;color:var(--review-text-secondary);font-size:13px}.review-card{max-width:var(--review-content-width);width:100%;align-self:center;background:var(--review-surface);border:1px solid var(--review-border);border-radius:var(--review-radius-xl);box-shadow:var(--review-shadow);padding:24px 32px;position:relative;box-sizing:border-box;transition:opacity .18s ease,transform .18s ease;animation:cardFadeIn .18s ease}.review-card--exit{opacity:0;transform:translateY(8px)}.review-card--terminal{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px}.review-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.review-card__pill{display:inline-flex;align-items:center;background:#eef2ff;color:var(--review-blue);font-size:13px;font-weight:600;padding:5px 10px;border-radius:8px}.review-card__delete{width:var(--target-min);height:var(--target-min);display:flex;align-items:center;justify-content:center;border:1px solid var(--review-border);border-radius:10px;background:var(--review-surface);color:var(--review-text-secondary);cursor:pointer;transition:background .15s ease}.review-card__delete:hover{background:#f9fafb;color:var(--review-red)}.review-card__delete:focus-visible{outline:var(--review-focus);outline-offset:2px}.review-card__word-section{margin-bottom:0}.review-card__label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--review-text-secondary);margin-bottom:8px}.review-card__word-row{display:flex;align-items:center;gap:10px}.review-card__word{font-size:42px;font-weight:700;line-height:1.1;color:var(--review-text);overflow-wrap:anywhere}.review-card__audio{width:var(--target-min);height:var(--target-min);display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--r-control);background:transparent;box-shadow:none;color:var(--review-text-secondary);cursor:pointer;transition:background .15s ease}.review-card__audio:hover:enabled{background:#f3f4f6}.review-card__audio:disabled{color:var(--c-border);cursor:progress}.review-card__audio:focus-visible{outline:var(--review-focus);outline-offset:2px}.review-card__divider{height:1px;background:var(--review-border);margin:16px 0}.review-card__definition-section{min-height:48px}.review-card__definition{font-size:28px;font-weight:500;color:var(--review-text);margin:0;line-height:1.2}.review-card__definition--hidden{font-size:16px;font-weight:400;color:var(--review-text-secondary);font-style:italic}.review-card__context{font-size:16px;font-weight:400;color:var(--review-text-secondary);font-style:italic;margin:8px 0 0}.review-card--clickable{cursor:pointer}.review-terminal__title{font-size:24px;font-weight:700;color:var(--review-text);margin:0 0 12px}.review-terminal__line{font-size:15px;color:var(--review-text-secondary);margin:0}.review-terminal__note{font-size:13px;color:var(--review-text-secondary);margin:8px 0 0;opacity:.85}.review-summary{display:grid;gap:6px 20px;grid-template-columns:auto auto;justify-content:center;margin:0 0 16px;text-align:left}.review-summary dt{color:var(--review-text-secondary);font-size:14px}.review-summary dd{font-weight:600;font-size:14px;color:var(--review-text);margin:0}.review-actions{display:flex;justify-content:center;gap:12px;margin:16px 0 0;max-width:var(--review-content-width);width:100%;align-self:center}.review-btn{flex:1;max-width:220px;min-height:64px;border-radius:var(--review-radius-md);border:1px solid;background:var(--review-surface);cursor:pointer;padding:10px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .15s ease;font-family:inherit}.review-btn__top{display:flex;align-items:center;gap:6px}.review-btn__label{font-size:18px;font-weight:600;color:inherit}.review-btn__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:5px;font-size:11px;font-weight:600;padding:0 3px}.review-btn__subtitle{font-size:12px;font-weight:500;color:var(--review-text-secondary)}.review-btn:focus-visible{outline:var(--review-focus);outline-offset:2px}.review-btn--again{border-color:#94a3b8;color:var(--review-red)}.review-btn--again .review-btn__badge{background:#fee2e2;color:var(--review-red)}.review-btn--again:hover{background:#fef2f2;transform:scale(1.02)}.review-btn--good{border-color:#94a3b8;color:var(--review-green)}.review-btn--good .review-btn__badge{background:#dcfce7;color:var(--review-green)}.review-btn--good:hover{background:#f0fdf4;transform:scale(1.02)}.review-btn--easy{border-color:#94a3b8;color:var(--review-blue)}.review-btn--easy .review-btn__badge{background:#dbeafe;color:var(--review-blue)}.review-btn--easy:hover{background:#eff6ff;transform:scale(1.02)}.review-btn--reveal{border-color:var(--review-border);color:var(--review-text);max-width:280px}.review-btn--reveal .review-btn__badge{background:#f3f4f6;color:var(--review-text-secondary)}.review-btn--reveal:hover{background:#f9fafb;transform:scale(1.02)}.review-card .mascot{right:calc(var(--mascot-size) / -2);bottom:-8px}@media(max-width:640px){.review-card .mascot{right:0}}.review-card--terminal .mascot{--mascot-size: 96px;position:static;margin-top:24px}.review-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;max-width:var(--review-content-width);width:100%;align-self:center;flex-wrap:wrap;gap:8px}.review-footer__hint{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;min-width:168px;padding:10px 0;font-size:14px;color:var(--review-text-secondary)}.review-footer .page-footer__actions{margin-left:auto}@media(prefers-reduced-motion:reduce){.review-card{animation:none;transition:none;transform:none}.review-btn{transition:none}.review-btn:hover{transform:none}}.review-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:20px;padding:0 5px;border-radius:5px;background:var(--c-hover);color:var(--review-text-secondary);font-family:inherit;font-size:11px;font-weight:600}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.review-page{padding:16px 20px}.review-card{padding:20px 24px}.review-card__word{font-size:36px}.review-card__definition,.review-header__title{font-size:24px}.review-header__subtitle{font-size:14px}}@media(max-width:640px){.review-page{padding:12px}.review-header{flex-wrap:wrap;gap:8px;margin-bottom:12px}.review-header__icon{width:32px;height:32px;min-width:32px;border-radius:8px}.review-header__icon svg{width:18px;height:18px}.review-header__title{font-size:20px}.review-header__subtitle{font-size:13px}.review-header__streak{height:var(--target-dense);padding:6px 10px;font-size:12px}.review-card{padding:16px;border-radius:var(--review-radius-lg)}.review-card__word{font-size:28px}.review-card__definition{font-size:20px}.review-card__divider{margin:12px 0}.review-card__label{font-size:11px;margin-bottom:6px}.review-card__top{margin-bottom:8px}.review-actions{gap:8px}.review-btn{min-height:56px;padding:8px 12px}.review-btn__label{font-size:15px}.review-btn__subtitle{font-size:11px}.review-footer{padding-top:12px}}.ai-explain{margin-top:16px}.ai-explain__button{display:inline-flex;align-items:center;gap:8px;min-height:var(--target-min);padding:8px 14px;border:1px solid var(--c-border);border-radius:var(--r-control);background:var(--c-surface);color:var(--c-text);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease}.ai-explain__button:hover:enabled{background:var(--c-hover)}.ai-explain__button:disabled{color:var(--c-text-secondary);cursor:progress}.ai-explain__button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ai-explain__status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ai-explain__spinner{animation:aiExplainSpin .8s linear infinite;flex-shrink:0}.ai-explain__working{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--c-text-secondary)}.ai-explain__note{margin:8px 0 0;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-hover);color:var(--c-text-secondary);font-size:13px;line-height:1.45;max-width:60ch}.ai-explain__error{margin:8px 0 0;padding:10px 14px;border:1px solid var(--c-red-light);border-radius:var(--r-sm);background:var(--c-red-tint);color:var(--c-red);font-size:13px;line-height:1.4}.ai-explain__result{margin-top:12px;padding:14px 16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-subtle);color:var(--c-text);font-size:15px;line-height:1.6;overflow-wrap:anywhere}.ai-explain__markdown>:first-child{margin-top:0}.ai-explain__markdown>:last-child{margin-bottom:0}.ai-explain__markdown p{margin:0 0 10px}.ai-explain__markdown ul,.ai-explain__markdown ol{margin:0 0 10px;padding-left:22px}.ai-explain__markdown li{margin:2px 0}.ai-explain__markdown strong{font-weight:700;color:var(--c-text)}.ai-explain__markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;padding:1px 4px;border-radius:var(--r-sm);background:var(--c-hover)}.ai-explain__markdown h1,.ai-explain__markdown h2,.ai-explain__markdown h3,.ai-explain__markdown h4{font-size:15px;font-weight:700;margin:12px 0 6px}.ai-explain__footnote{margin:12px 0 0;font-size:12px;color:var(--c-text-secondary);white-space:normal}@keyframes aiExplainSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ai-explain__spinner{animation:none}.ai-explain__button{transition:none}}@media(max-width:640px){.ai-explain__result{font-size:14px;padding:12px}}.confetti{--confetti-blue: #2563eb;--confetti-green: #16a34a;--confetti-yellow: #ffc83d;--confetti-red: #dc2626;--confetti-navy: #0b3578;position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none}.confetti__piece{position:absolute;top:0;left:var(--confetti-left);inline-size:var(--confetti-size);block-size:calc(var(--confetti-size) * 1.6);background:var(--confetti-colour);border-radius:1px;opacity:0;animation:confetti-fall var(--confetti-duration) linear var(--confetti-delay) both,confetti-fade var(--confetti-duration) ease-in var(--confetti-delay) both}.confetti__piece--round{border-radius:50%;block-size:var(--confetti-size)}@keyframes confetti-fall{0%{transform:translate3d(0,-12vh,0) rotate(0)}to{transform:translate3d(var(--confetti-drift),108vh,0) rotate(var(--confetti-spin))}}@keyframes confetti-fade{0%{opacity:0}6%{opacity:1}80%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.confetti{display:none}}.mascot{--mascot-size: 104px;position:absolute;right:calc(var(--mascot-size) / -2);bottom:calc(var(--mascot-size) / -2);inline-size:var(--mascot-size);block-size:var(--mascot-size);pointer-events:none}.mascot__art{display:block;inline-size:var(--mascot-size);block-size:var(--mascot-size);transform-origin:50% 85%;user-select:none}.mascot__art--correct,.mascot__art--streak,.mascot__art--complete{animation:mascot-pop .18s cubic-bezier(.2,.9,.3,1.25) both}.mascot__art--incorrect,.mascot__art--encourage{animation:mascot-nudge .16s ease-out both}.mascot__art--idle{animation:none}@keyframes mascot-pop{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mascot-nudge{0%,to{transform:translate(0)}40%{transform:translate(-4px)}70%{transform:translate(3px)}}@media(max-width:640px){.mascot{--mascot-size: 80px;right:0}}@media(prefers-reduced-motion:reduce){.mascot__art{animation:none}}.page-footer__actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 4px}.page-footer__link{display:flex;align-items:center;gap:6px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:400;color:var(--c-text-secondary);text-decoration:none;background:none;border:none;border-radius:var(--r-sm);box-shadow:none;cursor:pointer;white-space:nowrap;transition:color .15s ease,background .15s ease}.page-footer__link:hover{color:var(--c-text);background:var(--c-hover)}.page-footer__link:focus-visible{outline:var(--focus-ring);outline-offset:2px}.page-footer__link:visited{color:var(--c-text-secondary)}.page-footer__link--rating,.page-footer__link--rating:hover,.page-footer__link--rating:visited{color:var(--c-blue)}.page-footer__link--rating:hover{background:var(--c-blue-tint)}@media(max-width:640px){.page-footer__actions{justify-content:center}.page-footer__link{font-size:12px;padding:4px 8px;min-height:var(--target-dense)}}@media(prefers-reduced-motion:reduce){.page-footer__link{transition:none}}.dict-page{max-width:var(--page-width);margin:0 auto;padding:20px 32px;width:100%;box-sizing:border-box;min-height:100%;display:flex;flex-direction:column}.dict-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;width:100%}.dict-header__left{display:flex;align-items:flex-start;gap:12px}.dict-header__icon{width:40px;height:40px;min-width:40px;border-radius:var(--r-control);background:var(--c-blue);display:flex;align-items:center;justify-content:center}.dict-header__text{display:flex;flex-direction:column;gap:2px}.dict-header__title{font-size:28px;font-weight:700;color:var(--c-text);margin:0;line-height:1.1}.dict-header__subtitle{font-size:15px;font-weight:500;color:var(--c-text-secondary);margin:0}.dict-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.dict-toolbar__field{display:flex;align-items:center;gap:8px;margin-left:auto}.dict-toolbar__label{font-size:13px;font-weight:500;color:var(--c-text-secondary);white-space:nowrap}.dict-toolbar__select{width:160px}.dict-search{position:relative;display:flex;align-items:center;flex:1;min-width:240px;max-width:420px}.dict-search__icon{position:absolute;left:12px;display:flex;align-items:center;color:var(--c-text-secondary);pointer-events:none}.dict-search__input{width:100%;height:var(--target-min);box-sizing:border-box;padding:0 40px 0 36px;margin:0;border:1px solid var(--c-border);border-radius:var(--r-control);background:var(--c-surface);box-shadow:none;color:var(--c-text);font-family:inherit;font-size:14px;transition:border-color .15s ease}.dict-search__input::placeholder{color:var(--c-text-secondary)}.dict-search__input:hover{border-color:var(--c-blue)}.dict-search__input:focus,.dict-search__input:focus-visible{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px #93c5fd73}.dict-search__clear{position:absolute;right:4px;width:var(--target-dense);height:var(--target-dense);display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--r-sm);background:none;box-shadow:none;color:var(--c-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.dict-search__clear:hover{background:var(--c-hover);color:var(--c-text)}.dict-search__clear:focus-visible{outline:var(--focus-ring);outline-offset:2px}.dict-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.dict-filters__pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dict-pill{display:inline-flex;align-items:center;gap:6px;height:var(--target-dense);padding:0 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);box-shadow:none;color:var(--c-text-secondary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.dict-pill__count{font-size:11px;font-weight:600;color:inherit;opacity:.75}.dict-pill:hover{background:var(--c-hover);color:var(--c-text)}.dict-pill:focus-visible{outline:var(--focus-ring);outline-offset:2px}.dict-pill--active{background:var(--c-blue-light);border-color:var(--c-blue-light);color:var(--c-blue);font-weight:600}.dict-pill--active:hover{background:var(--c-blue-light);color:var(--c-blue)}.dict-count{font-size:13px;font-weight:600;color:var(--c-text-secondary);padding:5px 10px;border-radius:var(--r-sm);background:var(--c-hover);white-space:nowrap;cursor:help}.dict-count--limit{background:var(--c-red-light);color:var(--c-red)}.dict-card{width:100%;box-sizing:border-box;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--shadow-card);padding:8px 12px 16px;animation:dictCardFadeIn .18s ease}.dict-card--loading{padding:40px 24px;text-align:center;color:var(--c-text-secondary);font-size:15px}.dict-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:auto;padding-top:16px;width:100%}@keyframes dictCardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.dict-card{animation:none}.dict-pill,.dict-search__input,.dict-search__clear{transition:none}}@media(max-width:1024px){.dict-page{padding:16px 20px}.dict-header__title{font-size:24px}.dict-header__subtitle{font-size:14px}.dict-card{padding:8px 8px 16px}}@media(max-width:640px){.dict-page{padding:12px}.dict-header{margin-bottom:12px}.dict-header__icon{width:32px;height:32px;min-width:32px;border-radius:var(--r-sm)}.dict-header__icon svg{width:18px;height:18px}.dict-header__title{font-size:20px}.dict-header__subtitle{font-size:13px}.dict-toolbar__field{margin-left:0;width:100%}.dict-toolbar__select{flex:1;width:auto}.dict-search{max-width:none;min-width:0}.dict-card{padding:4px 4px 12px;border-radius:var(--r-lg)}}:root{--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-subtle: #f1f5f9;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-disabled: #94a3b8;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-soft: #eff6ff;--color-focus: #93c5fd;--color-success: #15803d;--color-warning: #d97706;--color-danger: #dc2626;--color-danger-soft: #fef2f2;--color-disabled-background: #f1f5f9;--font-family-base: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-word-hero-size: 28px;--text-word-hero-line: 34px;--text-word-hero-weight: 700;--text-screen-title-size: 18px;--text-screen-title-line: 24px;--text-screen-title-weight: 600;--text-section-title-size: 14px;--text-section-title-line: 20px;--text-section-title-weight: 600;--text-body-size: 14px;--text-body-line: 20px;--text-body-weight: 400;--text-control-label-size: 13px;--text-control-label-line: 18px;--text-control-label-weight: 500;--text-metadata-size: 12px;--text-metadata-line: 16px;--text-metadata-weight: 400;--text-statistic-size: 20px;--text-statistic-line: 24px;--text-statistic-weight: 600;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-control-sm: 8px;--radius-control: 10px;--radius-card: 12px;--radius-container: 14px;--radius-pill: 999px;--shadow-popup: 0 16px 40px rgb(15 23 42 / 18%);--shadow-card-hover: 0 4px 12px rgb(15 23 42 / 8%);--shadow-focus: 0 0 0 3px rgb(147 197 253 / 45%);--icon-inline: 16px;--icon-control: 20px;--icon-empty-state: 32px;--target-min: 40px;--target-dense: 32px}.dropdown{position:relative;min-width:0}.dropdown__trigger{display:flex;align-items:center;gap:var(--space-1);width:100%;height:var(--target-min);padding:0 10px 0 var(--space-3);box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text-primary);font-family:inherit;font-size:var(--text-control-label-size);line-height:var(--text-control-label-line);font-weight:var(--text-control-label-weight);text-align:left;cursor:pointer;box-shadow:none;transition:border-color .15s ease}.dropdown__trigger:hover{border-color:var(--color-primary)}.dropdown__trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.dropdown__trigger[aria-expanded=true]{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.dropdown__value{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dropdown__chevron{display:flex;align-items:center;flex-shrink:0;color:var(--color-text-muted);transition:transform .15s ease}.dropdown__chevron svg{width:var(--icon-inline);height:var(--icon-inline)}.dropdown__trigger[aria-expanded=true] .dropdown__chevron{transform:rotate(180deg);color:var(--color-primary)}.dropdown__list{position:fixed;z-index:20;margin:0;padding:var(--space-1);box-sizing:border-box;list-style:none;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-popup)}.dropdown__list:focus{outline:none}.dropdown__list--flip{transform:translateY(-100%)}.dropdown__option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--target-min);padding:0 10px;border-radius:var(--radius-control-sm);color:var(--color-text-primary);font-size:var(--text-body-size);line-height:var(--text-body-line);cursor:pointer;user-select:none}.dropdown__option--active{background:var(--color-primary-soft);color:var(--color-primary)}.dropdown__option--selected{font-weight:600}.dropdown__check{display:flex;align-items:center;flex-shrink:0;color:var(--color-primary)}.dropdown__check svg{width:var(--icon-inline);height:var(--icon-inline)}@media(prefers-reduced-motion:reduce){.dropdown__chevron{transition:none}}.dict-table{width:100%;border-collapse:collapse;font-size:14px;color:var(--c-text)}.dict-table th,.dict-table td{padding-right:12px}.dict-table th:first-child,.dict-table td:first-child{padding-left:12px}.dict-table th:last-child,.dict-table td:last-child{padding-right:12px}.dict-table th{position:sticky;top:0;z-index:1;background:var(--c-surface);text-align:left;padding-top:12px;padding-bottom:8px;border-bottom:1px solid var(--c-border);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-secondary);white-space:nowrap}.dict-table td{padding-top:4px;padding-bottom:4px;border-bottom:1px solid var(--c-border);vertical-align:middle;overflow-wrap:anywhere}.dict-table tbody tr:last-child td{border-bottom:none}.dict-table tbody tr:hover{background:var(--c-subtle)}.dict-table__word{font-weight:500}.dict-table__context{color:var(--c-text-secondary);font-size:13px;font-style:italic;line-height:1.4;margin-top:4px;max-width:42em}.dict-table__lang{color:var(--c-text-secondary);text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.dict-table th.dict-table__actions-head{text-align:right}.dict-table td.dict-table__actions{text-align:right;white-space:nowrap}.dict-table td.dict-table__actions>*+*{margin-left:4px}.dict-sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;box-shadow:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;user-select:none}.dict-sort:hover{color:var(--c-text);background:none}.dict-sort:focus-visible{outline:var(--focus-ring);outline-offset:2px}.dict-sort__icon{flex-shrink:0}.dict-sort__icon--none{opacity:.4}.dict-sort__icon--asc,.dict-sort__icon--desc{color:var(--c-blue)}.dict-input{width:100%;height:36px;box-sizing:border-box;padding:0 10px;margin:0;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);box-shadow:none;color:var(--c-text);font-family:inherit;font-size:14px;transition:border-color .15s ease}.dict-input:hover{border-color:var(--c-blue)}.dict-input:focus,.dict-input:focus-visible{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px #93c5fd73}.dict-icon-btn{width:var(--target-min);height:var(--target-min);min-width:var(--target-min);padding:0;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;border:1px solid transparent;border-radius:var(--r-control);background:none;box-shadow:none;color:var(--c-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.dict-icon-btn:hover:enabled{background:var(--c-hover);color:var(--c-text)}.dict-icon-btn--danger:hover:enabled{background:var(--c-red-tint);color:var(--c-red)}.dict-icon-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.dict-icon-btn:disabled{background:none;border-color:transparent;color:var(--c-border);cursor:not-allowed}.dict-spinner{animation:dictSpin .8s linear infinite}.dict-ghost-btn{height:36px;padding:0 12px;vertical-align:middle;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);box-shadow:none;color:var(--c-text);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.dict-ghost-btn:hover:enabled{background:var(--c-hover)}.dict-ghost-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.dict-ghost-btn--primary{border-color:var(--c-blue);color:var(--c-blue)}.dict-ghost-btn--primary:hover:enabled{background:var(--c-blue-tint)}.dict-ghost-btn:disabled{background:var(--c-subtle);border-color:var(--c-border);color:var(--c-text-secondary);cursor:not-allowed}.dict-alert{margin:0 0 8px;padding:8px 12px;border:1px solid var(--c-red);border-radius:8px;background:var(--c-red-tint);color:var(--c-red);font-size:14px}.dict-empty{padding:40px 8px;text-align:center}.dict-empty__title{font-size:18px;font-weight:600;color:var(--c-text);margin:0 0 6px}.dict-empty__line{font-size:14px;color:var(--c-text-secondary);margin:0}.dict-modal{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:32px;box-sizing:border-box;background:#11182766;animation:dictFadeIn .12s ease}.dict-modal__panel{display:flex;flex-direction:column;width:100%;max-width:var(--page-width);max-height:100%;box-sizing:border-box;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:0 16px 40px #1118272e;overflow:hidden}.dict-modal__panel--prose{max-width:var(--content-width)}.dict-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px 12px 32px;border-bottom:1px solid var(--c-border)}.dict-modal__title{display:flex;align-items:baseline;gap:8px;min-width:0}.dict-modal__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-secondary)}.dict-modal__word{font-size:18px;font-weight:600;color:var(--c-text);overflow-wrap:anywhere}.dict-modal__body{padding:8px 32px 32px;overflow:auto;font-size:15px;line-height:1.5;color:var(--c-text)}.dict-modal__body h2,.dict-modal__body h3,.dict-modal__body h4,.dict-modal__body p,.dict-modal__body ol,.dict-modal__body ul{max-width:90ch}.dict-modal__body h2,.dict-modal__body h3,.dict-modal__body h4{font-size:15px;font-weight:600;color:var(--c-text);margin:20px 0 8px}.dict-modal__body ol,.dict-modal__body ul{padding-left:20px;margin:8px 0}.dict-modal__body li{margin-bottom:4px}.dict-modal__body a{color:var(--c-blue);text-decoration:none}.dict-modal__body a:hover{text-decoration:underline}.dict-modal__body table{border-collapse:collapse;font-size:13px;margin:8px 0}.dict-modal__body table td,.dict-modal__body table th{border:1px solid var(--c-border);padding:4px 8px}@keyframes dictSpin{to{transform:rotate(360deg)}}@keyframes dictFadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.dict-spinner,.dict-modal{animation:none}.dict-icon-btn,.dict-ghost-btn,.dict-input,.dict-sort{transition:none}}@media(max-width:1024px){.dict-modal{padding:20px}.dict-modal__head{padding:12px 16px 12px 24px}.dict-modal__body{padding:8px 24px 24px}}@media(max-width:640px){.dict-modal{padding:12px}.dict-modal__head{padding:8px 8px 8px 16px}.dict-modal__body{padding:8px 16px 16px}.dict-table th,.dict-table td{padding-right:8px}.dict-table th:first-child,.dict-table td:first-child{padding-left:8px}.dict-table th:last-child,.dict-table td:last-child{padding-right:8px}}.create-phrase{width:min(640px,100vw - 32px);max-height:calc(100dvh - 32px);box-sizing:border-box;overflow-y:auto;padding:20px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text);font-family:inherit;font-size:15px}.create-phrase::backdrop{background:#0006}.create-phrase__header,.create-phrase__pair,.create-phrase__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.create-phrase__header{justify-content:space-between}.create-phrase h2{font-size:22px;margin:0}.create-phrase__pair{border:0;padding:0;margin:16px 0;min-width:0}.create-phrase__source,.create-phrase p{overflow-wrap:anywhere}.create-phrase__example{border-top:1px solid var(--c-border);margin-top:16px;padding-top:12px}.create-phrase__choice{margin-top:12px;padding:12px;background:var(--c-subtle);border-radius:var(--r-sm)}.create-phrase label{display:block;margin:8px 0}.create-phrase textarea{box-sizing:border-box;display:block;width:100%;min-height:64px;padding:8px;font:inherit;color:inherit;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);resize:vertical}.create-phrase textarea:focus-visible{outline:var(--focus-ring)}.dict-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;width:100%}.dict-tools input[type=file]{display:none}.dict-tools__btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);box-shadow:none;color:var(--c-text-secondary);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.dict-tools__btn:hover:enabled{background:var(--c-hover);color:var(--c-text)}.dict-tools__btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.dict-tools__btn:disabled{background:var(--c-subtle);border-color:var(--c-border);color:var(--c-text-secondary);cursor:not-allowed}.dict-tools__btn--danger{color:var(--c-red)}.dict-tools__btn--danger:hover{background:var(--c-red-tint);color:var(--c-red)}.dict-tools__divider{width:1px;height:20px;background:var(--c-border);margin:0 4px}.dict-tools__paste{flex-basis:100%;display:flex;align-items:flex-start;gap:8px}.dict-tools__textarea{flex:1;min-width:0;max-width:640px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text);font-family:inherit;font-size:13px;resize:vertical}.dict-tools__textarea:focus-visible{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px #93c5fd73}.dict-tools__note{flex-basis:100%;margin:0;font-size:13px;color:var(--c-text-secondary)}@media(prefers-reduced-motion:reduce){.dict-tools__btn{transition:none}}.dict-import{flex-basis:100%;min-width:0;padding:16px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-text);font-size:14px}.dict-import h2{margin-top:0;font-size:18px}.dict-import__pair,.dict-import__actions{display:flex;flex-wrap:wrap;gap:12px}.dict-import__pair{border:0;padding:0;margin:0;min-width:0}.dict-import legend{margin-bottom:8px}.dict-import table{width:100%;table-layout:fixed;border-collapse:collapse;margin:12px 0}.dict-import caption{text-align:start;margin-bottom:8px}.dict-import th,.dict-import td{text-align:start;padding:8px;border-bottom:1px solid var(--c-border);overflow-wrap:anywhere}.dict-import p,.dict-import li{overflow-wrap:anywhere}.dict-import:focus-visible{outline:var(--focus-ring);outline-offset:2px}.settings-page{max-width:var(--content-width);margin:0 auto;padding:20px 32px;width:100%;box-sizing:border-box;min-height:100%;display:flex;flex-direction:column}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;width:100%}.settings-header__left{display:flex;align-items:flex-start;gap:12px}.settings-header__icon{width:40px;height:40px;min-width:40px;border-radius:var(--r-control);background:var(--c-blue);display:flex;align-items:center;justify-content:center}.settings-header__text{display:flex;flex-direction:column;gap:2px}.settings-header__title{font-size:28px;font-weight:700;color:var(--c-text);margin:0;line-height:1.1}.settings-header__subtitle{font-size:15px;font-weight:500;color:var(--c-text-secondary);margin:0}.settings-error{background:var(--c-red-tint);border:1px solid #fca5a5;border-radius:var(--r-sm);color:var(--c-red);font-size:14px;padding:10px 14px;margin-bottom:12px;width:100%;box-sizing:border-box}.settings-section{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--shadow-card);margin-bottom:16px;padding:4px 24px 8px;box-sizing:border-box}.settings-section__title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-secondary);margin:16px 0 4px}.setting{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--c-border)}.setting:first-of-type{border-top:none}.setting__body{display:flex;flex-direction:column;gap:2px}.setting__label{font-size:15px;font-weight:500;color:var(--c-text)}.setting__hint{font-size:13px;line-height:1.4;color:var(--c-text-secondary)}.setting__control{display:flex;align-items:center;flex-shrink:0;gap:8px}.setting__control input[type=number]{width:88px;height:var(--target-min);box-sizing:border-box;padding:0 12px;margin:0;border:1px solid var(--c-border);border-radius:var(--r-control);background:var(--c-surface);box-shadow:none;color:var(--c-text);font-family:inherit;font-size:14px;text-align:right;transition:border-color .15s ease}.setting__control input[type=number]:hover{border-color:var(--c-blue)}.setting__control input[type=number]:focus,.setting__control input[type=number]:focus-visible{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px #93c5fd73}.setting__select{display:block;width:150px}.setting__arrow{color:var(--c-text-secondary);font-size:14px}.setting__control--languages{flex-wrap:wrap;justify-content:flex-end}.setting--stack{flex-direction:column;gap:12px}.setting__count{display:inline-flex;align-items:center;background:var(--c-blue-light);border-radius:var(--r-sm);color:var(--c-blue);font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px}.setting--toggle{align-items:flex-start;justify-content:flex-start;cursor:pointer}.setting--toggle input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin:1px 0 0;accent-color:var(--c-blue);cursor:pointer}.setting--toggle:hover .setting__label{color:var(--c-blue)}.setting--danger{background:color-mix(in srgb,var(--c-danger, #dc2626) 8%,var(--c-surface));border:1px solid color-mix(in srgb,var(--c-danger, #dc2626) 30%,var(--c-border));border-radius:var(--r-control);padding:16px;margin-top:8px}.language-grid{display:grid;gap:2px 12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));width:100%}.language-grid__item{display:flex;align-items:center;gap:8px;min-height:var(--target-dense);padding:4px 8px;border-radius:var(--r-sm);font-size:14px;color:var(--c-text);cursor:pointer}.language-grid__item input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin:0;accent-color:var(--c-blue);cursor:pointer}.language-grid__item:hover{background:var(--c-hover)}.language-grid__item--locked{cursor:default;color:var(--c-text-secondary);background:var(--c-subtle)}.language-grid__item--locked input[type=checkbox]{cursor:default;accent-color:var(--c-text-secondary)}.language-grid__item--locked:hover{background:var(--c-subtle)}.pill-row{display:flex;flex-wrap:wrap;gap:8px;width:100%}.pill-toggle{min-width:52px;min-height:var(--target-min);padding:8px 12px;border:1px solid var(--c-border);border-radius:var(--r-control);background:var(--c-surface);color:var(--c-text-secondary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.pill-toggle:hover{background:var(--c-hover);color:var(--c-text)}.pill-toggle:focus-visible{outline:var(--focus-ring);outline-offset:2px}.pill-toggle--on{border-color:var(--c-blue);background:var(--c-blue-tint);color:var(--c-blue)}.pill-toggle--on:hover{background:var(--c-blue-light);color:var(--c-blue)}.account-button{min-height:var(--target-min);padding:8px 16px;border:1px solid var(--c-blue);border-radius:var(--r-control);background:var(--c-blue);color:#fff;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.account-button:hover{background:var(--c-blue-dark, #2563eb);border-color:var(--c-blue-dark, #2563eb)}.account-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.account-button:disabled{opacity:.5;cursor:default}.account-button--secondary{background:var(--c-surface);color:var(--c-text);border-color:var(--c-border)}.account-button--secondary:hover{background:var(--c-hover);border-color:var(--c-border)}.account-button--danger{background:var(--c-surface);color:var(--c-danger, #dc2626);border-color:var(--c-danger, #dc2626)}.account-button--danger:hover{background:color-mix(in srgb,var(--c-danger, #dc2626) 10%,var(--c-surface))}.account-button--danger:disabled{opacity:.5;cursor:default}.account-busy{font-size:14px;color:var(--c-text-secondary);font-style:italic}.settings-footer{margin-top:auto;padding-top:16px;width:100%}.settings-footnote{color:var(--c-text-secondary);font-size:13px;line-height:1.4;margin:0}@media(prefers-reduced-motion:reduce){.setting__control input[type=number],.pill-toggle{transition:none}}@media(max-width:1024px){.settings-page{padding:16px 20px}.settings-header__title{font-size:24px}.settings-header__subtitle{font-size:14px}.settings-section{padding:4px 16px 8px}}@media(max-width:640px){.settings-page{padding:12px}.settings-header{margin-bottom:12px}.settings-header__icon{width:32px;height:32px;min-width:32px;border-radius:var(--r-sm)}.settings-header__icon svg{width:18px;height:18px}.settings-header__title{font-size:20px}.settings-header__subtitle{font-size:13px}.settings-section{border-radius:var(--r-lg)}.setting{flex-direction:column;gap:12px}.setting--toggle{flex-direction:row}.setting__control{width:100%;justify-content:flex-start}.setting__select{flex:1;width:auto}}.train-page{max-width:var(--page-width);margin:0 auto;padding:20px 32px;width:100%;box-sizing:border-box;min-height:100%;display:flex;flex-direction:column}.train-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;max-width:var(--content-width);width:100%;align-self:center}.train-header__left{display:flex;align-items:flex-start;gap:12px}.train-header__icon{width:40px;height:40px;min-width:40px;border-radius:var(--r-control);background:var(--c-blue);display:flex;align-items:center;justify-content:center}.train-header__text{display:flex;flex-direction:column;gap:2px}.train-header__title{font-size:28px;font-weight:700;color:var(--c-text);margin:0;line-height:1.1}.train-header__subtitle{font-size:15px;font-weight:500;color:var(--c-text-secondary);margin:0}.train-header__action{width:var(--target-min);height:var(--target-min);min-width:var(--target-min);padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #94a3b8;border-radius:var(--r-control);background:var(--c-surface);color:var(--c-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.train-header__action:hover{background:var(--c-subtle);color:var(--c-text)}.train-header__action[aria-pressed=true]{color:var(--c-blue);background:var(--c-blue-light);border-color:var(--c-blue-light)}.train-header__action:focus-visible{outline:var(--focus-ring);outline-offset:2px}.train-card{max-width:var(--content-width);width:100%;align-self:center;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-xl);box-shadow:var(--shadow-card);padding:24px 32px;box-sizing:border-box;position:relative;animation:trainCardFadeIn .18s ease}.train-card--centered{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 32px}.train-card__top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.train-card__label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-secondary);margin-bottom:8px}.train-card__word{font-size:42px;font-weight:700;line-height:1.1;color:var(--c-text);margin:0;overflow-wrap:anywhere}.train-card__translation{font-size:28px;font-weight:500;line-height:1.2;color:var(--c-text);margin:0;overflow-wrap:anywhere}.train-card__divider{height:1px;background:var(--c-border);margin:16px 0}.train-card__title{font-size:24px;font-weight:700;color:var(--c-text);margin:0 0 12px}.train-card__line{font-size:15px;line-height:1.4;color:var(--c-text-secondary);margin:0;max-width:420px}.train-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:5px 10px;border-radius:var(--r-sm);background:var(--c-blue-light);color:var(--c-blue);white-space:nowrap}.train-pill--timer{font-variant-numeric:tabular-nums}.train-pill--streak{background:var(--c-green-light);color:var(--c-green)}.train-pill--muted{background:var(--c-hover);color:var(--c-text-secondary);font-weight:500}.train-stats{display:grid;gap:6px 20px;grid-template-columns:auto auto;justify-content:center;margin:16px 0 0;text-align:left}.train-stats dt{color:var(--c-text-secondary);font-size:14px}.train-stats dd{font-size:14px;font-weight:600;color:var(--c-text);margin:0}.train-status{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:40px;text-align:center;font-size:14px;font-weight:500;color:var(--c-text-secondary);margin:16px 0 0;align-self:center;max-width:var(--content-width)}.train-status--correct{color:var(--c-green);font-weight:600}.train-status--wrong{color:var(--c-red);font-weight:600}.train-status__detail{font-size:13px;font-weight:400;color:var(--c-text-secondary)}.train-actions{display:flex;justify-content:center;gap:12px;margin:16px 0 0;max-width:var(--content-width);width:100%;align-self:center}.train-btn{flex:1;max-width:220px;min-height:64px;border-radius:var(--r-md);border:1px solid;background:var(--c-surface);box-shadow:none;cursor:pointer;padding:10px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .15s ease;font-family:inherit}.train-btn__top{display:flex;align-items:center;gap:6px}.train-btn__label{font-size:18px;font-weight:600;color:inherit}.train-btn__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:5px;font-size:11px;font-weight:600;padding:0 4px}.train-btn__subtitle{font-size:12px;font-weight:500;color:var(--c-text-secondary)}.train-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.train-btn:disabled{cursor:not-allowed;background:var(--c-subtle);border-color:var(--c-border);color:var(--c-text-secondary)}.train-btn:disabled .train-btn__badge{background:var(--c-hover);color:var(--c-text-secondary)}.train-btn--yes{border-color:#94a3b8;color:var(--c-green)}.train-btn--yes .train-btn__badge{background:var(--c-green-light);color:var(--c-green)}.train-btn--yes:hover:enabled{background:var(--c-green-tint);transform:scale(1.02)}.train-btn--no{border-color:#94a3b8;color:var(--c-red)}.train-btn--no .train-btn__badge{background:var(--c-red-light);color:var(--c-red)}.train-btn--no:hover:enabled{background:var(--c-red-tint);transform:scale(1.02)}.train-btn--neutral{border-color:#94a3b8;color:var(--c-text);max-width:280px}.train-btn--neutral .train-btn__badge{background:var(--c-hover);color:var(--c-text-secondary)}.train-btn--neutral:hover:enabled{background:var(--c-subtle);transform:scale(1.02)}.train-results{max-height:44vh;overflow-y:auto;margin-top:8px}.train-table{width:100%;border-collapse:collapse;font-size:14px;color:var(--c-text)}.train-table th{position:sticky;top:0;background:var(--c-surface);text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-secondary);padding:0 8px 8px 0;border-bottom:1px solid var(--c-border)}.train-table td{padding:8px 8px 8px 0;border-bottom:1px solid var(--c-border);overflow-wrap:anywhere}.train-table tr:last-child td{border-bottom:none}.train-table__verdict,.train-table__action{width:1%;white-space:nowrap;padding-right:0}.train-table__action{text-align:right}.train-verdict{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:18px;height:22px;padding:0 6px;border-radius:var(--r-sm);font-size:12px;font-weight:600}.train-verdict--ok{background:var(--c-green-light);color:var(--c-green)}.train-verdict--no{background:var(--c-red-light);color:var(--c-red)}.train-icon-btn{width:var(--target-min);height:var(--target-min);padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-border);border-radius:var(--r-control);background:var(--c-surface);box-shadow:none;color:var(--c-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.train-icon-btn:hover{background:var(--c-subtle);color:var(--c-red)}.train-icon-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.train-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.train-footer .page-footer__actions{margin-left:auto}.train-footer{margin-top:auto;padding-top:16px;max-width:var(--content-width);width:100%;align-self:center}.train-footer__hint{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;min-width:168px;font-size:14px;color:var(--c-text-secondary)}.train-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:20px;padding:0 5px;border-radius:5px;background:var(--c-hover);color:var(--c-text-secondary);font-family:inherit;font-size:11px;font-weight:600}@keyframes trainCardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.train-card{animation:none}.train-btn,.train-icon-btn{transition:none}.train-btn:hover:enabled{transform:none}}@media(max-width:1024px){.train-page{padding:16px 20px}.train-card{padding:20px 24px}.train-card__word{font-size:36px}.train-card__translation,.train-header__title{font-size:24px}.train-header__subtitle{font-size:14px}}@media(max-width:640px){.train-page{padding:12px}.train-header{flex-wrap:wrap;gap:8px;margin-bottom:12px}.train-header__icon{width:32px;height:32px;min-width:32px;border-radius:var(--r-sm)}.train-header__icon svg{width:18px;height:18px}.train-header__title{font-size:20px}.train-header__subtitle{font-size:13px}.train-card{padding:16px;border-radius:var(--r-lg)}.train-card--centered{padding:24px 16px}.train-card__word{font-size:28px}.train-card__translation{font-size:20px}.train-card__divider{margin:12px 0}.train-card__label{font-size:11px;margin-bottom:6px}.train-card__top{margin-bottom:8px}.train-actions{flex-direction:column;align-items:stretch;gap:8px}.train-btn{max-width:none;min-height:56px}.train-btn--neutral{max-width:none}.train-btn__label{font-size:15px}.train-btn__subtitle{font-size:11px}.train-footer{padding-top:12px}.train-footer__hint{font-size:12px}}.practice-classic-play>.practice-progress{max-width:var(--content-width);align-self:center;flex-shrink:0;margin-bottom:16px}.practice-classic-play .train-card{border-top:3px solid var(--game-accent, #1d4ed8)}.practice-classic-play .train-btn:hover:not(:disabled){border-color:var(--game-accent, #1d4ed8);box-shadow:inset 0 0 0 1px var(--game-accent, #1d4ed8)}.practice-classic-play[data-feedback=correct] .train-card{border-color:#15803d;background:#edf8f0;animation:practice-success-pulse .42s ease-out}.practice-classic-play[data-feedback=wrong] .train-card{border-color:#c2413b;background:#fff0eb}@media(prefers-reduced-motion:reduce){.practice-classic-play[data-feedback=correct] .train-card{animation:none}}.practice-progress{width:100%;color:var(--c-text-secondary)}.practice-progress .practice-progress-track{height:5px;border-radius:8px;overflow:hidden;background:var(--game-tint, #eff6ff)}.practice-progress .practice-progress-track>span{display:block;height:100%;background:var(--game-accent, #1d4ed8);transition:width .18s linear}.practice-progress[data-urgent=true] .practice-progress-track>span{background:#b45309}.practice-progress small{display:block;margin-top:6px}@keyframes practice-success-pulse{50%{box-shadow:0 0 0 4px #15803d1f}}@keyframes practice-tile-enter{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes practice-card-flip{0%{transform:perspective(600px) rotateY(85deg)}to{transform:perspective(600px) rotateY(0)}}@media(prefers-reduced-motion:reduce){.practice-progress .practice-progress-track>span{transition:none}}[data-practice-game=classic]{--game-accent: #1d4ed8;--game-tint: #eff6ff}[data-practice-game=match-pairs]{--game-accent: #0f766e;--game-tint: #e6f6f2}[data-practice-game=multiple-choice]{--game-accent: #7c3aed;--game-tint: #f3edff}[data-practice-game=typed-recall]{--game-accent: #b45309;--game-tint: #fff5db}[data-practice-game=phrase-builder]{--game-accent: #4338ca;--game-tint: #eef0ff}[data-practice-game=anagram]{--game-accent: #c2413b;--game-tint: #fff0eb}[data-practice-game=memory]{--game-accent: #be185d;--game-tint: #fcecf3}.practice-game-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px;color:var(--game-accent);background:var(--game-tint);border-radius:16px}.practice-game-icon svg{width:38px;height:38px}.practice-games .practice-game-actions button.practice-help-trigger{display:block;padding:0;min-height:24px;border:0;background:transparent;color:var(--game-accent);font-size:14px;text-decoration:underline;text-underline-offset:3px}.practice-help-panel{position:fixed;z-index:100;width:min(360px,100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;box-sizing:border-box;padding:20px;border:1px solid var(--game-accent);border-radius:16px;background:var(--c-surface, white);color:var(--c-text, #172033);box-shadow:0 12px 40px #0000002e;font:inherit}.practice-help-panel .practice-help-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-help-panel h2{margin:0;font-size:18px}.practice-help-panel p{margin:12px 0 0;line-height:1.6}.practice-help-panel button{flex-shrink:0;width:40px;height:40px;border:0;border-radius:8px;background:var(--game-tint);color:var(--game-accent);cursor:pointer}.practice-help-panel button:focus-visible{outline:2px solid var(--game-accent);outline-offset:2px}.practice-carousel{min-width:0}.practice-carousel-controls{display:none}@media(max-width:640px){.practice-carousel-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.practice-carousel-controls>.dropdown{flex:1;min-width:160px}.practice-carousel-navigation{display:flex;align-items:center;gap:12px;white-space:nowrap}.practice-carousel-navigation button{min-width:44px;min-height:44px}.practice-carousel-navigation span{color:var(--c-text-secondary);font-size:14px}.practice-carousel .practice-catalog{display:flex;align-items:flex-start;gap:40px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 18px 16px;scrollbar-width:none}.practice-carousel .practice-catalog::-webkit-scrollbar{display:none}.practice-carousel .practice-catalog{overscroll-behavior-x:contain}.practice-carousel .practice-catalog>.practice-game-shell{flex:0 0 100%;min-width:0;scroll-snap-align:center;scroll-snap-stop:always}}.practice-games{color:var(--c-text);gap:20px}.practice-games button:not(.dropdown__trigger){font:inherit;color:inherit;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-control);padding:12px 16px;min-height:44px}.practice-games button{cursor:pointer}.practice-games button:not(.dropdown__trigger):hover:not(:disabled){border-color:var(--c-blue);background:var(--c-blue-tint)}.practice-games button:not(.dropdown__trigger):focus-visible,.practice-games input:focus-visible{outline:var(--focus-ring);outline-offset:3px}.practice-games button:disabled{cursor:default;opacity:.65}.practice-games button[aria-pressed=true]{border-color:var(--c-blue);background:var(--c-blue-light);box-shadow:inset 0 0 0 1px var(--c-blue)}.practice-games h1{margin:4px 0 8px;font-size:30px}.practice-games h2{font-size:20px;margin:8px 0 12px}.practice-games p{line-height:1.6;margin:0}.practice-games small{line-height:1.5}.practice-games .practice-primary{background:var(--game-accent, var(--c-blue));color:#fff;margin-top:16px}.practice-games .practice-primary:hover:not(:disabled){background:var(--game-accent, var(--c-blue))}.practice-top,.practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.practice-eyebrow{color:var(--c-text-secondary);font-size:11px;font-weight:700;letter-spacing:.12em}.practice-settings{display:flex;flex-wrap:wrap;gap:16px;padding:20px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.practice-settings .practice-setting,.practice-settings .practice-confirm{flex:1;display:flex;flex-direction:column;gap:8px;min-width:240px}.practice-settings .practice-confirm{flex:0 0 100%;flex-direction:row;align-items:flex-start;font-size:13px}.practice-settings input{margin-top:3px}.practice-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.practice-games .practice-game{text-align:left;padding:24px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:8px;min-width:0}.practice-games .practice-game p{flex:1}.practice-game-heading{display:flex;align-items:center;gap:16px;min-width:0}.practice-game-heading>div{min-width:0}.practice-instructions .practice-game-heading{margin-bottom:16px}.practice-game-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-bottom:8px}.practice-game-selected{color:var(--game-accent);background:var(--game-tint);border-radius:20px;padding:5px 9px;font-size:12px;font-weight:600}.practice-games .practice-game{border-top:3px solid var(--game-tint)}.practice-games .practice-game .practice-eyebrow{color:var(--game-accent)}.practice-games .practice-game:hover:not(:disabled){border-color:var(--game-accent);background:var(--c-surface);box-shadow:0 4px 16px #0000000f}.practice-games .practice-game[aria-pressed=true]{border-color:var(--game-accent);background:var(--c-surface);box-shadow:inset 0 0 0 1px var(--game-accent)}.practice-games .practice-game:focus-visible{outline-color:var(--game-accent)}.practice-games .practice-game:disabled{opacity:1;background:var(--c-subtle);color:var(--c-text-secondary);border-style:dashed}.practice-games .practice-game:disabled .practice-game-icon{opacity:.6}.practice-games[data-practice-game] .practice-play button[aria-pressed=true]{border-color:var(--game-accent);background:var(--game-tint);box-shadow:inset 0 0 0 1px var(--game-accent)}.practice-planned{background:var(--c-subtle);border:1px dashed var(--c-border);color:var(--c-text-secondary)}.practice-future summary{cursor:pointer;padding:12px 0}.practice-future .practice-game{padding:16px}.practice-future h2{font-size:16px;margin:0}.practice-instructions,.practice-play,.practice-results{padding:28px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--shadow-card)}.practice-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.practice-options button{text-align:left;display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}.practice-options small{color:var(--c-text-secondary)}.practice-pairs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.practice-pairs>div{display:flex;flex-direction:column;gap:12px}.practice-pairs button{min-height:64px;overflow-wrap:anywhere}.practice-pairs .practice-matched{visibility:hidden}.practice-feedback{min-height:28px;padding:16px 0}.practice-results .practice-toolbar{margin:20px 0;justify-content:flex-start}.practice-results ul{list-style:none;padding:0}.practice-results li{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--c-border);overflow-wrap:anywhere}.practice-results .practice-results-with-save li{grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr)}.practice-results li>button{justify-self:end}.practice-results li>.practice-save{justify-self:center;width:100%;align-items:center;text-align:center;min-width:0}@media(max-width:760px){.practice-results li,.practice-results .practice-results-with-save li{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.practice-results li>div:first-child{grid-column:1/-1}}@media(max-width:480px){.practice-results li,.practice-results .practice-results-with-save li{grid-template-columns:minmax(0,1fr)}.practice-results li>button{justify-self:center}}.practice-classic-shell{min-height:100%;display:flex;flex-direction:column}.practice-classic-shell>.train-page{flex:1;min-height:0}.practice-classic-shell>.practice-return,.practice-classic-shell>.practice-source-label{width:100%}.practice-return{max-width:1056px;margin:20px auto 0;padding:0 32px}.practice-return button{padding:10px 16px;border-radius:var(--r-control);background:var(--c-surface);border:1px solid var(--c-border);cursor:pointer}@media(max-width:760px){.practice-catalog{grid-template-columns:1fr 1fr}}@media(max-width:480px){.practice-games{padding:16px}.practice-catalog,.practice-options{grid-template-columns:1fr}.practice-instructions,.practice-play,.practice-results{padding:16px}}.practice-recall{display:grid;gap:16px}.practice-recall label{display:grid;gap:10px}.practice-recall input{width:100%;box-sizing:border-box;font:inherit;padding:14px;border:1px solid var(--c-border);border-radius:var(--r-control)}.practice-recall .practice-primary{justify-self:start;margin:0}.practice-picker,.practice-source-note{padding:20px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg)}.practice-picker summary,.practice-source-note summary{cursor:pointer;font-weight:600}.practice-picker>label,.practice-source-note>label{display:grid;gap:8px;margin:16px 0}.practice-picker input[type=search],.practice-source-note input[type=search]{width:100%;box-sizing:border-box;padding:12px;font:inherit;border:1px solid var(--c-border);border-radius:var(--r-control)}.practice-picker .practice-toolbar,.practice-source-note .practice-toolbar{margin:12px 0;justify-content:flex-start}.practice-entry-list{max-height:320px;overflow-y:auto;margin:16px 0}.practice-entry-list label{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--c-border);overflow-wrap:anywhere}.practice-entry-list input{flex:0 0 auto;margin-top:4px}.practice-entry-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--c-border)}.practice-entry-list .practice-entry-row label{flex:1;border-bottom:0}.practice-save{display:grid;gap:6px;min-width:140px;max-width:260px}.practice-save button{min-height:40px;padding:10px 12px;border:1px solid var(--c-border);border-radius:var(--r-control);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer;white-space:normal}.practice-save button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.practice-save button:disabled{cursor:default;color:var(--c-text-secondary)}.practice-save [role=status]{white-space:normal;font-size:12px;line-height:1.5}.practice-save [role=status]:empty{display:none}@media(max-width:600px){.practice-entry-row{flex-wrap:wrap;padding-bottom:12px;gap:4px}.practice-entry-row label{flex-basis:100%}}.practice-source-label{max-width:1056px;margin:12px auto;padding:0 32px}.practice-tiles,.practice-tile-answer{display:flex;flex-wrap:wrap;gap:8px}.practice-tiles button,.practice-tile-answer button{overflow-wrap:anywhere;max-width:100%}.practice-tile-answer{border:1px dashed var(--c-border);border-radius:var(--r-control);padding:16px;min-height:64px;align-items:center}.practice-memory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.practice-memory button{min-height:120px;display:flex;flex-direction:column;justify-content:center;gap:8px;overflow-wrap:anywhere}.practice-memory small{color:var(--c-text-secondary)}.practice-memory .practice-memory-matched{background:var(--c-green-tint)}@media(max-width:600px){.practice-memory{grid-template-columns:repeat(2,minmax(0,1fr))}}.practice-games .practice-play{border-top:3px solid var(--game-accent)}.practice-games .practice-play button:hover:not(:disabled){border-color:var(--game-accent);background:var(--game-tint)}.practice-games .practice-play button:focus-visible,.practice-games .practice-play input:focus-visible{outline-color:var(--game-accent)}.practice-games .practice-play button[aria-pressed=true],.practice-games .practice-play .practice-memory button[data-open=true]{border-color:var(--game-accent);box-shadow:inset 0 0 0 1px var(--game-accent);background:var(--game-tint)}.practice-games .practice-play button[data-answer-state=correct]{background:#edf8f0;border-color:#15803d;color:#166534;opacity:1}.practice-games .practice-play button[data-answer-state=wrong]{background:#fff0eb;border-color:#c2413b;color:#9f302b;opacity:1}.practice-games .practice-play .practice-memory button.practice-memory-matched{opacity:.75}.practice-games .practice-play .practice-memory-face{display:block;animation:practice-card-flip .24s ease-out}.practice-games .practice-play .practice-tile-answer{border:2px dashed var(--game-accent);background:var(--game-tint);border-radius:12px;padding:16px;min-height:64px}.practice-games .practice-play .practice-tile-answer button{animation:practice-tile-enter .18s ease-out;border-color:var(--game-accent)}.practice-games .practice-play[data-feedback=correct] .practice-tile-answer,.practice-games .practice-play[data-feedback=correct] .practice-recall input{border-color:#15803d;background:#edf8f0}.practice-games .practice-play[data-feedback=wrong] .practice-tile-answer,.practice-games .practice-play[data-feedback=wrong] .practice-recall input{border-color:#c2413b;background:#fff0eb}.practice-games .practice-play .practice-feedback[data-feedback=correct],.practice-games .practice-play .practice-feedback[data-feedback=wrong]{padding:12px 16px;margin:16px 0;border-radius:10px}.practice-games .practice-play .practice-feedback[data-feedback=correct]{color:#166534;background:#edf8f0;animation:practice-success-pulse .42s ease-out}.practice-games .practice-play .practice-feedback[data-feedback=wrong]{color:#9f302b;background:#fff0eb}@media(prefers-reduced-motion:reduce){.practice-games .practice-play .practice-memory-face,.practice-games .practice-play .practice-tile-answer button,.practice-games .practice-play .practice-feedback{animation:none;transition:none}}.practice-games .practice-play .practice-memory button{min-height:120px}.practice-games .practice-play .practice-memory button[data-open=true]{animation:practice-card-flip .24s ease-out;opacity:1}.practice-games .practice-play .practice-memory button[data-answer-state=correct]{background:#edf8f0;border-color:#15803d;box-shadow:inset 0 0 0 1px #15803d}.practice-games .practice-play .practice-memory button[data-answer-state=wrong],.practice-games .practice-play[data-feedback=wrong] .practice-pairs button[aria-pressed=true]{background:#fff0eb;border-color:#c2413b;box-shadow:inset 0 0 0 1px #c2413b;color:#9f302b}.practice-games .practice-play .practice-memory button.practice-memory-matched{opacity:.8}.practice-games .practice-play .practice-memory-face{animation:none}.practice-games .practice-play .practice-options button[data-answer-state=correct]{animation:practice-success-pulse .42s ease-out}@media(prefers-reduced-motion:reduce){.practice-games .practice-play .practice-memory button[data-open=true],.practice-games .practice-play .practice-options button[data-answer-state=correct]{animation:none}}.practice-game-shell{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--c-border);border-top:3px solid var(--game-tint);border-radius:var(--r-lg);background:var(--c-surface);overflow:hidden}.practice-game-shell:has(.practice-game[aria-pressed=true]){border-color:var(--game-accent);box-shadow:inset 0 0 0 1px var(--game-accent)}.practice-game-shell .practice-game{width:100%;flex:1;border:0;border-radius:0}.practice-game-shell .practice-game[aria-pressed=true]{box-shadow:none}.practice-game-actions{position:relative;z-index:1;padding:0 24px 24px}.practice-game-actions .practice-primary{width:100%;margin:0 0 12px}.practice-game-actions summary{cursor:pointer;color:var(--game-accent);font-size:14px}.practice-game-actions details p{margin-top:8px;font-size:14px}.practice-games .practice-game-shell button.practice-game:after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}.practice-games .practice-game-shell button.practice-game{border:0;border-radius:0;box-shadow:none;background:transparent}.practice-games .practice-game-shell button.practice-game:hover:not(:disabled){background:transparent;box-shadow:none}.practice-games .practice-game-shell button.practice-game:focus-visible{outline:none}.practice-game-shell:hover:has(.practice-game:not(:disabled)){background:var(--game-tint);border-color:var(--game-accent)}.practice-game-shell:has(.practice-game:focus-visible){outline:2px solid var(--game-accent);outline-offset:3px}.practice-games .practice-game-actions button.practice-primary{background:var(--game-accent);border-color:var(--game-accent);color:#fff}.practice-games .practice-game-actions button.practice-primary:hover:not(:disabled){background:var(--game-tint);border-color:var(--game-accent);color:var(--game-accent)}.practice-game-actions,.practice-game-actions-placeholder{box-sizing:border-box;min-height:112px;flex-shrink:0}.practice-settings .practice-direction-note{flex-basis:100%;font-size:13px;color:var(--c-text-secondary)}.practice-games .practice-results li>.practice-save{width:auto;min-width:0;gap:0}.practice-games .practice-results li>.practice-save button,.practice-games .practice-results li>button{min-height:36px;padding:6px 10px;font-size:13px;line-height:1.4;border-color:transparent;background:transparent;color:var(--c-blue)}.practice-games .practice-results li>.practice-save button:hover:not(:disabled),.practice-games .practice-results li>button:hover:not(:disabled){border-color:var(--c-border);background:var(--c-blue-tint);color:var(--c-blue)}.practice-games .practice-results li>.practice-save button:disabled,.practice-games .practice-results li>button:disabled{color:var(--c-text-secondary);opacity:1}.practice-games .practice-results .practice-save [role=status]:empty{display:none}@media(pointer:coarse){.practice-games .practice-results li>.practice-save button,.practice-games .practice-results li>button{min-height:44px}}.practice-games .practice-play .practice-question{padding:24px;margin-bottom:24px;border-radius:14px;background:var(--game-tint);border-left:4px solid var(--game-accent)}.practice-games .practice-play .practice-question .practice-question-label{font-size:13px;font-weight:600;color:var(--game-accent)}.practice-games .practice-play .practice-question h2{font-size:clamp(28px,3vw,40px);line-height:1.3;margin:12px 0 16px;overflow-wrap:anywhere}.practice-games .practice-play .practice-question .practice-question-instruction{font-size:16px;color:var(--c-text)}@media(max-width:480px){.practice-games .practice-play .practice-question{padding:18px}}.practice-games .practice-play .practice-recall button.practice-primary{justify-self:center;min-width:min(220px,100%);max-width:100%;min-height:48px;padding:12px 28px;margin-top:8px;background:var(--game-accent);border-color:var(--game-accent);color:#fff;font-size:16px;font-weight:600}.practice-games .practice-play .practice-recall button.practice-primary:hover:not(:disabled){background:var(--game-tint);border-color:var(--game-accent);color:var(--game-accent)}.practice-games .practice-play .practice-recall button.practice-primary:disabled{background:var(--game-tint);color:var(--c-text-secondary);border-color:var(--c-border);opacity:1}.practice-games .practice-play .practice-memory button[data-language-side=original]{--memory-side-color: #9d174d;--memory-side-tint: #fcecf3;border-top:4px solid var(--memory-side-color)}.practice-games .practice-play .practice-memory button[data-language-side=translation]{--memory-side-color: #0f766e;--memory-side-tint: #e6f6f2;border-top:4px dashed var(--memory-side-color)}.practice-games .practice-play .practice-memory button[data-language-side]:not([data-answer-state]){background:var(--memory-side-tint)}.practice-games .practice-play .practice-memory button[data-language-side]:hover:not(:disabled),.practice-games .practice-play .practice-memory button[data-language-side][data-open=true]:not([data-answer-state]){border-color:var(--memory-side-color);box-shadow:inset 0 0 0 1px var(--memory-side-color);background:var(--memory-side-tint)}.practice-games .practice-play .practice-memory .practice-memory-side{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;background:#fff;color:var(--memory-side-color);font-size:13px;font-weight:600}.practice-games .practice-play .practice-memory button[data-language-side]:disabled:not(.practice-memory-matched){opacity:1}:root{--c-bg: #f7f8fa;--c-surface: #ffffff;--c-border: #e5e7eb;--c-text: #111827;--c-text-secondary: #6b7280;--c-blue: #2563eb;--c-blue-light: #eef2ff;--c-blue-tint: #eff6ff;--c-green: #16a34a;--c-green-light: #dcfce7;--c-green-tint: #f0fdf4;--c-red: #dc2626;--c-red-light: #fee2e2;--c-red-tint: #fef2f2;--c-hover: #f3f4f6;--c-subtle: #f9fafb;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-control: 10px;--shadow-card: 0 4px 24px rgb(0 0 0 / 5%);--focus-ring: 2px solid var(--c-blue);--target-min: 40px;--target-dense: 32px;--page-width: 1120px;--content-width: 720px}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background-color:var(--c-bg)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}.mode-row{display:flex;align-items:center;gap:8px;max-width:var(--content-width);width:100%;align-self:center}.mode-toggle{min-height:var(--target-dense);padding:6px 12px;border:1px solid var(--c-border);border-radius:var(--r-control);background:var(--c-surface);color:var(--c-text-secondary);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.mode-toggle:hover{background:var(--c-hover);color:var(--c-text)}.mode-toggle:focus-visible{outline:var(--focus-ring);outline-offset:2px}.mode-toggle--on{border-color:var(--c-blue);background:var(--c-blue-tint);color:var(--c-blue)}.mode-toggle--on:hover{background:var(--c-blue-light);color:var(--c-blue)}.mode-row__hint{margin:0;font-size:12px;color:var(--c-text-secondary)}body[data-page] [hidden]{display:none!important}.web-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px}.web-nav a,.web-nav button{padding:12px 16px;border-radius:var(--r-md);color:var(--c-text);background:var(--c-surface);text-decoration:none;font-weight:500;border:0;font-family:inherit;cursor:pointer}.web-nav a[aria-current=page]{background:var(--c-blue);color:#fff}.web-nav a:focus-visible{outline:2px solid var(--c-blue);outline-offset:3px}.web-local-notice{max-width:720px;margin:0 auto;padding:8px 16px;background:var(--c-surface);color:var(--c-text-secondary);font-size:13px;text-align:center}.web-account{max-width:720px;margin:20px auto;padding:24px;border-radius:var(--r-md);background:var(--c-surface);color:var(--c-text);overflow-wrap:anywhere}.web-account h2{margin:0 0 12px}.web-account p{margin:12px 0;line-height:1.5}.web-account__actions{display:flex;flex-wrap:wrap;gap:12px}.web-account button,.web-account a{display:inline-block;padding:12px 16px;border:1px solid var(--c-blue);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-blue);font:inherit;text-decoration:none;cursor:pointer}.web-account button:disabled{opacity:.6;cursor:wait}.web-account button:focus-visible,.web-account a:focus-visible{outline:2px solid var(--c-blue);outline-offset:3px}.web-account label{display:block;margin:12px 0}.web-account fieldset{border:0;padding:0;margin:12px 0;min-width:0}.web-account input,.web-account textarea{display:block;width:100%;box-sizing:border-box;padding:10px;margin-top:4px;font:inherit}.web-account .account-word-list{list-style:none;padding:0}.web-account .account-word-list li{padding:12px 0;border-bottom:1px solid #dce1eb}@media(max-width:480px){body[data-page=dictionary] .dict-table{table-layout:fixed}body[data-page=dictionary] .dict-table th,body[data-page=dictionary] .dict-table td{white-space:normal}body[data-page=dictionary] .dict-table .dict-table__actions{width:auto}body[data-page=dictionary] .dict-table .dict-sort{max-width:100%;flex-wrap:wrap;text-align:left;overflow-wrap:anywhere}body[data-page=dictionary] .dict-table .dict-table__actions>button{margin:2px}body[data-page=dictionary] .dict-table .dict-input{min-width:0;width:100%}input,select,textarea{font-size:16px}}
