.home .lede{font-size:18px;line-height:28px}.home code{font-family:var(--font-mono);font-size:13px;line-height:20px}.xlink{align-items:center;gap:var(--space-2);color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline-strong);text-underline-offset:4px;transition:color var(--duration-feedback) var(--easing-standard), text-decoration-color var(--duration-feedback) var(--easing-standard);font-weight:500;text-decoration-thickness:1px;display:inline-flex}.xlink svg{color:var(--ink-muted);transition:color var(--duration-feedback) var(--easing-standard)}.xlink:hover{color:var(--accent);text-decoration-color:currentColor}.xlink:hover svg{color:currentColor}.count{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.live-tag{font-family:var(--font-mono);color:var(--ink-muted);align-items:center;gap:6px;font-size:12px;line-height:16px;display:none}.is-live .live-tag{display:inline-flex}.live-dot{background:var(--success);border-radius:50%;width:7px;height:7px;position:relative}.live-wrap{justify-content:flex-end;align-items:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.hero{gap:var(--space-16,64px);min-height:min(100svh - 92px,860px);padding-block:var(--space-12) var(--space-16,64px);grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;display:grid}.hero h1{font-family:var(--font-display);font-size:clamp(40px,4.4vw + 4px,62px);line-height:1.06;font-weight:var(--display-weight);letter-spacing:-.028em;text-wrap:balance}.hero-sub{max-width:34rem;margin-top:var(--space-6);color:var(--ink-muted);text-wrap:pretty;font-size:18px;line-height:28px}.hero-range{gap:var(--space-2);max-width:34rem;margin:var(--space-8) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.hero-range li{padding:3px var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--ink-muted);font-size:12px;line-height:20px}.hero-index{max-width:30rem;margin-top:var(--space-8);border-bottom:1px solid var(--hairline);display:grid}.hero-index a{align-items:center;gap:var(--space-3);min-height:var(--control-lg);border-top:1px solid var(--hairline);color:var(--ink);grid-template-columns:32px minmax(0,1fr) auto 16px;font-size:15px;line-height:24px;display:grid}.idx-n,.idx-meta{font-family:var(--font-mono);color:var(--ink-muted);font-size:12px;line-height:16px}.hero-index svg{color:var(--ink-muted);transition:color var(--duration-feedback) var(--easing-standard)}.hero-index a:hover,.hero-index a:hover svg,.hero-index a:hover .idx-n{color:var(--accent)}.bench{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;display:grid}.bench-term{grid-area:1/1/auto/10;min-height:368px}.bench-term .term-body{padding-right:calc(22.3% + var(--space-4))}.bench-phone{z-index:1;grid-area:1/8/auto/13}.bench-cap{margin-top:var(--space-4);grid-column:1/-1}.term{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;overflow:hidden}.term-bar{align-items:center;gap:var(--space-4);height:40px;padding-inline:var(--space-4);border-bottom:1px solid var(--hairline);font-family:var(--font-mono);color:var(--ink-muted);font-size:12px;line-height:16px;display:flex}.term-dots{gap:var(--space-2);display:flex}.term-dots i{background:var(--hairline-strong);border-radius:50%;width:8px;height:8px}.term-body{padding:var(--space-4) 20px 20px;font-family:var(--font-mono);color:var(--ink);font-size:13px;line-height:20px}.ln{text-indent:-2ch;white-space:pre-wrap;overflow-wrap:anywhere;padding-left:2ch;display:block}.ln-gap{margin-top:var(--space-3)}.nb{white-space:nowrap}.ln .p,.ln-c,.ln .c{color:var(--ink-muted)}.ln .s{color:var(--accent)}.caret{vertical-align:-.2em;background:var(--brand-apricot);width:.6em;height:1.1em;margin-left:.3ch;display:inline-block}.phone{box-shadow:0 0 0 1px var(--hairline-strong), var(--shadow-overlay);background:#0d0f12;border-radius:34px;padding:6px}.phone img{border-radius:28px;width:100%;height:auto}.rail{display:none}@media (width>=1480px){.rail{z-index:10;left:var(--space-6);gap:var(--space-1);opacity:0;visibility:hidden;transition:opacity var(--duration-quick) var(--easing-standard), visibility 0s linear var(--duration-quick);display:grid;position:fixed;top:50%;translate:0 -50%}.rail.is-shown{opacity:1;visibility:visible;transition:opacity var(--duration-quick) var(--easing-standard), visibility 0s}.rail a{align-items:center;gap:var(--space-3);min-height:28px;font-family:var(--font-mono);color:var(--ink-muted);font-size:12px;line-height:16px;display:flex}.rail a:hover{color:var(--ink)}.rail i{background:var(--hairline-strong);transform-origin:0;width:24px;height:2px;transition:transform var(--duration-quick) var(--ease-out), background-color var(--duration-quick) var(--easing-standard);border-radius:1px;transform:scaleX(.5)}.rail a[aria-current]{color:var(--ink)}.rail a[aria-current] i{background:var(--brand-apricot);transform:none}}.section{border-top:1px solid var(--hairline);padding-block:96px}.shead{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-8);margin-bottom:var(--space-12);flex-wrap:wrap;display:flex}.shead h2{align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:32px;line-height:36px;font-weight:var(--display-weight);letter-spacing:-.012em;display:flex}.wedge{background:var(--brand-apricot);width:18px;height:20px;clip-path:path("M0 10 L14.4 0 A17.6 17.6 0 0 1 14.4 20 Z");transform-origin:0;flex:none}.shead-note,.kind{color:var(--ink-muted);font-size:14px;line-height:20px}.proj h3{margin-top:var(--space-1);font-family:var(--font-display);font-size:28px;line-height:32px;font-weight:var(--display-weight);letter-spacing:-.012em}.proj-head{align-items:baseline;gap:var(--space-2) var(--space-6);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.proj-head h3{margin-top:0}.repo{align-items:baseline;gap:var(--space-2) 20px;flex-wrap:wrap;display:flex}.repo-item{align-items:baseline;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:inline-flex}.repo-link{align-self:center;font-size:14px;line-height:20px}.repo-item .count{align-self:center}.proj .lede{margin-top:var(--space-4)}.note-text{color:var(--ink-muted);font-size:14px;line-height:20px}.research-top{gap:var(--space-12) var(--space-8);margin-bottom:var(--space-12);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.research-intro{grid-column:span 5}.research-intro .lede{text-wrap:pretty}.stats{gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stats dt{color:var(--ink-muted);font-size:12px;line-height:16px}.stats dd{margin-top:var(--space-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:22px;font-weight:500;line-height:28px}.share{margin-top:var(--space-8)}.share-bar{gap:2px;height:8px;display:flex}.share-bar i,.share-legend i{border-radius:2px}.step-0{background:var(--brand-apricot)}.step-1{background:color-mix(in srgb, var(--ink) 50%, transparent)}.step-2{background:color-mix(in srgb, var(--ink) 38%, transparent)}.step-3{background:color-mix(in srgb, var(--ink) 28%, transparent)}.step-4{background:color-mix(in srgb, var(--ink) 20%, transparent)}.step-5{background:color-mix(in srgb, var(--ink) 13%, transparent)}.share-legend{gap:var(--space-1) var(--space-4);margin-top:var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.share-legend li{align-items:center;gap:var(--space-2);display:flex}.share-legend i{width:8px;height:8px}.cite-demo{gap:var(--space-6);padding:var(--space-6);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);grid-column:7/-1;display:grid}.cite-head{gap:var(--space-1);display:grid}.cite-head a{color:var(--ink);font-size:15px;font-weight:500;line-height:22px}.cite-head a:hover{color:var(--accent)}.cite-text{color:var(--ink-muted);text-wrap:pretty;font-size:16px;line-height:28px}.claim{color:var(--ink);-webkit-box-decoration-break:clone;box-decoration-break:clone;--lit:color-mix(in srgb, var(--brand-apricot) 22%, transparent);background-image:linear-gradient(var(--lit), var(--lit));transition:background-size var(--duration-signature) var(--ease-out);background-repeat:no-repeat;background-size:0% 100%;padding-block:2px}.claim.is-lit{background-size:100% 100%}.cite-text sup{vertical-align:.5em;line-height:0}.cite-num{border:1px solid var(--hairline-strong);border-radius:var(--radius-full);background:var(--surface);min-width:28px;height:22px;color:var(--ink);font-family:var(--font-mono);cursor:pointer;transition:background-color var(--duration-feedback) var(--easing-standard), border-color var(--duration-feedback) var(--easing-standard), color var(--duration-feedback) var(--easing-standard);margin-left:2px;padding:0 6px;font-size:12px;line-height:20px}.cite-num:hover{border-color:var(--accent);color:var(--accent)}.cite-num[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.cite-num:active{transform:scale(.94)}@media (pointer:coarse){.cite-num{position:relative}.cite-num:after{content:"";position:absolute;inset:-11px -8px}}.cite-source{border-top:1px solid var(--hairline);padding-top:var(--space-4);display:grid}.cite-card{gap:var(--space-2);align-content:start;display:grid}.cite-card+.cite-card{margin-top:var(--space-4)}.cite-title{text-wrap:pretty;font-size:15px;line-height:22px}.cite-card .xlink{justify-self:start;font-size:14px;font-weight:400;line-height:20px}.cite-hint{display:none}.cite-demo.is-live .cite-card{visibility:hidden;opacity:0;grid-area:1/1;margin:0}.cite-demo.is-live .cite-card[data-current]{visibility:visible;opacity:1}.cite-demo.is-live .cite-hint{display:block}@media (prefers-reduced-motion:no-preference){.cite-demo.is-live .cite-card{transform:translateY(var(--move-md));transition:opacity var(--duration-exit) var(--easing-standard), transform var(--duration-exit) var(--easing-standard), visibility 0s linear var(--duration-exit)}.cite-demo.is-live .cite-card[data-current]{transition:opacity var(--duration-enter) var(--ease-out) 80ms, transform var(--duration-enter) var(--ease-out) 80ms, visibility 0s;transform:none}}.notes{display:grid}.notes ul{margin:0;padding:0;list-style:none}.notes-head,.notes li{column-gap:var(--space-6);grid-template-columns:112px minmax(0,1fr) 120px 72px 72px;align-items:baseline;display:grid}.notes-head{padding-bottom:var(--space-3);color:var(--ink-muted);font-size:12px;line-height:16px}.notes li{padding-block:var(--space-3);border-top:1px solid var(--hairline);transition:background-color var(--duration-feedback) var(--easing-standard);position:relative}.notes li:hover{background:var(--surface)}.notes-date,.notes-num{font-family:var(--font-mono);color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:13px;line-height:24px}.notes-topic{color:var(--ink-muted);font-size:14px}.notes .r,.notes-head .r{text-align:right}.notes li a{color:var(--ink);font-size:15px;font-weight:500;line-height:24px}.notes li a:after{content:"";position:absolute;inset:0}.notes li:hover a{color:var(--accent)}.notes li a span{display:inline-block}.unit-m{display:none}.notes-all{justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-6);padding:var(--space-6);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);color:var(--ink);transition:box-shadow var(--duration-feedback) var(--easing-standard), border-color var(--duration-feedback) var(--easing-standard);display:flex}.notes-all-text{gap:var(--space-1);min-width:0;display:grid}.notes-all-title{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:-.008em;transition:color var(--duration-feedback) var(--easing-standard);font-size:22px;line-height:28px}.notes-all-sub{color:var(--ink-muted);font-size:14px;line-height:20px}.notes-all-go{border-radius:var(--radius-full);background:var(--accent);width:48px;height:48px;color:var(--accent-ink);transition:background-color var(--duration-feedback) var(--easing-standard);flex:none;place-items:center;display:grid}.notes-all:hover{color:var(--ink);box-shadow:var(--shadow-hover);border-color:#0000}.notes-all:hover .notes-all-title{color:var(--accent)}.notes-all:hover .notes-all-go{background:var(--accent-hover)}.shead-link{align-self:center}.shead-link svg:first-child{color:var(--accent)}@media (width<=760px){.notes-all{padding:var(--space-4);gap:var(--space-4)}.notes-all-title{font-size:18px;line-height:24px}.notes-all-go{width:40px;height:40px}}.proj{column-gap:var(--space-8);row-gap:var(--space-12);padding-block:var(--space-16,64px);border-top:1px solid var(--hairline);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.proj-first{border-top:0;padding-top:0}.proj-text{grid-column:span 5}.proj-visual{grid-column:span 7}.proj-wide{grid-column:1/-1}.facts{margin-top:var(--space-8);gap:20px;display:grid}.facts dt{font-size:15px;font-weight:500;line-height:24px}.facts dd{margin-top:var(--space-1);color:var(--ink-muted);font-size:14px;line-height:20px}.facts-3{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.tech{margin-top:var(--space-6)}.tech+.tech{margin-top:var(--space-2)}.tech b{margin-right:var(--space-2);color:var(--ink);font-weight:500}.loop-cap{width:33.3333%;margin:0 0 var(--space-2) calc(100% / 3 + 4px);text-align:center;display:block}.loop-back{border:1px dashed var(--hairline-strong);border-bottom:0;border-radius:8px 8px 0 0;width:33.3333%;height:12px;margin-left:calc(33.3333% + 4px);position:relative}.loop-back:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:6px solid var(--ink-muted);position:absolute;bottom:-4px;left:-4px}.loop-steps{margin-top:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.loop-steps li{padding:var(--space-4) var(--space-4) 0 0;border-top:1px solid var(--hairline-strong);position:relative}.loop-steps li:before{content:"";background:var(--ink);width:8px;height:8px;box-shadow:0 0 0 4px var(--surface);border-radius:50%;position:absolute;top:-5px;left:0}.loop-steps li.is-key:before{background:var(--brand-apricot)}.loop-steps b{font-size:15px;font-weight:500;display:block}.loop-steps span{margin-top:var(--space-1);color:var(--ink-muted);font-size:14px;line-height:20px;display:block}.seg{gap:var(--space-1);padding:var(--space-1);background:var(--surface-sunken);border-radius:10px;flex-wrap:wrap;display:inline-flex}.seg span{align-items:center;gap:var(--space-2);height:28px;padding-inline:var(--space-3);font-family:var(--font-mono);color:var(--ink-muted);border-radius:6px;font-size:13px;line-height:20px;display:flex}.seg .is-on{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--hairline)}.seg small{font-family:var(--font-sans);color:var(--ink-muted);font-size:12px;line-height:16px}.proj-side{margin-top:var(--space-6);grid-column:7/-1}.facts-2{column-gap:var(--space-8);row-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr))}.stage{padding:72px var(--space-8) var(--space-8);background:var(--surface-sunken);border-radius:24px;margin:0;position:relative;overflow:hidden}.stage-route{opacity:.9;width:100%;height:100%;position:absolute;inset:0}.stage-row{justify-content:center;align-items:flex-start;display:flex;position:relative}.stage-row:focus-visible{outline-offset:6px}.stage-shot{min-width:0;margin:0;position:relative}.stage-shot figcaption{margin-top:var(--space-3);text-align:center}.stage-center{z-index:3;flex:0 0 25%}.stage-mid{z-index:2;flex:0 0 21%;margin-top:36px}.stage-out{z-index:1;flex:0 0 18%;margin-top:84px}.stage-shot:first-child{margin-right:-2.5%}.stage-shot:nth-child(2){margin-right:-2%}.stage-shot:nth-child(4){margin-left:-2%}.stage-shot:nth-child(5){margin-left:-2.5%}.stage-shot .phone{box-shadow:0 0 0 1px var(--hairline-strong), 0 24px 48px -16px #00000073}.stage-cap{max-width:40rem;margin:var(--space-8) auto 0;text-align:center;position:relative}.body-note{margin-top:var(--space-6);color:var(--ink-muted);font-size:14px;line-height:20px}.dc{--dc-bg:#fff;--dc-bar:#f2f3f5;--dc-line:#e3e5e8;--dc-text:#313338;--dc-muted:#5c5e66;--dc-name:#060607;--dc-embed:#f2f3f5;--dc-input:#ebedef;--dc-link:#006ce7;--dc-blurple:#5865f2;--dc-mention:#5865f226;--dc-up:#23a55a;margin-top:var(--space-8);background:var(--dc-bg);border:1px solid var(--hairline);color:var(--dc-text);border-radius:14px;font-size:14px;line-height:20px;overflow:hidden}:root[data-theme=dark] .dc{--dc-bg:#313338;--dc-bar:#2b2d31;--dc-line:#1f2023;--dc-text:#dbdee1;--dc-muted:#949ba4;--dc-name:#f2f3f5;--dc-embed:#2b2d31;--dc-input:#383a40;--dc-link:#00a8fc;--dc-mention:#5865f24d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dc{--dc-bg:#313338;--dc-bar:#2b2d31;--dc-line:#1f2023;--dc-text:#dbdee1;--dc-muted:#949ba4;--dc-name:#f2f3f5;--dc-embed:#2b2d31;--dc-input:#383a40;--dc-link:#00a8fc;--dc-mention:#5865f24d}}.dc-bar{align-items:center;gap:var(--space-2);height:44px;padding-inline:var(--space-4);border-bottom:1px solid var(--dc-line);color:var(--dc-name);font-weight:500;display:flex}.dc-hash{color:var(--dc-muted);font-size:20px}.dc-sample{font-family:var(--font-mono);color:var(--dc-muted);margin-left:auto;font-size:12px;font-weight:400;line-height:16px}.dc-log{gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-2);display:grid}.dc-msg{column-gap:var(--space-4);grid-template-columns:40px minmax(0,1fr);display:grid}.dc-used{align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);color:var(--dc-muted);grid-column:1/-1;padding-left:56px;font-size:13px;line-height:18px;display:flex;position:relative}.dc-used:before{content:"";border-top:2px solid var(--dc-line);border-left:2px solid var(--dc-line);border-top-left-radius:6px;width:30px;height:12px;position:absolute;top:9px;left:19px}.dc-used b{color:var(--dc-name);font-weight:500}.dc-mini{background:var(--brand-apricot);color:#161a1f;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;font-weight:600;line-height:1;display:grid}.dc-cmd{color:var(--dc-link)}.dc-av{background:var(--dc-blurple);color:#fff;width:40px;height:40px;font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:13px;font-weight:500;display:grid}.dc-who{align-items:center;gap:var(--space-1);display:flex}.dc-who b{color:var(--dc-name);font-weight:500}.dc-app{background:var(--dc-blurple);color:#fff;border-radius:4px;padding:0 5px;font-size:10px;font-weight:500;line-height:15px}.dc-text{margin-top:2px}.dc-text code{background:var(--dc-embed);border-radius:4px;padding:1px 4px;font-size:12px}.dc-embed{max-width:340px;margin-top:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-4);background:var(--dc-embed);box-shadow:inset 4px 0 0 var(--dc-blurple);border-radius:4px}.dc-embed-up{box-shadow:inset 4px 0 0 var(--dc-up)}.dc-e-title{color:var(--dc-name);font-weight:600}.dc-e-text,.dc-e-field{margin-top:2px;font-size:13px;line-height:18px}.dc-e-link{color:var(--dc-link);margin-top:2px}.dc-e-field{margin-top:var(--space-2);display:grid}.dc-e-field b{color:var(--dc-name);font-weight:600}.dc-mention{background:var(--dc-mention);color:var(--dc-link);border-radius:3px;justify-self:start;padding:0 2px}.dc-chart{width:100%;height:72px;margin-top:var(--space-3);color:var(--dc-up);display:block}.dc-input{margin:var(--space-2) var(--space-4) var(--space-4);padding:10px var(--space-4);background:var(--dc-input);color:var(--dc-muted);border-radius:8px}.dc-facts dt code{font-size:13px}.work{border-bottom:1px solid var(--hairline);margin:0;padding:0;list-style:none}.work li{column-gap:var(--space-8);border-top:1px solid var(--hairline);grid-template-columns:96px minmax(0,1fr) 264px 176px;padding-block:20px;display:grid}.work-year{font-family:var(--font-mono);color:var(--ink-muted);font-size:13px;line-height:24px}.work-name{font-size:15px;font-weight:500;line-height:24px}.work-desc{max-width:36rem;margin-top:var(--space-1);color:var(--ink-muted);font-size:14px;line-height:20px}.work-tech{font-family:var(--font-mono);color:var(--ink-muted);padding-top:2px;font-size:12px;line-height:20px}.work-links{align-items:flex-end;gap:var(--space-2);text-align:right;flex-direction:column;font-size:14px;line-height:24px;display:flex}.work-links .xlink{font-weight:400}.work-group{flex-direction:column;align-items:flex-end;display:flex}.private{color:var(--ink-muted)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.dc.is-armed .dc-msg{opacity:0}.dc.is-playing .dc-msg{animation:dc-arrive var(--duration-enter) var(--ease-out) both;animation-delay:calc(.15s + var(--m) * .65s)}.is-live .live-dot:after{content:"";border-radius:inherit;background:var(--success);animation:live-ring .9s var(--ease-out) both;position:absolute;inset:0}.rise{animation:rise .56s var(--ease-out) both;animation-delay:calc(80ms + var(--i,0) * 60ms)}.bench-phone.rise{animation-name:rise-phone;animation-duration:.72s}.bench-term .ln{animation:1ms linear both print;animation-delay:calc(.42s + var(--l,0) * .11s)}.caret{animation:1.1s step-end 1.2s 6 both blink}.mast-mark .wm-cut{transform-box:view-box;transform-origin:32px 32px;animation:slice-in var(--duration-signature) var(--ease-out) .2s both}@supports (animation-timeline:view()){.wedge{animation:linear both wedge-in view();animation-range:entry 20% entry 90%}}}@keyframes rise{0%{opacity:0;transform:translateY(var(--move-md))}}@keyframes rise-phone{0%{opacity:0;transform:translateY(24px)}}@keyframes print{0%{visibility:hidden}}@keyframes blink{50%{opacity:0}}@keyframes slice-in{0%{opacity:0;transform:rotate(-40deg)}}@keyframes dc-arrive{0%{opacity:0;transform:translateY(var(--move-md,8px))}to{opacity:1;transform:none}}@keyframes live-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(3)}}@keyframes wedge-in{0%{opacity:0;transform:rotate(-50deg)scale(.7)}}@media (width<=1120px){.hero{gap:40px}.work li{grid-template-columns:96px minmax(0,1fr) 176px}.work-tech{margin-top:var(--space-2);grid-area:2/2}.work-links{grid-area:1/3/span 2}.research-intro{grid-column:span 6}}@media (width<=960px){.hero{min-height:0;padding-block:var(--space-8) 80px;grid-template-columns:minmax(0,1fr);gap:56px}.bench{max-width:640px}.research-top,.proj{grid-template-columns:minmax(0,1fr)}.research-intro,.cite-demo,.proj-text,.proj-visual,.proj-wide{grid-column:1}.facts-3{grid-template-columns:repeat(2,minmax(0,1fr))}.proj-side{grid-column:1;margin-top:0}.stage{padding:var(--space-6) 0;border-radius:16px}.stage-route{display:none}.stage-row{justify-content:flex-start;gap:var(--space-4);padding-inline:var(--space-4);scroll-snap-type:x mandatory;scrollbar-width:none;overflow-x:auto}.stage-shot,.stage-shot:nth-child(n){scroll-snap-align:center;flex:0 0 208px;margin:0}.stage-cap{padding-inline:var(--space-4);text-align:left;margin-inline:0}}@media (width<=760px){.wrap{padding-inline:20px}.mast{padding-block:var(--space-4)}.section{padding-block:var(--space-16,64px)}.shead{margin-bottom:var(--space-8)}.shead h2{font-size:28px;line-height:32px}.hero{padding-block:var(--space-6) var(--space-16,64px)}.hero-sub{margin-top:20px}.hero-range,.hero-index{margin-top:var(--space-6)}.proj{padding-block:var(--space-12);row-gap:var(--space-8)}.proj-first{padding-top:0}.facts-3{grid-template-columns:minmax(0,1fr);gap:20px}.cite-demo{padding:20px}.dc-log{padding-inline:var(--space-3)}.dc-msg{column-gap:var(--space-3);grid-template-columns:32px minmax(0,1fr)}.dc-av{width:32px;height:32px;font-size:12px}.dc-used{padding-left:44px}.dc-used:before{width:24px;left:15px}.work li{grid-template-columns:minmax(0,1fr)}.work-year{line-height:20px}.work-name{margin-top:var(--space-1)}.work-tech{grid-area:auto/1}.work-group{align-items:center;gap:var(--space-3);flex-direction:row}.work-links{align-items:center;gap:var(--space-1) 20px;margin-top:var(--space-3);text-align:left;flex-flow:wrap;grid-area:auto/1}.notes-head{display:none}.notes li{column-gap:var(--space-3);padding-block:var(--space-4);grid-template-columns:repeat(4,auto) minmax(0,1fr)}.notes li>:nth-child(2){margin-bottom:var(--space-1);grid-area:1/1/auto/-1}.notes-date,.notes-num,.notes-topic{font-family:var(--font-mono);font-size:12px;line-height:16px}.notes .r{text-align:left}.unit-m{display:inline}.stats dd{font-size:18px;line-height:24px}}@media (width<=560px){.mast-name{font-size:14px}.bench{display:block}.bench-term{min-height:0}.bench-term .term-body{padding-bottom:56px;padding-right:20px}.bench-phone{width:200px;margin:-32px 0 0 auto;position:relative}.facts-2{grid-template-columns:minmax(0,1fr)}.loop-back,.loop-cap{display:none}.loop-steps{grid-template-columns:minmax(0,1fr);margin-top:0}.loop-steps li{padding:0 0 var(--space-4) var(--space-6);border-top:0;border-left:1px solid var(--hairline-strong)}.loop-steps li:last-child{padding-bottom:0}.loop-steps li:before{top:8px;left:-5px}}.recent{column-gap:var(--space-8);grid-column:1/-1;grid-template-columns:136px minmax(0,1fr);align-items:start;display:grid}.recent.is-empty:not(.is-live){display:none}.recent-head{gap:var(--space-1);padding-top:var(--space-4);color:var(--ink-muted);justify-items:start;font-size:14px;line-height:20px;display:grid}.recent-list{border-top:1px solid var(--hairline-strong);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.recent-list li{min-width:0;padding:var(--space-4) var(--space-8) 0 0;position:relative}.recent-list li:before{content:"";background:var(--bg);width:9px;height:9px;box-shadow:inset 0 0 0 1.5px var(--ink-muted);border-radius:50%;position:absolute;top:-5px;left:0}.recent-list li:first-child:before{background:var(--brand-apricot);box-shadow:none}.recent-list a{gap:var(--space-1);color:var(--ink);display:grid}.recent-msg{white-space:nowrap;text-overflow:ellipsis;transition:color var(--duration-feedback) var(--easing-standard);font-size:14px;font-weight:500;line-height:20px;overflow:hidden}.recent-list a:hover .recent-msg{color:var(--accent)}.recent-meta{align-items:center;gap:var(--space-2);min-width:0;display:flex}.recent-meta [data-f=repo]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-meta time{flex:none}.recent-meta time:before{content:"·";margin-right:var(--space-2)}.hero{row-gap:var(--space-8);grid-template-rows:minmax(0,1fr) auto}.tty{--tty-bg:#fbf8f4;--tty-bar:#f1ece4;--tty-fg:#302823;background:var(--tty-bg);min-width:0;color:var(--tty-fg);box-shadow:0 0 0 1px var(--hairline-strong);border-radius:12px;font-family:Cascadia Mono,Consolas,SF Mono,Menlo,DejaVu Sans Mono,monospace;overflow:hidden}:root[data-theme=dark] .tty{--tty-bg:#15120f;--tty-bar:#1e1a16;--tty-fg:#eee8df}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tty{--tty-bg:#15120f;--tty-bar:#1e1a16;--tty-fg:#eee8df}}.tty-bar{align-items:center;gap:var(--space-4);height:36px;padding-inline:var(--space-4);background:var(--tty-bar);font-family:var(--font-mono);color:var(--ink-muted);white-space:nowrap;font-size:12px;line-height:16px;display:flex}.tty-name{text-overflow:ellipsis;overflow:hidden}.tty-where{margin-left:auto}.tty-scroll{scrollbar-width:thin;overflow-x:auto}.tty-scroll:focus-visible{outline-offset:-2px;border-radius:0 0 12px 12px}.tty-screen,.tty-cmd{width:max-content;min-width:100%;font:inherit;white-space:pre;margin:0;line-height:1.2}.tty-screen{padding:var(--space-3) var(--space-4) var(--space-4)}.tty-cmd{padding:var(--space-3) var(--space-4) 0}.tty-cmd span{opacity:.6}.tty-cmd+.tty-screen,.tty-cmd+.tty-screen+.tty-screen{padding-top:var(--space-2)}.harness-show{container-type:inline-size}.console{grid-template-columns:calc(66ch + var(--space-4)) calc(34ch + var(--space-4)) calc(66ch + var(--space-4));padding:var(--space-8);background:var(--surface-sunken);font-family:Cascadia Mono,Consolas,SF Mono,Menlo,DejaVu Sans Mono,monospace;font-size:clamp(9px, calc((100cqw - 2 * var(--space-8) - 3 * var(--space-4)) / 99.94), 13px);border-radius:24px;grid-template-rows:minmax(6.5em,auto) auto auto;justify-content:center;margin:0;display:grid}.tty-back{grid-area:2/1/4/3;align-self:start}.tty-front{z-index:1;box-shadow:0 0 0 1px var(--hairline-strong), 0 24px 48px -16px #0006;grid-area:1/2/3/4;align-self:start}.console-cap{font-family:var(--font-sans);font-size:14px;line-height:20px;display:contents}.console-origin{max-width:25rem;padding-right:var(--space-6);color:var(--ink-muted);grid-area:1/1;align-self:start}.tag-sample{margin-right:var(--space-2);border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--ink);padding:0 6px;font-size:12px;line-height:18px;display:inline-block}.console-notes{align-self:end;gap:var(--space-3);padding:var(--space-6) 0 0 var(--space-8);grid-area:3/3;margin:0;display:grid}.console-notes div{column-gap:var(--space-3);grid-template-columns:44px minmax(0,1fr);align-items:baseline;display:grid}.console-notes dt{font-family:var(--font-mono);color:var(--ink-muted);font-size:12px;line-height:20px}.console-notes dd{color:var(--ink);text-wrap:pretty;margin:0}.sheet{margin-top:var(--space-6);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);grid-template-columns:minmax(0,5fr) minmax(0,2fr) minmax(0,2.5fr) minmax(0,2.5fr);display:grid}.sheet-cell{gap:var(--space-3);padding:var(--space-6);border-left:1px solid var(--hairline);align-content:start;justify-items:start;display:grid}.sheet-cell:first-child{border-left:0}.sheet-loop{justify-items:stretch}.sheet-label,.sheet-note{color:var(--ink-muted);font-size:14px;line-height:20px}.sheet .loop-steps{margin-top:var(--space-3)}.sheet .seg{flex-direction:column;align-items:stretch}.chips-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.chips-row span{padding:var(--space-1) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--bg);font-size:14px;line-height:20px}.proj-visual .dc{margin-top:0}.proj-text .term{margin-top:var(--space-8)}@media (width>=961px){.proj-flip .proj-text{grid-area:1/8/auto/-1}.proj-flip .proj-visual{grid-area:1/1/auto/span 7}}.ytf-show{gap:var(--space-6);display:grid}.ytf-run{margin:0;container-type:inline-size}.ytf-run .tty{font-size:clamp(11px, calc((100cqw - 2 * var(--space-4)) / 55.4), 13px)}.caps{gap:var(--space-3);margin:0;display:grid}.caps-pair{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr);display:grid}.caps-side{min-width:0;padding:20px var(--space-6) var(--space-6)}.caps-after{border-left:1px solid var(--hairline)}.caps-arrow{z-index:1;background:var(--surface);width:28px;height:28px;box-shadow:0 0 0 1px var(--hairline-strong);color:var(--ink);border-radius:50%;place-self:center;place-items:center;display:grid}.caps-head{margin-bottom:var(--space-4);gap:2px;font-size:14px;font-weight:500;line-height:20px;display:grid}.caps-track{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.caps-track li{column-gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.caps-time{border-radius:var(--radius-sm);background:var(--surface-sunken);font-family:var(--font-mono);color:var(--ink-muted);font-variant-numeric:tabular-nums;padding:0 6px;font-size:12px;line-height:20px}.caps-text,.caps-file{font-family:var(--font-mono);color:var(--ink);margin:0;font-size:12px;line-height:20px}.caps-text{white-space:pre-line}.caps-file{counter-reset:line;padding:0;list-style:none}.caps-file li{column-gap:var(--space-3);counter-increment:line;grid-template-columns:2ch minmax(0,1fr);display:grid}.caps-file li:before{content:counter(line);text-align:right;color:var(--ink-muted)}.caps figcaption a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline-strong);text-underline-offset:3px}.caps figcaption a:hover{color:var(--accent);text-decoration-color:currentColor}@media (width<=1120px){.sheet{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-loop{grid-column:1/-1}.sheet-cell:not(.sheet-loop){border-top:1px solid var(--hairline)}.sheet-loop+.sheet-cell{border-left:0}.sheet .seg{flex-direction:row}}@media (width<=960px){.hero{grid-template-rows:none}.console{gap:var(--space-4);padding:var(--space-4);font-size:clamp(11px, calc((100cqw - 4 * var(--space-4)) / 60.2), 13px);border-radius:16px;flex-direction:column;display:flex}.console-origin{order:-2;max-width:none;padding-right:0}.tty-front{order:-1}.tty-front,.tty-back{align-self:stretch}.console-notes{padding:0}}@media (width<=760px){.recent{display:block}.recent-head{align-items:center;gap:var(--space-3);padding-top:0;display:flex}.recent-list{margin:var(--space-4) 0 0 4px;border-top:0;border-left:1px solid var(--hairline-strong);grid-template-columns:minmax(0,1fr)}.recent-list li{padding:0 0 var(--space-4) 20px}.recent-list li:last-child{padding-bottom:0}.recent-list li:before{top:6px;left:-5px}.recent-list a{min-height:var(--control-lg);align-content:center}.sheet{grid-template-columns:minmax(0,1fr)}.sheet-cell{border-left:0;padding:20px}.caps-pair{grid-template-columns:minmax(0,1fr)}.caps-side{padding:20px}.caps-after{border-left:0;border-top:1px solid var(--hairline)}.caps-arrow{width:28px;height:0;box-shadow:none;background:0 0;overflow:visible}.caps-arrow svg{box-sizing:content-box;background:var(--surface);box-shadow:0 0 0 1px var(--hairline-strong);border-radius:50%;padding:6px;rotate:90deg}}@media (width<=560px){.console{background:0 0;border-radius:0;padding:0}}.caps-track li,.caps-file li{border-radius:var(--radius-sm);transition:background-color var(--duration-feedback) var(--easing-standard);margin-inline:-4px;padding-inline:4px}.caps-track li:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.caps li.is-lit{background:var(--accent-subtle)}@media (prefers-reduced-motion:no-preference){.console.is-armed .tty-front{opacity:0;transform:translateY(8px)}.console.is-in .tty-front{opacity:1;transition:opacity var(--duration-enter) var(--easing-standard) .24s, transform var(--duration-enter) var(--ease-out) .24s;transform:none}@media (width>=961px){.stage-shot:first-child{--fan:150%}.stage-shot:nth-child(2){--fan:75%}.stage-shot:nth-child(4){--fan:-75%}.stage-shot:nth-child(5){--fan:-150%}.stage.is-armed .stage-shot:not(.stage-center){opacity:0;transform:translateX(var(--fan))}.stage.is-in .stage-shot:not(.stage-center){opacity:1;transition:transform var(--duration-signature) var(--ease-out) .12s, opacity var(--duration-enter) var(--easing-standard) .12s;transform:none}}}.home{--sky-h:clamp(220px, 27vw, 400px)}.sky{z-index:0;height:var(--sky-h);pointer-events:none;position:absolute;inset:0 0 auto;overflow:hidden;-webkit-mask-image:linear-gradient(#000 62%,#0000);mask-image:linear-gradient(#000 62%,#0000)}.sky img{object-fit:cover;width:100%;height:100%}.sky-day{object-position:50% 30%}.sky-night{object-position:50% 78%}.home .hero{z-index:1;position:relative}body:has(.sky) .mast-link{color:var(--ink)}.home .hero{min-height:0;padding-top:calc(var(--sky-h) - 52px)}.foot-credit{color:var(--ink-muted);flex-basis:100%;margin:0;font-size:12px;line-height:16px}.foot-credit a{color:inherit}@media (width<=760px){.home{--sky-h:clamp(180px, 52vw, 260px)}.sky-day{object-position:72% 40%}.sky:after{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--bg) 72%, transparent), transparent);height:88px;position:absolute;inset:0 0 auto}.sky-night{object-position:40% 80%}.home .hero{padding-top:calc(var(--sky-h) - 40px)}.bench{display:none}}@media (width<=960px){.tty-scroll[data-more=end],.stage-row[data-more=end]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),#0000)}.tty-scroll[data-more=both],.stage-row[data-more=both]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000);mask-image:linear-gradient(90deg,#0000,#000 40px calc(100% - 40px),#0000)}.tty-scroll[data-more=start],.stage-row[data-more=start]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 40px);mask-image:linear-gradient(90deg,#0000,#000 40px)}}@media (pointer:coarse){.repo-link,.work-group .xlink,.foot-links a{position:relative}.repo-link:after,.work-group .xlink:after,.foot-links a:after{content:"";position:absolute;inset:-12px -6px}}
