.ArticleLayout-module__nPszfa__page{width:100%;min-height:100vh;padding:clamp(24px, 5vw, 64px) clamp(18px, 4vw, var(--page-padding)) clamp(72px, 10vw, 140px);background:var(--color-bg);color:var(--color-text-primary)}.ArticleLayout-module__nPszfa__shell{grid-template-columns:minmax(150px,210px) minmax(0,680px) minmax(0,210px);align-items:start;column-gap:clamp(34px,7vw,96px);width:min(100%,1160px);margin:0 auto;display:grid}.ArticleLayout-module__nPszfa__article{grid-column:2;width:100%;position:relative}.ArticleLayout-module__nPszfa__tocNav{grid-column:3}.ArticleLayout-module__nPszfa__header{padding:0 0 clamp(28px,5vw,48px)}.ArticleLayout-module__nPszfa__backButton{border-radius:var(--radius-pill);color:var(--color-text-muted);background:var(--color-surface);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;transition:background-color .18s var(--ease-out), color .18s var(--ease-out), transform .18s var(--ease-out);border:0;align-items:center;gap:8px;padding:9px 16px 9px 14px;line-height:1;display:inline-flex}.ArticleLayout-module__nPszfa__arrowIcon{justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.ArticleLayout-module__nPszfa__backButton:hover{background-color:var(--color-surface-alt);color:var(--color-text-primary)}}.ArticleLayout-module__nPszfa__backButton:active{opacity:.78;transform:scale(.96)}.ArticleLayout-module__nPszfa__backButton:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px}.ArticleLayout-module__nPszfa__toc{color:var(--color-text-muted);grid-column:1;position:sticky;top:clamp(24px,5vw,64px)}.ArticleLayout-module__nPszfa__tocNav{z-index:60;flex-direction:column;align-items:flex-end;display:flex;position:fixed;top:50%;right:clamp(14px,1.8vw,26px);transform:translateY(-50%)}.ArticleLayout-module__nPszfa__tocArrowUp,.ArticleLayout-module__nPszfa__tocArrowDown{appearance:none;box-shadow:none;border-radius:var(--radius-pill);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;opacity:0;pointer-events:none;transition:opacity 80ms var(--ease-out), background-color .16s var(--ease-out), color .16s var(--ease-out), transform .16s var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;margin-right:-8px;padding:0;display:inline-flex}.ArticleLayout-module__nPszfa__tocNav:hover .ArticleLayout-module__nPszfa__tocArrowUp,.ArticleLayout-module__nPszfa__tocNav:hover .ArticleLayout-module__nPszfa__tocArrowDown{opacity:1;pointer-events:auto;transition:opacity .12s var(--ease-out), background-color .16s var(--ease-out), color .16s var(--ease-out), transform .16s var(--ease-out)}.ArticleLayout-module__nPszfa__tocNav:has(:focus-visible) .ArticleLayout-module__nPszfa__tocArrowUp{opacity:1;pointer-events:auto;transition:opacity .12s var(--ease-out), background-color .16s var(--ease-out), color .16s var(--ease-out), transform .16s var(--ease-out)}.ArticleLayout-module__nPszfa__tocNav:has(:focus-visible) .ArticleLayout-module__nPszfa__tocArrowDown{opacity:1;pointer-events:auto;transition:opacity .12s var(--ease-out), background-color .16s var(--ease-out), color .16s var(--ease-out), transform .16s var(--ease-out)}@media (hover:hover){.ArticleLayout-module__nPszfa__tocArrowUp:hover:not([aria-disabled]),.ArticleLayout-module__nPszfa__tocArrowDown:hover:not([aria-disabled]){color:var(--color-text-primary);background:color-mix(in oklch, var(--color-text-primary) 10%, transparent)}}.ArticleLayout-module__nPszfa__tocArrowUp:active:not([aria-disabled]),.ArticleLayout-module__nPszfa__tocArrowDown:active:not([aria-disabled]){transform:scale(.96)}.ArticleLayout-module__nPszfa__tocArrowUp[aria-disabled],.ArticleLayout-module__nPszfa__tocArrowDown[aria-disabled]{opacity:0;cursor:default}.ArticleLayout-module__nPszfa__tocNav:hover .ArticleLayout-module__nPszfa__tocArrowUp[aria-disabled],.ArticleLayout-module__nPszfa__tocNav:hover .ArticleLayout-module__nPszfa__tocArrowDown[aria-disabled]{opacity:.2;pointer-events:none}.ArticleLayout-module__nPszfa__tocNav:has(:focus-visible) .ArticleLayout-module__nPszfa__tocArrowUp[aria-disabled]{opacity:.2;pointer-events:none}.ArticleLayout-module__nPszfa__tocNav:has(:focus-visible) .ArticleLayout-module__nPszfa__tocArrowDown[aria-disabled]{opacity:.2;pointer-events:none}.ArticleLayout-module__nPszfa__tocArrowUp:focus-visible,.ArticleLayout-module__nPszfa__tocArrowDown:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:3px;border-radius:var(--radius-pill)}.ArticleLayout-module__nPszfa__tocRow:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:3px;border-radius:6px}.ArticleLayout-module__nPszfa__tocLines{flex-direction:column;align-items:flex-end;gap:2px;margin:0;padding:8px 0;list-style:none;display:flex}.ArticleLayout-module__nPszfa__tocRow{appearance:none;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;width:40px;height:12px;padding:0;display:flex;position:relative}.ArticleLayout-module__nPszfa__tocLine{border-radius:var(--radius-pill);height:1px;width:var(--w,12px);background:color-mix(in oklch, var(--color-text-muted) 50%, transparent);transition:width .24s var(--ease-drawer), background-color .16s var(--ease-out);display:block}.ArticleLayout-module__nPszfa__tocRow:hover .ArticleLayout-module__nPszfa__tocLine,.ArticleLayout-module__nPszfa__tocRow:focus-visible .ArticleLayout-module__nPszfa__tocLine,.ArticleLayout-module__nPszfa__tocRowActive .ArticleLayout-module__nPszfa__tocLine{background:var(--color-text-primary);width:16px;height:2px}.ArticleLayout-module__nPszfa__tocTip{font-family:var(--font-sans);font-size:var(--text-base);white-space:nowrap;border-radius:var(--radius-pill);background:var(--color-surface-alt);border:1px solid color-mix(in oklch, var(--color-text-primary) 10%, transparent);box-shadow:var(--shadow-soft);color:var(--color-text-primary);opacity:0;pointer-events:none;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out);padding:9px 16px;line-height:1;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)translate(4px)}.ArticleLayout-module__nPszfa__tocRow:hover .ArticleLayout-module__nPszfa__tocTip,.ArticleLayout-module__nPszfa__tocRow:focus-visible .ArticleLayout-module__nPszfa__tocTip{opacity:1;color:var(--color-text-primary);transform:translateY(-50%)translate(0)}.ArticleLayout-module__nPszfa__header h1{font-size:clamp(24px,3vw,32px);line-height:1.1;font-weight:var(--font-regular);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:22px 0 12px}.ArticleLayout-module__nPszfa__description{max-width:55ch;color:var(--color-text-primary);font-size:var(--text-md);text-wrap:pretty;margin:0;line-height:1.45}.ArticleLayout-module__nPszfa__tags{flex-wrap:wrap;gap:10px;margin:20px 0 22px;padding:0;list-style:none;display:flex}.ArticleLayout-module__nPszfa__metaRow{gap:clamp(34px,6vw,64px);margin-top:24px;display:flex}.ArticleLayout-module__nPszfa__metaItem{flex-direction:column;gap:8px;display:flex}.ArticleLayout-module__nPszfa__metaLabel{color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-xs);line-height:1}.ArticleLayout-module__nPszfa__metaValue{color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-wide);line-height:1.2}.ArticleLayout-module__nPszfa__tags li{border:1px solid color-mix(in oklch, var(--color-text-muted) 55%, transparent);border-radius:var(--radius-pill);color:var(--color-text-muted);font-family:var(--font-sans);font-weight:var(--font-regular);font-size:13.5px;line-height:var(--lh-subhead);letter-spacing:var(--tracking-wide);white-space:nowrap;background:0 0;align-items:center;padding:7px 14px;display:inline-flex}.ArticleLayout-module__nPszfa__content{font-size:var(--text-sm);line-height:1.6}@media (prefers-reduced-motion:no-preference){.ArticleLayout-module__nPszfa__header>*,.ArticleLayout-module__nPszfa__content>*{opacity:0;animation:ArticleLayout-module__nPszfa__articleStaggerIn .27s var(--ease-out) forwards;transform:translateY(8px)}.ArticleLayout-module__nPszfa__header>:first-child{animation-delay:0s}.ArticleLayout-module__nPszfa__header>:nth-child(2){animation-delay:50ms}.ArticleLayout-module__nPszfa__header>:nth-child(3){animation-delay:.1s}.ArticleLayout-module__nPszfa__header>:nth-child(4){animation-delay:.15s}.ArticleLayout-module__nPszfa__header>:nth-child(5){animation-delay:.19s}.ArticleLayout-module__nPszfa__content>:first-child{animation-delay:.16s}.ArticleLayout-module__nPszfa__content>:nth-child(2){animation-delay:.2s}.ArticleLayout-module__nPszfa__content>:nth-child(3){animation-delay:.24s}.ArticleLayout-module__nPszfa__content>:nth-child(4){animation-delay:.28s}.ArticleLayout-module__nPszfa__content>:nth-child(5){animation-delay:.32s}.ArticleLayout-module__nPszfa__content>:nth-child(6){animation-delay:.36s}.ArticleLayout-module__nPszfa__content>:nth-child(7){animation-delay:.39s}.ArticleLayout-module__nPszfa__content>:nth-child(8){animation-delay:.41s}.ArticleLayout-module__nPszfa__content>:nth-child(n+9){animation-delay:.42s}}@media (prefers-reduced-motion:reduce){.ArticleLayout-module__nPszfa__header>*,.ArticleLayout-module__nPszfa__content>*{animation:ArticleLayout-module__nPszfa__articleFadeIn .18s var(--ease-out) both}}@keyframes ArticleLayout-module__nPszfa__articleStaggerIn{to{opacity:1;transform:none}}@keyframes ArticleLayout-module__nPszfa__articleFadeIn{0%{opacity:0}}.ArticleLayout-module__nPszfa__content h2{font-size:var(--text-md);line-height:var(--lh-tight);font-weight:var(--font-semibold);color:var(--color-text-primary);text-wrap:balance;margin:clamp(38px,6vw,58px) 0 12px;scroll-margin-top:32px}.ArticleLayout-module__nPszfa__content h3,.ArticleLayout-module__nPszfa__content h4,.ArticleLayout-module__nPszfa__subheading{font-size:var(--text-xs);line-height:var(--lh-tight);color:var(--color-text-primary);text-wrap:balance;margin:24px 0 10px;font-weight:700}.ArticleLayout-module__nPszfa__content p{font-size:var(--text-sm);line-height:var(--lh-body);color:var(--color-text-primary);text-wrap:pretty;margin:0 0 16px}.ArticleLayout-module__nPszfa__content strong,.ArticleLayout-module__nPszfa__content b{color:var(--color-text-primary);font-weight:700}.ArticleLayout-module__nPszfa__content a{text-underline-offset:.16em;text-decoration:underline;text-decoration-thickness:from-font}.ArticleLayout-module__nPszfa__content ul{margin:0 0 24px;padding-left:1.15em}.ArticleLayout-module__nPszfa__content li{font-size:var(--text-sm);line-height:var(--lh-body);color:var(--color-text-primary);margin-bottom:10px;padding-left:.2em}.ArticleLayout-module__nPszfa__content li::marker{color:var(--color-text-muted)}.ArticleLayout-module__nPszfa__content li strong{color:var(--color-text-primary)}[data-theme=dark] .ArticleLayout-module__nPszfa__content li strong{color:var(--color-text-primary)}.ArticleLayout-module__nPszfa__content blockquote{border-left:2px solid color-mix(in oklch, var(--color-text-muted) 45%, transparent);color:var(--color-text-muted);margin:24px 0;padding:2px 0 2px 18px;font-style:italic}.ArticleLayout-module__nPszfa__content blockquote p{margin:0}.ArticleLayout-module__nPszfa__content :not(pre)>code{background:var(--color-surface-alt);color:var(--color-text-primary);font-family:var(--font-mono);border-radius:6px;padding:2px 6px;font-size:.88em}.ArticleLayout-module__nPszfa__content hr{background:var(--color-surface-alt);border:0;height:1px;margin:clamp(38px,6vw,58px) 0}.ArticleLayout-module__nPszfa__acknowledgements{color:var(--color-text-muted);margin-top:clamp(44px,8vw,76px)}.ArticleLayout-module__nPszfa__acknowledgements h2,.ArticleLayout-module__nPszfa__acknowledgements p{color:var(--color-text-muted)}@media (max-width:1020px){.ArticleLayout-module__nPszfa__shell{width:min(100%,640px);display:block}.ArticleLayout-module__nPszfa__toc,.ArticleLayout-module__nPszfa__tocNav{display:none}}@media (min-width:1021px){.ArticleLayout-module__nPszfa__tocNav{display:flex}}@media (max-width:640px){.ArticleLayout-module__nPszfa__article{margin:0}.ArticleLayout-module__nPszfa__header h1{font-size:22px}}
.ModalCloseButton-module__YnISnG__closeButton{z-index:1;border-radius:var(--radius-pill);width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;transition:background-color .16s var(--ease-out), transform .16s var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:fixed;top:clamp(18px,3vw,32px);right:clamp(18px,3vw,32px)}@media (hover:hover){.ModalCloseButton-module__YnISnG__closeButton:hover{background:var(--color-surface)}}@media (hover:none){.ModalCloseButton-module__YnISnG__closeButton{background:var(--color-surface)}}.ModalCloseButton-module__YnISnG__closeButton:active{transform:scale(.96)}.ModalCloseButton-module__YnISnG__closeButton:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px}
.ArticleVisual-module__YRnC_W__figure{width:100%;margin:clamp(26px,5vw,44px) 0}.ArticleVisual-module__YRnC_W__header{margin:clamp(18px,4vw,30px) 0 0}.ArticleVisual-module__YRnC_W__frame{aspect-ratio:16/9;border-radius:var(--radius-card);cursor:zoom-in;outline:none;width:100%;display:block;position:relative;overflow:hidden}.ArticleVisual-module__YRnC_W__neutral{background:var(--color-surface)}.ArticleVisual-module__YRnC_W__blue{background:#7eacdf;background:lab(68.3953% -5.63628 -31.2984)}.ArticleVisual-module__YRnC_W__green{background:#93cea9;background:lab(77.8686% -25.4598 11.8372)}.ArticleVisual-module__YRnC_W__warm{background:#e9c399;background:lab(81.3879% 9.7827 26.2495)}[data-theme=dark] .ArticleVisual-module__YRnC_W__neutral{background:var(--color-surface)}.ArticleVisual-module__YRnC_W__frame:focus-visible,.ArticleVisual-module__YRnC_W__lightbox{z-index:200;background:color-mix(in oklch, var(--color-bg) 70%, transparent);opacity:0;-webkit-backdrop-filter:blur()saturate();cursor:zoom-out;transition:opacity .26s var(--ease-out), background-color .26s var(--ease-out), backdrop-filter .26s var(--ease-out), -webkit-backdrop-filter .26s var(--ease-out);place-items:center;padding:clamp(18px,4vw,56px);display:grid;position:fixed;inset:0}.ArticleVisual-module__YRnC_W__lightboxOpen{opacity:1;-webkit-backdrop-filter:blur(28px)saturate(1.4)}.ArticleVisual-module__YRnC_W__zoomedFrame{aspect-ratio:16/9;border-radius:var(--radius-card);border:1px solid color-mix(in oklch, var(--color-text-primary) 8%, transparent);width:min(100%,980px);max-height:calc(100vh - 112px);box-shadow:var(--shadow-card);cursor:default;opacity:0;transition:opacity .28s var(--ease-drawer), transform .28s var(--ease-drawer);transform:scale(.97)translateY(10px)}.ArticleVisual-module__YRnC_W__zoomedFrameOpen{opacity:1;transform:scale(1)translateY(0)}@media (max-width:900px){.ArticleVisual-module__YRnC_W__lightboxOpen{-webkit-backdrop-filter:blur(14px)saturate(1.2)}}.ArticleVisual-module__YRnC_W__caption{color:var(--color-text-muted);text-align:center;text-wrap:pretty;margin-top:10px;font-size:11px;line-height:1.45}@media (prefers-reduced-motion:reduce){.ArticleVisual-module__YRnC_W__lightbox{transition:opacity .18s var(--ease-out)}.ArticleVisual-module__YRnC_W__zoomedFrame{transition:opacity .18s var(--ease-out);transform:none}}@media (prefers-reduced-transparency:reduce){.ArticleVisual-module__YRnC_W__lightbox,.ArticleVisual-module__YRnC_W__lightboxOpen{background:color-mix(in oklch, var(--color-bg) 94%, transparent);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){.ArticleVisual-module__YRnC_W__lightbox,.ArticleVisual-module__YRnC_W__lightboxOpen{background:color-mix(in oklch, var(--color-bg) 96%, transparent);-webkit-backdrop-filter:none}.ArticleVisual-module__YRnC_W__zoomedFrame{border:1px solid var(--color-text-primary);box-shadow:none}}
.LabGrid-module__zG98eW__loop{gap:clamp(10px,1.2vw,16px);display:grid}.LabGrid-module__zG98eW__loopHome{padding-top:clamp(18px,3vw,36px)}.LabGrid-module__zG98eW__grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(10px,1.2vw,16px);width:min(100%,1680px);margin:0 auto;display:grid}.LabGrid-module__zG98eW__column{flex-direction:column;gap:clamp(10px,1.2vw,16px);display:flex}.LabGrid-module__zG98eW__card{border-radius:var(--radius-inner);background:var(--color-surface);cursor:zoom-in;content-visibility:auto;width:100%;min-height:0;transition:background-color var(--transition-slow);border:0;outline:none;display:block;position:relative;overflow:hidden}.LabGrid-module__zG98eW__wide{contain-intrinsic-size:auto 266px;height:266px}.LabGrid-module__zG98eW__tall{contain-intrinsic-size:auto 454px;height:454px}.LabGrid-module__zG98eW__poster{contain-intrinsic-size:auto 548px;height:548px}.LabGrid-module__zG98eW__cardMeta{color:var(--color-text-primary);opacity:0;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out);justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:absolute;bottom:12px;left:14px;right:14px;transform:translateY(4px)}.LabGrid-module__zG98eW__title{font-weight:500}.LabGrid-module__zG98eW__cardMeta span{font-size:var(--text-xs);letter-spacing:0;white-space:nowrap;line-height:1.1}@media (hover:hover){.LabGrid-module__zG98eW__card:hover .LabGrid-module__zG98eW__cardMeta{opacity:1;transform:translateY(0)}}.LabGrid-module__zG98eW__card:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px}.LabGrid-module__zG98eW__card:focus-visible .LabGrid-module__zG98eW__cardMeta{opacity:1;transform:translateY(0)}.LabGrid-module__zG98eW__lightbox{z-index:200;padding:24px clamp(20px, 4vw, var(--page-padding)) 0;background:var(--color-bg);opacity:0;cursor:zoom-out;transition:opacity .2s var(--ease-out), background-color .2s var(--ease-out);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.LabGrid-module__zG98eW__lightboxHome{padding-inline:clamp(14px,4vw,58px)}.LabGrid-module__zG98eW__lightboxOpen{opacity:1}.LabGrid-module__zG98eW__sheet{--hero-h:clamp(600px, 82vh, 840px);gap:var(--space-4);width:min(100%,1680px);padding-bottom:var(--space-5);cursor:default;flex-direction:column;margin:0 auto;display:flex}.LabGrid-module__zG98eW__topBar,.LabGrid-module__zG98eW__thumbStrip,.LabGrid-module__zG98eW__sheetMeta{opacity:0;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);transform:translateY(10px)}.LabGrid-module__zG98eW__lightboxOpen .LabGrid-module__zG98eW__topBar{opacity:1;transition-delay:60ms;transform:translateY(0)}.LabGrid-module__zG98eW__topBar{flex-shrink:0;justify-content:flex-end;align-items:center;min-height:36px;display:flex}.LabGrid-module__zG98eW__topBar>button{z-index:auto;flex-shrink:0;width:36px;height:36px;position:static;top:auto;right:auto}.LabGrid-module__zG98eW__sheetBody{justify-content:flex-start;gap:var(--space-6);align-items:start;width:100%;display:flex}.LabGrid-module__zG98eW__sheetHeroCol{background:0 0;flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.LabGrid-module__zG98eW__heroTrack{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;grid-auto-columns:100%;grid-auto-flow:column;height:100%;display:grid;overflow:auto hidden}.LabGrid-module__zG98eW__heroTrack::-webkit-scrollbar{display:none}.LabGrid-module__zG98eW__heroTrack:active{cursor:grabbing}.LabGrid-module__zG98eW__heroPane{scroll-snap-align:center;scroll-snap-stop:always;background:var(--color-surface-alt);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.LabGrid-module__zG98eW__heroPane:nth-child(2n){background:var(--color-surface)}.LabGrid-module__zG98eW__heroPaneIndex{font-size:var(--text-sm);color:var(--color-text-muted);opacity:0;transition:opacity .18s var(--ease-out);-webkit-user-select:none;user-select:none;pointer-events:none}.LabGrid-module__zG98eW__sheetSettled .LabGrid-module__zG98eW__heroPaneIndex{opacity:.7;transition-delay:.2s}.LabGrid-module__zG98eW__hero{border-radius:var(--radius-card);background:var(--color-surface-alt);transform-origin:50%;will-change:transform;width:100%;position:relative;overflow:hidden}.LabGrid-module__zG98eW__hero_wide{width:min(100%, calc(var(--hero-h) * 1.6));aspect-ratio:16/10;margin-inline:auto}.LabGrid-module__zG98eW__hero_tall{width:auto;height:var(--hero-h);aspect-ratio:4/5;max-width:calc(var(--hero-h) * .8);margin-inline:auto}.LabGrid-module__zG98eW__hero_poster{width:auto;height:var(--hero-h);aspect-ratio:3/4;max-width:calc(var(--hero-h) * .75);margin-inline:auto}.LabGrid-module__zG98eW__sheetMeta{align-items:flex-start;gap:var(--space-4);text-align:left;flex-direction:column;flex-shrink:0;width:280px;padding-top:0;display:flex}.LabGrid-module__zG98eW__lightboxOpen .LabGrid-module__zG98eW__sheetMeta,.LabGrid-module__zG98eW__sheetSettled .LabGrid-module__zG98eW__sheetMeta{opacity:1;transform:translateY(0)}.LabGrid-module__zG98eW__lightboxOpen .LabGrid-module__zG98eW__thumbStrip,.LabGrid-module__zG98eW__lightboxOpen .LabGrid-module__zG98eW__sheetMeta{opacity:1;transition-delay:.12s;transform:translateY(0)}.LabGrid-module__zG98eW__lightboxClosing{background-color:#0000}.LabGrid-module__zG98eW__lightboxClosing .LabGrid-module__zG98eW__topBar,.LabGrid-module__zG98eW__lightboxClosing .LabGrid-module__zG98eW__thumbStrip,.LabGrid-module__zG98eW__lightboxClosing .LabGrid-module__zG98eW__sheetMeta{opacity:0;transition-duration:.15s;transition-delay:0s;transform:translateY(6px)}.LabGrid-module__zG98eW__metaGroup{gap:var(--space-2);flex-direction:column;display:flex}.LabGrid-module__zG98eW__creditList{flex-direction:column;gap:6px;margin:0;display:flex}.LabGrid-module__zG98eW__creditRow{grid-template-columns:104px minmax(0,1fr);align-items:baseline;gap:16px;display:grid}.LabGrid-module__zG98eW__creditRole{font-size:var(--text-sm);line-height:var(--lh-tight);color:var(--color-text-muted);white-space:nowrap;margin:0}.LabGrid-module__zG98eW__creditName{font-size:var(--text-sm);line-height:var(--lh-tight);color:var(--color-text-primary);text-align:left;margin:0}.LabGrid-module__zG98eW__expandedTitle{font-size:var(--text-xl);line-height:var(--lh-subhead);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);margin:0;font-weight:500}.LabGrid-module__zG98eW__expandedDate{font-size:var(--text-sm);line-height:var(--lh-tight);color:var(--color-text-muted);margin:0}.LabGrid-module__zG98eW__projectInfoLabel{font-size:var(--text-sm);line-height:var(--lh-subhead);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.LabGrid-module__zG98eW__thumbStrip{width:fit-content;max-width:100%;margin-top:var(--space-3);border-radius:var(--radius-pill);background:color-mix(in oklch, var(--color-surface) 72%, transparent);-webkit-backdrop-filter:blur(7px);justify-content:center;align-items:center;gap:16px;margin-inline:auto;padding:16px 20px;display:flex}.LabGrid-module__zG98eW__thumb{border-radius:var(--radius-pill);background:color-mix(in oklch, var(--color-text-primary) 42%, transparent);cursor:pointer;width:8px;min-width:8px;height:8px;transition:width .22s var(--ease-out), background-color var(--transition-base);border:0;padding:0}@media (hover:hover){.LabGrid-module__zG98eW__thumb:hover{background:color-mix(in oklch, var(--color-text-primary) 70%, transparent)}}.LabGrid-module__zG98eW__thumb:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px}.LabGrid-module__zG98eW__thumbActive{background:var(--color-text-primary);width:32px}.LabGrid-module__zG98eW__pillLink{border-radius:var(--radius-pill);border:1px solid color-mix(in oklch, var(--color-text-muted) 55%, transparent);color:var(--color-text-primary);font-family:var(--font-sans);font-weight:var(--font-regular);font-size:var(--text-sm);line-height:var(--lh-tight);letter-spacing:var(--tracking-wide);white-space:nowrap;cursor:pointer;transition:color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base), transform var(--transition-base);background:0 0;justify-content:center;align-self:flex-start;align-items:center;padding:7px 14px;text-decoration:none;display:inline-flex}@media (hover:hover){.LabGrid-module__zG98eW__pillLink:hover{border-color:var(--color-text-primary);background:var(--color-surface)}}.LabGrid-module__zG98eW__pillLink:active{transform:scale(.97)}.LabGrid-module__zG98eW__pillLink:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px}.LabGrid-module__zG98eW__zoomedWrap{cursor:default;opacity:0;transition:opacity .24s var(--ease-out), transform .24s var(--ease-drawer);flex-direction:column;align-items:stretch;margin:auto;display:flex;position:relative;transform:scale(.97)translateY(8px)}.LabGrid-module__zG98eW__zoomedWrapOpen{opacity:1;transform:scale(1)translateY(0)}.LabGrid-module__zG98eW__zoomedWrap_wide{width:min(100%,640px)}.LabGrid-module__zG98eW__zoomedWrap_tall{width:min(100%,420px)}.LabGrid-module__zG98eW__zoomedWrap_poster{width:min(100%,380px)}.LabGrid-module__zG98eW__zoomedCard{border:1px solid color-mix(in oklch, var(--color-text-primary) 10%, transparent);background:var(--color-surface);width:100%;box-shadow:var(--shadow-card);border-radius:16px;flex-shrink:0;position:relative;overflow:hidden}.LabGrid-module__zG98eW__zoomedCard.LabGrid-module__zG98eW__wide{aspect-ratio:16/9}.LabGrid-module__zG98eW__zoomedCard.LabGrid-module__zG98eW__tall{aspect-ratio:4/5}.LabGrid-module__zG98eW__zoomedCard.LabGrid-module__zG98eW__poster{aspect-ratio:3/4}.LabGrid-module__zG98eW__zoomedMeta{justify-content:space-between;align-items:flex-end;gap:20px;display:flex;position:absolute;bottom:16px;left:18px;right:18px}.LabGrid-module__zG98eW__zoomedMeta h2{font-size:var(--text-base);margin:0;font-weight:500;line-height:1.1}.LabGrid-module__zG98eW__zoomedMeta span{color:var(--color-text-muted);font-size:var(--text-base);white-space:nowrap;line-height:1.1}.LabGrid-module__zG98eW__homeMeta{flex-direction:column;gap:10px;width:100%;margin-top:14px;padding-inline:2px;display:flex}.LabGrid-module__zG98eW__homeHeader{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.LabGrid-module__zG98eW__homeTitle{font-family:var(--font-sans);font-size:clamp(16px,1.8vw,19px);font-weight:500;line-height:var(--lh-subhead);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);margin:0}.LabGrid-module__zG98eW__homeDate{font-family:var(--font-sans);color:var(--color-text-muted);white-space:nowrap;margin:0;font-size:12.5px}.LabGrid-module__zG98eW__homeDesc{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--lh-body);color:var(--color-text-muted);text-wrap:pretty;margin:0}.LabGrid-module__zG98eW__homeTags{gap:var(--space-2);flex-wrap:wrap;margin-top:2px;display:flex}.LabGrid-module__zG98eW__homeTag{border-radius:var(--radius-pill);border:1px solid var(--color-text-muted);font-family:var(--font-sans);font-weight:var(--font-regular);font-size:var(--text-xs);line-height:var(--lh-tight);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);white-space:nowrap;background:0 0;justify-content:center;align-items:center;padding:5px 11px;display:inline-flex}@media (prefers-reduced-motion:reduce){.LabGrid-module__zG98eW__grid[data-segment="0"],.LabGrid-module__zG98eW__grid[data-segment="2"]{display:none}}@media (max-width:720px){.LabGrid-module__zG98eW__grid{flex-direction:column;gap:8px;display:flex}.LabGrid-module__zG98eW__column{display:contents}.LabGrid-module__zG98eW__card{content-visibility:visible;height:auto;min-height:clamp(220px,70vw,420px)}.LabGrid-module__zG98eW__zoomedWrap_wide,.LabGrid-module__zG98eW__zoomedWrap_tall,.LabGrid-module__zG98eW__zoomedWrap_poster{width:min(100%,480px)}}@media (prefers-reduced-motion:reduce){.LabGrid-module__zG98eW__hero,.LabGrid-module__zG98eW__sheetMeta,.LabGrid-module__zG98eW__lightbox,.LabGrid-module__zG98eW__topBar,.LabGrid-module__zG98eW__thumbStrip,.LabGrid-module__zG98eW__thumb{transition:none}.LabGrid-module__zG98eW__topBar,.LabGrid-module__zG98eW__thumbStrip,.LabGrid-module__zG98eW__sheetMeta{opacity:1;transform:none}}@media (max-width:1024px){.LabGrid-module__zG98eW__lightbox{padding-top:var(--space-4);padding-bottom:0}.LabGrid-module__zG98eW__sheetBody{gap:var(--space-4);flex-direction:column}.LabGrid-module__zG98eW__sheetHeroCol{width:100%}.LabGrid-module__zG98eW__hero{max-width:100%}.LabGrid-module__zG98eW__hero_wide{aspect-ratio:16/10;width:100%;max-height:none}.LabGrid-module__zG98eW__hero_tall{aspect-ratio:4/5;width:min(100%,56vh);height:auto}.LabGrid-module__zG98eW__hero_poster{aspect-ratio:3/4;width:min(100%,52.5vh);height:auto}.LabGrid-module__zG98eW__thumbStrip{flex-wrap:nowrap;gap:12px;padding:12px 16px}.LabGrid-module__zG98eW__thumbActive{width:24px}.LabGrid-module__zG98eW__sheetMeta{gap:var(--space-5);width:100%;padding-top:0}.LabGrid-module__zG98eW__metaGroup{gap:var(--space-3)}}@media (max-width:720px){.LabGrid-module__zG98eW__lightbox{padding-inline:20px}.LabGrid-module__zG98eW__lightboxHome{padding-inline:14px}}@media (prefers-reduced-transparency:reduce){.LabGrid-module__zG98eW__lightbox,.LabGrid-module__zG98eW__lightboxOpen{background:color-mix(in oklch, var(--color-bg) 94%, transparent);-webkit-backdrop-filter:none}.LabGrid-module__zG98eW__thumbStrip{background:var(--color-surface);-webkit-backdrop-filter:none}}@media (prefers-contrast:more){.LabGrid-module__zG98eW__lightbox,.LabGrid-module__zG98eW__lightboxOpen{background:color-mix(in oklch, var(--color-bg) 96%, transparent);-webkit-backdrop-filter:none}.LabGrid-module__zG98eW__thumbStrip{background:var(--color-bg);border:1px solid var(--color-text-primary);-webkit-backdrop-filter:none}}
.page-module__r_eoHW__page{width:100%;min-height:100vh;padding:clamp(36px, 5vw, 64px) clamp(20px, 4vw, var(--page-padding)) clamp(120px, 14vw, 160px);background:var(--color-bg);color:var(--color-text-primary)}.page-module__r_eoHW__header{flex-direction:column;align-items:center;gap:8px;margin-bottom:clamp(28px,4vw,44px);display:flex}.page-module__r_eoHW__heading{font-family:var(--font-sans);font-weight:var(--font-regular);font-size:clamp(19px, 2vw, var(--text-2xl));line-height:var(--lh-heading);letter-spacing:var(--tracking-tight);text-align:center;color:var(--color-text-primary);margin:0}.page-module__r_eoHW__tagline{font-family:var(--font-sans);font-weight:var(--font-regular);font-size:var(--text-sm);line-height:var(--lh-tight);letter-spacing:var(--tracking-wide);text-align:center;color:var(--color-text-muted);margin:0}@media (max-width:720px){.page-module__r_eoHW__page{padding:36px 20px 120px}}
.page-module__E0kJGG__page{--page-gutter:clamp(18px, 4vw, 58px);background:var(--color-bg);width:100%;min-height:100vh;color:var(--color-text-primary);position:relative}.page-module__E0kJGG__hero{min-height:82svh;padding:clamp(40px, 6vh, 72px) var(--page-gutter) clamp(56px, 8vh, 96px);place-items:center;display:grid}.page-module__E0kJGG__intro{max-width:620px;font-family:var(--font-sans);font-style:normal;font-weight:var(--font-regular);font-size:clamp(var(--text-lg), 1.9vw, var(--text-xl));line-height:var(--lh-body);letter-spacing:var(--tracking-normal);text-align:center;color:var(--color-text-primary);transition:color var(--transition-base)}.page-module__E0kJGG__canvas{padding:0 clamp(14px,4vw,58px) clamp(120px,14vw,160px);position:relative}@media (max-width:720px){.page-module__E0kJGG__intro{font-size:var(--text-lg)}.page-module__E0kJGG__hero{min-height:100svh;padding-block:40px 48px}.page-module__E0kJGG__canvas{padding:0 14px 120px}}
.CodeBlock-module__ZyGN5G__figure{width:100%;margin:22px 0}.CodeBlock-module__ZyGN5G__frame{border-radius:var(--radius-card);background:var(--color-surface);width:100%;position:relative;overflow:hidden}.CodeBlock-module__ZyGN5G__copyButton{z-index:2;border-radius:var(--radius-pill);width:34px;height:34px;color:var(--color-text-muted);transition:color .16s var(--ease-out), transform .16s var(--ease-out);justify-content:center;align-items:center;display:inline-flex;position:absolute;top:12px;right:12px}.CodeBlock-module__ZyGN5G__iconSlot{transition:opacity .12s var(--ease-out), transform .12s var(--ease-out), filter .12s var(--ease-out);justify-content:center;align-items:center;display:inline-flex;position:absolute}.CodeBlock-module__ZyGN5G__copyIcon{opacity:1;filter:blur();transform:scale(1)}.CodeBlock-module__ZyGN5G__checkIcon{opacity:0;filter:blur(2px);transform:scale(.25)}.CodeBlock-module__ZyGN5G__copyButton.CodeBlock-module__ZyGN5G__copied{color:var(--color-text-primary)}.CodeBlock-module__ZyGN5G__copyButton.CodeBlock-module__ZyGN5G__copied .CodeBlock-module__ZyGN5G__copyIcon{opacity:0;filter:blur(2px);transform:scale(.25)}.CodeBlock-module__ZyGN5G__copyButton.CodeBlock-module__ZyGN5G__copied .CodeBlock-module__ZyGN5G__checkIcon{opacity:1;filter:blur();transform:scale(1)}@media (hover:hover){.CodeBlock-module__ZyGN5G__copyButton:hover{color:var(--color-text-primary)}}.CodeBlock-module__ZyGN5G__copyButton:active{transform:scale(.96)}.CodeBlock-module__ZyGN5G__copyButton:focus-visible,.CodeBlock-module__ZyGN5G__pre:focus-visible{outline:2px solid var(--color-text-muted);outline-offset:4px}.CodeBlock-module__ZyGN5G__copyState{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.CodeBlock-module__ZyGN5G__pre{border-radius:inherit;scrollbar-width:none;overscroll-behavior-inline:contain;background:0 0;width:100%;padding:14px 0;overflow-x:auto}.CodeBlock-module__ZyGN5G__pre::-webkit-scrollbar{display:none}.CodeBlock-module__ZyGN5G__line{width:max-content;min-width:100%;min-height:22px;font-family:var(--font-mono);color:var(--color-text-primary);align-items:stretch;padding:0 46px 0 0;font-size:12.5px;line-height:1.6;display:flex}.CodeBlock-module__ZyGN5G__highlight{background:color-mix(in oklch, var(--color-bg) 34%, transparent)}.CodeBlock-module__ZyGN5G__highlight .CodeBlock-module__ZyGN5G__lineNumber{background:color-mix(in oklch, var(--color-bg) 34%, var(--color-surface))}.CodeBlock-module__ZyGN5G__lineNumber{z-index:1;background:var(--color-surface);color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right;-webkit-user-select:none;user-select:none;flex:0 0 40px;padding-right:12px;position:sticky;left:0}.CodeBlock-module__ZyGN5G__source{white-space:pre;padding-left:8px;display:inline-block}.CodeBlock-module__ZyGN5G__keyword{color:#c13d31;color:lab(46.1726% 52.7629 38.1269)}.CodeBlock-module__ZyGN5G__string{color:#104b92;color:lab(31.6932% 3.62088 -44.8213)}.CodeBlock-module__ZyGN5G__function{color:#04693d;color:lab(38.7848% -35.6903 17.4989)}.CodeBlock-module__ZyGN5G__property{color:#4855a6;color:lab(38.1806% 14.2591 -46.2477)}.CodeBlock-module__ZyGN5G__number,.CodeBlock-module__ZyGN5G__comment{color:var(--color-text-muted)}.CodeBlock-module__ZyGN5G__punctuation,.CodeBlock-module__ZyGN5G__plain{color:var(--color-text-primary)}[data-theme=dark] .CodeBlock-module__ZyGN5G__keyword{color:#f47d69;color:lab(66.1808% 45.3415 32.9656)}[data-theme=dark] .CodeBlock-module__ZyGN5G__string{color:#8abbf6;color:lab(74.1029% -4.92799 -35.0939)}[data-theme=dark] .CodeBlock-module__ZyGN5G__function{color:#69c892;color:lab(73.7448% -38.615 17.9471)}[data-theme=dark] .CodeBlock-module__ZyGN5G__property{color:#b1a6ec;color:lab(71.0026% 15.2667 -34.041)}.CodeBlock-module__ZyGN5G__caption{color:var(--color-text-muted);text-wrap:pretty;margin-top:10px;font-size:11px;line-height:1.45}@media (max-width:640px){.CodeBlock-module__ZyGN5G__copyButton{width:32px;height:32px;top:10px;right:10px}.CodeBlock-module__ZyGN5G__line{padding-right:42px}.CodeBlock-module__ZyGN5G__lineNumber{flex-basis:34px;padding-right:10px}}@media (prefers-reduced-motion:reduce){.CodeBlock-module__ZyGN5G__iconSlot{transition:opacity .1s var(--ease-out), color .1s var(--ease-out);filter:none;transform:scale(1)}.CodeBlock-module__ZyGN5G__copyButton.CodeBlock-module__ZyGN5G__copied .CodeBlock-module__ZyGN5G__copyIcon,.CodeBlock-module__ZyGN5G__copyButton.CodeBlock-module__ZyGN5G__copied .CodeBlock-module__ZyGN5G__checkIcon{filter:none;transform:scale(1)}}
