@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=block";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-larsseit), ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:var(--color-canvas);--color-ink:var(--color-ink);--color-paper:var(--color-paper);--color-surface:var(--color-surface);--color-line:var(--color-line);--color-accent:var(--color-accent);--color-warning:var(--color-warning);--color-purple:var(--color-purple);--color-gold:var(--color-gold)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{background:var(--color-canvas);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{background:var(--color-canvas);min-width:320px;color:var(--color-ink);font-family:var(--font-sans-stack);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:18px;line-height:1.7}*{box-sizing:border-box}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #67e8f973}h1,h2,h3,h4{text-wrap:balance;line-height:1.03}p,li,dd{text-wrap:pretty}pre,code{font-family:var(--font-mono-stack)}#root{min-height:100svh}}@layer components{.site-shell{background-color:var(--color-canvas);min-height:100svh;color:var(--color-ink);background-image:radial-gradient(circle at 25px 35px,#7dd3fc8c 0 1px,#0000 1.6px),radial-gradient(circle at 120px 80px,#ffffff57 0 1px,#0000 1.5px);background-position:0 0,40px 10px;background-size:230px 180px,310px 240px}.site-header{min-height:var(--header-height);border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070b14e6}.header-inner{justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.85rem 1rem;display:flex;overflow-x:auto}.brand-link,.header-actions,.course-switcher,.top-nav,.action-row,.module-meta,.inline-heading,.pill-row,.sidebar-course-title{align-items:center;display:flex}.brand-link,.sidebar-course-title{gap:.85rem;min-width:0;font-weight:800}.brand-mark{filter:drop-shadow(0 0 18px #00add82e);flex:none;width:4.25rem;height:1.65rem;display:block;overflow:hidden}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand-title,.sidebar-title,.row-title,.row-summary,.row-kicker,.row-meta{display:block}.brand-title{font-size:1.05rem;line-height:1.1}.header-actions{justify-content:flex-end;gap:.75rem}.course-switcher{border:1px solid var(--color-line);white-space:nowrap;background:#111827b8;border-radius:.5rem;gap:.2rem;padding:.22rem;font-size:.78rem;font-weight:900;line-height:1}.course-switcher a{color:var(--color-muted-strong);border-radius:.35rem;padding:.43rem .6rem}.course-switcher a:hover,.course-switcher a.is-active{background:var(--color-surface-strong);color:var(--color-ink)}.top-nav{gap:.3rem}.top-nav a{color:var(--color-muted-strong);white-space:nowrap;border-radius:.5rem;padding:.52rem .72rem;font-size:.86rem;font-weight:800;line-height:1}.top-nav a:hover,.top-nav a.is-active{color:var(--color-ink);background:#94a3b81f}.primary-button,.secondary-button{border:1px solid var(--color-line);border-radius:.55rem;justify-content:center;align-items:center;min-height:2.7rem;padding:0 .95rem;font-size:.9rem;font-weight:900;line-height:1;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.primary-button{color:#07101f;background:#f8fafc;border-color:#0000}.primary-button:hover{background:var(--color-accent)}.secondary-button{color:var(--color-ink);background:#111827b8}.secondary-button:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.course-layout{width:100%;display:block}.course-main{min-width:0;padding:1rem}.course-sidebar{display:none}.sidebar-scroll{height:100%;padding-bottom:2.75rem;overflow:auto}.sidebar-course-title{border-bottom:1px solid var(--color-line);background:linear-gradient(180deg, #0812228c, #081222db), var(--color-paper);min-height:5.5rem;padding:1rem 1.1rem}.sidebar-course-title .brand-mark{width:4.75rem;height:1.85rem}.sidebar-title{color:var(--color-ink);font-size:1.9rem;font-weight:900;line-height:.98}.sidebar-module-list{margin:0;padding:0;list-style:none;display:grid}.sidebar-module-item{background:#080d18d6}.sidebar-module-item.is-active{background:#1f2b3d}.sidebar-module-link{grid-template-columns:var(--sidebar-marker-width) minmax(0, 1fr);color:#cbd5e1d1;align-items:center;min-height:5.05rem;padding:1rem 1.2rem 1rem 0;font-weight:900;transition:background-color .2s,color .2s;display:grid}.sidebar-module-marker{color:#a9b4c7ad;justify-content:center;align-self:stretch;align-items:center;font-size:1rem;font-weight:900;line-height:1;display:flex}.sidebar-module-title{min-width:0;color:inherit;text-wrap:balance;font-size:18px;font-weight:900;line-height:1.24;display:block}.sidebar-module-link:hover{color:var(--color-ink);background:#1e293bad}.sidebar-module-item.is-active .sidebar-module-link{min-height:auto;color:var(--color-ink);padding-top:1.45rem;padding-bottom:.82rem}.sidebar-module-item.is-active .sidebar-module-link:hover{background:0 0}.sidebar-module-item.is-active .sidebar-module-title{font-size:18px;line-height:1.22}.sidebar-module-item.is-complete .sidebar-module-link{color:#cbd5e1db;background:#090e19d1}.sidebar-module-item.is-complete .sidebar-module-link:hover{color:var(--color-ink);background:#1e293bad}.sidebar-module-item.is-active.is-complete .sidebar-module-link,.sidebar-module-item.is-active.is-complete .sidebar-module-link:hover{color:var(--color-ink);background:0 0}.sidebar-module-item.is-complete .sidebar-module-marker:before{border-bottom:.18rem solid var(--color-accent);border-left:.18rem solid var(--color-accent);content:"";width:1rem;height:.58rem;transform:rotate(-45deg)translateY(-.08rem)}.sidebar-lessons{padding:0 0 1.05rem;display:grid}.sidebar-lesson-link{padding:.64rem 1.2rem .64rem var(--sidebar-marker-width);color:#cbd5e1bd;font-size:16px;font-weight:900;line-height:1.28;transition:background-color .2s,color .2s;display:block;position:relative}.sidebar-lesson-link:hover,.sidebar-lesson-link.is-active{color:var(--color-ink)}.sidebar-lesson-link:hover{background:#0f172a38}.sidebar-lesson-link.is-active:before{background:var(--color-warning);content:"";width:.38rem;position:absolute;top:0;bottom:0;left:0}.mobile-course-index{border:1px solid var(--color-line);background:#111827d1;border-radius:.65rem;margin-bottom:1.25rem}.mobile-course-index summary{cursor:pointer;padding:.9rem 1rem;font-weight:900}.mobile-course-index-body{border-top:1px solid var(--color-line);gap:1rem;padding:1rem;display:grid}.mobile-part-link,.mobile-module-link{display:block}.mobile-part-link{color:var(--color-ink);margin-bottom:.35rem;font-weight:900}.mobile-module-link{color:var(--color-muted);border-radius:.45rem;padding:.4rem .55rem;font-size:.9rem}.mobile-module-link:hover,.mobile-module-link.is-active{background:var(--color-surface-strong);color:var(--color-ink)}.reader-page{max-width:76rem;margin:0 auto;padding:2.5rem 0 5rem}.reader-header,.course-hero{border-bottom:1px solid var(--color-line);padding:1.5rem 0 2.25rem}.course-hero h1,.reader-header h1{max-width:66rem;color:var(--color-ink);font-family:var(--font-title-stack);letter-spacing:0;margin:.7rem 0 0;font-size:42px;font-weight:900}.course-hero h1{font-family:var(--font-hero-stack)}.reader-header h1{font-size:42px}.lede{max-width:48rem;color:var(--color-muted-strong);margin:1.1rem 0 0;font-size:16px;line-height:1.65}.fine-print{max-width:50rem;color:var(--color-muted);margin:1rem 0 0;font-size:16px}.eyebrow{color:var(--color-accent);font-family:var(--font-mono-stack);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:900;line-height:1.25}.stat-strip{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));max-width:60rem;margin:2.2rem 0 0;display:grid}.stat-strip>div{border-left:1px solid var(--color-line);min-height:5rem;padding:1rem}.stat-strip>div:first-child{border-left:0}.stat-strip p:first-child{font-family:var(--font-title-stack);margin:0;font-size:2.1rem;font-weight:900;line-height:1}.stat-strip p:last-child{color:var(--color-muted);margin:.35rem 0 0;font-size:.84rem;font-weight:900}.action-row{flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.page-section,.lesson-section{padding-top:3.25rem}.section-header{max-width:54rem;margin-bottom:1.45rem}.section-header h2{color:var(--color-ink);font-family:var(--font-title-stack);letter-spacing:0;margin:.45rem 0 0;font-size:18px;font-weight:900}.section-header p:last-child{color:var(--color-muted);margin:.75rem 0 0;font-size:16px;line-height:1.65}.breadcrumbs{color:var(--color-muted);flex-wrap:wrap;gap:.35rem;font-size:.82rem;font-weight:900;display:flex}.breadcrumbs span:not(:last-child):after{color:#cbd5e175;content:"/";margin-left:.35rem}.breadcrumbs a:hover{color:var(--color-accent-strong)}.module-meta{flex-wrap:wrap;gap:.75rem}.level-pill,.term-chip{min-height:1.8rem;color:var(--color-accent-strong);letter-spacing:.08em;text-transform:uppercase;background:#67e8f91f;border:1px solid #67e8f938;border-radius:999px;align-items:center;padding:0 .72rem;font-size:.74rem;font-weight:900;line-height:1;display:inline-flex}.term-chip{letter-spacing:0;text-transform:none;min-height:1.9rem}.part-list,.code-example-list,.cheatsheet-list{gap:2rem;display:grid}.part-outline,.module-overview,.practice-grid,.cheatsheet-item{border-top:1px solid var(--color-line)}.part-outline{padding-top:1.8rem}.part-outline-heading{grid-template-columns:3.25rem minmax(0,1fr);align-items:start;gap:1rem;margin-bottom:1rem;display:grid}.outline-number,.row-index{color:var(--color-accent);font-family:var(--font-mono-stack);font-weight:900}.part-outline h3,.code-example h3,.qa-list h3,.cheatsheet-item h2{color:var(--color-ink);margin:0;font-size:18px;font-weight:900}.part-outline h3{font-family:var(--font-title-stack);font-size:18px;font-weight:900}.part-outline h3 a:hover{color:var(--color-accent-strong)}.part-outline p{max-width:42rem;color:var(--color-muted);margin:.35rem 0 0;font-size:16px}.module-row-list,.lesson-row-list{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none;display:grid}.module-row,.lesson-row{border-bottom:1px solid var(--color-line);align-items:start;gap:.75rem;padding:1.15rem 0;display:grid}.module-row:hover,.lesson-row:hover{color:var(--color-accent-strong)}.row-kicker,.row-meta{color:var(--color-muted);font-family:var(--font-mono-stack);font-size:.78rem;font-weight:800}.row-title{color:var(--color-ink);font-size:18px;font-weight:900;line-height:1.25}.row-summary{max-width:47rem;color:var(--color-muted);margin-top:.3rem;font-size:16px;line-height:1.6}.module-overview{gap:1.75rem;margin-top:2rem;padding-top:1.75rem;display:grid}.info-section{min-width:0}.info-section ul{gap:.6rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.info-section li{color:var(--color-muted-strong);padding-left:1.15rem;font-size:16px;line-height:1.65;position:relative}.info-section li:before{background:var(--color-accent);content:"";border-radius:999px;width:.42rem;height:.42rem;position:absolute;top:.75em;left:0}.info-section-warning li:before{background:var(--color-warning)}.term-link-list{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.lesson-diagrams,.diagram-gallery{gap:1.25rem;display:grid}.diagram-frame{border:1px solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-soft);border-radius:.55rem;margin:0;overflow:hidden}.diagram-frame img{object-fit:contain;background:#f6f0e4;width:100%;max-height:min(78svh,48rem);display:block}.diagram-frame-featured img{max-height:46rem}.diagram-frame figcaption{border-top:1px solid var(--color-line);padding:1rem}.diagram-frame figcaption>p:first-child{color:var(--color-ink);margin:0;font-size:18px;font-weight:900}.diagram-frame figcaption>p:nth-child(2){color:var(--color-muted);margin:.25rem 0 0;font-size:16px;line-height:1.6}.diagram-frame details{color:var(--color-muted);margin-top:.5rem;font-size:.82rem;line-height:1.55}.diagram-frame summary{cursor:pointer;color:var(--color-accent-strong);font-weight:900}.prose-flow{gap:1.4rem;max-width:58rem;display:grid}.prose-flow h3{color:var(--color-ink);margin:0 0 .45rem;font-size:18px;font-weight:900}.prose-flow p{color:var(--color-muted-strong);margin:0;font-size:16px;line-height:1.78}.prose-flow a{color:var(--color-accent-strong);text-underline-offset:.18em;overflow-wrap:anywhere;font-weight:800;text-decoration:underline;text-decoration-thickness:2px}.code-example{border-top:1px solid var(--color-line);gap:.9rem;padding-top:1.25rem;display:grid}.code-example.is-console-active{border-top-color:#67e8f97a}.code-example-heading,.cheatsheet-item{gap:.85rem;display:grid}.code-example-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;display:flex}.run-button{background:var(--color-accent);color:#07111c;border:1px solid #67e8f98c;border-radius:.45rem;justify-content:center;align-items:center;min-width:4.6rem;min-height:2.25rem;padding:0 .95rem;font-size:.82rem;font-weight:900;line-height:1;display:inline-flex}.run-button:hover{border-color:var(--color-accent-strong);background:var(--color-accent-strong)}.run-button:disabled{cursor:wait;opacity:.72}.run-button[aria-expanded=true]{box-shadow:0 0 0 3px #67e8f929}.snippet-run-summary{min-height:2.55rem;color:var(--color-muted-strong);background:#080f1bc7;border:1px solid #67e8f929;border-radius:.45rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;padding:.52rem .65rem;font-size:.84rem;font-weight:900;line-height:1.2;display:flex}.snippet-run-summary-success{border-color:#67e8f93d}.snippet-run-summary-error{border-color:#fb923c57}.snippet-run-summary button,.playground-console-actions button{min-height:2rem;color:var(--color-ink);background:#0f172ad1;border:1px solid #94a3b842;border-radius:.4rem;justify-content:center;align-items:center;padding:0 .72rem;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.snippet-run-summary button:hover,.playground-console-actions button:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.lesson-page.has-playground-console{padding-bottom:23rem}.playground-console{z-index:60;background:#040a12fa;border-top:1px solid #67e8f947;grid-template-rows:auto minmax(0,1fr);max-height:min(54svh,24rem);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -24px 70px #00000073}.playground-console-error{border-top-color:#fb923c7a}.playground-console-header{border-bottom:1px solid #67e8f929;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.82rem 1rem;display:flex}.playground-console-title{flex:14rem;min-width:0}.playground-console-title span,.playground-console-status{color:var(--color-accent-strong);font-family:var(--font-mono-stack);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:900;line-height:1}.playground-console-error .playground-console-status{color:#fed7aa}.playground-console-title h2{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;margin:.35rem 0 0;font-size:1rem;font-weight:900;line-height:1.2;overflow:hidden}.playground-console-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.playground-console-body{min-height:8rem;overflow:auto}.playground-console-body pre{color:var(--color-muted-strong);font-family:var(--font-mono-stack);white-space:pre-wrap;margin:0;padding:1rem;font-size:.84rem;line-height:1.65}.code-example-heading p,.cheatsheet-item p{color:var(--color-muted);margin:.35rem 0 0;font-size:16px;line-height:1.65}.pill-row,.inline-heading{flex-wrap:wrap;gap:.5rem}.practice-grid{gap:1.8rem;padding-top:1.35rem;display:grid}.qa-list{gap:1rem;margin-top:.85rem;display:grid}.qa-list p{color:var(--color-muted);margin:.25rem 0 0;font-size:16px;line-height:1.65}.qa-list .exercise-goal{color:var(--color-accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.lesson-nav{border-top:1px solid var(--color-line);gap:.75rem;margin-top:3rem;padding-top:1.25rem;display:grid}.lesson-nav a{border:1px solid var(--color-line);background:#111827b8;border-radius:.55rem;gap:.24rem;padding:1rem;font-weight:900;line-height:1.35;display:grid}.lesson-nav a span{color:var(--color-muted);font-family:var(--font-mono-stack);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.lesson-nav a:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.diagram-gallery{margin-top:2rem}.glossary-list{border-top:1px solid var(--color-line);margin:2rem 0 0;display:grid}.glossary-list div{border-bottom:1px solid var(--color-line);gap:.28rem;padding:1.05rem 0;display:grid}.glossary-list dt{color:var(--color-ink);font-size:18px;font-weight:900}.glossary-list dd{color:var(--color-muted);margin:0;font-size:16px;line-height:1.65}.cheatsheet-list{margin-top:2rem}.cheatsheet-item{grid-template-columns:minmax(0,1fr);padding-top:1.25rem}@media (width<=520px){.header-inner{gap:.65rem}.header-brand-link .brand-title{display:none}.brand-mark{width:3.75rem;height:1.45rem}.top-nav{gap:.1rem}.top-nav a{padding:.45rem .5rem;font-size:.78rem}.reader-page{padding-top:1rem}.course-hero h1,.reader-header h1{font-size:42px}.lesson-page.has-playground-console{padding-bottom:25rem}.playground-console{border-radius:.75rem .75rem 0 0;max-height:62svh}.playground-console-header{align-items:flex-start}.playground-console-actions{flex:100%;justify-content:space-between}.playground-console-body pre{font-size:.78rem}}@media (width>=640px){.header-inner{padding:.85rem 1.35rem}.course-main{padding:1.5rem}.stat-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.module-row{grid-template-columns:7.5rem minmax(0,1fr) 6rem}.lesson-row{grid-template-columns:3.5rem minmax(0,1fr)}.code-example-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.code-example-actions{justify-content:flex-end}.lesson-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-nav a:last-child{text-align:right}}@media (width>=900px){.module-overview,.practice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.diagram-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.glossary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}.cheatsheet-item{grid-template-columns:minmax(14rem,.35fr) minmax(0,1fr);gap:1.5rem}}@media (width>=1100px){.site-header{margin-left:var(--sidebar-width)}.header-brand-link{display:none}.header-inner{min-height:var(--header-height);justify-content:flex-start;padding:0 1.75rem}.course-sidebar{z-index:50;width:var(--sidebar-width);border-right:1px solid var(--color-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090e19f5;display:block;position:fixed;inset:0 auto 0 0}.course-sidebar:after{pointer-events:none;content:"";background:linear-gradient(#080d1800,#080d18f5);height:3.25rem;position:absolute;bottom:0;left:0;right:0}.course-main{margin-left:var(--sidebar-width);padding:0 2rem}.playground-console{left:var(--sidebar-width)}.mobile-course-index{display:none}.reader-page{padding-top:3.25rem}}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.min-h-screen{min-height:100vh}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.bg-canvas{background-color:var(--color-canvas)}.text-ink{color:var(--color-ink)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Larsseit;src:url(/larsseit-thin.woff2)format("woff2");font-display:block;font-style:normal;font-weight:100 300}@font-face{font-family:Larsseit;src:url(/larsseit-regular.woff2)format("woff2");font-display:block;font-style:normal;font-weight:400}@font-face{font-family:Larsseit;src:url(/larsseit-medium.woff2)format("woff2");font-display:block;font-style:normal;font-weight:500 600}@font-face{font-family:Larsseit;src:url(/larsseit-bold.woff2)format("woff2");font-display:block;font-style:normal;font-weight:700 900}@font-face{font-family:Magnat Text;src:url(/magnat-text.woff2)format("woff2");font-display:block;font-style:normal;font-weight:700 900}:root{--font-larsseit:"Larsseit";--font-magnat-text:"Magnat Text";--font-sans-stack:var(--font-larsseit), ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-title-stack:var(--font-larsseit), ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-hero-stack:var(--font-magnat-text), var(--font-larsseit), ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono-stack:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--sidebar-width:319px;--sidebar-marker-width:34px;--header-height:4.5rem;--color-canvas:#070b14;--color-ink:#f8fafc;--color-paper:#0b111d;--color-surface:#111827;--color-surface-strong:#1c2637;--color-line:#94a3b82e;--color-muted:#a9b4c7;--color-muted-strong:#c9d2df;--color-accent:#67e8f9;--color-accent-strong:#9beeff;--color-warning:#fb923c;--color-purple:#a78bfa;--color-gold:#fbbf24;--shadow-soft:0 22px 70px #00000052}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
