.labs{color:hsl(var(--panel));font-size:16px;line-height:1.75;padding-bottom:1px;overflow-wrap:break-word}.labs a{text-decoration:none}.labs h1,.labs h2,.labs h3{font-family:var(--font-pixel),monospace;font-weight:400;letter-spacing:0;line-height:1.7;text-wrap:balance}.labs dl,.labs figure,.labs p{margin:0}.lab-wrap{width:min(1280px,calc(100% - 64px));margin-inline:auto}.lab-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-block:24px;border-bottom:2px solid hsl(var(--panel)/.3)}.lab-brand{display:inline-flex;align-items:center;gap:20px;min-width:0}.lab-brand-name{font-family:var(--font-pixel),monospace;font-size:30px;line-height:1.7}.lab-header nav{display:flex;flex-wrap:wrap;gap:10px}.lab-header nav a{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));padding:.5rem .75rem;font-family:var(--font-pixel),monospace;font-size:10px;line-height:1.25rem;color:hsl(var(--foreground));--tw-shadow:2px 2px 0 hsl(var(--border));--tw-shadow-colored:2px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lab-header nav a:hover{background-color:hsl(var(--warning))}.lab-skip{position:fixed;top:-100px;left:20px;padding:12px 20px;background:hsl(var(--panel));color:hsl(var(--foreground));z-index:100}.lab-skip:focus{top:12px}.lab-eyebrow{font-family:var(--font-pixel),monospace;font-size:10px;line-height:2;color:hsl(var(--warning))}.lab-intro{padding-block:30px}.lab-intro h1{font-size:clamp(22px,2.8vw,36px);margin-block:14px 20px;max-width:1000px}.lab-intro-copy p{max-width:780px;color:hsl(var(--panel)/.85)}.lab-date{display:block;font-size:12px;margin-top:14px;color:hsl(var(--panel)/.8)}.lab-feature{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));color:hsl(var(--foreground));--tw-shadow:4px 4px 0 hsl(var(--border));--tw-shadow-colored:4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--panel));--tw-shadow:var(--tw-shadow-colored);display:grid;grid-template-columns:1fr 1.2fr}.lab-feature-copy{padding:28px;align-self:center}.lab-project-label{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px}.lab-status{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel-strong));color:hsl(var(--foreground));padding:3px 8px;font-size:11px;line-height:1.6}.lab-status-wip{background:hsl(var(--warning))}.lab-feature h2{font-size:21px;margin:22px 0 16px}.lab-feature p{color:hsl(var(--muted-foreground));font-size:15px}.lab-read{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--warning));color:hsl(var(--foreground));--tw-shadow:2px 2px 0 hsl(var(--border));--tw-shadow-colored:2px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:inline-flex;align-items:center;gap:24px;padding:8px 12px;margin-top:24px;font-size:13px;font-weight:600}.lab-feature-image{position:relative;min-width:0}.lab-feature-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lab-image-label{position:absolute;bottom:12px;left:12px;background:hsl(var(--background)/.94);color:hsl(var(--panel));border:1px solid hsl(var(--panel)/.4);padding:4px 9px;font-size:11px;pointer-events:none}.lab-section-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:14px;margin-block:34px 20px}.lab-section-heading h2{font-size:18px;margin:8px 0 0}.lab-section-heading>p{font-size:13px;color:hsl(var(--panel)/.85)}.lab-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lab-project-card{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));color:hsl(var(--foreground));--tw-shadow:4px 4px 0 hsl(var(--border));--tw-shadow-colored:4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--panel));--tw-shadow:var(--tw-shadow-colored);padding:20px}.lab-card-image{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;border:2px solid hsl(var(--border));margin-bottom:20px}.lab-card-image img{width:100%;height:auto}.lab-project-card h3,.lab-waw-feature h3{font-size:17px;margin-block:18px 14px}.lab-project-card h3 a{display:flex;gap:15px;justify-content:space-between}.lab-project-card h3 a:hover,.lab-waw-feature h3 a:hover{color:hsl(var(--primary))}.lab-project-card>p,.lab-waw-feature>div>p:not(.lab-eyebrow){color:hsl(var(--muted-foreground));font-size:15px}.lab-waw-feature{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));color:hsl(var(--foreground));--tw-shadow:4px 4px 0 hsl(var(--border));--tw-shadow-colored:4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--panel));--tw-shadow:var(--tw-shadow-colored);display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;padding:24px;margin-top:24px;align-items:center}.lab-waw-feature .lab-eyebrow{color:hsl(var(--muted-foreground))}.lab-text-link{color:hsl(var(--warning));font-size:14px;font-weight:600;text-decoration:underline!important;text-underline-offset:4px}.lab-waw-feature .lab-text-link{color:hsl(var(--foreground));margin-top:16px}.lab-editor-note{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));color:hsl(var(--foreground));--tw-shadow:4px 4px 0 hsl(var(--border));--tw-shadow-colored:4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--panel));--tw-shadow:var(--tw-shadow-colored);display:grid;grid-template-columns:1fr 2fr;gap:15px 30px;margin-block:30px;padding:24px}.lab-editor-note h2{font-size:16px}.lab-editor-note p{color:hsl(var(--muted-foreground))}.lab-editor-note a{grid-column:2;text-decoration:underline;font-size:14px}.lab-colophon{border-top:2px solid hsl(var(--panel)/.3);padding-block:22px;display:flex;justify-content:space-between;gap:36px;font-size:12px;color:hsl(var(--panel)/.85)}.lab-colophon p{max-width:600px}.lab-colophon a{text-decoration:underline;text-underline-offset:3px}.lab-article{max-width:1152px;padding-top:26px}.lab-back{font-size:13px;color:hsl(var(--warning))}.lab-article-header{margin-block:24px}.lab-article-header>.lab-project-label{justify-content:flex-start;gap:18px}.lab-article-header h1{font-size:clamp(22px,2.6vw,34px);margin-block:20px}.lab-article-deck{font-size:16px;max-width:820px;color:hsl(var(--panel)/.85)}.labs .lab-byline{font-size:12px;margin-top:18px;color:hsl(var(--panel)/.8)}.lab-facts{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));color:hsl(var(--foreground));--tw-shadow:4px 4px 0 hsl(var(--border));--tw-shadow-colored:4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--panel));--tw-shadow:var(--tw-shadow-colored);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:20px;margin-bottom:24px!important}.lab-facts dt{font-size:11px;font-family:var(--font-pixel),monospace;line-height:1.8;margin-bottom:8px}.lab-facts dd{margin:0;font-size:13px;color:hsl(var(--muted-foreground))}.lab-video video{display:block;width:100%;aspect-ratio:16/9;border:2px solid hsl(var(--border));background:hsl(var(--background))}.labs figcaption{color:inherit;opacity:.85;font-size:12px;line-height:1.7;margin-top:12px;max-width:900px}.lab-toc{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px}.lab-toc a{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));padding:.5rem .75rem;color:hsl(var(--foreground));--tw-shadow:2px 2px 0 hsl(var(--border));--tw-shadow-colored:2px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);font-size:13px}.lab-toc a:hover{background:hsl(var(--warning))}.lab-article-section{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));color:hsl(var(--foreground));--tw-shadow:4px 4px 0 hsl(var(--border));--tw-shadow-colored:4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--panel));--tw-shadow:var(--tw-shadow-colored);padding:26px;margin-block:24px;scroll-margin-top:24px}.lab-article-section>h2{font-size:19px;margin-bottom:22px}.lab-article-section>p{max-width:800px;color:hsl(var(--muted-foreground));margin-bottom:18px}.lab-article-section>p:last-child{margin-bottom:0}.lab-article-section h3{font-size:14px;margin:24px 0 14px}.lab-reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.lab-reading-grid p{color:hsl(var(--muted-foreground));font-size:15px}.lab-article-photo{overflow:hidden;border:2px solid hsl(var(--border))}.lab-article-photo img{width:100%;height:auto}.lab-article-figure{margin-block:24px!important}.lab-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-block:24px}.lab-gallery-single{grid-template-columns:1fr}.lab-gallery-technical{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.lab-gallery-technical.lab-gallery-single{grid-template-columns:minmax(0,1fr);max-width:720px}.lab-gallery-technical .lab-photo{aspect-ratio:auto}.lab-article-section :not(pre)>code{font-size:.88em;overflow-wrap:anywhere}.lab-code{max-width:100%;overflow-x:auto;padding:18px;margin-block:20px;border:2px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--panel));font-size:13px;line-height:1.7;white-space:pre;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.lab-code:focus-visible{outline:3px solid hsl(var(--warning));outline-offset:3px}.lab-memory-layout{margin-block:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid hsl(var(--border))}.lab-memory-layout>div{padding:16px}.lab-memory-layout dt{font-weight:700}.lab-memory-layout dd{margin:6px 0 0;font-size:14px}@media (max-width:700px){.lab-gallery-technical,.lab-memory-layout{grid-template-columns:minmax(0,1fr)}}.lab-photo{display:grid;place-items:center;position:relative;padding:0;width:100%;aspect-ratio:16/9;border:2px solid hsl(var(--border));background:hsl(var(--background));overflow:hidden}.lab-photo img{width:100%;height:auto}.lab-enlarge{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:30px;height:30px;background:hsl(var(--warning));color:hsl(var(--foreground));border:2px solid hsl(var(--border))}.labs .lab-photo-crop{aspect-ratio:16/9;overflow:hidden}.labs .lab-photo-crop img{width:150%;height:auto;max-width:none}.lab-lightbox{width:min(1400px,96vw);max-width:96vw;max-height:96dvh;overflow:auto;margin:auto;padding:18px;border:3px solid hsl(var(--border));color:hsl(var(--foreground));background:hsl(var(--panel));box-shadow:4px 4px 0 hsl(var(--border))}.lab-lightbox::backdrop{background:hsl(var(--background)/.94)}.lab-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;font-size:13px}.lab-lightbox-bar button{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--warning));padding:.5rem 1rem;color:hsl(var(--foreground));--tw-shadow:2px 2px 0 hsl(var(--border));--tw-shadow-colored:2px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.lab-lightbox>img{width:100%;height:auto;max-height:72dvh;-o-object-fit:contain;object-fit:contain}.lab-lightbox>p{font-size:13px;margin-top:14px}.lab-comparison{margin-block:24px!important}.lab-comparison-images{position:relative;touch-action:pan-y;cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;aspect-ratio:16/9;overflow:hidden;border:2px solid hsl(var(--border))}.lab-comparison-images img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lab-comparison-before{position:absolute;inset:0}.lab-comparison-line{position:absolute;top:0;bottom:0;width:3px;background:hsl(var(--warning));transform:translateX(-1px);pointer-events:none}.lab-comparison-line span{position:absolute;top:46%;left:-19px;width:40px;height:40px;display:grid;place-items:center;background:hsl(var(--warning));color:hsl(var(--foreground));border:2px solid hsl(var(--border))}.lab-image-label-left{bottom:auto;top:12px}.lab-image-label-right{bottom:auto;top:12px;left:auto;right:12px}.lab-comparison-control{display:flex;align-items:center;gap:18px;padding-block:16px 4px;font-size:12px}.lab-comparison-control input{flex:1;min-width:80px;accent-color:hsl(var(--primary))}.lab-detail{border-block:2px solid hsl(var(--border)/.25);padding-block:16px;margin-block:24px;font-size:15px}.lab-detail summary{cursor:pointer;font-weight:600;color:hsl(var(--foreground))}.lab-detail p{color:hsl(var(--muted-foreground));max-width:800px;margin-top:14px}.lab-coverage,.lab-detail .lab-gallery{grid-template-columns:1fr 1fr}.lab-coverage{display:grid;gap:30px}.lab-coverage ul{list-style:disc;padding-left:20px;margin-block:15px}.lab-coverage li{color:hsl(var(--muted-foreground));font-size:15px;margin-bottom:12px;padding-left:3px}.lab-article-end{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;border-top:2px solid hsl(var(--panel)/.3);padding-top:24px;margin-block:30px;font-size:12px;color:hsl(var(--panel)/.85)}.lab-article-end p{margin-bottom:14px}.lab-article-end a{color:hsl(var(--warning));text-decoration:underline;text-underline-offset:3px}.lab-end-links{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.lab-diagram{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel));color:hsl(var(--foreground));--tw-shadow:4px 4px 0 hsl(var(--border));--tw-shadow-colored:4px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);--tw-shadow-color:hsl(var(--panel));--tw-shadow:var(--tw-shadow-colored);padding:22px}.lab-diagram-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:12px;margin-bottom:16px}.lab-diagram-heading>span{font-family:var(--font-pixel),monospace;font-size:11px}.lab-diagram-heading [role=group]{display:flex;flex-wrap:wrap;gap:8px}.lab-diagram-heading button{border-width:2px;border-color:hsl(var(--border));background-color:hsl(var(--panel-strong));color:hsl(var(--foreground));--tw-shadow:2px 2px 0 hsl(var(--border));--tw-shadow-colored:2px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);padding:7px 12px;font-size:12px}.lab-diagram-heading button[aria-pressed=true]{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.lab-diagram-scroll{overflow-x:auto;overscroll-behavior-inline:contain}.lab-diagram svg{display:block;width:100%;min-width:760px;height:auto;font-family:var(--font-inter),Arial,sans-serif}.lab-host{fill:hsl(var(--panel-strong));stroke:hsl(var(--border));stroke-width:2;stroke-dasharray:4 5}.lab-node{fill:hsl(var(--panel));stroke:hsl(var(--border));stroke-width:2}.lab-node-accent{fill:hsl(var(--warning))}.lab-node-dot{fill:hsl(var(--primary))}.lab-node-title{fill:hsl(var(--foreground));font-size:15px;font-weight:700}.lab-node-detail{fill:hsl(var(--foreground));font-size:12px}.lab-diagram-label{fill:hsl(var(--foreground));font-size:11px;font-weight:700}.lab-wire{fill:none;stroke:hsl(var(--foreground));stroke-width:1.5}.lab-wire-dashed{stroke-dasharray:5 5}.lab-wire-label{font-size:10px}.lab-arrow,.lab-wire-label{fill:hsl(var(--foreground))}.labs .lab-diagram-caption{font-size:12px;color:hsl(var(--muted-foreground));margin-top:14px}.lab-test-loop{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border:2px solid hsl(var(--border));margin-block:24px}.lab-test-loop li{background:hsl(var(--panel-strong));color:hsl(var(--foreground));padding:18px;border-right:2px solid hsl(var(--border))}.lab-test-loop li:last-child{border-right:0}.lab-step-number{background:hsl(var(--warning));padding:4px 7px;border:1px solid hsl(var(--border));font-size:12px}.lab-test-loop h3{font-size:11px;margin:20px 0 12px}.lab-test-loop p{font-size:13px}.lab-revive{border:2px solid hsl(var(--border));padding:26px;color:hsl(var(--foreground));background:hsl(var(--panel-strong));text-align:center}.lab-revive-symbol{display:grid;place-items:center;border:2px solid hsl(var(--border));background:hsl(var(--warning));width:54px;height:54px;font-size:40px;line-height:1;margin:0 auto 15px}.lab-revive>span{font-family:var(--font-pixel),monospace;font-size:10px;line-height:2}.lab-revive-route{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}.lab-revive-route b{font-size:16px}.lab-revive-route i{font-style:normal}.lab-revive>p{font-size:12px;margin-top:12px}.lab-stack-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;margin-block:22px!important}.lab-stack-list>div{border-top:2px solid hsl(var(--border)/.25);padding-block:20px}.lab-stack-list dt{font-family:var(--font-pixel),monospace;font-size:12px;line-height:1.8;margin-bottom:12px}.lab-stack-list dd{color:hsl(var(--muted-foreground));font-size:15px;margin:0}@media (max-width:1000px){.lab-wrap{width:calc(100% - 48px)}.lab-brand-name{font-size:24px}.lab-feature-copy{padding:22px}.lab-feature h2{font-size:18px}.lab-test-loop{grid-template-columns:1fr 1fr}.lab-test-loop li:nth-child(2){border-right:0}.lab-test-loop li:nth-child(-n+2){border-bottom:2px solid hsl(var(--border))}}@media (max-width:760px){.lab-wrap{width:calc(100% - 32px)}.lab-header{align-items:flex-start;gap:20px;padding-block:20px}.lab-brand{flex-direction:column;align-items:flex-start;gap:14px}.lab-brand-name{font-size:clamp(18px,5.2vw,24px)}.lab-header nav{gap:8px}.lab-header nav a{padding:10px 8px}.lab-intro{padding-block:24px}.lab-intro h1{font-size:22px}.lab-feature{grid-template-columns:1fr}.lab-feature-image{grid-row:1;aspect-ratio:16/9}.lab-feature-copy{padding:20px}.lab-feature h2{font-size:19px}.lab-editor-note,.lab-project-grid,.lab-waw-feature{grid-template-columns:1fr;gap:24px}.lab-editor-note,.lab-project-card,.lab-waw-feature{padding:18px}.lab-project-card h3,.lab-waw-feature h3{font-size:16px}.lab-editor-note a{grid-column:1}.lab-colophon{flex-direction:column;gap:16px}.lab-article-header h1{font-size:23px}.lab-facts{grid-template-columns:1fr 1fr;gap:18px;padding:16px}.lab-facts dt{font-size:10px}.lab-article-section{padding:18px}.lab-article-section>h2{font-size:17px}.lab-coverage,.lab-reading-grid,.lab-stack-list{grid-template-columns:1fr;gap:0}.lab-detail .lab-gallery,.lab-gallery{grid-template-columns:1fr;gap:24px}.lab-comparison-control{flex-wrap:wrap;gap:10px}.lab-comparison-control>span{width:100%}.lab-image-label-left,.lab-image-label-right{top:7px;font-size:10px;padding:3px 6px}.lab-image-label-left{left:7px}.lab-image-label-right{right:7px}.lab-article-end{grid-template-columns:1fr;gap:12px}.lab-diagram{padding:14px}.lab-lightbox{padding:12px}}.lab-table-scroll{max-width:100%;overflow-x:auto;margin-block:24px}.lab-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.lab-table caption{padding:0 0 12px;text-align:left;font-weight:700}.lab-table td,.lab-table th{border:2px solid hsl(var(--border));padding:12px;vertical-align:top}.lab-table thead{background:hsl(var(--panel-strong))}.lab-table tbody th{font-weight:600}.lab-table-scroll:focus-visible{outline:3px solid hsl(var(--warning));outline-offset:3px}.labs .lab-photo-vulkan{aspect-ratio:4/3;display:block}.labs .lab-photo-vulkan img{position:absolute;width:300%;max-width:none;left:-15.625%;top:-20.833333%}