.nav-menu[data-v-77d2cb33]{position:relative}.burger[data-v-77d2cb33]{background:transparent;border:1px solid var(--border-muted);border-radius:var(--radius-md);font-size:18px;line-height:1;padding:var(--space-2) var(--space-3);cursor:pointer;color:var(--fg-default)}.burger[data-v-77d2cb33]:hover{border-color:var(--violet);color:var(--violet)}.backdrop[data-v-77d2cb33]{position:fixed;inset:0;z-index:90}.dropdown[data-v-77d2cb33]{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:101;background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:var(--radius-md);box-shadow:var(--shadow-md, 0 4px 12px rgba(0,0,0,.15));min-width:220px;padding:var(--space-2);display:flex;flex-direction:column}.item[data-v-77d2cb33]{text-align:left;background:transparent;border:none;padding:var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.9375rem;color:var(--fg-default)}.item[data-v-77d2cb33]:hover{background:var(--bg-default);color:var(--violet)}.app-shell[data-v-57dce7a2]{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-header[data-v-57dce7a2]{position:sticky;top:0;background:var(--bg-subtle);border-bottom:1px solid var(--border-muted);padding:var(--space-4);z-index:100}.header-nav[data-v-57dce7a2]{display:flex;justify-content:space-between;align-items:center;max-width:100%}.nav-left[data-v-57dce7a2]{display:flex;align-items:center;gap:var(--space-3)}.header-title[data-v-57dce7a2]{font-size:20px;font-weight:600;color:var(--fg-default);margin:0}.logout-button[data-v-57dce7a2]{background:transparent;color:var(--fg-muted);border:1px solid var(--border-muted);padding:var(--space-2) var(--space-3);font-size:15px;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--easing-out)}.logout-button[data-v-57dce7a2]:hover{color:var(--violet);border-color:var(--violet)}.logout-button[data-v-57dce7a2]:active{transform:scale(.98)}.app-main[data-v-57dce7a2]{flex:1;width:100%;display:flex;flex-direction:column;min-height:0}#app[data-v-83c89fc4]{width:100%;min-height:100vh;display:flex;flex-direction:column}.btn[data-v-384f7b2a]{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:14.5px;font-weight:700;transition:transform .12s,box-shadow .15s,background .15s;cursor:pointer}.btn.full[data-v-384f7b2a]{width:100%}.btn.primary[data-v-384f7b2a]{background:var(--violet);color:#fff;box-shadow:0 8px 20px #6c4bf64d}.btn.primary[data-v-384f7b2a]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 26px #6c4bf661}.btn.ghost[data-v-384f7b2a]{background:var(--bg-subtle);color:var(--fg-default);border:1.5px solid var(--border-default)}.btn[data-v-384f7b2a]:disabled{background:var(--bg-muted);color:var(--fg-subtle);box-shadow:none;cursor:not-allowed}.login-view[data-v-ea5eac16]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4);background:var(--bg-canvas)}form[data-v-ea5eac16]{width:100%;max-width:400px}.auth-card[data-v-ea5eac16]{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-5);display:flex;flex-direction:column;background:var(--bg-subtle)}.auth-title[data-v-ea5eac16]{margin:0;font-weight:800;font-size:1.25rem;color:var(--fg-default);font-family:var(--font-sans)}label[data-v-ea5eac16]{display:flex;flex-direction:column;gap:var(--space-2);font-size:.875rem;font-weight:500;color:var(--fg-muted)}input[data-v-ea5eac16]{padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;color:var(--fg-default);background:var(--bg-default)}input[data-v-ea5eac16]:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 2px #6c4bf61a}input[aria-invalid=true][data-v-ea5eac16]{border-color:var(--danger);box-shadow:none}.error-message[data-v-ea5eac16]{color:var(--danger);font-size:.875rem;font-weight:400;margin-top:calc(-1 * var(--space-2))}.server-error-alert[data-v-ea5eac16]{padding:var(--space-3);border-radius:var(--radius-md);background:var(--red-soft);color:var(--danger);font-size:.875rem;text-align:center}.register-link-container[data-v-ea5eac16]{display:flex;justify-content:center;gap:var(--space-1);font-size:.875rem;color:var(--fg-muted);margin-top:var(--space-2)}.register-link[data-v-ea5eac16]{background:none;border:none;color:var(--violet-ink);cursor:pointer;padding:0;font-size:inherit;font-weight:inherit;text-decoration:none;transition:color .2s}.register-link[data-v-ea5eac16]:hover{text-decoration:underline}.register-link[data-v-ea5eac16]:focus{outline:2px solid var(--violet);outline-offset:2px;border-radius:var(--radius-sm)}.register-view[data-v-3a761e48]{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4);background:var(--bg-canvas)}form[data-v-3a761e48]{width:100%;max-width:400px}.auth-card[data-v-3a761e48]{border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-5);display:flex;flex-direction:column;background:var(--bg-subtle)}.auth-title[data-v-3a761e48]{margin:0;font-weight:800;font-size:1.25rem;color:var(--fg-default);font-family:var(--font-sans)}label[data-v-3a761e48]{display:flex;flex-direction:column;gap:var(--space-2);font-size:.875rem;font-weight:500;color:var(--fg-muted)}input[data-v-3a761e48]{padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:1rem;font-family:inherit;color:var(--fg-default);background:var(--bg-default)}input[data-v-3a761e48]:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 2px #6c4bf61a}input[aria-invalid=true][data-v-3a761e48]{border-color:var(--danger);box-shadow:none}.error-message[data-v-3a761e48]{color:var(--danger);font-size:.875rem;font-weight:400;margin-top:calc(-1 * var(--space-2))}.server-error-alert[data-v-3a761e48]{padding:var(--space-3);border-radius:var(--radius-md);background:var(--red-soft);color:var(--danger);font-size:.875rem;text-align:center}.login-link-container[data-v-3a761e48]{display:flex;justify-content:center;gap:var(--space-1);font-size:.875rem;color:var(--fg-muted);margin-top:var(--space-2)}.login-link[data-v-3a761e48]{background:none;border:none;color:var(--violet-ink);cursor:pointer;padding:0;font-size:inherit;font-weight:inherit;text-decoration:none;transition:color .2s}.login-link[data-v-3a761e48]:hover{text-decoration:underline}.login-link[data-v-3a761e48]:focus{outline:2px solid var(--violet);outline-offset:2px;border-radius:var(--radius-sm)}.duration[data-v-08375e2b]{display:flex;flex-direction:column;gap:10px}.head[data-v-08375e2b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.label[data-v-08375e2b]{font-size:13px;font-weight:700;color:var(--fg-default)}.pill[data-v-08375e2b]{padding:4px 12px;border-radius:var(--radius-full);background:var(--violet);color:#fff;font-size:13.5px;font-weight:800}.track-wrap[data-v-08375e2b]{position:relative;height:22px;display:flex;align-items:center}.track[data-v-08375e2b]{position:absolute;left:0;right:0;height:7px;border-radius:7px;background:var(--bg-default);border:1px solid var(--border-muted)}.fill[data-v-08375e2b]{position:absolute;left:0;height:7px;border-radius:7px;background:var(--violet)}.thumb[data-v-08375e2b]{position:absolute;width:22px;height:22px;border-radius:22px;background:var(--bg-subtle);border:3px solid var(--violet);box-shadow:0 3px 8px #6c4bf64d;pointer-events:none}input[type=range][data-v-08375e2b]{position:absolute;left:0;width:100%;height:22px;margin:0;opacity:0;cursor:pointer}.tip[data-v-2a3093ba]{position:relative;background:var(--violet-soft);border:1px solid var(--violet-border);border-radius:var(--radius-md);padding:14px 40px 14px 16px;margin-bottom:12px}.x[data-v-2a3093ba]{position:absolute;top:10px;right:12px;color:var(--violet-ink);font-size:16px;line-height:1;background:none;border:none;cursor:pointer;padding:0}.title[data-v-2a3093ba]{font-size:13px;font-weight:800;color:var(--violet-ink);margin-bottom:10px}.grid[data-v-2a3093ba]{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.row[data-v-2a3093ba]{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;font-weight:500;color:var(--fg-default);line-height:1.4}.dot[data-v-2a3093ba]{flex:0 0 auto;margin-top:6px;width:5px;height:5px;border-radius:5px;background:var(--violet)}@media (max-width: 760px){.grid[data-v-2a3093ba]{grid-template-columns:1fr}}.form-view[data-v-fc408c81]{display:flex;align-items:center;justify-content:center;flex:1;padding:var(--space-4);background:var(--bg-default)}.loading-container[data-v-fc408c81],.error-container[data-v-fc408c81]{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-4);width:100%;max-width:400px;padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-subtle)}.error-message[data-v-fc408c81]{margin:0;color:var(--danger);font-weight:500}.error-hint[data-v-fc408c81]{margin:0;color:var(--fg-muted);font-size:.875rem}.form-card[data-v-fc408c81]{width:100%;max-width:480px}.form-card>fieldset[data-v-fc408c81]{border:none;background:var(--bg-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:24px;gap:20px;display:flex;flex-direction:column}.form-title[data-v-fc408c81]{margin:0;padding:0;font-weight:800;font-family:Manrope,sans-serif;font-size:18px;color:var(--fg-default)}.subject-label[data-v-fc408c81]{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:var(--fg-default)}select[data-v-fc408c81]{padding:10px 12px;border:1px solid var(--border-muted);border-radius:var(--radius-md);font-size:14px;font-family:inherit;color:var(--fg-default);background:var(--bg-subtle)}select[data-v-fc408c81]:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 2px #6c4bf61a}.chapters-fieldset[data-v-fc408c81]{border:none;padding:0;gap:12px;display:flex;flex-direction:column}.chapters-header[data-v-fc408c81]{display:flex;flex-direction:column;gap:12px}.chapters-title[data-v-fc408c81]{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:13px;color:var(--fg-default)}.chapters-actions[data-v-fc408c81]{display:flex;gap:10px;align-items:center}.btn-tip[data-v-fc408c81]{width:28px;height:28px;border-radius:50%;background:var(--violet-soft);color:var(--violet-ink);border:1px solid var(--violet-border);cursor:pointer;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .12s}.btn-tip[data-v-fc408c81]:hover{background:var(--violet-border)}.btn-action[data-v-fc408c81]{padding:8px 14px;background:var(--bg-default);border:1px solid var(--border-muted);border-radius:var(--radius-md);font-size:12.5px;font-weight:600;color:var(--fg-default);cursor:pointer;transition:background .12s,border .12s}.btn-action[data-v-fc408c81]:hover{background:var(--bg-subtle);border-color:var(--border-default)}.chapters-grid[data-v-fc408c81]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chapter-card-wrapper[data-v-fc408c81]{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;transition:background .12s}.chapter-card-wrapper.checked[data-v-fc408c81]{background:var(--violet-soft);border-color:var(--violet-border)}.chapter-checkbox[data-v-fc408c81]{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0}.chapter-checkbox:focus-visible+.chapter-check[data-v-fc408c81]{outline:2px solid var(--violet);outline-offset:2px}.chapter-check[data-v-fc408c81]{margin-top:1px;width:20px;height:20px;border-radius:7px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border:1.5px solid var(--border-default)}.chapter-card-wrapper.checked .chapter-check[data-v-fc408c81]{background:var(--violet);border-color:var(--violet)}.chapter-text[data-v-fc408c81]{display:flex;flex-direction:column;gap:2px}.chapter-name[data-v-fc408c81]{font-size:14.5px;font-weight:700;color:var(--fg-default)}.chapter-desc[data-v-fc408c81]{font-size:12.5px;font-weight:500;color:var(--fg-muted);line-height:1.4}@media (max-width: 760px){.chapters-grid[data-v-fc408c81]{grid-template-columns:1fr}.chapters-actions[data-v-fc408c81]{flex-wrap:wrap}}.error[data-v-fc408c81]{margin:0;padding:12px;border-radius:var(--radius-md);background:var(--danger-bg, #fee);color:var(--danger, #c33);font-size:13px;font-weight:500}:root{--bg-canvas: #eceef7;--bg-default: #f5f6fc;--bg-subtle: #ffffff;--bg-muted: #eef1f7;--bg-emphasis: #ede8ff;--fg-default: #15162a;--fg-muted: #54576f;--fg-subtle: #9396ac;--border-default: #dadcec;--border-muted: #e7e9f3;--border-subtle: #e7e9f3;--accent-fg: #6c4bf6;--accent-emphasis: #4a2cd4;--success: #12a574;--warning: #e08a17;--danger: #e0463f;--info: #6c4bf6;--bg-success-subtle: #e0f4ec;--bg-warning-subtle: #fbf0db;--bg-danger-subtle: #fcebea;--bg-accent-subtle: #ede8ff;--violet: #6c4bf6;--violet-soft: #ede8ff;--violet-ink: #4a2cd4;--violet-border: #d9cffb;--mint: #12a574;--mint-soft: #e0f4ec;--mint-ink: #0c7c56;--amber: #e08a17;--amber-soft: #fbf0db;--amber-ink: #9a5e0a;--red: #e0463f;--red-soft: #fcebea;--font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "Monaco", "Courier New", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(40, 40, 90, .05);--shadow-md: 0 8px 24px rgba(40, 40, 90, .1);--shadow-lg: 0 14px 44px rgba(40, 40, 90, .14);--z-sticky: 100;--z-modal: 200;--z-notification: 300;--duration-fast: .15s;--duration-medium: .3s;--easing-out: cubic-bezier(.4, 0, .2, 1)}body{background-color:var(--bg-canvas);color:var(--fg-default)}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2) format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-cyrillic-500-normal-B1OEZity.woff2) format("woff2"),url(/assets/manrope-cyrillic-500-normal-CNwnNrRC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2) format("woff2"),url(/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-cyrillic-800-normal-AvdZ5mAV.woff2) format("woff2"),url(/assets/manrope-cyrillic-800-normal-BuEMjQU-.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff")}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%}body{font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--fg-default, #15162a);background-color:var(--bg-canvas, #eceef7);font-display:swap}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--space-4)}p{margin-bottom:var(--space-3)}code,pre{font-family:var(--font-mono);font-size:13px;line-height:1.6}input,button,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}a{color:var(--accent-fg);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid var(--accent-fg);outline-offset:2px;border-radius:var(--radius-sm)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-fg);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
