:root{--bg:#070b1a;--fg:#e6ebff;--mut:#9aa6c8;--ac:#7c8cff;--ac2:#22d3ee;--card:rgba(17,24,48,.72);--bd:rgba(124,140,255,.22)}
*{box-sizing:border-box}html{background:var(--bg)}
body{margin:0;font:17px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);min-height:100vh;position:relative;
background:radial-gradient(1200px 600px at 15% -10%,rgba(124,140,255,.22),transparent 60%),radial-gradient(900px 500px at 100% 10%,rgba(34,211,238,.14),transparent 60%),linear-gradient(180deg,#0a1024 0%,#070b1a 60%,#05081a 100%);background-attachment:fixed}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.55;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='none' stroke='%237c8cff' stroke-opacity='.18' stroke-width='1'%3E%3Cpath d='M0 60h40l10-10h20l10 10h40M60 0v30l10 10M60 120V90l-10-10'/%3E%3C/g%3E%3Cg fill='%2322d3ee' fill-opacity='.35'%3E%3Ccircle cx='40' cy='60' r='2'/%3E%3Ccircle cx='80' cy='60' r='2'/%3E%3Ccircle cx='70' cy='40' r='2'/%3E%3Ccircle cx='50' cy='80' r='2'/%3E%3C/g%3E%3C/svg%3E"),
linear-gradient(rgba(124,140,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,140,255,.05) 1px,transparent 1px);
background-size:120px 120px,24px 24px,24px 24px;animation:drift 60s linear infinite}
@keyframes drift{to{background-position:120px 120px,24px 24px,24px 24px}}
@keyframes glow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){body::before,.hero::before{animation:none}}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}a{color:var(--ac2)}
header.site{background:rgba(7,11,26,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:10}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px}
.logo{font-weight:800;font-size:1.3rem;text-decoration:none;color:var(--fg)}.logo span{color:var(--ac);text-shadow:0 0 14px rgba(124,140,255,.7)}
nav{display:flex;flex-wrap:wrap;gap:16px}nav a{text-decoration:none;color:var(--mut);font-weight:500}nav a:hover{color:var(--ac2)}
main{padding:32px 20px 60px}h1{font-size:2.2rem;line-height:1.2}h1,h2,h3{color:#f3f5ff}.lead{font-size:1.15rem;color:var(--mut)}
.hero{text-align:center;padding:80px 24px;margin:10px 0 40px;position:relative;isolation:isolate;border:1px solid var(--bd);border-radius:24px;overflow:hidden;
background:radial-gradient(600px 260px at 50% 0%,rgba(124,140,255,.28),transparent 70%),linear-gradient(160deg,rgba(20,28,60,.85),rgba(8,12,30,.85));box-shadow:0 0 0 1px rgba(34,211,238,.06),0 20px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.hero::before{content:"";position:absolute;z-index:-1;width:420px;height:420px;left:50%;top:-180px;margin-left:-210px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.35),rgba(124,140,255,.15) 45%,transparent 70%);filter:blur(20px);animation:glow 8s ease-in-out infinite}
.hero h1{font-size:2.8rem;background:linear-gradient(90deg,#fff,#c7d0ff 50%,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:#c3cbe6;max-width:640px;margin:0 auto 26px}
.btn{display:inline-block;background:linear-gradient(135deg,#6366f1,#22d3ee);color:#fff;padding:12px 24px;border-radius:12px;text-decoration:none;font-weight:700;box-shadow:0 6px 24px rgba(99,102,241,.45);transition:.2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(34,211,238,.45)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:var(--card);backdrop-filter:blur(6px);border:1px solid var(--bd);border-radius:14px;padding:20px;text-decoration:none;color:var(--fg);transition:.2s}
.card p{color:var(--mut)}a.card:hover{transform:translateY(-3px);border-color:rgba(34,211,238,.5);box-shadow:0 8px 30px rgba(34,211,238,.15)}
.badge{display:inline-block;font-size:.75rem;padding:3px 10px;border-radius:99px;font-weight:700;vertical-align:middle;color:#fff}
.beginner{background:#16a34a}.intermediate{background:#d97706}.advanced{background:#dc2626}
.tlist{list-style:none;padding:0}.tlist li{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:14px;margin:10px 0}
.soon{color:var(--mut)}.soon em{float:right;font-size:.85rem}.crumb{color:var(--mut);font-size:.9rem}
pre{background:#020617;color:#e2e8f0;border:1px solid var(--bd);padding:16px;border-radius:10px;overflow-x:auto;font-size:.9rem}
code{font-family:ui-monospace,Menlo,monospace}p code,li code{background:rgba(124,140,255,.16);color:#dbe1ff;padding:1px 5px;border-radius:4px}
.note{background:rgba(124,140,255,.1);border-left:4px solid var(--ac);padding:12px 16px;border-radius:6px}article{max-width:760px}
footer.site{background:rgba(3,6,18,.9);border-top:1px solid var(--bd);color:#cbd5e1;padding:28px 0;font-size:.9rem}footer a{color:#a5b4fc}
@media(max-width:600px){h1,.hero h1{font-size:1.8rem}.hero{padding:50px 16px;border-radius:18px}}
