@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.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/8a480f0b521d4e75-s.1qq4vpdcun5oj.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/53b9e256198e5412-s.390ncx5urfkfu.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/7178b3e590c64307-s.21jp631_3pja2.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/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.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%}._51k1HW_className{font-family:Geist,Geist Fallback;font-style:normal}._51k1HW_variable{--lv2-font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:departure;src:url(../media/DepartureMono_Regular-s.p.19g5pztr39cie.woff2)format("woff2");font-display:swap}@font-face{font-family:departure Fallback;src:local(Arial);ascent-override:71.7%;descent-override:19.56%;line-gap-override:0.0%;size-adjust:139.46%}._9LC_zW_className{font-family:departure,departure Fallback,ui-monospace,SFMono-Regular,Menlo,monospace}._9LC_zW_variable{--lv2-font-mono:"departure", "departure Fallback", ui-monospace, SFMono-Regular, Menlo, monospace}
.lv2{--lv2-paper:#f3f0e4;--lv2-paper-2:#e8e3d2;--lv2-card:#fffcf2;--lv2-ink:#0a0a08;--lv2-ink-2:#2a2924;--lv2-muted:#66645b;--lv2-line:#dcd6c3;--lv2-line-strong:#c4bca4;--lv2-ember:#ff4410;--lv2-ember-deep:#c30;--lv2-volt:#d6ff2e;--lv2-lilac:#ffd0e6;--lv2-peach:#ffd0bd;--lv2-moss:#0a0a08;--lv2-moss-2:#141412;--lv2-moss-line:#ffffff14;--lv2-moss-text:#eceae2;--lv2-moss-muted:#8b8f86;--lv2-on-pop:#0a0a08;--lv2-on-ember:#fff;--lv2-chip:#0a0a08;--lv2-ink-rgb:10 10 8;--lv2-shadow-rgb:10 10 8;--lv2-paper-rgb:243 240 228;--lv2-card-rgb:255 252 242;--lv2-ember-rgb:255 68 16;--lv2-volt-rgb:214 255 46;--lv2-grain-blend:multiply;--lv2-grain-opacity:.11;--lv2-ease:cubic-bezier(.2, .8, .2, 1);--lv2-fs-display-lg:clamp(2.5rem, 5vw, 4.25rem);--lv2-fs-display-md:clamp(2rem, 3.4vw, 2.75rem);--lv2-fs-display-sm:clamp(1.5rem, 2.4vw, 2rem);--lv2-fs-title:1.375rem;--lv2-fs-lead:1.125rem;--lv2-fs-body:1rem;--lv2-fs-small:.875rem;--lv2-fs-micro:.75rem;--lv2-pad-card:24px;--lv2-pad-hero:40px;--lv2-r-sm:10px;--lv2-r-md:16px;--lv2-r-lg:24px;--lv2-r-xl:32px;--lv2-elev-1:0 1px 0 #ffffff80 inset, 0 12px 28px -20px rgb(var(--lv2-shadow-rgb) / .35);--lv2-elev-2:0 30px 60px -30px rgb(var(--lv2-shadow-rgb) / .6);--lv2-elev-stamp:6px 6px 0 var(--lv2-ink);--lv2-dur-instant:.12s;--lv2-dur-fast:.2s;--lv2-dur-base:.32s;--lv2-dur-slow:.6s;--lv2-dur-celebrate:1.2s;--lv2-ease-in-out:cubic-bezier(.65, 0, .35, 1);--lv2-ease-pop:cubic-bezier(.3, 1.4, .4, 1);--lv2-next-bg:rgb(var(--lv2-volt-rgb) / .28);--lv2-hero-edge:transparent;--lv2-hero-glow:.45;--lv2-kind-lesson:var(--lv2-peach);--lv2-kind-lesson-ink:var(--lv2-on-pop);--lv2-kind-lab:var(--lv2-lilac);--lv2-kind-lab-ink:var(--lv2-on-pop);--lv2-kind-week:var(--lv2-ember);--lv2-kind-week-ink:var(--lv2-on-ember);--lv2-kind-drill:var(--lv2-chip);--lv2-kind-drill-ink:var(--lv2-volt);--lv2-kind-project:var(--lv2-volt);--lv2-kind-project-ink:var(--lv2-on-pop);font-family:var(--lv2-font-sans), ui-sans-serif, system-ui, sans-serif;color:var(--lv2-ink);background:var(--lv2-paper);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11"}html[data-lv2-theme=dark] .lv2{--lv2-paper:#0b0b09;--lv2-paper-2:#171714;--lv2-card:#121210;--lv2-ink:#f3f0e4;--lv2-ink-2:#c6c2b4;--lv2-muted:#8a867a;--lv2-line:#24231f;--lv2-line-strong:#353430;--lv2-ember:#ff4f1f;--lv2-ember-deep:#ff7a4f;--lv2-lilac:#ffc2de;--lv2-peach:#ffc4ad;--lv2-moss:#141412;--lv2-moss-2:#1c1c19;--lv2-moss-text:#f3f0e4;--lv2-moss-muted:#8f8b80;--lv2-on-pop:#0b0b09;--lv2-chip:#23221e;--lv2-ink-rgb:243 240 228;--lv2-shadow-rgb:0 0 0;--lv2-paper-rgb:11 11 9;--lv2-card-rgb:18 18 16;--lv2-ember-rgb:255 79 31;--lv2-grain-blend:overlay;--lv2-grain-opacity:.06;--lv2-mark-bg:#d6ff2e2e;--lv2-mark-text:var(--lv2-volt);--lv2-elev-1:0 12px 28px -20px #0009;--lv2-next-bg:#d6ff2e1a;--lv2-hero-edge:#ffffff1a;--lv2-hero-glow:.6}@media (max-width:639px){.lv2{--lv2-pad-card:20px;--lv2-pad-hero:24px}}.lv2-t-display-lg{font-size:var(--lv2-fs-display-lg);letter-spacing:-.05em;line-height:1}.lv2-t-display-md{font-size:var(--lv2-fs-display-md);letter-spacing:-.045em;line-height:1.04}.lv2-t-display-sm{font-size:var(--lv2-fs-display-sm);letter-spacing:-.035em;line-height:1.1}.lv2-t-title{font-size:var(--lv2-fs-title);letter-spacing:-.02em;line-height:1.25}.lv2-t-micro{font-family:var(--lv2-font-mono), ui-monospace, monospace;font-size:var(--lv2-fs-micro);letter-spacing:.02em;line-height:1.3}.lv2-hero{background:var(--lv2-moss);color:var(--lv2-moss-text);box-shadow:0 0 0 1px var(--lv2-hero-edge) inset, var(--lv2-elev-2)}.lv2-hero-glow{background:radial-gradient(circle, rgb(var(--lv2-ember-rgb) / var(--lv2-hero-glow)), transparent 65%)}.lv2-in{animation:lv2-in var(--lv2-dur-base) var(--lv2-ease) both;animation-delay:var(--d,0s)}@keyframes lv2-in{0%{opacity:0;transform:translateY(12px)}}.lv2-stagger>*{animation:lv2-in var(--lv2-dur-base) var(--lv2-ease) both}.lv2-stagger>:nth-child(2){animation-delay:40ms}.lv2-stagger>:nth-child(3){animation-delay:80ms}.lv2-stagger>:nth-child(4){animation-delay:.12s}.lv2-stagger>:nth-child(5){animation-delay:.16s}.lv2-stagger>:nth-child(6){animation-delay:.2s}.lv2-stagger>:nth-child(n+7){animation-delay:.24s}.lv2-grow-x{transform-origin:0;animation:lv2-fill var(--lv2-dur-slow) var(--lv2-ease) both;animation-delay:var(--d,0s)}.lv2-skel{background:var(--lv2-paper-2);border-radius:8px;position:relative;overflow:hidden}.lv2-skel:after{content:"";background:linear-gradient(90deg, transparent, rgb(var(--lv2-card-rgb) / .55), transparent);animation:1.4s linear infinite lv2-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes lv2-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.lv2-skel:after{display:none}}.lv2-mail-dot{opacity:0;transition:opacity var(--lv2-dur-fast) var(--lv2-ease), transform var(--lv2-dur-fast) var(--lv2-ease);transform:scale(.4)}.lv2-mail-dot[data-on=true]{opacity:1;transform:none}.lv2-mail-pulse{animation:lv2-mail-pulse var(--lv2-dur-slow) var(--lv2-ease) both}@keyframes lv2-mail-pulse{0%,40%{color:var(--lv2-ember-deep)}}.lv2-mail-sheet[open]{animation:lv2-sheet-in var(--lv2-dur-base) var(--lv2-ease) both}.lv2-mail-sheet::backdrop{animation:lv2-fade-in var(--lv2-dur-fast) var(--lv2-ease) both;background:#0a0a086b}@keyframes lv2-sheet-in{0%{opacity:0;transform:translate(24px)}}@keyframes lv2-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.lv2-mail-dot{transition:none}.lv2-mail-pulse,.lv2-mail-sheet[open],.lv2-mail-sheet::backdrop{animation:none}}.lv2-asst-sheet[open]{animation:lv2-asst-sheet-in var(--lv2-dur-base) var(--lv2-ease) both}.lv2-asst-sheet::backdrop{animation:lv2-fade-in var(--lv2-dur-fast) var(--lv2-ease) both;background:#0a0a086b}@keyframes lv2-asst-sheet-in{0%{opacity:0;transform:translateY(32px)}}.lv2-asst-dots>span{background:var(--lv2-ink-2);width:6px;height:6px;animation:lv2-asst-dot var(--lv2-dur-slow) var(--lv2-ease-in-out) infinite alternate;border-radius:999px}.lv2-asst-dots>span:nth-child(2){animation-delay:.15s}.lv2-asst-dots>span:nth-child(3){animation-delay:.3s}@keyframes lv2-asst-dot{0%{opacity:.25;transform:translateY(1px)}to{opacity:1;transform:translateY(-2px)}}.lv2-asst-caret{vertical-align:-.15em;background:var(--lv2-ember-deep);border-radius:2px;width:7px;height:1em;margin-left:2px;animation:1s steps(2,jump-none) infinite lv2-asst-caret;display:inline-block}@keyframes lv2-asst-caret{50%{opacity:0}}.lv2-asst-prose{font-size:var(--lv2-fs-small);line-height:1.6}.lv2-asst-prose>*+*{margin-top:.6em}.lv2-asst-prose :is(h1,h2,h3,h4){font-size:var(--lv2-fs-body);font-weight:600}.lv2-asst-code{border-radius:var(--lv2-r-sm);color:var(--lv2-moss-text)}.lv2-asst-code pre{padding:10px 12px;font-size:13px;line-height:1.6}.lv2-asst-code pre:focus-visible{outline:2px solid var(--lv2-ember);outline-offset:-2px}.lv2-asst-code .tok-keyword,.lv2-asst-code .tok-operator{color:#ff9a6b}.lv2-asst-code .tok-string,.lv2-asst-code .tok-string2{color:#c8e67a}.lv2-asst-code :is(.tok-number,.tok-bool,.tok-atom,.tok-literal){color:#f5c46b}.lv2-asst-code .tok-comment{color:#a3a69c;font-style:italic}.lv2-asst-code :is(.tok-definition,.tok-className,.tok-typeName){color:#8fd3ff}.lv2-asst-code :is(.tok-propertyName,.tok-variableName2,.tok-meta){color:#d9b8ff}@media (prefers-reduced-motion:reduce){.lv2-asst-sheet[open],.lv2-asst-sheet::backdrop,.lv2-asst-dots>span,.lv2-asst-caret{animation:none}}.lv2-chip-pro{border:1px solid var(--lv2-line-strong);font-family:var(--lv2-font-mono), ui-monospace, monospace;font-size:var(--lv2-fs-micro);letter-spacing:.02em;text-transform:uppercase;color:var(--lv2-ink-2);border-radius:6px;align-items:center;gap:4px;padding:1px 6px;line-height:1.3;display:inline-flex}.lv2-draw.is-waiting>*,.lv2-draw.is-in>*{stroke-dasharray:1;stroke-dashoffset:1px}.lv2-draw.is-in>*{animation:lv2-draw var(--lv2-dur-slow) var(--lv2-ease) both}@keyframes lv2-draw{to{stroke-dashoffset:0}}.lv2-stage-card:after{content:"";border:2px solid var(--lv2-ember);border-radius:inherit;opacity:0;pointer-events:none;position:absolute;inset:-1px}.lv2-stage-card[data-pulse]:after{animation:lv2-pulse-ring 1.2s var(--lv2-ease) both}@keyframes lv2-pulse-ring{0%,35%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.lv2-draw>*,.lv2-draw.is-waiting>*,.lv2-draw.is-in>*{stroke-dashoffset:0;animation:none}.lv2-stage-card[data-pulse]:after{opacity:1;animation:none}}.lv2-paywall{border:1px solid var(--lv2-line);border-radius:var(--lv2-r-lg);background:var(--lv2-paper-2);box-shadow:var(--lv2-elev-1);position:relative;overflow:hidden}.lv2-paywall:before{content:"";background:linear-gradient(180deg, rgb(var(--lv2-ember-rgb) / .16), transparent);pointer-events:none;height:96px;position:absolute;inset:0 0 auto}.lv2-paywall:after{content:"";background:linear-gradient(90deg, var(--lv2-ember), rgb(var(--lv2-ember-rgb) / .2));height:3px;position:absolute;inset:0 0 auto}.lv2-paywall>*{position:relative}.lv2-drill-ring{transition:stroke-dashoffset 1s linear}.lv2-drill-timer.is-running .lv2-drill-crown{animation:lv2-blink 1s var(--lv2-ease-in-out) infinite}@keyframes lv2-blink{50%{opacity:0}}.lv2-crate-drop{animation:lv2-crate-drop .7s var(--lv2-ease-pop) both}.lv2-crate-shadow{transform-box:fill-box;transform-origin:50%;animation:lv2-crate-shadow .5s var(--lv2-ease) .12s both}.lv2-crate-tag{transform-box:view-box;transform-origin:116px 40px;animation:lv2-crate-tag 1.2s var(--lv2-ease) .2s both}@keyframes lv2-crate-drop{0%{opacity:0;transform:translateY(-22px)}40%{opacity:1}}@keyframes lv2-crate-shadow{0%{opacity:0;transform:scaleX(.4)}}@keyframes lv2-crate-tag{0%{transform:rotate(-26deg)}30%{transform:rotate(14deg)}55%{transform:rotate(-7deg)}78%{transform:rotate(3deg)}to{transform:none}}.lv2-plus-one{animation:lv2-plus-one .9s var(--lv2-ease) both}@keyframes lv2-plus-one{0%{opacity:0;transform:translateY(6px)}25%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}@media (prefers-reduced-motion:reduce){.lv2-drill-ring{transition:none}.lv2-drill-timer.is-running .lv2-drill-crown{animation:none}}body:has(.lv2){background:#f3f0e4}html[data-lv2-theme=dark] body:has(.lv2){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b0b09}.lv2-mono{font-family:var(--lv2-font-mono), ui-monospace, monospace;letter-spacing:.02em}.lv2-serif{font-family:var(--font-instrument-serif), "Instrument Serif", Georgia, serif;letter-spacing:-.02em;font-style:italic;font-weight:400}.lv2-dots{background-image:radial-gradient(circle at 1px 1px, rgb(var(--lv2-ink-rgb) / .13) 1px, transparent 0);background-size:22px 22px;-webkit-mask-image:radial-gradient(70% 55% at 50% 30%,#000 30%,#0000 75%);mask-image:radial-gradient(70% 55% at 50% 30%,#000 30%,#0000 75%)}.lv2-grain{opacity:var(--lv2-grain-opacity);mix-blend-mode:var(--lv2-grain-blend);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>")}.lv2-glow-ember{background:radial-gradient(circle, rgb(var(--lv2-ember-rgb) / .28), transparent 65%);filter:blur(40px);animation:14s ease-in-out infinite alternate lv2-drift}.lv2-glow-volt{background:radial-gradient(circle, rgb(var(--lv2-volt-rgb) / .55), transparent 65%);filter:blur(50px);animation:18s ease-in-out infinite alternate-reverse lv2-drift}.lv2-rise{animation:lv2-rise .95s var(--lv2-ease) both;animation-delay:var(--d,0s)}.lv2-mark{color:var(--lv2-mark-text,inherit);z-index:0;padding:0 .08em 0 .02em;display:inline-block;position:relative}.lv2-mark:before{content:"";z-index:-1;background:var(--lv2-mark-bg,var(--lv2-volt));transform-origin:0;animation:lv2-swipe .7s var(--lv2-ease) .85s forwards;border-radius:.12em .3em .18em .4em;position:absolute;inset:.52em -.06em .06em -.04em;transform:scaleX(0)rotate(-1.2deg)}.lv2-float{animation:6s ease-in-out infinite lv2-bob}.lv2-sticker{border:1px solid rgb(var(--lv2-shadow-rgb) / .12);box-shadow:0 1px 0 #fff9 inset, 0 10px 24px -12px rgb(var(--lv2-shadow-rgb) / .35), 0 2px 4px -2px rgb(var(--lv2-shadow-rgb) / .2);animation:6s ease-in-out infinite lv2-bob;animation-delay:var(--d,0s)}.lv2-cta{isolation:isolate;background:var(--lv2-ink);color:var(--lv2-paper);box-shadow:0 1px 0 #ffffff24 inset, 0 14px 30px -14px rgb(var(--lv2-shadow-rgb) / .7);transition:transform .25s var(--lv2-ease), box-shadow .25s var(--lv2-ease);position:relative;overflow:hidden}.lv2-cta:after{content:"";z-index:-1;background:radial-gradient(120% 140% at 50% 120%, var(--lv2-ember), transparent 60%);opacity:0;transition:opacity .35s var(--lv2-ease);position:absolute;inset:0}.lv2-cta:hover{box-shadow:0 1px 0 #ffffff2e inset, 0 18px 36px -14px rgb(var(--lv2-ember-rgb) / .55);transform:translateY(-1px)}.lv2-cta:hover:after{opacity:1}.lv2-cta .lv2-cta-arrow{transition:transform .3s var(--lv2-ease)}.lv2-cta:hover .lv2-cta-arrow{transform:translate(3px)rotate(-45deg)}.lv2-ghost{border:1px solid var(--lv2-line-strong);background:rgb(var(--lv2-card-rgb) / .7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,border-color .2s}.lv2-ghost:hover{background:var(--lv2-card);border-color:var(--lv2-ink-2)}.lv2 a:focus-visible,.lv2 button:focus-visible,.lv2 summary:focus-visible,.lv2 [tabindex="0"]:focus-visible{outline:2px solid var(--lv2-ember);outline-offset:3px}.lv2 input:focus-visible,.lv2 select:focus-visible,.lv2 textarea:focus-visible{outline:2px solid var(--lv2-ember);outline-offset:1px}.lv2-wire{fill:none;stroke:var(--lv2-line-strong);stroke-width:1px;stroke-dasharray:3 5}.lv2-pulse{fill:none;stroke-width:2px;stroke-linecap:round;stroke-dasharray:26 1400;stroke-dashoffset:1426px;animation:lv2-travel var(--t,4.5s) linear infinite;animation-delay:var(--d,0s)}.lv2-console{background:var(--lv2-moss);color:var(--lv2-moss-text);border:1px solid rgb(var(--lv2-shadow-rgb) / .9);box-shadow:0 0 0 6px rgb(var(--lv2-shadow-rgb) / .04), 0 1px 0 #ffffff14 inset, 0 40px 80px -30px rgb(var(--lv2-shadow-rgb) / .55), 0 20px 40px -20px rgb(var(--lv2-ember-rgb) / .18)}.lv2-console-panel{background:var(--lv2-moss-2);border:1px solid var(--lv2-moss-line)}.lv2-tab-progress{transform-origin:0;animation:lv2-fill var(--scene-ms,7s) linear forwards}.lv2-tab-progress[data-paused=true]{animation-play-state:paused}.lv2-strike{background-image:linear-gradient(var(--lv2-ember), var(--lv2-ember));animation:lv2-strike .6s var(--lv2-ease) .45s forwards;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-position:0 58%;background-repeat:no-repeat;background-size:0% 2px}@keyframes lv2-strike{to{background-size:100% 2px}}.lv2-caret{vertical-align:-.12em;background:var(--lv2-volt);width:.5ch;height:1em;margin-left:2px;animation:1s step-end infinite lv2-blink;display:inline-block}.lv2-ping{animation:1.6s cubic-bezier(0,0,.2,1) infinite lv2-ping}.lv2-marquee{animation:38s linear infinite lv2-marquee}@keyframes lv2-rise{0%{opacity:0;filter:blur(8px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:none}}@keyframes lv2-swipe{to{transform:scaleX(1)rotate(-1.2deg)}}@keyframes lv2-bob{0%,to{translate:0}50%{translate:0 -6px}}@keyframes lv2-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(40px,30px)scale(1.15)}}@keyframes lv2-travel{to{stroke-dashoffset:0}}@keyframes lv2-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lv2-cell{animation:lv2-cell .45s var(--lv2-ease) both;animation-delay:var(--d,0s)}@keyframes lv2-cell{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.lv2-grow{transform-origin:0;animation:lv2-fill .9s var(--lv2-ease) both;animation-delay:var(--d,0s)}@keyframes lv2-ping{75%,to{opacity:0;transform:scale(2.2)}}@keyframes lv2-marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.lv2 *,.lv2 :before,.lv2 :after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.lv2-pulse{display:none}}.lv2-prose{color:var(--lv2-ink-2);max-width:72ch;font-size:17px;line-height:1.72}@media (min-width:1024px){.lv2-prose{font-size:18px}}.lv2-lab-brief .lv2-prose{font-size:17px;line-height:1.65}.lv2-lab-task{max-width:68ch}.lv2-lab-chip{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;border:1px solid var(--lv2-line);background:var(--lv2-paper-2);max-width:100%;color:var(--lv2-ink);font-family:var(--lv2-font-mono), ui-monospace, monospace;letter-spacing:.01em;border-radius:6px;padding:0 .4em;font-size:.875em;line-height:1.55;display:inline-block;overflow:hidden}.lv2-defect-chip{border:1px solid var(--lv2-line-strong);background:var(--lv2-card);min-height:24px;color:var(--lv2-ember-deep);font-family:var(--lv2-font-mono), ui-monospace, monospace;vertical-align:baseline;cursor:pointer;transition:background-color var(--lv2-dur-fast) var(--lv2-ease), border-color var(--lv2-dur-fast) var(--lv2-ease);border-radius:6px;flex-shrink:0;align-items:center;padding:0 .45em;font-size:.875em;line-height:1.4;display:inline-flex}.lv2-defect-chip:hover{border-color:var(--lv2-ember-deep);background:var(--lv2-paper-2)}.lv2-defect-chip:focus-visible,.lv2-lab-defect:focus-visible,.lv2-lab-pre:focus-visible{outline:2px solid var(--lv2-ember);outline-offset:2px}.lv2-lab-defect:focus:not(:focus-visible){outline:none}.lv2-lab-step{border:1px solid var(--lv2-line);border-radius:var(--lv2-r-sm);background:var(--lv2-card);transition:background-color var(--lv2-dur-base) var(--lv2-ease);padding:12px 14px 12px 12px}.lv2-lab-step.is-done{background:var(--lv2-paper)}.lv2-lab-step-box{border:1.5px solid var(--lv2-line-strong);background:var(--lv2-card);width:32px;height:32px;color:var(--lv2-ink-2);font-size:var(--lv2-fs-small);cursor:pointer;transition:background-color var(--lv2-dur-fast) var(--lv2-ease), border-color var(--lv2-dur-fast) var(--lv2-ease);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.lv2-lab-step-box:before{content:"";position:absolute;inset:-5px}.lv2-lab-step-box:hover{border-color:var(--lv2-ink-2)}.peer:focus-visible+.lv2-lab-step-box{outline:2px solid var(--lv2-ember);outline-offset:2px}.is-done .lv2-lab-step-box{border-color:var(--lv2-ink);background:var(--lv2-ink);color:var(--lv2-paper)}.lv2-lab-step-title{min-width:0;color:var(--lv2-ink);font-size:var(--lv2-fs-body);-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size var(--lv2-dur-base) var(--lv2-ease), color var(--lv2-dur-base) var(--lv2-ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 58%;background-repeat:no-repeat;background-size:0 1.5px;font-weight:600;line-height:1.4}.is-done .lv2-lab-step-title{color:var(--lv2-ink-2);background-size:100% 1.5px}.lv2-lab-code{border:1px solid rgb(var(--lv2-shadow-rgb) / .4);border-radius:var(--lv2-r-sm);background:var(--lv2-moss);overflow:hidden}.lv2-lab-pre{white-space:pre;color:var(--lv2-moss-text);font-family:var(--lv2-font-mono), ui-monospace, monospace;font-size:var(--lv2-fs-small);letter-spacing:0;margin:0;padding:10px 14px 12px;line-height:1.6;overflow-x:auto}.lv2-lab-flash{animation:lv2-lab-flash 1.2s var(--lv2-ease) both}@keyframes lv2-lab-flash{0%,25%{box-shadow:0 0 0 3px rgb(var(--lv2-ember-rgb) / .55);background-color:rgb(var(--lv2-ember-rgb) / .1)}to{box-shadow:0 0 0 3px rgb(var(--lv2-ember-rgb) / 0)}}@media (prefers-reduced-motion:reduce){.lv2-lab-defect.lv2-lab-flash,.lv2-lab-defect.lv2-lab-flash:focus:not(:focus-visible){outline:2px solid var(--lv2-ember);outline-offset:2px}.lv2-lab-step-title,.lv2-lab-step,.lv2-lab-step-box{transition:none}}.lv2-prose>*+*{margin-top:1.05em}.lv2-prose h3{color:var(--lv2-ink);font-size:var(--lv2-fs-title);letter-spacing:-.025em;margin-top:2.2em;scroll-margin-top:6rem;font-weight:600;line-height:1.25}.lv2-prose h3+*{margin-top:.6em}.lv2-prose strong{color:var(--lv2-ink);font-weight:600}.lv2-prose a{color:var(--lv2-ink);text-decoration:underline;-webkit-text-decoration-color:rgb(var(--lv2-ember-rgb) / .55);text-decoration-color:rgb(var(--lv2-ember-rgb) / .55);text-underline-offset:3px;text-decoration-thickness:1.5px;transition:text-decoration-color .2s}.lv2-prose a:hover{-webkit-text-decoration-color:var(--lv2-ember);text-decoration-color:var(--lv2-ember)}.lv2-prose ul:not(.lv2-widget *),.lv2-prose ol:not(.lv2-widget *){padding-left:1.3em}.lv2-prose ul:not(.lv2-widget *){list-style:none}.lv2-prose ul:not(.lv2-widget *)>li{position:relative}.lv2-prose ul:not(.lv2-widget *)>li:before{content:"";background:var(--lv2-ember);border-radius:2px;width:6px;height:6px;position:absolute;top:.72em;left:-1.05em}.lv2-prose ol:not(.lv2-widget *){list-style:decimal}.lv2-prose ol:not(.lv2-widget *)>li::marker{font-family:var(--lv2-font-mono), monospace;color:var(--lv2-ember-deep);font-size:.8em}.lv2-prose li:not(.lv2-widget *)+li,.lv2-prose li:not(.lv2-widget *)>ul,.lv2-prose li:not(.lv2-widget *)>ol{margin-top:.4em}.lv2-prose :not(pre)>code:not(.lv2-widget *){font-family:var(--lv2-font-mono), monospace;font-size:max(var(--lv2-fs-micro), .82em);background:var(--lv2-paper-2);color:var(--lv2-ink);border:1px solid var(--lv2-line);overflow-wrap:anywhere;border-radius:6px;padding:.12em .4em}.lv2-prose blockquote{border-left:3px solid var(--lv2-ember);color:var(--lv2-ink);padding:.2em 0 .2em 1em}.lv2-prose hr{border:0;border-top:1px dashed var(--lv2-line-strong);margin:2em 0}.lv2-table{border:1px solid var(--lv2-line);background:var(--lv2-card);border-radius:16px;max-width:none;overflow-x:auto}.lv2-table table{border-collapse:collapse;width:100%;font-size:var(--lv2-fs-small);line-height:1.55}.lv2-table th{text-align:left;font-family:var(--lv2-font-mono), monospace;text-transform:uppercase;letter-spacing:.03em;color:var(--lv2-muted);background:var(--lv2-paper);border-bottom:1px solid var(--lv2-line);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:400}.lv2-table td{vertical-align:top;border-bottom:1px solid var(--lv2-line);min-width:160px;padding:11px 14px}.lv2-table tr:last-child td{border-bottom:0}.lv2-table td:first-child{color:var(--lv2-ink);font-weight:500}@media (max-width:639.98px){.lv2-stack .lv2-table{position:relative;overflow-x:visible}.lv2-stack .lv2-table :is(table,tbody,tr,td){display:block}.lv2-stack .lv2-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lv2-stack .lv2-table tr{border-bottom:1px solid var(--lv2-line);padding:12px 16px}.lv2-stack .lv2-table tr:last-child{border-bottom:0}.lv2-stack .lv2-table td,.lv2-stack .lv2-table tr:last-child td{border:0;min-width:0;padding:0}.lv2-stack .lv2-table td+td{margin-top:8px}.lv2-stack .lv2-table td[data-label]:not(:first-child):before{content:attr(data-label);content:attr(data-label) / "";font-family:var(--lv2-font-mono), monospace;font-size:var(--lv2-fs-micro);letter-spacing:.03em;text-transform:uppercase;color:var(--lv2-muted);display:block}}.lv2-code{background:var(--lv2-moss);border:1px solid rgb(var(--lv2-shadow-rgb) / .4);border-radius:16px;max-width:none;overflow:hidden}.lv2-code pre{margin:0;padding:16px 18px 18px;font-size:14px;line-height:1.7;overflow-x:auto;background:0 0!important}.lv2-code pre code{font-family:var(--lv2-font-mono), monospace;letter-spacing:0}.lv2-diagram svg{max-width:100%;height:auto;margin:0 auto}.lv2-takeaways ul{padding-left:0}.lv2-takeaways ul>li{padding-left:2em}.lv2-takeaways ul>li:before{background:var(--lv2-volt) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a0a08' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>") center / 62% no-repeat;border-radius:6px;width:1.3em;height:1.3em;top:.15em;left:0}.lv2-section{scroll-margin-top:5rem}@property --lv2-glow-a{syntax:"<angle>";inherits:false;initial-value:0deg}.lv2-glow-ring{background:conic-gradient(from var(--lv2-glow-a), #ff4410, #ff5ca8, #9678ff, #d6ff2e, #ffb224, #ff4410);-webkit-mask-composite:xor;padding:3px;animation:5s linear infinite lv2-glow-spin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.lv2-glow-wide{padding:14px}.lv2-glow-halo{filter:blur(22px);opacity:.75;position:absolute;inset:0}@keyframes lv2-glow-spin{to{--lv2-glow-a:360deg}}.lv2-hl{mix-blend-mode:multiply}html[data-lv2-theme=dark] .lv2 .lv2-hl{mix-blend-mode:normal;opacity:.3}.lv2-ink-note{clip-path:inset(-70% 116% -70% -16%);animation:.9s cubic-bezier(.4,0,.2,1) forwards lv2-write;transform:rotate(-4deg)}@keyframes lv2-write{to{clip-path:inset(-70% -16%)}}.lv2-ink-arrow{stroke-dasharray:400;stroke-dashoffset:400px;animation:.6s ease-out forwards lv2-draw-arrow}@keyframes lv2-draw-arrow{to{stroke-dashoffset:0}}[data-tutor-ink] [data-mark-id],[data-tutor-ink] [data-mark-note],[data-tutor-ink] [data-pen-offset]{transition:opacity .2s}[data-tutor-ink] [data-gone]{opacity:0!important}@media (prefers-reduced-motion:reduce){[data-tutor-ink] [data-mark-id],[data-tutor-ink] [data-mark-note],[data-tutor-ink] [data-pen-offset]{transition:none}}.lv2-caret{animation:1s steps(2,start) infinite lv2-caret-blink}@keyframes lv2-caret-blink{to{visibility:hidden}}.lv2-board-scroll{scrollbar-width:none}.lv2-board-scroll::-webkit-scrollbar{display:none}.lv2-tutor-ring,.lv2-tutor-halo{background:conic-gradient(from var(--lv2-glow-a), #ff4410, #ff5ca8, #9678ff, #d6ff2e, #ffb224, #ff4410);animation:7s linear infinite lv2-glow-spin}.lv2-tutor-halo{filter:blur(14px);opacity:.35;transition:opacity .4s var(--lv2-ease)}.lv2-tutor-cta:hover .lv2-tutor-halo,.lv2-tutor-cta:focus-visible .lv2-tutor-halo{opacity:.75}html[data-lv2-theme=dark] .lv2 .lv2-tutor-halo{opacity:.45}html[data-lv2-theme=dark] .lv2 .lv2-tutor-cta:hover .lv2-tutor-halo,html[data-lv2-theme=dark] .lv2 .lv2-tutor-cta:focus-visible .lv2-tutor-halo{opacity:.9}.lv2-tutor-shine{animation:lv2-tutor-shine 5.5s var(--lv2-ease) 1.2s infinite;background:linear-gradient(100deg,#0000,#ffffff38,#0000);translate:-120%}html[data-lv2-theme=dark] .lv2 .lv2-tutor-shine{background:linear-gradient(100deg,#0000,#ffffff14,#0000)}@keyframes lv2-tutor-shine{0%,62%{translate:-120%}to{translate:420%}}.lv2-tutor-ripple{border:1.5px solid rgb(var(--lv2-ember-rgb) / .55);opacity:0;animation:2.4s ease-out infinite lv2-tutor-ripple}@keyframes lv2-tutor-ripple{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.65)}}.lv2-tutor-wave{background:linear-gradient(to top, var(--lv2-ember), #ff5ca8);transform-origin:bottom;animation:1.1s ease-in-out infinite lv2-tutor-wave;transform:scaleY(.5)}.lv2-tutor-cta:hover .lv2-tutor-wave{animation-duration:.7s}@keyframes lv2-tutor-wave{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@media (min-width:1280px){.lv2[data-tutoring] .lv2-rail{visibility:hidden;width:320px}}.lab-rail,.lab-split{display:none}@media (min-width:768px) and (max-width:1023.98px){.drill-ws [data-pane=left]{border-bottom-width:0;border-right:1px solid var(--lv2-line);flex:0 0 min(340px,42vw);width:min(340px,42vw)}}@media (min-width:1024px){.lab-ws{--lab-left-w:clamp(260px, var(--lab-left,clamp(280px, 30vw, 520px)), 640px);--lab-right-w:clamp(280px, var(--lab-right,clamp(340px, 26vw, 400px)), 560px)}.lab-ws [data-pane=left]{flex:0 1 var(--lab-left-w);width:var(--lab-left-w);min-width:260px;max-width:640px}.lab-ws [data-pane=right]{flex:0 1 var(--lab-right-w);width:var(--lab-right-w);min-width:280px;max-width:560px}.lab-ws [data-pane=middle]{flex:1 1 0;min-width:360px}html[data-lab-left=rail] .lab-ws [data-pane=left],html[data-lab-right=rail] .lab-ws [data-pane=right]{flex:0 0 44px;width:44px;min-width:44px}html[data-lab-left=rail] .lab-ws [data-pane=left]>.lab-rail,html[data-lab-right=rail] .lab-ws [data-pane=right]>.lab-rail{display:flex}html[data-lab-left=rail] .lab-ws [data-pane=left]>[data-pane-body],html[data-lab-right=rail] .lab-ws [data-pane=right]>[data-pane-body]{display:none}html[data-lab-anim] .lab-ws [data-pane=left],html[data-lab-anim] .lab-ws [data-pane=right]{transition:flex-basis var(--lv2-dur-base) var(--lv2-ease), width var(--lv2-dur-base) var(--lv2-ease), min-width var(--lv2-dur-base) var(--lv2-ease)}html:not([data-lab-left=rail]) .lab-ws [data-pane=left]>[data-pane-body],html:not([data-lab-right=rail]) .lab-ws [data-pane=right]>[data-pane-body]{min-width:0}html[data-lab-anim] .lab-ws [data-pane]>[data-pane-body],html[data-lab-anim] .lab-ws [data-pane]>.lab-rail{animation:lv2-fade-in var(--lv2-dur-base) var(--lv2-ease) both}.lab-ws .lab-console[data-open]{height:clamp(120px, calc(var(--lab-console,.42) * 100%), 75%)}.lab-split{z-index:5;background:var(--lv2-line);touch-action:none;outline:none;flex:0 0 1px;display:block;position:relative}.lab-split[aria-orientation=vertical]{cursor:col-resize;width:1px}.lab-split[aria-orientation=horizontal]{cursor:row-resize;height:1px}.lab-split:before{content:"";position:absolute;inset:0 -4px}.lab-split[aria-orientation=horizontal]:before{inset:-4px 0}.lab-split:after{content:"";transition:background-color var(--lv2-dur-fast) var(--lv2-ease);background:0 0;position:absolute;inset:0}.lab-split:hover:after,.lab-split[data-dragging]:after,.lab-split:focus-visible:after{background:var(--lv2-ember);inset:0 -1px}.lab-split[aria-orientation=horizontal]:hover:after,.lab-split[aria-orientation=horizontal][data-dragging]:after,.lab-split[aria-orientation=horizontal]:focus-visible:after{inset:-1px 0}.lab-split:focus-visible{outline:2px solid var(--lv2-ember-deep);outline-offset:2px}}html[data-lab-drag],html[data-lab-drag] *{-webkit-user-select:none!important;user-select:none!important;cursor:col-resize!important}html[data-lab-drag=row],html[data-lab-drag=row] *{cursor:row-resize!important}@media (prefers-reduced-motion:reduce){html[data-lab-anim] .lab-ws [data-pane=left],html[data-lab-anim] .lab-ws [data-pane=right],.lab-split:after{transition:none}html[data-lab-anim] .lab-ws [data-pane]>[data-pane-body],html[data-lab-anim] .lab-ws [data-pane]>.lab-rail{animation:none}}.lab-fv-scroll{overscroll-behavior:contain;outline:none;overflow:auto}.lab-fv-scroll:focus-visible{box-shadow:inset 0 0 0 2px var(--lv2-ember-deep)}.lab-fv-scroll::-webkit-scrollbar{width:12px;height:12px}.lab-fv-scroll::-webkit-scrollbar-track{background:var(--lv2-paper)}.lab-fv-scroll::-webkit-scrollbar-thumb{background:var(--lv2-line-strong);border:3px solid var(--lv2-paper);border-radius:8px}.lab-fv-scroll::-webkit-scrollbar-thumb:hover{background:var(--lv2-muted)}.lab-fv-scroll::-webkit-scrollbar-corner{background:var(--lv2-paper)}@supports ((-moz-appearance:none)){.lab-fv-scroll{scrollbar-color:var(--lv2-line-strong) var(--lv2-paper)}}.lab-csv,.lab-raw{border-collapse:separate;border-spacing:0;font-family:var(--lv2-font-mono), ui-monospace, monospace;color:var(--lv2-ink);font-size:13px;line-height:1.5}.lab-csv{width:max-content;min-width:100%}.lab-csv td,.lab-csv th{text-align:left;vertical-align:top;border-bottom:1px solid var(--lv2-line);white-space:pre;padding:6px 12px}.lab-csv td+td,.lab-csv th+th,.lab-csv th+td{border-left:1px solid var(--lv2-line)}.lab-csv tr[data-p="0"]>*,.lab-raw tr[data-p="0"]>*{background:var(--lv2-card)}.lab-csv tr[data-p="1"]>*,.lab-raw tr[data-p="1"]>*{background:var(--lv2-paper)}.lab-csv thead tr.lab-csv-head>th{z-index:2;background:var(--lv2-paper-2);color:var(--lv2-ink);border-bottom:1px solid var(--lv2-line-strong);font-weight:600;position:sticky;top:0}.lab-csv .lab-ln,.lab-raw .lab-ln{z-index:1;text-align:right;min-width:3.5ch;color:var(--lv2-muted);-webkit-user-select:none;user-select:none;border-right:1px solid var(--lv2-line);padding:6px 10px;font-weight:400;position:sticky;left:0}.lab-csv thead tr.lab-csv-head>th.lab-ln{z-index:3;color:var(--lv2-muted);font-weight:400}.lab-csv-v{text-overflow:ellipsis;white-space:pre;min-width:2ch;max-width:28ch;display:block;overflow:hidden}.lab-csv[data-wrap] .lab-csv-v{white-space:pre-wrap;overflow-wrap:anywhere;text-overflow:clip;max-width:40ch}.lab-csv th .lab-csv-v{padding-right:6px}.lab-csv-grip{cursor:col-resize;touch-action:none;z-index:1;width:8px;position:absolute;top:0;bottom:0;right:0}.lab-csv-grip:hover,.lab-csv-grip[data-dragging]{background:linear-gradient(to right, transparent 6px, var(--lv2-ember) 6px)}.lab-raw{width:max-content;min-width:100%}.lab-raw[data-wrap]{table-layout:fixed;width:100%}.lab-raw[data-wrap] col.lab-ln-col{width:6ch}.lab-raw td{white-space:pre;vertical-align:top;padding:1px 12px}.lab-raw .lab-ln{padding:1px 10px}.lab-raw[data-wrap] td.lab-raw-text{white-space:pre-wrap;overflow-wrap:anywhere}.lab-raw-text:empty:before,.lab-csv-whole:empty:before{content:"​"}.lab-csv[data-wrap] .lab-csv-whole{white-space:pre-wrap;overflow-wrap:anywhere}.lab-raw-cut{color:var(--lv2-muted);font-style:italic}.lab-raw .tok-string{color:#1d6b34}.lab-raw .tok-number{color:#0b4f8a}.lab-raw .tok-atom,.lab-raw .tok-bool,.lab-raw .tok-literal,.lab-raw .tok-keyword{color:#7a2d9c}.lab-raw .tok-punctuation{color:var(--lv2-ink-2)}html[data-lv2-theme=dark] .lv2 .lab-raw .tok-string{color:#8fd19e}html[data-lv2-theme=dark] .lv2 .lab-raw .tok-number{color:#8cc4ff}html[data-lv2-theme=dark] .lv2 .lab-raw .tok-atom,html[data-lv2-theme=dark] .lv2 .lab-raw .tok-bool,html[data-lv2-theme=dark] .lv2 .lab-raw .tok-literal,html[data-lv2-theme=dark] .lv2 .lab-raw .tok-keyword{color:#d7b3ff}html[data-plan=pro] .lv2-pro-lock{display:none!important}html:not([data-plan=free]):not([data-plan=anon]):not([data-plan=pro]) .lv2-pro-lock,html:not([data-plan]) .lv2-pro-lock{visibility:hidden}.lv2-pro-only{display:none}html[data-plan=pro] .lv2-pro-only{display:inline-flex}html[data-plan=pro] .lv2-nonpro-only{display:none!important}.lv2 .lv2-search-input:focus-visible{outline:none}.lv2-search-field{border-radius:var(--lv2-r-md) var(--lv2-r-md) 0 0}.lv2-search-field:focus-within{box-shadow:inset 0 0 0 2px var(--lv2-ember)}
