.lab{--ground:#f2ede0;--panel:#fbf8ef;--card-paper:#fffdf6;--line:#cfc6b1;--edge:#26211d;--ink:#26211d;--dim:#6b5f54;--accent:#9977ff;--accent-ink:#5b3fd6;--tint:rgba(153,119,255,.13);--invert-bg:#26211d;--invert-ink:#f2ede0;--grid:rgba(38,33,29,.045);--code-bg:#1d1916;--code-ink:#ece5d3;--nb-shadow:#26211d;--lamp-live:#2f9e5b;--lamp-building:#d08a0a;--lamp-designing:#7a5cf0;--lamp-built:#26211d;--lamp-paused:#9a8f84;--lamp-archived:#9a8f84;--radius:4px;--bw:1.5px;--measure:68ch;--sticky-top:88px;--lab-paper:#f2ede0;--lab-panel:#fbf8ef;--lab-ink:#26211d;--lab-muted:#6b5f54;--lab-line:#cfc6b1;--lab-accent:#5b3fd6;--lab-accent-soft:rgba(153,119,255,.18);--lab-accent-2:#8a5a00;--lab-ok:#1b6e3c;--lab-warn:#a8470a}html.phosphor .lab{--ground:#0b0f0c;--panel:#131914;--card-paper:#111712;--line:#243026;--edge:#2f3d31;--ink:#d8e5da;--dim:#8b9d8f;--accent:#7be8a8;--accent-ink:#7be8a8;--tint:rgba(123,232,168,.08);--invert-bg:#1a221c;--invert-ink:#d8e5da;--grid:rgba(216,229,218,.02);--code-bg:#070a08;--code-ink:#d8e5da;--nb-shadow:#e8c47b;--lamp-live:#7be8a8;--lamp-building:#e8c47b;--lamp-designing:#b9a6ff;--lamp-built:#d8e5da;--lamp-paused:#6d7d70;--lamp-archived:#6d7d70;--radius:2px;--bw:1px;color-scheme:dark;--lab-paper:#0b0f0c;--lab-panel:#131914;--lab-ink:#d8e5da;--lab-muted:#8b9d8f;--lab-line:#3d4f40;--lab-accent:#7be8a8;--lab-accent-soft:rgba(123,232,168,.14);--lab-accent-2:#e8c47b;--lab-ok:#7be8a8;--lab-warn:#ffb27a}.lab [data-section=projects],.lab[data-section=projects]{--accent:#d08a0a;--accent-ink:#8a5a00;--tint:rgba(208,138,10,.12)}.lab [data-section=concepts],.lab [data-section=engineering],.lab[data-section=concepts],.lab[data-section=engineering]{--accent:#9977ff;--accent-ink:#5b3fd6}.lab [data-section=skills],.lab[data-section=skills]{--accent:#c2412d;--accent-ink:#a3341f;--tint:rgba(194,65,45,.09)}.lab [data-section=research],.lab[data-section=research]{--accent:#2f6fd0;--accent-ink:#2a54a0;--tint:rgba(47,111,208,.09)}.lab [data-section=case-studies],.lab[data-section=case-studies]{--accent:#2a9aa6;--accent-ink:#19707a;--tint:rgba(42,154,166,.1)}.lab [data-section=operations],.lab[data-section=operations]{--accent:#2f9e5b;--accent-ink:#1b6e3c;--tint:rgba(47,158,91,.1)}.lab [data-section=guides],.lab[data-section=guides]{--accent:#e2660f;--accent-ink:#a8470a;--tint:rgba(226,102,15,.1)}html.phosphor .lab [data-section=projects],html.phosphor .lab[data-section=projects]{--accent:#e8c47b;--accent-ink:#e8c47b;--tint:rgba(232,196,123,.1)}html.phosphor .lab [data-section=concepts],html.phosphor .lab[data-section=concepts]{--accent:#b9a6ff;--accent-ink:#c4b5ff;--tint:rgba(185,166,255,.1)}html.phosphor .lab [data-section=engineering],html.phosphor .lab[data-section=engineering]{--accent:#e8c47b;--accent-ink:#e8c47b;--tint:rgba(232,196,123,.1)}html.phosphor .lab [data-section=skills],html.phosphor .lab[data-section=skills]{--accent:#f0a08a;--accent-ink:#f0a08a;--tint:rgba(240,160,138,.09)}html.phosphor .lab [data-section=research],html.phosphor .lab[data-section=research]{--accent:#8fc3ff;--accent-ink:#8fc3ff;--tint:rgba(143,195,255,.09)}html.phosphor .lab [data-section=case-studies],html.phosphor .lab[data-section=case-studies]{--accent:#7fd6d0;--accent-ink:#7fd6d0;--tint:rgba(127,214,208,.09)}html.phosphor .lab [data-section=operations],html.phosphor .lab[data-section=operations]{--accent:#7be8a8;--accent-ink:#7be8a8;--tint:rgba(123,232,168,.09)}html.phosphor .lab [data-section=guides],html.phosphor .lab[data-section=guides]{--accent:#ffb27a;--accent-ink:#ffb27a;--tint:rgba(255,178,122,.09)}.lab,.lab *,.lab :after,.lab :before{box-sizing:border-box}.lab{color:var(--ink);background-color:var(--ground);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;min-height:100vh;margin-top:-5rem;font-family:var(--font-archivo),system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}html.phosphor .lab{background-image:repeating-linear-gradient(0deg,rgba(216,229,218,.022) 0 1px,transparent 1px 3px);background-size:auto}.lab a{color:inherit}.lab :focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}.lab dd,.lab dl,.lab figure,.lab h1,.lab h2,.lab h3,.lab p{margin:0}.lab :is(h1,h2,h3,.lc-title){text-wrap:balance}.lab .ttl-main,.lab .ttl-sub{display:block}.lab .ttl-sep{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lab .ttl-sub{font-size:.52em;line-height:1.25;font-weight:600;letter-spacing:-.005em;margin-top:.3em;color:var(--dim);text-wrap:balance}.lab .lc-title .ttl-sub{font-size:.68em;margin-top:.2em}.lab .lx-t .ttl-main{display:inline}.lab .lx-t .ttl-sub{display:inline;font-size:1em;font-weight:400;color:var(--dim)}.lab .lx-t .ttl-sep{position:static;width:auto;height:auto;overflow:visible;clip-path:none;color:var(--dim)}.lab :is(p,li,dd){text-wrap:pretty}.lab .lab-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.16em;color:var(--accent-ink)}.lab .lab-bar,.lab .lab-eyebrow{font-family:var(--font-mono),monospace;text-transform:uppercase}.lab .lab-bar{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:8px clamp(16px,3vw,28px);background:var(--ground);border-bottom:var(--bw) solid var(--edge);font-size:12px;letter-spacing:.06em;color:var(--dim)}@media (max-width:640px){.lab .lab-bar{position:relative}.lab{--sticky-top:16px}}.lab .lab-logo{display:flex;align-items:center;text-decoration:none}.lab .lab-logo svg{height:44px;width:auto}.lab .lab-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 13px;margin-right:auto}.lab .lab-nav a{color:var(--dim);text-decoration:none;padding:3px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.lab .lab-nav a .n{color:var(--accent-ink);font-weight:700;margin-right:4px}.lab .lab-nav a:hover,.lab .lab-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.lab .lab-nav a[aria-current=page]{font-weight:700}.lab .lab-nav .lab-nav-all{color:var(--ink);font-weight:700}@media (max-width:1180px){.lab .lab-nav{position:relative;order:3;flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * clamp(16px, 3vw, 28px));padding:2px clamp(16px,3vw,28px) 4px;scrollbar-width:none;scroll-padding-inline:24px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 24px),transparent)}.lab .lab-nav::-webkit-scrollbar{display:none}.lab .lab-nav a{white-space:nowrap;flex:none;min-height:32px;display:inline-flex;align-items:center}.lab .lab-chrome{margin-left:auto}}.lab .lab-chrome{display:flex;align-items:center;gap:12px}.lab .lab-hints{display:flex;align-items:center;gap:3px}@media (max-width:1560px){.lab .lab-hints{display:none}}.lab .lab-toggle,.lab kbd{font-family:var(--font-mono),monospace;font-size:11px;color:var(--ink);background:var(--panel);border:1.5px solid var(--edge);border-radius:4px;box-shadow:2px 2px 0 rgba(38,33,29,.55);padding:1px 6px}.lab .lab-toggle{padding:4px 10px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:border-color .2s}.lab .lab-toggle:hover{border-color:var(--accent)}html.phosphor .lab .lab-toggle,html.phosphor .lab kbd{box-shadow:none;border-color:var(--dim)}.lab .lab-main{max-width:1240px;margin:0 auto;padding:0 clamp(16px,3vw,32px) 64px}.lab .lab-main:focus{outline:none}.lab .lab-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.lab .lab-crumbs li+li:before{content:"/";margin:0 9px;color:var(--line)}html.phosphor .lab .lab-crumbs li+li:before{color:var(--dim)}.lab .lab-crumbs a{text-decoration:none}.lab .lab-crumbs a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.lab .lab-crumbs [aria-current]{color:var(--ink)}.lab .lab-crumbs li[aria-current]{flex:1 1 14ch;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab .lab-glyph{display:block;color:var(--ink);fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.lab .lab-glyph .g-accent{color:var(--accent)}.lab .lab-lamp{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:var(--font-mono),monospace;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}.lab .lab-lamp i{width:9px;height:9px;border-radius:50%;background:var(--lamp,var(--dim));flex:none}.lab .lab-lamp[data-status=live]{--lamp:var(--lamp-live)}.lab .lab-lamp[data-status=building]{--lamp:var(--lamp-building)}.lab .lab-lamp[data-status=designing]{--lamp:var(--lamp-designing)}.lab .lab-lamp[data-status=built]{--lamp:var(--lamp-built)}.lab .lab-lamp[data-status=paused]{--lamp:var(--lamp-paused)}.lab .lab-lamp[data-status=archived] i{background:transparent;box-shadow:inset 0 0 0 1.5px var(--lamp-archived)}html.phosphor .lab .lab-lamp i{box-shadow:0 0 8px var(--lamp,transparent)}@media (prefers-reduced-motion:no-preference){.lab .lab-lamp[data-status=live] i{animation:lab-pulse 2.2s cubic-bezier(.45,0,.55,1) 2}.lab .lab-lamp[data-status=building] i{animation:lab-blink 1.1s step-end 3}}@keyframes lab-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes lab-blink{0%,60%{opacity:1}61%,to{opacity:.25}}.lab .li-head{padding:28px 0 0}.lab .li-mast{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(250px,300px);grid-template-areas:"num titles block";gap:18px 34px;align-items:start;margin-top:22px;padding-bottom:28px;border-bottom:var(--bw) solid var(--edge)}.lab .li-mast>.li-num{grid-area:num}.lab .li-mast>.li-titles{grid-area:titles}.lab .li-mast>.li-block{grid-area:block}.lab .li-num{display:block;margin-top:4px;font-weight:900;font-size:clamp(72px,9vw,132px);line-height:.78;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--ink);font-variant-numeric:tabular-nums}html.phosphor .lab .li-num{font-family:var(--font-vt),monospace;font-weight:400;letter-spacing:0;font-size:clamp(96px,12vw,170px);line-height:.7;color:var(--accent);-webkit-text-stroke:0;text-shadow:0 0 22px var(--tint),0 0 2px var(--accent)}.lab .li-titles{min-width:0}.lab .li-title{font-weight:900;font-size:clamp(38px,5.4vw,72px);line-height:.98;letter-spacing:-.025em;margin:0 0 14px}.lab .li-summary{font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--dim);max-width:52ch}.lab .li-block{background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius);font-family:var(--font-mono),monospace;overflow:hidden}.lab .li-block-head{display:flex;justify-content:space-between;gap:10px;padding:6px 12px;background:var(--invert-bg);color:var(--invert-ink);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap}.lab .li-block-head span{white-space:nowrap}.lab .li-block-head span:last-child{opacity:.78}.lab[data-section=engineering] .li-block-head span:last-child{opacity:1}.lab .li-block dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 12px;border-bottom:1px solid var(--line)}.lab .li-block dt{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.lab .li-block dd{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.lab .li-block dd.li-date{font-size:13px;white-space:nowrap}html.phosphor .lab .li-block dd{font-family:var(--font-vt),monospace;font-weight:400;font-size:32px;color:var(--accent-ink)}html.phosphor .lab .li-block dd.li-date{font-size:19px}.lab .li-spread{padding:10px 12px 11px}.lab .li-spread-bar{display:flex;gap:2px;height:10px}.lab .li-spread-bar i{min-width:4px;background:var(--dim)}.lab .li-spread-bar i[data-status=live]{background:var(--lamp-live)}.lab .li-spread-bar i[data-status=building]{background:var(--lamp-building)}.lab .li-spread-bar i[data-status=designing]{background:var(--lamp-designing)}.lab .li-spread-bar i[data-status=built]{background:var(--lamp-built)}.lab .li-spread-bar i[data-status=archived],.lab .li-spread-bar i[data-status=paused]{background:repeating-linear-gradient(135deg,var(--lamp-paused) 0 2px,transparent 2px 4px);box-shadow:inset 0 0 0 1px var(--lamp-paused)}.lab .li-spread-key{list-style:none;margin:9px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:5px 14px}.lab .li-spread-key li{display:flex;align-items:center;gap:6px;font-size:11px}.lab .li-spread-key .lab-lamp{font-size:10.5px;color:var(--dim)}.lab .li-spread-key b{font-variant-numeric:tabular-nums}@media (max-width:1020px){.lab .li-mast{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"num titles" "block block"}.lab .li-block{max-width:560px}.lab .li-block dl{display:flex;flex-wrap:wrap}.lab .li-block dl>div{flex:1 1 140px;border-right:1px solid var(--line)}}@media (max-width:640px){.lab .li-mast{grid-template-columns:minmax(0,1fr);grid-template-areas:"num" "titles" "block";gap:14px}.lab .li-num{font-size:64px;justify-self:start}html.phosphor .lab .li-num{font-size:92px}}.lab .li-intro{margin-top:26px;max-width:none}.lab .li-intro .lab-flow>p:first-child{font-size:1.12em;line-height:1.6;color:var(--ink);max-width:62ch}@media (min-width:1100px){.lab .li-intro .lab-flow{-moz-columns:2;column-count:2;-moz-column-gap:56px;column-gap:56px;-moz-column-rule:1px solid var(--line);column-rule:1px solid var(--line);font-size:16.5px;line-height:1.65;color:var(--dim)}.lab .li-intro .lab-flow>p{max-width:none;-moz-column-break-inside:avoid;break-inside:avoid}.lab .li-intro .lab-flow>p:first-child{-moz-column-span:all;column-span:all;font-size:20px;margin-bottom:1.2em}.lab .li-intro .lab-flow a{color:var(--accent-ink)}}.lab .li-cards{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}.lab .lc{display:flex;min-width:0}.lab .lc-link{position:relative;display:flex;flex-direction:column;width:100%;text-decoration:none;background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius);padding:14px 16px 12px;transition:border-color .2s,box-shadow .2s,transform .2s}.lab .lc-link:hover{border-color:var(--accent);box-shadow:0 10px 22px rgba(38,33,29,.14)}html.phosphor .lab .lc-link:hover{box-shadow:0 0 0 1px var(--accent),0 0 22px var(--tint)}.lab .lc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.lab .lc-num{color:var(--accent-ink);font-weight:700;font-variant-numeric:tabular-nums}.lab .lc-window{margin:14px 0 12px}.lab .lc-glyph{width:56px;height:56px}.lab .lc-text{flex:1;min-width:0}.lab .lc-title{font-weight:800;font-size:22px;line-height:1.2;letter-spacing:-.005em;overflow-wrap:break-word}.lab .lc-kind{margin-top:6px;font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.lab .lc-sum{margin-top:8px;font-size:16px;line-height:1.55;color:var(--dim);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.lab .lc-foot{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-family:var(--font-mono),monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.lab .lc-stage{border:1px dashed var(--dim);padding:1px 6px;border-radius:2px}.lab .lc-mins:before{content:"·";margin-right:10px}.lab .lc-go{margin-left:auto;color:var(--accent-ink);font-size:16px;transition:transform .2s}.lab .lc-link:hover .lc-go{transform:translateX(3px)}.lab .li-empty{margin:32px 0;padding:26px 28px;max-width:640px;display:flex;flex-direction:column;gap:8px;border:1.5px dashed var(--line);border-radius:var(--radius);font-size:17px;line-height:1.55;color:var(--dim)}.lab .li-empty a{color:var(--accent-ink)}.lab .li-tabs{display:flex;flex-wrap:wrap;margin:30px 0 0;border-bottom:var(--bw) solid var(--edge)}.lab .li-tabs a{font-family:var(--font-mono),monospace;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:9px 14px;margin:0 -1.5px -1.5px 0;background:var(--panel);border:var(--bw) solid var(--edge);border-radius:4px 4px 0 0}.lab .li-tabs a:hover{background:var(--tint)}.lab .li-group-h .c,.lab .li-tabs .c{color:var(--accent-ink);font-weight:700;margin-left:6px}.lab .li-group{margin-top:32px;scroll-margin-top:var(--sticky-top)}.lab .li-group-h{font-family:var(--font-mono),monospace;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid var(--line)}.lab .li-group .li-cards{margin-top:14px}.lab .lp-head{position:relative;padding:28px 0;border-bottom:var(--bw) solid var(--edge)}.lab .lp-head:after,.lab .lp-head:before{content:"";position:absolute;bottom:-9px;width:17px;height:17px;border-radius:50%;pointer-events:none;border:1px solid var(--dim);background:linear-gradient(var(--dim),var(--dim)) 50% /1px 100% no-repeat,linear-gradient(var(--dim),var(--dim)) 50% /100% 1px no-repeat}.lab .lp-head:before{left:-8px}.lab .lp-head:after{right:-8px}@media (max-width:640px){.lab .lp-head:after,.lab .lp-head:before{display:none}}.lab .lp-titlerow{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px 48px;align-items:start;margin-top:22px}@media (max-width:900px){.lab .lp-titlerow{grid-template-columns:1fr}}.lab .lp-kind:before{content:"·";margin:0 9px;color:var(--dim)}.lab .lp-title{font-weight:900;font-size:clamp(34px,5vw,62px);line-height:1.04;letter-spacing:-.02em;margin:10px 0 16px;max-width:20ch;overflow-wrap:break-word}.lab .lp-summary{font-size:clamp(18px,1.8vw,21px);line-height:1.55;color:var(--dim);max-width:54ch}.lab .lp-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.lab .lab-btn{display:inline-block;font-family:var(--font-mono),monospace;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:11px 16px;text-decoration:none;border:var(--bw) solid var(--edge);border-radius:2px;background:var(--invert-bg);color:var(--invert-ink);transition:background .2s,color .2s,border-color .2s}.lab .lab-btn:hover{background:var(--panel);color:var(--ink);border-color:var(--accent)}html.phosphor .lab .lab-btn{border-color:var(--accent);color:var(--accent-ink);background:transparent}html.phosphor .lab .lab-btn:hover{background:var(--tint)}.lab .lp-plate{background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius);overflow:hidden}.lab .lp-plate-glyph{display:flex;justify-content:center;padding:18px;background:var(--tint);border-bottom:1px solid var(--line)}.lab .lp-plate-glyph .lab-glyph{width:88px;height:88px}.lab .lp-plate dl>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);font-family:var(--font-mono),monospace;font-size:13px}.lab .lp-plate dt{align-self:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.lab .lp-plate dd{font-weight:700;overflow-wrap:anywhere}.lab .lp-tags{list-style:none;margin:0;padding:10px 14px 12px;display:flex;flex-wrap:wrap;gap:6px}.lab .lp-tags li{font-family:var(--font-mono),monospace;font-size:11.5px;padding:2px 7px;border:1px solid var(--line);border-radius:2px;color:var(--dim)}.lab .lp-tags li:before{content:"#";color:var(--accent-ink)}@media (max-width:899px){.lab .lp-plate{display:grid;grid-template-columns:64px minmax(0,1fr)}.lab .lp-plate:before{grid-column:1/-1}.lab .lp-plate-glyph{padding:10px;border-bottom:none;border-right:1px solid var(--line);align-items:center}.lab .lp-plate-glyph .lab-glyph{width:40px;height:40px}.lab .lp-plate dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lab .lp-plate dl>div{grid-template-columns:1fr;gap:1px;padding:6px 12px;border-bottom:none;border-left:1px solid var(--line)}.lab .lp-plate dl>div:nth-child(odd){border-left:none}.lab .lp-plate dt{font-size:10px}.lab .lp-plate dd{font-size:12.5px}.lab .lp-tags{grid-column:1/-1;border-top:1px solid var(--line);padding:8px 12px 10px}}.lab .lp-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0 52px;margin-top:38px}.lab .lp-toc{display:none}.lab .lp-toc-mobile{max-width:var(--measure);margin-bottom:26px;padding:10px 14px;background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius)}.lab .lp-toc-mobile summary{cursor:pointer;font-family:var(--font-mono),monospace;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.lab .lp-toc-mobile ol{margin:10px 0 2px;padding-left:1.4em;font-size:16px;line-height:1.5}.lab .lp-toc-mobile li{margin:4px 0}@media (min-width:1180px){.lab .lp-grid.has-toc{grid-template-columns:minmax(0,960px) 230px}.lab .lp-grid.has-toc .lp-toc-mobile{display:none}.lab .lp-toc{display:block;position:sticky;top:var(--sticky-top);align-self:start;max-height:calc(100vh - var(--sticky-top) - 20px);overflow:auto;padding-left:18px;border-left:var(--bw) solid var(--edge)}}.lab .lp-toc ol{list-style:none;margin:12px 0 0;padding:0}.lab .lp-toc li{margin:0 0 5px}.lab .lp-toc a{display:flex;gap:9px;min-height:24px;padding:2px 0;text-decoration:none;font-size:14.5px;line-height:1.35;color:var(--dim)}.lab .lp-toc a .t{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.lab .lp-toc a:hover{color:var(--ink)}.lab .lp-toc .n{font-family:var(--font-mono),monospace;font-size:12px;font-weight:700;color:var(--accent-ink);padding-top:2px}.lab .lab-prose{min-width:0;max-width:1000px;font-size:18px;line-height:1.7}.lab .lab-prose :is(p,ul,ol,blockquote,h2,h3,h4,dl,hr){max-width:var(--measure)}.lab .lab-prose p{margin:0 0 1.1em}.lab .lab-prose h2{font-weight:800;font-size:clamp(24px,2.6vw,30px);line-height:1.2;letter-spacing:-.01em;margin:1.9em 0 .6em;padding-top:.55em;border-top:1px solid var(--line);scroll-margin-top:var(--sticky-top)}.lab .lab-prose>.lab-flow:first-of-type>h2:first-child{margin-top:0;padding-top:0;border-top:none}.lab .lab-prose h3{font-weight:700;font-size:21px;line-height:1.3;margin:1.6em 0 .5em;scroll-margin-top:var(--sticky-top)}.lab .lab-prose h4{font-family:var(--font-mono),monospace;font-size:14px;letter-spacing:.1em;text-transform:uppercase;margin:1.4em 0 .4em}.lab .lab-prose a{color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.lab .lab-prose a:hover{text-decoration-thickness:2px}.lab .lab-prose ul{list-style:disc;padding-left:1.3em;margin:0 0 1.1em}.lab .lab-prose ol{list-style:decimal;padding-left:1.5em;margin:0 0 1.1em}.lab .lab-prose li{margin:.3em 0}.lab .lab-prose li::marker{color:var(--accent-ink)}.lab .lab-prose li>p{margin:0 0 .5em}.lab .lab-prose strong{font-weight:700}.lab .lab-prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:3px solid var(--accent);color:var(--dim)}.lab .lab-prose blockquote p:last-child{margin-bottom:0}.lab .lab-prose hr{border:none;border-top:var(--bw) solid var(--edge);margin:2em 0}.lab .lab-prose :not(pre)>code{font-family:var(--font-mono),monospace;font-size:.86em;background:var(--tint);padding:.1em .35em;border-radius:3px;overflow-wrap:anywhere}.lab .lab-prose figure[data-rehype-pretty-code-figure]{margin:1.4em 0}.lab .lab-prose pre{font-family:var(--font-mono),monospace;font-size:14px;line-height:1.6;margin:1.4em 0;background:var(--code-bg);color:var(--code-ink);padding:16px 18px;border:var(--bw) solid var(--edge);border-radius:var(--radius);overflow-x:auto}.lab .lab-prose pre code{background:none;padding:0;font-size:inherit}.lab .lab-prose pre span[style*="#6A737D" i]{color:#9aa5b1!important}.lab .lab-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.4em 0;font-size:15.5px;line-height:1.5}.lab .lab-prose td,.lab .lab-prose th{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}@media (max-width:700px){.lab .lab-prose :is(th,td){min-width:11ch}.lab .lab-prose table{font-size:14.5px}}.lab .lab-prose thead th{background:var(--panel);border-bottom:var(--bw) solid var(--edge);font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.lab .lab-prose img{max-width:100%;height:auto;border:var(--bw) solid var(--edge);border-radius:2px}.lab .lab-prose ul.contains-task-list{list-style:none;padding-left:0}.lab .lab-prose li.task-list-item{display:flex;gap:12px;align-items:baseline;margin:6px 0;padding:8px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.lab .lab-prose li.task-list-item>p{display:flex;gap:12px;align-items:baseline;margin:0}.lab .lab-prose li.task-list-item input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:17px;height:17px;margin:0;position:relative;top:3px;border:1.5px solid var(--edge);border-radius:3px;background:var(--ground)}.lab .lab-prose li.task-list-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}html.phosphor .lab .lab-prose li.task-list-item input[type=checkbox]:not(:checked){border-color:var(--dim)}.lab .lab-prose li.task-list-item input[type=checkbox]:checked:after{content:"";position:absolute;left:4.5px;top:1px;width:5px;height:9px;border:solid var(--ground);border-width:0 2px 2px 0;transform:rotate(45deg)}.lab .lab-figure{margin:1.8em 0;background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius)}.lab .lab-figcap{display:flex;justify-content:space-between;gap:10px;padding:6px 12px;border-bottom:1px solid var(--line);font-family:var(--font-mono),monospace;font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--accent-ink)}.lab .lab-figure-body{padding:18px;overflow-x:auto;overscroll-behavior-x:contain}.lab .lab-figure-body>div{width:100%}.lab .lab-figure-body svg{display:block;height:auto;margin:0 auto}.lab .lab-figcap-dim{font-weight:400;color:var(--dim);letter-spacing:.06em}.lab[data-section=engineering] .lab-figcap-dim{color:var(--nb-ink)}.lab .lab-figure-body[data-folded]{max-height:520px;overflow-y:hidden;-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}.lab .lab-unfold{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:10px 14px;cursor:pointer;font-family:var(--font-mono),monospace;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);background:var(--panel);border:none;border-top:1px solid var(--line)}.lab .lab-unfold:hover{background:var(--tint)}.lab .lab-unfold:focus-visible{outline-offset:-3px}.lab .lab-prose .lab-mermaid-src{width:100%;margin:0;padding:0;background:none;border:none;color:var(--ink);font-family:var(--font-mono),monospace;font-size:13.5px;line-height:1.55;white-space:pre;overflow-x:auto}.lab .lab-rulehead{display:flex;align-items:center;gap:12px;margin:56px 0 16px;font-family:var(--font-mono),monospace;font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}.lab .lab-rulehead:after{content:"";flex:1;height:1px;background:var(--line)}.lab .lp-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}.lab .lp-related a{display:grid;grid-template-columns:40px minmax(0,1fr);gap:3px 12px;height:100%;padding:12px 14px;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:border-color .2s}.lab .lp-related a:hover{border-color:var(--accent)}.lab .lp-related .lab-glyph{width:40px;height:40px;grid-row:span 2}.lab .lp-related .t{font-weight:700;font-size:17px;line-height:1.3}.lab .lp-related .s{font-size:14.5px;line-height:1.45;color:var(--dim)}.lab .lp-pager{display:grid;grid-template-columns:1fr auto 1fr;gap:12px 20px;margin-top:52px;padding-top:16px;border-top:var(--bw) solid var(--edge)}.lab .lp-pager a{display:flex;flex-direction:column;gap:4px;padding:8px 0;text-decoration:none}.lab .lp-pager .k,.lab .lp-pager a:hover .t{color:var(--accent-ink)}.lab .lp-pager .k{font-family:var(--font-mono),monospace;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.lab .lp-pager .t{font-weight:700;font-size:16px;line-height:1.3}.lab .lp-pager .up{text-align:center}.lab .lp-pager .next{text-align:right}@media (max-width:640px){.lab .lp-pager{grid-template-columns:1fr}.lab .lp-pager .next,.lab .lp-pager .up{text-align:left}}.lab .lx{margin-top:8px}.lab .lx-role{margin:16px 0 0;max-width:46em;font-size:15px;line-height:1.55;color:var(--dim)}.lab .lx-role a{color:var(--accent-ink);font-weight:600;text-underline-offset:3px}.lab .lx-head h2{scroll-margin-top:var(--sticky-top)}.lab .lx-band{padding:26px 0 22px;border-bottom:var(--bw) solid var(--edge)}.lab .lx-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}.lab .lx-num{min-width:2ch;font-family:var(--font-mono),monospace;font-size:15px;font-weight:700;color:var(--accent-ink)}.lab .lx-head h2{font-weight:900;font-size:clamp(26px,3.2vw,36px);letter-spacing:-.015em}.lab .lx-head h2 a{text-decoration:none;background:linear-gradient(var(--accent),var(--accent)) 0 100% /0 3px no-repeat;transition:background-size .25s}.lab .lx-head h2 a:hover{background-size:100% 3px}.lab .lx-count{font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.lab .lx-sum{margin:6px 0 14px;max-width:70ch;font-size:16.5px;line-height:1.5;color:var(--dim)}.lab .lx-empty{font-family:var(--font-mono),monospace;font-size:13px;color:var(--dim)}.lab .lx-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:0 32px}.lab .lx-list a{display:grid;grid-template-columns:52px 28px minmax(0,1fr) auto;grid-template-areas:"ref g t meta" ". . s s";gap:2px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);text-decoration:none}.lab .lx-list a:hover .lx-t{color:var(--accent-ink)}.lab .lx-ref{grid-area:ref;font-family:var(--font-mono),monospace;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}.lab .lx-list .lab-glyph{grid-area:g;width:28px;height:28px;stroke-width:3}.lab .lx-t{grid-area:t;font-weight:700;font-size:17px;line-height:1.3}.lab .lx-meta{grid-area:meta;display:flex;align-items:center;gap:10px;font-family:var(--font-mono),monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.lab .lx-s{grid-area:s;font-size:14.5px;line-height:1.45;color:var(--dim)}@media (max-width:640px){.lab .lx-list a{grid-template-columns:28px minmax(0,1fr);grid-template-areas:"g t" ". meta" ". s"}.lab .lx-ref{display:none}}.lab .lab-svg{color:var(--lab-ink)}.lab [data-zoomable]{cursor:zoom-in}.lab .lp-hero{margin:30px 0 0}.lab .li-hero{margin:26px 0 0}.lab .li-hero .lab-hero-media img{aspect-ratio:21/8;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 40%;object-position:50% 40%;max-height:none}.lab .li-hero .lab-hero-media svg{max-height:min(46vh,440px)}@media (max-width:640px){.lab .li-hero .lab-hero-media img{aspect-ratio:4/3}}.lab .lab-hero-frame{padding:clamp(10px,2vw,22px);background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius);overflow:hidden}.lab .lab-hero-media img,.lab .lab-hero-media svg{display:block;width:100%;height:auto;max-height:min(70vh,640px);margin:0 auto;-o-object-fit:contain;object-fit:contain}.lab .lc-thumb{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--ground);border:1px solid var(--line);border-radius:2px}.lab .lc-thumb img,.lab .lc-thumb svg{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.lab[data-section=projects] .lc-window.has-thumb .lc-thumb{aspect-ratio:1;border:none}.lab[data-section=concepts] .lc-window.has-thumb{position:static;margin:0 0 4px}.lab[data-section=research] .lc-window.has-thumb .lc-thumb{aspect-ratio:4/3}.lab[data-section=guides] .lc-window.has-thumb .lc-thumb{width:100%;aspect-ratio:4/3;background:var(--panel);border-color:var(--line)}.lab[data-section=guides] .lc-window.has-thumb .lc-thumb svg{-o-object-fit:contain;object-fit:contain}.lab .lab-prose .lab-image{margin:1.8em 0}.lab .lab-image-frame{padding:14px;overflow-x:auto;overscroll-behavior-x:contain;background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius)}.lab .lab-image-frame>img,.lab .lab-image-frame>svg{display:block;width:100%;height:auto;margin:0 auto;border:none;min-width:var(--fig-min,0);max-width:var(--fig-max,none)}.lab .lab-prose .lab-image figcaption{max-width:var(--measure);margin-top:8px;font-family:var(--font-mono),monospace;font-size:12.5px;line-height:1.5;letter-spacing:.04em;color:var(--dim)}.lab .lab-prose .lab-image figcaption:before{content:"Fig · ";font-weight:700;color:var(--accent-ink)}.lab .lab-inline-svg svg{display:inline-block;width:auto;height:1.2em;vertical-align:-.2em}.lab[data-section=case-studies] .lab-image-frame{border-radius:0;background-image:linear-gradient(var(--tint) 1px,transparent 1px),linear-gradient(90deg,var(--tint) 1px,transparent 1px);background-size:12px 12px}.lab[data-section=engineering] .lab-image-frame{border:3px solid var(--edge);border-radius:0;box-shadow:6px 6px 0 var(--nb-shadow)}.lab .lab-zoom{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;background:var(--ground)}.lab .lab-zoom-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:var(--bw) solid var(--edge);letter-spacing:.08em;color:var(--dim)}.lab .lab-zoom-bar,.lab .lab-zoom-close{font-family:var(--font-mono),monospace;font-size:12px;text-transform:uppercase}.lab .lab-zoom-close{letter-spacing:.12em;color:var(--ink);cursor:pointer;background:var(--panel);border:1.5px solid var(--edge);border-radius:4px;padding:5px 12px}.lab .lab-zoom-close:hover{border-color:var(--accent)}.lab .lab-zoom-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.lab .lab-zoom-content{width:min(94vw,1600px);padding:24px}.lab .lab-zoom-content img,.lab .lab-zoom-content svg{display:block;width:100%;height:auto;max-height:82vh;min-width:0!important;max-width:none;margin:0 auto;-o-object-fit:contain;object-fit:contain}.lab .lab-zoom-content .lab-mermaid-src{white-space:pre;font-family:var(--font-mono),monospace;font-size:14px;color:var(--ink)}@media (max-width:640px){.lab .lab-zoom-bar span{display:none}}.lab .lab-tag a{text-decoration:none}.lab .lab-tag a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.lab .lx-loop{margin-top:14px;font-family:var(--font-mono),monospace;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.lab .lx-loop a{color:var(--accent-ink);text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:2px}.lab .loop-feature{margin-top:30px}.lab .loop-figure figcaption{margin-top:8px;font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.06em;color:var(--dim)}.lab .loop-figure .lab-hero-frame{max-width:1040px;margin:0 auto}.lab .loop-figure figcaption{text-align:center}.lab .loop-svg{display:block;width:100%;height:auto}.lab .loop-svg .loop-kicker{font-family:var(--font-archivo),system-ui,sans-serif;font-weight:900;font-size:34px;letter-spacing:-.01em;fill:var(--lab-ink,#26211D)}.lab .loop-svg .loop-subtitle{font-size:17px}.lab .loop-svg .loop-n,.lab .loop-svg .loop-subtitle{font-family:var(--font-mono),monospace;fill:var(--lab-muted,#6B5F54)}.lab .loop-svg .loop-n{font-size:22px}.lab .loop-svg .loop-name{font-family:var(--font-archivo),system-ui,sans-serif;font-weight:800;font-size:24px;letter-spacing:.02em;fill:var(--lab-ink,#26211D)}.lab .loop-svg .loop-sub{font-family:var(--font-mono),monospace;font-size:13px;fill:var(--lab-muted,#6B5F54)}.lab .loop-svg .loop-centre{font-family:var(--font-archivo),system-ui,sans-serif;font-weight:800;font-size:50px;letter-spacing:.01em;fill:var(--lab-accent,#5B3FD6)}.lab .loop-svg .loop-surface{font-style:italic;font-size:17px}.lab .loop-svg .loop-surface,.lab .loop-svg .loop-tagline{font-family:var(--font-mono),monospace;fill:var(--lab-muted,#6B5F54)}.lab .loop-svg .loop-tagline{font-size:16px}.lab .loop-svg .loop-tk{fill:var(--lab-muted,#6B5F54)}.lab .loop-svg .loop-tk,.lab .loop-svg .loop-tv{font-family:var(--font-mono),monospace;font-size:11.5px}.lab .loop-svg .loop-tv{font-weight:700;fill:var(--lab-ink,#26211D)}.lab .loop-svg .loop-stage rect{transition:stroke .2s,fill .2s}.lab .loop-svg .loop-stage:focus-visible rect,.lab .loop-svg .loop-stage:hover rect{stroke:var(--lab-accent,#5B3FD6);fill:var(--lab-accent-soft,rgba(153,119,255,.18))}.lab .loop-svg .loop-stage:focus-visible{outline:none}html.phosphor .lab .loop-svg .loop-centre{filter:drop-shadow(0 0 10px rgba(123,232,168,.35))}html.phosphor .lab .loop-svg .loop-n{font-family:var(--font-vt),monospace;font-size:28px;fill:var(--lab-accent-2,#E8C47B)}.lab .loop-stages{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:none}@media (max-width:1000px){.lab .loop-stages{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}}.lab .loop-stages li{position:relative;padding:14px 16px 16px;background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius);scroll-margin-top:var(--sticky-top)}.lab .loop-stages li:target{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.lab .loop-stages li:not(:last-child):after{content:"→";position:absolute;right:-13px;top:14px;font-family:var(--font-mono),monospace;color:var(--accent-ink)}@media (max-width:1000px){.lab .loop-stages li:after{display:none}}.lab .loop-stages .n{font-family:var(--font-mono),monospace;font-size:13px;font-weight:700;color:var(--accent-ink)}.lab .loop-stages .loop-stage-name{margin:4px 0 6px;font-weight:900;font-size:22px;letter-spacing:-.01em}.lab .loop-stages .loop-stage-sub{font-size:15px;line-height:1.45;color:var(--dim)}.lab .loop-stages .loop-stage-feeds{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.lab .lp[data-feature] .lp-grid{margin-top:44px}.lab .lab-sheet{max-width:1240px;margin:0 auto;padding:22px clamp(16px,3vw,32px) 42px;border-top:var(--bw) solid var(--edge);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:flex-end}.lab .lab-tag{margin-bottom:10px;font-size:12.5px;letter-spacing:.05em;color:var(--dim)}.lab .lab-foot-nav,.lab .lab-tag{font-family:var(--font-mono),monospace}.lab .lab-foot-nav{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.lab .lab-foot-nav a{display:inline-block;padding:4px 0;color:var(--dim);text-decoration:none}.lab .lab-foot-nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.lab .lab-tblock{display:grid;grid-template-columns:auto auto;-moz-column-gap:16px;column-gap:16px;row-gap:4px;padding:10px 14px;background:var(--panel);border:var(--bw) solid var(--edge);font-family:var(--font-mono),monospace;font-size:11.5px;letter-spacing:.05em}.lab .lab-tblock .k{color:var(--dim)}.lab .lab-tblock .v{font-weight:700;overflow-wrap:anywhere}html.phosphor .lab .lab-tblock .k{color:var(--dim)}html.phosphor .lab .lab-tblock .v{color:var(--accent-ink)}.lab[data-section=projects] .li-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr))}.lab[data-section=projects] .lc-link{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"top top" "win text" "foot foot";gap:0 16px;padding:0;border-radius:2px}.lab[data-section=projects] .lc-top{grid-area:top;padding:7px 12px;background:var(--invert-bg);color:var(--invert-ink);border-bottom:var(--bw) solid var(--edge)}.lab[data-section=projects] .lc-num{color:var(--accent)}.lab[data-section=projects] .lc-num:before{content:"REF ";color:var(--invert-ink);opacity:.7}.lab[data-section=projects] .lc-top .lab-lamp{color:var(--invert-ink)}.lab[data-section=projects] .lab-lamp i{width:10px;height:10px;box-shadow:0 0 0 2px var(--invert-bg),0 0 0 3px var(--dim)}.lab[data-section=projects] .lc-window{grid-area:win;align-self:start;margin:16px 0 16px 14px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:var(--bw) solid var(--edge);background:linear-gradient(var(--line),var(--line)) 50% /1px 100% no-repeat,linear-gradient(var(--line),var(--line)) 50% /100% 1px no-repeat,var(--ground)}.lab[data-section=projects] .lc-glyph{width:62px;height:62px}.lab[data-section=projects] .lc-text{grid-area:text;padding:16px 14px 16px 0}.lab[data-section=projects] .lc-foot{grid-area:foot;margin:0;padding:7px 12px}.lab[data-section=projects] .lp-plate{border-width:2px;border-radius:3px}.lab[data-section=projects] .lp-plate:before{content:"Instrument reference";display:block;padding:6px 14px;background:var(--invert-bg);color:var(--invert-ink);font-family:var(--font-mono),monospace;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.lab[data-section=projects] .lp-plate-glyph{background:radial-gradient(circle at 12px 12px,var(--dim) 2.5px,transparent 3.2px),radial-gradient(circle at calc(100% - 12px) 12px,var(--dim) 2.5px,transparent 3.2px),radial-gradient(circle at 12px calc(100% - 12px),var(--dim) 2.5px,transparent 3.2px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),var(--dim) 2.5px,transparent 3.2px),var(--tint)}html.phosphor .lab[data-section=projects] .lp-title{text-shadow:0 0 22px rgba(232,196,123,.2)}html.phosphor .lab[data-section=operations] .lp-plate dd,html.phosphor .lab[data-section=projects] .lp-plate dd{font-family:var(--font-vt),monospace;font-weight:400;font-size:20px;line-height:1.1;color:var(--accent-ink)}html.phosphor .lab[data-section=operations] .lp-plate dd .lab-lamp,html.phosphor .lab[data-section=projects] .lp-plate dd .lab-lamp{font-family:var(--font-mono),monospace;font-size:11.5px}html.phosphor .lab .lp[data-family=vox] .lp-head{background:radial-gradient(ellipse 60% 90% at 18% 0,rgba(232,196,123,.1),transparent 70%),repeating-linear-gradient(0deg,rgba(232,196,123,.035) 0 1px,transparent 1px 3px);margin:0 calc(-1 * clamp(16px, 3vw, 32px));padding-left:clamp(16px,3vw,32px);padding-right:clamp(16px,3vw,32px)}html.phosphor .lab .lp[data-family=vox] .lp-title .ttl-main{color:#e8c47b;text-shadow:0 0 24px rgba(232,196,123,.28),0 0 2px rgba(232,196,123,.5)}html.phosphor .lab .lp[data-family=vox] .lab-eyebrow{font-family:var(--font-vt),monospace;font-size:21px;font-weight:400;letter-spacing:.06em}html.phosphor .lab .lp[data-family=vox] .lp-plate{border-color:rgba(232,196,123,.55);box-shadow:0 0 0 1px rgba(232,196,123,.12),0 0 28px rgba(232,196,123,.06)}html.phosphor .lab .lp[data-family=vox] .lp-plate:before{background:#e8c47b;color:#0b0f0c;content:"VOX OS · Unit reference"}html.phosphor .lab :is(.lp[data-family=vox],[data-section=operations] .lp) .lp-hero .lab-hero-frame{position:relative}html.phosphor .lab[data-section=operations] .lp-hero img{filter:grayscale(1) sepia(1) hue-rotate(82deg) saturate(2) brightness(.82) contrast(1.1)}html.phosphor .lab :is(.lp[data-family=vox],[data-section=operations] .lp) .lp-hero .lab-hero-frame:after{content:"";position:absolute;inset:clamp(10px,2vw,22px);pointer-events:none;background:linear-gradient(rgba(232,196,123,.22),rgba(232,196,123,.22)) 33.33% 0 /1px 100% no-repeat,linear-gradient(rgba(232,196,123,.22),rgba(232,196,123,.22)) 66.66% 0 /1px 100% no-repeat,linear-gradient(rgba(232,196,123,.22),rgba(232,196,123,.22)) 0 33.33% /100% 1px no-repeat,linear-gradient(rgba(232,196,123,.22),rgba(232,196,123,.22)) 0 66.66% /100% 1px no-repeat,repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);box-shadow:inset 0 0 0 1px rgba(232,196,123,.35)}html.phosphor .lab .lp[data-family=vox] .lab-prose h2{color:#e8c47b}html.phosphor .lab .lp[data-family=vox] .lab-prose h2:before{content:"▸ ";color:#e8c47b;font-family:var(--font-mono),monospace}.lab[data-section=concepts] .li-title{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:clamp(46px,7vw,96px);letter-spacing:-.01em}.lab[data-section=concepts] .li-cards{gap:0;border-top:var(--bw) solid var(--edge);grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}.lab[data-section=concepts] .lc-link{background:transparent;border:none;border-radius:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:22px 22px 16px}.lab[data-section=concepts] .lc-link:hover{background:var(--panel);box-shadow:none}.lab[data-section=concepts] .lc-top .lab-lamp{display:none}.lab[data-section=concepts] .lc-window{position:absolute;top:18px;right:18px;margin:0}.lab[data-section=concepts] .lc-glyph{width:38px;height:38px}.lab[data-section=concepts] .lc-text{margin-top:18px}.lab[data-section=concepts] .lc-title{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:29px;line-height:1.08}.lab[data-section=concepts] .lc-sum{font-family:var(--font-serif-text),Georgia,serif;font-style:italic;font-size:17px}.lab[data-section=concepts] .lc-foot{border-top:none}@media (min-width:680px){.lab[data-section=concepts] .lc:first-child{grid-column:span 2}.lab[data-section=concepts] .lc:first-child .lc-title{font-size:clamp(36px,4.4vw,52px);max-width:16ch}.lab[data-section=concepts] .lc:first-child .lc-sum{font-size:20px;max-width:46ch}}.lab[data-section=concepts] .lp-title{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:clamp(42px,6vw,80px);line-height:1.02;letter-spacing:-.01em;max-width:15ch}.lab[data-section=concepts] .lp-summary{font-family:var(--font-serif-text),Georgia,serif;font-style:italic;font-size:clamp(19px,2vw,23px);color:var(--ink)}.lab[data-section=concepts] .lab-prose{font-family:var(--font-serif-text),Georgia,serif;font-size:19px;line-height:1.75;max-width:980px}.lab[data-section=concepts] .lab-prose h2{font-family:var(--font-serif),Georgia,serif;font-weight:700;font-size:clamp(27px,3vw,35px);border-top:none;padding-top:0}.lab[data-section=concepts] .lab-prose h3{font-family:var(--font-archivo),system-ui,sans-serif}.lab[data-section=concepts] .lab-prose>.lab-flow:first-of-type>p:first-of-type{font-size:1.16em;line-height:1.62;max-width:60ch}.lab[data-section=concepts] .lab-prose>.lab-flow:first-of-type>p:first-of-type:first-line{font-variant-caps:all-small-caps;letter-spacing:.045em;font-weight:600}.lab[data-section=concepts] .lp-grid.has-toc{grid-template-columns:minmax(0,1fr)}.lab[data-section=concepts] .lp-grid.has-toc .lp-toc{display:none}.lab[data-section=concepts] .lp-grid.has-toc .lp-toc-mobile{display:block}@media (min-width:1180px){.lab[data-section=concepts] .lab-prose blockquote{float:right;clear:right;width:220px;margin:.3em 0 1em 30px;padding:0 0 0 12px;border-left:2px solid var(--accent);font-family:var(--font-mono),monospace;font-size:13.5px;line-height:1.55;color:var(--dim)}}.lab[data-section=engineering]{--nb-mint:#62f6b5;--nb-yellow:#ffdd03;--nb-violet:#9977ff;--nb-ink:#26211d}.lab[data-section=engineering] .li-num{color:var(--nb-ink);-webkit-text-stroke:0;background:var(--nb-yellow);padding:12px 14px 4px;border:3px solid var(--edge);box-shadow:6px 6px 0 var(--nb-shadow);text-shadow:none}html.phosphor .lab[data-section=engineering] .li-num{color:var(--nb-ink)}.lab[data-section=engineering] .li-block{border:3px solid var(--edge);border-radius:0;box-shadow:6px 6px 0 var(--nb-shadow)}.lab[data-section=engineering] .li-block-head{background:var(--nb-violet);color:var(--nb-ink);border-bottom:3px solid var(--edge)}.lab[data-section=engineering] .li-cards{gap:28px 24px}.lab[data-section=engineering] .lc-link{padding:0;border:3px solid var(--edge);border-radius:0;box-shadow:6px 6px 0 var(--nb-shadow);transition:transform .15s,box-shadow .15s}.lab[data-section=engineering] .lc-link:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--nb-shadow);border-color:var(--edge)}.lab[data-section=engineering] .lc{--nb-fill:var(--nb-mint)}.lab[data-section=engineering] .lc:nth-child(3n+2){--nb-fill:var(--nb-yellow)}.lab[data-section=engineering] .lc:nth-child(3n){--nb-fill:var(--nb-violet)}.lab[data-section=engineering] .lc-top{padding:8px 14px;background:var(--nb-fill);color:var(--nb-ink);border-bottom:3px solid var(--edge)}.lab[data-section=engineering] .lc-num{color:var(--nb-ink);font-size:13px}.lab[data-section=engineering] .lc-num:before{content:"Rule "}.lab[data-section=engineering] .lc-top .lab-lamp{color:var(--nb-ink)}.lab[data-section=engineering] .lc-window{margin:16px 14px 0}.lab[data-section=engineering] .lc-text{padding:12px 14px 0}.lab[data-section=engineering] .lc-title{font-weight:900;text-transform:uppercase;font-size:21px;letter-spacing:0}.lab[data-section=engineering] .lc-foot{margin:16px 0 0;padding:8px 14px;border-top:3px solid var(--edge)}.lab[data-section=engineering] .lp-plate{border:3px solid var(--edge);border-radius:0;box-shadow:8px 8px 0 var(--nb-shadow)}.lab[data-section=engineering] .lp-plate-glyph{--accent:var(--nb-violet);background:var(--nb-mint);color:var(--nb-ink);border-bottom:3px solid var(--edge)}.lab[data-section=engineering] .lp-plate-glyph .lab-glyph{color:var(--nb-ink)}.lab[data-section=engineering] .lab-btn{border:3px solid var(--edge);box-shadow:4px 4px 0 var(--nb-shadow);transition:transform .15s,box-shadow .15s}.lab[data-section=engineering] .lab-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--nb-shadow)}.lab[data-section=engineering] .lab-prose{counter-reset:rule}.lab[data-section=engineering] .lab-prose h2{counter-increment:rule;display:flex;align-items:center;gap:14px;border-top:none;padding-top:0}.lab[data-section=engineering] .lab-prose h2:before{content:counter(rule,decimal-leading-zero);flex:none;padding:5px 9px;font-family:var(--font-mono),monospace;font-size:16px;font-weight:800;letter-spacing:0;background:var(--nb-yellow);color:var(--nb-ink);border:3px solid var(--edge);box-shadow:3px 3px 0 var(--nb-shadow)}.lab[data-section=engineering] .lab-prose blockquote{padding:14px 18px;background:var(--nb-yellow);color:var(--nb-ink);border:3px solid var(--edge);box-shadow:5px 5px 0 var(--nb-shadow)}.lab[data-section=engineering] .lab-prose blockquote a{color:var(--nb-ink)}.lab[data-section=engineering] .lab-prose td,.lab[data-section=engineering] .lab-prose th{border:2px solid var(--edge)}.lab[data-section=engineering] .lab-prose thead th{background:var(--nb-mint);color:var(--nb-ink)}.lab[data-section=engineering] .lab-figure,.lab[data-section=engineering] .lab-prose pre{border:3px solid var(--edge);border-radius:0;box-shadow:6px 6px 0 var(--nb-shadow)}.lab[data-section=engineering] .lab-prose .lab-mermaid-src{box-shadow:none}.lab[data-section=engineering] .lab-figcap{background:var(--nb-violet);color:var(--nb-ink);border-bottom:3px solid var(--edge)}.lab[data-section=engineering] .lab-prose li.task-list-item{border:2px solid var(--edge);border-radius:0}html.phosphor .lab[data-section=engineering]{--edge:#d8e5da}.lab[data-section=skills] .li-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:22px 18px}.lab[data-section=skills] .lc-window.has-thumb{position:static;width:auto;margin:10px -4px 12px}.lab[data-section=skills] .lc-window.has-thumb .lc-thumb{aspect-ratio:16/10;background:var(--ground);border:1px solid var(--line);border-radius:2px;box-shadow:inset 0 2px 6px rgba(38,33,29,.22),inset 0 0 0 4px var(--card-paper)}.lab[data-section=skills] .lc-window.has-thumb .lc-thumb svg{-o-object-fit:contain;object-fit:contain;padding:6px}.lab[data-section=skills] .lc-window.has-thumb+.lc-text{margin-top:0;padding-right:0}.lab[data-section=skills] .lc-title .ttl-main{display:inline-block;padding:3px 9px;border-radius:2px;background:var(--invert-bg);color:var(--invert-ink);font-size:15px;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(242,237,224,.25)}.lab[data-section=skills] .lc-title .ttl-sub{margin-top:8px;font-size:13.5px;color:var(--ink);font-weight:400}.lab[data-section=skills] .lc-sum{-webkit-line-clamp:3}html.phosphor .lab[data-section=skills] .lc-window.has-thumb .lc-thumb{box-shadow:inset 0 2px 8px rgba(0,0,0,.6),inset 0 0 0 4px var(--card-paper)}.lab[data-section=skills] .lc-link{padding:14px 18px 38px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:3px;background-color:var(--card-paper);background-image:repeating-linear-gradient(to bottom,transparent 0 25px,var(--tint) 25px 26px);background-position:0 50px;box-shadow:0 2px 0 -1px var(--card-paper),0 2px 0 0 var(--line),0 5px 0 -1px var(--card-paper),0 5px 0 0 var(--line);font-family:var(--font-mono),monospace}.lab[data-section=skills] .lc-link:after{content:"";position:absolute;left:50%;bottom:11px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:var(--ground);box-shadow:inset 0 1px 2px rgba(0,0,0,.35)}.lab[data-section=skills] .lc-link:hover{border-color:var(--line);border-top-color:var(--accent);box-shadow:0 2px 0 -1px var(--card-paper),0 2px 0 0 var(--line),0 5px 0 -1px var(--card-paper),0 5px 0 0 var(--line),0 12px 22px rgba(38,33,29,.12)}.lab[data-section=skills] .lc-num:before{content:"Call no. ";color:var(--dim);font-weight:400}.lab[data-section=skills] .lc-window{position:absolute;top:40px;right:16px;margin:0}.lab[data-section=skills] .lc-glyph{width:38px;height:38px}.lab[data-section=skills] .lc-text{margin-top:14px;padding-right:48px}.lab[data-section=skills] .lc-title{font-family:var(--font-mono),monospace;font-size:18px;font-weight:700;letter-spacing:.01em}.lab[data-section=skills] .lc-sum{font-family:var(--font-mono),monospace;font-size:14px;line-height:26px;margin-top:4px}.lab[data-section=skills] .lc-foot{border-top:none}.lab[data-section=skills] .lp-plate{background:var(--invert-bg);color:var(--invert-ink);border:2px solid var(--edge);border-radius:7px;box-shadow:inset 0 0 0 4px var(--invert-bg),inset 0 0 0 5px rgba(242,237,224,.25)}.lab[data-section=skills] .lp-plate-glyph{background:transparent;border-bottom:1px solid rgba(242,237,224,.22)}.lab[data-section=skills] .lp-plate-glyph .lab-glyph{color:var(--invert-ink)}.lab[data-section=skills] .lp-plate dl>div{border-bottom-color:rgba(242,237,224,.16)}.lab[data-section=skills] .lp-plate dt{color:var(--invert-ink);opacity:.72}.lab[data-section=skills] .lp-plate .lab-lamp{color:var(--invert-ink)}.lab[data-section=skills] .lp-tags li{color:var(--invert-ink);border-color:rgba(242,237,224,.3)}.lab[data-section=skills] .lp-tags li:before{color:var(--invert-ink);opacity:.6}html.phosphor .lab[data-section=skills] .lp-plate{box-shadow:inset 0 0 0 4px var(--invert-bg),inset 0 0 0 5px var(--line)}.lab[data-section=skills] .lab-prose h2{display:inline-block;margin-top:1.7em;padding:5px 12px;border:none;border-radius:3px;background:var(--invert-bg);color:var(--invert-ink);font-family:var(--font-mono),monospace;font-size:15px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.lab[data-section=research] .li-cards{display:block;margin-top:0;border-top:var(--bw) solid var(--edge)}.lab[data-section=research] .li-group .li-cards{margin-top:0;border-top:none}.lab[data-section=research] .lc{display:block}.lab[data-section=research] .lc-link{display:grid;grid-template-columns:64px 56px minmax(0,1fr) 120px;grid-template-areas:"num g text date" "num g text mins";gap:0 14px;align-items:baseline;padding:12px 6px;background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0}.lab[data-section=research] .lc-link:hover{background:var(--tint);box-shadow:none}.lab[data-section=research] .lc-foot,.lab[data-section=research] .lc-top{display:contents}.lab[data-section=research] .lc-num{grid-area:num;font-size:12.5px}.lab[data-section=research] .lc-go,.lab[data-section=research] .lc-kind,.lab[data-section=research] .lc-top .lab-lamp{display:none}.lab[data-section=research] .lc-window{grid-area:g;margin:1px 0 0;align-self:start}.lab[data-section=research] .lc-glyph{width:26px;height:26px;stroke-width:3}.lab[data-section=research] .lc-text{grid-area:text}.lab[data-section=research] .lc-title{font-size:18px;font-weight:700}.lab[data-section=research] .lc-title .ttl-sub{font-size:15px;font-weight:500;margin-top:1px}.lab[data-section=research] .lc-sum{font-size:15px;margin-top:3px}.lab[data-section=research] .lc-date{grid-area:date;text-align:right;font-family:var(--font-mono),monospace;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums}.lab[data-section=research] .lc-mins{grid-area:mins;align-self:start;text-align:right;font-family:var(--font-mono),monospace;font-size:12px;color:var(--accent-ink)}.lab[data-section=research] .lc-mins:before{content:none}.lab[data-section=research] .lc-stage{display:none}@media (max-width:700px){.lab[data-section=research] .lc-link{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"g text text" ". date mins"}.lab[data-section=research] .lc-num{display:none}.lab[data-section=research] .lc-date{text-align:left;margin-top:4px}}.lab[data-section=research] .li-colheads{display:grid;grid-template-columns:64px 56px minmax(0,1fr) 120px;gap:0 14px;padding:6px;border-bottom:var(--bw) solid var(--edge);font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.lab[data-section=research] .li-colheads span:last-child{text-align:right}@media (max-width:700px){.lab[data-section=research] .li-colheads{display:none}}.lab[data-section=research] .lp-summary{color:var(--ink);padding-left:16px;border-left:3px solid var(--accent)}.lab[data-section=research] .lp-summary:before{content:"Abstract";display:block;margin-bottom:6px;font-family:var(--font-mono),monospace;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}.lab[data-section=research] .lp-plate{border-top:3px solid var(--accent);background-color:var(--card-paper)}.lab[data-section=case-studies] .li-cards{grid-template-columns:minmax(0,1fr);gap:28px}@media (min-width:860px){.lab[data-section=case-studies] .lc-link{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"top top" "win text" "win foot";-moz-column-gap:30px;column-gap:30px;padding:22px 24px 0}.lab[data-section=case-studies] .lc-top{grid-area:top;margin-bottom:14px}.lab[data-section=case-studies] .lc-window{grid-area:win;margin:0 0 22px}.lab[data-section=case-studies] .lc-window.has-thumb .lc-thumb{aspect-ratio:3/2;border:1px solid var(--edge)}.lab[data-section=case-studies] .lc-text{grid-area:text}.lab[data-section=case-studies] .lc-title{font-size:clamp(24px,2.4vw,32px)}.lab[data-section=case-studies] .lc-sum{font-size:17px;-webkit-line-clamp:6}.lab[data-section=case-studies] .lc-link .lc-foot{grid-area:foot;align-self:end;margin:18px -24px 0 0}}.lab[data-section=case-studies] .lc-link{padding:24px 24px 0;border-radius:0;background-color:var(--panel);background-image:linear-gradient(var(--tint) 1px,transparent 1px),linear-gradient(90deg,var(--tint) 1px,transparent 1px);background-size:12px 12px}.lab[data-section=case-studies] .lc-link:before{content:"";position:absolute;inset:7px;border:1px solid var(--line);pointer-events:none}.lab[data-section=case-studies] .lc-num:before{content:"Sheet "}.lab[data-section=case-studies] .lc-glyph{width:64px;height:64px}.lab[data-section=case-studies] .lc-title:after{content:"";display:block;width:min(100%,220px);height:9px;margin-top:9px;border-left:1px solid var(--dim);border-right:1px solid var(--dim);background:linear-gradient(var(--dim),var(--dim)) 50% /100% 1px no-repeat}.lab[data-section=case-studies] .lc-foot{margin:18px -24px 0;padding:0;gap:0;border-top:var(--bw) solid var(--edge);background:var(--panel);position:relative}.lab[data-section=case-studies] .lc-foot>*{padding:8px 14px}.lab[data-section=case-studies] .lc-foot>*+*{border-left:1px solid var(--line)}.lab[data-section=case-studies] .lc-go{padding-right:18px}.lab[data-section=case-studies] .lp-plate{border-radius:0}.lab[data-section=case-studies] .lab-prose{max-width:1100px}.lab[data-section=case-studies] .lp-grid.has-toc{grid-template-columns:minmax(0,1fr)}.lab[data-section=case-studies] .lp-grid.has-toc .lp-toc{display:none}.lab[data-section=case-studies] .lp-grid.has-toc .lp-toc-mobile{display:block}.lab[data-section=case-studies] .lab-figure{position:relative;border-radius:0;margin:2.2em 0;background-image:linear-gradient(var(--tint) 1px,transparent 1px),linear-gradient(90deg,var(--tint) 1px,transparent 1px);background-size:12px 12px}.lab[data-section=case-studies] .lab-figure:after{content:"";position:absolute;inset:5px;border:1px solid var(--line);pointer-events:none}.lab[data-section=case-studies] .lab-figcap:after{content:"Scale · not to scale";color:var(--dim);font-weight:400}.lab[data-section=case-studies] .lab-figure-body{padding:26px}.lab[data-section=operations] .li-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:14px}@media (min-width:700px){.lab[data-section=operations] .lc:first-child{grid-column:span 2}}.lab[data-section=operations] .lc-link{padding:12px;border-radius:6px}.lab[data-section=operations] .lc-top .lc-num{display:none}.lab[data-section=operations] .lc-top:not(:has(.lab-lamp)){display:none}.lab[data-section=operations] .lc-window{position:relative;display:flex;align-items:center;justify-content:center;height:104px;margin:10px 0 12px;overflow:hidden;background:#0e1310 repeating-linear-gradient(0deg,rgba(123,232,168,.07) 0 1px,transparent 1px 3px);border:1px solid var(--edge);border-radius:4px}.lab[data-section=operations] .lc-window .lab-glyph{color:#7be8a8;filter:drop-shadow(0 0 4px rgba(123,232,168,.45))}.lab[data-section=operations] .lc-window .g-accent{color:#e8c47b}.lab[data-section=operations] .lc-window:before{content:"CH " attr(data-ref);position:absolute;left:9px;top:5px;font-family:var(--font-vt),monospace;font-size:17px;color:#7be8a8}.lab[data-section=operations] .lc-window:after{content:"SIG OK";position:absolute;right:9px;bottom:4px;font-family:var(--font-vt),monospace;font-size:17px;color:#e8c47b}.lab[data-section=operations] .lc-title{font-family:var(--font-mono),monospace;font-size:16.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.lab[data-section=operations] .lc-window.has-thumb{height:auto;aspect-ratio:16/9}.lab[data-section=operations] .lc-window .lc-thumb{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border:none;border-radius:0;background:#0e1310}.lab[data-section=operations] .lc-window .lc-thumb img,.lab[data-section=operations] .lc-window .lc-thumb svg{filter:grayscale(1) contrast(1.15) brightness(.82);opacity:.9}.lab[data-section=operations] .lc-window .lc-thumb:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(8,12,9,.34) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55))}.lab[data-section=operations] .lc-window:after,.lab[data-section=operations] .lc-window:before{z-index:1;text-shadow:0 0 6px rgba(0,0,0,.9)}.lab[data-section=operations] .lc-window.has-thumb .lc-thumb:before{content:"";position:absolute;z-index:1;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;pointer-events:none;background:linear-gradient(#e8c47b,#e8c47b) 50% /1px 100% no-repeat,linear-gradient(#e8c47b,#e8c47b) 50% /100% 1px no-repeat;opacity:.7}@media (min-width:1100px){.lab[data-section=operations] .li-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}html.phosphor .lab[data-section=operations] .lc-window .lc-thumb img,html.phosphor .lab[data-section=operations] .lc-window .lc-thumb svg{filter:grayscale(1) sepia(1) hue-rotate(82deg) saturate(2.2) brightness(.78) contrast(1.1)}html.phosphor .lab[data-section=operations] .lab-eyebrow,html.phosphor .lab[data-section=operations] .lc-window:before,html.phosphor .lab[data-section=operations] .li-block dd{color:#e8c47b;text-shadow:0 0 8px rgba(232,196,123,.35)}.lab[data-section=operations] .lc-sum{font-size:15px}.lab[data-section=operations] .lp-plate-glyph{background:#0e1310 repeating-linear-gradient(0deg,rgba(123,232,168,.07) 0 1px,transparent 1px 3px)}.lab[data-section=operations] .lp-plate-glyph .lab-glyph{color:#7be8a8;filter:drop-shadow(0 0 5px rgba(123,232,168,.45))}.lab[data-section=operations] .lp-plate-glyph .g-accent{color:#e8c47b}.lab[data-section=operations] .lab-prose h2:before{content:"> ";color:var(--accent-ink);font-family:var(--font-mono),monospace}html.phosphor .lab[data-section=operations] .li-title,html.phosphor .lab[data-section=operations] .lp-title{text-shadow:0 0 18px rgba(123,232,168,.3)}html.phosphor .lab[data-section=operations] .lc-link{box-shadow:0 0 0 1px rgba(123,232,168,.12),0 0 18px rgba(123,232,168,.05)}html.phosphor .lab[data-section=operations] .lc-title{color:var(--accent-ink)}html.phosphor .lab[data-section=operations] .lab-eyebrow{font-family:var(--font-vt),monospace;font-size:20px;font-weight:400;letter-spacing:.08em}@media (prefers-reduced-motion:no-preference){html.phosphor .lab[data-section=operations] .lc-window:before{animation:lab-flicker 4.5s steps(1) 1}}@keyframes lab-flicker{0%,92%,to{opacity:1}94%{opacity:.55}96%{opacity:.9}}.lab[data-section=guides] .li-cards{grid-template-columns:1fr;gap:0;border-top:var(--bw) solid var(--edge);counter-reset:proc}.lab[data-section=guides] .lc-link{display:grid;grid-template-columns:200px minmax(0,1fr) auto;grid-template-areas:"win text go" "win foot foot";gap:0 26px;padding:24px 6px;background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0}.lab[data-section=guides] .lc-link:hover{background:var(--tint);box-shadow:none}.lab[data-section=guides] .lc-top{display:none}.lab[data-section=guides] .lc-window{grid-area:win;margin:0;display:flex;flex-direction:column;align-items:stretch;gap:8px}.lab[data-section=guides] .lc-window:before{content:"Guide " attr(data-ref);font-family:var(--font-mono),monospace;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.lab[data-section=guides] .lc-window:not(.has-thumb){justify-content:flex-start}.lab[data-section=guides] .lc-glyph{width:36px;height:36px}.lab[data-section=guides] .lc-text{grid-area:text}.lab[data-section=guides] .lc-title{font-size:clamp(22px,2.4vw,28px);font-weight:800}.lab[data-section=guides] .lc-sum{font-size:17px;max-width:70ch}.lab[data-section=guides] .lc-foot{grid-area:foot;border-top:none;margin-top:10px;padding-top:0}.lab[data-section=guides] .lc-foot .lc-go{display:none}.lab[data-section=guides] .lc-link:after{content:"Start →";grid-area:go;align-self:center;font-family:var(--font-mono),monospace;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}@media (max-width:640px){.lab[data-section=guides] .lc-link{grid-template-columns:112px minmax(0,1fr);grid-template-areas:"win text" "foot foot" "go go";gap:10px 16px}.lab[data-section=guides] .lc-link:after{justify-self:start}}.lab[data-section=guides] .lab-prose h2[data-step]{position:relative;border-top:var(--bw) solid var(--edge);padding-top:.8em}.lab[data-section=guides] .lab-prose h2[data-step]:not([data-step-labelled]):before{content:"Step " attr(data-step);display:block;margin-bottom:6px;font-family:var(--font-mono),monospace;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}@media (min-width:1180px){.lab[data-section=guides] .lab-prose{padding-left:92px}.lab[data-section=guides] .lab-prose h2 .step-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lab[data-section=guides] .lab-prose h2[data-step]:before,.lab[data-section=guides] .lab-prose h2[data-step]:not([data-step-labelled]):before{content:attr(data-step);display:block;position:absolute;left:-92px;top:.45em;margin:0;font-family:var(--font-archivo),system-ui,sans-serif;font-size:52px;font-weight:900;letter-spacing:-.04em;line-height:1;text-transform:none;color:transparent;-webkit-text-stroke:1.5px var(--accent-ink)}}.lab[data-section=guides] .lp-toc .n{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;padding:0;border:1.5px solid var(--accent);border-radius:50%;font-size:11px}.lab[data-section=guides] .lp-toc li{margin-bottom:12px}.lab[data-section=guides] .lp-toc .n[data-nostep]{border-color:transparent}.lab[data-section=guides] .lab-prose ol>li::marker{font-family:var(--font-mono),monospace;font-weight:700}html.phosphor .lab[data-section=guides] .lab-prose h2:before{text-shadow:0 0 14px rgba(255,178,122,.25)}.lab[data-section=lab] .lx-band[data-section=engineering] .lx-num{background:#ffdd03;color:#26211d;border:2px solid var(--edge);padding:0 5px;box-shadow:3px 3px 0 var(--nb-shadow)}.lab[data-section=lab] .lx-band[data-section=concepts] .lx-head h2{font-family:var(--font-serif),Georgia,serif;font-weight:700}.lab[data-section=lab] .lx-band[data-section=operations] .lx-num,.lab[data-section=lab] .lx-band[data-section=projects] .lx-num{font-family:var(--font-vt),monospace;font-size:22px;font-weight:400}.lab[data-section=lab] .lx-band[data-section=research] .lx-head h2,.lab[data-section=lab] .lx-band[data-section=skills] .lx-head h2{font-family:var(--font-mono),monospace;font-weight:700;letter-spacing:-.01em}.lab .lab-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lab :is(.lc-thumb,.lp-plate-hero) [data-fine]{display:none}.lab[data-section=research] .lc-thumb svg text{display:none}.lab .lab-kindmark{display:inline-block;flex:none;width:1.05em;height:1.05em;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--accent-ink)}.lab .lab-kindmark .fill{fill:currentColor;stroke:none}.lab .lp-kind .lab-kindmark{margin-right:7px}.lab .lc-mark{display:inline-flex;align-items:center;gap:7px;color:var(--dim);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}.lab[data-section=concepts] .lc-kind{display:none}.lab .li-kinds{list-style:none;margin:24px 0 0;padding:12px 0 0;display:flex;flex-wrap:wrap;gap:8px 26px;border-top:1px solid var(--line);font-family:var(--font-mono),monospace;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.lab .li-kinds li{display:inline-flex;align-items:center;gap:8px}.lab .li-kinds .lab-kindmark{width:16px;height:16px}.lab .li-kinds b{color:var(--ink);font-variant-numeric:tabular-nums}.lab .lp-seealso{display:none}@media (min-width:1180px){.lab[data-section=concepts] .lp-seealso{display:block;float:right;clear:right;width:220px;margin:.25em 0 1.4em 30px;padding:2px 0 0 14px;border-left:2px solid var(--accent);font-family:var(--font-mono),monospace;font-size:13.5px;line-height:1.45}.lab[data-section=concepts] .lp-seealso-k{margin:0 0 8px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}.lab[data-section=concepts] .lp-seealso ul{list-style:none;margin:0;padding:0}.lab[data-section=concepts] .lp-seealso li{margin:0 0 9px}.lab[data-section=concepts] .lp-seealso a{display:flex;gap:8px;min-height:24px;color:var(--ink);text-decoration:none}.lab[data-section=concepts] .lp-seealso a:hover span{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent)}.lab[data-section=concepts] .lp-seealso .lab-kindmark{margin-top:.15em}.lab[data-section=concepts] .lp-related[data-in-margin]{display:none}.lab[data-section=concepts] .lab-prose :is(.lab-image,.lab-figure,table,pre,figure){clear:right}}.lab .lab-rulehead .c{color:var(--dim);font-weight:400;letter-spacing:.06em}.lab .lp-backlinks ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:0 28px}.lab .lp-backlinks a{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-areas:"k t" ". v";gap:2px 12px;padding:9px 0;border-top:1px solid var(--line);text-decoration:none}.lab .lp-backlinks .k{grid-area:k;padding-top:3px;font-family:var(--font-mono),monospace;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}.lab .lp-backlinks .t{grid-area:t;font-weight:700;font-size:16px;line-height:1.3}.lab .lp-backlinks .t .ttl-main,.lab .lp-backlinks .t .ttl-sub{display:inline}.lab .lp-backlinks .t .ttl-sep{position:static;width:auto;height:auto;overflow:visible;clip-path:none}.lab .lp-backlinks .t .ttl-sub{font-size:1em;font-weight:400;color:var(--dim)}.lab .lp-backlinks .v{grid-area:v;font-family:var(--font-mono),monospace;font-size:11.5px;letter-spacing:.06em;color:var(--dim)}.lab .lp-backlinks a:hover .t,.lab .lp-backlinks a:hover .t .ttl-main{color:var(--accent-ink)}.lab[data-section] .lp-plate-glyph[data-hero]{display:block;padding:0;background:var(--ground)}.lab .lp-plate-hero{position:relative;margin:0}.lab .lp-plate-hero .lab-hero-media img,.lab .lp-plate-hero .lab-hero-media svg{display:block;width:100%;height:auto;max-height:240px;-o-object-fit:cover;object-fit:cover}.lab .lp-plate-hero:after{content:"⤢";position:absolute;right:6px;bottom:6px;width:22px;height:22px;display:grid;place-items:center;pointer-events:none;font-size:13px;line-height:1;color:var(--ink);background:var(--panel);border:1px solid var(--edge);border-radius:2px}.lab .lp-plate-hero:focus-visible:after,.lab .lp-plate-hero:hover:after{border-color:var(--accent);color:var(--accent-ink)}.lab .lp-plate-hero:focus-visible{outline-offset:-3px}@media (max-width:899px){.lab .lp-plate:has(.lp-plate-glyph[data-hero]){grid-template-columns:120px minmax(0,1fr)}.lab .lp-plate-glyph[data-hero]{align-self:stretch;display:flex;align-items:center}.lab .lp-plate-hero{width:100%}.lab .lp-plate-hero:after{display:none}}.lab .lp-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 16px;margin-top:18px;padding:10px 14px 10px 10px;background:var(--panel);border:var(--bw) solid var(--edge);border-left-width:8px;border-radius:2px;--st:var(--lamp,var(--dim))}.lab .lp-state[data-status=live]{--lamp:var(--lamp-live)}.lab .lp-state[data-status=building]{--lamp:var(--lamp-building)}.lab .lp-state[data-status=designing]{--lamp:var(--lamp-designing)}.lab .lp-state[data-status=built]{--lamp:var(--lamp-built)}.lab .lp-state[data-status=archived],.lab .lp-state[data-status=paused]{--lamp:var(--lamp-paused)}.lab .lp-state{border-left-color:var(--lamp,var(--edge))}.lab .lp-state-lamp{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--invert-bg);box-shadow:inset 0 0 0 2px var(--edge),0 0 0 3px var(--panel),0 0 0 4px var(--line)}.lab .lp-state-lamp i{width:14px;height:14px;border-radius:50%;background:var(--lamp,var(--dim))}.lab .lp-state-text{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}.lab .lp-state-word{font-family:var(--font-mono),monospace;font-size:15px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.lab .lp-state-def{font-size:15px;line-height:1.45;color:var(--dim)}.lab .lp-state-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lab .lp-state-more{justify-self:end;font-family:var(--font-mono),monospace;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink);text-decoration:none;white-space:nowrap;padding:4px 0}.lab .lp-state-more:hover{text-decoration:underline;text-underline-offset:3px}@media (max-width:700px){.lab .lp-state{grid-template-columns:auto minmax(0,1fr)}.lab .lp-state-more{grid-column:2;justify-self:start}}.lab .lp-state[data-status=live] .lp-state-lamp i{box-shadow:0 0 0 2px rgba(255,255,255,.25) inset,0 0 10px var(--lamp-live)}.lab .lp-state[data-status=building]{border-left:none;padding-left:22px;background-image:repeating-linear-gradient(-45deg,var(--lamp-building) 0 7px,var(--invert-bg) 7px 14px);background-size:12px 100%;background-repeat:no-repeat;background-color:var(--panel)}@media (prefers-reduced-motion:no-preference){.lab .lp-state[data-status=building] .lp-state-lamp i{animation:lab-blink 1.1s step-end 3}.lab .lp-state[data-status=live] .lp-state-lamp i{animation:lab-pulse 2.2s cubic-bezier(.45,0,.55,1) 2}}.lab .lp-state[data-status=designing]{border-style:dashed dashed dashed solid;background-image:linear-gradient(var(--tint) 1px,transparent 1px),linear-gradient(90deg,var(--tint) 1px,transparent 1px);background-size:10px 10px}.lab .lp-state[data-status=built] .lp-state-word{padding:1px 8px;border:2px solid var(--ink);border-radius:2px;transform:rotate(-2deg)}.lab .lp-state[data-status=paused]{background-image:repeating-linear-gradient(135deg,transparent 0 6px,var(--tint) 6px 7px)}.lab .lp-state[data-status=paused] .lp-state-word:before{content:"‖ "}.lab .lp-state[data-status=archived]{border-style:dashed}.lab .lp-state[data-status=archived] .lp-state-lamp i{background:transparent;box-shadow:inset 0 0 0 2px var(--lamp-archived)}html.phosphor .lab .lp-state-lamp i{box-shadow:0 0 12px var(--lamp,transparent)}html.phosphor .lab .lp-state-word{color:var(--lamp,var(--ink));text-shadow:0 0 14px var(--tint)}html.phosphor .lab .lp-state[data-status=archived] .lp-state-word,html.phosphor .lab .lp-state[data-status=paused] .lp-state-word{color:var(--dim)}html.phosphor .lab .lp-state[data-status=built] .lp-state-word{color:var(--ink);border-color:var(--ink)}.lab .lp-terms{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:0;max-width:640px;border:var(--bw) solid var(--edge);border-radius:2px;background:var(--panel)}.lab .lp-terms li+li{border-top:1px solid var(--line)}.lab .lp-term{display:grid;grid-template-columns:18px 76px minmax(0,1fr) auto;align-items:center;gap:0 12px;min-height:44px;padding:7px 12px;text-decoration:none;transition:background-color .2s}.lab .lp-term:hover{background:var(--tint)}.lab .lp-term-post{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--edge);background:radial-gradient(circle,var(--panel) 0 3px,transparent 3.5px),linear-gradient(45deg,transparent 45%,var(--edge) 45% 55%,transparent 55%),var(--ground)}.lab .lp-term-tag{justify-self:start;padding:2px 7px;font-family:var(--font-mono),monospace;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--invert-bg);color:var(--invert-ink);border-radius:2px}.lab .lp-term-label{font-weight:700;font-size:16px;line-height:1.3;overflow-wrap:anywhere}.lab .lp-term-host{font-family:var(--font-mono),monospace;font-size:12px;color:var(--dim);white-space:nowrap}.lab .lp-term:hover .lp-term-label{color:var(--accent-ink)}@media (max-width:560px){.lab .lp-term{grid-template-columns:18px auto minmax(0,1fr);grid-template-areas:"p tag tag" ". l l" ". h h";row-gap:3px;padding:9px 12px}.lab .lp-term-post{grid-area:p}.lab .lp-term-tag{grid-area:tag}.lab .lp-term-label{grid-area:l}.lab .lp-term-host{grid-area:h;white-space:normal;overflow-wrap:anywhere}}html.phosphor .lab .lp-term-tag{background:transparent;color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--accent)}.lab .lp-side{gap:14px;min-width:0}.lab .lp-side,.lab .lp-source{display:flex;flex-direction:column}.lab .lp-source{position:relative;gap:3px;padding:12px 18px 12px 30px;text-decoration:none;color:var(--invert-ink);background:var(--invert-bg);border:2px solid var(--edge);border-radius:4px;box-shadow:inset 0 0 0 3px var(--invert-bg),inset 0 0 0 4px rgba(242,237,224,.28);font-family:var(--font-mono),monospace}.lab .lp-source:after,.lab .lp-source:before{content:"";position:absolute;left:11px;width:8px;height:8px;border-radius:50%;background:linear-gradient(45deg,transparent 42%,rgba(0,0,0,.55) 42% 58%,transparent 58%),#b9ad97}.lab .lp-source:before{top:11px}.lab .lp-source:after{bottom:11px}.lab .lp-source-k{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.78}.lab .lp-source-repo{font-size:15px;line-height:1.3;overflow-wrap:anywhere}.lab .lp-source-repo .o{opacity:.78}.lab .lp-source-host{font-size:12px;opacity:.85}.lab .lp-source:hover{box-shadow:inset 0 0 0 3px var(--invert-bg),inset 0 0 0 4px var(--accent)}html.phosphor .lab .lp-source{background:#1a1408;color:#e8c47b;border-color:rgba(232,196,123,.55);box-shadow:inset 0 0 0 3px #1a1408,inset 0 0 0 4px rgba(232,196,123,.25),0 0 22px rgba(232,196,123,.06)}html.phosphor .lab .lp-source-host,html.phosphor .lab .lp-source-k,html.phosphor .lab .lp-source-repo .o{opacity:1;color:#c9b48a}@media (max-width:899px){.lab .lp-side{gap:10px}}.lab .lp-before{margin:0 0 2.2em;max-width:var(--measure);padding:0;background:var(--panel);border:var(--bw) solid var(--edge);border-top:5px solid var(--accent);border-radius:var(--radius);font-family:var(--font-archivo),system-ui,sans-serif}.lab .lab-prose .lp-before-h{margin:0;padding:10px 16px 8px;border:none;border-bottom:1px solid var(--line);max-width:none;font-family:var(--font-mono),monospace;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}.lab .lab-prose .lp-before-h:after,.lab .lab-prose .lp-before-h:before{content:none!important}.lab .lp-before dl{display:flex;flex-wrap:wrap;margin:0;max-width:none}.lab .lp-before dl>div{flex:1 1 130px;padding:10px 16px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.lab .lp-before dl>div:last-child{border-right:none}.lab .lp-before dl>div.for{flex-basis:100%;border-right:none}.lab .lp-before dt{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.lab .lp-before dd{margin:2px 0 0;font-size:26px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}.lab .lp-before .for dd{font-size:20px;font-weight:700}.lab .lab-prose .lp-before-print{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0;padding:12px 16px 14px;max-width:none;font-size:14.5px;line-height:1.45;color:var(--dim)}.lab .lp-print{cursor:pointer}html.phosphor .lab .lp-before dd{font-family:var(--font-vt),monospace;font-weight:400;font-size:32px;color:var(--accent-ink)}html.phosphor .lab .lp-before .for dd{font-family:var(--font-archivo),system-ui,sans-serif;font-weight:700;font-size:20px;color:var(--ink)}@media (min-width:1180px){.lab[data-section=guides] .lp-before{margin-left:-92px;max-width:calc(var(--measure) + 92px)}}.lab .lx-target{display:block;height:0;scroll-margin-top:calc(var(--sticky-top) + 8px)}.lab .lx-filter{display:grid;gap:10px;margin:18px 0 4px;padding:14px 16px;background:var(--panel);border:var(--bw) solid var(--edge);border-radius:var(--radius)}.lab .lx-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.lab .lx-chips-k{min-width:72px;margin-right:4px;font-size:11.5px;font-weight:700;letter-spacing:.14em;color:var(--dim)}.lab .lx-chip,.lab .lx-chips-k{font-family:var(--font-mono),monospace;text-transform:uppercase}.lab .lx-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:3px 10px;text-decoration:none;font-size:12px;letter-spacing:.08em;color:var(--ink);background:var(--ground);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:2px;transition:background-color .2s,border-color .2s}.lab .lx-chip:not([data-section]){border-top-color:var(--edge)}.lab .lx-chip:hover{background:var(--tint);border-color:var(--accent)}.lab .lx-chip .c{color:var(--dim);font-variant-numeric:tabular-nums}.lab .lx-chip .lab-lamp{font-size:12px;font-weight:400;letter-spacing:.08em}.lab .lx-chip[aria-current],.lab .lx:not(:has(.lx-target:target)) .lx-chip[href="#lx-filter"]{background:var(--invert-bg);color:var(--invert-ink);border-color:var(--invert-bg)}.lab .lx-chip[aria-current] .c,.lab .lx-chip[aria-current] .lab-lamp,.lab .lx:not(:has(.lx-target:target)) .lx-chip[href="#lx-filter"] .c{color:var(--invert-ink)}.lab .lx-search{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-top:10px;border-top:1px solid var(--line)}.lab .lx-search-k{min-width:72px;font-family:var(--font-mono),monospace;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.lab .lx-search input{flex:1 1 260px;min-width:0;max-width:460px;min-height:36px;padding:6px 10px;font:inherit;font-family:var(--font-mono),monospace;font-size:14px;color:var(--ink);background:var(--ground);border:var(--bw) solid var(--edge);border-radius:2px}.lab .lx-search input::-moz-placeholder{color:var(--dim);opacity:1}.lab .lx-search input::placeholder{color:var(--dim);opacity:1}.lab .lx-search input:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.lab .lx-search-n{margin:0;font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.08em;color:var(--dim)}@media (max-width:640px){.lab .lx-chips-k,.lab .lx-search-k{flex-basis:100%}}.lab .lx:has(.lx-target:target) .lx-elsewhere{display:none}.lab .lx:has(#f-case-studies:target) .lx-band:not([data-section=case-studies]),.lab .lx:has(#f-concepts:target) .lx-band:not([data-section=concepts]),.lab .lx:has(#f-engineering:target) .lx-band:not([data-section=engineering]),.lab .lx:has(#f-guides:target) .lx-band:not([data-section=guides]),.lab .lx:has(#f-operations:target) .lx-band:not([data-section=operations]),.lab .lx:has(#f-projects:target) .lx-band:not([data-section=projects]),.lab .lx:has(#f-research:target) .lx-band:not([data-section=research]),.lab .lx:has(#f-skills:target) .lx-band:not([data-section=skills]),.lab .lx:has([id^=f-status-]:target) .lx-band:not([data-section=projects]){display:none}.lab .lx:has(#f-status-archived:target) .lx-band li:not([data-status=archived]),.lab .lx:has(#f-status-building:target) .lx-band li:not([data-status=building]),.lab .lx:has(#f-status-built:target) .lx-band li:not([data-status=built]),.lab .lx:has(#f-status-designing:target) .lx-band li:not([data-status=designing]),.lab .lx:has(#f-status-live:target) .lx-band li:not([data-status=live]),.lab .lx:has(#f-status-paused:target) .lx-band li:not([data-status=paused]){display:none}.lab .lx:has(#f-case-studies:target) .lx-chip[href="#f-case-studies"],.lab .lx:has(#f-concepts:target) .lx-chip[href="#f-concepts"],.lab .lx:has(#f-engineering:target) .lx-chip[href="#f-engineering"],.lab .lx:has(#f-guides:target) .lx-chip[href="#f-guides"],.lab .lx:has(#f-operations:target) .lx-chip[href="#f-operations"],.lab .lx:has(#f-projects:target) .lx-chip[href="#f-projects"],.lab .lx:has(#f-research:target) .lx-chip[href="#f-research"],.lab .lx:has(#f-skills:target) .lx-chip[href="#f-skills"],.lab .lx:has(#f-status-archived:target) .lx-chip[href="#f-status-archived"],.lab .lx:has(#f-status-building:target) .lx-chip[href="#f-status-building"],.lab .lx:has(#f-status-built:target) .lx-chip[href="#f-status-built"],.lab .lx:has(#f-status-designing:target) .lx-chip[href="#f-status-designing"],.lab .lx:has(#f-status-live:target) .lx-chip[href="#f-status-live"],.lab .lx:has(#f-status-paused:target) .lx-chip[href="#f-status-paused"]{background:var(--invert-bg);border-color:var(--invert-bg);color:var(--invert-ink)}.lab .lx:has(.lx-target:target) .lx-chip:is([href="#f-projects"],[href="#f-concepts"],[href="#f-engineering"],[href="#f-skills"],[href="#f-research"],[href="#f-case-studies"],[href="#f-operations"],[href="#f-guides"],[href^="#f-status-"]) :is(.c,.lab-lamp){color:inherit}.lab .lx-band[hidden],.lab .lx-list li[hidden]{display:none}.lab[data-section=evidence]{--accent:#d08a0a;--accent-ink:#8a5a00;--tint:rgba(208,138,10,.12)}html.phosphor .lab[data-section=evidence]{--accent:#e8c47b;--accent-ink:#e8c47b;--tint:rgba(232,196,123,.1)}.lab[data-section=evidence] .li-num{font-size:clamp(64px,7vw,104px)}.lab .ev-key dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:0 28px;margin:0}.lab .ev-key dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 14px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line)}.lab .ev-key dt{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:var(--font-mono),monospace;font-size:12px}.lab .ev-key dt b{font-variant-numeric:tabular-nums;color:var(--dim);font-weight:700}.lab .ev-key dd{margin:0;font-size:15.5px;line-height:1.45}.lab .ev-note{max-width:78ch;margin:14px 0 0;font-size:14.5px;line-height:1.55;color:var(--dim)}.lab .ev-wrap{margin-top:34px;overflow-x:auto;overscroll-behavior-x:contain;border:var(--bw) solid var(--edge);border-radius:2px;background:var(--panel)}.lab .ev-table{width:100%;min-width:1060px;border-collapse:collapse;font-size:14.5px;line-height:1.45}.lab .ev-table thead th{padding:9px 12px;text-align:left;white-space:nowrap;background:var(--invert-bg);color:var(--invert-ink);font-family:var(--font-mono),monospace;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.lab .ev-table tbody th,.lab .ev-table td{padding:10px 12px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}.lab .ev-table tr.ev-group th{padding:14px 12px 7px;border-top:var(--bw) solid var(--edge);background:var(--ground);font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.1em}.lab .ev-table tr.ev-group .c{margin-left:8px;color:var(--dim);font-variant-numeric:tabular-nums}.lab .ev-table tbody:first-of-type tr.ev-group th{border-top:none}.lab .ev-ref{font-family:var(--font-mono),monospace;font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}.lab .ev-name{font-weight:700;font-size:16px;min-width:200px}.lab .ev-name a{display:inline-block;padding:3px 0;text-decoration:none}.lab .ev-name a:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}.lab .ev-name .ttl-main,.lab .ev-name .ttl-sub{display:block}.lab .ev-name .ttl-sub{font-size:13.5px;font-weight:400;color:var(--dim);margin-top:2px}.lab .ev-status .lab-lamp{font-size:11px}.lab .ev-date{font-family:var(--font-mono),monospace;font-size:12.5px;white-space:nowrap;font-variant-numeric:tabular-nums}.lab .ev-table a:not(.ev-name a){color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.lab .ev-src{font-family:var(--font-mono),monospace;font-size:12.5px;overflow-wrap:anywhere}.lab .ev-links{list-style:none;margin:0;padding:0;display:grid;gap:4px}.lab .ev-more a{font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.04em}.lab .ev-kind{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-right:4px}.lab .ev-kind,.lab .ev-none{font-family:var(--font-mono),monospace;color:var(--dim)}.lab .ev-none{font-size:12px}.lab .ev-table tbody tr:not(.ev-group):hover{background:var(--tint)}html.phosphor .lab .ev-table thead th{background:#1a1408;color:#e8c47b;border-bottom:1px solid rgba(232,196,123,.4)}html.phosphor .lab .ev-date,html.phosphor .lab .ev-ref{font-family:var(--font-vt),monospace;font-size:17px;color:var(--accent-ink)}@media (max-width:760px){.lab .ev-wrap{overflow:visible;border:none;background:none}.lab .ev-table{min-width:0}.lab .ev-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.lab .ev-table,.lab .ev-table tbody,.lab .ev-table tbody th,.lab .ev-table td,.lab .ev-table tr{display:block}.lab .ev-table tr:not(.ev-group){margin:0 0 12px;padding:4px 0 6px;background:var(--panel);border:var(--bw) solid var(--edge);border-radius:2px}.lab .ev-table tr.ev-group th{padding:18px 0 8px;background:none;border:none}.lab .ev-table tbody th,.lab .ev-table td{padding:6px 12px;border:none}.lab .ev-table td[data-k]{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px}.lab .ev-table td[data-k]:before{content:attr(data-k);font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-top:2px}.lab .ev-ref{padding-bottom:0}.lab .ev-name{min-width:0;border-bottom:1px solid var(--line)!important;padding-bottom:8px!important}}.lab .lab-figure-body svg .flowchart-link,.lab .lab-figure-body svg .transition{stroke-width:1.25px}.lab .lab-figure-body svg :is(.node rect,.node polygon,.node circle,.node path.basic,.node .label-container){stroke-width:1.5px}.lab .lab-figure-body svg .cluster rect{rx:6px;ry:6px;stroke-width:1px}.lab .lab-figure-body svg .edgeLabel,.lab .lab-figure-body svg .edgeLabel p,.lab .lab-figure-body svg .edgeLabel span{font-size:12px;color:var(--dim);letter-spacing:.02em}.lab .lab-figure-body svg .cluster .nodeLabel,.lab .lab-figure-body svg .cluster-label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.lab .lab-figure-body svg marker path{stroke:none!important}.lab{--ease-out:cubic-bezier(.23,1,.32,1)}.lab .lab-btn,.lab .lc-link{transition:border-color .2s,box-shadow .2s,background-color .2s,transform .16s var(--ease-out)}.lab .lc-link:active{transform:scale(.985)}.lab .lab-btn:active{transform:scale(.97)}.lab[data-section=engineering] .lc-link:active{transform:translate(6px,6px);box-shadow:0 0 0 var(--nb-shadow);transition-duration:.08s}.lab[data-section=engineering] .lab-btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--nb-shadow)}@media not all and (hover:hover){.lab[data-section=engineering] .lc-link:hover{transform:none;box-shadow:6px 6px 0 var(--nb-shadow)}}@media (prefers-reduced-motion:no-preference){.lab .li-cards>.lc{animation:lab-arrive .32s var(--ease-out) both}.lab .li-cards>.lc:nth-child(2){animation-delay:40ms}.lab .li-cards>.lc:nth-child(3){animation-delay:75ms}.lab .li-cards>.lc:nth-child(4){animation-delay:105ms}.lab .li-cards>.lc:nth-child(5){animation-delay:.13s}.lab .li-cards>.lc:nth-child(6){animation-delay:.15s}.lab .li-cards>.lc:nth-child(7){animation-delay:165ms}.lab .li-cards>.lc:nth-child(n+8){animation-delay:175ms}}@keyframes lab-arrive{0%{opacity:0;transform:translateY(8px)}}::view-transition-new(root),::view-transition-old(root){animation-duration:.24s;animation-timing-function:ease}@media (prefers-reduced-motion:reduce){.lab *,.lab :after,.lab :before{animation:none!important;transition:none!important}}html.lab-route body{background-color:#f2ede0}html.lab-route.phosphor body{background-color:#0b0f0c}@media print{html.lab-route body{background:#fff!important}html.lab-route :is(#__next-skip,a[href="#lab-content"],a[href="#main-content"]){display:none!important}.lab,.lab[data-section],html.phosphor .lab,html.phosphor .lab[data-section]{--ground:#fff;--panel:#fff;--card-paper:#fff;--line:#bbb;--edge:#000;--ink:#000;--dim:#444;--accent-ink:#000;--tint:transparent;--invert-bg:#000;--invert-ink:#fff;--lab-paper:#fff;--lab-panel:#fff;--lab-ink:#000;--lab-muted:#444;--lab-line:#bbb;background:#fff!important;color:#000;margin-top:0;min-height:0}.lab :is(.lab-bar,.lab-sheet,.lab-crumbs,.lp-plate,.lp-side,.lp-hero,.lp-toc,.lp-toc-mobile,.lp-related,.lp-backlinks,.lp-pager,.lp-links,.lp-terms,.lp-state-more,.lp-print,.lab-zoom,.lab-unfold,.lp-seealso,.lp-head:before,.lp-head:after){display:none!important}.lab .lab-main{max-width:none;padding:0}.lab .lp-head{padding:0 0 12px;border-bottom:2px solid #000}.lab .lp-titlerow{display:block;margin-top:0}.lab .lp-title{font-size:26pt;max-width:none;margin:4pt 0 8pt}.lab .lp-title,.lab .lp-title .ttl-main{text-shadow:none!important;color:#000!important}.lab .lp-summary{font-size:12pt;color:#000}.lab .lp-grid{display:block;margin-top:14pt}.lab .lab-prose{font-size:11pt;line-height:1.5;max-width:none;padding-left:0!important}.lab .lab-prose :is(p,ul,ol,h2,h3){max-width:none}.lab .lab-prose h2{-moz-column-break-after:avoid;break-after:avoid;page-break-after:avoid;font-size:15pt;margin-top:16pt;color:#000!important}.lab .lab-prose h2 .step-label{position:static!important;width:auto!important;height:auto!important;clip-path:none!important}.lab[data-section=guides] .lab-prose h2[data-step]:not([data-step-labelled]):before{content:"Step " attr(data-step)!important;position:static!important;display:block;font:700 9pt var(--font-mono),monospace;letter-spacing:.14em;-webkit-text-stroke:0!important;color:#000!important}.lab[data-section=guides] .lab-prose h2[data-step-labelled]:before{content:none!important}.lab .lab-prose li.task-list-item{-moz-column-break-inside:avoid;break-inside:avoid;background:none;border:none;border-bottom:1px solid #ccc;border-radius:0;padding:5pt 0}.lab .lab-prose li.task-list-item input[type=checkbox]{border:1.5px solid #000!important;background:#fff!important;width:12pt;height:12pt}.lab .lab-prose li.task-list-item input[type=checkbox]:checked:after{border-color:#000}.lab .lab-prose :is(pre,table,blockquote){-moz-column-break-inside:avoid;break-inside:avoid}.lab .lab-prose :is(pre,table,.lab-figure,.lab-image,.lab-image-frame,blockquote){box-shadow:none!important}.lab .lab-figcap{color:#000!important;background:none!important}.lab .lab-prose pre{background:#f4f4f4!important;border:1px solid #999;white-space:pre-wrap}.lab .lab-prose pre,.lab .lab-prose pre span{color:#000!important}.lab .lab-figure-body[data-folded]{max-height:none!important;-webkit-mask-image:none!important;mask-image:none!important}.lab .lab-prose a{color:#000;text-decoration:underline}.lab .lp-before{border:1.5px solid #000;border-top-width:4px;margin-left:0!important;max-width:none!important;-moz-column-break-inside:avoid;break-inside:avoid}.lab .lp-before dd{font-family:var(--font-archivo),sans-serif!important;color:#000!important;font-size:16pt!important}.lab .lab-prose .lp-before-print{display:none}html.phosphor .lab .lab-figure-body svg{filter:invert(1) hue-rotate(180deg)}.lab .lp-state{border:1px solid #000;background:none!important}.lab *,.lab :after,.lab :before{animation:none!important;transition:none!important;text-shadow:none!important}}