@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.a188d1ff.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:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.d9ee93eb.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:Bricolage Grotesque;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.a6d6de71.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.a188d1ff.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.d9ee93eb.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:Bricolage Grotesque;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.a6d6de71.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.a188d1ff.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.d9ee93eb.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:Bricolage Grotesque;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.a6d6de71.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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_45f1fc74-module__N1E1dq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_45f1fc74-module__N1E1dq__variable{--font-bricolage:"Bricolage Grotesque","Bricolage Grotesque Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.e45fea2b.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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.20ecb425.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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.3b382e45.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.12167c5a.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.7a4e9fcc.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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.4adea45d.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:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_1a24cc04-module__jNErVq__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_1a24cc04-module__jNErVq__variable{--font-space-mono:"Space Mono","Space Mono Fallback"}
.field-notebook,.labs-notebook{--paper:#fdf6e9;--ink:#17151f;--muted:#5d5a6b;--yellow:#ffd23f;--coral:#ff6b4a;--blue:#3454ff;--mint:#3ddc97;--pink:#ff8fc7;--sky:#8fd3ff;--lilac:#c7b8ff;--shadow:4px 4px 0 var(--ink);font-family:var(--font-bricolage),var(--font-sora),system-ui,sans-serif;background-color:var(--paper);color:var(--ink);background-image:radial-gradient(#17151f17 1px,#0000 1px);background-size:22px 22px;min-height:100vh}.field-notebook ::selection,.labs-notebook ::selection{background:var(--yellow);color:var(--ink)}.field-notebook .font-mono,.field-notebook code,.field-notebook pre,.labs-notebook .font-mono,.labs-notebook code,.labs-notebook pre{font-family:var(--font-space-mono),var(--font-jetbrains),monospace!important}.field-notebook h1,.field-notebook h2,.field-notebook h3,.field-notebook h4,.field-notebook h5,.field-notebook h6,.labs-notebook h1,.labs-notebook h2,.labs-notebook h3,.labs-notebook h4,.labs-notebook h5,.labs-notebook h6{letter-spacing:-.02em;color:var(--ink)!important}.field-notebook h1,.labs-notebook h1{font-weight:800!important}.field-notebook a,.labs-notebook a{color:inherit}.field-notebook .nb-card,.labs-notebook .nb-card{border:2px solid var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:14px;transition:transform .15s,box-shadow .15s}.field-notebook a:hover>.nb-card,.field-notebook .nb-card.nb-lift:hover,.labs-notebook a:hover>.nb-card,.labs-notebook .nb-card.nb-lift:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.field-notebook .nb-grid>:nth-child(6n+1) .nb-card,.labs-notebook .nb-grid>:nth-child(6n+1) .nb-card{background:#fff7d1}.field-notebook .nb-grid>:nth-child(6n+2) .nb-card,.labs-notebook .nb-grid>:nth-child(6n+2) .nb-card{background:#e3f3ff}.field-notebook .nb-grid>:nth-child(6n+3) .nb-card,.labs-notebook .nb-grid>:nth-child(6n+3) .nb-card{background:#ffe6f2}.field-notebook .nb-grid>:nth-child(6n+4) .nb-card,.labs-notebook .nb-grid>:nth-child(6n+4) .nb-card{background:#ddf8ea}.field-notebook .nb-grid>:nth-child(6n+5) .nb-card,.labs-notebook .nb-grid>:nth-child(6n+5) .nb-card{background:#eee8ff}.field-notebook .nb-grid>:nth-child(6n) .nb-card,.labs-notebook .nb-grid>:nth-child(6n) .nb-card{background:#ffe9df}.field-notebook .nb-btn,.labs-notebook .nb-btn{background:var(--yellow);color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:10px;font-weight:700;transition:transform .1s,box-shadow .1s}.field-notebook .nb-btn:hover,.labs-notebook .nb-btn:hover{box-shadow:5px 5px 0 var(--ink);transform:translate(-1px,-1px)}.field-notebook .nb-btn:active,.labs-notebook .nb-btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.field-notebook .nb-btn-ghost,.labs-notebook .nb-btn-ghost{border:2px solid var(--ink);background:#fff;border-radius:10px;font-weight:600}.field-notebook .nb-btn-ghost:hover,.labs-notebook .nb-btn-ghost:hover{background:var(--sky)}.field-notebook .nb-chip,.labs-notebook .nb-chip{border:1.5px solid var(--ink);background:#fff;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.field-notebook .nb-progress,.labs-notebook .nb-progress{border:2px solid var(--ink);background:#fff;border-radius:999px;width:100%;height:12px;overflow:hidden}.field-notebook .nb-progress>span,.labs-notebook .nb-progress>span{background:var(--blue);border-radius:0;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);display:block}.field-notebook .nb-progress.mint>span,.labs-notebook .nb-progress.mint>span{background:var(--mint)}.field-notebook .nb-safety,.labs-notebook .nb-safety{color:#7a4500;background:#fff0c2;border:2px dashed #c27a00;border-radius:12px}.field-notebook .nb-terminal,.labs-notebook .nb-terminal{color:#f4f1ff;border:2px solid var(--ink);background:#1d1b26;border-radius:12px}.field-notebook .nb-header,.labs-notebook .nb-header{border-bottom:2px solid var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fdf6e9eb}.field-notebook .nb-sidebar,.labs-notebook .nb-sidebar{background:var(--paper);background-image:radial-gradient(#17151f12 1px,#0000 1px);background-size:18px 18px}.field-notebook .nb-sidebar-link:focus-visible,.labs-notebook .nb-sidebar-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.field-notebook .nb-mark,.labs-notebook .nb-mark{background:linear-gradient(transparent 58%,var(--yellow)58%,var(--yellow)92%,transparent 92%);padding:0 .15em}.field-notebook .nb-tick:after,.labs-notebook .nb-tick:after{content:"";background:var(--coral);border-radius:3px;width:64px;height:6px;margin-top:8px;display:block}.field-notebook .nb-eyebrow,.labs-notebook .nb-eyebrow{font-family:var(--font-space-mono),monospace;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-size:.7rem}.field-notebook .nb-link,.labs-notebook .nb-link{color:var(--blue);text-underline-offset:4px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);font-weight:600}.field-notebook input[type=text],.field-notebook input[type=email],.field-notebook input[type=password],.field-notebook textarea,.field-notebook select,.labs-notebook input[type=text],.labs-notebook input[type=email],.labs-notebook input[type=password],.labs-notebook textarea,.labs-notebook select{border:2px solid var(--ink)!important;color:var(--ink)!important;background:#fff!important;border-radius:10px!important}.field-notebook input:focus,.field-notebook textarea:focus,.field-notebook select:focus,.labs-notebook input:focus,.labs-notebook textarea:focus,.labs-notebook select:focus{box-shadow:3px 3px 0 var(--blue);outline:none}.field-notebook ::-webkit-scrollbar{width:12px}.labs-notebook ::-webkit-scrollbar{width:12px}.field-notebook ::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--paper);border-radius:10px}.labs-notebook ::-webkit-scrollbar-thumb{background:var(--ink);border:3px solid var(--paper);border-radius:10px}.field-notebook .nb-lesson-toc,.labs-notebook .nb-lesson-toc{border:2px solid var(--ink);background:#ffffffb8;border-radius:16px;max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow:auto;box-shadow:4px 4px #17151f14}.field-notebook .nb-lesson-toc-link,.labs-notebook .nb-lesson-toc-link{color:var(--muted);border-radius:10px;align-items:flex-start;gap:.55rem;padding:.45rem .55rem;line-height:1.35;text-decoration:none;transition:background .15s,color .15s;display:flex}.field-notebook .nb-lesson-toc-link:hover,.labs-notebook .nb-lesson-toc-link:hover{color:var(--ink);background:#3454ff14}.field-notebook .nb-lesson-toc-link.is-active,.labs-notebook .nb-lesson-toc-link.is-active{color:#fff;box-shadow:2px 2px 0 var(--ink);background:#3454ff;font-weight:700}.field-notebook .nb-lesson-toc-link.is-done:not(.is-active),.labs-notebook .nb-lesson-toc-link.is-done:not(.is-active){color:var(--ink)}.field-notebook .nb-lesson-hero,.labs-notebook .nb-lesson-hero{border:2px solid var(--ink);background:radial-gradient(at 100% 0,#8fd3ff73,#0000 55%),linear-gradient(165deg,#fff 0%,#fdf6e9 100%);border-radius:18px;padding:1.35rem 1.5rem;box-shadow:5px 5px #17151f1a}.field-notebook .nb-lesson-prose,.labs-notebook .nb-lesson-prose{color:var(--ink);font-size:.98rem;line-height:1.7}.field-notebook .nb-lesson-prose>.nb-lesson-block,.labs-notebook .nb-lesson-prose>.nb-lesson-block{margin-top:1rem}.field-notebook .nb-lesson-prose h2,.labs-notebook .nb-lesson-prose h2{letter-spacing:-.02em;color:var(--blue);margin:1.75rem 0 .65rem;font-size:1.15rem;font-weight:800}.field-notebook .nb-lesson-prose h3,.labs-notebook .nb-lesson-prose h3{color:var(--ink);margin:1.25rem 0 .4rem;font-size:.95rem;font-weight:800}.field-notebook .nb-lesson-prose p,.labs-notebook .nb-lesson-prose p{color:#17151fe0;margin:.55rem 0}.field-notebook .nb-lesson-prose ul,.field-notebook .nb-lesson-prose ol,.labs-notebook .nb-lesson-prose ul,.labs-notebook .nb-lesson-prose ol{margin:.5rem 0 .75rem;padding-left:1.25rem}.field-notebook .nb-lesson-prose li,.labs-notebook .nb-lesson-prose li{margin:.25rem 0}.field-notebook .nb-lesson-prose a,.labs-notebook .nb-lesson-prose a{color:var(--blue);text-underline-offset:3px;font-weight:600;text-decoration:underline}.field-notebook .nb-lesson-prose code,.labs-notebook .nb-lesson-prose code{font-family:var(--font-space-mono),monospace;background:#17151f0f;border-radius:6px;padding:.1rem .35rem;font-size:.85em}.field-notebook .nb-lesson-prose pre,.labs-notebook .nb-lesson-prose pre{border:2px solid var(--ink);color:#f4f1ff;background:#1d1b26;border-radius:12px;margin:.85rem 0;padding:.9rem 1rem;font-size:.8rem;overflow-x:auto}.field-notebook .nb-lesson-prose pre code,.labs-notebook .nb-lesson-prose pre code{color:inherit;background:0 0;padding:0}.field-notebook .nb-lesson-prose blockquote,.labs-notebook .nb-lesson-prose blockquote{border-left:4px solid var(--coral);color:var(--muted);background:#ff6b4a14;border-radius:0 12px 12px 0;margin:1rem 0;padding:.75rem 1rem}.field-notebook .nb-lesson-section,.labs-notebook .nb-lesson-section{border:2px solid var(--ink);background:#fff;border-radius:14px;margin-top:1rem;padding:1rem 1.1rem 1.15rem;box-shadow:3px 3px #17151f0f}.field-notebook .nb-lesson-section[data-kind=why],.labs-notebook .nb-lesson-section[data-kind=why]{border-color:var(--coral);background:linear-gradient(#ff6b4a14,#fff 40%)}.field-notebook .nb-lesson-section[data-kind=lab],.labs-notebook .nb-lesson-section[data-kind=lab]{background:#fff0c2;border-color:#c27a00}.field-notebook .nb-lesson-section[data-kind=how],.labs-notebook .nb-lesson-section[data-kind=how]{border-color:var(--blue);background:linear-gradient(#3454ff12,#fff 45%)}.field-notebook .nb-lesson-section[data-kind=example],.labs-notebook .nb-lesson-section[data-kind=example]{border-color:var(--mint);background:linear-gradient(#3ddc971f,#fff 45%)}.field-notebook .nb-lesson-figure,.labs-notebook .nb-lesson-figure{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);background:#f7f4ec;border-radius:16px;margin:1.25rem 0;overflow:hidden}.field-notebook .nb-lesson-figure img,.labs-notebook .nb-lesson-figure img{object-fit:contain;background:#f7f4ec;width:100%;height:auto;max-height:min(70vh,560px);display:block}.field-notebook .nb-lesson-hero-art,.labs-notebook .nb-lesson-hero-art{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#f7f4ec;border-radius:16px;margin:1rem 0 0;overflow:hidden}.field-notebook .nb-lesson-hero-art img,.labs-notebook .nb-lesson-hero-art img{object-fit:contain;width:100%;height:auto;max-height:min(55vh,420px);display:block}
