:root{--bg:#0a0e1a;--bg-2:#0f1525;--bg-3:#161e36;--surface:#1a2342;--line:#243056;--line-2:#2e3c6b;--ink:#e8edf7;--ink-2:#aab4cf;--ink-3:#7a86a8;--accent:#22d3ee;--accent-2:#06b6d4;--accent-glow:rgba(34,211,238,0.15);--warn:#fbbf24;--ok:#34d399;--danger:#f87171;--radius:12px;--radius-lg:20px;--shadow:0 10px 40px -10px rgba(0,0,0,0.5);--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased}body{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:#67e8f9}img{max-width:100%;display:block}h1,h2,h3,h4{line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:0 0 .4em}h1{font-size:clamp(1.6rem,3vw,2.2rem)}h2{font-size:1.4rem}h3{font-size:1.1rem}p{margin:0 0 1em;color:var(--ink-2)}small{color:var(--ink-3)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.muted{color:var(--ink-3)}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.app-nav{background:rgba(10,14,26,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:50}.app-nav-inner{gap:1rem;padding:.7rem 1.5rem;max-width:1200px;margin:0 auto;justify-content:space-between}.app-nav-brand,.app-nav-inner{display:flex;align-items:center}.app-nav-brand{gap:.6rem;font-weight:700;color:var(--ink)}.app-nav-brand img{width:32px}.app-nav-links{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;align-items:center}.app-nav-links a{color:var(--ink-2);padding:.5rem .85rem;border-radius:8px;font-size:.92rem}.app-nav-links a:hover{background:var(--bg-3);color:var(--ink)}.app-nav-links a.active{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.15rem;border-radius:10px;font-size:.92rem;font-weight:600;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:all .15s;font-family:inherit}.btn-primary{background:var(--accent);color:#04141a}.btn-primary:hover{background:#67e8f9;color:#04141a;box-shadow:0 0 24px rgba(34,211,238,.25)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}.btn-ghost:hover{background:var(--bg-3);border-color:var(--accent)}.btn-danger{background:rgba(248,113,113,.12);color:var(--danger);border-color:rgba(248,113,113,.4)}.btn-danger:hover{background:rgba(248,113,113,.2)}.btn-sm{padding:.45rem .8rem;font-size:.85rem}.btn-lg{padding:.95rem 1.5rem;font-size:1rem}.btn[disabled]{opacity:.5;cursor:not-allowed}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.card h3{margin-bottom:.5rem}.form-row{margin-bottom:1rem}.form-row label{display:block;font-size:.85rem;color:var(--ink-2);margin-bottom:.4rem;font-weight:500}.form-row input,.form-row select,.form-row textarea{width:100%;padding:.7rem .85rem;background:var(--bg);border:1px solid var(--line-2);border-radius:8px;color:var(--ink);font-size:.95rem;font-family:inherit}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.banner-info{background:rgba(34,211,238,.06);border:1px solid rgba(34,211,238,.25);color:var(--ink-2);border-radius:8px}.banner-info,.banner-warn{padding:.85rem 1rem;font-size:.88rem;margin:1rem 0}.banner-warn{background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);color:var(--warn);border-radius:8px}.banner-danger{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.25);color:var(--danger);border-radius:8px}.banner-danger,.banner-ok{padding:.85rem 1rem;font-size:.88rem;margin:1rem 0}.banner-ok{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.25);color:var(--ok);border-radius:8px}.auth-shell{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:3rem 1.5rem}.auth-card{width:100%;max-width:420px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.5rem}.course-layout{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 64px)}@media (max-width:900px){.course-layout{grid-template-columns:1fr}}.course-sidebar{background:var(--bg-2);border-right:1px solid var(--line);padding:1.5rem 1rem;overflow-y:auto}.course-main{padding:2rem 2.5rem}.chapter-block{margin-bottom:.75rem}.chapter-title{font-size:.8rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;padding:.5rem .75rem}.lesson-link{display:flex;gap:.6rem;padding:.55rem .75rem;border-radius:8px;color:var(--ink-2);font-size:.9rem;transition:background .1s;align-items:center}.lesson-link:hover{background:var(--bg-3);color:var(--ink)}.lesson-link.active{background:var(--accent-glow);color:var(--accent)}.lesson-link .status{width:16px;height:16px;border:1.5px solid var(--line-2);border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.lesson-link.complete .status{background:var(--ok);border-color:var(--ok);color:#04141a;font-size:.7rem}.lesson-link.locked{opacity:.5}.lesson-link.locked .status{border-color:var(--line)}.progress-bar{height:4px;background:var(--bg-3);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#818cf8);transition:width .3s}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table td,.table th{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--line)}.table th{color:var(--ink-3);font-weight:500;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em}.table tbody tr:hover,.tag{background:var(--bg-3)}.tag{border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;color:var(--ink-2);display:inline-block}.tag.ok{color:var(--ok);border-color:rgba(52,211,153,.4)}.tag.warn{color:var(--warn);border-color:rgba(251,191,36,.4)}.tag.danger{color:var(--danger);border-color:rgba(248,113,113,.4)}.video-shell{background:#000;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9}.video-shell iframe,.video-shell video{width:100%;height:100%;border:0;display:block}.grid{display:grid;grid-gap:1rem;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:700px){.grid-2,.grid-3{grid-template-columns:1fr}}.section-pad{padding:2rem 0}