:root{--header-element-bg: #ffffff18;--header-element-bg-hover: #ffffff28;--header-element-border: 1px solid #ffffff38;--header-bg: linear-gradient(70deg, #7C3AED, #4C1D95)}a{color:var(--text);text-decoration:none}header{position:relative;z-index:1000;height:75px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 50px;background:var(--header-bg);box-shadow:0 4px 20px #0006;gap:30px}header .logo{justify-self:start}header .logo img{height:48px;display:block}header .account{justify-self:end}header menu{display:flex;align-items:center;gap:40px}header menu .menu-item{padding:5px 20px;transition:.2s}header menu .menu-item:hover{transform:translateY(-3px)}header menu .menu-item.active{background-color:var(--header-element-bg);padding:5px 20px;border-radius:40px;border:var(--header-element-border)}header .account{display:flex;align-items:center;gap:10px}header .account .profile-link{display:flex;align-items:center;cursor:pointer}header .account .img{width:45px;height:45px;border-radius:45px;background:url(/assets/male-nAFSPcxd.svg);background-position:center;background-size:cover;background-repeat:no-repeat}header .account .name{background-color:var(--header-element-bg);border:var(--header-element-border);height:40px;line-height:38px;padding-left:20px;padding-right:65px;box-sizing:border-box;margin-right:-45px;border-radius:45px;transition:.2s}header .account:hover>.name{background-color:var(--header-element-bg-hover)}header .account .login-button{background-color:var(--header-element-bg);border:var(--header-element-border);transition:.2s;cursor:pointer;color:var(--text);font-size:14px}header .account .login-button:hover{background-color:var(--header-element-bg-hover)}header .account .reg-button{font-size:15px}header .burger{display:none;justify-self:end;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:9px 8px;background-color:var(--header-element-bg);border:var(--header-element-border);border-radius:12px;cursor:pointer}header .burger span{display:block;height:2px;width:100%;border-radius:2px;background:var(--text);transition:.2s}header .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}header .burger.open span:nth-child(2){opacity:0}header .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:absolute;top:100px;left:0;right:0;bottom:0;z-index:999;background:#12081fcc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-menu-inner{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:20px;background:var(--surface);border-bottom:1px solid var(--card-border);box-shadow:0 20px 40px #0006}.mobile-menu-inner .menu-item{padding:12px 18px;border-radius:12px;font-size:16px}.mobile-menu-inner .menu-item.active{background-color:var(--header-element-bg);border:var(--header-element-border)}.mobile-menu-inner .menu-item:hover{transform:none;background-color:var(--header-element-bg-hover)}.mobile-account{display:flex;gap:10px;margin-top:10px}.mobile-account .button{flex:1;text-align:center;background-color:var(--header-element-bg);border:var(--header-element-border);padding:10px 0;font-size:14px}.mobile-account .button.accent{background-color:var(--accent);color:var(--on-accent);border-color:transparent}.mobile-account .button.accent:hover{background-color:var(--accent-hover)}.mobile-user{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--card-border)}.mobile-user .mobile-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-user .login-button{background-color:var(--header-element-bg);border:var(--header-element-border);color:var(--text);padding:10px 20px;font-size:14px;cursor:pointer;white-space:nowrap}.mobile-user .login-button:hover{background-color:var(--header-element-bg-hover)}.admin-fab{position:fixed;top:40%;right:0;z-index:900;display:flex;align-items:center;padding:6px;background:var(--bg);border:1px solid var(--border);border-right:none;border-radius:12px 0 0 12px;box-shadow:0 8px 24px #00000059;text-decoration:none;transition:.2s}.admin-fab:hover{border-color:var(--primary)}.admin-fab__icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--surface-2);color:var(--text-muted);flex-shrink:0;transition:.2s}.admin-fab:hover .admin-fab__icon{color:var(--accent)}.admin-fab__label{max-width:0;margin-left:0;overflow:hidden;white-space:nowrap;opacity:0;color:var(--text);font-size:14px;font-weight:600;transition:max-width .25s ease-out,margin .25s ease-out,opacity .2s ease-out}.admin-fab:hover .admin-fab__label{max-width:160px;margin-left:10px;margin-right:6px;opacity:1}.menu-enter-active,.menu-leave-active{transition:opacity .2s}.menu-enter-from,.menu-leave-to{opacity:0}@media (max-width: 960px){header{padding:0 36px}header menu .menu-item{padding:5px 12px}header menu{gap:16px}}@media (max-width: 768px){header{grid-template-columns:1fr auto;padding:0 16px;height:100px}header menu,header .account{display:none}header .logo img{height:80px}header .burger{display:flex}}.footer[data-v-2cc712d4]{background:var(--surface);border-top:1px solid var(--card-border)}.footer-inner[data-v-2cc712d4]{display:flex;align-items:center;justify-content:center;gap:160px;padding:24px 50px}.footer-logo[data-v-2cc712d4]{display:flex;align-items:center}.footer-logo .footer-logo-text[data-v-2cc712d4]{display:flex;flex-direction:column;font-size:32px}.footer-logo .footer-logo-text .sub-logo-text[data-v-2cc712d4]{font-weight:500}.footer-logo .footer-logo-text .main-logo-text[data-v-2cc712d4]{font-weight:700}.footer-logo img[data-v-2cc712d4]{height:150px;display:block}.footer-nav[data-v-2cc712d4]{display:flex;flex-direction:column;gap:10px}.footer-link[data-v-2cc712d4]{color:var(--text-muted);text-decoration:none;transition:color .2s}.footer-link[data-v-2cc712d4]:hover{color:var(--text)}.footer-bottom[data-v-2cc712d4]{padding:12px 50px;border-top:1px solid var(--card-border)}.footer-copy[data-v-2cc712d4]{color:var(--text-muted);font-size:13px}@media (max-width: 1024px){.footer-inner[data-v-2cc712d4]{gap:80px}}@media (max-width: 768px){.footer-inner[data-v-2cc712d4]{flex-direction:column;justify-content:center;gap:28px;padding:28px 20px;text-align:center}.footer-logo[data-v-2cc712d4]{flex-direction:column;gap:8px}.footer-logo img[data-v-2cc712d4]{height:90px}.footer-logo .footer-logo-text[data-v-2cc712d4]{font-size:22px}.footer-nav[data-v-2cc712d4]{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px 20px}.footer-bottom[data-v-2cc712d4]{padding:12px 20px;text-align:center}}@media (max-width: 480px){.footer-logo img[data-v-2cc712d4]{height:72px}.footer-nav[data-v-2cc712d4]{gap:10px 16px}}.banner[data-v-d0176f90]{position:relative;width:100%;height:400px;background:linear-gradient(135deg,#7c3aed,#5222b5,#11072c);border-bottom-left-radius:32px;border-bottom-right-radius:32px}.banner .content[data-v-d0176f90]{width:680px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;align-items:center}.banner .content .title[data-v-d0176f90]{margin-bottom:10px;font-size:44px;font-weight:800}.banner .content .sub-text[data-v-d0176f90]{font-size:18px}.banner .content .button[data-v-d0176f90]{margin-top:30px}section[data-v-d0176f90]{margin:100px 0}.about-us[data-v-d0176f90]{display:flex;gap:50px;flex-direction:column;align-items:center}.about-us .content[data-v-d0176f90]{display:flex;gap:40px;align-items:center;width:900px;font-size:24px;font-weight:500}.catalog[data-v-d0176f90]{display:flex;flex-direction:column;align-items:center;gap:40px}.catalog .content[data-v-d0176f90]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;width:80%;max-width:1380px}.catalog .state[data-v-d0176f90]{color:var(--text-muted);font-size:16px}.catalog__preloader[data-v-d0176f90]{width:72px;height:72px}.card[data-v-d0176f90]{display:flex;flex-direction:column;min-height:260px;background-color:var(--surface);border:var(--surface-border);border-radius:14px;padding:25px;box-sizing:border-box;transition:.2s}.card[data-v-d0176f90]:hover{transform:translateY(-4px);border-color:#ffffff30}.card .tags[data-v-d0176f90]{display:flex;flex-wrap:wrap;gap:5px}.card .tag[data-v-d0176f90]{background:var(--surface-2);padding:4px 10px;border-radius:50px;font-size:12px;font-weight:600;color:var(--tag-text)}.card .tag.ai-curator[data-v-d0176f90]{background:linear-gradient(110deg,#7c3aed,#facc15);color:var(--on-accent)}.card .info[data-v-d0176f90]{margin-top:15px}.card .title[data-v-d0176f90]{font-size:20px;font-weight:700}.card .description[data-v-d0176f90]{margin-top:8px;font-size:14px;line-height:1.5;color:var(--text-muted)}.card .bottom[data-v-d0176f90]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:20px}.card .price[data-v-d0176f90]{font-size:20px;font-weight:700;color:var(--accent);white-space:nowrap}.card .more[data-v-d0176f90]{white-space:nowrap}@media (max-width: 960px){.about-us .content[data-v-d0176f90]{display:flex;gap:40px;align-items:center;width:600px;font-size:24px;font-weight:500}}@media (max-width: 768px){.banner[data-v-d0176f90]{height:500px}.banner .content[data-v-d0176f90]{width:400px}.banner .content .sub-text[data-v-d0176f90]{font-size:20px}.about-us .content[data-v-d0176f90]{display:flex;flex-direction:column;gap:40px;align-items:center;width:300px;font-size:30px;font-weight:500;text-align:center}}@media (max-width: 480px){.banner[data-v-d0176f90]{height:550px}.banner .content[data-v-d0176f90]{width:300px}.banner .content .title[data-v-d0176f90]{font-size:36px}.banner .content .sub-text[data-v-d0176f90]{font-size:22px}.about-us .content[data-v-d0176f90]{display:flex;flex-direction:column;gap:40px;align-items:center;width:300px;font-size:30px;font-weight:500;text-align:center}}:root{--bg: #12081f;--surface: #221436;--surface-border: 1px solid #ffffff15;--surface-2: #2e1b47;--primary: #7c3aed;--primary-hover: #8b5cf6;--accent: #facc15;--accent-hover: #eab308;--text: #f5f3ff;--tag-text: #C4B5FD;--dark-text: #1A1A1A;--text-muted: #b4a8d6;--success: #34d399;--error: #ef4444;--on-accent: #1a1a1a;--placeholder: #757575;--border: rgba(255, 255, 255, .1);--card-border: rgba(255, 255, 255, .06)}*{box-sizing:border-box;margin:0;padding:0}h2{text-align:center}.button.round{padding:5px 20px;border-radius:50px}.button.big{padding:12px 20px;font-weight:600;font-size:16;border-radius:10px;box-sizing:border-box}.button{transition:.2s}.button.accent{background-color:var(--accent);color:var(--on-accent)}.button.accent:hover{background-color:var(--accent-hover)}.simple-accent-text{color:var(--accent)}.super-accent-text{background-color:var(--accent);color:var(--on-accent);padding:3px 10px;box-sizing:border-box;border-radius:30px;font-weight:700}body{font-family:Inter;background:var(--bg);color:var(--text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;height:46px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease-out,box-shadow .2s ease-out,transform .2s ease-out}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-block{display:flex;width:100%}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-accent:hover:not(:disabled){background:var(--accent-hover)}.btn-preloader{width:32px;height:32px}.link-accent{color:var(--accent);font-weight:600;text-decoration:none;transition:color .2s ease-out}.link-accent:hover{color:var(--accent-hover);text-decoration:underline}.field{margin-bottom:20px}.field-label{display:block;margin-bottom:8px;color:var(--text-muted);font-size:15px}.field-input{width:100%;height:42px;padding:0 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:15px;transition:border-color .2s ease-out}.field-input::placeholder{color:var(--placeholder)}.field-input:focus{outline:none;border-color:var(--primary)}.field-input.error{border-color:var(--error)}.field-error{margin-top:6px;color:var(--error);font-size:14px}.field-textarea{width:100%;min-height:130px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:15px;font-family:inherit;resize:vertical;transition:border-color .2s ease-out}.field-textarea::placeholder{color:var(--placeholder)}.field-textarea:focus{outline:none;border-color:var(--primary)}.auth-page{position:relative;min-height:100vh;background:var(--bg);color:var(--text)}.auth-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto;padding:40px;background:var(--surface);border:1px solid var(--card-border);border-radius:14px}.auth-card--narrow{width:420px}.auth-title{color:var(--text);font-size:28px;text-align:center}.auth-subtitle{margin:8px 0 32px;color:var(--text-muted);font-size:15px;text-align:center}.auth-footer{margin-top:28px;color:var(--text-muted);font-size:15px;text-align:center}.admin-card{padding:28px;background:var(--surface);border:1px solid var(--card-border);border-radius:14px}.admin-card__title{margin-bottom:20px;font-size:20px}.admin-alert{margin-bottom:20px;padding:12px 16px;border-radius:10px;font-size:15px}.admin-alert--error{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:var(--error)}.admin-alert--success{background:#34d3991f;border:1px solid rgba(52,211,153,.4);color:var(--success)}.table{width:100%;border-collapse:collapse;font-size:.95em}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}.table th{background:var(--surface-2)}.table__id{color:var(--text-muted);font-family:monospace}.table__name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.table__price{white-space:nowrap}.table__tags{max-width:180px}.table__tag{display:inline-block;margin:2px 4px 2px 0;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--tag-text);font-size:.85em}.table__actions-head,.table__actions{white-space:nowrap}.table__edit{color:var(--accent);font-weight:600;text-decoration:none}.table__edit:hover{text-decoration:underline}.table__edit--gap{margin-left:14px}.table__delete{margin-left:14px;border:none;background:none;color:var(--error);font-size:inherit;cursor:pointer}.table__delete:hover{text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.pagination__btn{padding:8px 18px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:14px;font-weight:600;cursor:pointer;transition:.2s}.pagination__btn:hover:not(:disabled){border-color:var(--primary)}.pagination__btn:disabled{opacity:.5;cursor:not-allowed}.pagination__info{color:var(--text-muted);font-size:14px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:50px;font-size:12px;font-weight:700}.badge--accepted{background:#34d39926;border:1px solid rgba(52,211,153,.4);color:var(--success)}.badge--pending{background:#facc151f;border:1px solid rgba(250,204,21,.4);color:var(--accent)}.badge--canceled{background:#ef44441f;border:1px solid rgba(239,68,68,.4);color:var(--error)}.codex-editor{color:var(--text)}.codex-editor ::selection{background:#7c3aed73}.codex-editor__placeholder{color:var(--placeholder)!important}.ce-toolbar__plus,.ce-toolbar__settings-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px}.ce-toolbar__plus:hover,.ce-toolbar__settings-btn:hover{color:var(--accent)}.ce-inline-toolbar,.ce-conversion-toolbar,.ce-settings,.ce-popover{background:var(--surface-2)!important;border:1px solid var(--border)!important;border-radius:10px;box-shadow:0 14px 36px #0000008c;color:var(--text)}.ce-popover__item,.ce-inline-toolbar__button,.ce-conversion-toolbar__button,.ce-settings__button,.cdx-settings-button{color:var(--text)}.ce-popover__item:hover,.ce-popover__item--active,.ce-inline-toolbar__button:hover,.ce-conversion-toolbar__button:hover,.ce-settings__button:hover,.cdx-settings-button:hover{background:var(--surface);color:var(--accent)}.ce-popover__item-text,.ce-popover__item-icon,.ce-inline-toolbar__dropdown-content,.ce-conversion-toolbar__label{color:var(--text)}.cdx-search-field,.ce-popover__search{background:var(--bg);border-color:var(--border)}.cdx-search-field input,.ce-popover__search input,.cdx-input{background:transparent;color:var(--text)}.cdx-search-field input::placeholder,.ce-popover__search input::placeholder{color:var(--placeholder)}.cdx-keys{color:var(--text-muted)}.codex-editor textarea{background:var(--bg);color:var(--success);border:none;font-family:JetBrains Mono,Courier New,monospace}.tc-wrap{color:var(--text)}.tc-table{border-color:var(--border)!important}.tc-table__cell{border-color:var(--border)!important;background:var(--bg)}.tc-cell{color:var(--text)}.tc-add-column,.tc-add-row{background:var(--surface-2);color:var(--text-muted)}.tc-add-row:hover,.tc-add-column:hover{color:var(--accent)}.tc-toolbar--hidden{background:var(--surface-2);border-color:var(--border)}.tc-toolbar__panel,.tc-toolbox{background:var(--surface-2)}.tc-toolbox__toggler{background:var(--surface-2);border-color:var(--border);color:var(--text)}.cdx-checklist__item-checkbox{border-color:var(--text-muted)}.cdx-checklist__item-checkbox-check svg path{stroke:var(--on-accent)}.cdx-checklist__item--checked .cdx-checklist__item-checkbox{background:var(--accent);border-color:var(--accent)}.cdx-quote__text,.cdx-warning__message{color:var(--text)}.cdx-warning__title{color:var(--accent)}.cdx-warning__input,.cdx-quote__input{color:var(--text)}.course-tags{display:flex;flex-wrap:wrap;gap:5px}.course-tag{background:var(--surface-2);padding:4px 10px;border-radius:50px;font-size:12px;font-weight:600;color:var(--tag-text)}.course-tag--ai{background:linear-gradient(110deg,#7c3aed,#facc15);color:var(--on-accent)}.course-checkout{max-width:760px;min-height:65vh;margin:0 auto;padding:48px 20px}.course-checkout--study{max-width:1100px}.course-checkout__card{display:flex;flex-direction:column;gap:20px;padding:28px;margin:20px 0;border:var(--surface-border);border-radius:14px;background:var(--surface);overflow-wrap:anywhere}.course-checkout__card>p{white-space:pre-line}.course-checkout__preloader{width:48px;height:48px;margin:30px auto;display:block}.learning-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;min-width:0;overflow-wrap:anywhere}.learning-card h2,.learning-card h3{margin-bottom:14px}.learning-card p,.learning-card ul,.learning-card details{margin:12px 0}.learning-card ul{padding-left:22px}.learning-loader{display:block;width:52px;height:52px;margin:40px auto}.learning-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.learning-actions .btn{white-space:normal;height:auto;min-height:44px;padding:12px 16px}.learning-textarea{min-height:120px;height:auto;resize:vertical;padding:12px}.learning-code{font-family:monospace;white-space:pre;overflow:auto;max-width:100%;padding:12px;border-radius:8px;background:var(--bg)}.learning-preserve{white-space:pre-wrap}.learning-hint{color:var(--text-muted);font-size:13px;line-height:1.6}.learning-status{color:var(--success);font-weight:700}.learning-attempt{border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.study-page{max-width:1600px;padding:32px 24px 64px;margin:auto}.study-heading{background:none;height:auto;min-height:0;padding:0;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.study-heading h1{font-size:28px}.study-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px;align-items:start}.study-grid--ai{grid-template-columns:230px minmax(0,1fr) 380px}.study-center{display:grid;gap:20px;min-width:0}.study-program progress{display:block;width:100%;height:8px;accent-color:var(--primary);margin:16px 0 8px}.study-lesson{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 10px;margin:8px 0;border:1px solid transparent;border-radius:10px;color:var(--text);background:transparent;cursor:pointer;overflow-wrap:anywhere}.study-lesson span{font-weight:700}.study-lesson--active{background:var(--surface-2);border-color:var(--primary);color:var(--tag-text)}.study-lesson:focus-visible{outline:2px solid var(--primary)}.study-lesson:disabled{opacity:.6;cursor:default}.study-material{max-height:65vh;overflow:auto;overscroll-behavior:contain;margin-top:24px}.study-material-end{height:2px}.study-chat-toggle{display:none}.test-question{min-width:0;padding:18px;border:1px solid var(--border);border-radius:10px;margin:20px 0}.test-question legend{padding:0 8px;font-weight:600}.test-option{display:flex;align-items:flex-start;gap:12px;margin:14px 0;cursor:pointer}.review-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:20px;margin-top:24px;align-items:start}@media (max-width:1250px){.study-grid--ai{grid-template-columns:190px minmax(0,1fr)}.study-tutor{grid-column:2}}@media (max-width:700px){.study-page{padding:20px 12px 40px}.study-heading{align-items:flex-start;flex-direction:column}.study-heading h1{font-size:24px}.study-grid,.study-grid--ai,.review-grid{grid-template-columns:minmax(0,1fr)}.study-tutor{grid-column:auto}.learning-card{padding:16px}.study-chat-toggle{display:block}.study-tutor .tutor-panel{display:none}.study-tutor--open .tutor-panel{display:flex;margin:0}.study-program nav{display:none;max-height:180px;overflow:auto}.study-program--open nav{display:block}.learning-actions{flex-direction:column}.learning-actions .btn{width:100%}}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;flex:0 0 auto;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text-muted);cursor:pointer}.btn-icon:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-icon:focus-visible,.tutor-code-copy:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.study-tutor{position:sticky;top:24px;min-width:0}.tutor-panel{display:flex;flex-direction:column;min-width:0;height:min(820px,calc(100dvh - 48px));min-height:490px;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 12px 44px #00000018}.tutor-backdrop{position:fixed;z-index:1999;top:0;right:0;bottom:0;left:0;background:#090411b8}.tutor-panel--expanded{position:fixed;z-index:2000;top:24px;right:24px;bottom:24px;left:24px;margin:auto;width:min(1000px,calc(100vw - 48px));height:calc(100dvh - 48px);max-height:none;min-height:0;box-shadow:0 16px 80px #0008}.tutor-header{display:flex;align-items:center;gap:8px;padding:19px 20px 16px;flex:0 0 auto}.tutor-identity{display:flex;align-items:center;gap:11px;min-width:0;flex:1}.tutor-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:12px;color:var(--accent);background:linear-gradient(140deg,#7c3aed,#512091)}.tutor-avatar--small{width:25px;height:25px;border-radius:8px}.tutor-avatar--small svg{width:16px;height:16px}.tutor-header h2{margin:0;text-align:left;font-size:16px;line-height:1.4;font-weight:650}.tutor-header h2 span{color:var(--tag-text);font-weight:400}.tutor-header p{display:flex;align-items:center;gap:6px;margin-top:3px;font-size:11px;color:var(--text-muted)}.tutor-online-dot{width:5px;height:5px;border-radius:50%;background:var(--success)}.tutor-mobile-close{display:none}.tutor-context{flex:0 0 auto;display:flex;flex-direction:column;gap:4px;padding:12px 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:12px;line-height:1.45;background:#ffffff03}.tutor-context>span:not(.tutor-context-label){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-context-label{color:var(--text-muted);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.tutor-context .tutor-attempt-context{color:var(--accent);font-size:11px}.tutor-conversation{position:relative;display:flex;flex:1;min-height:0}.tutor-messages{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff20 transparent}.tutor-thread{padding:28px 20px 16px}.tutor-panel--expanded .tutor-thread,.tutor-panel--mobile .tutor-thread{max-width:780px;margin:auto;padding:32px 40px 20px}.tutor-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 0 20px}.tutor-welcome-mark{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:20px;border:1px solid #a78bfa38;border-radius:20px;color:var(--tag-text);background:radial-gradient(ellipse at top,#7c3aed32,#7c3aed08)}.tutor-welcome-mark svg{width:29px;height:29px}.tutor-welcome h3{margin:0;color:var(--text);font-size:20px;font-weight:600}.tutor-welcome p{margin:10px 0 24px;max-width:280px;color:var(--text-muted);font-size:13px;line-height:1.7}.tutor-suggestions{display:grid;width:100%;gap:8px}.btn.tutor-suggestion{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:auto;min-height:43px;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:#ffffff03;color:var(--text-muted);text-align:left;white-space:normal;font-size:12px;font-weight:400}.btn.tutor-suggestion:hover:not(:disabled){border-color:#a78bfa70;background:#7c3aed15;color:var(--text)}.tutor-suggestion span{color:var(--tag-text)}.tutor-turn+.tutor-turn{margin-top:27px}.tutor-user-message{width:fit-content;max-width:90%;margin:0 0 24px auto;padding:11px 15px;border:1px solid #a78bfa1c;border-radius:18px 18px 5px;background:#7c3aed29;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.tutor-assistant-message{min-width:0}.tutor-assistant-label{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:var(--tag-text);font-size:12px;font-weight:600}.tutor-markdown{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.85}.tutor-markdown>:first-child{margin-top:0}.tutor-markdown>:last-child{margin-bottom:0}.tutor-markdown p,.tutor-markdown ul,.tutor-markdown ol,.tutor-markdown blockquote,.tutor-markdown pre{margin:0 0 14px}.tutor-markdown h1,.tutor-markdown h2,.tutor-markdown h3,.tutor-markdown h4{margin:20px 0 10px;text-align:left;line-height:1.5;font-size:15px;font-weight:650}.tutor-markdown ul,.tutor-markdown ol{padding-left:21px}.tutor-markdown li+li{margin-top:5px}.tutor-markdown li>p{margin-bottom:6px}.tutor-markdown a{color:var(--tag-text);text-decoration:underline;text-underline-offset:3px}.tutor-markdown blockquote{padding-left:13px;border-left:2px solid var(--primary);color:var(--text-muted)}.tutor-markdown :not(pre)>code{padding:2px 5px;border:1px solid #ffffff0d;border-radius:5px;background:#ffffff08;color:#e2d5ff;font-family:monospace;font-size:.95em}.tutor-code-block{overflow:hidden;min-width:0;margin:16px 0;border:1px solid #ffffff0d;border-radius:12px;background:var(--bg)}.tutor-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;background:#ffffff05;color:var(--text-muted);font-family:monospace;font-size:11px}.tutor-code-copy{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:3px 0;border:0;background:none;color:var(--text-muted);cursor:pointer;font:inherit}.tutor-code-copy:hover{color:var(--text)}.tutor-code-block pre,.tutor-markdown>pre{max-width:100%;overflow-x:auto;margin:0;padding:14px;font-family:monospace;font-size:12px;line-height:1.7;white-space:pre}.tutor-markdown table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin-bottom:14px}.tutor-markdown td,.tutor-markdown th{padding:7px 10px;border:1px solid var(--border);text-align:left}.tutor-copy-answer.btn-icon{width:29px;height:29px;min-height:29px;margin-top:5px;border-radius:8px;color:var(--text-muted)}.tutor-copy-answer svg{width:15px;height:15px}.tutor-thinking{display:flex;align-items:center;gap:9px;min-height:32px;color:var(--text-muted);font-size:12px}.tutor-thinking-dots{display:inline-flex;gap:4px}.tutor-thinking-dots i{width:5px;height:5px;border-radius:50%;background:var(--tag-text);animation:tutor-pulse 1.3s infinite ease-in-out}.tutor-thinking-dots i:nth-child(2){animation-delay:.15s}.tutor-thinking-dots i:nth-child(3){animation-delay:.3s}@keyframes tutor-pulse{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.tutor-jump.btn-icon{position:absolute;z-index:1;bottom:12px;left:50%;transform:translate(-50%);width:34px;height:34px;min-height:34px;border:1px solid #a78bfa45;border-radius:50%;background:var(--surface-2);color:var(--text);box-shadow:0 4px 14px #0006}.tutor-unread-dot{position:absolute;top:-1px;right:-1px;width:8px;height:8px;border:2px solid var(--surface);border-radius:50%;background:var(--accent)}.tutor-composer-area{flex:0 0 auto;padding:10px 14px 13px;background:linear-gradient(transparent,var(--surface) 18%)}.tutor-panel--expanded .tutor-composer-area,.tutor-panel--mobile .tutor-composer-area{width:min(780px,100%);margin:0 auto;padding:12px 40px 18px}.tutor-composer{border:1px solid #a78bfa33;border-radius:17px;background:#12081f88;transition:border-color .2s,box-shadow .2s}.tutor-composer:focus-within{border-color:#a78bfa80;box-shadow:0 0 0 3px #7c3aed12}.field-input.tutor-input{display:block;width:100%;min-height:48px;max-height:160px;margin:0;padding:14px 14px 8px;border:0;border-radius:17px 17px 0 0;background:transparent;color:var(--text);font:inherit;font-size:13px;line-height:1.6;resize:none;box-shadow:none}.field-input.tutor-input:focus{border:0;outline:0;box-shadow:none}.tutor-input::placeholder{color:#a397bb}.tutor-composer-bottom{display:flex;align-items:center;gap:8px;padding:0 8px 8px 14px}.tutor-keyboard-hint{flex:1;color:var(--text-muted);opacity:.7;font-size:10px}.tutor-composer-status{margin-left:auto;color:var(--tag-text);font-size:10px}.tutor-composer-status+.tutor-send{margin-left:0}.btn.tutor-send{width:32px;height:32px;min-height:32px;margin-left:auto;border-radius:50%;background:var(--accent);color:var(--on-accent)}.btn.tutor-send:hover:not(:disabled){background:var(--accent-hover);color:var(--on-accent);transform:translateY(-1px)}.btn.tutor-send:disabled{opacity:.32;cursor:default}.tutor-send .btn-preloader{width:20px;height:20px}.tutor-disclaimer{margin:8px 6px 0;color:var(--text-muted);opacity:.65;font-size:9px;text-align:center;line-height:1.6}.tutor-notice{margin:0 4px 10px;color:var(--text-muted);font-size:12px;line-height:1.6}.tutor-notice--error{color:#fca5a5}.tutor-response-error{padding:12px;border:1px solid #ef444433;border-radius:12px;color:#fca5a5;background:#ef444408;font-size:12px;line-height:1.65}.tutor-response-error p{margin:0 0 9px}.btn.tutor-retry{display:inline-flex;align-items:center;gap:7px;height:auto;min-height:30px;padding:5px 9px;border:1px solid #ffffff16;border-radius:8px;background:transparent;color:var(--text);font-size:11px}.tutor-retry svg{width:14px;height:14px}.tutor-correction{margin-top:13px;padding:12px;border-left:2px solid var(--accent);border-radius:0 10px 10px 0;background:#facc1508;color:var(--text);font-size:12px;line-height:1.7}.tutor-correction strong{color:var(--accent);font-size:11px}.tutor-correction p{margin:6px 0;white-space:pre-wrap}.tutor-correction small{color:var(--text-muted)}.tutor-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media (max-width:1250px){.study-tutor{position:static}.study-tutor .tutor-panel{display:none}.study-tutor>.study-chat-toggle{display:inline-flex;position:fixed;z-index:800;right:20px;bottom:20px;width:auto;height:auto;min-height:44px;padding:13px 20px;border-radius:999px;box-shadow:0 8px 28px #0006}.tutor-panel--mobile{position:fixed;z-index:2000;top:24px;right:24px;bottom:24px;left:24px;margin:auto;width:min(960px,calc(100vw - 48px));height:calc(100dvh - 48px);min-height:0}.tutor-mobile-close{display:inline-flex}.tutor-expand{display:none}}@media (max-width:700px){.study-tutor{position:static}.tutor-panel--mobile{position:fixed;z-index:2000;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none}.tutor-header{padding:max(16px,env(safe-area-inset-top)) 16px 14px}.tutor-mobile-close{display:inline-flex}.tutor-expand{display:none}.tutor-context{padding:10px 16px}.tutor-panel--mobile .tutor-thread{padding:24px 16px 16px}.tutor-markdown,.tutor-user-message{font-size:14px}.tutor-panel--mobile .tutor-composer-area{padding:10px 10px max(12px,env(safe-area-inset-bottom))}.tutor-keyboard-hint{visibility:hidden}.tutor-welcome{padding-top:24px}}@media (prefers-reduced-motion:reduce){.tutor-thinking-dots i{animation:none;opacity:.65}}.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1}.page-preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--bg)}.page-preloader__icon{width:96px;height:96px}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease-out}.fade-enter-from,.fade-leave-to{opacity:0}
