:root{--ds-background:#f6f5f2;--ds-surface:#fff;--ds-surface-elevated:#fff;--ds-surface-muted:#f5f5f4;--ds-surface-sunken:#f0efed;--ds-primary:#0f766e;--ds-primary-hover:#115e59;--ds-primary-dark:#134e4a;--ds-primary-muted:#e6f4f2;--ds-primary-border:#99d5cd;--ds-primary-bright:#5eead4;--ds-primary-pale:#ccfbf1;--ds-primary-strong:#0f766e;--ds-primary-strong-hover:#115e59;--ds-border-subtle:#e7e5e4;--ds-border-faint:#f0eeeb;--ds-status-new:#2563eb;--ds-status-new-text:#1d4ed8;--ds-status-new-muted:#eff4ff;--ds-status-learning:#b45309;--ds-status-learning-text:#92400e;--ds-status-learning-muted:#fef3e2;--ds-status-new-border:#bfd3fe;--ds-status-learning-border:#f3c88a;--ds-status-learned:#0f766e;--ds-status-learned-muted:#e6f4f2;--ds-on-primary:#fff;--ds-text:#1c1917;--ds-text-secondary:#44403c;--ds-text-muted:#57534e;--ds-text-subtle:#78716c;--ds-text-disabled:#a8a29e;--ds-border:#d6d3d1;--ds-border-strong:#a8a29e;--ds-border-focus:#0f766e;--ds-error:#b91c1c;--ds-error-hover:#991b1b;--ds-error-text:#7f1d1d;--ds-error-muted:#fef2f2;--ds-error-border:#fecaca;--ds-warning:#ca8a04;--ds-warning-muted:#fefce8;--ds-warning-border:#fde68a;--ds-warning-text:#854d0e;--ds-inverse:#1c1917;--ds-on-inverse:#fff;--ds-heat-0:#eeece8;--ds-heat-1:#cdebe6;--ds-heat-2:#99d5cd;--ds-heat-3:#3ba597;--ds-heat-4:#0f766e;--ds-accent-purple:#7c3aed;--ds-accent-pink:#be185d;--ds-accent-purple-muted:#f3eeff;--ds-accent-pink-muted:#fdeef5;--ds-accent-cyan:#0e7490;--ds-accent-cyan-muted:#e6f6f9;--ds-accent-indigo:#4338ca;--ds-accent-indigo-muted:#eef0ff;--ds-accent-gold:#a16207;--ds-accent-gold-muted:#fef7e0;--ds-radius-xs:6px;--ds-radius-sm:8px;--ds-radius-control:10px;--ds-radius-md:12px;--ds-radius-lg:16px;--ds-radius-full:9999px;--ds-control-h:44px;--ds-control-h-sm:36px;--ds-shadow-sm:0 1px 2px #00000014;--ds-shadow-md:0 6px 20px #1c19171a;--ds-shadow-lg:0 16px 40px #1c191729;--ds-motion-fast:160ms;--ds-motion-normal:240ms;--ds-motion-slow:360ms;--ds-easing:cubic-bezier(0.33,1,0.68,1)}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f5f2;background:var(--ds-background);background-attachment:fixed;color:#1c1917;color:var(--ds-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.55;min-height:100vh;overflow-x:hidden}body,body>*{position:relative}body>*{opacity:1!important;z-index:1}#root,#root>*,.App{background:#0000;opacity:1!important}.card,.words-table,.words-table tbody td,.words-table tbody tr,.words-table-wrapper{background:#fff!important;background:var(--ds-surface)!important;opacity:1!important}code{font-family:JetBrains Mono,ui-monospace,monospace}.container{margin:0 auto;max-width:1200px;padding:24px}.button{background:#0f766e;background:var(--ds-primary);border:none;border-radius:9999px;border-radius:var(--ds-radius-full);color:#fff;color:var(--ds-on-primary);cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.02em;min-height:48px;overflow:hidden;padding:14px 28px;position:relative;transition:background-color .16s cubic-bezier(.33,1,.68,1),transform .16s cubic-bezier(.33,1,.68,1),box-shadow .16s cubic-bezier(.33,1,.68,1);transition:background-color var(--ds-motion-fast) var(--ds-easing),transform var(--ds-motion-fast) var(--ds-easing),box-shadow var(--ds-motion-fast) var(--ds-easing)}.button:before{background:#fff;background:var(--ds-on-primary);border-radius:inherit;content:"";inset:0;opacity:0;position:absolute;transition:opacity .16s cubic-bezier(.33,1,.68,1);transition:opacity var(--ds-motion-fast) var(--ds-easing)}.button:hover{background:#115e59;background:var(--ds-primary-hover);box-shadow:0 6px 20px #1c19171a;box-shadow:var(--ds-shadow-md);transform:scale(1.02)}.button:hover:before{opacity:.1}.button:active{transform:scale(.98)}.button:active:before{opacity:.15}.button-primary{background:#0f766e;background:var(--ds-primary);color:#fff;color:var(--ds-on-primary)}.button-primary:hover{background:#115e59;background:var(--ds-primary-hover)}.button-sm{font-size:14px;min-height:40px;padding:10px 20px}.button:not(.button-primary):not(.button-danger){background:#fff;background:var(--ds-surface);border:1.5px solid #d6d3d1;border:1.5px solid var(--ds-border);color:#1c1917;color:var(--ds-text)}.button:not(.button-primary):not(.button-danger):hover{background:#fff;background:var(--ds-surface-elevated);border-color:#57534e;border-color:var(--ds-text-muted);box-shadow:0 1px 2px #00000014;box-shadow:var(--ds-shadow-sm)}.button-danger{background:#b91c1c;background:var(--ds-error);color:#fff}.button-danger:hover{background:#991b1b;box-shadow:0 4px 14px #b91c1c40}.input{background:#fff;background:var(--ds-surface);border:1.5px solid #d6d3d1;border:1.5px solid var(--ds-border);border-radius:12px;border-radius:var(--ds-radius-md);box-sizing:border-box;color:#1c1917;color:var(--ds-text);font-size:15px;font-weight:500;margin-bottom:0;min-height:50px;padding:14px 18px;transition:border-color .16s cubic-bezier(.33,1,.68,1),box-shadow .16s cubic-bezier(.33,1,.68,1),background-color .16s cubic-bezier(.33,1,.68,1);transition:border-color var(--ds-motion-fast) var(--ds-easing),box-shadow var(--ds-motion-fast) var(--ds-easing),background-color var(--ds-motion-fast) var(--ds-easing);width:100%}.input:hover{background:#fff;background:var(--ds-surface-elevated);border-color:#57534e;border-color:var(--ds-text-muted)}.input:focus{border-color:#0f766e;border-color:var(--ds-border-focus);box-shadow:0 0 0 3px #e6f4f2;box-shadow:0 0 0 3px var(--ds-primary-muted);outline:none}.input::placeholder{color:#57534e;color:var(--ds-text-muted);opacity:.9}.input.input-sm{border-radius:8px;border-radius:var(--ds-radius-sm);font-size:14px;min-height:42px;padding:10px 14px}.label{color:#57534e;color:var(--ds-text-muted);display:block;font-size:13px;font-weight:600;letter-spacing:.01em;margin-bottom:8px}.card{background:#fff;background:var(--ds-surface);border:1px solid #d6d3d1;border:1px solid var(--ds-border);border-radius:16px;border-radius:var(--ds-radius-lg);box-shadow:0 6px 20px #1c19171a;box-shadow:var(--ds-shadow-md);margin-bottom:24px;overflow:hidden;padding:28px;position:relative;transition:box-shadow .24s cubic-bezier(.33,1,.68,1),transform .24s cubic-bezier(.33,1,.68,1),border-color .16s cubic-bezier(.33,1,.68,1);transition:box-shadow var(--ds-motion-normal) var(--ds-easing),transform var(--ds-motion-normal) var(--ds-easing),border-color var(--ds-motion-fast) var(--ds-easing)}.card:before{display:none}.card:hover{border-color:#0d948833;box-shadow:0 16px 40px #1c191729;box-shadow:var(--ds-shadow-lg);transform:translateY(-2px)}@media (max-width:430px){body{-webkit-text-size-adjust:100%}.button,body{font-size:16px}.button{min-height:48px;padding:14px 24px}.input{font-size:16px;min-height:50px;padding:14px 16px}.card{border-radius:12px;border-radius:var(--ds-radius-md);margin-bottom:20px;padding:20px}}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.ui-icon{flex:none}.ui-btn{align-items:center;border:1px solid #0000;border-radius:var(--ds-radius-control);box-sizing:border-box;cursor:pointer;display:inline-flex;font:inherit;font-size:15px;font-weight:600;gap:8px;height:var(--ds-control-h);justify-content:center;line-height:1;padding:0 18px;text-decoration:none;transition:background-color var(--ds-motion-fast) var(--ds-easing),border-color var(--ds-motion-fast) var(--ds-easing),color var(--ds-motion-fast) var(--ds-easing);white-space:nowrap}.ui-btn:focus-visible,.ui-chip:focus-visible,.ui-icon-btn:focus-visible,.ui-menu-item:focus-visible,.ui-segmented button:focus-visible,.ui-tab:focus-visible,.ui-toggle-group button:focus-visible{outline:2px solid var(--ds-border-focus);outline-offset:2px}.ui-btn-sm{border-radius:var(--ds-radius-sm);font-size:14px;gap:6px;height:var(--ds-control-h-sm);padding:0 14px}.ui-btn-lg{font-size:16px;height:48px;padding:0 24px}.ui-btn-block{width:100%}.ui-btn-primary{background:var(--ds-primary);color:var(--ds-on-primary)}.ui-btn-primary:hover{background:var(--ds-primary-hover);color:var(--ds-on-primary)}.ui-btn-secondary{background:var(--ds-surface);border-color:var(--ds-border);color:var(--ds-text)}.ui-btn-secondary:hover{background:var(--ds-surface-muted);color:var(--ds-text)}.ui-btn-soft{background:var(--ds-primary-muted);color:var(--ds-primary)}.ui-btn-soft:hover{background:var(--ds-primary-border);color:var(--ds-primary-dark)}.ui-btn-ghost{background:#0000;color:var(--ds-text-secondary);padding:0 14px}.ui-btn-ghost:hover{background:var(--ds-surface-muted);color:var(--ds-text)}.ui-btn-danger{background:var(--ds-error);color:var(--ds-on-primary)}.ui-btn-danger:hover{background:var(--ds-error-hover);color:var(--ds-on-primary)}.ui-btn-danger-outline{background:var(--ds-surface);border-color:var(--ds-error-border);color:var(--ds-error)}.ui-btn-danger-outline:hover{background:var(--ds-error-muted)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{background:var(--ds-border-subtle);border-color:#0000;color:var(--ds-text-disabled);cursor:not-allowed}.ui-btn[aria-busy=true]{background:var(--ds-primary-hover);color:var(--ds-on-primary);cursor:progress}.ui-btn-secondary[aria-busy=true]{background:var(--ds-surface-muted);color:var(--ds-text)}.ui-spinner{animation:ui-spin .8s linear infinite}.ui-spinner-track{opacity:.3}.ui-spinner-head,.ui-spinner-track{stroke:currentColor}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--ds-radius-control);color:var(--ds-text-muted);cursor:pointer;display:inline-flex;flex:none;height:var(--ds-control-h);justify-content:center;padding:0;width:var(--ds-control-h)}.ui-icon-btn-sm{border-radius:var(--ds-radius-sm);height:var(--ds-control-h-sm);width:var(--ds-control-h-sm)}.ui-icon-btn-outline{background:var(--ds-surface);border-color:var(--ds-border)}.ui-icon-btn:hover{background:var(--ds-surface-muted);color:var(--ds-text)}.ui-icon-btn:disabled{color:var(--ds-text-disabled);cursor:not-allowed}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ui-label{color:var(--ds-text);font-size:14px;font-weight:600}.ui-field-hint{color:var(--ds-text-muted);font-size:13px}.ui-field-error{align-items:center;color:var(--ds-error);display:inline-flex;font-size:13px;gap:6px}.ui-input{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-control);box-sizing:border-box;color:var(--ds-text);font:inherit;font-size:15px;height:var(--ds-control-h);padding:0 12px;transition:border-color var(--ds-motion-fast) var(--ds-easing),box-shadow var(--ds-motion-fast) var(--ds-easing);width:100%}.ui-input::placeholder{color:var(--ds-text-subtle)}.ui-input:focus{border-color:var(--ds-primary);box-shadow:0 0 0 1px var(--ds-primary),0 0 0 4px var(--ds-primary-muted);outline:none}.ui-input[aria-invalid=true]{background:var(--ds-error-muted);border-color:var(--ds-error)}.ui-input[aria-invalid=true]:focus{box-shadow:0 0 0 1px var(--ds-error)}.ui-input:disabled{background:var(--ds-surface-muted);color:var(--ds-text-subtle)}.ui-input-sm{border-radius:var(--ds-radius-sm);font-size:14px;height:var(--ds-control-h-sm)}.ui-textarea{height:auto;line-height:1.5;min-height:96px;padding:10px 12px;resize:vertical}.ui-select-wrap{display:block;position:relative}.ui-select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:36px}.ui-select-sm .ui-select{border-radius:var(--ds-radius-sm);font-size:14px;height:var(--ds-control-h-sm)}.ui-select-chevron{color:var(--ds-text-muted);pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.ui-search{display:block;position:relative}.ui-search .ui-input{padding-left:38px}.ui-search-icon{color:var(--ds-text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.ui-check,.ui-radio,.ui-switch{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;gap:10px;min-height:var(--ds-control-h);position:relative}.ui-check.is-disabled,.ui-radio.is-disabled,.ui-switch.is-disabled{cursor:not-allowed;opacity:.55}.ui-check input,.ui-radio input,.ui-switch input{height:1px;margin:0;opacity:0;pointer-events:none;position:absolute;width:1px}.ui-check-box{align-items:center;background:var(--ds-surface);border:1.5px solid var(--ds-border-strong);border-radius:var(--ds-radius-xs);box-sizing:border-box;color:#0000;display:inline-flex;flex:none;height:20px;justify-content:center;width:20px}.ui-check input:checked+.ui-check-box,.ui-check input:indeterminate+.ui-check-box{background:var(--ds-primary);border-color:var(--ds-primary);color:var(--ds-on-primary)}.ui-check input:focus-visible+.ui-check-box,.ui-radio input:focus-visible+.ui-radio-dot,.ui-switch input:focus-visible+.ui-switch-track{outline:2px solid var(--ds-border-focus);outline-offset:2px}.ui-radio-dot{background:var(--ds-surface);border:1.5px solid var(--ds-border-strong);border-radius:50%;box-sizing:border-box;flex:none;height:20px;width:20px}.ui-radio input:checked+.ui-radio-dot{border:6px solid var(--ds-primary)}.ui-check-label{color:var(--ds-text);display:flex;flex-direction:column;gap:2px}.ui-check-hint{color:var(--ds-text-muted);font-size:13px}.ui-switch-track{background:var(--ds-border);border-radius:var(--ds-radius-full);flex:none;height:24px;position:relative;transition:background-color var(--ds-motion-fast) var(--ds-easing);width:40px}.ui-switch-thumb{background:var(--ds-surface);border-radius:50%;box-shadow:var(--ds-shadow-sm);height:18px;left:3px;position:absolute;top:3px;transition:transform var(--ds-motion-fast) var(--ds-easing);width:18px}.ui-switch input:checked+.ui-switch-track{background:var(--ds-primary)}.ui-switch input:checked+.ui-switch-track .ui-switch-thumb{transform:translateX(16px)}.ui-status{align-items:center;border-radius:var(--ds-radius-full);display:inline-flex;font-size:13px;font-weight:600;gap:6px;height:26px;padding:0 10px;white-space:nowrap}.ui-status-dot{background:currentColor;border-radius:50%;height:6px;width:6px}.ui-status-new{background:var(--ds-status-new-muted);color:var(--ds-status-new-text)}.ui-status-new .ui-status-dot{background:var(--ds-status-new)}.ui-status-studying{background:var(--ds-status-learning-muted);color:var(--ds-status-learning-text)}.ui-status-studying .ui-status-dot{background:var(--ds-status-learning)}.ui-status-learned{background:var(--ds-status-learned-muted);color:var(--ds-status-learned)}.ui-status-square{border-radius:3px;display:inline-block;flex:none}.ui-status-square.ui-status-new{background:var(--ds-status-new)}.ui-status-square.ui-status-studying{background:var(--ds-status-learning)}.ui-status-square.ui-status-learned{background:var(--ds-status-learned)}.ui-tag{align-items:center;border-radius:var(--ds-radius-xs);display:inline-flex;font-size:11px;font-weight:700;height:22px;letter-spacing:.04em;padding:0 8px;text-transform:uppercase}.ui-tag-dark{background:var(--ds-inverse);color:var(--ds-on-inverse)}.ui-tag-accent{background:var(--ds-primary-muted);color:var(--ds-primary)}.ui-tag-muted{background:var(--ds-surface-muted);color:var(--ds-text-muted)}.ui-tag-amber{background:var(--ds-status-learning-muted);color:var(--ds-status-learning-text)}.ui-badge{align-items:center;border-radius:var(--ds-radius-full);box-sizing:border-box;display:inline-flex;font-size:12px;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 7px}.ui-badge-accent{background:var(--ds-primary);color:var(--ds-on-primary)}.ui-badge-muted{background:var(--ds-surface-muted);color:var(--ds-text-muted);font-weight:600}.ui-badge-soft{background:var(--ds-primary-muted);color:var(--ds-primary);font-weight:600}.ui-badge-danger{background:var(--ds-error);color:var(--ds-on-primary)}.ui-badge-amber{background:var(--ds-status-learning-muted);color:var(--ds-status-learning-text);font-weight:600}.ui-chip{align-items:center;background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-full);box-sizing:border-box;color:var(--ds-text);cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:600;gap:6px;height:var(--ds-control-h-sm);padding:0 14px;white-space:nowrap}.ui-chip:hover{background:var(--ds-surface-muted)}.ui-chip-count{color:var(--ds-text-muted);font-size:12px;font-weight:600}.ui-chip-on-dark{border-color:var(--ds-inverse);color:var(--ds-on-inverse)}.ui-chip-on-dark,.ui-chip-on-dark:hover{background:var(--ds-inverse)}.ui-chip-on-dark .ui-chip-count{color:var(--ds-border)}.ui-chip-on-accent{border-color:var(--ds-primary-border);color:var(--ds-primary);padding-right:10px}.ui-chip-on-accent,.ui-chip-on-accent:hover{background:var(--ds-primary-muted)}.ui-chip-on-accent .ui-chip-count{color:var(--ds-primary)}.ui-mastery{align-items:center;display:inline-flex;gap:3px}.ui-mastery>span:not(.ui-mastery-label){background:var(--ds-border-subtle);border-radius:2px;height:6px;width:14px}.ui-mastery>span.on{background:var(--ds-primary)}.ui-mastery-label{color:var(--ds-text-muted);font-size:12px;margin-left:4px}.ui-tabs{border-bottom:1px solid var(--ds-border-subtle);display:flex;gap:22px;overflow-x:auto;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{all:unset;align-items:center;border-bottom:2px solid #0000;color:var(--ds-text-muted);cursor:pointer;display:inline-flex;font-size:15px;gap:6px;height:var(--ds-control-h);margin-bottom:-1px;white-space:nowrap}.ui-tab.is-active,.ui-tab:hover{color:var(--ds-text)}.ui-tab.is-active{border-bottom-color:var(--ds-primary);font-weight:600}.ui-tab-count{background:var(--ds-surface-muted);border-radius:var(--ds-radius-full);color:var(--ds-text-muted);font-size:12px;font-weight:600;padding:1px 7px}.ui-tab.is-active .ui-tab-count{background:var(--ds-primary-muted);color:var(--ds-primary)}.ui-segmented{background:var(--ds-surface-muted);border-radius:var(--ds-radius-control);display:inline-flex;gap:2px;max-width:100%;overflow-x:auto;padding:4px;scrollbar-width:none}.ui-segmented button{all:unset;align-items:center;border-radius:var(--ds-radius-sm);color:var(--ds-text-muted);cursor:pointer;display:inline-flex;font-size:14px;height:32px;padding:0 14px;white-space:nowrap}.ui-segmented button.is-active{background:var(--ds-surface);box-shadow:var(--ds-shadow-sm);color:var(--ds-text);font-weight:600}.ui-segmented-sm button{font-size:13px;height:28px;padding:0 10px}.ui-toggle-group{border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);display:inline-flex;overflow:hidden}.ui-toggle-group button{all:unset;box-sizing:border-box;color:var(--ds-text-muted);cursor:pointer;font-size:13px;font-weight:500;height:34px;min-width:48px;padding:0 8px;text-align:center}.ui-toggle-group button+button{border-left:1px solid var(--ds-border)}.ui-toggle-group button.is-active{background:var(--ds-inverse);border-color:var(--ds-inverse);color:var(--ds-on-inverse);font-weight:600}.ui-progress{background:var(--ds-border-subtle);overflow:hidden}.ui-progress,.ui-progress>div{border-radius:var(--ds-radius-full)}.ui-progress>div{background:var(--ds-primary);height:100%;transition:width var(--ds-motion-slow) var(--ds-easing)}.ui-progress-amber>div{background:var(--ds-status-learning)}.ui-progress-blue>div{background:var(--ds-status-new)}.ui-statusbar{border-radius:var(--ds-radius-full);display:flex;gap:2px;overflow:hidden}.ui-statusbar>div{height:100%}.ui-statusbar-new{background:var(--ds-status-new)}.ui-statusbar-studying{background:var(--ds-status-learning)}.ui-statusbar-learned{background:var(--ds-status-learned)}.ui-statusbar-empty{background:var(--ds-border-subtle);flex:1 1}.ui-ring{flex:none}.ui-ring circle{fill:none}.ui-ring-track{stroke:var(--ds-border-subtle)}.ui-ring-fill{stroke:var(--ds-primary);stroke-linecap:round;transition:stroke-dasharray var(--ds-motion-slow) var(--ds-easing)}.ui-ring-value{fill:var(--ds-text);font-family:inherit;font-size:26px;font-weight:700}.ui-ring-unit{fill:var(--ds-text-muted);font-family:inherit;font-size:13px}.ui-card{background:var(--ds-surface);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);box-sizing:border-box;min-width:0}.ui-card-p-md{padding:22px 24px}.ui-card-p-lg{padding:28px}.ui-card-p-sm{padding:16px}.ui-card-p-none{padding:0}.ui-section-label{color:var(--ds-text-subtle);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ui-empty{border:1.5px dashed var(--ds-border);display:flex;flex-direction:column;gap:8px;padding:24px 16px;text-align:center}.ui-empty,.ui-empty-icon{align-items:center;border-radius:var(--ds-radius-md)}.ui-empty-icon{background:var(--ds-primary-muted);color:var(--ds-primary);display:inline-flex;height:48px;justify-content:center;width:48px}.ui-empty-title{font-size:15px;font-weight:600}.ui-empty-text{color:var(--ds-text-muted);font-size:13px;max-width:420px}.ui-empty-action{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:4px}.ui-skeleton{animation:ui-pulse 1.4s ease-in-out infinite;background:var(--ds-surface-sunken);display:block}.ui-skeleton-soft{background:var(--ds-surface-muted)}.ui-skeleton-list{display:flex;flex-direction:column;gap:12px;padding:4px 0}.ui-skeleton-row{align-items:center;display:flex;gap:10px}.ui-skeleton-row>div{display:flex;flex:1 1;flex-direction:column;gap:6px}@keyframes ui-pulse{50%{opacity:.55}}.ui-alert{align-items:center;border-radius:var(--ds-radius-md);display:flex;font-size:14px;gap:12px;padding:12px 14px}.ui-alert-text{flex:1 1;min-width:0}.ui-alert-error{background:var(--ds-error-muted);border:1px solid var(--ds-error-border);color:var(--ds-error-text)}.ui-alert-error .ui-icon{color:var(--ds-error)}.ui-alert-info{background:var(--ds-surface-muted);border:1px solid var(--ds-border-subtle);color:var(--ds-text-secondary)}.ui-alert-success{background:var(--ds-primary-muted);border:1px solid var(--ds-primary-border);color:var(--ds-primary-dark)}.ui-alert-warning{background:var(--ds-status-learning-muted);border:1px solid var(--ds-status-learning-muted);color:var(--ds-status-learning-text)}.ui-alert a{color:inherit;font-weight:600}.ui-avatar{align-items:center;border-radius:50%;color:var(--ds-on-primary);display:inline-flex;flex:none;font-weight:700;justify-content:center}.ui-avatar-accent{background:var(--ds-primary)}.ui-avatar-blue{background:var(--ds-status-new)}.ui-avatar-amber{background:var(--ds-status-learning)}.ui-avatar-purple{background:var(--ds-accent-purple)}.ui-avatar-pink{background:var(--ds-accent-pink)}.ui-avatar-soft{background:var(--ds-primary-muted);color:var(--ds-primary)}.ui-avatar-muted{color:var(--ds-text-secondary)}.ui-avatar-muted,.ui-avatar-photo{background:var(--ds-surface-muted)}.ui-avatar-photo{overflow:hidden}.ui-avatar-photo img{display:block;height:100%;object-fit:cover;width:100%}.ui-modal-backdrop,.ui-panel-backdrop{align-items:center;animation:ui-fade var(--ds-motion-fast) var(--ds-easing);background:#1c191766;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.ui-modal{animation:ui-rise var(--ds-motion-normal) var(--ds-easing);background:var(--ds-surface);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-lg);display:flex;flex-direction:column;max-height:calc(100vh - 48px);outline:none;width:100%}.ui-modal-sm{max-width:420px}.ui-modal-md{max-width:560px}.ui-modal-lg{max-width:720px}.ui-modal-xl{max-width:880px}.ui-modal-head{align-items:flex-start;display:flex;gap:12px;padding:20px 20px 0 24px}.ui-modal-titles{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0;padding-top:8px}.ui-modal-title{font-size:18px;font-weight:600;line-height:1.3;margin:0}.ui-modal-desc{color:var(--ds-text-muted);font-size:14px;line-height:1.5;margin:0}.ui-modal-body{min-height:0;overflow-y:auto;padding:16px 24px 20px}.ui-modal-foot{border-top:1px solid var(--ds-border-subtle);display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:16px 24px}.ui-confirm-text{color:var(--ds-text-muted);font-size:14px;line-height:1.5}.ui-panel-backdrop{align-items:stretch;background:#1c191740;justify-content:flex-end;padding:0}.ui-panel{animation:ui-slide var(--ds-motion-normal) var(--ds-easing);background:var(--ds-surface);border-left:1px solid var(--ds-border-subtle);box-shadow:var(--ds-shadow-lg);display:flex;flex-direction:column;height:100%;max-width:100%;outline:none;width:440px;width:var(--ui-panel-w,440px)}.ui-panel-head{align-items:center;border-bottom:1px solid var(--ds-border-subtle);display:flex;gap:8px;padding:14px 14px 14px 22px}.ui-panel-title{flex:1 1;font-size:16px;font-weight:600;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-panel-body{display:flex;flex:1 1;flex-direction:column;gap:18px;overflow-y:auto;padding:20px 22px}.ui-panel-foot{border-top:1px solid var(--ds-border-subtle);display:flex;gap:8px;padding:14px 22px}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes ui-slide{0%{opacity:0;transform:translateX(24px)}}@keyframes ui-sheet{0%{opacity:0;transform:translateY(24px)}}@media (max-width:640px){.ui-modal-backdrop{align-items:flex-end;padding:0}.ui-modal{animation-name:ui-sheet;border-radius:var(--ds-radius-lg) var(--ds-radius-lg) 0 0;max-height:92vh;max-width:none}.ui-modal-head{padding:16px 12px 0 18px}.ui-modal-body{padding:14px 18px 18px}.ui-modal-foot{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.ui-modal-foot .ui-btn{flex:1 1}.ui-panel-backdrop{align-items:flex-end}.ui-panel{animation-name:ui-sheet;border-left:0;border-radius:var(--ds-radius-lg) var(--ds-radius-lg) 0 0;height:auto;max-height:92vh;width:100%}.ui-panel-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.ui-modal,.ui-modal-backdrop,.ui-panel,.ui-panel-backdrop,.ui-skeleton,.ui-spinner{animation:none}}.ui-menu{background:var(--ds-surface);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-md);box-sizing:border-box;display:flex;flex-direction:column;padding:6px;position:fixed;width:240px;z-index:1100}.ui-menu.is-up{transform:translateY(-100%)}.ui-menu-item{all:unset;align-items:center;border-radius:var(--ds-radius-sm);color:var(--ds-text);cursor:pointer;display:flex;font-size:14px;gap:10px;height:38px;padding:0 10px}.ui-menu-item>span:first-of-type{flex:1 1}.ui-menu-item .ui-icon{color:var(--ds-text-muted)}.ui-menu-item:focus-visible,.ui-menu-item:hover{background:var(--ds-surface-muted);outline:none}.ui-menu-item.is-danger,.ui-menu-item.is-danger .ui-icon{color:var(--ds-error)}.ui-menu-item:disabled{color:var(--ds-text-disabled);cursor:not-allowed}.ui-menu-hint{color:var(--ds-text-subtle);font-size:12px}.ui-menu-divider{background:var(--ds-border-subtle);height:1px;margin:4px 0}.ui-toasts{bottom:24px;display:flex;flex-direction:column;gap:8px;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);width:min(440px,calc(100vw - 32px));z-index:1200}.ui-toast{align-items:center;animation:ui-rise var(--ds-motion-normal) var(--ds-easing);background:var(--ds-inverse);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-md);box-sizing:border-box;color:var(--ds-on-inverse);display:flex;gap:12px;min-height:48px;padding:8px 8px 8px 14px;pointer-events:auto}.ui-toast .ui-icon:first-child{color:var(--ds-primary-bright)}.ui-toast-error{background:var(--ds-error-muted);border:1px solid var(--ds-error-border);color:var(--ds-error-text)}.ui-toast-error .ui-icon:first-child{color:var(--ds-error)}.ui-toast-text{flex:1 1;font-size:14px}.ui-toast-action{all:unset;align-items:center;border-radius:var(--ds-radius-sm);color:var(--ds-primary-bright);cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;height:36px;padding:0 12px}.ui-toast-error .ui-toast-action{color:var(--ds-error)}.ui-toast-close{all:unset;align-items:center;border-radius:var(--ds-radius-sm);cursor:pointer;display:inline-flex;height:32px;justify-content:center;opacity:.7;width:32px}.ui-toast-close:hover{opacity:1}.ui-page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.ui-page-titles{display:flex;flex-direction:column;gap:4px;min-width:0}.ui-page-title{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}.ui-page-subtitle{color:var(--ds-text-muted);font-size:15px;margin:0}.ui-page-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}@media (max-width:640px){.ui-page-title{font-size:24px}}.ui-stepper{align-items:center;display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.ui-stepper li{align-items:center;color:var(--ds-text-muted);display:inline-flex;font-size:13px;gap:8px}.ui-stepper li+li:before{background:var(--ds-border);content:"";height:1px;width:24px}.ui-stepper-num{align-items:center;border:1.5px solid var(--ds-border);border-radius:50%;box-sizing:border-box;display:inline-flex;font-size:12px;font-weight:600;height:22px;justify-content:center;width:22px}.ui-stepper li.is-current{color:var(--ds-text);font-weight:600}.ui-stepper li.is-current .ui-stepper-num{border-color:var(--ds-primary);color:var(--ds-primary)}.ui-stepper li.is-done .ui-stepper-num{background:var(--ds-primary);border-color:var(--ds-primary);color:var(--ds-on-primary)}@media (max-width:767px){.ui-toasts{bottom:calc(76px + env(safe-area-inset-bottom))}}.App{min-height:100vh}.App,.loading{position:relative}.loading{align-items:center;color:var(--ds-text);display:flex;flex-direction:column;font-size:17px;font-weight:600;gap:20px;height:100vh;justify-content:center}.loading:before{animation:ds-bounce 1.4s var(--ds-easing) infinite;content:"📚";filter:drop-shadow(0 4px 12px rgba(0,0,0,.08));font-size:56px}.loading:after{color:var(--ds-text-muted);content:"Загрузка...";font-size:17px;letter-spacing:.02em}@keyframes ds-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.05)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:var(--ds-background);border-radius:var(--ds-radius-full);margin:4px}::-webkit-scrollbar-thumb{background:var(--ds-border);border-radius:var(--ds-radius-full);-webkit-transition:background var(--ds-motion-fast);transition:background var(--ds-motion-fast)}::-webkit-scrollbar-thumb:hover{background:var(--ds-text-muted)}::selection{background:var(--ds-primary-muted);color:var(--ds-text)}::-moz-selection{background:var(--ds-primary-muted);color:var(--ds-text)}:focus-visible{border-radius:var(--ds-radius-sm);outline:2px solid var(--ds-primary);outline-offset:2px}html{scroll-behavior:smooth}.button,.nav-link,.tab-button,button{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.auth{background:var(--ds-background);color:var(--ds-text);display:flex;min-height:100vh;min-height:100dvh}.auth-aside{background:var(--ds-primary-dark);box-sizing:border-box;color:var(--ds-on-primary);display:flex;flex:none;flex-direction:column;gap:24px;height:100vh;height:100dvh;justify-content:space-between;overflow:hidden;padding:48px;position:sticky;top:0;width:440px}.auth-brand{align-items:center;display:flex;font-size:18px;font-weight:700;gap:10px}.auth-aside-art svg{display:block;height:auto;max-width:100%}.auth-aside-copy{display:flex;flex-direction:column;gap:16px}.auth-aside-title{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.auth-aside-lead{color:var(--ds-primary-pale);font-size:16px;line-height:1.5}.auth-aside-points{color:var(--ds-primary-pale);display:flex;flex-direction:column;font-size:15px;gap:10px;list-style:none;margin:0;padding:0}.auth-aside-points li{align-items:flex-start;display:flex;gap:10px;line-height:1.4}.auth-aside-points .ui-icon{color:var(--ds-primary-bright);flex:none}.auth-aside-footer{color:var(--ds-primary-border);font-size:13px}.auth-mobile-head{display:none}.auth-main{align-items:center;box-sizing:border-box;display:flex;flex:1 1;justify-content:center;min-width:0;padding:32px}.auth-col{max-width:400px;max-width:var(--auth-col-w,400px);width:100%}.auth-col,.auth-form{display:flex;flex-direction:column;gap:18px}.auth-heading{display:flex;flex-direction:column;gap:6px}.auth-heading h1{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}.auth-sub{color:var(--ds-text-muted);font-size:15px;line-height:1.5}.auth-sub b{color:var(--ds-text);font-weight:600}.auth a:not(.ui-btn){color:var(--ds-primary);font-weight:600;text-decoration:none}.auth a:not(.ui-btn):hover{color:var(--ds-primary-hover);text-decoration:underline}.auth a:focus-visible{border-radius:4px;outline:2px solid var(--ds-primary);outline-offset:2px}.auth-label-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.auth-label-row a{font-size:14px}.auth-field{display:flex;flex-direction:column;gap:6px;min-width:0}.auth .ui-input{font-size:16px;height:48px;padding:0 14px}.auth-row-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.auth-switch{color:var(--ds-text-muted);font-size:15px;text-align:center}.auth-back{align-items:center;align-self:flex-start;display:inline-flex;font-size:15px;gap:4px;min-height:44px}.auth .auth-back:hover{color:var(--ds-primary-hover);text-decoration:none}.auth-badge{align-items:center;background:var(--ds-primary-muted);border-radius:var(--ds-radius-lg);color:var(--ds-primary);display:flex;height:56px;justify-content:center;width:56px}.auth-alert{background:var(--ds-error-muted);border:1px solid var(--ds-error-border);border-radius:var(--ds-radius-md);display:flex;gap:12px;padding:14px 16px}.auth-alert>.ui-icon{color:var(--ds-error);flex:none;margin-top:1px}.auth-alert-body{display:flex;flex-direction:column;gap:2px;min-width:0}.auth-alert-title{color:var(--ds-error-hover);font-size:15px;font-weight:600}.auth-alert-text{color:var(--ds-error-text);font-size:14px;line-height:1.45}.auth-alert-text a{color:var(--ds-error-text);text-decoration:underline}.auth-alert.is-success{background:var(--ds-primary-muted);border-color:var(--ds-primary-border)}.auth-alert.is-success>.ui-icon{color:var(--ds-primary)}.auth-alert.is-success .auth-alert-text,.auth-alert.is-success .auth-alert-title{color:var(--ds-primary-dark)}.auth-meta{align-items:center;color:var(--ds-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.auth-meta>.ui-icon{color:var(--ds-text-subtle);flex:none}.auth-field-ok{align-items:center;color:var(--ds-primary);display:inline-flex;font-size:13px;gap:6px}.auth-pass{align-items:center;background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-control);box-sizing:border-box;display:flex;height:48px;padding-right:2px;transition:border-color var(--ds-motion-fast) var(--ds-easing),box-shadow var(--ds-motion-fast) var(--ds-easing)}.auth-pass:focus-within{border-color:var(--ds-primary);box-shadow:0 0 0 1px var(--ds-primary),0 0 0 4px var(--ds-primary-muted)}.auth-pass.is-invalid{border:2px solid var(--ds-error)}.auth-pass.is-invalid:focus-within{box-shadow:0 0 0 3px var(--ds-error-muted)}.auth-pass input{color:var(--ds-text);flex:1 1;font:inherit;font-size:16px;min-width:0;outline:none;padding:0 14px}.auth-pass input,.auth-pass-toggle{background:#0000;border:none;height:44px}.auth-pass-toggle{align-items:center;border-radius:var(--ds-radius-sm);color:var(--ds-text-muted);cursor:pointer;display:inline-flex;flex:none;justify-content:center;position:relative;width:44px}.auth-pass-toggle:hover{background:var(--ds-surface-muted);color:var(--ds-text)}.auth-pass-toggle:focus-visible{outline:2px solid var(--ds-primary);outline-offset:-2px}.auth-pass-slash{background:currentColor;border-radius:2px;height:2px;position:absolute;transform:rotate(-45deg);width:22px}.auth .ui-input[aria-invalid=true]{background:var(--ds-surface);border-width:2px}.auth-strength{display:flex;flex-direction:column;gap:8px}.auth-strength-row{align-items:center;display:flex;gap:10px}.auth-strength-bar{display:flex;flex:1 1;gap:4px}.auth-strength-bar span{background:var(--ds-border-subtle);border-radius:var(--ds-radius-full);flex:1 1;height:6px}.auth-strength.is-weak .auth-strength-bar .is-on{background:var(--ds-error)}.auth-strength.is-medium .auth-strength-bar .is-on{background:var(--ds-status-learning)}.auth-strength.is-good .auth-strength-bar .is-on{background:var(--ds-primary)}.auth-strength-label{color:var(--ds-text-subtle);font-size:13px;font-weight:600;white-space:nowrap}.auth-strength.is-weak .auth-strength-label{color:var(--ds-error)}.auth-strength.is-medium .auth-strength-label{color:var(--ds-status-learning-text)}.auth-strength.is-good .auth-strength-label{color:var(--ds-primary)}.auth-strength-rules{grid-gap:4px 12px;display:grid;font-size:13px;gap:4px 12px;grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0}.auth-strength-rules li{align-items:center;color:var(--ds-text-subtle);display:flex;gap:6px}.auth-strength-rules li.is-ok{color:var(--ds-text-secondary)}.auth-strength-rules li.is-ok .ui-icon{color:var(--ds-primary);flex:none}.auth-strength-dot{align-items:center;display:inline-flex;flex:none;height:14px;justify-content:center;width:14px}.auth-strength-dot span{background:var(--ds-text-disabled);border-radius:50%;height:6px;width:6px}.auth-card{background:var(--ds-surface);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);display:flex;flex-direction:column;gap:10px;padding:18px 20px}.auth-card-title{font-size:14px;font-weight:600}.auth-card ul{color:var(--ds-text-muted);font-size:14px;line-height:1.6;margin:0;padding-left:18px}.auth-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.auth-actions .auth-link-btn{background:none;border:none;border-radius:4px;color:var(--ds-primary);cursor:pointer;font:inherit;font-size:15px;font-weight:600;min-height:44px;padding:0 4px}.auth-actions .auth-link-btn:hover{color:var(--ds-primary-hover);text-decoration:underline}.auth-actions .auth-link-btn:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}.auth-divider{background:var(--ds-border-subtle);height:1px}@media (max-width:1100px){.auth-aside{padding:40px 36px;width:360px}.auth-aside-title{font-size:26px}}@media (max-width:860px){.auth{flex-direction:column}.auth-aside{display:none}.auth-mobile-head{background:var(--ds-primary-dark);border-radius:0 0 24px 24px;color:var(--ds-on-primary);display:flex;flex-direction:column;gap:18px;padding:40px 24px 28px}.auth-mobile-head .auth-brand{font-size:17px}.auth-mobile-title{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.2}.auth-main{align-items:flex-start;padding:24px 20px 28px}.auth-col{gap:16px;margin:0 auto;max-width:480px}.auth-form{gap:16px}.auth-heading h1{font-size:26px}.auth-form .ui-btn-lg[type=submit]{height:52px}}@media (max-width:420px){.auth-row-2,.auth-strength-rules{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.auth-pass{transition:none}}
/*# sourceMappingURL=main.4240582e.css.map*/