@font-face{font-family:Inter;src:url("/vendor/fonts/inter-cyrillic-ext-wght-normal.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
/* Academic Distinction — implementation of the approved Stitch direction. */
@font-face{font-family:Inter;src:url('/vendor/fonts/inter-cyrillic-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url('/vendor/fonts/inter-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Jakarta;src:url('/vendor/fonts/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--bg:#f4f7fc;--surface:#fff;--surface2:#eef3fb;--border:#e1e8f2;--text:#14213a;--text2:#52627b;--text3:#6b7b92;--purple:#2563eb;--purple-dark:#1d4ed8;--purple-light:#eaf1ff;--teal:#087f65;--teal-light:#e6f5ef;--amber:#d97706;--amber-light:#fff5df;--radius:8px;--radius-lg:12px;--radius-xl:16px;--sidebar-w:244px;--header-h:72px;--shadow:0 2px 8px #16366405;--shadow-md:0 8px 24px #122c5010;--shadow-lg:0 24px 70px #0f172a26}
:root[data-theme=dark]{--bg:#0b1221;--surface:#141f32;--surface2:#1b2940;--border:#2b3b55;--text:#edf3ff;--text2:#b7c6db;--text3:#9baec8;--purple:#6698ff;--purple-dark:#477fe9;--purple-light:#233861;--teal:#47cba4;--teal-light:#153c35;--amber-light:#43331c}
body{font-family:Inter,system-ui,sans-serif;letter-spacing:-.012em;line-height:1.55;background:var(--bg)}
h1,h2,h3,.sidebar-logo-text{font-family:Jakarta,Inter,system-ui,sans-serif;letter-spacing:-.035em}h2{font-size:26px;line-height:1.3}h3{font-size:20px}
button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:3px solid #93b4ff;outline-offset:3px}
.sidebar{background:#0f172a;color:#d9e4f8;border:0;padding-top:12px;box-shadow:none}.sidebar-logo{padding:14px 22px 22px;border-color:#ffffff12}.sidebar-logo-text{color:#f8fbff;font-size:22px}.sidebar-logo svg{filter:none}.sidebar-user{background:#18243a;margin:0 14px 14px;padding:15px;border:1px solid #ffffff0d;border-radius:8px}.sidebar-user-name{color:#f2f6ff;font-size:14px}.sidebar-user-role .badge{background:transparent;color:#9fb3d1;padding:0;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.sidebar-nav{padding:4px 12px}.nav-section-title{color:#8396b6;font-size:10px;letter-spacing:.12em;margin:16px 12px 10px}.nav-item{color:#bccae0;min-height:44px;border-radius:7px;padding:11px 13px;margin-bottom:4px;font-size:13px;font-weight:500;gap:12px}.nav-item:hover{background:#ffffff0a;color:#fff}.nav-item.active{background:#2563eb;color:#fff;box-shadow:0 4px 12px #02081730}.nav-item.active::before{display:none}.nav-item.active svg{color:#fff}.nav-divider{background:#ffffff12;margin:20px 0}.sidebar-footer{color:#8fa4c2;border-color:#ffffff12}.sidebar-close-btn{color:#fff}
.main-content{min-width:0}.main-header{background:var(--surface);padding:0 34px;border-bottom:1px solid var(--border);height:var(--header-h);gap:16px}.main-header h1{font-size:15px;font-weight:600;color:var(--text2)}.main-header h1::before{content:'Кампус / ';font-weight:400;color:var(--text3)}.main-header .app-controls{position:static;box-shadow:none;border:0;padding:0;background:transparent;order:3}.main-header .header-date{font-size:12px;color:var(--text3);white-space:nowrap}.page-body{padding:32px 36px 64px;max-width:1600px;width:100%;margin:0 auto}.page-body section>div:first-child{flex-wrap:wrap;gap:14px}.card,.playlist-card{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px}.card{padding:24px}.stat-card{border:1px solid var(--border);box-shadow:none}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.05em}.btn{font-weight:600;font-size:13px;min-height:38px;padding:9px 15px;border-radius:7px;letter-spacing:0}.btn-sm{font-size:12px;min-height:31px;padding:5px 10px}.btn-primary:hover{box-shadow:0 4px 10px #2563eb25;transform:none}.btn-ghost{border:1px solid var(--border);background:var(--surface)}.btn-success{background:#087f65;color:#fff}.form-group label{font-size:12px;font-weight:650;color:var(--text2);margin-bottom:7px}input,select,textarea{border-radius:7px!important;border-color:var(--border);padding:10px 12px;color:var(--text);background:var(--surface)}input:focus,select:focus,textarea:focus{border-color:var(--purple)}table{font-size:13px}th{background:var(--surface2);color:var(--text2);font-size:11px;letter-spacing:.025em;text-transform:uppercase;font-weight:650;padding:14px 16px}td{padding:14px 16px;border-color:var(--border)}tr:hover td{background:var(--purple-light)}.table-wrap,.table-container{overflow:auto}.badge,.media-badge{font-size:10px;font-weight:600;letter-spacing:.01em;border-radius:4px}.tab-bar{gap:20px;border-width:1px;overflow-x:auto}.tab{padding:14px 2px;white-space:nowrap;font-size:13px}.tab.active{color:var(--purple)}.empty-state{padding:56px 24px}.empty-state h3{font-size:18px}.empty-state p{max-width:440px;margin:8px auto 0;color:var(--text2)}.modal-overlay{backdrop-filter:blur(5px);background:#07102088}.modal-header{padding:20px 24px;border-width:1px}.modal-title{font-size:18px;letter-spacing:-.025em}.modal-body{padding:24px}.modal{border-radius:14px;border:1px solid var(--border)}.modal-fs{max-width:1180px}.notif-dropdown{box-shadow:var(--shadow-lg);border:1px solid var(--border)}.file-drop-zone{background:var(--surface2);border:1px dashed #9fb4d4}.toast{border-radius:10px}.playlist-header{padding:24px;align-items:center}.playlist-icon{background:var(--purple-light);color:var(--purple);width:48px;height:48px;border-radius:10px}.playlist-title{font-size:18px;letter-spacing:-.03em}.playlist-meta{max-width:850px;line-height:1.65;font-size:12px}.playlist-lessons{border-width:1px;background:var(--surface)}.lesson-row{padding:18px 24px;border-bottom:1px solid var(--border)}.lesson-num{border-radius:7px;width:30px;height:30px;color:var(--text3);background:var(--surface2);font-size:12px}.lesson-title{font-size:14px}.lesson-badges{margin-top:6px}.lesson-video-wrap{background:#0b1221}.lesson-video-wrap video{max-height:65vh}.call-overlay{background:#0b1221}.call-topbar{background:#111e33;border-color:#293850}.call-btn{border-radius:8px}.call-tile{border:1px solid #2b3d59;border-radius:12px}.quiz-screen-body{max-width:940px;width:100%;margin:auto}.quiz-option{border-radius:9px}
.campus-intro{background:#122443;color:#f4f8ff;padding:28px 30px;border-radius:12px;margin:0 0 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;position:relative}.campus-intro::after{content:'';position:absolute;right:70px;top:-90px;width:260px;height:260px;border:1px solid #ffffff12;border-radius:50%;pointer-events:none}.campus-eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#94b2e0;margin-bottom:9px}.campus-intro h2{font-size:26px;max-width:660px;color:#fff}.campus-intro p{color:#b1c5e2;font-size:13px;margin:8px 0 0;max-width:620px}.campus-intro a{position:relative;z-index:1;color:#fff;background:#2563eb;border:0}.course-toolbar{display:flex;gap:14px;align-items:center;margin:0 0 20px}.course-toolbar input{max-width:420px;width:100%;border:1px solid var(--border)}.course-toolbar small{color:var(--text3);margin-left:auto;white-space:nowrap}.skip-link{position:fixed;top:-80px;left:260px;z-index:9999;background:var(--purple);color:white;padding:12px 20px}.skip-link:focus{top:8px}.xr-launch{background:#10213b;padding:48px 28px;color:white;text-align:center;border-radius:10px;margin:24px}.xr-launch h3{color:white;font-size:27px}.xr-launch p{color:#b6c9e6;margin:12px auto 24px;max-width:480px}.xr-glyph{font-size:44px;font-weight:700;letter-spacing:-.06em;color:#9bbbff}
@media(min-width:1600px){.page-body{padding-top:40px}.main-header{padding-inline:44px}}
@media(max-width:1050px){:root{--sidebar-w:216px}.page-body{padding:24px}.main-header{padding:0 24px}.header-date{display:none}.campus-intro{padding:24px}.campus-intro h2{font-size:23px}}
@media(max-width:768px){:root{--header-h:64px}.main-content{margin-left:0}.sidebar{width:260px}.main-header{padding:0 16px;gap:10px}.main-header h1{font-size:13px}.main-header h1::before{display:none}.main-header .app-controls{gap:0}.page-body{padding:22px 16px 48px}.card{padding:18px}.campus-intro{padding:24px;display:block}.campus-intro h2{font-size:24px}.campus-intro a{margin-top:20px}.course-toolbar{flex-wrap:wrap}.course-toolbar small{margin:0}.playlist-header{padding:18px;gap:12px}.playlist-meta{font-size:11px}.playlist-title{font-size:16px}.lesson-row{padding:16px}.modal-overlay{padding:8px}.modal-body{padding:18px}.modal-header{padding:16px}.grid-3,.grid-4{grid-template-columns:1fr!important}.skip-link{left:16px}.xr-launch{margin:16px;padding:32px 20px}th,td{padding:12px}input,textarea,select{font-size:16px!important}.btn{white-space:normal}.flex.justify-between{gap:12px;flex-wrap:wrap}h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-header{flex-wrap:nowrap}.main-header .hamburger{flex-shrink:0}.main-header h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.call-start-btn{background:#2563eb;box-shadow:none;border-radius:7px}.call-start-btn:hover{background:#1d4ed8}
[hidden]{display:none!important}
.quiz-option{width:100%;text-align:left;color:var(--text);line-height:1.6}
.quiz-option>span:last-child{overflow-wrap:anywhere;min-width:0}
.quiz-option-marker{flex-shrink:0}
.quiz-attempts-note,.reviewed-notice{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text2);font-size:13px;line-height:1.65}
.playlist-info,.lesson-info,.card-title{min-width:0;overflow-wrap:anywhere}
.lesson-badges{flex-wrap:wrap}.playlist-title,.modal-title{overflow-wrap:anywhere}
.modal{max-height:calc(100dvh - 32px)}.modal-footer{flex-wrap:wrap}
.form-group input,.form-group textarea,.form-group select{min-width:0;max-width:100%}
.app-controls-theme-btn{width:36px;height:36px}.app-lang-switch-btn{min-height:36px}
.main-header .app-lang-switch-menu{top:calc(100% + 8px);bottom:auto}
.toast-container{max-width:calc(100vw - 32px)}.toast{overflow-wrap:anywhere}
:root[data-theme=dark]{color-scheme:dark;--red:#ff8994;--red-dark:#ffb7bf;--amber-dark:#ffdfa6;--blue:#91b7ff}
:root[data-theme=dark] .btn-primary{background:#2563eb;color:#fff}
:root[data-theme=dark] .btn-primary:hover{background:#1d4ed8}
@media(max-width:768px){
 .main-header .badge-student,.main-header .badge-teacher,.main-header .badge-admin,.main-header .badge-operator{display:none}
 .quiz-screen-header{flex-wrap:wrap;padding:14px 16px;gap:12px}.quiz-screen-header #quizTitleLabel{flex-basis:100%;white-space:normal;overflow-wrap:anywhere}
 .quiz-screen-body{padding:24px 16px}.quiz-screen-footer{padding:14px 16px;gap:8px}
 .modal{max-height:calc(100dvh - 16px)}.modal-fs{max-width:100%}
 .modal-footer .btn{flex:1}.btn-icon{min-width:36px;min-height:36px}
 .playlist-header{flex-wrap:wrap}.playlist-info{flex-basis:calc(100% - 90px)}
 .tab-bar{gap:16px}.tab{min-height:44px}.card-header{flex-wrap:wrap}
}

html[lang="en"] .main-header h1::before{content:"Campus / ";}
