:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05070d;--surface:#0e1526;--surface-2:#131b2e;--border:#232f4a;--text:#e8ecf4;--text-muted:#93a4c3;--accent:#6ea8fe;--accent-contrast:#05070d;--success:#6ef29a}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit}button{font-family:inherit}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.app-logo{color:var(--text);font-size:18px;font-weight:700;text-decoration:none}.app-header-user{color:var(--text-muted);align-items:center;gap:10px;font-size:14px;display:flex}.app-avatar{border-radius:50%;width:28px;height:28px}.app-logout{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:13px}.app-logout:hover{border-color:var(--accent);color:var(--text)}.app-main{flex:1;padding:32px 28px 64px}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:20px;max-width:360px;padding:48px 40px}.login-card h1{margin:0 0 8px;font-size:24px}.login-card p{color:var(--text-muted);margin:0 0 24px}.login-button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:999px;width:100%;padding:12px 24px;font-weight:600}.login-error{color:#ff6b6b;margin-top:16px;font-size:14px}.login-demo-note{color:var(--text-muted);font-size:12px;line-height:1.5;margin-top:16px!important}.login-demo-note code{background:var(--surface-2);border-radius:4px;padding:1px 5px}.catalog-page h1{margin:0 0 24px;font-size:26px}.catalog-error{color:#ff6b6b}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.course-card{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;padding:22px;text-decoration:none;transition:border-color .15s;display:block}.course-card:hover{border-color:var(--accent)}.course-card h2{margin:0 0 8px;font-size:18px}.course-card p{color:var(--text-muted);margin:0 0 14px;font-size:14px;line-height:1.5}.course-card-meta{color:var(--text-muted);gap:6px;font-size:13px;display:flex}.course-card-progress{color:var(--success);margin-top:12px;font-size:13px;font-weight:600}.back-link{color:var(--text-muted);margin-bottom:20px;font-size:14px;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}.course-detail-page h1{margin:0 0 8px;font-size:26px}.course-detail-description{color:var(--text-muted);max-width:640px;margin:0 0 28px;line-height:1.6}.course-error{color:#ff6b6b}.lesson-list{flex-direction:column;gap:10px;max-width:640px;margin:0;padding:0;list-style:none;display:flex}.lesson-row{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;align-items:center;gap:16px;padding:16px 18px;text-decoration:none;display:flex}.lesson-row:hover{border-color:var(--accent)}.lesson-status{background:var(--surface-2);width:28px;height:28px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;display:flex}.lesson-status--done{color:var(--success);background:#6ef29a26}.lesson-row-title{font-size:15px}.corner-video{z-index:10;background:#000;border:2px solid #ffffff1f;border-radius:16px;width:220px;height:220px;position:absolute;bottom:20px;right:20px;overflow:hidden;box-shadow:0 8px 28px #00000073}.corner-video video{object-fit:cover;width:100%;height:100%;display:block}@media (width<=640px){.corner-video{border-radius:12px;width:128px;height:128px;bottom:12px;right:12px}}.illustration-stage{background:#0b1220;border-radius:16px;width:100%;height:100%;position:relative;overflow:hidden}.illustration-stage--empty{color:#6b7690;justify-content:center;align-items:center;font-size:14px;display:flex}.illustration-frame{border:none;width:100%;height:100%;display:block}.caption-bar{text-align:center;justify-content:center;align-items:center;min-height:44px;padding:8px 16px;display:flex}.caption-bar p{color:#c7d0e6;max-width:720px;margin:0;font-size:15px;line-height:1.5}.quiz-step{box-sizing:border-box;color:#e8ecf4;background:#0b1220;border-radius:16px;flex-direction:column;justify-content:center;gap:20px;width:100%;height:100%;padding:32px;display:flex}.quiz-step h3{margin:0;font-size:22px;line-height:1.4}.quiz-options{flex-direction:column;gap:10px;display:flex}.quiz-option{text-align:left;color:#e8ecf4;cursor:pointer;background:#131b2e;border:1px solid #2e3f63;border-radius:10px;padding:14px 16px;font-size:15px;transition:border-color .15s,background .15s}.quiz-option:hover:not(:disabled){border-color:#6ea8fe}.quiz-option--selected{background:#1c2942;border-color:#6ea8fe}.quiz-option--correct{background:#16321f;border-color:#2b6b3f}.quiz-option--wrong{background:#341717;border-color:#7a2b2b}.quiz-submit,.quiz-continue{color:#05070d;cursor:pointer;background:#6ea8fe;border:none;border-radius:999px;align-self:flex-start;padding:10px 22px;font-weight:600}.quiz-submit:disabled{opacity:.5;cursor:not-allowed}.quiz-feedback p{color:#c7d0e6;margin:0 0 12px;line-height:1.6}.quiz-feedback--correct .quiz-continue{background:#6ef29a}.lesson-player{flex-direction:column;gap:12px;width:100%;max-width:900px;margin:0 auto;display:flex}.lesson-player-topbar{color:#93a4c3;flex-direction:column;gap:2px;font-size:13px;display:flex}.lesson-player-title{color:#e8ecf4;font-size:18px;font-weight:600}.lesson-player-stage{aspect-ratio:16/9;background:#0b1220;border-radius:16px;width:100%;position:relative;overflow:hidden}.lesson-player-done{justify-content:center;display:flex}.lesson-continue{color:#05070d;cursor:pointer;background:#6ea8fe;border:none;border-radius:999px;padding:10px 28px;font-weight:600}.lesson-page{justify-content:center;display:flex}.lesson-page-error{color:#ff6b6b}.profile-page h1{margin:0 0 4px;font-size:24px}.profile-email{color:var(--text-muted);margin:0 0 32px}.profile-page h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 16px;font-size:16px}.profile-progress-list{flex-direction:column;gap:18px;max-width:480px;display:flex}.profile-progress-header{justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex}.profile-progress-track{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.profile-progress-fill{background:var(--accent);border-radius:999px;height:100%}
