[data-concept=lab] .abk{margin:0}[data-concept=lab] .abk__stage{aspect-ratio:480/340;position:relative;container-type:inline-size}[data-concept=lab] .abk__stage svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}[data-concept=lab] .abk__top{fill:color-mix(in srgb, var(--ink) 5%, color-mix(in srgb, var(--surface-5) 72%, transparent));stroke:var(--rule);stroke-width:1px;transition:stroke .4s,fill .4s,fill-opacity .4s}[data-concept=lab] .abk__side{stroke:var(--rule);stroke-width:1px;stroke-linejoin:round;transition:stroke .4s,opacity .4s}[data-concept=lab] .abk__side--l{fill:color-mix(in srgb, var(--ink) 12%, var(--surface-5))}[data-concept=lab] .abk__side--r{fill:color-mix(in srgb, var(--ink) 7%, var(--surface-5))}[data-concept=lab] .abk__plate.is-active .abk__top{stroke:var(--accent);fill:color-mix(in srgb, var(--accent) 5%, color-mix(in srgb, var(--surface-5) 72%, transparent))}[data-concept=lab] .abk__plate.is-active .abk__side{stroke:color-mix(in srgb, var(--accent) 70%, transparent)}[data-concept=lab] .abk__plate.is-above .abk__top{fill-opacity:.35}[data-concept=lab] .abk__plate.is-above .abk__side{opacity:.6}[data-concept=lab] .is-locked .abk__plate .abk__side{stroke:color-mix(in srgb, var(--accent) 45%, transparent)}[data-concept=lab] .abk__motif{opacity:.38;transition:opacity .5s}[data-concept=lab] .abk__plate.is-above .abk__motif{opacity:.22}[data-concept=lab] .abk__plate.is-active .abk__motif{opacity:1}[data-concept=lab] .abk__slab--cap .abk__top{fill:color-mix(in srgb, var(--ink) 7%, var(--surface-5));stroke:color-mix(in srgb, var(--accent) 75%, transparent)}[data-concept=lab] .abk__slab--cap .abk__side{stroke:color-mix(in srgb, var(--accent) 45%, transparent)}[data-concept=lab] .abk__mark{--mark-size:20px;--mark-color:var(--ink);width:20px;height:20px;display:flex}[data-concept=lab] .abk__word{font-family:var(--label-family);fill:var(--ink);font-size:11px}[data-concept=lab] .abk__guide{fill:none;stroke:var(--rule);stroke-width:1px;stroke-dasharray:2 3}[data-concept=lab] .abk__leader{fill:none;stroke:var(--rule);stroke-width:1px}[data-concept=lab] .abk__tick{fill:var(--ink-faint);transition:fill .4s}[data-concept=lab] .abk__plate.is-active .abk__tick{fill:var(--accent)}[data-concept=lab] .abk__plate.is-active .abk__leader{stroke:color-mix(in srgb, var(--accent) 60%, transparent)}[data-concept=lab] .abk__name{font-family:var(--label-family);fill:var(--ink-faint);font-size:11px;transition:fill .4s}[data-concept=lab] .abk__plate.is-active .abk__name{fill:var(--ink)}@container (max-width:520px){[data-concept=lab] .abk__name{font-size:17px;transform:translateY(-2px)}}[data-concept=lab] .abk__motif path,[data-concept=lab] .abk__motif line,[data-concept=lab] .abk__motif rect,[data-concept=lab] .abk__motif circle,[data-concept=lab] .abk__motif ellipse{vector-effect:non-scaling-stroke}[data-concept=lab] .abk__faint{fill:none;stroke:var(--rule);stroke-width:1px}[data-concept=lab] .abk__wire{fill:none;stroke:var(--accent);stroke-width:.9px;stroke-opacity:.85}[data-concept=lab] .abk__g1{stop-color:color-mix(in srgb, var(--ink) 26%, transparent)}[data-concept=lab] .abk__g0{stop-color:color-mix(in srgb, var(--ink) 4%, transparent)}[data-concept=lab] .abk__tissue{fill:color-mix(in srgb, var(--ink) 40%, transparent)}[data-concept=lab] .abk__tissue--soft{fill:color-mix(in srgb, var(--ink) 22%, transparent)}[data-concept=lab] .abk__trace{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:var(--accent);stroke-width:1.6px;stroke-dasharray:1;stroke-dashoffset:0}[data-concept=lab] .abk__scanline{stroke:var(--accent);stroke-opacity:.6;stroke-width:1px;opacity:0}[data-concept=lab] .abk__editor{fill:color-mix(in srgb, var(--ink) 3%, transparent);stroke:var(--rule);stroke-width:1px}[data-concept=lab] .abk__rule{stroke:var(--rule);stroke-width:1px}[data-concept=lab] .abk__code{font-family:var(--text-family);white-space:pre;fill:var(--ink);font-size:9px}[data-concept=lab] .abk__gutter{fill:var(--ink-faint);font-size:7px}[data-concept=lab] .abk__kw,[data-concept=lab] .abk__caret{fill:var(--accent)}[data-concept=lab] .abk__route{fill:none;stroke:var(--ink-faint);stroke-width:1px;stroke-dasharray:1.5 3;stroke-linecap:round;transition:stroke .3s}[data-concept=lab] .abk__route.is-lit{stroke:var(--accent)}[data-concept=lab] .abk__shadow{fill:color-mix(in srgb, var(--ink) 10%, transparent)}[data-concept=lab] .abk__head,[data-concept=lab] .abk__body{fill:var(--surface-5);stroke:var(--ink-soft);stroke-width:1.2px}[data-concept=lab] .abk__limb,[data-concept=lab] .abk__arm,[data-concept=lab] .abk__stalk{fill:none;stroke:var(--ink-soft);stroke-width:1.2px;stroke-linecap:round}[data-concept=lab] .abk__arm--give{transform-box:fill-box;transform-origin:0 0;transition:rotate .25s}[data-concept=lab] .abk__bot.is-giving .abk__arm--give{rotate:-95deg}[data-concept=lab] .abk__eyes{fill:var(--ink)}[data-concept=lab] .abk__smile{fill:none;stroke:var(--ink-soft);stroke-width:1px;stroke-linecap:round}[data-concept=lab] .abk__bulb{fill:var(--surface-5);stroke:var(--ink-soft);stroke-width:1.2px;transition:fill .25s,stroke .25s}[data-concept=lab] .abk__bot.is-lit .abk__bulb{fill:var(--accent);stroke:var(--accent)}[data-concept=lab] .abk__bot.is-lit .abk__head{stroke:var(--ink)}[data-concept=lab] .abk__signal{fill:none;stroke:var(--accent);stroke-width:1px;stroke-linecap:round;opacity:0}[data-concept=lab] .abk__envelope rect,[data-concept=lab] .abk__card rect{fill:var(--surface-5);stroke:var(--accent);stroke-width:1.1px}[data-concept=lab] .abk__envelope path{fill:none;stroke:var(--accent);stroke-width:1px;stroke-linejoin:round}[data-concept=lab] .abk__card-line{fill:none;stroke:var(--ink-soft);stroke-width:1px}[data-concept=lab] .abk__check{fill:none;stroke:var(--accent);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .3s}[data-concept=lab] .abk__check.is-done{stroke-dashoffset:0}[data-concept=lab] .abk__bot{transition:opacity .4s}[data-concept=lab] .is-locked .abk__bot{opacity:0}[data-concept=lab] .abk__link{stroke:var(--accent);stroke-opacity:.6;stroke-width:1.2px}[data-concept=lab] .abk__node,[data-concept=lab] .abk__hub{fill:var(--surface-5);stroke:var(--ink-faint);stroke-width:1px}[data-concept=lab] .abk__led{fill:var(--accent)}[data-concept=lab] .abk__packet{fill:var(--ink)}@media (prefers-reduced-motion:no-preference){[data-concept=lab] .is-active .abk__trace{animation:1.8s cubic-bezier(.4,0,.2,1) .2s both abk-trace}[data-concept=lab] .is-active .abk__scanline{animation:2.1s linear both abk-sweep}[data-concept=lab] .is-active .abk__code{animation:.26s ease-out both abk-type}[data-concept=lab] .is-active .abk__caret{animation:.9s step-end infinite abk-blink}[data-concept=lab] .is-active .abk__link{stroke-dasharray:60;animation:.8s ease-out both abk-link}[data-concept=lab] .abk__led{animation:.7s step-end infinite abk-blink}[data-concept=lab] .is-still .abk__led{animation:none}[data-concept=lab] .abk__stage:not(.is-still) .abk__eyes{transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite abk-wink}[data-concept=lab] .abk__bot.is-lit .abk__signal{animation:.7s ease-out infinite abk-signal}[data-concept=lab] .abk__route.is-lit{animation:.6s linear infinite abk-march}}@keyframes abk-trace{0%{stroke-dashoffset:1px;fill-opacity:0}80%{stroke-dashoffset:0;fill-opacity:0}to{stroke-dashoffset:0;fill-opacity:1}}@keyframes abk-sweep{0%{opacity:0;transform:translateY(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(80px)}}@keyframes abk-type{0%{opacity:0}to{opacity:1}}@keyframes abk-blink{50%{opacity:.15}}@keyframes abk-link{0%{stroke-dashoffset:60px}to{stroke-dashoffset:0}}@keyframes abk-wink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes abk-signal{0%{opacity:0}30%{opacity:1}to{opacity:.2}}@keyframes abk-march{to{stroke-dashoffset:-9px}}[data-concept=lab] .abk__stage.is-resting *{animation-play-state:paused}
[data-concept=lab] .lab-hero__graph{margin:0}[data-concept=lab] .lab-hero__graph svg{aspect-ratio:4/5;border-radius:var(--plate-radius);width:100%;height:auto;box-shadow:inset 0 0 0 1px var(--rule);background:#f6f3ec06;display:block}[data-concept=lab] .lab-hero__graph *{vector-effect:non-scaling-stroke}[data-concept=lab] .lab-hero__graph .hg-draw{vector-effect:none}[data-concept=lab] .hg-grid{stroke:#f6f3ec0f;stroke-width:1px}[data-concept=lab] .hg-rule{stroke:var(--rule);stroke-width:1px}[data-concept=lab] .hg-stop-a{stop-color:var(--accent);stop-opacity:.28}[data-concept=lab] .hg-stop-b{stop-color:var(--accent);stop-opacity:0}[data-concept=lab] .hg-growth{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round}[data-concept=lab] .hg-manual{fill:none;stroke:var(--ink-faint);stroke-width:1.5px;stroke-dasharray:4 5}[data-concept=lab] .hg-draw--mask{fill:none;stroke:#fff;stroke-width:10px}[data-concept=lab] .hg-dot--growth{fill:var(--accent)}[data-concept=lab] .hg-dot--manual{fill:var(--surface-1);stroke:var(--ink-faint);stroke-width:1.5px}@media (prefers-reduced-motion:no-preference){[data-concept=lab] .lab-hero__graph{--draw-delay:.45s;--draw-time:1.9s}[data-concept=lab] .lab-hero__graph .hg-draw{stroke-dasharray:1;animation:hg-draw var(--draw-time) linear var(--draw-delay) both}[data-concept=lab] .lab-hero__graph .hg-dot{transform-box:fill-box;transform-origin:50%;animation:.32s cubic-bezier(.2,.7,.2,1) both hg-dot;animation-delay:calc(var(--draw-delay) + var(--draw-time) * var(--at) - 80ms)}[data-concept=lab] .lab-hero__graph .hg-area{animation:hg-fade .7s ease-out calc(var(--draw-delay) + var(--draw-time) - .2s) both}}@keyframes hg-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes hg-dot{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes hg-fade{0%{opacity:0}to{opacity:1}}[data-concept=lab] .lab-eng__plate{box-shadow:inset 0 0 0 1px var(--rule);background:#f6f3ec06}[data-concept=lab] .sg{width:100%;height:100%;display:block}[data-concept=lab] .sg-grid line{stroke:#f6f3ec0f;stroke-width:1px}[data-concept=lab] .sg-rule{stroke:var(--rule);stroke-width:1.5px}[data-concept=lab] .sg-wire{fill:none;stroke:var(--ink-faint);stroke-width:1.25px}[data-concept=lab] .sg-box,[data-concept=lab] .sg-card,[data-concept=lab] .sg-dev,[data-concept=lab] .sg-block{fill:var(--surface-1);stroke:var(--ink-faint);stroke-width:1.25px}[data-concept=lab] .sg-text{fill:none;stroke:var(--ink-faint);stroke-width:2px;stroke-linecap:round;opacity:.6}[data-concept=lab] .sg-found{fill:#2dd4a71a;stroke:var(--accent);stroke-width:1.75px}[data-concept=lab] .sg-card--pick{fill:#2dd4a70f;stroke:var(--accent);stroke-width:1.75px}[data-concept=lab] .sg-bar{fill:#f6f3ec38}[data-concept=lab] .sg-unit{fill:none;stroke:var(--ink-faint);stroke-width:1.25px}[data-concept=lab] .sg-unit--pick{fill:#2dd4a72e;stroke:var(--accent);stroke-width:1.25px}[data-concept=lab] .sg-mint{fill:var(--accent)}[data-concept=lab] .sg-tick{fill:none;stroke:var(--surface-1);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}[data-concept=lab] .sg-frame{fill:none;stroke:var(--ink-soft);stroke-width:2px;stroke-linecap:round}[data-concept=lab] .sg-rail{fill:none;stroke:var(--rule);stroke-width:1.5px;stroke-dasharray:none}[data-concept=lab] .sg-port{fill:#f6f3ec29}[data-concept=lab] .sg-led{fill:var(--accent)}[data-concept=lab] .sg-block{fill:#2dd4a714;stroke:var(--accent)}[data-concept=lab] .sg-flat{fill:none;stroke:var(--ink-faint);stroke-width:1.5px;opacity:.6}[data-concept=lab] .sg-pulse{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}[data-concept=lab] .sg-bust{fill:color-mix(in srgb, var(--ink) 46%, var(--surface-1));stroke:color-mix(in srgb, var(--surface-1) 97%, var(--ink));stroke-width:5px;paint-order:stroke}[data-concept=lab] .sg-bust--near{fill:color-mix(in srgb, var(--ink) 64%, var(--surface-1))}[data-concept=lab] .sg-bust--us{fill:var(--accent)}[data-concept=lab] .sg-table{fill:color-mix(in srgb, var(--surface-1) 97%, var(--ink));stroke:var(--accent);stroke-width:7px;stroke-linejoin:round;stroke-linecap:round}[data-concept=lab] .sg-bubble{fill:none;stroke:var(--ink-faint);stroke-width:2px;stroke-linejoin:round}[data-concept=lab] .sg-bubble--us{stroke:var(--accent)}@media (prefers-reduced-motion:no-preference){[data-concept=lab] .lab-eng__shot{--base:.25s}[data-concept=lab] .lab-eng__shot.is-active .sg-draw{stroke-dasharray:1;animation:hg-draw .7s ease-out calc(var(--base) + var(--d,0s)) both}[data-concept=lab] .lab-eng__shot.is-active .sg-draw--long{animation-duration:1.9s;animation-timing-function:linear}[data-concept=lab] .lab-eng__shot.is-active .sg-pop{transform-box:fill-box;transform-origin:50%;animation:hg-dot .38s cubic-bezier(.2, .7, .2, 1) calc(var(--base) + var(--d,0s)) both}[data-concept=lab] .lab-eng__shot.is-active .sg-grow{transform-box:fill-box;transform-origin:0;animation:sg-grow .42s cubic-bezier(.2, .7, .2, 1) calc(var(--base) + var(--d,0s)) both}[data-concept=lab] .lab-eng__shot.is-active .sg-slide{animation:sg-slide .52s cubic-bezier(.2, .7, .2, 1) calc(var(--base) + var(--d,0s)) both}[data-concept=lab] .lab-eng__shot.is-active .sg-drop{animation:sg-drop .52s cubic-bezier(.3, .8, .3, 1) calc(var(--base) + var(--d,0s)) both}}@keyframes sg-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes sg-slide{0%{opacity:0;transform:translate(-36px)}to{opacity:1;transform:none}}@keyframes sg-drop{0%{opacity:0;transform:translateY(-48px)}to{opacity:1;transform:none}}@media (max-width:859px){[data-concept=lab] .lab-hero__graph{display:none}[data-concept=lab] .lab-grid.lab-hw{row-gap:var(--s-row)}[data-concept=lab] .lab-eng .lab-eng__stage{align-content:start;row-gap:min(var(--s-block), 4.5svh);padding-top:calc(var(--nav-h) + min(var(--s-block), 4.5svh));padding-bottom:1.5rem}[data-concept=lab] .lab-eng .lab-eng__plate{aspect-ratio:1;max-height:min(44svh,100svh - 29.5rem)}}[data-concept=lab] .lab-groups{row-gap:var(--s-block);align-items:start}[data-concept=lab] .lab-groups__stack,[data-concept=lab] .lab-groups__list{grid-column:1/span 12}@media (min-width:860px){[data-concept=lab] .lab-groups__stack{top:calc(var(--nav-h) + var(--s-row));grid-column:1/span 6;position:sticky}[data-concept=lab] .lab-groups__list{grid-column:8/span 5;align-self:center}}[data-concept=lab] .lab-grp{border-top:1px solid var(--rule)}[data-concept=lab] .lab-grp:last-of-type{border-bottom:1px solid var(--rule)}[data-concept=lab] .lab-grp__head{grid-template-columns:2.25rem minmax(0,1fr);align-items:baseline;column-gap:.75rem;padding-block:clamp(1.25rem,2.2vw,1.75rem);display:grid}[data-concept=lab] .lab-grp__head .lab-row__n{margin:0}[data-concept=lab] .lab-grp__toggle{appearance:none;margin-top:var(--s-stack);font:inherit;font-size:var(--t-small);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.6rem;padding:.5rem 0;transition:color .16s;display:inline-flex}[data-concept=lab] .lab-grp__toggle:hover{color:var(--ink)}[data-concept=lab] .lab-grp__chev{border-bottom:1.5px solid;border-right:1.5px solid;width:.45rem;height:.45rem;transition:transform .26s cubic-bezier(.2,.7,.2,1);transform:translateY(-.15rem)rotate(45deg)}[data-concept=lab] .lab-groups__list[data-open=true] .lab-grp__chev{transform:translateY(.1rem)rotate(-135deg)}[data-concept=lab] .lab-grp__panel{grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.2,.7,.2,1);display:grid}[data-concept=lab] .lab-groups__list[data-open=true] .lab-grp__panel{grid-template-rows:1fr}[data-concept=lab] .lab-grp__inner{min-height:0;overflow:hidden}[data-concept=lab] .lab-grp__items{gap:.55rem var(--gap);margin:0;padding:0 0 clamp(1.25rem,2.2vw,1.75rem) 3rem;list-style:none;display:grid}[data-concept=lab] .lab-grp__items li{color:var(--ink-soft);text-wrap:pretty;padding-left:1.1rem;position:relative}[data-concept=lab] .lab-grp__items li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.72em;left:0}[data-concept=lab] .lab-groups__more p{color:var(--ink-soft);padding:clamp(1.25rem,2.2vw,1.75rem) 0 0}[data-concept=lab] .lab-groups__more a{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:.25em;transition:text-decoration-color .16s}[data-concept=lab] .lab-groups__more a:hover{text-decoration-color:currentColor}@media (prefers-reduced-motion:reduce){[data-concept=lab] .lab-grp__panel,[data-concept=lab] .lab-grp__chev{transition:none}}@media (min-width:860px){[data-concept=lab] .lab-hw__rack{grid-area:1/1/auto/span 6}[data-concept=lab] .lab-hw__copy{grid-area:1/8/auto/span 5}}[data-concept=lab] #book{background:var(--sheet-bg)}
