.mini-app-dictionary{--mini-bg: #0f172a;--mini-card: #111c30;--mini-border: #1f2b40;--mini-text: #e2e8f0;--mini-muted: rgba(226, 232, 240, .78);--mini-accent: #6b6aff;--mini-shadow: 0 2px 4px rgba(0, 0, 0, .25);background:var(--mini-card);border:1px solid var(--mini-border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px;color:var(--mini-text);min-height:100%;box-shadow:var(--mini-shadow)}.mini-app-dictionary h1{margin:0;font-size:16px;font-weight:600}.header-subtitle{margin:4px 0 0;font-size:12px;color:var(--mini-muted)}.controls-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.search-input-wrapper{position:relative}.search-icon{position:absolute;inset-block-start:50%;inset-inline-start:12px;transform:translateY(-50%);font-size:16px;pointer-events:none;color:var(--mini-muted);line-height:0;margin-inline-end:4px}.search-input{width:100%;height:40px;border-radius:6px;border:1px solid #24324c;background:#18243a;padding:0 40px 0 36px;font-size:14px;color:var(--mini-text)}.search-input:focus{outline:2px solid var(--mini-accent);outline-offset:2px}.clear-btn{position:absolute;inset-inline-end:4px;inset-block-start:50%;transform:translateY(-50%);border:none;width:32px;height:32px;border-radius:6px;background:transparent;color:var(--mini-text);font-size:16px;cursor:pointer;transition:background .15s ease-out;display:inline-flex;align-items:center;justify-content:center}.clear-btn:hover{background:#5453ff29}.clear-btn:focus-visible{outline:2px solid var(--mini-accent);outline-offset:2px}.filter-toggle{height:40px;border-radius:6px;border:1px solid #24324c;background:#18243a;color:#e2e8f0;padding:0 16px;font-size:14px;font-weight:500;transition:border-color .15s ease-out,background .15s ease-out}.filter-toggle:hover{background:#6b6aff1a}.filter-toggle[aria-expanded=true]{border-color:var(--mini-accent);background:#6b6aff29}.filter-toggle:focus-visible{outline:2px solid var(--mini-accent);outline-offset:2px}.btn-add{height:40px;border-radius:6px;border:1px solid var(--mini-accent);background:var(--mini-accent);color:#fff;padding:0 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease-out,transform 50ms ease-out;white-space:nowrap}.btn-add:hover{background:#6b6aff;transform:translateY(-1px)}.btn-add:active{transform:translateY(0)}.btn-add:focus-visible{outline:2px solid var(--mini-accent);outline-offset:2px}.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:-4px}.filter-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid rgba(84,83,255,.32);background:#5453ff1f;color:var(--mini-text);font-size:12px;padding:4px 10px;cursor:pointer;transition:background .15s ease-out,border-color .15s ease-out}.filter-chip:hover{background:#5453ff33;border-color:#5453ff80}.filter-chip:focus-visible{outline:2px solid var(--mini-accent);outline-offset:2px}.chip-icon{font-size:13px;line-height:0}.filter-tray{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border:1px solid var(--mini-border);border-radius:8px;padding:0 16px;max-height:0;opacity:0;overflow:hidden;background:var(--mini-bg);transition:max-height .18s ease-out,opacity .18s ease-out,padding .18s ease-out}.filter-tray--open{padding:12px 16px;max-height:260px;opacity:1}.filter-field{display:flex;flex-direction:column;gap:.25rem}.filter-field label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mini-muted)}.filter-field select{border-radius:6px;border:1px solid #24324c;background:#18243a;color:#e2e8f0;padding:8px 12px;font-size:14px}.error-banner{display:grid;grid-template-columns:1fr auto;gap:.35rem;align-items:center;border-radius:8px;border:1px solid rgba(239,68,68,.35);background:#ef44441f;padding:.6rem .75rem;font-size:.9rem}.btn-retry{border:none;border-radius:6px;padding:.4rem .9rem;background:#ef444429;color:var(--mini-text);font-weight:600;cursor:pointer}.info-banner{border-radius:8px;border:1px solid rgba(84,83,255,.25);background:#5453ff1f;color:var(--mini-text);padding:.75rem;font-size:.95rem}.table-shell{border:1px solid var(--mini-border);border-radius:8px;background:var(--mini-card);box-shadow:var(--mini-shadow);overflow:hidden;position:relative}.entry-table{width:100%;display:flex;flex-direction:column}.table-head,.table-row{display:flex;align-items:center;gap:12px;min-height:36px;padding:4px 8px}.table-head{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;color:var(--mini-muted);position:sticky;top:0;background:var(--mini-card);border-bottom:1px solid var(--mini-border);z-index:2}.cell-head-star{color:var(--mini-accent)}.table-body .table-row:last-child{border-bottom:none}.table-row{background:transparent;border:none;color:inherit;text-align:left;cursor:pointer;transition:background .12s ease-out;border-radius:6px;width:100%}.table-row:hover,.table-row:active{background:#1b2538;outline:none}.table-row:focus-visible{outline:2px solid var(--mini-accent);outline-offset:0}.cell{font-size:14px;font-weight:400;display:flex;align-items:center;min-width:0}.cell-head{font-size:12px;font-weight:600}.cell-word{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 45%}.cell-number{text-align:right;font-weight:500;flex:0 0 48px;justify-content:flex-end;font-variant-numeric:tabular-nums}.cell-sort{background:transparent;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:flex-end;gap:4px;font:inherit}.cell-sort:hover{color:var(--mini-text)}.cell-sort:focus-visible{outline:2px solid var(--mini-accent);outline-offset:2px}.cell-sort--active{color:var(--mini-accent)}.table-body{display:flex;flex-direction:column;row-gap:0;padding:0 0 8px}.loading-state,.empty-state{padding:24px;text-align:center;color:var(--mini-muted);display:grid;gap:8px}.loading-state{display:flex;justify-content:center;align-items:center;gap:8px}.loading-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(148,163,184,.4);border-top-color:var(--mini-accent);animation:spin .8s linear infinite}.btn-primary{border:none;border-radius:6px;background:var(--mini-accent);color:#fff;font-weight:600;padding:0 16px;height:40px;cursor:pointer;transition:background .15s ease-out}.btn-primary:hover{background:#6a69ff}.footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--mini-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040710b3;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:20}.modal-content{width:min(520px,100%);background:var(--mini-card);border:1px solid var(--mini-border);border-radius:8px;box-shadow:var(--mini-shadow);max-height:90vh;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--mini-border)}.modal-header h2{margin:0;font-size:14px;font-weight:600}.close-btn{border:1px solid var(--mini-border);background:transparent;color:var(--mini-text);border-radius:6px;width:32px;height:32px;font-size:1rem;cursor:pointer}.modal-body{padding:18px 16px 12px;overflow-y:auto;display:grid;gap:12px;font-size:14px}.detail-row{display:flex;gap:8px;color:var(--mini-muted)}.detail-row strong{color:var(--mini-text);font-weight:600}.stats-section{border:1px solid var(--mini-border);border-radius:8px;padding:12px;background:#5453ff14;display:grid;gap:8px}.direction-stats{display:grid;gap:.25rem}.direction-stats h4{margin:0;color:var(--mini-muted);font-size:12px;font-weight:600}.mode-stats{display:flex;flex-wrap:wrap;gap:8px}.mode-badge{border-radius:999px;background:#5453ff29;color:var(--mini-text);padding:4px 10px;font-size:12px;font-weight:500}.edit-form{display:flex;flex-direction:column;gap:16px}.edit-field{display:flex;flex-direction:column;gap:6px}.edit-field label{font-size:13px;color:var(--mini-text)}.edit-input,.edit-textarea{width:100%;border-radius:8px;border:1px solid #24324c;background:#18243a;color:var(--mini-text);padding:12px;font-size:15px;font-family:inherit;resize:vertical}.edit-input:focus,.edit-textarea:focus{outline:2px solid var(--mini-accent);outline-offset:2px}.edit-field-checkbox{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--mini-border);border-radius:8px;background:#5453ff14}.edit-field-checkbox label{display:flex;align-items:center;gap:10px;cursor:pointer}.edit-field-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--mini-accent)}.edit-field-checkbox span{font-size:14px;font-weight:500}.field-hint{font-size:12px;color:var(--mini-muted);margin-top:2px}.error-message{padding:10px 12px;border-radius:6px;background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:#fca5a5;font-size:13px}.edit-actions{display:flex;gap:8px;margin-top:12px;position:sticky;bottom:0;padding:12px 0 4px;background:linear-gradient(180deg,#111c30e6,#111c30);box-shadow:0 -6px 16px #00000040}.btn-save,.btn-cancel,.btn-edit{flex:1;height:42px;border-radius:6px;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease-out,opacity .15s ease-out}.btn-save{background:var(--mini-accent);color:#fff}.btn-save:hover:not(:disabled){background:#6a69ff}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{background:transparent;border:1px solid var(--mini-border);color:var(--mini-text)}.btn-cancel:hover:not(:disabled){background:#1b2538}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-edit{background:var(--mini-accent);color:#fff;margin-top:8px}.btn-edit:hover{background:#6a69ff}.view-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.warning-pill{display:inline-block;padding:6px 12px;border-radius:999px;background:#fef3c7;color:#b45309;font-size:13px;font-weight:600}.search-dictionary-section{margin:16px 0;padding:16px;background:#5453ff14;border:1px solid rgba(84,83,255,.2);border-radius:8px}.btn-search-dictionary{width:100%;padding:12px 16px;border-radius:6px;border:1px solid var(--mini-accent);background:#5453ff1a;color:var(--mini-text);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease-out,border-color .15s ease-out}.btn-search-dictionary:hover:not(:disabled){background:#5453ff33;border-color:#6b6aff}.btn-search-dictionary:disabled{opacity:.5;cursor:not-allowed}.btn-search-dictionary:focus-visible{outline:2px solid var(--mini-accent);outline-offset:2px}.dictionary-results{margin-top:12px}.results-hint{margin:0;font-size:13px;color:var(--mini-muted);line-height:1.5}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.controls-bar{flex-direction:column;align-items:stretch;gap:12px}.filter-toggle{width:100%;text-align:center}.footer{flex-direction:column;align-items:flex-start;gap:8px}.modal-content{width:100%;max-height:95vh}.edit-actions{flex-direction:column}.btn-save,.btn-cancel{width:100%}}.tags-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;border:1px solid var(--mini-border, #ccc);border-radius:6px;background:var(--mini-bg, #ffffff);min-height:42px;cursor:text;transition:border-color .15s ease-out}.tags-input:focus-within{border-color:var(--mini-accent, rgba(84, 83, 255, .5));outline:none}.tags-input--disabled{background:var(--mini-bg-secondary, #f5f5f5);cursor:not-allowed;opacity:.6}.tag-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;border:1px solid rgba(84,83,255,.32);background:#5453ff1f;color:var(--mini-text, #333);font-size:13px;padding:4px 8px 4px 10px;line-height:1.4;max-width:100%}.tag-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .15s ease-out}.tag-text:hover{opacity:.8}.tag-text:active{opacity:.6}.tag-edit-input{border:none;background:transparent;font-size:13px;line-height:1.4;padding:0;margin:0;outline:none;color:var(--mini-text, #333);min-width:60px;max-width:200px;font-family:inherit}.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--mini-text, #333);font-size:12px;line-height:0;cursor:pointer;border-radius:50%;padding:0;margin:0;transition:background .15s ease-out,color .15s ease-out}.tag-remove:hover{background:#0000001a;color:#e74c3c}.tag-remove:focus-visible{outline:2px solid var(--mini-accent, rgba(84, 83, 255, .5));outline-offset:1px}.tag-input{flex:1;min-width:120px;border:none;background:transparent;font-size:14px;padding:4px;outline:none;color:var(--mini-text, #333)}.tag-input::placeholder{color:var(--mini-hint, #999)}.tag-input:disabled{cursor:not-allowed}@media (max-width: 480px){.tag-input{min-width:80px}}:root{font-family:var(--app-font-family);font-size:var(--app-font-size);line-height:var(--app-line-height);font-weight:var(--app-font-weight-body);color:var(--app-color-text);background-color:var(--app-color-background)}body{margin:0;min-height:100vh;background-color:var(--app-color-background);color:var(--app-color-text)}body.telegram-shell-body{background:var(--tg-shell-bg, var(--app-color-background));color:var(--tg-shell-text, var(--app-color-text))}body.telegram-shell-body button.primary,body.telegram-shell-body button.secondary{border-radius:999px;background:var(--app-color-accent);color:var(--app-color-accent-contrast);box-shadow:none}body.telegram-shell-body .app{background:transparent;box-shadow:none;padding:1rem .5rem 2rem;color:inherit}*{box-sizing:border-box}button{cursor:pointer;font-family:inherit;transition:box-shadow .15s ease,transform .12s ease,background-color .12s ease,color .12s ease}button.secondary{border:1px solid var(--app-color-border);border-radius:.75rem;padding:.65rem 1.25rem;font-weight:600;background:var(--app-color-surface-muted);color:var(--app-color-text)}button.primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:.75rem;padding:.65rem 1.4rem;font-weight:600;background:linear-gradient(135deg,var(--app-color-accent),var(--app-color-accent-muted));color:var(--app-color-accent-contrast);box-shadow:0 12px 28px -18px #2563eb99}button.primary:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}button:focus-visible{outline:2px solid var(--app-color-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--app-color-accent-soft)}button:active{transform:translateY(1px)}.app{max-width:960px;margin:0 auto;padding:2rem 1.5rem 4rem}.app__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2rem}body.telegram-shell-body .app__header{background:var(--tg-shell-surface, rgba(15, 23, 42, .6));padding:1rem;border-radius:16px;border:1px solid var(--tg-shell-surface-border, rgba(148, 163, 184, .2))}.app__header-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-end}.app__user{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:999px;background:var(--app-color-surface-muted)}body.telegram-shell-body .app__user{background:var(--tg-shell-tab-bg, rgba(15, 23, 42, .7));color:inherit}.app__user-email{font-size:.9rem;font-weight:600;color:var(--app-color-text-secondary)}.app__back-button{border:1px solid var(--app-color-border);border-radius:.75rem;padding:.65rem 1.25rem;font-weight:600;background:var(--app-color-surface-muted);color:var(--app-color-text)}.start-screen{display:grid;gap:2rem;justify-items:center;text-align:center;padding:3rem 1.5rem 4rem}.start-screen__intro{max-width:540px;display:grid;gap:.75rem}.start-screen__intro h2{margin:0;font-size:1.75rem}.start-screen__intro p{margin:0;color:var(--app-color-text-secondary);font-size:1.05rem}.start-screen__actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.start-screen__actions button{border:1px solid transparent;border-radius:1rem;padding:.9rem 1.8rem;font-weight:700;font-size:1.05rem;background:linear-gradient(135deg,var(--app-color-accent),var(--app-color-accent-muted));color:var(--app-color-accent-contrast);box-shadow:0 12px 32px -18px #4f46e599}.start-screen__actions button:last-of-type{background:linear-gradient(135deg,var(--app-color-warning),var(--app-color-error))}.start-screen__auth-cta{display:grid;gap:.75rem;justify-items:center;text-align:center}.start-screen__note{margin:0;font-size:.95rem;color:var(--app-color-text-secondary)}.start-screen__notice{margin:.5rem 0 0;font-weight:600;color:var(--app-color-error)}.exam-view{display:grid;gap:1.5rem}.app__header h1{font-size:1.75rem;margin:0 0 .5rem}.app__meta{margin:0;color:var(--app-color-text-secondary)}.app__error{color:var(--app-color-error);font-weight:600}main{display:grid;gap:1.5rem}.mode-toggle{display:inline-flex;padding:.25rem;border-radius:999px;background:var(--app-color-surface);border:1px solid var(--app-color-border);box-shadow:0 1px 2px #0f172a0f}.mode-toggle button{border:none;background:transparent;padding:.5rem 1rem;border-radius:999px;font-weight:600;color:var(--app-color-text)}.mode-toggle button[aria-pressed=true]{background:linear-gradient(135deg,var(--app-color-accent),var(--app-color-accent-muted));color:var(--app-color-accent-contrast)}.mode-toggle button:disabled{opacity:.5;cursor:not-allowed}.panel{border-radius:1rem;padding:1.5rem;box-shadow:0 12px 32px -16px #0f172a66;border:1px solid var(--app-color-border);background:var(--app-color-surface)}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.auth-panel{display:grid;gap:1.25rem;color:var(--app-color-text)}.auth-panel__form{display:grid;gap:1rem}.auth-panel__submit{width:100%;display:flex;align-items:center;justify-content:center;padding:.85rem 1.5rem;font-size:1.05rem}.auth-panel__field{display:grid;gap:.35rem;font-weight:600}.auth-panel__method{gap:.5rem}.auth-panel__method-options{display:flex;gap:1rem;font-weight:500;color:var(--app-color-text)}.auth-panel__method-options label{display:inline-flex;align-items:center;gap:.4rem;font-weight:inherit;font-size:1rem}.auth-panel__field input{padding:.75rem .85rem;border-radius:.7rem;border:1px solid var(--app-color-border-strong, var(--app-color-border));font-size:1rem;background:var(--app-color-surface);color:var(--app-color-text)}.auth-panel__field input::placeholder{color:var(--app-color-text-tertiary)}.auth-panel__error{margin:0;color:var(--app-color-error);font-weight:600}.auth-panel__footer{display:flex;justify-content:center}.auth-panel__footer .link{border:none;background:transparent;color:#4338ca;text-decoration:underline;font-weight:600}.panel__title{margin:0;font-size:1.25rem}.question-card{display:grid;gap:.75rem}.question-card__meta{font-size:.875rem;color:var(--app-color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.question-card__prompt{margin:0;font-size:1.1rem;display:flex;align-items:flex-start;gap:.5rem}.question-card__number{font-weight:700;color:var(--app-color-accent)}.option-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.option{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border:1px solid transparent;border-radius:.75rem;transition:border .2s ease,background .2s ease}.option input[type=radio]{accent-color:var(--app-color-accent)}.option--selected{border-color:#4f46e5cc;background:#4f46e50f}.option--correct{border-color:#16a34acc;background:#16a34a14}.option--incorrect{border-color:#dc2626cc;background:#dc26260d}.feedback{font-weight:600}.feedback--correct{color:var(--app-color-success)}.feedback--incorrect{color:var(--app-color-error)}.training-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.training-controls button{border:none;border-radius:.75rem;padding:.65rem 1.25rem;font-weight:600;background:var(--app-color-accent);color:#fff}.training-controls button.secondary{background:var(--app-color-surface-muted);color:var(--app-color-text)}.profile-panel__content{display:grid;gap:1.5rem;margin-bottom:2rem}@media (min-width: 768px){.profile-panel__content{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.profile-panel__card{display:grid;gap:1rem;padding:1.25rem;border-radius:.9rem;border:1px solid rgba(226,232,240,.9);background:var(--app-color-background)}.profile-panel__form{display:grid;gap:1rem}.profile-panel__field{display:grid;gap:.35rem;font-weight:600}.profile-panel__field input{padding:.65rem .75rem;border-radius:.6rem;border:1px solid var(--app-color-border);font-size:1rem}.profile-panel__success{margin:0;color:var(--app-color-success);font-weight:600}.profile-history{display:grid;gap:1rem}.profile-history__header{display:flex;flex-direction:column;gap:.4rem}.profile-history__list{display:grid;gap:1.5rem}.profile-history__entry{display:grid;gap:1rem;padding:1.25rem;border-radius:.9rem;border:1px solid rgba(226,232,240,.9);background:var(--app-color-surface-muted)}.profile-history__entry-header h4{margin:0 0 .35rem}.profile-history__texts{display:grid;gap:1rem}@media (min-width: 720px){.profile-history__texts{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-history__text{margin:0;padding:.75rem;border-radius:.75rem;border:1px solid var(--app-color-border);background:#fff;white-space:pre-wrap;font-size:.95rem}.profile-history__evaluation{display:grid;gap:.75rem;padding:.9rem;border-radius:.75rem;border:1px solid rgba(59,130,246,.2);background:#3b82f60f}.profile-history__evaluation ul{margin:0;padding-left:1.1rem;display:grid;gap:.35rem}.profile-history__evaluation-error{margin:0;color:var(--app-color-error);font-weight:600}.profile-panel__footer{margin-top:2rem}.training-progress{margin:0;font-size:.9rem;color:var(--app-color-text-secondary)}.training-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1.5rem}.training-toolbar__field{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.training-toolbar select{padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--app-color-border);background:#fff;font-size:.95rem}.training-toolbar button{border:none;border-radius:.75rem;padding:.65rem 1.25rem;font-weight:600;background:var(--app-color-surface-muted);color:var(--app-color-text)}.test-summary{display:grid;gap:.5rem;margin-bottom:1rem}.test-summary strong{font-size:1.2rem}.test-results{background:#f8f9ff;border:1px solid rgba(79,70,229,.2);border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem;display:grid;gap:.5rem;color:var(--app-color-text)}.test-results ul{margin:0;padding-left:1.25rem;color:var(--app-color-text-tertiary)}.test-results li{margin:.25rem 0}.test-section{display:grid;gap:1rem;margin-bottom:2rem}.test-section__header{display:grid;gap:.35rem}.test-section__subtitle{margin:0;color:var(--app-color-text-tertiary);font-size:.95rem}.question-order{display:grid;gap:1.5rem;margin:0;padding-left:1.5rem}.test-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:2rem}.test-actions button{border:none;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:600;background:var(--app-color-accent);color:#fff}.test-actions button.secondary{background:var(--app-color-surface-muted);color:var(--app-color-text)}.progress-summary{display:grid;gap:.5rem;padding:1.25rem;border-radius:1rem;background:#4f46e50f;border:1px solid rgba(79,70,229,.15);max-width:480px;justify-self:center}.progress-summary h3{margin:0;font-size:1.1rem}.progress-summary__items{display:grid;gap:.35rem;color:var(--app-color-text-secondary);font-size:.95rem}.progress-summary__error{color:var(--app-color-error);font-weight:600}.auth-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:999}.auth-dialog{display:grid;gap:1rem;width:min(420px,100%);padding:1.25rem 1.25rem 1.5rem;border-radius:16px;background:var(--app-color-surface);color:var(--app-color-text);box-shadow:0 24px 80px -32px #0f172a80}.auth-dialog__dismiss{justify-self:center;padding-inline:2rem;margin-top:.25rem}.progress-bar{position:relative;height:.5rem;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress-bar__fill{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--app-color-accent),var(--app-color-accent-muted))}.question-list{display:grid;gap:1.5rem}.question-card__answer{margin:.5rem 0 0;font-size:.95rem;color:var(--app-color-text)}.flashcards-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.flashcards-subtitle{margin:.25rem 0 0;color:var(--app-color-text-tertiary);max-width:48ch}.flashcards-tabs{display:inline-flex;padding:.25rem;border-radius:999px;background:#f9fafb;border:1px solid var(--app-color-border)}.flashcards-tabs button{border:none;background:transparent;padding:.5rem 1rem;border-radius:999px;font-weight:600;color:#354052}.flashcards-tabs button.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.flashcards-actions{display:flex;align-items:center;gap:1rem}.flashcards-actions .flashcards-stats-button{border:none;border-radius:999px;padding:.5rem 1.1rem;font-weight:600;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 18px 36px -24px #6366f1bf;transition:transform .15s ease,box-shadow .15s ease}.flashcards-actions .flashcards-stats-button:hover{transform:translateY(-1px);box-shadow:0 22px 40px -24px #6366f1d9}.flashcards-actions .flashcards-stats-button:focus-visible{outline:2px solid #4338ca;outline-offset:2px}.flashcard-manager,.flashcard-trainer{display:grid;gap:1.75rem}.flashcard-training-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:stretch;justify-content:center;padding:clamp(1rem,4vw,2.75rem);background:linear-gradient(160deg,#0f172a,#1e293b)}.flashcard-training{width:min(880px,100%);flex:1 1 auto;max-height:calc(100vh - clamp(2rem,8vw,4rem));display:flex;flex-direction:column;gap:clamp(1rem,2.5vw,1.75rem);padding:clamp(1.35rem,3.25vw,2.35rem);border-radius:1.5rem;background:#0f172aeb;border:1px solid rgba(148,163,184,.25);box-shadow:0 42px 120px -36px #0f172acc;color:var(--app-color-background);overflow-y:auto;overflow-x:hidden}.flashcard-training__top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem 1rem}.flashcard-training__title{display:flex;flex-direction:column;gap:.2rem}.flashcard-training__deck{font-size:clamp(1.05rem,2.6vw,1.35rem);font-weight:700;color:var(--app-color-background)}.flashcard-training__counter{font-size:.95rem;font-weight:600;color:#e0e7ffd9}.flashcard-training__counter--retry{color:#facc15e6}.flashcard-training__close{border:none;border-radius:999px;padding:.55rem 1.35rem;font-weight:600;background:#94a3b82e;color:var(--app-color-surface-muted);transition:background .2s ease,transform .2s ease;margin-left:auto}.flashcard-training__close:hover{background:#94a3b847;transform:translateY(-1px)}.flashcard-training__close:focus-visible{outline:2px solid rgba(129,140,248,.85);outline-offset:3px}.flashcard-training__progress{position:relative;height:6px;border-radius:999px;background:#94a3b840;overflow:hidden}.flashcard-training__progress-fill{display:block;height:100%;background:linear-gradient(135deg,#22c55e,#16a34a);transition:width .3s ease}.flashcard-training__status{margin:0;font-weight:600;color:#e2e8f0d9;text-align:center}.flashcard-training__status--error{color:#f87171}.flashcard-training__complete{display:grid;gap:.85rem;justify-items:center;text-align:center;padding:2rem 1.5rem;border-radius:1.25rem;background:linear-gradient(135deg,#fbbf2433,#f59e0b2e);color:var(--app-color-background);border:1px solid rgba(250,204,21,.3)}.flashcard-training__restart{border:none;border-radius:999px;padding:.75rem 2.4rem;font-weight:700;color:#111827;background:linear-gradient(135deg,#facc15,#f97316);box-shadow:0 24px 60px -28px #fbbf248c}.flashcard-training__content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.85rem,3vw,1.5rem);min-height:0}.flashcard-training__category{margin-top:.25rem;padding:.4rem 1.05rem;border-radius:999px;font-size:.9rem;font-weight:600;color:#c7d2fe;background:#6366f147}.flashcard-card{width:100%;max-width:640px;border-radius:1.5rem;padding:clamp(1.6rem,6vw,3rem);background:#fff;box-shadow:0 30px 90px -32px #0f172a99;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;min-height:clamp(300px,55vh,520px);text-align:center;transition:transform .3s ease,box-shadow .3s ease}.flashcard-card--revealed{transform:translateY(-6px);box-shadow:0 36px 110px -34px #6366f18c}.flashcard-card:focus-visible{outline:3px solid rgba(99,102,241,.6);outline-offset:4px}.flashcard-card__body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.75rem,2.5vw,1.4rem)}.flashcard-card__front{font-size:clamp(2rem,7vw,3.4rem);font-weight:700;color:#0f172a;word-break:break-word}.flashcard-card__back{display:grid;gap:clamp(.6rem,2vw,1rem);justify-items:center}.flashcard-card__answer{font-size:clamp(1.7rem,5.5vw,2.4rem);font-weight:700;color:#111827;word-break:break-word}.flashcard-card__extra{font-size:clamp(1.1rem,3vw,1.4rem);color:#334155;max-width:42ch}.flashcard-card__example{font-size:clamp(.95rem,2.6vw,1.15rem);color:var(--app-color-text-secondary);font-style:italic;max-width:46ch}.flashcard-card__actions{display:flex;width:100%;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;min-height:3rem}.flashcard-self-check-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;width:100%}.flashcard-self-check-actions .flashcard-action{flex:1 1 180px;min-width:clamp(140px,40vw,220px)}.flashcard-action{border:none;border-radius:999px;padding:.85rem 2.6rem;font-size:1.05rem;font-weight:700;min-width:clamp(160px,52vw,240px);transition:transform .2s ease,box-shadow .2s ease}.flashcard-action:active{transform:translateY(1px)}.flashcard-action--primary{color:#fff;background:linear-gradient(135deg,#6366f1,var(--app-color-accent));box-shadow:0 22px 52px -28px #6366f1b3}.flashcard-action--forgot{color:var(--app-color-error);background:#fee2e2}.flashcard-action--knew{color:var(--app-color-success);background:#dcfce7}.flashcard-card__hint{font-size:.95rem;color:var(--app-color-text-secondary);font-weight:500}.flashcard-mcq{width:min(100%,360px);margin:0 auto}.flashcard-mcq__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;align-items:stretch}.flashcard-mcq__option{border:1px solid rgba(148,163,184,.7);border-radius:.9rem;background:#fff;padding:.7rem .75rem;font-weight:600;color:#0f172a;line-height:1.3;min-height:3rem;display:inline-flex;align-items:center;justify-content:center;text-align:center;width:100%;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.flashcard-mcq__option:hover:not(:disabled){transform:translateY(-1px);border-color:#6366f1;box-shadow:0 16px 28px -24px #6366f1b3}.flashcard-mcq__option:focus-visible{outline:none;border-color:var(--app-color-accent);box-shadow:0 0 0 4px #6366f12e}.flashcard-mcq__option:disabled{cursor:default}.flashcard-mcq__option--selected{border-color:#6366f1;box-shadow:0 16px 28px -24px #6366f1b3}.flashcard-mcq__option--correct{background:#dcfce7;border-color:#16a34a;color:#065f46}.flashcard-mcq__option--incorrect{background:#fee2e2;border-color:var(--app-color-error);color:#7f1d1d}.flashcard-mcq__option-text{display:block;width:100%;word-break:break-word}.flashcard-input-form{width:100%;max-width:640px;display:grid;gap:.75rem}.flashcard-input-form__label{font-weight:600;color:#0f172a;text-align:left}.flashcard-input-form__controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.flashcard-input{flex:1 1 260px;border-radius:.9rem;border:1px solid rgba(148,163,184,.6);padding:.85rem 1.1rem;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.flashcard-input:focus{outline:none;border-color:var(--app-color-accent);box-shadow:0 0 0 4px #6366f12e}.flashcard-feedback{font-size:1.05rem;font-weight:700;display:grid;gap:.35rem;justify-items:center;text-align:center}.flashcard-feedback--correct{color:#16a34a}.flashcard-feedback--incorrect{color:var(--app-color-error)}.flashcard-feedback__answer{font-size:.95rem;font-weight:500;opacity:.85}.flashcard-training__footer{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem;font-size:.95rem;color:#e2e8f0cc}.flashcard-training__footer span{display:inline-flex;align-items:center;gap:.35rem}.flashcard-setup{display:grid;gap:1.5rem}.flashcard-setup__grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.flashcard-setup__grid label{display:flex;flex-direction:column;gap:.45rem;font-weight:600;color:var(--app-color-text)}.flashcard-setup__grid select{padding:.55rem .75rem;border-radius:.55rem;border:1px solid var(--app-color-border);background:#fff;font-size:.95rem}.flashcard-setup__hint{margin:0;font-size:.9rem;color:var(--app-color-text-secondary)}.flashcard-setup__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;padding:1rem 1.25rem;border-radius:1rem;background:var(--app-color-background);border:1px solid rgba(203,213,225,.8)}.flashcard-setup__stats div{display:grid;gap:.35rem;justify-items:center}.flashcard-setup__stats strong{font-size:1.4rem;color:#111827}.flashcard-setup__stats span{font-size:.9rem;color:var(--app-color-text-secondary)}.flashcard-setup__actions{display:flex;justify-content:flex-end}.flashcard-setup__start{border:none;border-radius:1rem;padding:.9rem 1.8rem;font-weight:700;font-size:1.05rem;background:linear-gradient(135deg,#6366f1,var(--app-color-accent));color:#fff;box-shadow:0 22px 54px -28px #6366f199}.flashcard-setup__start:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 900px){.flashcard-training-screen{padding:clamp(.75rem,5vw,2rem)}.flashcard-training{max-height:none;height:auto}.flashcard-card{min-height:clamp(300px,64vh,520px)}}@media (max-width: 640px){.flashcard-training-screen{padding:.75rem}.flashcard-training{border-radius:1rem;padding:1.1rem}.flashcard-training__top{flex-direction:column;align-items:stretch;gap:.75rem}.flashcard-training__close{align-self:flex-end}.flashcard-card{padding:clamp(1.25rem,6vw,2rem);min-height:unset}.flashcard-card__actions{flex-direction:column;gap:.75rem}.flashcard-mcq{width:min(100%,320px)}.flashcard-action{width:100%;min-width:0}.flashcard-input-form__controls{flex-direction:column;align-items:stretch}.flashcard-input{width:100%;flex:1 1 auto}.flashcard-setup__actions{justify-content:stretch}.flashcard-setup__start{width:100%}}.flashcard-import h3,.flashcard-form h3,.flashcard-list h3{margin-top:0;margin-bottom:.5rem;font-size:1.1rem}.flashcard-import__hint{margin:0 0 .75rem;color:#64748b}.flashcard-import__controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.flashcard-import__mode select{margin-top:.35rem}.flashcard-import__file{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:.75rem;background:var(--app-color-accent);color:#fff;font-weight:600}.flashcard-import__file input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.flashcard-manager__toolbar{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-bottom:.75rem}.telegram-panel{border:1px solid #d7deeb;border-radius:.95rem;background:linear-gradient(135deg,#e2e8f099,#f8fafce6);padding:1.1rem 1.3rem;display:grid;gap:.85rem}.telegram-panel__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem}.telegram-panel__header h3{margin:0 0 .2rem;font-size:1.1rem}.telegram-panel__subtitle{margin:0;color:var(--app-color-text-secondary);font-size:.95rem}.telegram-panel__actions{display:flex;gap:.5rem}.telegram-panel__actions button,.telegram-panel__actions--connected button{border:none;border-radius:.75rem;padding:.45rem 1rem;font-weight:600;background:var(--app-color-surface-muted);color:var(--app-color-text)}.telegram-panel__actions button:disabled,.telegram-panel__actions--connected button:disabled{opacity:.7;cursor:not-allowed}.telegram-panel__content{display:grid;gap:.9rem}.telegram-panel__status{margin:0;font-weight:600;color:var(--app-color-text)}.telegram-panel__status--error{color:var(--app-color-error)}.telegram-panel__status--success{color:#047857}.telegram-panel__status-card{padding:.85rem 1rem;border-radius:.75rem;background:#4f46e514;border:1px solid rgba(99,102,241,.18);display:grid;gap:.4rem;font-weight:600;color:var(--app-color-text)}.telegram-panel__meta{margin:0;padding-left:1.05rem;display:grid;gap:.25rem;font-weight:500;color:var(--app-color-text-secondary)}.telegram-panel__meta li{list-style:disc}.telegram-panel__link{display:grid;gap:.6rem;font-weight:500;color:var(--app-color-text)}.telegram-panel__link button{justify-self:start;border:none;border-radius:.75rem;padding:.45rem 1rem;font-weight:600;background:linear-gradient(135deg,var(--app-color-accent),#6366f1);color:#fff;box-shadow:0 12px 28px -18px #4f46e599}.telegram-panel__code{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-weight:600}.telegram-panel__code code{padding:.3rem .7rem;border-radius:.6rem;background:var(--app-color-text);color:#fff;letter-spacing:.18em}.telegram-panel__hint{font-size:.85rem;color:var(--app-color-text-secondary)}.telegram-panel__actions--connected{display:flex;flex-wrap:wrap;gap:.5rem}.telegram-panel__danger{background:linear-gradient(135deg,#dc2626,#f97316)!important;color:#fff!important;box-shadow:0 12px 28px -18px #dc262673}.telegram-panel__instructions{border-radius:.75rem;padding:.75rem 1rem;background:#94a3b833}.telegram-panel__instructions summary{cursor:pointer;font-weight:600;color:var(--app-color-text)}.telegram-panel__instructions ol{margin:.75rem 0 0;padding-left:1.2rem;display:grid;gap:.35rem;color:var(--app-color-text)}.telegram-panel__instructions code{background:#0f172a1f;padding:.15rem .35rem;border-radius:.35rem;font-size:.9rem}.flashcard-toolbar__button{border:none;border-radius:.75rem;padding:.55rem 1.15rem;font-weight:600;background:var(--app-color-surface-muted);color:var(--app-color-text);transition:background .2s ease,color .2s ease,box-shadow .2s ease}.flashcard-toolbar__button:hover,.flashcard-toolbar__button:focus-visible{background:#dbe3f5;color:#1d2a44;box-shadow:0 8px 22px -16px #4f46e566;outline:none}.flashcard-toolbar__button.active{background:linear-gradient(135deg,var(--app-color-accent),#6366f1);color:#fff;box-shadow:0 14px 32px -18px #4f46e599}.flashcard-select{padding:.55rem .85rem;border-radius:.65rem;border:1px solid var(--app-color-border);background:var(--app-color-background);font-size:.95rem;font-weight:500;color:var(--app-color-text);transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--app-color-text-secondary) 50%),linear-gradient(135deg,var(--app-color-text-secondary) 50%,transparent 50%);background-position:right .85rem center,right .55rem center;background-size:.45rem .45rem;background-repeat:no-repeat}.flashcard-select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e;outline:none}.flashcard-select:disabled{background-color:#edeff5;color:#94a3b8;cursor:not-allowed;background-image:none}.flashcard-field-hint{display:block;margin-top:.25rem;font-size:.85rem;color:#6366f1}.flashcard-export{padding:1rem 1.1rem;border:1px dashed var(--app-color-border);border-radius:.85rem;background:#6366f10a;display:grid;gap:.75rem}.flashcard-export__hint{margin:0;color:var(--app-color-text-secondary)}.flashcard-export__actions{display:flex;gap:.75rem;align-items:center}.flashcard-status{margin:.5rem 0 0;font-weight:600;color:#334155}.flashcard-status--error{color:var(--app-color-error)}.flashcard-status--success{color:#047857}.flashcard-form__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.flashcard-form__grid label{display:flex;flex-direction:column;gap:.4rem;font-weight:600}.flashcard-form__grid label.flashcard-form__toggle{flex-direction:row;align-items:flex-start;gap:.6rem}.flashcard-form__toggle input[type=checkbox]{width:1.2rem;height:1.2rem;margin-top:.2rem}.flashcard-form__toggle div{display:flex;flex-direction:column;gap:.25rem}.flashcard-form__toggle .flashcard-field-hint{color:var(--app-color-text-secondary);font-weight:400}.flashcard-form__grid input,.flashcard-form__grid textarea,.flashcard-list__filters input,.flashcard-list__filters select,.flashcard-trainer__field select{padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--app-color-border);font-size:.95rem}.flashcard-form__grid textarea{resize:vertical}.flashcard-form__autofill{display:flex;flex-direction:column;gap:.4rem}.flashcard-form__autofill button.secondary{align-self:flex-start}.flashcard-form__autofill .flashcard-status{margin:.25rem 0 0}.flashcard-form__actions{display:flex;gap:.75rem;align-items:center}.flashcard-form__actions button{border:none;border-radius:.75rem;padding:.65rem 1.25rem;font-weight:600;background:var(--app-color-accent);color:#fff}.flashcard-form__actions button.secondary{background:var(--app-color-surface-muted);color:var(--app-color-text)}.flashcard-list__filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.flashcard-table{display:grid;gap:.75rem}.flashcard-table__header,.flashcard-table__row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) minmax(0,1fr) auto;gap:1rem;padding:.75rem 1rem;border:1px solid rgba(148,163,184,.2);border-radius:.75rem}.flashcard-table__meta{margin:.35rem 0 0;color:#64748b;font-size:.9rem}.flashcard-table__category{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;color:var(--app-color-text-secondary)}.flashcard-table__actions{display:flex;gap:.5rem;justify-content:flex-end;align-items:center}.flashcard-table__actions button{border:none;border-radius:.6rem;padding:.45rem .9rem;font-weight:600;background:#e2e8f0;color:var(--app-color-text)}.flashcard-table__actions button.danger{background:#fee2e2;color:var(--app-color-error)}.flashcard-stats__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:1200}.flashcard-stats{width:min(1100px,95vw);max-height:90vh;background:#fff;border-radius:1.25rem;box-shadow:0 28px 60px -28px #0f172a66;display:flex;flex-direction:column}.flashcard-stats__header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 1.75rem;border-bottom:1px solid #e2e8f0}.flashcard-stats__header h3{margin:0;font-size:1.35rem}.flashcard-stats__header p{margin:.35rem 0 0;color:var(--app-color-text-tertiary);max-width:48ch}.flashcard-stats__close{white-space:nowrap}.flashcard-stats__controls{display:flex;align-items:center;gap:1rem;padding:1rem 1.75rem;border-bottom:1px solid #e2e8f0}.flashcard-stats__controls label{display:flex;flex-direction:column;gap:.5rem;font-weight:600;color:#334155}.flashcard-stats__controls select{min-width:14rem;padding:.55rem .75rem;border-radius:.75rem;border:1px solid #cbd5f5;background:#fff;font:inherit}.flashcard-stats__status{padding:1.25rem 1.75rem;margin:0;color:#334155}.flashcard-stats__status--error{color:var(--app-color-error)}.flashcard-stats__table-wrapper{flex:1;padding:0 1.75rem 1.75rem;display:flex;flex-direction:column;min-height:0}.flashcard-stats__table-wrapper .table-view{flex:1;min-height:0}.flashcard-stats__table-wrapper .table-view__container{flex:1;max-height:100%}.flashcard-stats__header-group{display:inline-flex;flex-direction:column;gap:.35rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--app-color-text-secondary)}.flashcard-stats__header-direction{font-size:.75rem;color:#94a3b8}.flashcard-stats__cell-word{font-weight:600;color:#1e293b}.flashcard-stars{display:inline-flex;align-items:center;gap:.2rem;font-size:.95rem}.flashcard-stars__icon:before{content:"☆";color:#cbd5f5;display:inline-block;line-height:1}.flashcard-stars__icon--filled:before{content:"★";color:#f59e0b}.table-view{width:100%;display:flex;flex-direction:column}.table-view__container{overflow:auto;border-radius:1rem;border:1px solid #e2e8f0}.table-view__table{width:100%;border-collapse:collapse;min-width:720px;background:#fff}.table-view__header{position:sticky;top:0;background:var(--app-color-background);text-align:left;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--app-color-text-secondary)}.table-view__header--center{text-align:center}.table-view__sort-button{display:inline-flex;align-items:center;gap:.4rem;border:none;background:transparent;font:inherit;padding:0;color:inherit}.table-view__sort-button:hover{color:#1e293b}.table-view__header-label{display:inline-flex;align-items:center}.table-view__sort-indicator{width:.75rem;height:.9rem;position:relative}.table-view__sort-indicator:before,.table-view__sort-indicator:after{content:"";position:absolute;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent}.table-view__sort-indicator:before{top:0;border-bottom:6px solid #cbd5f5}.table-view__sort-indicator:after{bottom:0;border-top:6px solid #cbd5f5}.table-view__sort-indicator[data-direction=asc]:before{border-bottom-color:#4338ca}.table-view__sort-indicator[data-direction=desc]:after{border-top-color:#4338ca}.table-view__cell{padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;font-size:.95rem;color:var(--app-color-text)}.table-view__cell--center{text-align:center}.table-view__empty{padding:2.5rem 1.5rem;border:1px solid #e2e8f0;border-radius:1rem;text-align:center;color:#64748b;background:var(--app-color-background)}.table-view__table tr:nth-child(2n) .table-view__cell{background:#f9fafb}.flashcard-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.75rem;font-weight:600}.flashcard-pill--muted{background:#e2e8f0;color:var(--app-color-text-secondary)}.flashcard-pill--warning{background:#fef3c7;color:#b45309}.flashcard-empty{margin:0;color:var(--app-color-text-secondary)}.flashcard-trainer__controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.flashcard-trainer__field{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.flashcard-trainer__controls button{border:none;border-radius:.75rem;padding:.65rem 1.35rem;font-weight:600;background:var(--app-color-accent);color:#fff}.flashcard-session{display:grid;gap:1rem}.flashcard-session__meta{display:flex;justify-content:space-between;align-items:center;color:var(--app-color-text-secondary);font-weight:600}.flashcard-session__card{border:2px dashed #cbd5f5;border-radius:1rem;padding:2rem;background:linear-gradient(145deg,#fff,#f8f9ff);display:grid;gap:1rem;text-align:center;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.flashcard-session__card:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.flashcard-session__card:hover{transform:translateY(-2px)}.flashcard-session__prompt{font-size:1.75rem;font-weight:700;color:#312e81}.flashcard-session__separator{font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.2em}.flashcard-session__answer{font-size:1.5rem;font-weight:600;color:#0f172a}.flashcard-session__actions{display:flex;gap:.75rem;justify-content:center}.flashcard-session__progress{margin:.75rem 0 0;text-align:center;color:var(--app-color-text-secondary);font-size:.9rem}.flashcard-session__self-check{display:flex;gap:.75rem;justify-content:center;margin-top:.5rem}.flashcard-session__self-check button{min-width:160px}.flashcard-session__actions button{border:none;border-radius:.75rem;padding:.6rem 1.4rem;font-weight:600;background:var(--app-color-accent);color:#fff}.flashcard-session__actions button.secondary{background:#e2e8f0;color:var(--app-color-text)}@media (max-width: 640px){.app{padding:1rem .75rem 2rem}.app__header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.app__header-controls{width:100%;justify-content:stretch}.app__header h1{font-size:1.4rem;line-height:1.3}.app__meta{font-size:.85rem}.mode-toggle{width:100%;justify-content:stretch}.flashcards-header{flex-direction:column;align-items:flex-start}.flashcards-tabs{width:100%;justify-content:space-between}.flashcard-import__controls,.flashcard-trainer__controls,.flashcard-session__actions{flex-direction:column;align-items:stretch}.start-screen{padding:2rem 1rem 3rem;gap:1.5rem}.start-screen__actions{flex-direction:column}.start-screen__actions button{width:100%}.flashcard-form__grid{grid-template-columns:1fr}.flashcard-form__actions,.flashcard-table__actions{flex-direction:column;align-items:stretch}.flashcard-table__header,.flashcard-table__row{grid-template-columns:1fr;gap:.75rem}.flashcard-session__actions button,.flashcard-trainer__controls button,.flashcard-form__actions button,.flashcard-table__actions button{width:100%}.mode-toggle button{flex:1;padding:.6rem .75rem;font-size:.9rem}.panel{padding:1rem;border-radius:.75rem}.panel__header{flex-direction:column;align-items:flex-start;gap:.75rem}.panel__title{font-size:1.1rem}.progress-bar{width:100%;height:.4rem}.question-card__prompt{font-size:1rem;line-height:1.5}.question-card__meta{font-size:.8rem}.option{padding:.6rem;gap:.6rem}.option label{display:flex;align-items:center;gap:.6rem;width:100%}.option input[type=radio]{flex-shrink:0}.option span{font-size:.95rem;line-height:1.4}.training-toolbar{flex-direction:column;align-items:stretch;gap:.75rem}.training-toolbar__field{width:100%}.training-toolbar select{width:100%;font-size:.9rem}.training-toolbar button{width:100%;padding:.7rem 1rem}.training-controls{flex-direction:column;gap:.75rem}.training-controls button{width:100%;padding:.7rem 1rem;font-size:.95rem}.test-summary{font-size:.9rem}.test-summary strong{font-size:1.1rem}.test-results{padding:.9rem 1rem;font-size:.9rem}.test-results ul{padding-left:1rem;font-size:.85rem}.test-section__header h3{font-size:1.05rem}.test-section__subtitle{font-size:.85rem}.question-order{padding-left:0;gap:1.25rem}.question-order>li{list-style:none}.test-actions{flex-direction:column-reverse;gap:.6rem;margin-top:1.5rem}.test-actions button{width:100%;padding:.7rem 1rem;font-size:.95rem}.feedback{font-size:.95rem}.question-card__answer{font-size:.9rem}}.tasks-page{display:grid;gap:1.5rem}.tasks-page__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}.tasks-page__header h2{margin:0}.tasks-page__header p{margin:.25rem 0 0;color:var(--app-color-text-tertiary)}.task-form{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.35);display:grid;gap:1rem}.task-form__field{display:grid;gap:.35rem;font-weight:600}.task-form__field input,.task-form__field textarea{border-radius:.6rem;border:1px solid var(--app-color-border);padding:.6rem .75rem;font-size:.95rem;font-family:inherit}.task-form__actions{display:flex;gap:.5rem;justify-content:flex-end}.task-form__fieldset{border-radius:.75rem;border:1px solid rgba(148,163,184,.4);background:var(--app-color-background);padding:1rem;display:grid;gap:.75rem}.task-form__fieldset-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-weight:600}.task-form__add{border:none;border-radius:.6rem;padding:.45rem .85rem;background:#e2e8f0;color:var(--app-color-text);font-weight:600;cursor:pointer}.task-form__add:disabled{opacity:.6;cursor:not-allowed}.task-form__array-item{display:flex;gap:.5rem;align-items:center}.task-form__array-item input,.task-form__array-item textarea{flex:1 1 auto;border-radius:.6rem;border:1px solid var(--app-color-border);padding:.6rem .75rem;font-size:.95rem;font-family:inherit}.task-form__array-item textarea{min-height:120px;resize:vertical}.task-form__array-item--textarea{align-items:stretch}.task-form__remove{border:none;border-radius:.6rem;padding:.45rem .85rem;font-weight:600;background:#fee2e2;color:var(--app-color-error);cursor:pointer}.task-form__remove:disabled{opacity:.6;cursor:not-allowed}.task-form__hint{margin:0;font-size:.85rem;color:#64748b}.task-editor{display:grid;gap:1rem}.task-editor__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center}.task-editor__header h3{margin:0 0 .25rem}.task-editor__header-title{display:flex;flex-direction:column;gap:.25rem}.task-editor__header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end}.task-editor__footer{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}@media (max-width: 640px){.task-editor__footer{flex-direction:column;align-items:stretch}.task-editor__footer>button{width:100%}}.task-editor__instructions{background:var(--app-color-background);border:1px solid rgba(148,163,184,.5);border-radius:.75rem;padding:1rem;display:grid;gap:.5rem;color:#0f172a}.task-editor__instructions h4{margin:0}.task-editor__instructions pre{margin:0;white-space:pre-wrap;font-family:inherit;line-height:1.5}.task-editor__points{padding-top:.5rem;border-top:1px solid rgba(148,163,184,.35);display:grid;gap:.35rem}.task-editor__points h5{margin:0;font-size:.95rem;color:#0f172a}.task-editor__points ul{margin:0;padding-left:1.2rem;color:#0f172a;display:grid;gap:.15rem}.task-editor__example{background:var(--app-color-background);border:1px solid rgba(148,163,184,.5);border-radius:.75rem;padding:1rem;display:grid;gap:.5rem;color:#0f172a}.task-editor__example-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;color:#0f172a}.task-editor__example-header h4{margin:0;font-size:1rem;color:#0f172a}.task-editor__example-nav{display:flex;gap:.5rem;flex-wrap:wrap}.task-editor__example pre{margin:0;white-space:pre-wrap;font-family:inherit;line-height:1.5;color:#0f172a}.task-editor__textarea{width:100%;border-radius:.75rem;border:1px solid var(--app-color-border);padding:.75rem;font-size:1rem;font-family:inherit;min-height:200px;resize:vertical;background:#fff;color:#0f172a}.task-editor__textarea--virtual{background:var(--app-color-background);caret-color:#0f172a;color:#0f172a}.task-editor__keyboard{display:grid;gap:.25rem;padding:1rem;border-radius:.75rem;background:var(--app-color-surface-muted);border:1px solid rgba(148,163,184,.5)}.task-editor__keyboard-row{display:flex;flex-wrap:nowrap;gap:.25rem;justify-content:center}.task-editor__key{padding:.6rem .9rem;flex:1 1 3rem;min-width:2.5rem;min-height:3rem;max-width:none;display:inline-flex;justify-content:center;align-items:center;border-radius:.55rem;border:1px solid var(--app-color-border);background:#fff;font-size:1rem;cursor:pointer;box-shadow:0 1px #0f172a14;transition:background .2s ease,transform .1s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none;white-space:nowrap}.task-editor__key.is-active{background:#0f172a;color:#fff;border-color:#0f172a}.task-editor__key--shift{min-width:90px}.task-editor__key:focus-visible{outline:2px solid #0f172a;outline-offset:2px}.task-editor__key:active{transform:translateY(1px);background:#e2e8f0}.task-editor__key--modifier{flex:1 1 3.6rem;min-width:3.6rem;max-width:none;font-size:.95rem;padding:.6rem 1rem}.task-editor__key--wide{flex:1 1 5rem;min-width:5rem;padding:.6rem 1.2rem}.task-editor__key--space{flex:3 1 60%;min-width:9rem;max-width:none;padding:.6rem 1.4rem;font-size:1rem}.task-editor__key-placeholder{flex:1 1 90px;min-width:90px;visibility:hidden}.task-editor__keyboard-row--controls{justify-content:space-between}.loading-spinner{display:inline-block;width:1.25rem;height:1.25rem;border-radius:999px;border:2px solid #cbd5f5;border-top-color:var(--app-color-accent);animation:loading-spin .75s linear infinite;flex-shrink:0}.loading-spinner--inline{width:1rem;height:1rem;border-width:2px}@keyframes loading-spin{to{transform:rotate(360deg)}}.task-results{display:grid;gap:1.25rem;color:#0f172a}.task-results__text{border:1px solid #e2e8f0;border-radius:.85rem;padding:1.25rem 1.5rem;display:grid;gap:.75rem;background:#f8fafced;color:inherit}.task-results__sentence-table-wrapper{overflow-x:auto}.task-results__sentence-table{width:100%;border-collapse:collapse;font-size:.95rem}.task-results__sentence-table th,.task-results__sentence-table td{padding:.5rem .75rem;border:1px solid #dbe3f0;text-align:left;vertical-align:top;line-height:1.5;white-space:pre-wrap;color:inherit;background:#fff}.task-results__sentence-table tbody tr:nth-child(2n) td{background:#f8fafcd9}.task-results__sentence-table th{background:#e2e8f0;font-weight:600;color:#1e293b}.task-results__text-block{margin:0;line-height:1.7;white-space:pre-wrap}.task-results__text-content{white-space:pre-wrap}.task-results__diff{display:inline;white-space:pre-wrap;color:inherit}.task-results__diff-added{background:#c8e6c9;color:#14532d;border-radius:.2rem;padding:0 .05rem}.task-results__diff-removed{background:#ffcdd2;text-decoration:line-through;color:#7f1d1d;border-radius:.2rem;padding:0 .05rem}.task-results__diff-unchanged{white-space:pre-wrap}.task-results__evaluation{padding:1rem 1.25rem;border-radius:.85rem;background:#fff7ed;border:1px solid #fed7aa;display:grid;gap:.75rem}.task-results__evaluation h4{margin:0;font-size:1.05rem}.task-results__evaluation-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.task-results__evaluation-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.35rem .5rem;border-radius:.55rem;background:#fffc}.task-results__evaluation-name{font-weight:600;color:#7c2d12}.task-results__evaluation-list .is-fulfilled{color:#166534;font-weight:600}.task-results__evaluation-list .is-missing{color:var(--app-color-error);font-weight:600}.task-results__score{margin:0;font-weight:600;color:#9a3412}.task-results__criteria{border-top:1px solid rgba(249,115,22,.35);padding-top:.5rem;display:grid;gap:.5rem}.task-results__criteria h5{margin:0;font-size:.95rem;color:#9a3412}.task-results__criteria-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.task-results__criteria-list li{display:grid;gap:.25rem;padding:.45rem .6rem;border-radius:.55rem;background:#ffffffd9;color:#7c2d12;font-weight:500}.task-results__criteria-empty{margin:0;color:#b45309}.task-results__criteria-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.task-results__criteria-score{font-weight:600;color:#9a3412}.task-results__criteria-comment{margin:0;color:#7c2d12;font-weight:400;line-height:1.4}.task-results__evaluation-error{margin:0;color:var(--app-color-error);font-weight:600}.task-results__evaluation-empty{margin:0;color:#b45309}.task-results__sample{border:1px solid rgba(148,163,184,.4);border-radius:.75rem;padding:1rem;background:#fdf4ff;display:grid;gap:.5rem;color:#0f172a}body.telegram-shell-body .task-results,body.telegram-shell-body .task-results__text,body.telegram-shell-body .task-results__text-block,body.telegram-shell-body .task-results__text-content,body.telegram-shell-body .task-results__diff,body.telegram-shell-body .task-results__sentence-table th,body.telegram-shell-body .task-results__sentence-table td,body.telegram-shell-body .task-results__sample,body.telegram-shell-body .task-results__sample-text,body.telegram-shell-body .task-results__sentence-table-wrapper{color:#0f172a}body.telegram-shell-body .task-results__sentence-table th,body.telegram-shell-body .task-results__sentence-table td{background:#fff}.task-results__sample h4{margin:0}.task-results__sample-text{margin:0;line-height:1.6}.task-results__sample-error{margin:0;color:var(--app-color-error);font-weight:600}.tasks-menu{display:grid;gap:1.5rem}.tasks-menu__options{display:grid;gap:1rem}@media (min-width: 720px){.tasks-menu__options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.tasks-menu__option{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem 1.1rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.4);background:#0e1525;text-align:left;color:inherit;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.tasks-menu__option:hover,.tasks-menu__option:focus-visible{border-color:#2563eb99;box-shadow:0 12px 30px -18px #2563eb99;transform:translateY(-1px)}.tasks-menu__option:focus-visible{outline:2px solid rgba(37,99,235,.7);outline-offset:2px}.tasks-menu__option-title{font-weight:600}.tasks-menu__option-description{font-size:.9rem;color:#64748b}.tasks-menu__hint{margin:0;font-size:.95rem;color:#64748b}.tasks-chooser{display:grid;gap:1.25rem}.tasks-chooser__header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.tasks-chooser__header h3{margin:0}.tasks-chooser__search{display:grid;gap:.4rem}.tasks-chooser__search label{font-weight:600;font-size:.95rem}.tasks-chooser__search input{border-radius:.75rem;border:1px solid var(--app-color-border);padding:.55rem .75rem;font-size:.95rem}.tasks-chooser__search input:focus-visible{outline:2px solid var(--app-color-accent);outline-offset:2px}.tasks-chooser__list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;max-height:24rem;overflow-y:auto;padding-right:.25rem}.tasks-chooser__item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.75rem .9rem;border-radius:.8rem;border:1px solid var(--app-color-border);background:var(--app-color-surface);text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.tasks-chooser__item:hover,.tasks-chooser__item:focus-visible{border-color:color-mix(in srgb,var(--app-color-accent) 65%,transparent);box-shadow:0 10px 28px -18px color-mix(in srgb,var(--app-color-accent) 45%,transparent);transform:translateY(-1px)}.tasks-chooser__item:focus-visible{outline:2px solid var(--app-color-accent);outline-offset:2px}.tasks-chooser__item-title{font-weight:600}.tasks-chooser__item-meta{font-size:.85rem;color:var(--app-color-text-tertiary)}.tasks-chooser__status{margin:0;font-size:.95rem;color:var(--app-color-text-tertiary)}.tasks-manage{display:grid;gap:1.25rem}.tasks-manage__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem}.tasks-manage__header h3{margin:0}.tasks-manage__actions{display:flex;gap:.5rem;flex-wrap:wrap}.tasks-manage__bulk-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tasks-manage__bulk-actions button{flex:0 0 auto}.tasks-manage__bulk-actions .tasks-manage__danger{background:color-mix(in srgb,var(--app-color-error) 12%,transparent);color:var(--app-color-error);border:1px solid color-mix(in srgb,var(--app-color-error) 30%,transparent)}.tasks-manage__bulk-actions .tasks-manage__danger:disabled{opacity:.6;cursor:not-allowed}.tasks-manage__import-input{display:none}.tasks-manage__status{margin:0;font-size:.95rem;color:var(--app-color-text-tertiary)}.tasks-manage__list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.tasks-manage__list-item{display:flex;flex-direction:column;gap:.5rem;padding:.85rem .95rem;border:1px solid var(--app-color-border);border-radius:.85rem;background:var(--tg-shell-surface, var(--app-color-surface-elevated))}@media (min-width: 720px){.tasks-manage__list-item{flex-direction:row;justify-content:space-between;align-items:center}}.tasks-manage__list-item--editing{gap:.75rem}@media (min-width: 720px){.tasks-manage__list-item--editing{flex-direction:column;align-items:stretch}}.tasks-manage__item-content{display:flex;flex-direction:column;gap:.25rem}.tasks-manage__item-title{font-weight:600}.tasks-manage__item-meta{font-size:.85rem;color:var(--app-color-text-tertiary)}.tasks-manage__item-actions{display:flex;gap:.5rem;flex-wrap:wrap}.tasks-manage__item-form{border-top:1px solid rgba(148,163,184,.35);padding-top:.75rem}
