:root{--text:#4b5563;--text-h:#0f172a;--bg:#f8fafc;--card-bg:#fff;--border:#e2e8f0;--accent:#7c3aed;--accent-hover:#6d28d9;--danger:#dc2626;--danger-bg:#fef2f2;--success:#16a34a;--success-bg:#f0fdf4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#cbd5e1;--text-h:#f8fafc;--bg:#0f1117;--card-bg:#171923;--border:#2d3140;--accent:#a78bfa;--accent-hover:#c4b5fd;--danger:#f87171;--danger-bg:#2a1616;--success:#4ade80;--success-bg:#12271a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{color:var(--text-h);margin:0 0 8px}a{color:var(--accent)}.muted{color:var(--text);opacity:.7;font-size:.9em}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 18px;font-size:1em}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{border:1px solid var(--border);background:var(--card-bg);width:100%;color:var(--text-h);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:1em}label{text-align:left;color:var(--text-h);margin-bottom:14px;font-size:.9em;display:block}label input,label textarea,label select{margin-top:6px}.error{background:var(--danger-bg);color:var(--danger);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.9em}.notice{background:var(--success-bg);color:var(--success);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.9em}.completed{color:var(--success);margin-top:12px;font-weight:600}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;width:360px;max-width:100%;padding:32px}.auth-card button{width:100%;margin-top:8px}.auth-card p{text-align:center;margin-top:16px;font-size:.9em}.page{max-width:900px;margin:0 auto;padding:32px 20px 80px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.header-actions{align-items:center;gap:16px;display:flex}.back-link{margin-bottom:16px;font-size:.9em;text-decoration:none;display:inline-block}.course-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.course-card{background:var(--card-bg);border:1px solid var(--border);text-align:left;border-radius:12px;flex-direction:column;gap:6px;padding:18px;display:flex}.course-card.locked{opacity:.6}.course-card button{align-self:flex-start;margin-top:10px}.badge{text-transform:uppercase;letter-spacing:.05em;background:var(--accent);color:#fff;border-radius:999px;width:fit-content;padding:3px 8px;font-size:.7em;display:inline-block}.video-shell{background:#000;border-radius:12px;max-width:720px;overflow:hidden}.video-frame{aspect-ratio:16/9;width:100%}.custom-controls{background:#111;align-items:center;gap:12px;padding:10px 14px;display:flex}.progress-track{cursor:pointer;touch-action:none;background:#333;border-radius:999px;flex:1;height:6px;position:relative}.progress-unlocked{background:#5b5b5b;border-radius:999px;height:100%;position:absolute;inset:0}.progress-fill{background:var(--accent);border-radius:999px;height:100%;position:absolute;inset:0}.time-label{color:#ddd;white-space:nowrap;font-size:.85em}.fullscreen-btn{background:#333;padding:8px 14px;font-size:.85em}.fullscreen-btn:hover:not(:disabled){background:#444}.video-shell:fullscreen{border-radius:0;flex-direction:column;width:100vw;max-width:none;height:100vh;display:flex}.video-shell:fullscreen .video-frame{aspect-ratio:unset;flex:1;min-height:0}.admin-form{max-width:480px}.admin-tabs{gap:8px;margin-bottom:20px;display:flex}.admin-tab{color:var(--text);border:1px solid var(--border);border-radius:999px;padding:8px 16px;font-size:.9em;text-decoration:none}.admin-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.student-list{flex-direction:column;gap:16px;display:flex}.student-card{background:var(--card-bg);border:1px solid var(--border);text-align:left;border-radius:12px;padding:18px}.student-header{justify-content:space-between;align-items:flex-start;display:flex}.progress-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:.9em}.progress-table th,.progress-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 6px}.progress-table th{color:var(--text-h);font-weight:600}
