@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4f6667dd39116621-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07935285219a259d-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f58031ded4338640-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/77814b00d5ca94a4-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/605ce01b664af129-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.T19VSG_className{font-family:Geist,Geist Fallback;font-style:normal}.T19VSG_variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b0c6b664fd57c2c6-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6e342921ee4dcd9d-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bb852295097cd96-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9eb5a876700c0028-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2a04751c893bf294-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07a39a8a4660cc7c-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}._8Li5zG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}._8Li5zG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#f6f7f9;--surface:#fff;--low:#ecedf0;--line:#d0d2d9;--line-soft:#e5e7ec;--ink:#141e41;--tx:#434b67;--mu:#72788d;--mist:#a1a5b3;--acc:#141e41;--acc-h:#2b3554;--acc-soft:#ecedf0;--ok:#0b7a57;--ok-bg:#e7f6f0;--warn:#b8791c;--warn-bg:#fdf3e2;--err:#c62f4f;--err-bg:#fceaee;--info:#1e6fa8;--info-bg:#e8f4fe;--dark:#141e41;--dark-2:#1b2650;--on-dark:#fff;--on-dark-mu:#a1a5b3;--dark-line:#ffffff1f;--ring:0 0 0 3px #141e4140;--sans:var(--font-geist-sans), "Geist", "Inter", system-ui, "Helvetica Neue", Arial, sans-serif;--mono:var(--font-geist-mono), "Geist Mono", "SF Mono", Menlo, Consolas, monospace;--max:1240px;--hl:#5049f9;--lift:0 12px 32px #141e411f;--ease:cubic-bezier(.22, 1, .36, 1)}@media (prefers-color-scheme:dark){:root{--bg:#0c132e;--surface:#141e41;--low:#1b2650;--line:#2b3554;--line-soft:#232d52;--ink:#fff;--tx:#d0d2d9;--mu:#a1a5b3;--mist:#72788d;--acc:#fff;--acc-h:#d0d2d9;--acc-soft:#1b2650;--ok:#22c48d;--ok-bg:#12352c;--warn:#e9a23b;--warn-bg:#3a2d14;--err:#f2708a;--err-bg:#45202a;--info:#d0d2d9;--info-bg:#1b2650;--hl:#36b1fe;--lift:0 12px 32px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--tx);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.01em;text-wrap:balance;margin:0}p{margin:0}a{color:var(--ink)}button{font:inherit;cursor:pointer}.mono{font-family:var(--mono)}.num{font-variant-numeric:tabular-nums}.wrap{max-width:var(--max);padding-block:32px 80px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}.wrap.narrow{max-width:820px}.topnav{z-index:20;background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:saturate(1.5)blur(14px);backdrop-filter:saturate(1.5)blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.topnav-in{max-width:var(--max);min-height:64px;padding:0 max(16px, env(safe-area-inset-left,0px));flex-wrap:wrap;align-items:center;gap:12px;margin:0 auto;display:flex}.logo{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.logo svg{flex:none;width:28px;height:28px}.logo small{letter-spacing:.08em;text-transform:uppercase;color:var(--mu);font-size:11px;font-weight:500;line-height:1.1;display:block}.navlinks{align-self:stretch;gap:2px;margin-left:12px;padding-left:20px;font-size:14px;font-weight:500;display:flex;position:relative}.navlinks:before{content:"";background:var(--line);width:1px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.navlinks a{min-height:64px;color:var(--tx);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;text-decoration:none;transition:color .15s;display:inline-flex;position:relative}.navlinks a:after{content:"";background:var(--line);transform-origin:0;height:2px;transition:transform .3s var(--ease), background-color .15s;position:absolute;bottom:-1px;left:12px;right:12px;transform:scaleX(0)}.navlinks a:hover{color:var(--ink)}.navlinks a:hover:after,.navlinks a[aria-current=page]:after{transform:scaleX(1)}.navlinks a[aria-current=page]{color:var(--ink)}.navlinks a[aria-current=page]:after{background:linear-gradient(90deg,#36b1fe,#ab5fce)}.navlinks a:focus-visible,.logo:focus-visible,.avatar:focus-visible{outline:2px solid var(--hl);outline-offset:-3px}.logo:focus-visible,.avatar:focus-visible{outline-offset:3px}.topnav .btn-sm{height:34px;padding:0 14px}.topnav .btn-g{color:var(--tx);padding:0 10px;text-decoration:none}.topnav .btn-g:hover{color:var(--ink);background:var(--low)}.sp{flex:1}.avatar{background:var(--low);border:1px solid var(--line);width:32px;height:32px;color:var(--ink);place-items:center;font-size:12px;font-weight:600;display:grid}.btn{white-space:nowrap;height:40px;color:var(--ink);transition:background-color .15s, border-color .15s, color .15s, transform .15s var(--ease), box-shadow .15s;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-p{background:var(--acc);color:var(--bg);border-color:var(--acc)}.btn-p:hover:not(:disabled){background:var(--acc-h)}.btn-s{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-s:hover:not(:disabled){background:var(--bg);border-color:var(--ink)}.btn-g{color:var(--ink);text-underline-offset:3px;padding:0 6px;text-decoration:underline}.btn-sm{height:32px;padding:0 12px;font-size:13px}.btn-lg{height:48px;padding:0 24px;font-size:16px}.btn-dark{color:#141e41;background:#fff;border-color:#fff}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--mu);font-size:12px;font-weight:600}.pill{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--line);background:var(--surface);color:var(--tx);align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.pill-ok{background:var(--ok-bg);color:var(--ok);border-color:#0000}.pill-warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.pill-err{background:var(--err-bg);color:var(--err);border-color:#0000}.pill-info{background:var(--info-bg);color:var(--info);border-color:#0000}.pill-acc{background:var(--acc);color:var(--bg);border-color:var(--acc)}.card{background:var(--surface);border:1px solid var(--line);min-width:0;padding:24px}.card.dim{background:var(--bg)}.card h3{font-size:16px}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}}.bar{background:var(--low);height:6px;overflow:hidden}.bar i{background:var(--acc);height:100%;transition:width .6s var(--ease);transform-origin:0;display:block}.kv{gap:4px;font-size:14px;display:grid}.kv b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:24px;line-height:1.15}.kv span{color:var(--mu)}.rule{background:var(--acc);width:96px;height:4px}.chk{background:var(--ok-bg);width:18px;height:18px;color:var(--ok);flex:none;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.dot{background:var(--mist);flex:none;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.err{background:var(--err)}.dot.acc{background:var(--acc)}.in{border:1px solid var(--line);background:var(--surface);width:100%;height:40px;color:var(--ink);font:15px var(--sans);padding:0 12px}textarea.in{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.in{transition:border-color .15s,box-shadow .15s}.in:focus{border-color:var(--ink);box-shadow:var(--ring);outline:none}.in::placeholder{color:var(--mu)}label.lbl{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:500;display:block}label.lbl small{color:var(--mu);margin-left:6px;font-weight:400}table{border-collapse:collapse;width:100%;font-size:14px}th{background:var(--dark);color:#fff;text-align:left;letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}tbody tr:nth-child(2n) td{background:var(--low)}td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}.tbl{border:1px solid var(--line);overflow-x:auto}.tbl table{min-width:600px}.note{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--acc);padding:14px 18px;font-size:14px}.note b{color:var(--ink)}.callout{color:var(--ink);border-left:4px solid;padding:14px 16px;font-size:14px}.callout.ok{background:var(--ok-bg);border-color:var(--ok)}.callout.warn{background:var(--warn-bg);border-color:var(--warn)}.callout.err{background:var(--err-bg);border-color:var(--err)}.callout b{margin-bottom:4px;display:block}.phead{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;display:flex}.phead h1{font-size:28px;line-height:1.15}.crumb{color:var(--mu);flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.crumb a{color:var(--mu);text-decoration:none}.crumb b{color:var(--ink);font-weight:500}.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:48px;padding:56px 0;display:grid}.hero h1{letter-spacing:-.02em;margin-top:12px;font-size:clamp(32px,4.4vw,52px);line-height:1.05}.hero .sub{color:var(--mu);max-width:52ch;margin-top:16px;font-size:18px}.hero .cta{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.proof{color:var(--mu);flex-wrap:wrap;gap:28px;margin-top:28px;font-size:14px;display:flex}.proof b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px;display:block}.band{border-top:1px solid var(--line);padding:48px 0}.band.dark{background:var(--dark);color:var(--on-dark);border-top:0}.band.dark h2,.band.dark h3{color:#fff}.band.dark .eyebrow,.band.dark p{color:var(--on-dark-mu)}.band h2{font-size:26px}.paths{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:28px;display:grid}.path{border:1px solid var(--line);background:var(--surface);min-width:0;padding:22px;position:relative}.path.live{border-color:var(--ink);transition:transform .3s var(--ease), box-shadow .3s var(--ease)}.path.live:hover{box-shadow:var(--lift);transform:translateY(-3px)}.path .lvl{font-family:var(--mono);letter-spacing:.08em;color:var(--mu);font-size:11px}.path h3{margin-top:8px;font-size:18px}.path p{color:var(--mu);margin-top:8px;font-size:14px}.path .meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.path .soon{position:absolute;top:16px;right:16px}.why{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:28px;display:grid}.why h3{font-size:16px}.why p{margin-top:6px;font-size:14px}.foot{color:var(--mu);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:28px 0;font-size:13px;display:flex}.foot a{color:var(--mu);margin-right:14px;text-decoration:none}.video-wrap{border:1px solid var(--line);background:#141e41;position:relative}.video-wrap video{aspect-ratio:16/9;background:#141e41;width:100%;display:block}.checkpoint{color:#141e41;z-index:2;background:#fff;border:1px solid #d0d2d9;width:min(320px,100% - 32px);padding:14px 16px;font-size:13px;position:absolute;top:16px;right:16px}.checkpoint b{letter-spacing:.06em;text-transform:uppercase;color:#72788d;margin-bottom:6px;font-size:11px;display:block}.checkpoint .opts{gap:4px;margin-top:8px;display:grid}.checkpoint .opts button{text-align:left;color:#141e41;background:#fff;border:1px solid #d0d2d9;padding:6px 8px;font-size:13px}.checkpoint .opts button.sel{background:#ecedf0;border-color:#141e41}.checkpoint .opts button.right{background:#e7f6f0;border-color:#0b7a57}.checkpoint .opts button.wrong{background:#fceaee;border-color:#c62f4f}.chapters{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.chapters button{border:1px solid var(--line);background:var(--surface);color:var(--tx);padding:4px 10px;font-size:12px;transition:border-color .15s,color .15s,background-color .15s}.chapters button:hover{border-color:var(--ink);color:var(--ink)}.chapters button.now{border-color:var(--ink);color:var(--ink);font-weight:500}.lesson{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.ltabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;margin-top:20px;display:flex}.ltabs button{color:var(--mu);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-size:14px;font-weight:500;transition:color .15s,border-color .2s}.ltabs button:hover{color:var(--ink)}.ltabs button[aria-selected=true]{color:var(--ink);border-color:var(--ink)}.lpane{padding-top:20px}.kp{gap:12px;max-width:70ch;font-size:15px;display:grid}.kp p{border-left:2px solid var(--line);padding-left:16px}.terms{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.term{border:1px solid var(--line);background:var(--surface);padding:12px 14px;font-size:14px}.term b{color:var(--ink);display:block}.term span{color:var(--mu);font-size:13px}.rail{border:1px solid var(--line);background:var(--surface);max-height:calc(100vh - 90px);position:sticky;top:74px;overflow:auto}.rail .hd{border-bottom:1px solid var(--line);padding:16px 18px}.rail .hd b{color:var(--ink);font-size:15px;display:block}.rail .hd small{color:var(--mu);font-size:13px}.rail .m>b{letter-spacing:.06em;text-transform:uppercase;color:var(--mu);padding:12px 18px 4px;font-size:11px;display:block}.rail a.it,.rail span.it{color:var(--tx);grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 18px;font-size:13px;text-decoration:none;transition:background-color .15s,color .15s;display:grid}.rail a.it:hover{background:var(--bg);color:var(--ink)}.rail .it.now{background:var(--acc-soft);color:var(--ink);font-weight:500}.rail .it.locked{color:var(--mist)}.rail .it .d{font-family:var(--mono);color:var(--mu);font-size:11px}.rail .it .ic{color:var(--mu);font-size:12px}.rail .it.done .ic{color:var(--ok)}.lnext{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px;display:flex}.msg{grid-template-columns:28px minmax(0,1fr);gap:10px;font-size:14px;display:grid}.msg .who{background:var(--low);width:28px;height:28px;color:var(--ink);place-items:center;font-size:11px;font-weight:600;display:grid}.msg .who.ai{background:var(--acc);color:var(--bg)}.msg .bub{background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;max-width:66ch;padding:10px 14px}.msg .bub cite{color:var(--mu);margin-top:8px;font-size:12px;font-style:normal;display:block}.qhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.qprog{gap:4px;margin:16px 0 24px;display:flex}.qprog i{background:var(--low);flex:1;height:6px;transition:background-color .3s}.qprog i.done{background:var(--ok)}.qprog i.now{background:var(--acc)}.qprog i.bad{background:var(--err)}.q h2{font-size:21px;line-height:1.35}.q .sc{color:var(--tx);background:var(--bg);border:1px solid var(--line);margin-bottom:12px;padding:12px 16px;font-size:14px}.opts{gap:8px;margin-top:18px;display:grid}.opt{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--tx);text-align:left;transition:border-color .15s, background-color .2s, box-shadow .15s, transform .15s var(--ease);grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;font-size:15px;display:grid}.opt:hover:not(:disabled):not(.sel){border-color:var(--mu)}.opt:active:not(:disabled){transform:scale(.995)}.opt .k{border:1px solid var(--line);width:28px;height:28px;color:var(--ink);place-items:center;font-size:12px;font-weight:600;transition:background-color .15s,color .15s,border-color .15s;display:grid}.opt.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.opt.sel .k{background:var(--ink);color:var(--bg);border-color:var(--ink)}.opt.right{border-color:var(--ok);background:var(--ok-bg)}.opt.wrong{border-color:var(--err);background:var(--err-bg)}.opt:disabled{cursor:default}.qfoot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.timer{font-family:var(--mono);color:var(--ink);font-size:14px}.dash{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.resume{grid-template-columns:200px minmax(0,1fr);align-items:center;gap:20px;display:grid}.thumb{aspect-ratio:16/9;color:#fff;font-family:var(--mono);background:#141e41;place-items:center;font-size:12px;display:grid;position:relative;overflow:hidden}.modrow{border-top:1px solid var(--line-soft);grid-template-columns:28px minmax(0,1fr) 120px auto;align-items:center;gap:14px;padding:12px 0;font-size:14px;display:grid}.modrow:first-child{border-top:0}.modrow b{color:var(--ink);font-weight:500;display:block}.modrow small{color:var(--mu)}.modrow .ring{border:1px solid var(--line);width:28px;height:28px;color:var(--mu);place-items:center;font-size:11px;font-weight:600;display:grid}.modrow .ring.done{background:var(--ok-bg);color:var(--ok);border-color:#0000}.modrow .ring.now{background:var(--acc);color:var(--bg);border-color:var(--acc)}.act{margin:0;padding:0;list-style:none}.act li{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 0;font-size:13px;display:grid}.act li:first-child{border-top:0}.act .when{color:var(--mu);font-family:var(--mono);white-space:nowrap;font-size:11px}.chead{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding:40px 0;display:grid}.chead h1{margin-top:8px;font-size:clamp(28px,4vw,40px);line-height:1.1}.chead .desc{color:var(--mu);max-width:60ch;margin-top:14px;font-size:17px}.chead .meta{flex-wrap:wrap;gap:18px;margin-top:20px;font-size:14px;display:flex}.chead .meta span{align-items:center;gap:6px;display:inline-flex}.enrol ul{gap:8px;margin:16px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.enrol li{align-items:flex-start;gap:8px;display:flex}.cbody{grid-template-columns:minmax(0,1fr) 340px;gap:40px;padding:40px 0;display:grid}.learn{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin-top:14px;font-size:14px;display:grid}.learn div{align-items:flex-start;gap:8px;display:flex}.syll details{border:1px solid var(--line);background:var(--surface);interpolate-size:allow-keywords;margin-top:8px;transition:border-color .2s}.syll details:hover,.syll details[open]{border-color:var(--mu)}.syll details::details-content{block-size:0;transition:block-size .35s var(--ease), content-visibility .35s allow-discrete;overflow:clip}.syll details[open]::details-content{block-size:auto}.syll summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 10px;align-items:center;gap:12px;padding:16px 20px;list-style:none;display:grid}.syll summary::-webkit-details-marker{display:none}.syll summary:after{content:"";border-right:1.5px solid var(--mu);border-bottom:1.5px solid var(--mu);width:7px;height:7px;transition:transform .3s var(--ease);transform:translateY(-2px)rotate(45deg)}.syll details[open]>summary:after{transform:translateY(2px)rotate(225deg)}.syll summary:focus-visible{outline:2px solid var(--hl);outline-offset:-2px}.syll summary b{color:var(--ink);font-size:16px;display:block}.syll summary small{color:var(--mu);font-size:13px}.syll summary .r{color:var(--mu);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.syll .ls{border-top:1px solid var(--line);padding:6px 20px 12px}.syll .l{border-top:1px solid var(--line-soft);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;font-size:14px;display:grid}.syll .l:first-child{border-top:0}.syll .l a{color:var(--ink);transition:background-size .3s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;text-decoration:none}.syll .l a:hover{background-size:100% 1px}.syll .l .d{font-family:var(--mono);color:var(--mu);font-size:12px}.syll .l .ic{color:var(--mu);font-size:12px}.asg{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px;display:grid}.fields{gap:14px;margin-top:20px;display:grid}.rubric{gap:0;font-size:13px;display:grid}.rubric div{border-top:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 0;display:grid}.rubric div:first-child{border-top:0}.rubric b{color:var(--ink);font-weight:500;display:block}.rubric span{color:var(--mu)}.rubric .pts{font-family:var(--mono);color:var(--ink)}.disc{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;display:grid}.dlist{border:1px solid var(--line);background:var(--surface);gap:4px;padding:12px;display:grid}.dlist a{color:var(--tx);padding:10px 12px;font-size:14px;text-decoration:none;transition:background-color .15s,color .15s;display:block}.dlist a[aria-current=true]{background:var(--acc-soft);color:var(--ink);font-weight:500}.dlist a small{color:var(--mu);font-size:12px;font-weight:400;display:block}.post{grid-template-columns:36px minmax(0,1fr);gap:12px;display:grid}.post .avatar{width:36px;height:36px}.post .by{color:var(--mu);font-size:13px}.post .by b{color:var(--ink);font-weight:500}.post .body{white-space:pre-wrap;max-width:70ch;margin-top:4px;font-size:15px}.post.reply{margin-left:48px}.ts{background:var(--acc-soft);color:var(--ink);font-size:12px;font-family:var(--mono);align-items:center;gap:4px;padding:1px 6px;text-decoration:none;display:inline-flex}.certwrap{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:32px;display:grid}.cert{aspect-ratio:1.414;color:#141e41;outline-offset:4px;background:#fff;border:1px solid #141e41;outline:1px solid #d0d2d9;grid-template-rows:auto 1fr auto;max-width:100%;padding:6%;display:grid;position:relative;overflow:hidden}.cert .g{background:#141e41;width:10px;position:absolute;top:0;bottom:0;left:0}.cert .ch{justify-content:space-between;align-items:center;gap:12px;display:flex}.cert .ch .mono{color:#72788d;letter-spacing:.06em;font-size:11px}.cert .cb{align-content:center;gap:6px;display:grid}.cert .cb .eyebrow{color:#434b67}.cert .cb h2{color:#141e41;letter-spacing:-.02em;font-size:clamp(18px,3.4vw,40px);line-height:1.05}.cert .cb .nm{color:#141e41;margin-top:4%;font-size:clamp(16px,2.6vw,30px);font-weight:500}.cert .cb p{color:#434b67;max-width:60ch;font-size:clamp(10px,1.3vw,14px)}.cert .cf{color:#434b67;justify-content:space-between;align-items:flex-end;gap:12px;font-size:clamp(9px,1.1vw,12px);display:flex}.cert .cf b{color:#141e41;display:block}.verify{font-size:13px;display:grid}.verify div{border-top:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.verify div:first-child{border-top:0}.verify div span:last-child{color:var(--ink);font-family:var(--mono);text-align:right;font-size:12px}.funnel{gap:8px;font-size:13px;display:grid}.funnel div{grid-template-columns:150px minmax(0,1fr) 60px;align-items:center;gap:10px;display:grid}.funnel .bar{height:18px}.funnel span:last-child{text-align:right;font-family:var(--mono);color:var(--ink)}@media print{.topnav,.noprint{display:none!important}body{background:#fff}.wrap{padding:0}.cert{outline:none}}@media (max-width:1000px){.hero,.chead,.cbody,.lesson,.dash,.asg,.disc,.certwrap{grid-template-columns:1fr}.rail{max-height:none;position:static}.topnav{position:static}.resume{grid-template-columns:1fr}}@media (max-width:600px){.learn{grid-template-columns:1fr}.modrow{grid-template-columns:28px minmax(0,1fr)}.modrow .bar,.modrow .btn,.modrow .pill{grid-column:2}.funnel div{grid-template-columns:100px minmax(0,1fr) 50px}}.pro-id{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:16px;display:grid}.pro-id .avatar{flex:none;width:56px;height:56px;font-size:20px}.pro-id dl{flex-wrap:wrap;gap:4px 24px;margin:8px 0 0;font-size:13px;display:flex}.pro-id dt{color:var(--mu)}.pro-id dd{color:var(--ink);overflow-wrap:anywhere;margin:0 0 0 6px}.pro-id dl>div{min-width:0;display:flex}.heat{align-items:stretch;gap:1px;min-width:110px;height:16px;display:flex}.heat i{background:var(--low);flex:1 1 0;min-width:2px;display:block}.heat i.on{background:var(--acc)}.heat i.re{background:var(--info)}td .heat{min-width:110px}.tstrip{flex-wrap:wrap;gap:2px;display:flex}.tstrip span{background:var(--low);flex:none;width:10px;height:10px}.tstrip span.part{background:var(--mist)}.tstrip span.seen{background:var(--acc)}.filters{flex-wrap:wrap;gap:6px;margin:10px 0 2px;display:flex}.filters button{border:1px solid var(--line);background:var(--surface);min-height:26px;color:var(--tx);font:500 12px var(--sans);white-space:nowrap;cursor:pointer;padding:2px 10px;transition:background-color .15s,border-color .15s,color .15s}.filters button[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:var(--surface)}.feed{margin:12px 0 0;padding:0;list-style:none}.feed li{border-top:1px solid var(--line-soft);grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 0;font-size:14px;display:grid}.feed li:first-child{border-top:0}.feed .k{background:var(--acc-soft);width:22px;min-height:22px;color:var(--ink);flex:none;place-items:center;font-size:11px;font-weight:600;display:inline-grid}.feed .when{color:var(--mu);font-family:var(--mono);white-space:nowrap;text-align:right;font-size:11px}.feed .sub{color:var(--mu);overflow-wrap:anywhere;margin-top:2px;font-size:12px;display:block}.nlist{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.nlist li{border:1px solid var(--line);border-left:3px solid var(--acc);background:var(--surface);overflow-wrap:anywhere;min-height:2.5rem;padding:10px 14px;font-size:14px}.nlist .hd{color:var(--mu);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:4px;font-size:12px;display:flex}.nlist .hd a{color:var(--mu)}@media (max-width:600px){.pro-id{grid-template-columns:1fr}.feed li{grid-template-columns:22px minmax(0,1fr)}.feed .when{text-align:left;grid-column:2}}@property --sx{syntax:"<percentage>";inherits:false;initial-value:15%}.hero-band{isolation:isolate;--bg:#141e41;--surface:#1b2650;--ink:#fff;--tx:#d0d2d9;--mu:#a1a5b3;--line:#ffffff29;--acc:#fff;--acc-h:#d0d2d9;--hl:#36b1fe;--ring:0 0 0 3px #36b1fe80;color:var(--tx);border-bottom:1px solid var(--line);background:radial-gradient(760px 460px at 78% 42%,#22306a,#0000 70%),#141e41;position:relative;overflow:hidden}.hero-band .hero .sub{color:var(--tx)}.hero-band .proof{border-top:1px solid var(--line);gap:36px;padding-top:24px}.hero-band .proof b{font-size:22px}.lattice{z-index:-1;pointer-events:none;--mx:-999px;--my:-999px;background:radial-gradient(380px circle at var(--mx) var(--my), color-mix(in srgb, var(--hl) 70%, transparent), transparent 70%), radial-gradient(520px circle at var(--sx) 35%, color-mix(in srgb, var(--hl) 45%, transparent), transparent 70%), color-mix(in srgb, var(--hl) 17%, transparent);-webkit-mask-composite:source-in, source-in;position:absolute;inset:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0 56 16.2v32.3L28 64.7 0 48.5V16.2zM28 64.7V97M0 48.5v32.3M56 48.5v32.3' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E"),linear-gradient(#000 30%,#0000 72%),linear-gradient(90deg,#000,#0000 calc(50% - 660px) calc(50% + 30px),#000 calc(50% + 230px));mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0 56 16.2v32.3L28 64.7 0 48.5V16.2zM28 64.7V97M0 48.5v32.3M56 48.5v32.3' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E"),linear-gradient(#000 30%,#0000 72%),linear-gradient(90deg,#000,#0000 calc(50% - 660px) calc(50% + 30px),#000 calc(50% + 230px));-webkit-mask-position:top;mask-position:top;-webkit-mask-composite:source-in,source-in;mask-composite:intersect,intersect}@media (max-width:1000px){.lattice{display:none}}@property --spin{syntax:"<angle>";inherits:true;initial-value:135deg}.film-frame{background:conic-gradient(from var(--spin), #36b1fe, #5049f9, #ab5fce, #5049f9, #36b1fe);padding:2px;position:relative}.film-frame:before{content:"";z-index:-1;background:inherit;filter:blur(20px);opacity:.16;position:absolute;inset:12px}.film-frame .video-wrap{border:0}.film-cap{color:var(--mu);justify-content:space-between;gap:12px;margin-top:12px;font-size:13px;display:flex}.film-cap b{color:var(--ink);font-weight:500}.hero h1 .w{display:inline-block}.strip{margin-top:28px}.strip-read{min-height:3.2em;color:var(--mu);justify-content:space-between;align-items:baseline;gap:16px;font-size:14px;display:flex}.strip-read b{color:var(--ink);font-size:16px;font-weight:500;display:block}.strip-read .num{font-family:var(--mono);color:var(--ink);white-space:nowrap;font-size:13px}.strip-bars{align-items:stretch;gap:10px;height:56px;margin-top:10px;display:flex}.strip-mod{gap:2px;min-width:0;transition:opacity .2s;display:flex}.strip-bars.has-focus .strip-mod:not(.on){opacity:.35}.strip-bars a{background:var(--mist);transform-origin:bottom;min-width:2px;transition:background-color .15s, transform .2s var(--ease);display:block}.strip-mod.on a{background:var(--ink)}.strip-bars a:hover,.strip-bars a:focus-visible{background:var(--hl);outline:none;transform:scaleY(1.18)}.strip-mods{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.strip-mods .card{transition:border-color .2s, transform .3s var(--ease), box-shadow .3s var(--ease);text-decoration:none;display:block}.strip-mods .card.on,.strip-mods .card:hover,.strip-mods .card:focus-visible{border-color:var(--ink);outline:none}.strip-mods .card:hover{box-shadow:var(--lift);transform:translateY(-3px)}.strip-mods .card p{color:var(--mu);margin-top:8px;font-size:14px}.strip-mods .card .n{font-family:var(--mono);color:var(--mu);justify-content:space-between;gap:8px;font-size:12px;display:flex}@media (max-width:900px){.strip-mods{grid-template-columns:repeat(2,minmax(0,1fr))}.strip-bars{gap:4px}}@media (max-width:600px){.strip-mods{grid-template-columns:1fr}.strip-bars{gap:3px;height:40px}.strip-mod{gap:1px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@keyframes fade{0%{opacity:0}}@keyframes word{0%{opacity:0;filter:blur(6px);transform:translateY(.5em)}}@keyframes draw{0%{transform:scaleX(0)}}@keyframes grow{0%{transform:scaleY(0)}}@keyframes frame-in{0%{opacity:0;transform:translateY(20px)scale(.97)}}@keyframes sweep{0%{--sx:8%}to{--sx:92%}}@keyframes spin{to{--spin:495deg}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.012)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes drop{0%{opacity:0;transform:translateY(-8px)scale(.98)}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}main:not(.home){animation:rise .45s var(--ease) both}.hero .eyebrow{animation:.6s both fade}.hero h1 .w{animation:word .7s var(--ease) both;animation-delay:calc(80ms + var(--i) * 55ms)}.hero .rule{transform-origin:0;animation:draw .7s var(--ease) .6s both}.hero .sub{animation:rise .6s var(--ease) .7s both}.hero .cta{animation:rise .6s var(--ease) .8s both}.hero .proof{animation:rise .6s var(--ease) .9s both}.hero .film{animation:frame-in .9s var(--ease) .35s both}.lattice{animation:1.6s .4s both fade,16s ease-in-out .4s infinite alternate sweep}.film-frame{animation:14s linear infinite spin}.strip.seen .strip-bars a{animation:grow .5s var(--ease) both;animation-delay:calc(var(--i) * 14ms)}.strip.armed:not(.seen) .strip-bars a{transform:scaleY(0)}@supports (animation-timeline:view()){.reveal{animation:linear both rise;animation-timeline:view();animation-range:entry entry 40%}}.bar i{animation:draw .8s var(--ease) both}.lpane{animation:rise .3s var(--ease) both}.q{animation:rise .35s var(--ease) both}.opt.right,.checkpoint .opts button.right{animation:pop .35s var(--ease)}.opt.wrong,.checkpoint .opts button.wrong{animation:.35s shake}.checkpoint{animation:drop .3s var(--ease) both}.callout,.msg{animation:rise .3s var(--ease) both}.feed li,.nlist li{animation:.3s both fade}}.lead{color:var(--mu);max-width:62ch;margin-top:8px}.band.dark .lead{color:var(--on-dark-mu)}.made{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:24px 0 0;padding:0;list-style:none;display:grid}.made li{border-top:1px solid var(--line);grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:12px;padding:14px 0;font-size:15px;display:grid}.made li span{font-family:var(--mono);color:var(--mu);font-size:12px}.made li a{color:var(--ink);transition:background-size .3s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;font-weight:500;text-decoration:none}.made li a:hover{background-size:100% 1px}.roles{border-top:1px solid var(--line);margin-top:24px}.roles>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;align-items:baseline;gap:8px 24px;padding:16px 0;font-size:15px;display:grid}.roles b{color:var(--ink);font-weight:500}.roles .t{font-family:var(--mono);color:var(--ink);white-space:nowrap;font-size:13px}.teams{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.teams .note{margin-top:0}@media (max-width:1000px){.teams{grid-template-columns:1fr;gap:24px}.hero{gap:32px;padding:40px 0}}@media (max-width:700px){.made{grid-template-columns:1fr}.roles>div{grid-template-columns:1fr;gap:4px}.band{padding:36px 0}.band h2{font-size:22px}.hero .sub{font-size:16px}.hero .cta .btn{flex:auto}.proof{gap:16px 24px}.phead h1{font-size:24px}.foot{flex-direction:column}.card{padding:18px}.strip-read{min-height:4.6em}.post.reply{margin-left:20px}.ltabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.ltabs button{white-space:nowrap}.checkpoint{border-width:1px 0 0;width:auto;position:static}.lnext .btn,.qfoot .btn{flex:auto}}.guard{position:relative}.guard-panel{color:#dfe2ea;border:1px solid var(--line);overflow-wrap:anywhere;background:#141e41;flex-direction:column;justify-content:center;gap:8px;min-height:min(56.25vw,420px);padding:24px;font-size:14px;line-height:1.55;display:flex}.guard-panel b{color:#fff;font-size:17px;font-weight:500}.guard-panel ul{color:#fff;margin:0;padding-left:18px}.guard-panel .btn{align-self:flex-start;margin-top:8px}.guard-blocked{border-color:var(--err)}.guard-until{color:#f3c9d2}.guard-mark{pointer-events:none;z-index:1;position:absolute;inset:0 0 48px;overflow:hidden}.guard-mark span{white-space:nowrap;letter-spacing:.04em;color:#ffffff52;text-shadow:0 0 2px #141e4199;font-size:12px;animation:47s linear infinite alternate guard-drift,31s linear infinite alternate guard-rise;position:absolute}@keyframes guard-drift{0%{left:3%}to{left:62%}}@keyframes guard-rise{0%{top:6%}to{top:86%}}.guard-away{z-index:3;text-align:center;color:#dfe2ea;background:#141e41;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;font-size:14px;display:flex;position:absolute;inset:0}.guard-away b{color:#fff;font-size:17px;font-weight:500}@media (prefers-reduced-motion:reduce){.guard-mark span{animation:none;top:8%;left:4%}}.replies{gap:8px;margin-top:10px;display:grid}.reply{border-left:3px solid var(--hl,var(--acc));background:var(--bg);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 12px;font-size:14px}.reply .who{color:var(--mu);white-space:normal;margin-bottom:4px;font-size:12px;display:block}.reply .who b{color:var(--ink);font-weight:600}.thread{border:1px solid var(--line);background:var(--surface);margin-top:10px;padding:12px 14px}.thread .mine{color:var(--tx);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.count{color:#fff;font-variant-numeric:tabular-nums;vertical-align:1px;background:#c62f4f;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-grid}@media (max-width:900px){.topnav-in{gap:0 12px;min-height:0;padding-top:10px}.topnav-in:not(:has(.navlinks)){padding-bottom:10px}.navlinks{scrollbar-width:none;flex:0 0 100%;order:3;margin:8px -12px 0;padding-left:0;overflow-x:auto}.navlinks:before{display:none}.navlinks::-webkit-scrollbar{display:none}.navlinks a{min-height:42px}.navlinks a:after{bottom:0}}
