*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;background:#0b0d12;color:#e7e9ee;line-height:1.6}a{color:#8ab4ff;text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1040px;margin:0 auto;padding:0 24px}nav{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #1d2230}nav .logo{font-weight:800;font-size:20px;color:#fff}nav .links a{margin-left:14px;color:#c3c8d4;font-size:14px}input,select,textarea{background:#0b0d12;color:#e7e9ee;border:1px solid #2a3245;border-radius:8px;padding:8px}.hero{padding:88px 0 56px;text-align:center}.hero h1{font-size:56px;line-height:1.05;margin:0 0 18px;letter-spacing:-1.5px}.hero h1 span{background:linear-gradient(90deg,#7aa2ff,#c48bff);-webkit-background-clip:text;color:transparent}.hero p{font-size:20px;color:#aab1c0;max-width:680px;margin:0 auto 28px}code,pre{font-family:ui-monospace,Menlo,monospace}pre{background:#11151f;border:1px solid #232a3a;padding:14px 16px;overflow:auto;text-align:left;font-size:14px}.btn,pre{border-radius:10px}.btn{display:inline-block;padding:12px 22px;background:#7aa2ff;color:#0b0d12;font-weight:700;margin:4px}.btn.alt{background:transparent;border:1px solid #384157;color:#e7e9ee}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px;margin:24px 0 64px}.card{background:#11151f;border:1px solid #1f2636;border-radius:14px;padding:20px;color:inherit;display:block}.card:hover{border-color:#7aa2ff;text-decoration:none}.card h3{margin:0 0 6px}.card p{margin:0;color:#aab1c0;font-size:15px}.tag{font-size:12px;padding:2px 8px;border-radius:99px;background:#16301f;color:#7be0a0;float:right}.tag.lock{background:#30231a;color:#ffb27a}h2{font-size:30px;margin:48px 0 8px}.muted{color:#8a92a4}.prose{max-width:760px;margin:32px auto 80px}.prose h1{font-size:40px}.prose h2{font-size:24px}.steps{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}footer{border-top:1px solid #1d2230;padding:28px 0;color:#6f7789;font-size:14px}.badge{display:inline-block;background:#2a2140;color:#d4b8ff;border-radius:99px;padding:3px 10px;font-size:13px;margin-bottom:16px}.cat{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#7aa2ff;margin-bottom:4px}.filters a{display:inline-block;margin:0 6px 8px 0;padding:4px 10px;border:1px solid #2a3245;border-radius:99px;font-size:13px;color:#c3c8d4}.filters a.on{background:#7aa2ff;color:#0b0d12;border-color:#7aa2ff}.lesson{display:flex;gap:14px;align-items:flex-start}.lesson .n{font-weight:800;font-size:22px;color:#7aa2ff;min-width:28px}.prose table{border-collapse:collapse;width:100%}.prose td,.prose th{border:1px solid #232a3a;padding:6px 10px;text-align:left}