@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";html[data-theme=light]{color-scheme:light;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e5e5e5;--accent:#1e8fb8;--accent-hover:#176f90;--shadow:#0f172a14;--shadow-lifted:#0f172a1f}html[data-theme=dark]{color-scheme:dark;--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-hover:#21262d;--text-primary:#fff;--text-secondary:#c9d1d9;--text-muted:#8b949e;--border:#30363d;--accent:#3d9b8c;--accent-hover:#59c1b0;--shadow:#0006;--shadow-lifted:#0000008c}*{box-sizing:border-box}body{background:var(--bg-secondary);color:var(--text-primary);margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}.hero{color:#fff;text-align:center;background:linear-gradient(160deg,#08090c 0%,#10262e 100%);padding:5rem 1.5rem 4.5rem;position:relative;overflow:hidden}.aurora{filter:blur(10px);background:radial-gradient(45% 45% at 25% 30%,#3d9b8c6b 0%,#0000 70%),radial-gradient(40% 40% at 75% 25%,#22d3ee47 0%,#0000 70%),radial-gradient(50% 50% at 55% 70%,#38bdf833 0%,#0000 70%);height:140%;animation:22s ease-in-out infinite alternate drift;position:absolute;inset:-30% -10% auto}@keyframes drift{0%{transform:translate(-4%)scale(1)}to{transform:translate(4%,3%)scale(1.12)}}@media (prefers-reduced-motion:reduce){.aurora,.shine{animation:none}}.hero-inner{position:relative}.logo{opacity:.95;height:auto}.kicker{color:#8dd3d5;letter-spacing:.22em;text-transform:uppercase;margin:2rem 0 0;font-size:.75rem;font-weight:600}.hero h1{letter-spacing:-.035em;margin:.75rem 0 0;font-size:clamp(2.25rem,6vw,4rem);font-weight:800;line-height:1.08}.shine{background:linear-gradient(100deg,#2dd4bf 0%,#22d3ee 45%,#38bdf8 100%) 0 0/200%;color:#0000;background-clip:text;animation:6s linear infinite sweep}@keyframes sweep{to{background-position:200%}}.lede{color:#c9d1d9;max-width:34rem;margin:1.125rem auto 0;font-size:1.0625rem}.stats{flex-wrap:wrap;justify-content:center;gap:.625rem;margin-top:1.75rem;display:flex}.pill{color:#c9d1d9;backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;padding:.4375rem .9375rem;font-size:.8125rem}.pill b{color:#fff;font-weight:700}.cta{color:#fff;background:#3d9b8c;border-radius:999px;align-items:center;gap:.5rem;margin-top:2rem;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 8px 24px #3d9b8c59}.cta:hover{background:#59c1b0;transform:translateY(-2px);box-shadow:0 12px 30px #3d9b8c73}.cta span{transition:transform .15s}.cta:hover span{transform:translateY(2px)}main{max-width:76rem;margin:0 auto;padding:0 1.5rem}.module{padding-top:4rem;scroll-margin-top:1rem}.module:first-child{padding-top:3.5rem}.module-head{border-bottom:1px solid var(--border);margin-bottom:1.75rem;padding-bottom:1.25rem}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:600}.module h2{letter-spacing:-.025em;margin:.375rem 0 0;font-size:clamp(1.375rem,2.5vw,1.875rem);font-weight:700}.module-blurb{max-width:46rem;color:var(--text-secondary);margin:.4375rem 0 0;font-size:.9375rem}.grid{grid-template-columns:repeat(auto-fill,minmax(21rem,1fr));gap:1.75rem;margin:0;padding:0;list-style:none;display:grid}.card{background:var(--bg-primary);box-shadow:0 4px 16px var(--shadow);outline:1px solid var(--border);outline-offset:-1px;border-radius:12px;flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.card:hover{box-shadow:0 10px 28px var(--shadow-lifted);transform:translateY(-2px)}.thumb{aspect-ratio:16/9;cursor:pointer;background-color:#0d1117;background-position:50%;background-size:cover;position:relative}.thumb:after{content:"";background:#08090c24;transition:opacity .2s;position:absolute;inset:0}html[data-theme=dark] .thumb:after{background:#08090c6b}.card:hover .thumb:after,.card:focus-within .thumb:after{opacity:0}.play{z-index:1;color:#fff;backdrop-filter:blur(6px);background:#0d11179e;border-radius:999px;place-items:center;width:3.25rem;height:3.25rem;transition:transform .15s,background .15s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 16px #08090c59}.play svg{margin-left:2px}.card:hover .play,.card:focus-within .play{background:var(--accent);transform:translate(-50%,-50%)scale(1.08)}.badge{z-index:1;color:#fff;font-variant-numeric:tabular-nums;background:#0d1117bf;border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;position:absolute;top:.625rem;right:.625rem}.badge:empty{display:none}.body{flex-direction:column;flex:1;padding:1.25rem 1.375rem 1.375rem;display:flex}.body h3{letter-spacing:-.01em;margin:0;font-size:1.0625rem;font-weight:600}.body h3 button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.card:hover .body h3 button{color:var(--accent)}.subtitle{color:var(--text-secondary);margin:.3125rem 0 0;font-size:.9375rem}.meta{color:var(--text-muted);margin:.75rem 0 0;font-size:.8125rem}.guide{color:var(--accent);margin-top:auto;padding-top:1rem;font-size:.875rem;font-weight:500;text-decoration:none}.guide span{margin-left:.25rem;transition:transform .15s;display:inline-block}.guide:hover{color:var(--accent-hover)}.guide:hover span{transform:translate(3px)}.empty{color:var(--text-secondary);text-align:center;padding-top:3rem}footer{text-align:center;padding:4rem 1.5rem 3rem}footer a{color:var(--text-muted);font-size:.875rem;text-decoration:none}footer a:hover{color:var(--accent)}#lesson{width:100%;max-width:none;height:100%;max-height:none;color:var(--text-primary);background:0 0;border:0;padding:0;overflow:hidden}#lesson[open]{justify-content:center;align-items:center;display:flex}html:has(#lesson[open]){overflow:hidden}#lesson::backdrop{backdrop-filter:blur(4px);background:#08090cb8}.modal{background:var(--bg-primary);border-radius:14px;grid-template-columns:minmax(0,1fr) 21rem;width:min(100%,82rem);max-height:100%;margin:auto;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 64px #08090c80}.stage{background:#000;place-items:center;display:grid}.stage video:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.stage video{aspect-ratio:16/9;width:100%;max-height:min(80vh,100%);display:block}.rail{border-left:1px solid var(--border);background:var(--bg-primary);flex-direction:column;min-height:0;display:flex}.rail-head{border-bottom:1px solid var(--border);padding:1.25rem 3rem 1rem 1.375rem}.rail-head h2{letter-spacing:-.015em;margin:.25rem 0 0;font-size:1.125rem;font-weight:700}.rail-head .subtitle{margin-top:.25rem;font-size:.875rem}.chapters{overscroll-behavior:contain;flex:1;margin:0;padding:.5rem;list-style:none;overflow-y:auto}.chapters button{width:100%;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:baseline;gap:.5rem;padding:.5rem .625rem;font-size:.8125rem;display:grid}.chapters button:hover{background:var(--bg-hover);color:var(--text-primary)}.chapters .n{color:var(--text-muted);font-variant-numeric:tabular-nums}.chapters time{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.chapters .is-current button{background:var(--bg-hover);color:var(--text-primary);font-weight:600}.chapters .is-current .n,.chapters .is-current time{color:var(--accent)}.rail-foot{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.375rem 1.25rem;display:flex}.rail-foot .guide{margin-top:0;padding-top:0}.next{border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text-primary);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:8px;padding:.625rem 1rem;font-size:.875rem;font-weight:500;overflow:hidden}.next:hover{border-color:var(--accent);color:var(--accent)}.close{background:var(--bg-hover);width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:.75rem;right:.75rem}.close:hover{background:var(--accent);color:#fff}@media (width<=60rem){.modal{border-radius:0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);width:100%;height:100%}.rail{border-left:0}.stage video{max-height:45vh}}
