:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--panel:#0d1b2c;--line:#20354b;--muted:#8ea4bb;--text:#edf5ff;--cyan:#42d6c5}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}body{background-image:radial-gradient(at 15% 0,#25697e2e,#0000 38%),radial-gradient(at 90% 20%,#284c8429,#0000 34%)}a{color:inherit;text-decoration:none}button,input{font:inherit}.shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#07111fe0;padding:28px 18px}.brand{letter-spacing:-.5px;align-items:center;gap:11px;margin:4px 10px 42px;font-size:20px;font-weight:800;display:flex}.brand-mark{background:var(--cyan);color:#06202a;border-radius:11px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.nav-label{color:#6f879e;letter-spacing:1.6px;margin:24px 12px 10px;font-size:10px;font-weight:700}.nav-link{color:#a9bbce;border-radius:9px;margin:4px 0;padding:12px 13px;font-size:14px;display:block}.nav-link.active,.nav-link:hover{color:#fff;background:#14283b}.nav-link.active{box-shadow:inset 3px 0 var(--cyan)}.main{width:100%;max-width:1450px;margin:auto;padding:34px 42px 60px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:34px;display:flex}.eyebrow{color:var(--cyan);letter-spacing:1.7px;font-size:11px;font-weight:800}h1{letter-spacing:-1.3px;margin:8px 0;font-size:clamp(28px,4vw,38px)}.subtitle{color:var(--muted);font-size:14px;line-height:1.6}.btn{color:#eaf7ff;cursor:pointer;background:#13283b;border:1px solid #31506a;border-radius:9px;justify-content:center;align-items:center;padding:10px 15px;font-size:13px;display:inline-flex}.btn.primary{background:var(--cyan);color:#06202a;border-color:var(--cyan);font-weight:800}.hero{background:linear-gradient(115deg,#133e4ce6,#0e1f32eb 65%,#132b45e6);border:1px solid #245064;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px;padding:30px;display:flex}.hero h2{margin:9px 0;font-size:25px}.hero p{color:#b1c5d5;max-width:560px;font-size:14px;line-height:1.65}.hero-symbol{opacity:.85;padding:0 24px;font-size:68px}.stats{grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 32px;display:grid}.stat,.panel,.course{border:1px solid var(--line);background:#0d1b2ce0;border-radius:14px}.stat{padding:17px 19px}.stat strong{margin:7px 0;font-size:25px;display:block}.stat span{color:var(--muted);font-size:12px}.section-head{justify-content:space-between;align-items:end;margin:26px 0 14px;display:flex}.section-head h2{margin:0 0 5px;font-size:19px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.course{min-height:185px;padding:19px}.tag{letter-spacing:1px;color:var(--cyan);background:#12323b;border-radius:6px;padding:6px 8px;font-size:10px;font-weight:800;display:inline-block}.course h3{margin:16px 0 7px;font-size:16px}.course p{color:var(--muted);min-height:38px;font-size:12px;line-height:1.6}.course-foot{color:#91a8bd;justify-content:space-between;margin-top:17px;font-size:11px;display:flex}.panel{padding:20px}.lab-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:13px 0;display:flex}.lab-row:last-child{border:0}.lab-row p{color:var(--muted);margin:5px 0 0;font-size:12px}.notice{color:var(--muted);margin-top:22px;font-size:12px;line-height:1.6}.error{color:#ff9c9c}.login-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;width:min(440px,100%);padding:30px}.login-card input{border:1px solid var(--line);color:#fff;background:#071523;border-radius:8px;width:100%;margin:8px 0 14px;padding:13px}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:14px 16px}.brand{margin:3px 6px 12px}.nav-label{display:none}.sidebar nav{gap:5px;display:flex;overflow:auto}.nav-link{white-space:nowrap;padding:9px}.main{padding:25px 18px}.course-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.stats,.course-grid{grid-template-columns:1fr}.hero{padding:22px}.hero-symbol{display:none}.topbar{align-items:flex-start}.topbar .btn{white-space:nowrap}}
