@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--color-primary: #1e40af;--color-primary-hover: #1d3a9f;--color-primary-light: #dbeafe;--color-secondary: #0ea5e9;--color-secondary-hover:#0284c7;--color-accent: #f97316;--color-accent-hover: #ea6c0a;--color-accent-alt: #eab308;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #334155;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-border-subtle: #f1f5f9;--color-success: #16a34a;--color-success-text: #22c55e;--color-warning: #f97316;--color-star: #eab308;--color-error: #dc2626;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold:600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed:1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--container-max: 1280px;--container-pad: var(--space-6);--mobile-breakpoint: 768px;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .04);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--header-height: 3.25rem;--header-blur: blur(12px);--sidebar-width: 16rem;--lesson-topbar-height: 2.75rem;--color-primary-bg: rgba(59,130,246,.12);--color-success-bg: rgba(22,163,74,.12);--color-accent-bg: rgba(249,115,22,.12);--color-step-text: #60a5fa;--color-step-video: #a78bfa;--color-step-quiz: #34d399;--color-step-code: #fb923c;--color-code-bg: rgba(99, 102, 241, .08);--color-code-text: #4f46e5;--color-code-block-bg: #f8f8fc}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:var(--leading-tight)}[data-theme=dark]{--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #243249;--color-text: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-border: #334155;--color-border-subtle: #1e293b;--color-primary-light: #1e3a6e;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-code-bg: rgba(139, 92, 246, .15);--color-code-text: #a78bfa;--color-code-block-bg: #1a1a2e}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-semibold);transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);cursor:pointer;border:2px solid transparent;white-space:nowrap}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover{background-color:var(--color-primary-light)}.btn-accent{background-color:var(--color-accent);color:#fff}.btn-accent:hover{background-color:var(--color-accent-hover);box-shadow:var(--shadow-md)}.btn-ghost{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-ghost:hover{background-color:var(--color-bg-secondary)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge-accent{background-color:#fff3e0;color:var(--color-accent)}[data-theme=dark] .badge-accent{background-color:#3d2308;color:#fb923c}.section-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text);line-height:var(--leading-tight)}@media(min-width:768px){.section-title{font-size:var(--text-4xl)}}.section-subtitle{font-size:var(--text-lg);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:40rem}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.sidebar{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.notif-stack[data-v-33190020]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:380px;width:calc(100vw - 40px);pointer-events:none}.notification[data-v-33190020]{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid transparent;background:var(--color-bg-secondary);box-shadow:0 4px 24px #00000026;pointer-events:all;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.notification--success[data-v-33190020]{border-color:#22c55e4d;background:#22c55e14}.notification--error[data-v-33190020]{border-color:#ef44444d;background:#ef444414}.notification--warning[data-v-33190020]{border-color:#f59e0b4d;background:#f59e0b14}.notification--info[data-v-33190020]{border-color:#3b82f64d;background:#3b82f614}.notification__icon[data-v-33190020]{flex-shrink:0;width:20px;height:20px;margin-top:1px}.notification__icon svg[data-v-33190020]{width:20px;height:20px;display:block}.notification--success .notification__icon[data-v-33190020]{color:#22c55e}.notification--error .notification__icon[data-v-33190020]{color:#ef4444}.notification--warning .notification__icon[data-v-33190020]{color:#f59e0b}.notification--info .notification__icon[data-v-33190020]{color:#3b82f6}.notification__body[data-v-33190020]{flex:1;min-width:0}.notification__title[data-v-33190020]{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0;line-height:1.4}.notification__message[data-v-33190020]{font-size:.8rem;color:var(--color-text-muted);margin:2px 0 0;line-height:1.4;word-wrap:break-word}.notification__close[data-v-33190020]{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0;display:inline-flex;align-items:center;justify-content:center;transition:color .15s}.notification__close[data-v-33190020]:hover{color:var(--color-text)}.confirm-overlay[data-v-33190020]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog[data-v-33190020]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:24px;max-width:400px;width:100%;box-shadow:0 20px 60px #0000004d}.confirm-dialog__title[data-v-33190020]{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 8px}.confirm-dialog__message[data-v-33190020]{font-size:.875rem;color:var(--color-text-muted);margin:0 0 20px;line-height:1.5;word-wrap:break-word}.confirm-dialog__actions[data-v-33190020]{display:flex;gap:8px;justify-content:flex-end}.confirm-dialog__btn[data-v-33190020]{padding:8px 20px;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:opacity .15s,transform .1s,color .15s,border-color .15s,background .15s;font-family:inherit}.confirm-dialog__btn[data-v-33190020]:active{transform:scale(.98)}.confirm-dialog__btn--cancel[data-v-33190020]{background:transparent;border-color:var(--color-border);color:var(--color-text-muted)}.confirm-dialog__btn--cancel[data-v-33190020]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.confirm-dialog__btn--confirm[data-v-33190020]{background:var(--color-primary);color:#fff}.confirm-dialog__btn--confirm[data-v-33190020]:hover{opacity:.9}.confirm-dialog__btn--danger[data-v-33190020]{background:var(--color-error);color:#fff}.confirm-dialog__btn--danger[data-v-33190020]:hover{opacity:.9}.notification-enter-active[data-v-33190020]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.notification-leave-active[data-v-33190020]{transition:all .2s ease;position:absolute;right:0;width:100%}.notification-enter-from[data-v-33190020],.notification-leave-to[data-v-33190020]{opacity:0;transform:translate(100%)}.notification-move[data-v-33190020]{transition:transform .3s ease}.confirm-enter-active[data-v-33190020],.confirm-leave-active[data-v-33190020]{transition:opacity .2s ease}.confirm-enter-from[data-v-33190020],.confirm-leave-to[data-v-33190020]{opacity:0}.confirm-enter-active .confirm-dialog[data-v-33190020],.confirm-leave-active .confirm-dialog[data-v-33190020]{transition:transform .2s ease}.confirm-enter-from .confirm-dialog[data-v-33190020],.confirm-leave-to .confirm-dialog[data-v-33190020]{transform:scale(.96) translateY(-8px)}.mute-modal-overlay[data-v-ad65056e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.mute-modal[data-v-ad65056e]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:20px;width:90%;max-width:400px;box-shadow:0 10px 40px #0003}.mute-modal__title[data-v-ad65056e]{margin:0 0 4px;font-size:1.05rem;color:var(--color-text)}.mute-modal__user[data-v-ad65056e]{margin:0 0 16px;font-size:.85rem;color:var(--color-text-muted)}.mute-modal__field[data-v-ad65056e]{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:.85rem;color:var(--color-text)}.mute-modal__field label[data-v-ad65056e]{display:flex;align-items:center;gap:6px;cursor:pointer}.mute-modal__field input[type=number][data-v-ad65056e],.mute-modal__field textarea[data-v-ad65056e]{width:100%;padding:6px 10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text);font-size:.85rem;font-family:inherit;resize:vertical}.mute-modal__actions[data-v-ad65056e]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.mute-modal__btn[data-v-ad65056e]{padding:8px 14px;border-radius:6px;border:1px solid transparent;cursor:pointer;font-size:.85rem;font-weight:500}.mute-modal__btn--ghost[data-v-ad65056e]{background:transparent;color:var(--color-text);border-color:var(--color-border)}.mute-modal__btn--danger[data-v-ad65056e]{background:#ef4444;color:#fff}.fade-enter-active[data-v-ad65056e],.fade-leave-active[data-v-ad65056e]{transition:opacity .15s}.fade-enter-from[data-v-ad65056e],.fade-leave-to[data-v-ad65056e]{opacity:0}.chat-panel[data-v-1902a6e4]{position:fixed;top:0;right:0;height:100vh;width:360px;max-width:100vw;background:var(--color-bg);border-left:1px solid var(--color-border);display:flex;flex-direction:column;z-index:500;box-shadow:-4px 0 24px #00000026}@media(max-width:480px){.chat-panel[data-v-1902a6e4]{width:100vw}}.chat-panel-header[data-v-1902a6e4]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.chat-panel-title[data-v-1902a6e4]{font-weight:600;font-size:.95rem;color:var(--color-text)}.chat-close-btn[data-v-1902a6e4]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:4px;border-radius:4px;transition:color .15s}.chat-close-btn[data-v-1902a6e4]:hover{color:var(--color-text)}.chat-tabs[data-v-1902a6e4]{display:flex;border-bottom:1px solid var(--color-border);flex-shrink:0}.chat-tab[data-v-1902a6e4]{flex:1;padding:10px 8px;font-size:.82rem;font-weight:500;color:var(--color-text-muted);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s;position:relative}.chat-tab--active[data-v-1902a6e4]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.chat-tab-badge[data-v-1902a6e4]{position:absolute;top:6px;right:4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;border-radius:10px;padding:1px 5px;min-width:16px;text-align:center}.chat-messages[data-v-1902a6e4]{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:2px;scroll-behavior:smooth}.chat-messages-list[data-v-1902a6e4]{display:flex;flex-direction:column;gap:2px}.chat-empty[data-v-1902a6e4]{margin:auto;padding:20px;text-align:center;color:var(--color-text-muted);font-size:.85rem}[data-v-1902a6e4] .chat-message{display:flex;gap:8px;padding:4px 0;align-items:flex-end}[data-v-1902a6e4] .chat-message--own{flex-direction:row-reverse}[data-v-1902a6e4] .chat-message--system{justify-content:center}[data-v-1902a6e4] .chat-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0}[data-v-1902a6e4] .chat-avatar img{width:100%;height:100%;object-fit:cover}[data-v-1902a6e4] .chat-avatar-placeholder{width:100%;height:100%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}[data-v-1902a6e4] .chat-bubble{max-width:75%;min-width:60px}[data-v-1902a6e4] .chat-sender{display:flex;align-items:center;gap:6px;margin-bottom:2px}[data-v-1902a6e4] .chat-sender-name{font-size:.75rem;font-weight:600;color:var(--color-primary)}[data-v-1902a6e4] .chat-sender-role{font-size:.65rem;background:#3b82f626;color:var(--color-primary);padding:1px 5px;border-radius:4px}[data-v-1902a6e4] .chat-text{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px 12px 12px 4px;padding:8px 12px;font-size:.875rem;color:var(--color-text);line-height:1.5;white-space:pre-wrap;word-break:break-word}[data-v-1902a6e4] .chat-message--own .chat-text{background:var(--color-primary);color:#fff;border-color:transparent;border-radius:12px 12px 4px}[data-v-1902a6e4] .chat-message--staff .chat-text{border-color:#3b82f64d}[data-v-1902a6e4] .chat-text--system{background:transparent;border-color:transparent;color:var(--color-text-muted);font-style:italic;font-size:.78rem;text-align:center}[data-v-1902a6e4] .chat-code-attachment{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;max-width:100%}[data-v-1902a6e4] .chat-code-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#0000001a;font-size:.72rem;border-bottom:1px solid var(--color-border)}[data-v-1902a6e4] .chat-code-lang{font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}[data-v-1902a6e4] .chat-code-link{color:var(--color-primary);font-size:.72rem;text-decoration:none}[data-v-1902a6e4] .chat-code-link:hover{text-decoration:underline}[data-v-1902a6e4] .chat-code-block{padding:10px;font-size:.78rem;font-family:var(--font-mono, monospace);color:var(--color-text);overflow-x:auto;margin:0;max-height:200px;white-space:pre}[data-v-1902a6e4] .chat-text--after-code{border-top:1px solid var(--color-border);border-radius:0;border-left:none;border-right:none;border-bottom:none}[data-v-1902a6e4] .chat-meta{display:flex;align-items:center;gap:6px;margin-top:3px;padding:0 4px}[data-v-1902a6e4] .chat-message--own .chat-meta{flex-direction:row-reverse}[data-v-1902a6e4] .chat-time{font-size:.68rem;color:var(--color-text-muted)}[data-v-1902a6e4] .chat-actions{display:flex;gap:2px}[data-v-1902a6e4] .chat-action-btn{background:none;border:none;cursor:pointer;font-size:.78rem;padding:2px 4px;border-radius:4px;opacity:0;transition:opacity .15s}[data-v-1902a6e4] .chat-message:hover .chat-action-btn{opacity:1}[data-v-1902a6e4] .chat-deleted{font-size:.8rem;color:var(--color-text-muted);font-style:italic;padding:6px 12px;background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border)}.chat-input-area[data-v-1902a6e4]{flex-shrink:0;padding:10px 12px;border-top:1px solid var(--color-border)}.chat-attach-code-btn[data-v-1902a6e4]{background:transparent;border:1px dashed var(--color-border);color:var(--color-primary);padding:6px 10px;border-radius:6px;font-size:.78rem;cursor:pointer;margin-bottom:8px;width:100%;text-align:center}.chat-attach-code-btn[data-v-1902a6e4]:hover:not(:disabled){border-color:var(--color-primary)}.chat-attach-code-btn[data-v-1902a6e4]:disabled{opacity:.5;cursor:not-allowed}.chat-attachment-preview[data-v-1902a6e4]{margin:0 12px 8px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.chat-attachment-header[data-v-1902a6e4]{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.78rem;color:var(--color-text-muted)}.chat-attachment-header button[data-v-1902a6e4]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.85rem}.chat-attachment-code[data-v-1902a6e4]{padding:6px 10px;font-size:.72rem;font-family:var(--font-mono, monospace);color:var(--color-text);margin:0;max-height:80px;overflow:hidden}.chat-input-row[data-v-1902a6e4]{display:flex;gap:8px;align-items:flex-end}.chat-input[data-v-1902a6e4]{flex:1;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;padding:8px 12px;font-size:.875rem;color:var(--color-text);resize:none;max-height:120px;min-height:36px;line-height:1.4;font-family:inherit;transition:border-color .15s}.chat-input[data-v-1902a6e4]:focus{outline:none;border-color:var(--color-primary)}.chat-send-btn[data-v-1902a6e4]{width:36px;height:36px;border-radius:8px;background:var(--color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}.chat-send-btn[data-v-1902a6e4]:disabled{opacity:.4;cursor:not-allowed}.chat-input-hint[data-v-1902a6e4]{font-size:.68rem;color:var(--color-text-muted);margin-top:4px}.chat-muted-notice[data-v-1902a6e4]{font-size:.78rem;color:#ef4444;margin-top:4px;text-align:center}.chat-load-more[data-v-1902a6e4]{width:100%;padding:6px;font-size:.78rem;color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;margin-bottom:8px;transition:background .15s}.chat-load-more[data-v-1902a6e4]:hover{background:var(--color-bg-secondary)}.chat-panel-enter-active[data-v-1902a6e4],.chat-panel-leave-active[data-v-1902a6e4]{transition:transform .25s cubic-bezier(.4,0,.2,1)}.chat-panel-enter-from[data-v-1902a6e4],.chat-panel-leave-to[data-v-1902a6e4]{transform:translate(100%)}.message-list-enter-active[data-v-1902a6e4]{transition:all .2s ease}.message-list-enter-from[data-v-1902a6e4]{opacity:0;transform:translateY(8px)}.fade-enter-active[data-v-1902a6e4],.fade-leave-active[data-v-1902a6e4]{transition:opacity .2s}.fade-enter-from[data-v-1902a6e4],.fade-leave-to[data-v-1902a6e4]{opacity:0}.chat-overlay[data-v-1902a6e4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:499}.user-dropdown[data-v-b39c6df0]{position:relative}.user-dropdown__trigger[data-v-b39c6df0]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-md);background:none;border:none;cursor:pointer;color:var(--color-text);transition:background-color var(--transition-fast)}.user-dropdown__trigger[data-v-b39c6df0]:hover{background-color:var(--color-bg-tertiary)}.user-dropdown__trigger--compact[data-v-b39c6df0]{padding:0;gap:0}.user-dropdown__trigger--compact[data-v-b39c6df0]:hover{background:none}.user-dropdown__trigger--compact:hover .user-dropdown__avatar[data-v-b39c6df0]{opacity:.85}.user-dropdown__avatar[data-v-b39c6df0]{width:1.875rem;height:1.875rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:var(--font-bold);color:#fff;flex-shrink:0;overflow:hidden;transition:opacity var(--transition-fast)}.user-dropdown--compact .user-dropdown__avatar[data-v-b39c6df0]{width:32px;height:32px}.user-dropdown__avatar-img[data-v-b39c6df0]{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-dropdown__avatar-initials[data-v-b39c6df0]{font-size:.65rem;font-weight:var(--font-bold);color:#fff}.user-dropdown--compact .user-dropdown__avatar-initials[data-v-b39c6df0]{font-size:12px;font-weight:var(--font-semibold)}.user-dropdown__name[data-v-b39c6df0]{font-size:var(--text-sm);font-weight:var(--font-medium)}@media(max-width:639px){.user-dropdown__name[data-v-b39c6df0]{display:none}}.user-dropdown__chevron[data-v-b39c6df0]{color:var(--color-text-muted);transition:transform var(--transition-fast)}.user-dropdown__chevron--open[data-v-b39c6df0]{transform:rotate(180deg)}.user-dropdown__menu[data-v-b39c6df0]{position:absolute;top:calc(100% + 6px);right:0;min-width:12rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-1);z-index:1000;overflow:hidden}.user-dropdown__header[data-v-b39c6df0]{padding:var(--space-2) var(--space-3) var(--space-1);display:flex;flex-direction:column;gap:2px}.user-dropdown__header-name[data-v-b39c6df0]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.user-dropdown__header-username[data-v-b39c6df0]{font-size:var(--text-xs);color:var(--color-text-muted);word-break:break-all}.user-dropdown__sep[data-v-b39c6df0]{height:1px;background-color:var(--color-border);margin:var(--space-1) 0}.user-dropdown__item[data-v-b39c6df0]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast),color var(--transition-fast)}.user-dropdown__item[data-v-b39c6df0]:hover{background-color:var(--color-bg-tertiary)}.user-dropdown__item svg[data-v-b39c6df0]{color:var(--color-text-muted);flex-shrink:0}.user-dropdown__item--danger[data-v-b39c6df0]{color:var(--color-error)}.user-dropdown__item--danger[data-v-b39c6df0]:hover{background-color:#dc262614}.user-dropdown__item--danger svg[data-v-b39c6df0]{color:var(--color-error)}.user-dropdown-enter-active[data-v-b39c6df0],.user-dropdown-leave-active[data-v-b39c6df0]{transition:opacity var(--transition-fast),transform var(--transition-fast);transform-origin:top right}.user-dropdown-enter-from[data-v-b39c6df0],.user-dropdown-leave-to[data-v-b39c6df0]{opacity:0;transform:scale(.96) translateY(-4px)}.header[data-v-3e1be1c8]{position:sticky;top:0;z-index:100;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.header__inner[data-v-3e1be1c8]{max-width:var(--container-max);margin:0 auto;padding:.65rem var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.brand[data-v-3e1be1c8]{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none}.brand__logo[data-v-3e1be1c8]{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;font-weight:var(--font-bold);font-size:11px}.app-header__admin-btn[data-v-3e1be1c8]{font-size:.78rem;padding:var(--space-1) var(--space-3);margin-left:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.app-header__admin-btn[data-v-3e1be1c8]:hover,.app-header__admin-btn.router-link-active[data-v-3e1be1c8]{color:var(--color-text);border-color:var(--color-primary)}.app-header__right[data-v-3e1be1c8]{display:flex;align-items:center;gap:var(--space-1);margin-left:auto}.app-header__icon-btn[data-v-3e1be1c8]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast)}.app-header__icon-btn[data-v-3e1be1c8]:hover,.app-header__icon-btn--active[data-v-3e1be1c8]{color:var(--color-text);background-color:var(--color-bg-tertiary)}.app-header__chat-btn[data-v-3e1be1c8]{position:relative}.app-header__chat-badge[data-v-3e1be1c8]{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:.6rem;font-weight:700;border-radius:10px;padding:1px 4px;min-width:14px;text-align:center;line-height:1.4;pointer-events:none}.app-header__signin[data-v-3e1be1c8]{padding:var(--space-2) var(--space-4)!important;font-size:var(--text-sm)!important}.app-header__hamburger[data-v-3e1be1c8]{display:none;flex-direction:column;justify-content:center;gap:4px;width:2rem;height:2rem}@media(max-width:639px){.app-header__hamburger[data-v-3e1be1c8]{display:flex}}.app-header__bar[data-v-3e1be1c8]{display:block;width:16px;height:2px;border-radius:2px;background-color:var(--color-text-muted);transition:transform var(--transition-base),opacity var(--transition-base)}.app-header__mobile[data-v-3e1be1c8]{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-4) var(--space-3);display:flex;flex-direction:column}.app-header__mobile-link[data-v-3e1be1c8]{display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.app-header__avatar-wrap[data-v-3e1be1c8]{position:relative}.app-header__avatar-btn[data-v-3e1be1c8]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-md);color:var(--color-text);transition:background-color var(--transition-fast)}.app-header__avatar-btn[data-v-3e1be1c8]:hover{background-color:var(--color-bg-tertiary)}.app-header__avatar[data-v-3e1be1c8]{width:1.875rem;height:1.875rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:var(--font-bold);color:#fff}.avatar-initials[data-v-3e1be1c8]{color:#fff;font-size:11px;font-weight:var(--font-bold)}.brand__text[data-v-3e1be1c8]{color:var(--color-text);font-weight:var(--font-semibold)}.nav[data-v-3e1be1c8]{display:flex;align-items:center;gap:var(--space-1)}.nav--desktop[data-v-3e1be1c8]{flex:1;margin-left:var(--space-2)}.nav__link[data-v-3e1be1c8]{color:var(--color-text-muted);text-decoration:none;border:none;background:none;font:inherit;cursor:pointer;padding:8px 10px;border-radius:var(--radius-md)}.nav__link[data-v-3e1be1c8]:hover,.nav__link.router-link-active[data-v-3e1be1c8]{color:var(--color-text);background:var(--color-bg-tertiary)}.nav__link--danger[data-v-3e1be1c8]{color:var(--color-error)}.right[data-v-3e1be1c8]{display:inline-flex;align-items:center;gap:var(--space-2)}.icon-btn[data-v-3e1be1c8]{width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.icon-btn[data-v-3e1be1c8]:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.profile[data-v-3e1be1c8]{position:relative}.profile__trigger[data-v-3e1be1c8]{border:none;background:transparent;display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;border-radius:var(--radius-md);padding:4px 8px 4px 4px}.profile__trigger[data-v-3e1be1c8]:hover{background:var(--color-bg-tertiary)}.avatar[data-v-3e1be1c8],.avatar-img[data-v-3e1be1c8]{width:28px;height:28px;border-radius:50%}.avatar[data-v-3e1be1c8]{background:var(--color-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:var(--font-bold)}.avatar-img[data-v-3e1be1c8]{object-fit:cover}.profile__name[data-v-3e1be1c8]{font-size:var(--text-sm);color:var(--color-text);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-enter-active[data-v-3e1be1c8],.mobile-menu-leave-active[data-v-3e1be1c8]{transition:opacity var(--transition-base)}.mobile-menu-enter-from[data-v-3e1be1c8],.mobile-menu-leave-to[data-v-3e1be1c8]{opacity:0}.profile__menu[data-v-3e1be1c8]{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:6px;display:grid;gap:4px}.profile__item[data-v-3e1be1c8]{border:none;background:transparent;text-align:left;color:var(--color-text);text-decoration:none;cursor:pointer;padding:8px 10px;border-radius:var(--radius-md);font-size:var(--text-sm)}.profile__item[data-v-3e1be1c8]:hover{background:var(--color-bg-tertiary)}.profile__item--danger[data-v-3e1be1c8]{color:var(--color-error)}.mobile-only[data-v-3e1be1c8],.nav--mobile[data-v-3e1be1c8]{display:none}@media(max-width:760px){.nav--desktop[data-v-3e1be1c8],.profile__name[data-v-3e1be1c8]{display:none}.mobile-only[data-v-3e1be1c8]{display:inline-flex}.nav--mobile[data-v-3e1be1c8]{display:grid;gap:2px;padding:0 var(--space-4) var(--space-3);border-top:1px solid var(--color-border)}.nav--mobile .nav__link[data-v-3e1be1c8]{padding-left:6px}}.footer[data-v-111ec67b]{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding-top:var(--space-16);padding-bottom:var(--space-8)}.footer__top[data-v-111ec67b]{display:grid;grid-template-columns:1fr;gap:var(--space-12);margin-bottom:var(--space-12)}@media(min-width:768px){.footer__top[data-v-111ec67b]{grid-template-columns:1fr 2fr;gap:var(--space-16)}}.footer__brand[data-v-111ec67b]{display:flex;flex-direction:column;gap:var(--space-4)}.footer__logo[data-v-111ec67b]{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.footer__logo-icon[data-v-111ec67b]{font-size:var(--text-2xl)}.footer__logo strong[data-v-111ec67b]{color:var(--color-primary)}.footer__tagline[data-v-111ec67b]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:22rem}.footer__socials[data-v-111ec67b]{display:flex;gap:var(--space-3);flex-wrap:wrap}.footer__social-link[data-v-111ec67b]{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:var(--text-lg);background-color:var(--color-bg);border:1px solid var(--color-border);transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}.footer__social-link[data-v-111ec67b]:hover{border-color:var(--color-primary);background-color:var(--color-primary-light);transform:translateY(-2px)}.footer__columns[data-v-111ec67b]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}@media(min-width:640px){.footer__columns[data-v-111ec67b]{grid-template-columns:repeat(3,1fr)}}.footer__col-heading[data-v-111ec67b]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--space-4)}.footer__col-links[data-v-111ec67b]{display:flex;flex-direction:column;gap:var(--space-3)}.footer__link[data-v-111ec67b]{font-size:var(--text-sm);color:var(--color-text-muted);transition:color var(--transition-fast)}.footer__link[data-v-111ec67b]:hover{color:var(--color-primary)}.footer__bottom[data-v-111ec67b]{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-8);border-top:1px solid var(--color-border)}@media(min-width:640px){.footer__bottom[data-v-111ec67b]{flex-direction:row;justify-content:space-between;align-items:center}}.footer__copy[data-v-111ec67b],.footer__made[data-v-111ec67b]{font-size:var(--text-sm);color:var(--color-text-muted)}.page[data-v-d2befce8]{min-height:100vh;display:flex;flex-direction:column}.page main[data-v-d2befce8]{flex:1}.section-title[data-v-d2befce8]{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-2)}@media(min-width:768px){.section-title[data-v-d2befce8]{font-size:var(--text-4xl)}}.section-subtitle[data-v-d2befce8]{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-12)}.hero[data-v-d2befce8]{padding:var(--space-20) 0 var(--space-16);background-color:var(--color-bg);overflow:hidden}.hero__inner[data-v-d2befce8]{display:grid;grid-template-columns:1fr;gap:var(--space-12);align-items:center}@media(min-width:1024px){.hero__inner[data-v-d2befce8]{grid-template-columns:1fr 1fr;gap:var(--space-16)}}.hero__content[data-v-d2befce8]{display:flex;flex-direction:column;gap:var(--space-5)}.hero__greeting[data-v-d2befce8]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-primary)}.hero__title[data-v-d2befce8]{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text)}@media(min-width:768px){.hero__title[data-v-d2befce8]{font-size:var(--text-5xl)}}.hero__highlight[data-v-d2befce8]{color:var(--color-primary)}.hero__subtitle[data-v-d2befce8]{font-size:var(--text-xl);color:var(--color-text-muted)}.hero__facts[data-v-d2befce8]{display:flex;flex-direction:column;gap:var(--space-3)}.hero__fact[data-v-d2befce8]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.hero__cta[data-v-d2befce8]{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero__visual[data-v-d2befce8]{position:relative;display:flex;justify-content:center;align-items:center;height:480px}.hero__circle-outer[data-v-d2befce8]{position:absolute;width:460px;height:460px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-bg-secondary) 100%);opacity:.5}.hero__circle-inner[data-v-d2befce8]{position:absolute;width:340px;height:340px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-bg) 100%);opacity:.7}.hero__avatar-placeholder[data-v-d2befce8]{position:relative;z-index:1;width:220px;height:220px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);display:flex;align-items:center;justify-content:center}.hero__avatar-initials[data-v-d2befce8]{font-size:4rem;font-weight:var(--font-bold);color:#fff}.stats-section[data-v-d2befce8]{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-12) 0}.stats-grid[data-v-d2befce8]{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}@media(min-width:768px){.stats-grid[data-v-d2befce8]{grid-template-columns:repeat(4,1fr)}}.stat-card[data-v-d2befce8]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-1)}.stat-card__value[data-v-d2befce8]{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-primary)}@media(min-width:768px){.stat-card__value[data-v-d2befce8]{font-size:var(--text-4xl)}}.stat-card__label[data-v-d2befce8]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}.stat-card__sublabel[data-v-d2befce8]{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:14rem}.directions-section[data-v-d2befce8]{padding:var(--space-20) 0;background-color:var(--color-bg)}.directions-grid[data-v-d2befce8]{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:640px){.directions-grid[data-v-d2befce8]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.directions-grid[data-v-d2befce8]{grid-template-columns:repeat(4,1fr)}}.direction-card[data-v-d2befce8]{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-4);text-decoration:none;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.direction-card[data-v-d2befce8]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.direction-card__icon[data-v-d2befce8]{font-size:3.5rem;line-height:1}.direction-card__title[data-v-d2befce8]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text)}.direction-card__desc[data-v-d2befce8]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);flex:1}.direction-card__btn[data-v-d2befce8]{margin-top:auto}.brain-section[data-v-d2befce8]{padding:var(--space-20) 0;background-color:var(--color-bg-secondary)}.brain-content[data-v-d2befce8]{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);margin-bottom:var(--space-8);text-align:center}@media(min-width:768px){.brain-content[data-v-d2befce8]{flex-direction:row;justify-content:center;text-align:left}}.brain-icon[data-v-d2befce8]{font-size:6rem;line-height:1;flex-shrink:0}.brain-title[data-v-d2befce8]{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-2)}.brain-subtitle[data-v-d2befce8]{font-size:var(--text-lg);color:var(--color-text-muted)}.brain-buttons[data-v-d2befce8]{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.about-section[data-v-d2befce8]{padding:var(--space-20) 0;background-color:var(--color-bg-secondary)}.about-content[data-v-d2befce8]{display:grid;grid-template-columns:1fr;gap:var(--space-16);align-items:center}@media(min-width:1024px){.about-content[data-v-d2befce8]{grid-template-columns:1fr 1fr}}.about-title[data-v-d2befce8]{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-6)}@media(min-width:768px){.about-title[data-v-d2befce8]{font-size:var(--text-4xl)}}.about-item[data-v-d2befce8]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);padding-left:var(--space-6);position:relative;margin-bottom:var(--space-4)}.about-item[data-v-d2befce8]:before{content:"—";position:absolute;left:0;color:var(--color-primary)}.about-visual[data-v-d2befce8]{position:relative;display:flex;justify-content:center;align-items:center;height:400px}.about-circle-outer[data-v-d2befce8]{position:absolute;width:380px;height:380px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-bg) 100%);opacity:.4}.about-circle-inner[data-v-d2befce8]{position:absolute;width:280px;height:280px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-bg-secondary) 100%);opacity:.6}.about-avatar-placeholder[data-v-d2befce8]{position:relative;z-index:1;width:180px;height:180px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);display:flex;align-items:center;justify-content:center}.about-avatar-initials[data-v-d2befce8]{font-size:3rem;font-weight:var(--font-bold);color:#fff}.reviews-section[data-v-d2befce8]{padding:var(--space-20) 0;background-color:var(--color-bg)}.reviews-carousel[data-v-d2befce8]{margin-top:var(--space-10)}.review-card[data-v-d2befce8]{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8)}.review-header[data-v-d2befce8]{display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-6)}.review-avatar[data-v-d2befce8]{width:3.5rem;height:3.5rem;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);display:flex;align-items:center;justify-content:center;font-size:var(--text-xl);font-weight:var(--font-bold);color:#fff;flex-shrink:0}.review-name[data-v-d2befce8]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.review-stars[data-v-d2befce8]{color:#f59e0b;font-size:var(--text-base);letter-spacing:1px}.review-course[data-v-d2befce8]{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.review-points[data-v-d2befce8]{padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.review-points li[data-v-d2befce8]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.review-date[data-v-d2befce8]{font-size:var(--text-xs);color:var(--color-text-muted)}.carousel-controls[data-v-d2befce8]{display:flex;align-items:center;justify-content:center;gap:var(--space-6);margin-top:var(--space-6)}.carousel-btn[data-v-d2befce8]{width:2.5rem;height:2.5rem;border-radius:var(--radius-full);border:2px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:var(--text-xl);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.carousel-btn[data-v-d2befce8]:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-primary-light);color:var(--color-primary)}.carousel-btn[data-v-d2befce8]:disabled{opacity:.35;cursor:not-allowed}.carousel-indicator[data-v-d2befce8]{font-size:var(--text-sm);color:var(--color-text-muted);min-width:3rem;text-align:center}.graduates-section[data-v-d2befce8]{padding:var(--space-20) 0;background-color:var(--color-bg-secondary)}.graduates-grid[data-v-d2befce8]{display:grid;grid-template-columns:1fr;gap:var(--space-8);margin-top:var(--space-10)}@media(min-width:640px){.graduates-grid[data-v-d2befce8]{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.graduates-grid[data-v-d2befce8]{grid-template-columns:repeat(3,1fr)}}.graduate-card[data-v-d2befce8]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column}.graduate-card__photo[data-v-d2befce8]{height:180px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);display:flex;align-items:center;justify-content:center;font-size:4rem;font-weight:var(--font-bold);color:#fff}.graduate-card__body[data-v-d2befce8]{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.graduate-card__name[data-v-d2befce8]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text)}.graduate-card__role[data-v-d2befce8]{font-size:var(--text-sm);color:var(--color-primary);font-weight:var(--font-semibold)}.graduate-card__details[data-v-d2befce8]{display:flex;flex-direction:column;gap:var(--space-2)}.graduate-card__detail-row[data-v-d2befce8]{display:flex;gap:var(--space-2);font-size:var(--text-xs)}.graduate-card__detail-row dt[data-v-d2befce8]{font-weight:var(--font-semibold);color:var(--color-text);white-space:nowrap}.graduate-card__detail-row dd[data-v-d2befce8]{color:var(--color-text-muted)}.graduate-card__quote[data-v-d2befce8]{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;line-height:var(--leading-relaxed);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-4)}.graduate-card__link[data-v-d2befce8]{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary)}.graduates-more[data-v-d2befce8]{display:flex;justify-content:center;margin-top:var(--space-10)}.contact-section[data-v-d2befce8]{padding:var(--space-20) 0;background-color:var(--color-bg-secondary)}.contact-grid[data-v-d2befce8]{display:grid;grid-template-columns:1fr;gap:var(--space-12)}@media(min-width:1024px){.contact-grid[data-v-d2befce8]{grid-template-columns:1fr 1fr;gap:var(--space-16)}}.contact-info__title[data-v-d2befce8]{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-3)}.contact-info__intro[data-v-d2befce8]{font-size:var(--text-base);color:var(--color-text-muted);margin-bottom:var(--space-8)}.contact-channels[data-v-d2befce8]{display:flex;flex-direction:column;gap:var(--space-5)}.contact-channel[data-v-d2befce8]{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.contact-channel[data-v-d2befce8]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.contact-channel__icon[data-v-d2befce8]{font-size:1.75rem;flex-shrink:0}.contact-channel__name[data-v-d2befce8]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-1)}.contact-channel__handle[data-v-d2befce8]{font-size:var(--text-xs);color:var(--color-primary)}.contact-form-wrap__title[data-v-d2befce8]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-6)}.contact-form[data-v-d2befce8]{display:flex;flex-direction:column;gap:var(--space-4)}.form-field[data-v-d2befce8]{display:flex;flex-direction:column;gap:var(--space-2)}.form-field__label[data-v-d2befce8]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text)}.form-field__input[data-v-d2befce8]{padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition-fast)}.form-field__input[data-v-d2befce8]:focus{outline:none;border-color:var(--color-primary)}.form-field__input[data-v-d2befce8]::placeholder{color:var(--color-text-muted)}.form-checkbox[data-v-d2befce8]{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;line-height:var(--leading-relaxed)}.form-checkbox input[type=checkbox][data-v-d2befce8]{margin-top:2px;flex-shrink:0}.form-checkbox a[data-v-d2befce8]{color:var(--color-primary);text-decoration:underline}.form-submit[data-v-d2befce8]{width:100%;justify-content:center}.form-submit[data-v-d2befce8]:disabled{opacity:.6;cursor:not-allowed}.form-message[data-v-d2befce8]{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center}.form-message--success[data-v-d2befce8]{background-color:#dcfce7;color:#15803d}.form-message--error[data-v-d2befce8]{background-color:#fee2e2;color:#b91c1c}[data-theme=dark] .form-message--success[data-v-d2befce8]{background-color:#14532d;color:#86efac}[data-theme=dark] .form-message--error[data-v-d2befce8]{background-color:#450a0a;color:#fca5a5}.auth-layout[data-v-9dd6feb3]{display:grid;grid-template-columns:1fr;min-height:100dvh;background-color:var(--color-bg)}@media(min-width:900px){.auth-layout[data-v-9dd6feb3]{grid-template-columns:1fr 1fr}}.auth-layout__left[data-v-9dd6feb3]{display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);height:100%;min-height:100vh;padding:var(--space-12) var(--space-12);background:linear-gradient(160deg,#0f172a,#1e293b 60%,#0f172a);overflow:hidden;position:relative}@media(min-width:900px){.auth-layout__left[data-v-9dd6feb3]{display:flex}}.auth-layout__brand[data-v-9dd6feb3]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);color:#f1f5f9}.auth-layout__brand-icon[data-v-9dd6feb3]{font-size:1.5rem}.auth-layout__brand-name[data-v-9dd6feb3]{display:flex;flex-direction:column;line-height:1.1}.auth-layout__brand-sub[data-v-9dd6feb3]{font-size:var(--text-xs);font-weight:var(--font-normal);color:#94a3b8;letter-spacing:.1em}.auth-code-card[data-v-9dd6feb3]{background-color:#1e293b;border:1px solid #334155;border-radius:var(--radius-xl);padding:var(--space-5);max-width:26rem;margin-top:0}.auth-code-card__dots[data-v-9dd6feb3]{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.auth-code-card__dots span[data-v-9dd6feb3]{width:10px;height:10px;border-radius:var(--radius-full);background:#334155}.auth-code-card__dots span[data-v-9dd6feb3]:nth-child(1){background:#ef4444}.auth-code-card__dots span[data-v-9dd6feb3]:nth-child(2){background:#f59e0b}.auth-code-card__dots span[data-v-9dd6feb3]:nth-child(3){background:#22c55e}.auth-code-card__file[data-v-9dd6feb3]{font-size:var(--text-xs);color:#64748b;font-family:var(--font-mono);margin-bottom:var(--space-3)}.auth-code-card__code[data-v-9dd6feb3]{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.8;color:#94a3b8;white-space:pre;overflow-x:auto}.ck[data-v-9dd6feb3]{color:#c084fc}.cc[data-v-9dd6feb3]{color:#60a5fa}.cp[data-v-9dd6feb3]{color:#94a3b8}.cv[data-v-9dd6feb3]{color:#e2e8f0}.cf[data-v-9dd6feb3]{color:#fbbf24}.cs[data-v-9dd6feb3]{color:#34d399}.ci[data-v-9dd6feb3]{color:#fb923c}.cm[data-v-9dd6feb3]{color:#475569;font-style:italic}.auth-layout__stats[data-v-9dd6feb3]{display:flex;gap:var(--space-8)}.auth-layout__stat[data-v-9dd6feb3]{display:flex;flex-direction:column;gap:var(--space-1)}.auth-layout__stat strong[data-v-9dd6feb3]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#f1f5f9}.auth-layout__stat span[data-v-9dd6feb3]{font-size:var(--text-xs);color:#94a3b8}.auth-layout__tagline[data-v-9dd6feb3]{font-size:var(--text-sm);color:#64748b;line-height:var(--leading-relaxed);max-width:24rem}.auth-layout__right[data-v-9dd6feb3]{display:flex;flex-direction:column;padding:var(--space-8) var(--space-6);position:relative}@media(min-width:640px){.auth-layout__right[data-v-9dd6feb3]{padding:var(--space-12) var(--space-12)}}.auth-theme-toggle[data-v-9dd6feb3]{display:flex;align-items:center;gap:var(--space-2);align-self:flex-end;font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:color var(--transition-fast),border-color var(--transition-fast)}.auth-theme-toggle[data-v-9dd6feb3]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.auth-tabs[data-v-9dd6feb3]{display:flex;border-radius:var(--radius-lg);background-color:var(--color-bg-secondary);padding:3px;margin-top:var(--space-8);gap:2px}.auth-tabs__tab[data-v-9dd6feb3]{flex:1;text-align:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast)}.auth-tabs__tab--active[data-v-9dd6feb3],.auth-tabs__tab.router-link-exact-active[data-v-9dd6feb3]{background-color:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-sm)}.auth-form-wrap[data-v-9dd6feb3]{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:26rem;width:100%;margin-inline:auto;padding-top:var(--space-8)}.auth-form-wrap__title[data-v-9dd6feb3]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-1)}.auth-form-wrap__sub[data-v-9dd6feb3]{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-8)}.auth-stepik[data-v-9dd6feb3]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-4);cursor:pointer;transition:border-color var(--transition-fast)}.auth-stepik[data-v-9dd6feb3]:hover{border-color:var(--color-primary)}.auth-stepik[data-v-9dd6feb3]:disabled{opacity:.7;cursor:not-allowed}.auth-stepik__icon[data-v-9dd6feb3]{display:inline-flex;width:1.375rem;height:1.375rem;flex-shrink:0}.auth-stepik__icon svg[data-v-9dd6feb3]{width:100%;height:100%}.auth-divider[data-v-9dd6feb3]{position:relative;text-align:center;margin-bottom:var(--space-5)}.auth-divider[data-v-9dd6feb3]:before{content:"";position:absolute;inset-inline:0;top:50%;height:1px;background:var(--color-border)}.auth-divider span[data-v-9dd6feb3]{position:relative;z-index:1;padding:0 var(--space-3);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--text-xs)}.auth-form[data-v-9dd6feb3]{display:flex;flex-direction:column;gap:var(--space-5)}.auth-form__error[data-v-9dd6feb3]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:#dc262614;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-error)}.auth-field[data-v-9dd6feb3]{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field__label-row[data-v-9dd6feb3]{display:flex;align-items:center;justify-content:space-between}.auth-field__label[data-v-9dd6feb3]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.auth-field__forgot[data-v-9dd6feb3]{font-size:var(--text-xs);color:var(--color-primary);text-decoration:none}.auth-field__forgot[data-v-9dd6feb3]:hover{text-decoration:underline}.auth-field__wrap[data-v-9dd6feb3]{position:relative;display:flex;align-items:center}.auth-field__icon[data-v-9dd6feb3]{position:absolute;left:var(--space-3);color:var(--color-text-muted);pointer-events:none}.auth-field__input[data-v-9dd6feb3]{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) 2.5rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-secondary);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-field__input[data-v-9dd6feb3]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.auth-field__input[data-v-9dd6feb3]::placeholder{color:var(--color-text-muted)}.auth-field__input.input-error[data-v-9dd6feb3]{border-color:#ef4444}.field-error[data-v-9dd6feb3]{display:block;font-size:.78rem;color:#ef4444;margin-top:4px}.auth-field__eye[data-v-9dd6feb3]{position:absolute;right:var(--space-3);color:var(--color-text-muted);transition:color var(--transition-fast)}.auth-field__eye[data-v-9dd6feb3]:hover{color:var(--color-text)}.auth-checkbox[data-v-9dd6feb3]{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.auth-checkbox__input[data-v-9dd6feb3]{display:none}.auth-checkbox__box[data-v-9dd6feb3]{width:1rem;height:1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.auth-checkbox__input:checked+.auth-checkbox__box[data-v-9dd6feb3]{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px}.auth-checkbox__label[data-v-9dd6feb3]{font-size:var(--text-sm);color:var(--color-text-muted)}.auth-submit[data-v-9dd6feb3]{width:100%;justify-content:center;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);gap:var(--space-2)}.auth-submit[data-v-9dd6feb3]:disabled{opacity:.65;cursor:not-allowed}.auth-submit__spin[data-v-9dd6feb3]{animation:spin-9dd6feb3 .8s linear infinite}@keyframes spin-9dd6feb3{to{transform:rotate(360deg)}}.auth-switch[data-v-9dd6feb3]{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.auth-switch__link[data-v-9dd6feb3]{color:var(--color-primary);font-weight:var(--font-medium);text-decoration:none}.auth-switch__link[data-v-9dd6feb3]:hover{text-decoration:underline}.auth-footer[data-v-9dd6feb3]{display:flex;align-items:center;justify-content:center;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-8)}.auth-footer a[data-v-9dd6feb3]{color:var(--color-text-muted);text-decoration:none}.auth-footer a[data-v-9dd6feb3]:hover{color:var(--color-text)}.auth-layout[data-v-f8abe4ef]{display:grid;grid-template-columns:1fr;min-height:100dvh;background-color:var(--color-bg)}@media(min-width:900px){.auth-layout[data-v-f8abe4ef]{grid-template-columns:1fr 1fr}}.auth-layout__left[data-v-f8abe4ef]{display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);height:100%;min-height:100vh;padding:var(--space-12);background:linear-gradient(160deg,#0f172a,#1e293b 60%,#0f172a);overflow:hidden}@media(min-width:900px){.auth-layout__left[data-v-f8abe4ef]{display:flex}}.auth-layout__brand[data-v-f8abe4ef]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);color:#f1f5f9}.auth-layout__brand-icon[data-v-f8abe4ef]{font-size:1.5rem}.auth-layout__brand-name[data-v-f8abe4ef]{display:flex;flex-direction:column;line-height:1.1}.auth-layout__brand-sub[data-v-f8abe4ef]{font-size:var(--text-xs);font-weight:var(--font-normal);color:#94a3b8;letter-spacing:.1em}.auth-code-card[data-v-f8abe4ef]{background-color:#1e293b;border:1px solid #334155;border-radius:var(--radius-xl);padding:var(--space-5);max-width:26rem;margin-top:0}.auth-code-card__dots[data-v-f8abe4ef]{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.auth-code-card__dots span[data-v-f8abe4ef]{width:10px;height:10px;border-radius:var(--radius-full);background:#334155}.auth-code-card__dots span[data-v-f8abe4ef]:nth-child(1){background:#ef4444}.auth-code-card__dots span[data-v-f8abe4ef]:nth-child(2){background:#f59e0b}.auth-code-card__dots span[data-v-f8abe4ef]:nth-child(3){background:#22c55e}.auth-code-card__file[data-v-f8abe4ef]{font-size:var(--text-xs);color:#64748b;font-family:var(--font-mono);margin-bottom:var(--space-3)}.auth-code-card__code[data-v-f8abe4ef]{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.8;color:#94a3b8;white-space:pre;overflow-x:auto}.ck[data-v-f8abe4ef]{color:#c084fc}.cc[data-v-f8abe4ef]{color:#60a5fa}.cp[data-v-f8abe4ef]{color:#94a3b8}.cv[data-v-f8abe4ef]{color:#e2e8f0}.cf[data-v-f8abe4ef]{color:#fbbf24}.cs[data-v-f8abe4ef]{color:#34d399}.ci[data-v-f8abe4ef]{color:#fb923c}.cm[data-v-f8abe4ef]{color:#475569;font-style:italic}.auth-layout__stats[data-v-f8abe4ef]{display:flex;gap:var(--space-8)}.auth-layout__stat[data-v-f8abe4ef]{display:flex;flex-direction:column;gap:var(--space-1)}.auth-layout__stat strong[data-v-f8abe4ef]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#f1f5f9}.auth-layout__stat span[data-v-f8abe4ef]{font-size:var(--text-xs);color:#94a3b8}.auth-layout__tagline[data-v-f8abe4ef]{font-size:var(--text-sm);color:#64748b;line-height:var(--leading-relaxed);max-width:24rem;text-align:center}.auth-layout__right[data-v-f8abe4ef]{display:flex;flex-direction:column;padding:var(--space-8) var(--space-6)}@media(min-width:640px){.auth-layout__right[data-v-f8abe4ef]{padding:var(--space-10) var(--space-12)}}.auth-theme-toggle[data-v-f8abe4ef]{display:flex;align-items:center;gap:var(--space-2);align-self:flex-end;font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:color var(--transition-fast),border-color var(--transition-fast)}.auth-theme-toggle[data-v-f8abe4ef]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.auth-tabs[data-v-f8abe4ef]{display:flex;border-radius:var(--radius-lg);background-color:var(--color-bg-secondary);padding:3px;margin-top:var(--space-8);gap:2px}.auth-tabs__tab[data-v-f8abe4ef]{flex:1;text-align:center;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast)}.auth-tabs__tab--active[data-v-f8abe4ef],.auth-tabs__tab.router-link-exact-active[data-v-f8abe4ef]{background-color:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-sm)}.auth-form-wrap[data-v-f8abe4ef]{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:26rem;width:100%;margin-inline:auto;padding-top:var(--space-6)}.auth-form-wrap__title[data-v-f8abe4ef]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-1)}.auth-form-wrap__sub[data-v-f8abe4ef]{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6)}.auth-form[data-v-f8abe4ef]{display:flex;flex-direction:column;gap:var(--space-4)}.auth-form__error[data-v-f8abe4ef]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background-color:#dc262614;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-error)}.form-row[data-v-f8abe4ef]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.input-hint[data-v-f8abe4ef]{font-size:.75rem;color:var(--color-text-muted);margin-top:-2px}.auth-field[data-v-f8abe4ef]{display:flex;flex-direction:column;gap:var(--space-2)}.auth-field__label[data-v-f8abe4ef]{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.auth-field__wrap[data-v-f8abe4ef]{position:relative;display:flex;align-items:center}.auth-field__icon[data-v-f8abe4ef]{position:absolute;left:var(--space-3);color:var(--color-text-muted);pointer-events:none}.auth-field__input[data-v-f8abe4ef]{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) 2.5rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-secondary);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-field__input--no-icon[data-v-f8abe4ef]{padding-left:var(--space-4)}.auth-field__input[data-v-f8abe4ef]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.auth-field__input[data-v-f8abe4ef]::placeholder{color:var(--color-text-muted)}.auth-field__input.input-error[data-v-f8abe4ef]{border-color:#ef4444}.auth-field__eye[data-v-f8abe4ef]{position:absolute;right:var(--space-3);color:var(--color-text-muted);transition:color var(--transition-fast)}.auth-field__eye[data-v-f8abe4ef]:hover{color:var(--color-text)}.field-error[data-v-f8abe4ef]{display:block;font-size:.78rem;color:#ef4444;margin-top:4px}.auth-checkbox[data-v-f8abe4ef]{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.auth-checkbox__input[data-v-f8abe4ef]{display:none}.auth-checkbox__box[data-v-f8abe4ef]{width:1rem;height:1rem;margin-top:2px;flex-shrink:0;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.auth-checkbox__input:checked+.auth-checkbox__box[data-v-f8abe4ef]{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px}.auth-checkbox__label[data-v-f8abe4ef]{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.auth-checkbox__link[data-v-f8abe4ef]{color:var(--color-primary);text-decoration:underline}.auth-submit[data-v-f8abe4ef]{width:100%;justify-content:center;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);gap:var(--space-2)}.auth-submit[data-v-f8abe4ef]:disabled{opacity:.65;cursor:not-allowed}.auth-submit__spin[data-v-f8abe4ef]{animation:spin-f8abe4ef .8s linear infinite}@keyframes spin-f8abe4ef{to{transform:rotate(360deg)}}.auth-switch[data-v-f8abe4ef]{margin-top:var(--space-5);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.auth-switch__link[data-v-f8abe4ef]{color:var(--color-primary);font-weight:var(--font-medium);text-decoration:none}.auth-switch__link[data-v-f8abe4ef]:hover{text-decoration:underline}.auth-footer[data-v-f8abe4ef]{display:flex;align-items:center;justify-content:center;gap:var(--space-4);font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-6)}.auth-footer a[data-v-f8abe4ef]{color:var(--color-text-muted);text-decoration:none}.auth-footer a[data-v-f8abe4ef]:hover{color:var(--color-text)}.page[data-v-63d6c5fe]{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg)}.catalog__header[data-v-63d6c5fe]{padding-top:var(--space-8);padding-bottom:var(--space-4)}.catalog__title[data-v-63d6c5fe]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text)}.catalog__tabs-wrap[data-v-63d6c5fe]{border-bottom:1px solid var(--color-border);background-color:var(--color-bg);position:sticky;top:var(--header-height);z-index:10}.catalog__tabs[data-v-63d6c5fe]{display:flex;gap:var(--space-1);overflow-x:auto;padding-block:var(--space-3);scrollbar-width:none}.catalog__tabs[data-v-63d6c5fe]::-webkit-scrollbar{display:none}.catalog__tab[data-v-63d6c5fe]{flex-shrink:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);border:1px solid transparent;background:none;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.catalog__tab[data-v-63d6c5fe]:hover{color:var(--color-text);background-color:var(--color-bg-secondary)}.catalog__tab--active[data-v-63d6c5fe]{color:#fff;background-color:var(--color-primary);border-color:var(--color-primary)}.catalog__body[data-v-63d6c5fe]{padding-top:var(--space-6);padding-bottom:var(--space-16)}.catalog__meta[data-v-63d6c5fe]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.catalog__count[data-v-63d6c5fe]{font-size:var(--text-sm);color:var(--color-text-muted)}.course-section[data-v-63d6c5fe]{margin-bottom:var(--space-12)}.section-title[data-v-63d6c5fe]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-1)}.section-subtitle[data-v-63d6c5fe]{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-5)}.course-grid-wide[data-v-63d6c5fe]{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:900px){.course-grid-wide[data-v-63d6c5fe]{grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}}.course-card-wide[data-v-63d6c5fe]{display:flex;flex-direction:row;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.course-card-wide[data-v-63d6c5fe]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.course-card-wide__image[data-v-63d6c5fe]{flex-shrink:0;width:30%;min-width:120px;max-width:220px;aspect-ratio:16 / 9;background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-bg-secondary) 100%);overflow:hidden}.course-card-wide__img[data-v-63d6c5fe]{width:100%;height:100%;object-fit:cover}.course-card-wide__placeholder[data-v-63d6c5fe]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem}.course-card-wide__body[data-v-63d6c5fe]{flex:1;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);min-width:0}.course-card-wide__badges[data-v-63d6c5fe]{display:flex;gap:var(--space-2);flex-wrap:wrap}.badge[data-v-63d6c5fe]{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold)}.badge-dir[data-v-63d6c5fe]{background:#00000014;color:var(--color-text-muted)}[data-theme=dark] .badge-dir[data-v-63d6c5fe]{background:#ffffff1a;color:var(--color-text-muted)}.course-card-wide__title[data-v-63d6c5fe]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card-wide__summary[data-v-63d6c5fe]{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card-wide__footer[data-v-63d6c5fe]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.course-card-wide__price[data-v-63d6c5fe]{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-text)}.course-card-wide__learners[data-v-63d6c5fe]{font-size:var(--text-xs);color:var(--color-text-muted)}.course-card-wide__price-group[data-v-63d6c5fe]{display:flex;flex-direction:column;gap:1px}.course-card-wide__price-original[data-v-63d6c5fe]{font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:line-through}.badge-saving[data-v-63d6c5fe]{background:#16a34a1f;color:#16a34a;font-weight:var(--font-bold)}[data-theme=dark] .badge-saving[data-v-63d6c5fe]{background:#16a34a33;color:#4ade80}.course-grid[data-v-63d6c5fe]{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:640px){.course-grid[data-v-63d6c5fe]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.course-card[data-v-63d6c5fe]{display:flex;flex-direction:column;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.course-card[data-v-63d6c5fe]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.course-card--skeleton[data-v-63d6c5fe]{height:16rem;animation:pulse-63d6c5fe 1.5s ease-in-out infinite}@keyframes pulse-63d6c5fe{0%,to{opacity:1}50%{opacity:.5}}.course-card__thumb[data-v-63d6c5fe]{position:relative;aspect-ratio:16 / 9;background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-bg-secondary) 100%);overflow:hidden}.course-card__thumb-img[data-v-63d6c5fe]{width:100%;height:100%;object-fit:cover}.course-card__thumb-placeholder[data-v-63d6c5fe]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.course-card__thumb-icon[data-v-63d6c5fe]{font-size:3rem}.course-card__badge-dir[data-v-63d6c5fe]{position:absolute;top:var(--space-2);left:var(--space-2);padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);background:#0000008c;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.course-card__badge-diff[data-v-63d6c5fe]{position:absolute;top:var(--space-2);right:var(--space-2)}.course-card__body[data-v-63d6c5fe]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);flex:1}.course-card__title[data-v-63d6c5fe]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text);line-height:var(--leading-tight);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card__desc[data-v-63d6c5fe]{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-relaxed);flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card__footer[data-v-63d6c5fe]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.course-card__learners[data-v-63d6c5fe]{font-size:var(--text-xs);color:var(--color-text-muted)}.course-card__price[data-v-63d6c5fe]{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-text)}.course-card__price--free[data-v-63d6c5fe]{color:var(--color-success)}.course-card__price-group[data-v-63d6c5fe]{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.course-card__price-original[data-v-63d6c5fe]{font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:line-through}.course-card__saving[data-v-63d6c5fe]{font-size:var(--text-xs);font-weight:var(--font-semibold);color:#16a34a;background:#16a34a1a;border-radius:var(--radius-sm);padding:2px var(--space-2);display:inline-block;margin-top:auto}[data-theme=dark] .course-card__saving[data-v-63d6c5fe]{color:#4ade80;background:#16a34a2e}.badge-level[data-v-63d6c5fe]{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold)}.badge-level--beginner[data-v-63d6c5fe]{background:#16a34a1f;color:#16a34a}.badge-level--intermediate[data-v-63d6c5fe]{background:#eab3081f;color:#a16207}.badge-level--advanced[data-v-63d6c5fe]{background:#dc26261f;color:#dc2626}[data-theme=dark] .badge-level--beginner[data-v-63d6c5fe]{background:#16a34a33;color:#4ade80}[data-theme=dark] .badge-level--intermediate[data-v-63d6c5fe]{background:#eab30833;color:#fde047}[data-theme=dark] .badge-level--advanced[data-v-63d6c5fe]{background:#dc262633;color:#fca5a5}.catalog__empty[data-v-63d6c5fe]{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-16) 0;color:var(--color-text-muted);text-align:center}.catalog__empty-icon[data-v-63d6c5fe]{font-size:3rem}.container[data-v-63d6c5fe]{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.card[data-v-2b1346ad]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.card__cover[data-v-2b1346ad]{position:relative;aspect-ratio:16 / 9;background:linear-gradient(135deg,#1e293b,#0f172a);overflow:hidden}.card__img[data-v-2b1346ad]{width:100%;height:100%;object-fit:cover}.card__cover-placeholder[data-v-2b1346ad]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.card__cover-title[data-v-2b1346ad]{color:#ffffffb3;font-size:var(--text-base);font-weight:var(--font-semibold);text-align:center}.card__preview-btn[data-v-2b1346ad]{position:absolute;bottom:var(--space-3);left:var(--space-3);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#0009;border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card__body[data-v-2b1346ad]{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.card__price-row[data-v-2b1346ad]{display:flex;align-items:baseline;gap:var(--space-2)}.card__price-main[data-v-2b1346ad]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text)}.card__price-old[data-v-2b1346ad]{font-size:var(--text-base);color:var(--color-text-muted);text-decoration:line-through}.card__price-badge[data-v-2b1346ad]{padding:2px var(--space-2);background-color:var(--color-accent);color:#fff;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold)}.card__promo[data-v-2b1346ad]{font-size:var(--text-sm);color:var(--color-accent)}.card__btn[data-v-2b1346ad]{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;border:none;transition:opacity var(--transition-fast)}.card__btn[data-v-2b1346ad]:hover{opacity:.9}.card__btn--buy[data-v-2b1346ad]{background-color:var(--color-accent);color:#fff}.card__btn--try[data-v-2b1346ad]{background:none;border:1px solid var(--color-border);color:var(--color-text)}.card__btn--continue[data-v-2b1346ad]{background-color:var(--color-success);color:#fff}.card__btn--continue[data-v-2b1346ad]:disabled{opacity:.7;cursor:not-allowed}.card__btn--buy-disabled[data-v-2b1346ad]{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.card__trust[data-v-2b1346ad]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.card__trust li[data-v-2b1346ad]{font-size:var(--text-xs);color:var(--color-text-muted)}.card__access-banner[data-v-2b1346ad]{padding:var(--space-3);background:#22c55e1f;border:1px solid #22c55e;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-success)}.card__progress-header[data-v-2b1346ad]{display:flex;justify-content:space-between;align-items:center}.card__progress-label[data-v-2b1346ad]{font-size:var(--text-sm);color:var(--color-text-secondary)}.card__progress-pct[data-v-2b1346ad]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary)}.card__progress-bar[data-v-2b1346ad]{height:6px;background-color:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.card__progress-fill[data-v-2b1346ad]{height:100%;background-color:var(--color-success);border-radius:var(--radius-full)}.card__progress-text[data-v-2b1346ad]{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:calc(-1 * var(--space-1))}.card__stats[data-v-2b1346ad]{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-top:1px solid var(--color-border);background-color:var(--color-border)}.card__stat[data-v-2b1346ad]{background-color:var(--color-bg);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.card__stat-val[data-v-2b1346ad]{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text)}.card__stat-key[data-v-2b1346ad]{font-size:var(--text-xs);color:var(--color-text-muted)}.card__updated[data-v-2b1346ad]{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.accordion__header[data-v-a7987822]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.accordion__stats[data-v-a7987822]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.accordion__dot[data-v-a7987822]{color:var(--color-text-muted)}.accordion__controls[data-v-a7987822]{display:flex;align-items:center;gap:var(--space-2)}.accordion__ctrl-btn[data-v-a7987822]{background:none;border:none;cursor:pointer;font-size:var(--text-sm);color:var(--color-primary);padding:0}.accordion__ctrl-btn[data-v-a7987822]:hover{text-decoration:underline}.accordion__list[data-v-a7987822]{display:flex;flex-direction:column;gap:var(--space-2)}.accordion__item[data-v-a7987822]{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.accordion__section-btn[data-v-a7987822]{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text);transition:background-color var(--transition-fast)}.accordion__section-btn[data-v-a7987822]:hover{background-color:var(--color-bg-secondary)}.accordion__num[data-v-a7987822]{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-md);background-color:var(--color-primary-bg);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--font-bold);flex-shrink:0}.accordion__section-title[data-v-a7987822]{flex:1;font-size:var(--text-sm);font-weight:var(--font-semibold)}.accordion__lesson-count[data-v-a7987822]{font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0}.accordion__chevron[data-v-a7987822]{flex-shrink:0;transition:transform var(--transition-fast);color:var(--color-text-muted)}.accordion__item--open .accordion__chevron[data-v-a7987822]{transform:rotate(180deg)}.accordion__lessons[data-v-a7987822]{border-top:1px solid var(--color-border);background-color:var(--color-bg-secondary)}.accordion__lesson[data-v-a7987822]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.accordion__lesson[data-v-a7987822]:last-child{border-bottom:none}.accordion__play[data-v-a7987822]{color:var(--color-primary);flex-shrink:0}.accordion__lesson-title[data-v-a7987822]{flex:1;font-size:var(--text-sm);color:var(--color-text-secondary)}.accordion__step-count[data-v-a7987822]{font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0}.accordion-enter-active[data-v-a7987822],.accordion-leave-active[data-v-a7987822]{transition:all var(--transition-base);overflow:hidden;max-height:800px}.accordion-enter-from[data-v-a7987822],.accordion-leave-to[data-v-a7987822]{max-height:0;opacity:0}.skills-grid[data-v-bc736417]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:480px){.skills-grid[data-v-bc736417]{grid-template-columns:1fr}}.skills-grid__item[data-v-bc736417]{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.skills-grid__check[data-v-bc736417]{color:var(--color-success);flex-shrink:0;margin-top:2px}.rating[data-v-37591e5d]{display:flex;gap:var(--space-8);flex-wrap:wrap}.rating__summary[data-v-37591e5d]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-width:6rem}.rating__big[data-v-37591e5d]{font-size:var(--text-5xl);font-weight:var(--font-bold);color:var(--color-text);line-height:1}.rating__stars[data-v-37591e5d]{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;justify-content:center}.rating__star[data-v-37591e5d]{color:var(--color-star)}.rating__count[data-v-37591e5d]{font-size:var(--text-xs);color:var(--color-text-muted);margin-left:var(--space-1)}.rating__bars[data-v-37591e5d]{flex:1;display:flex;flex-direction:column;gap:var(--space-2);min-width:12rem}.rating__bar-row[data-v-37591e5d]{display:flex;align-items:center;gap:var(--space-3)}.rating__bar-label[data-v-37591e5d]{font-size:var(--text-xs);color:var(--color-text-muted);width:1.5rem;text-align:right;flex-shrink:0}.rating__bar-track[data-v-37591e5d]{flex:1;height:6px;background-color:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.rating__bar-fill[data-v-37591e5d]{height:100%;background-color:var(--color-star);border-radius:var(--radius-full)}.rating__bar-pct[data-v-37591e5d]{font-size:var(--text-xs);color:var(--color-text-muted);width:2.5rem;flex-shrink:0}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.40"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.course-html-content[data-v-332b5fd0]{line-height:1.7;color:var(--color-text);font-size:var(--text-base)}.course-html-content[data-v-332b5fd0] p{margin-bottom:1rem;color:var(--color-text)}.course-html-content[data-v-332b5fd0] p:last-child{margin-bottom:0}.course-html-content[data-v-332b5fd0] p:empty,.course-html-content[data-v-332b5fd0] p>br:only-child{display:none}.course-html-content[data-v-332b5fd0] h1,.course-html-content[data-v-332b5fd0] h2,.course-html-content[data-v-332b5fd0] h3,.course-html-content[data-v-332b5fd0] h4,.course-html-content[data-v-332b5fd0] h5,.course-html-content[data-v-332b5fd0] h6{font-weight:var(--font-semibold);margin-top:1.5rem;margin-bottom:.5rem;color:var(--color-text);line-height:var(--leading-tight)}.course-html-content[data-v-332b5fd0] ul,.course-html-content[data-v-332b5fd0] ol{padding-left:1.5rem;margin-bottom:1rem;color:var(--color-text)}.course-html-content[data-v-332b5fd0] ul{list-style-type:disc}.course-html-content[data-v-332b5fd0] ol{list-style-type:decimal}.course-html-content[data-v-332b5fd0] li{margin-bottom:.375rem;padding-left:.25rem;color:var(--color-text)}.course-html-content[data-v-332b5fd0] ol ol,.course-html-content[data-v-332b5fd0] ul ul,.course-html-content[data-v-332b5fd0] ol ul,.course-html-content[data-v-332b5fd0] ul ol{margin-bottom:.25rem}.course-html-content[data-v-332b5fd0] a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.course-html-content[data-v-332b5fd0] a:hover{color:var(--color-primary-hover)}.course-html-content[data-v-332b5fd0] strong,.course-html-content[data-v-332b5fd0] b{font-weight:var(--font-semibold);color:var(--color-text)}.course-html-content[data-v-332b5fd0] em,.course-html-content[data-v-332b5fd0] i{font-style:italic}.course-html-content[data-v-332b5fd0] span{color:inherit}.course-html-content[data-v-332b5fd0] img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:.5rem 0}.course-html-content[data-v-332b5fd0] code:not(pre code){font-family:var(--font-mono);font-size:.875em;background:var(--color-code-bg);padding:.125rem .375rem;border-radius:var(--radius-sm);color:var(--color-code-text)}.course-html-content[data-v-332b5fd0] pre:not(.shiki-block){background:var(--color-code-block-bg);border:1px solid var(--color-border);padding:1rem;border-radius:var(--radius-md);overflow-x:auto;margin-bottom:1rem}.course-html-content[data-v-332b5fd0] pre:not(.shiki-block) code{background:none;padding:0;font-size:var(--text-sm);color:var(--color-text)}[data-v-332b5fd0] .shiki-block{border-radius:var(--radius-sm, 6px)!important;padding:1rem 1.25rem!important;margin:1rem 0!important;overflow-x:auto!important;font-family:var(--font-mono)!important;font-size:.875rem!important;line-height:1.6!important;border:1px solid var(--color-border)!important}.course-html-content[data-v-332b5fd0] blockquote{border-left:3px solid var(--color-primary);padding:.75rem 1rem;margin:1rem 0;background:var(--color-bg-secondary);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-secondary);font-style:italic}.course-html-content[data-v-332b5fd0] blockquote p{margin:0;color:var(--color-text-secondary)}.course-html-content[data-v-332b5fd0] hr{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}.course-html-content[data-v-332b5fd0] iframe{display:block;width:100%;max-width:100%;aspect-ratio:16 / 9;height:auto;border:0;border-radius:var(--radius-md);margin:1rem 0;background:#000}.course-html-content[data-v-332b5fd0] table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.9rem;color:var(--color-text)}.course-html-content[data-v-332b5fd0] th,.course-html-content[data-v-332b5fd0] td{border:1px solid var(--color-border);padding:.5rem .75rem;text-align:left;color:var(--color-text)}.course-html-content[data-v-332b5fd0] th{background:var(--color-bg-secondary);font-weight:var(--font-semibold);color:var(--color-text)}[data-theme=dark] .course-html-content[data-v-332b5fd0] *:not(pre,pre *){color:inherit!important}[data-theme=dark] .course-html-content[data-v-332b5fd0] a{color:var(--color-primary)!important}[data-theme=dark] .course-html-content[data-v-332b5fd0] code:not(pre code){color:var(--color-code-text)!important;background:var(--color-code-bg)!important}[data-theme=dark] .course-html-content[data-v-332b5fd0] pre:not(.shiki-block) code{color:var(--color-text)!important;background:none!important}.page[data-v-c1235a25]{min-height:100vh;background-color:var(--color-bg)}.skeleton-hero[data-v-c1235a25]{height:22rem;background:linear-gradient(135deg,#1e293b,#0f172a)}.skeleton-body[data-v-c1235a25]{padding-top:var(--space-8);display:flex;gap:var(--space-6)}.skeleton-block[data-v-c1235a25]{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);flex:1;animation:pulse-c1235a25 1.5s ease-in-out infinite}@keyframes pulse-c1235a25{0%,to{opacity:1}50%{opacity:.5}}.error-state[data-v-c1235a25]{padding:var(--space-16) 0;color:var(--color-error);text-align:center}.hero[data-v-c1235a25]{position:relative;background:linear-gradient(135deg,#0f172a,#1e293b 60%,#1a2744);overflow:hidden}.hero[data-v-c1235a25]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(30,64,175,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(14,165,233,.1) 0%,transparent 50%);pointer-events:none}.hero__overlay[data-v-c1235a25]{position:absolute;top:0;right:0;bottom:0;left:0}.hero__content[data-v-c1235a25]{position:relative;padding-top:var(--space-12);padding-bottom:var(--space-16)}.hero__breadcrumb[data-v-c1235a25]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-sm);color:#fff9;margin-bottom:var(--space-5)}.hero__breadcrumb a[data-v-c1235a25]{color:#fff9;text-decoration:none}.hero__breadcrumb a[data-v-c1235a25]:hover{color:#fff}.hero__breadcrumb-current[data-v-c1235a25]{color:#ffffffe6;max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero__sep[data-v-c1235a25]{opacity:.5}.hero__badges[data-v-c1235a25]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.hero__badge[data-v-c1235a25]{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:capitalize}.hero__badge--accent[data-v-c1235a25]{background:#22c55e33;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.hero__badge--primary[data-v-c1235a25]{background:#3b82f633;color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.hero__title[data-v-c1235a25]{font-size:clamp(var(--text-2xl),4vw,var(--text-4xl));font-weight:var(--font-bold);color:#fff;line-height:var(--leading-tight);max-width:48rem;margin-bottom:var(--space-4)}.hero__summary[data-v-c1235a25]{font-size:var(--text-lg);color:#ffffffbf;max-width:42rem;line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}.hero__stats[data-v-c1235a25]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.hero__stat[data-v-c1235a25]{font-size:var(--text-sm);color:#fffc}.course-layout[data-v-c1235a25]{display:grid;grid-template-columns:1fr;gap:var(--space-8);padding-top:var(--space-8);padding-bottom:var(--space-16)}@media(min-width:1024px){.course-layout[data-v-c1235a25]{grid-template-columns:1fr 22rem;align-items:start}}.course-layout__main[data-v-c1235a25]{display:flex;flex-direction:column;gap:var(--space-6)}.course-layout__aside[data-v-c1235a25]{order:-1}@media(min-width:1024px){.course-layout__aside[data-v-c1235a25]{order:0}.course-layout__sticky[data-v-c1235a25]{position:sticky;top:calc(var(--header-height) + var(--space-6))}}.content-card[data-v-c1235a25]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6)}.content-card__title[data-v-c1235a25]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-5)}.container[data-v-c1235a25]{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.heatmap[data-v-d5f6b12d]{display:flex;flex-direction:column;gap:var(--space-4);position:relative}.heatmap__stats[data-v-d5f6b12d]{display:flex;flex-wrap:wrap;gap:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted)}.heatmap__stat strong[data-v-d5f6b12d]{color:var(--color-text)}.heatmap__scroll[data-v-d5f6b12d]{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.heatmap__grid-wrap[data-v-d5f6b12d]{display:flex;flex-direction:column;gap:4px;width:max-content}.heatmap__months[data-v-d5f6b12d]{display:flex;gap:2px;margin-left:24px;margin-bottom:4px;height:16px;overflow:hidden}.heatmap__month-cell[data-v-d5f6b12d]{width:11px;flex-shrink:0;position:relative;height:16px}.heatmap__month-label[data-v-d5f6b12d]{position:absolute;left:0;top:0;font-size:.66rem;color:var(--color-text-muted);white-space:nowrap;line-height:16px}.heatmap__body[data-v-d5f6b12d]{display:flex;gap:4px;align-items:flex-start}.heatmap__weekdays[data-v-d5f6b12d]{display:flex;flex-direction:column;gap:2px;flex-shrink:0;width:20px}.heatmap__weekday[data-v-d5f6b12d],.heatmap__weekday-spacer[data-v-d5f6b12d]{height:11px;flex-shrink:0}.heatmap__weekday[data-v-d5f6b12d]{font-size:.62rem;color:var(--color-text-muted);text-align:right;line-height:11px}.heatmap__columns[data-v-d5f6b12d]{display:flex;gap:2px}.heatmap__week[data-v-d5f6b12d]{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.heatmap__cell[data-v-d5f6b12d]{width:11px;height:11px;border-radius:2px;cursor:default;flex-shrink:0}.cell--future[data-v-d5f6b12d]{background-color:transparent}.cell--0[data-v-d5f6b12d]{background-color:var(--color-border, #e5e7eb)}.cell--1[data-v-d5f6b12d]{background-color:#dcfce7}.cell--2[data-v-d5f6b12d]{background-color:#86efac}.cell--3[data-v-d5f6b12d]{background-color:#4ade80}.cell--4[data-v-d5f6b12d]{background-color:#16a34a}.cell--5[data-v-d5f6b12d]{background-color:#14532d}[data-theme=dark] .cell--0[data-v-d5f6b12d]{background-color:#ffffff14}[data-theme=dark] .cell--1[data-v-d5f6b12d]{background-color:#14532d}[data-theme=dark] .cell--2[data-v-d5f6b12d]{background-color:#166534}[data-theme=dark] .cell--3[data-v-d5f6b12d]{background-color:#16a34a}[data-theme=dark] .cell--4[data-v-d5f6b12d]{background-color:#22c55e}[data-theme=dark] .cell--5[data-v-d5f6b12d]{background-color:#4ade80}.heatmap__cell--legend[data-v-d5f6b12d]{width:12px;height:12px}.heatmap__legend[data-v-d5f6b12d]{display:flex;align-items:center;gap:var(--space-2);justify-content:flex-end}.heatmap__legend-label[data-v-d5f6b12d]{font-size:10px;color:var(--color-text-muted)}.heatmap-tooltip[data-v-d5f6b12d]{position:fixed;background:var(--color-bg-secondary, #1e1e2e);border:1px solid var(--color-border);border-radius:6px;padding:6px 10px;font-size:.78rem;pointer-events:none;z-index:1000;white-space:nowrap;box-shadow:0 4px 12px #0003;transform:translate(-50%,-100%)}.heatmap-tooltip__date[data-v-d5f6b12d]{color:var(--color-text-muted);font-size:.72rem;margin-bottom:2px}.heatmap-tooltip__count[data-v-d5f6b12d]{color:var(--color-text);font-weight:600}.tiptap-wrapper[data-v-ddee22b8]{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast);background:var(--color-bg)}.tiptap-wrapper[data-v-ddee22b8]:focus-within{border-color:var(--color-primary)}.tiptap-toolbar[data-v-ddee22b8]{display:flex;gap:2px;padding:6px 8px;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.tiptap-tool[data-v-ddee22b8]{width:28px;height:28px;border-radius:5px;background:none;border:none;cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:background-color var(--transition-fast),color var(--transition-fast)}.tiptap-tool[data-v-ddee22b8]:hover{background-color:var(--color-bg-tertiary);color:var(--color-text)}.tiptap-tool--active[data-v-ddee22b8]{background-color:var(--color-primary);color:#fff}.tiptap-tool-glyph--bold[data-v-ddee22b8]{font-weight:800}.tiptap-tool-glyph--italic[data-v-ddee22b8]{font-style:italic;font-family:serif}.tiptap-content[data-v-ddee22b8]{padding:10px 12px;min-height:100px;font-size:var(--text-sm);color:var(--color-text)}[data-v-ddee22b8] .ProseMirror{outline:none;line-height:1.6}[data-v-ddee22b8] .ProseMirror p{margin:0 0 .5em}[data-v-ddee22b8] .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-muted);pointer-events:none;float:left;height:0}[data-v-ddee22b8] .ProseMirror ul,[data-v-ddee22b8] .ProseMirror ol{padding-left:22px;margin:0 0 .5em}[data-v-ddee22b8] .ProseMirror strong{font-weight:700}[data-v-ddee22b8] .ProseMirror em{font-style:italic}[data-v-ddee22b8] .ProseMirror blockquote{border-left:3px solid var(--color-border);padding-left:12px;color:var(--color-text-muted);margin:0 0 .5em}[data-v-ddee22b8] .ProseMirror a{color:var(--color-primary);text-decoration:underline}.settings-tab[data-v-1f46ded3]{display:flex;flex-direction:column;gap:var(--space-4);max-width:640px}.settings-section[data-v-1f46ded3]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5)}.settings-section-title[data-v-1f46ded3]{font-size:1rem;font-weight:var(--font-semibold);color:var(--color-text);margin:0 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.settings-form[data-v-1f46ded3]{display:flex;flex-direction:column;gap:var(--space-3)}.form-row[data-v-1f46ded3]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.form-group[data-v-1f46ded3]{display:flex;flex-direction:column;gap:6px}.form-group label[data-v-1f46ded3]{font-size:.82rem;font-weight:var(--font-medium);color:var(--color-text-muted)}.form-group input[data-v-1f46ded3],.form-group textarea[data-v-1f46ded3]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:9px 12px;font-size:var(--text-sm);color:var(--color-text);transition:border-color var(--transition-fast);font-family:inherit}.form-group input[data-v-1f46ded3]:focus,.form-group textarea[data-v-1f46ded3]:focus{outline:none;border-color:var(--color-primary)}.input-prefix-wrapper[data-v-1f46ded3]{display:flex;align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast)}.input-prefix-wrapper[data-v-1f46ded3]:focus-within{border-color:var(--color-primary)}.input-prefix[data-v-1f46ded3]{padding:9px 10px 9px 12px;font-size:.82rem;color:var(--color-text-muted);white-space:nowrap;border-right:1px solid var(--color-border);background:var(--color-bg-secondary)}.input-prefix-wrapper input[data-v-1f46ded3]{border:none;border-radius:0;flex:1;background:transparent}.input-prefix-wrapper input[data-v-1f46ded3]:focus{outline:none}.input-readonly[data-v-1f46ded3]{padding:9px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-muted)}.stepik-field[data-v-1f46ded3]{display:flex;gap:var(--space-2);align-items:center}.stepik-readonly[data-v-1f46ded3]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepik-empty[data-v-1f46ded3]{font-style:italic}.stepik-connect-btn[data-v-1f46ded3]{white-space:nowrap;flex-shrink:0}.field-hint[data-v-1f46ded3]{font-size:var(--text-xs);color:var(--color-text-muted);margin:0}.field-error[data-v-1f46ded3]{font-size:var(--text-xs);color:var(--color-error)}.form-actions[data-v-1f46ded3]{display:flex;justify-content:flex-end;padding-top:var(--space-1)}.settings-btn[data-v-1f46ded3]{padding:9px 20px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;border:none;transition:opacity var(--transition-fast),background-color var(--transition-fast)}.settings-btn[data-v-1f46ded3]:disabled{opacity:.5;cursor:not-allowed}.settings-btn--primary[data-v-1f46ded3]{background:var(--color-primary);color:#fff}.settings-btn--primary[data-v-1f46ded3]:hover:not(:disabled){background:var(--color-primary-hover)}.settings-btn--secondary[data-v-1f46ded3]{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.settings-btn--secondary[data-v-1f46ded3]:hover:not(:disabled){background:var(--color-bg-tertiary)}.page[data-v-c02522db]{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.profile-content[data-v-c02522db]{max-width:860px;width:100%;margin:0 auto;padding:var(--space-6) var(--space-4)}.profile-hero[data-v-c02522db]{margin-bottom:var(--space-6)}.profile-banner[data-v-c02522db]{height:160px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);background-size:cover;background-position:center;position:relative;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.profile-banner--has-image[data-v-c02522db]{background-color:var(--color-bg-tertiary)}.profile-banner-edit-btn[data-v-c02522db]{position:absolute;bottom:var(--space-3);right:var(--space-3);background:#0000008c;color:#fff;border:none;padding:6px 12px;border-radius:var(--radius-md);font-size:.78rem;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background var(--transition-fast)}.profile-banner-edit-btn[data-v-c02522db]:hover:not(:disabled){background:#000000bf}.profile-banner-edit-btn[data-v-c02522db]:disabled{opacity:.7;cursor:wait}.profile-avatar-wrapper[data-v-c02522db]{position:relative;width:80px;height:80px;margin-top:-44px;flex-shrink:0}.profile-avatar-edit-btn[data-v-c02522db]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#0000008c;color:#fff;border:none;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.profile-avatar-edit-btn[data-v-c02522db]:disabled{cursor:wait}.user-card[data-v-c02522db]{display:flex;align-items:center;gap:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-xl) var(--radius-xl);padding:0 var(--space-6) var(--space-5)}.user-username[data-v-c02522db]{color:var(--color-text-muted);font-size:var(--text-xs);margin:2px 0 0}.profile-tabs[data-v-c02522db]{display:flex;gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);overflow-x:auto}.profile-tab[data-v-c02522db]{background:none;border:none;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.profile-tab[data-v-c02522db]:hover{color:var(--color-text)}.profile-tab--active[data-v-c02522db]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.profile-avatar-wrapper .avatar[data-v-c02522db]{width:80px;height:80px;border:4px solid var(--color-bg-secondary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%)}.avatar[data-v-c02522db]{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--color-primary-light);display:flex;align-items:center;justify-content:center}.avatar img[data-v-c02522db]{width:100%;height:100%;object-fit:cover}.avatar-initials[data-v-c02522db]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-primary)}.user-name[data-v-c02522db]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);margin:0 0 var(--space-1)}.user-email[data-v-c02522db]{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.stepik-card[data-v-c02522db],.activity-section[data-v-c02522db]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-5);margin-bottom:var(--space-8)}.stepik-status[data-v-c02522db]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--color-text)}.stepik-status--error[data-v-c02522db]{color:var(--color-error)}.stepik-user[data-v-c02522db]{display:flex;align-items:center;gap:var(--space-3)}.stepik-avatar[data-v-c02522db]{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border)}.stepik-title[data-v-c02522db]{margin:0;font-size:var(--text-sm);font-weight:var(--font-semibold)}.stepik-meta[data-v-c02522db]{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-text-muted)}.stepik-actions[data-v-c02522db]{display:flex;align-items:center;gap:var(--space-2)}.btn-stepik[data-v-c02522db]{white-space:nowrap;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;min-height:40px}.btn-stepik[data-v-c02522db]:disabled{opacity:.7;cursor:not-allowed}.btn-stepik--secondary[data-v-c02522db]{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-stepik--ghost[data-v-c02522db]{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.stepik-notice[data-v-c02522db]{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:var(--text-sm)}.stepik-notice--success[data-v-c02522db]{background:#22c55e1f;color:#15803d}.stepik-notice--error[data-v-c02522db]{background:#ef44441f;color:#b91c1c}.bg-sync-banner[data-v-c02522db]{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:10px;margin-top:8px;margin-bottom:8px}[data-theme=dark] .bg-sync-banner[data-v-c02522db]{background:#3b82f624;border-color:#3b82f64d}.bg-sync-icon[data-v-c02522db]{font-size:1.2rem;flex-shrink:0;line-height:1.2}.bg-sync-title[data-v-c02522db]{font-size:.875rem;font-weight:600;color:var(--color-text);margin-bottom:2px}.bg-sync-desc[data-v-c02522db]{font-size:.78rem;color:var(--color-text-muted);line-height:1.4}.bg-sync-note[data-v-c02522db]{font-size:.72rem;color:var(--color-text-muted);margin-top:6px;font-style:italic}.section-title[data-v-c02522db]{font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-4)}.state-placeholder[data-v-c02522db]{display:flex;flex-direction:column;gap:var(--space-4)}.skeleton-card[data-v-c02522db]{height:120px;border-radius:var(--radius-lg);background:var(--color-bg-tertiary);animation:pulse-c02522db 1.5s ease-in-out infinite}@keyframes pulse-c02522db{0%,to{opacity:1}50%{opacity:.5}}.state-message[data-v-c02522db]{padding:var(--space-8);text-align:center;color:var(--color-text-muted);font-size:var(--text-base)}.state-message.error[data-v-c02522db]{color:var(--color-error)}.catalog-link[data-v-c02522db]{display:block;margin-top:var(--space-3);color:var(--color-primary);font-weight:var(--font-medium);text-decoration:none}.catalog-link[data-v-c02522db]:hover{text-decoration:underline}.courses-list[data-v-c02522db]{display:flex;flex-direction:column;gap:var(--space-4)}.course-card[data-v-c02522db]{display:flex;align-items:stretch;gap:var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-base)}.course-card[data-v-c02522db]:hover{box-shadow:var(--shadow-md)}.course-cover[data-v-c02522db]{width:100px;flex-shrink:0;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center}.course-cover img[data-v-c02522db]{width:100%;height:100%;object-fit:cover}.cover-placeholder[data-v-c02522db]{width:100%;height:100%;min-height:80px;display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-muted)}.course-body[data-v-c02522db]{flex:1;padding:var(--space-4) 0;min-width:0}.course-direction[data-v-c02522db]{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 var(--space-1);text-transform:uppercase;letter-spacing:.05em}.course-title[data-v-c02522db]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text);margin:0 0 var(--space-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-row[data-v-c02522db]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.progress-bar[data-v-c02522db]{flex:1;height:6px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill[data-v-c02522db]{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .3s ease}.progress-pct[data-v-c02522db]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-primary);min-width:2.5rem;text-align:right}.lesson-count[data-v-c02522db]{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.points-earned[data-v-c02522db]{font-weight:var(--font-semibold);color:var(--color-text)}.points-sep[data-v-c02522db]{color:var(--color-text-muted)}.last-access[data-v-c02522db]{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0}.course-action[data-v-c02522db]{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:var(--space-4)}.sync-progress-btn[data-v-c02522db]{font-size:.75rem;padding:4px 10px;border:1px solid var(--color-border);border-radius:6px;background:none;color:var(--color-text-muted);cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.sync-progress-btn[data-v-c02522db]:hover:not(:disabled){border-color:#22c55e;color:#22c55e}.sync-progress-btn[data-v-c02522db]:disabled{opacity:.6;cursor:not-allowed}.sync-result[data-v-c02522db]{margin-top:4px;padding:6px 10px;border-radius:6px;font-size:.78rem;line-height:1.4}.sync-result--ok[data-v-c02522db]{background:#22c55e1a;color:#15803d;border:1px solid rgba(34,197,94,.25)}[data-theme=dark] .sync-result--ok[data-v-c02522db]{color:#4ade80}.sync-result--error[data-v-c02522db]{background:#ef444414;color:#b91c1c;border:1px solid rgba(239,68,68,.2)}[data-theme=dark] .sync-result--error[data-v-c02522db]{color:#f87171}.fade-enter-active[data-v-c02522db],.fade-leave-active[data-v-c02522db]{transition:opacity .2s}.fade-enter-from[data-v-c02522db],.fade-leave-to[data-v-c02522db]{opacity:0}.btn-continue[data-v-c02522db]{white-space:nowrap;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-base);min-height:44px}.btn-continue[data-v-c02522db]:hover{background:var(--color-primary-hover)}@media(max-width:768px){.profile-content[data-v-c02522db]{padding:var(--space-4) var(--space-3)}.user-card[data-v-c02522db]{padding:var(--space-4)}.stepik-status[data-v-c02522db]{flex-direction:column;align-items:flex-start}.btn-stepik[data-v-c02522db]{width:100%}.stepik-actions[data-v-c02522db]{width:100%;flex-direction:column}.course-card[data-v-c02522db]{flex-direction:column}.course-cover[data-v-c02522db]{width:100%;height:120px}.cover-placeholder[data-v-c02522db]{min-height:120px}.course-body[data-v-c02522db]{padding:var(--space-3) var(--space-4)}.course-title[data-v-c02522db]{white-space:normal}.course-action[data-v-c02522db]{padding:0 var(--space-4) var(--space-4)}.btn-continue[data-v-c02522db]{width:100%}}
