:root{--font-sans:var(--font-jetbrains), ui-monospace, "SFMono-Regular", "Menlo", monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--text-2xl:44px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--track-tight:-.02em;--track-normal:0;--track-wide:.04em;--track-caps:.16em;--leading-tight:1;--leading-snug:1.15;--leading-normal:1.5;--leading-relaxed:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:22px;--space-6:28px;--space-7:36px;--space-8:44px;--space-9:64px;--border-hairline:.5px;--border-default:1px;--border-emphasis:1.5px;--chamfer-size:8px;--chamfer-inner:7px;--ease-default:cubic-bezier(.32, .72, .32, 1);--ease-soft:cubic-bezier(.22, .8, .2, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-base:.25s;--dur-slow:.45s;--dur-slower:.65s;--track-caps-wide:.22em;--radius-none:0;--radius-full:50%;--radius-panel:12px;--radius-inner:10px;--row-h:30px;--accent:#1f51ff;--accent-hover:#173fcc;--accent-soft:#1f51ff2e;--accent-tint:#1f51ff14;--live-green:#4ade80;--live-green-ring:#4ade80a6;--on-accent:#fff}:root,[data-theme=paper]{--paper:#f5f5f5;--paper-deep:#ebebeb;--panel:#ebebeb;--tile:#1a18150f;--ink:#1a1815;--ink-soft:#1a1815d1;--ink-mute:#1a18159e;--ink-faint:#1a18156b;--rule:#1a181538;--rule-soft:#1a181512;--guide:#1a181538;--ink-12:#1a18151f;--ink-22:var(--rule);--ink-42:var(--ink-faint);--ink-62:var(--ink-mute);--ink-82:var(--ink-soft)}[data-theme=onyx]{--accent:#5c8bff;--accent-hover:#80a4ff;--accent-soft:#5c8bff47;--accent-tint:#5c8bff29;--paper:#1c1c22;--paper-deep:#26262e;--panel:#2e2e38;--tile:#353541;--ink:#f5f3ee;--ink-soft:#f5f3eed1;--ink-mute:#f5f3ee9e;--ink-faint:#f5f3ee6b;--rule:#525261;--rule-soft:#3a3a45;--guide:#5c5c6b;--ink-12:#f5f3ee1f;--ink-22:var(--rule);--ink-42:var(--ink-faint);--ink-62:var(--ink-mute);--ink-82:var(--ink-soft)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}::selection{background:var(--accent-soft)}.chamfer{clip-path:polygon(var(--chamfer-size) 0, 100% 0, 100% calc(100% - var(--chamfer-size)), calc(100% - var(--chamfer-size)) 100%, 0 100%, 0 var(--chamfer-size))}.chamfered-card{--layer-border:var(--rule);--layer-fill:var(--paper);--layer-border-hover:var(--accent);--layer-fill-hover:color-mix(in srgb, var(--accent) 14%, var(--paper));isolation:isolate;background:var(--layer-border);clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);transition:background var(--dur-base) var(--ease-default), clip-path var(--dur-base) var(--ease-default);position:relative}.chamfered-card:before{content:"";inset:var(--border-default);z-index:-1;background:var(--layer-fill);clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);transition:background var(--dur-base) var(--ease-default), clip-path var(--dur-base) var(--ease-default);position:absolute}.chamfered-card:hover,.chamfered-card:focus-visible{background:var(--layer-border-hover);clip-path:polygon(var(--chamfer-size) 0, 100% 0, 100% calc(100% - var(--chamfer-size)), calc(100% - var(--chamfer-size)) 100%, 0 100%, 0 var(--chamfer-size))}.chamfered-card:hover:before,.chamfered-card:focus-visible:before{background:var(--layer-fill-hover);clip-path:polygon(var(--chamfer-inner) 0, 100% 0, 100% calc(100% - var(--chamfer-inner)), calc(100% - var(--chamfer-inner)) 100%, 0 100%, 0 var(--chamfer-inner))}.tag{--tag-chamfer:6px;--tag-border:var(--border-hairline);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-tight);color:var(--ink-mute);background:var(--ink-mute);clip-path:polygon(var(--tag-chamfer) 0, 100% 0, 100% calc(100% - var(--tag-chamfer)), calc(100% - var(--tag-chamfer)) 100%, 0 100%, 0 var(--tag-chamfer));align-items:center;padding:4px 10px;display:inline-flex;position:relative}.tag:before{content:"";inset:var(--tag-border);z-index:0;background:var(--paper);clip-path:polygon(calc(var(--tag-chamfer) - var(--tag-border)) 0, 100% 0, 100% calc(100% - (var(--tag-chamfer) - var(--tag-border))), calc(100% - (var(--tag-chamfer) - var(--tag-border))) 100%, 0 100%, 0 calc(var(--tag-chamfer) - var(--tag-border)));position:absolute}.tag>span{z-index:1;position:relative}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--track-normal);cursor:pointer;-webkit-user-select:none;user-select:none;isolation:isolate;clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);transition:background var(--dur-base) var(--ease-default), color var(--dur-base) var(--ease-default), clip-path var(--dur-base) var(--ease-default);background:0 0;border:none;text-decoration:none;display:inline-flex;position:relative}.btn:focus-visible{outline:var(--border-emphasis) solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--accent-hover);clip-path:polygon(var(--chamfer-size) 0, 100% 0, 100% calc(100% - var(--chamfer-size)), calc(100% - var(--chamfer-size)) 100%, 0 100%, 0 var(--chamfer-size))}.btn-secondary{background:var(--accent);color:var(--accent)}.btn-secondary:before{content:"";inset:var(--border-default);z-index:-1;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);transition:clip-path var(--dur-base) var(--ease-default);position:absolute}.btn-secondary:hover,.btn-secondary:focus-visible{clip-path:polygon(var(--chamfer-size) 0, 100% 0, 100% calc(100% - var(--chamfer-size)), calc(100% - var(--chamfer-size)) 100%, 0 100%, 0 var(--chamfer-size))}.btn-secondary:hover:before,.btn-secondary:focus-visible:before{clip-path:polygon(var(--chamfer-inner) 0, 100% 0, 100% calc(100% - var(--chamfer-inner)), calc(100% - var(--chamfer-inner)) 100%, 0 100%, 0 var(--chamfer-inner))}.btn-tertiary{background:var(--accent);color:var(--accent)}.btn-tertiary:before{content:"";inset:var(--border-default);z-index:-1;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);transition:background var(--dur-base) var(--ease-default), clip-path var(--dur-base) var(--ease-default);position:absolute}.btn-tertiary:hover,.btn-tertiary:focus-visible{color:var(--on-accent);clip-path:polygon(var(--chamfer-size) 0, 100% 0, 100% calc(100% - var(--chamfer-size)), calc(100% - var(--chamfer-size)) 100%, 0 100%, 0 var(--chamfer-size))}.btn-tertiary:hover:before,.btn-tertiary:focus-visible:before{background:var(--accent);clip-path:polygon(var(--chamfer-inner) 0, 100% 0, 100% calc(100% - var(--chamfer-inner)), calc(100% - var(--chamfer-inner)) 100%, 0 100%, 0 var(--chamfer-inner))}.btn-skeuo{transition:background var(--dur-base) var(--ease-default), color var(--dur-base) var(--ease-default), box-shadow var(--dur-base) var(--ease-default), clip-path var(--dur-base) var(--ease-default), transform .14s ease}.btn-skeuo.btn-primary,.btn-skeuo.btn-secondary:before{box-shadow:inset 0 1px 0 var(--toggle-knob-bevel), inset 0 -1px 1px var(--toggle-knob-shadow)}.btn-skeuo:active{transform:translateY(1px)}.btn-skeuo.btn-primary:active,.btn-skeuo.btn-secondary:active:before{box-shadow:inset 0 2px 3px var(--toggle-knob-shadow), inset 0 -1px 0 var(--toggle-knob-bevel)}.link{color:var(--accent);cursor:pointer;transition:color var(--dur-base) var(--ease-default);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;text-decoration:none}.link:hover,.link:focus-visible{color:var(--ink)}.link:focus-visible{outline:var(--border-emphasis) solid var(--accent);outline-offset:2px}.link--ink{color:var(--ink)}.link--ink:hover,.link--ink:focus-visible{color:var(--accent)}html.is-theme-changing,html.is-theme-changing *,html.is-theme-changing :before,html.is-theme-changing :after{transition:background-color .7s var(--ease-soft), background .7s var(--ease-soft), color .7s var(--ease-soft), border-color .7s var(--ease-soft), fill .7s var(--ease-soft), stroke .7s var(--ease-soft), box-shadow .7s var(--ease-soft), opacity .7s var(--ease-soft)!important}html.is-theme-changing .skeuo-theme-knob{transition:left .28s cubic-bezier(.2, .8, .2, 1), background .7s var(--ease-soft), box-shadow .7s var(--ease-soft)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}
:root{--shell-gutter:18px}@media (max-width:720px){:root{--shell-gutter:12px}}.shell{column-gap:var(--shell-gutter);padding:var(--shell-gutter);box-sizing:border-box;grid-template-columns:220px 1fr;min-height:100vh;display:grid}[data-embed="1"] .sidebar,[data-embed="1"] [class*=Footer-module],[data-embed="1"] .local-clock,[data-embed="1"] .dot-field,[data-embed="1"] .cursor-dot-field,[data-embed="1"] .experiment-header,[data-embed="1"] .case-study__eyebrow,[data-embed="1"] .case-study__title,[data-embed="1"] .case-study__lede{display:none!important}[data-embed="1"] .shell{grid-template-columns:1fr;column-gap:0;padding:0}[data-embed="1"] .col{max-width:none;padding:0}[data-hero="1"] .sidebar,[data-hero="1"] .local-clock,[data-hero="1"] .dot-field,[data-hero="1"] .cursor-dot-field,[data-hero="1"] .projects-section,[data-hero="1"] [class*=Footer-module],[data-hero="1"] [class*=BookLogSection-module],[data-hero="1"] [class*=ReferencesSection-module]{display:none!important}[data-hero="1"] .shell{grid-template-columns:1fr;column-gap:0;padding:0}[data-hero="1"] .col{max-width:none;padding:80px 96px}@media (max-width:880px){.shell{grid-template-columns:1fr}}main.page{flex-direction:column;display:flex;position:relative}.col{grid-template-columns:[bleed-start]128px[reading-start]minmax(0,600px)[reading-end]minmax(56px,1fr)[bleed-end];width:100%;max-width:none;padding:80px 0 120px;display:grid}.col>*{grid-column:reading;min-width:0}.col>.bleed{grid-column:bleed}@media (max-width:880px){.col{grid-template-columns:[bleed-start]16px[reading-start]minmax(0,1fr)[reading-end]16px[bleed-end];padding:56px 0 96px}}@media (max-width:720px){.col{grid-template-columns:[bleed-start]0[reading-start]minmax(0,1fr)[reading-end]0[bleed-end];padding:12px 0 80px}}@media (min-width:881px) and (max-width:980px){.col{grid-template-columns:[bleed-start]64px[reading-start]minmax(0,600px)[reading-end]minmax(16px,1fr)[bleed-end]}}@media (min-width:1440px){.col{grid-template-columns:[bleed-start]200px[reading-start]minmax(0,700px)[reading-end]minmax(56px,1fr)[bleed-end]}}.shell__main{flex-direction:column;min-width:0;display:flex;position:relative}.dot-field{top:var(--shell-gutter);right:var(--shell-gutter);bottom:var(--shell-gutter);left:calc(220px + var(--shell-gutter) * 2);pointer-events:none;z-index:0;opacity:.55;position:fixed}@media (max-width:880px){.dot-field{left:var(--shell-gutter)}}@media (max-width:720px){.dot-field,.skeuo-keypad{display:none!important}}@media (hover:none),(pointer:coarse){.dot-field,.skeuo-keypad{display:none!important}}.dot-field canvas{width:100%;height:100%;display:block}main.page{z-index:1;position:relative}.sidebar{top:var(--shell-gutter);height:calc(100vh - var(--shell-gutter) * 2);background:var(--paper-deep);font-size:var(--text-base);-webkit-user-select:none;user-select:none;isolation:isolate;border:1px solid var(--rule);border-radius:var(--radius-panel);align-self:start;position:sticky;overflow:hidden}.sidebar-inner{z-index:2;height:100%;padding:var(--space-4) var(--space-3) var(--space-6);flex-direction:column;display:flex;position:relative;overflow-y:auto}.sidebar-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-5);display:flex}.logo-mark{align-items:center;gap:var(--space-2);color:var(--ink);cursor:pointer;transition:color var(--dur-base) var(--ease-default);background:0 0;border:0;padding:0;display:inline-flex}.logo-mark:hover{color:var(--accent)}.logo-mark:focus-visible{outline:var(--border-emphasis) solid var(--accent);outline-offset:2px}.logo-square{width:28px;height:28px;color:var(--accent);flex:0 0 28px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:4px;display:inline-grid}.logo-square .d{--a:0;--b:0;--on:var(--a);width:100%;height:100%;opacity:calc(.32 + .68 * var(--on));transform:scale(calc(.85 + .15 * var(--on)));transition:opacity .35s var(--ease-default), transform .35s var(--ease-default);background:currentColor;border-radius:50%}.logo-square .d:first-child{--a:1;transition-delay:0s}.logo-square .d:nth-child(2){--b:1;transition-delay:20ms}.logo-square .d:nth-child(3){--a:1;transition-delay:40ms}.logo-square .d:nth-child(4){--a:1;--b:1;transition-delay:60ms}.logo-square .d:nth-child(5){--a:1;transition-delay:80ms}.logo-square .d:nth-child(6){--a:1;--b:1;transition-delay:.1s}.logo-square .d:nth-child(7){--a:1;transition-delay:.12s}.logo-square .d:nth-child(8){--b:1;transition-delay:.14s}.logo-square .d:nth-child(9){--a:1;transition-delay:.16s}.logo-mark:hover .logo-square .d,.logo-mark:focus-visible .logo-square .d{--on:var(--b)}.sidebar-header__slot{align-items:center;display:none}.sidebar-back{align-items:center;gap:var(--space-2);padding:0 var(--space-2);margin:0 0 var(--space-3);height:var(--row-h);cursor:pointer;color:var(--ink-mute);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--track-wide);text-transform:uppercase;transition:background var(--dur-base) var(--ease-default), color var(--dur-base) var(--ease-default);display:flex}.sidebar-back:hover,.sidebar-back:focus-visible{background:color-mix(in srgb, var(--ink) 4%, transparent);color:var(--ink);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--toggle-knob-bevel) 35%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--toggle-knob-shadow) 30%, transparent)}.sidebar-back:focus-visible{outline:var(--border-emphasis) solid var(--accent);outline-offset:2px}.sidebar-back svg{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-default)}.sidebar-back:hover svg{transform:translate(-3px)}.tree .row.file.doc-title{font-weight:var(--weight-semibold)}.tree{flex-direction:column;display:flex}.tree .row{align-items:center;gap:var(--space-2);height:var(--row-h);box-sizing:border-box;width:100%;padding:0 var(--space-2);font:inherit;text-align:left;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;transition:background .14s,color .14s,box-shadow .14s,transform .14s;display:flex;box-shadow:inset 0 0 #0000}.tree .row:hover{background:color-mix(in srgb, var(--ink) 4%, transparent);color:var(--ink);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--toggle-knob-bevel) 35%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--toggle-knob-shadow) 30%, transparent)}.tree .row:hover .chev{color:var(--ink)}.tree .row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tree .row .label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tree .row.active{background:color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink);font-weight:var(--weight-semibold);box-shadow:inset 0 1px 2px color-mix(in srgb, var(--toggle-knob-shadow) 50%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--toggle-knob-bevel) 45%, transparent)}.tree .row.active .chev{color:var(--ink)}.tree .chev{width:12px;height:12px;color:var(--ink-faint);flex:0 0 12px;justify-content:center;align-items:center;transition:transform .15s,color .12s;display:inline-flex}.tree .chev svg{width:10px;height:10px;display:block}.tree .row.folder:hover .chev{color:var(--ink)}.folder-group.open>.row.folder .chev{transform:rotate(90deg)}.tree .row.file .chev{visibility:hidden}.children{grid-template-rows:0fr;margin-left:11px;padding-left:4px;transition:grid-template-rows .35s cubic-bezier(.32,.72,.32,1);display:grid;position:relative}.folder-group.open>.children{grid-template-rows:1fr}.children-list{min-width:0;min-height:0;overflow:hidden}.children.children--root{max-height:none;margin-left:0;padding-left:22px;overflow:visible}.children.children--root:before{left:calc(var(--space-2) + 14px);top:0;bottom:var(--space-2)}.folder-group:has(>.row.doc-title)>.children{margin-left:0;padding-left:0}.folder-group:has(>.row.doc-title)>.children:before{display:none}@media (max-width:880px){.sidebar{top:var(--space-3);background:var(--paper);z-index:50;height:auto;position:sticky;overflow:visible}.sidebar-inner{padding:var(--space-3) var(--space-4);overflow:visible}.sidebar-header{padding-bottom:var(--space-3);margin-bottom:0;padding-right:72px;position:relative}.sidebar-header__slot{cursor:pointer;z-index:10;background:0 0;border:0;width:72px;height:100%;display:block;position:absolute;top:0;left:0}.sidebar .tree{padding-top:var(--space-3);display:none}.sidebar.is-open .tree{display:flex}}.local-clock{left:calc(var(--shell-gutter) + 1px + var(--space-3));width:calc(220px - 2px - var(--space-3) * 2);bottom:calc(var(--shell-gutter) + var(--space-6));z-index:900;align-items:stretch;gap:var(--space-3);font-family:var(--font-sans);color:var(--ink);-webkit-user-select:none;user-select:none;transition:opacity .6s var(--ease-out);flex-direction:column;display:flex;position:fixed}.local-clock>*{align-self:stretch;margin-left:0;margin-right:0}.local-clock__heading{font-size:var(--text-xs);color:var(--ink-mute);letter-spacing:0;text-transform:none}@media (max-width:880px){.local-clock{top:var(--space-3);right:var(--space-7);align-items:center;gap:var(--space-3);z-index:60;flex-direction:row;width:auto;height:86px;position:fixed;bottom:auto;left:auto}.local-clock>*{align-self:center}.local-clock .local-clock__heading,.local-clock .skeuo-keypad{display:none}.local-clock .skeuo-theme{width:88px}.local-clock .skeuo-theme-track{height:28px}}@media (max-width:720px){.local-clock{height:74px}}:root{--toggle-plate-from:#ececea;--toggle-plate-to:#c6c6c2;--toggle-plate-border:#00000052;--toggle-plate-light:#ffffffa6;--toggle-plate-dark:#0000002e;--toggle-track-from:#b8b8b3;--toggle-track-to:#d4d4cf;--toggle-track-inset:#0006;--toggle-knob-from:#f5f5f1;--toggle-knob-to:#d6d6d0;--toggle-knob-bevel:#ffffff8c;--toggle-knob-shadow:#0000002e;--toggle-knob-rim:#00000038;--toggle-icon:#00000073;--toggle-icon-hover:#000000c7;--toggle-icon-active:#000000f2;--toggle-tick:#0000002e;--key-from:var(--toggle-knob-from);--key-to:var(--toggle-knob-to);--key-border:var(--toggle-knob-rim);--key-icon:#0000008c;--key-icon-active:#000000f2}[data-theme=onyx]{--toggle-plate-from:#2c2c2e;--toggle-plate-to:#16161a;--toggle-plate-border:#0009;--toggle-plate-light:#ffffff14;--toggle-plate-dark:#0000008c;--toggle-track-from:#0c0c0e;--toggle-track-to:#1a1a1c;--toggle-track-inset:#000000bf;--toggle-knob-from:#38383a;--toggle-knob-to:#1c1c1e;--toggle-knob-bevel:#ffffff38;--toggle-knob-shadow:#000000a6;--toggle-knob-rim:#0000008c;--toggle-icon:#ffffff6b;--toggle-icon-hover:#ffffffc7;--toggle-icon-active:#fffffff2;--toggle-tick:#ffffff2e;--key-from:var(--toggle-knob-from);--key-to:var(--toggle-knob-to);--key-border:var(--toggle-knob-rim);--key-icon:#ffffff8c;--key-icon-active:#fffffff2}.skeuo-theme{width:100%;margin-bottom:var(--space-1);background:0 0;border-radius:0;flex-direction:column;gap:6px;padding:6px 0 4px;display:flex}.skeuo-theme-icons{grid-template-columns:1fr 1fr;display:grid;position:relative}.skeuo-theme-icon{appearance:none;cursor:pointer;color:var(--toggle-icon);background:0 0;border:0;justify-content:center;padding:2px 0;transition:color .14s;display:flex;position:relative}.skeuo-theme-icon:hover{color:var(--toggle-icon-hover)}.skeuo-theme-icon.is-active{color:var(--toggle-icon-active)}.skeuo-theme-icon svg{width:14px;height:14px;display:block}.skeuo-theme-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skeuo-theme-track{cursor:pointer;background:linear-gradient(180deg, var(--key-to) 0%, var(--key-from) 100%);height:24px;box-shadow:inset 0 0 0 1px var(--toggle-knob-rim), inset 0 2px 3px var(--toggle-knob-shadow), inset 0 -1px 0 var(--toggle-knob-bevel);border-radius:0;position:relative;overflow:hidden}.skeuo-theme-bg{width:50%;color:var(--toggle-icon);pointer-events:none;z-index:0;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}.skeuo-theme-bg--sun{left:0}.skeuo-theme-bg--moon{right:0}.skeuo-theme-bg svg{width:13px;height:13px;display:block}.skeuo-theme-knob{z-index:1;background:linear-gradient(180deg, var(--toggle-knob-from) 0%, var(--toggle-knob-to) 100%);width:calc(50% - 2px);box-shadow:inset 0 0 0 1px var(--toggle-knob-rim), inset 0 1px 0 var(--toggle-knob-bevel), inset 0 -1px 1px var(--toggle-knob-shadow), 0 1px 2px var(--toggle-knob-shadow);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:0;justify-content:center;align-items:center;transition:left .28s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:2px;bottom:2px;left:2px}[data-theme=onyx] .skeuo-theme-knob{left:50%}.skeuo-theme-knob:active{cursor:grabbing}.skeuo-theme-knob{color:var(--accent)}.skeuo-theme-knob svg{pointer-events:none;width:13px;height:13px;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 55%, transparent));display:block}.skeuo-keypad{margin-bottom:var(--space-1);background:0 0;border-radius:0;align-items:center;gap:2px;width:100%;padding:4px 0;display:flex}.skeuo-key{appearance:none;cursor:pointer;height:28px;color:var(--key-icon);background:linear-gradient(180deg, var(--key-from) 0%, var(--key-to) 100%);box-shadow:inset 0 0 0 1px var(--key-border), inset 0 1px 0 var(--toggle-knob-bevel), inset 0 -1px 1px var(--toggle-knob-shadow), 0 1px 2px var(--toggle-knob-shadow);border:0;border-radius:0;flex:1 1 0;justify-content:center;align-items:center;transition:background .14s,color .14s,box-shadow .14s,transform .14s;display:inline-flex}.skeuo-key:hover{color:var(--toggle-icon-hover)}.skeuo-key.is-active{background:linear-gradient(180deg, var(--key-to) 0%, var(--key-from) 100%);color:var(--accent);box-shadow:inset 0 0 0 1px var(--key-border), inset 0 2px 3px var(--toggle-knob-shadow), inset 0 -1px 0 var(--toggle-knob-bevel);transform:translateY(1px)}.skeuo-key:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skeuo-key svg{width:14px;height:14px;display:block}.sidebar{box-shadow:inset 0 1px #ffffff80,inset 0 -1px #00000014,0 3px 10px #0000001a,0 1px 2px #0000000f}[data-theme=onyx] .sidebar{box-shadow:inset 0 -1px #0000004d,0 3px 10px #0006,0 1px 2px #00000040}.local-clock .updated{color:var(--ink-mute);font-size:var(--text-xs);font-weight:var(--weight-medium)}.local-clock .updated__date{font-weight:var(--weight-regular)}.hero-identity{color:var(--ink-soft);align-items:center;gap:14px;display:flex}.avatar{background:var(--tile) url(/me-header.png) 50% 50% / cover no-repeat;border:var(--border-default) solid var(--rule);cursor:pointer;transform-origin:0 0;width:36px;height:36px;transition:transform var(--dur-base) var(--ease-default);flex:0 0 36px;display:inline-block}.avatar:hover{transform:scale(1.667)}.hero-identity .name{color:var(--ink-soft);font-size:18px;font-weight:var(--weight-regular);transition:transform var(--dur-base) var(--ease-default)}.hero-identity:has(.avatar:hover) .name{transform:translate(24px)}.id-meta{align-items:flex-end;gap:var(--space-1);color:var(--ink-mute);font-size:var(--text-sm);font-weight:var(--weight-medium);flex-direction:column;margin-left:auto;line-height:1.2;display:inline-flex}.id-meta__row{align-items:center;gap:var(--space-1);display:inline-flex}.id-meta__row.updated{font-weight:var(--weight-regular)}.id-location{align-items:center;gap:var(--space-2);display:inline-flex}.id-location .dot{background:var(--live-green);width:7px;height:7px;box-shadow:0 0 0 0 var(--live-green-ring);border-radius:50%;animation:2s ease-out infinite lc-pulse}.id-sep{margin-left:calc(-1 * var(--space-1))}.id-time{font-variant-numeric:tabular-nums}@keyframes lc-pulse{0%{box-shadow:0 0 0 0 var(--live-green-ring)}70%{box-shadow:0 0 0 10px #4ade8000}to{box-shadow:0 0 #4ade8000}}@media (max-width:720px){.hero-identity{flex-wrap:wrap;align-items:center}.id-meta{flex-direction:row;flex-basis:100%;order:-1;justify-content:space-between;align-items:center;margin-bottom:14px;margin-left:0}.id-meta__row{white-space:nowrap}.hc-root{margin-top:36px}}.hc-root{--hc-paper:var(--paper);--hc-ink:var(--ink);--hc-ink-panel:var(--ink);--hc-ink-12:#1a18151f;--hc-accent:var(--accent);--hc-font-sans:var(--font-sans);--hc-font-serif:var(--font-sans);--hc-chamfer:var(--chamfer-size);--hc-ease:var(--ease-default);--hc-dur:var(--dur-base);max-width:640px;color:var(--ink);margin:80px 0 0}@media (min-width:1440px){.hc-root{max-width:none}}[data-theme=onyx] .hc-root{--hc-ink-12:#f5f3ee1f}.hc-type{vertical-align:.06em;background:var(--paper-deep);color:var(--ink);font-family:var(--hc-font-serif);font-style:inherit;font-weight:inherit;letter-spacing:-.02em;cursor:pointer;-webkit-user-select:none;user-select:none;clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);transition:clip-path var(--hc-dur) var(--hc-ease);align-items:center;padding:.18em .5em .14em;font-size:.78em;line-height:1;display:inline-flex}.hc-type:hover{clip-path:polygon(var(--hc-chamfer) 0, 100% 0, 100% calc(100% - var(--hc-chamfer)), calc(100% - var(--hc-chamfer)) 100%, 0 100%, 0 var(--hc-chamfer))}.hc-type__prompt{color:var(--hc-accent);font-family:var(--hc-font-sans);font-weight:var(--weight-medium);margin-right:.4em;font-size:.92em}.hc-type__vp{height:1em;line-height:1;display:inline-block;position:relative}.hc-type__ghost{visibility:hidden;white-space:pre;pointer-events:none;display:inline-block}.hc-type__overlay{white-space:pre;align-items:center;display:inline-flex;position:absolute;inset:0}.hc-type__text{white-space:pre;display:inline-block}.hc-type__cursor{background:var(--ink);vertical-align:-.05em;width:2px;height:.85em;margin-left:3px;animation:1.05s step-end infinite hc-blink;display:inline-block}@keyframes hc-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.hc-type__cursor{animation:none}}.hc-headline{font-family:var(--font-sans);font-size:clamp(1.7rem,3.4vw,38px);font-weight:var(--weight-medium);letter-spacing:var(--track-tight);color:var(--ink);line-height:1.15}.hc-body{font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--ink-soft);transition:color var(--dur-base) var(--ease-default);text-wrap:pretty;margin-top:48px}@media (min-width:881px) and (max-width:1439px){.hc-body{text-wrap:balance}}.hc-mark{color:inherit;transition:color var(--dur-base) var(--ease-default)}.hc-copy[data-active] .hc-body{color:var(--ink-faint)}.hc-copy[data-active] .hc-mark.is-lit{color:var(--ink)}.hc-key{cursor:pointer;display:inline-grid}.hc-key__ghost,.hc-key__text{grid-area:1/1}.hc-key__ghost{font-weight:var(--weight-bold);visibility:hidden}.hc-mark.is-lit .hc-key__text{color:var(--accent);font-weight:var(--weight-bold)}.hc-glyph{vertical-align:-.16em;box-sizing:content-box;width:1.05em;height:1.05em;color:var(--ink-mute);cursor:pointer;transition:color var(--dur-base) var(--ease-default);background:0 0;border:0;justify-content:center;align-items:center;margin:-.4em .04em -.4em .18em;padding:.4em;display:inline-flex}[data-theme=onyx] .hc-glyph{color:var(--ink-soft)}.lottie-glyph{width:100%;height:100%;line-height:0;display:block}.lottie-glyph svg{display:block;overflow:visible;width:100%!important;height:100%!important}.lottie-glyph svg path,.lottie-glyph svg ellipse,.lottie-glyph svg line,.lottie-glyph svg rect,.lottie-glyph svg circle,.lottie-glyph svg polyline,.lottie-glyph svg polygon{stroke:currentColor!important}.hc-glyph:hover,.hc-glyph:focus-visible,.hc-glyph.is-lit{color:var(--accent)}.hc-glyph:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.hc-copy[data-active] .hc-glyph{color:var(--ink-faint)}.hc-copy[data-active] .hc-glyph.is-lit{color:var(--accent)}@media (prefers-reduced-motion:reduce){.hc-body,.hc-mark,.hc-glyph{transition:none}}.hc-ink{--hc-ink-tint:#1a18151f;padding:2px var(--space-2);background:var(--hc-ink-tint);color:inherit;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);transition:color var(--dur-base) var(--ease-default), background var(--dur-base) var(--ease-default), clip-path var(--dur-base) var(--ease-default);border:none;align-items:center;font-family:inherit;line-height:1em;display:inline-flex;position:relative}[data-theme=onyx] .hc-ink{--hc-ink-tint:#f5f3ee1f}.hc-ink:hover{color:var(--paper);background:var(--ink);clip-path:polygon(var(--chamfer-size) 0, 100% 0, 100% calc(100% - var(--chamfer-size)), calc(100% - var(--chamfer-size)) 100%, 0 100%, 0 var(--chamfer-size))}.hc-ink--accent:hover{background:var(--accent)}.projects-section{margin-top:96px}.section__head{align-items:stretch;gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.section__label{color:var(--ink);font-size:var(--text-md);font-weight:var(--weight-medium)}.section__rule{width:100%;height:var(--border-default);background:var(--rule)}.section__count{color:var(--ink-mute);font-size:var(--text-xs);font-weight:var(--weight-medium)}.projects-grid{gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.projects-col{gap:var(--space-6);flex-direction:column;display:flex}@media (max-width:880px){.projects-grid{grid-template-columns:1fr}.projects-col{display:contents}}.project{isolation:isolate;gap:var(--space-3);padding:var(--space-4);color:var(--ink);background:var(--rule);border-radius:var(--radius-panel);transition:background var(--dur-base) var(--ease-default), box-shadow var(--dur-base) var(--ease-default), opacity var(--dur-base) var(--ease-default), transform var(--dur-base) var(--ease-default);flex-direction:column;display:flex;position:relative}:is(.projects-grid:has(.project:hover) .project:not(:hover),.projects-grid:has(.project:focus-within) .project:not(:focus-within)){opacity:.4}.project:before{content:"";inset:var(--border-default);z-index:-1;background:var(--paper);border-radius:calc(var(--radius-panel) - var(--border-default));transition:background var(--dur-base) var(--ease-default);position:absolute}.project:hover,.project:focus-visible{box-shadow:0 6px 18px #0000001f,0 2px 4px #0000000f}[data-theme=onyx] .project:hover,[data-theme=onyx] .project:focus-visible{box-shadow:0 6px 18px #00000080,0 2px 4px #0000004d}.project:hover:before,.project:focus-visible:before{background:var(--paper-deep)}.project__image-frame{aspect-ratio:4/3.52;--notch-tl-w:0px;--notch-tl-h:0px;--notch-chamfer:0px;--notch-slant:10px;--notch-radius:8px;--notch-corner-d:0px;--notch-corner-dx:0px;--notch-corner-dy:0px;position:relative}.project__image{background:var(--tile);clip-path:shape(from calc(var(--notch-tl-w) + var(--notch-corner-d)) 0, line to calc(100% - var(--radius-inner)) 0, arc to 100% var(--radius-inner) of var(--radius-inner) cw, line to 100% calc(100% - var(--radius-inner)), arc to calc(100% - var(--radius-inner)) 100% of var(--radius-inner) cw, line to var(--radius-inner) 100%, arc to 0 calc(100% - var(--radius-inner)) of var(--radius-inner) cw, line to 0 calc(var(--notch-tl-h) + var(--notch-radius)), arc to var(--notch-radius) var(--notch-tl-h) of var(--notch-radius) cw, line to calc(var(--notch-tl-w) - var(--notch-slant) - var(--notch-corner-d)) var(--notch-tl-h), arc to calc(var(--notch-tl-w) - var(--notch-slant) + var(--notch-corner-dx)) calc(var(--notch-tl-h) - var(--notch-corner-dy)) of var(--notch-radius) ccw, line to calc(var(--notch-tl-w) - var(--notch-corner-dx)) var(--notch-corner-dy), arc to calc(var(--notch-tl-w) + var(--notch-corner-d)) 0 of var(--notch-radius) cw, close);place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.project__image-placeholder{background:var(--tile);width:100%;height:100%}.project__image-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.project__image-img--hover{opacity:0;transition:opacity var(--dur-base) var(--ease-default)}.project:hover .project__image-img--hover,.project:focus-within .project__image-img--hover{opacity:1}.project__badge{z-index:2;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:10px;font-weight:var(--weight-semibold);color:var(--ink);background:0 0;border:0;padding:0;line-height:.8;display:inline-flex;position:absolute;top:0;left:0}.project__badge[data-status=new]{color:var(--accent)}.project__badge[data-status=coming-soon]{color:var(--ink-mute)}.project__tags-row{align-items:baseline;gap:var(--space-2);flex-wrap:nowrap;padding:0;display:inline-flex}.project__tags-row .tag{clip-path:none;background:0 0;padding:0}.project__tags-row .tag:before{display:none}.project__tags-row .tag+.tag:after{content:"";left:calc(var(--space-2) * -.5);background:var(--ink-mute);border-radius:50%;width:3px;height:3px;position:absolute;top:50%;transform:translate(-50%,-50%)}.project__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-2);display:flex}.project__title{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--ink);letter-spacing:var(--track-tight)}.project__date{font-size:var(--text-xs);color:var(--ink-mute);font-variant-numeric:tabular-nums}.project__role{font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-normal)}.project__pills{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.project__info{gap:var(--space-3);padding:var(--space-4);background:var(--paper);border:var(--border-default) solid var(--rule);border-radius:var(--radius-inner);flex-direction:column;display:flex;box-shadow:inset 0 2px 6px #0000002b}[data-theme=onyx] .project__info{box-shadow:inset 0 2px 6px #00000080}.project__reveal{transition:grid-template-rows var(--dur-base) var(--ease-default);grid-template-rows:0fr;display:grid}.project:hover .project__reveal,.project:focus-visible .project__reveal{grid-template-rows:1fr}.project__reveal-inner{overflow:hidden}.project__reveal-content{padding-top:var(--space-3);gap:var(--space-3);flex-direction:column;display:flex}.project__metrics{padding:var(--space-3) 0;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;list-style:none;display:grid}.project__metric{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.project__metric-value{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--ink);letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1}.project__metric-unit{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--ink-mute);margin-left:1px}.project__metric-label{font-size:var(--text-2xs);color:var(--ink-mute);line-height:var(--leading-normal)}.project__desc{font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-relaxed)}.project__actions{gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.project__actions .btn{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}@media (max-width:720px){.project:before{background:var(--paper-deep)}.project__image-img--hover{opacity:1}.project__reveal{grid-template-rows:1fr}:is(.projects-grid:has(.project:hover) .project:not(:hover),.projects-grid:has(.project:focus-within) .project:not(:focus-within)){opacity:1}}@media (max-width:880px){.project__actions .btn{min-height:32px}}.experiment-header{width:100%;max-width:760px;padding:80px 56px var(--space-7) 128px}@media (max-width:880px){.experiment-header{padding:56px 32px var(--space-5)}}@media (max-width:720px){.experiment-header{padding:48px 24px var(--space-5)}}.case-study__eyebrow{font-size:var(--text-xs);color:var(--ink-mute);letter-spacing:var(--track-caps);text-transform:uppercase;margin-bottom:var(--space-3)}.case-study__title{font-family:var(--font-sans);font-size:clamp(2.4rem, 5vw, var(--text-2xl));font-weight:var(--weight-medium);letter-spacing:var(--track-tight);color:var(--ink);margin-bottom:var(--space-4);line-height:1.05}.case-study__lede{font-size:14px;line-height:var(--leading-relaxed);color:var(--ink-soft);max-width:56ch}.case-study__meta{gap:var(--space-5) var(--space-7);margin:var(--space-7) 0 var(--space-4);flex-wrap:wrap;display:flex}.case-study__meta dl{gap:var(--space-1);flex-direction:column;display:flex}.case-study__meta dl:last-child{text-align:right;margin-left:auto}.case-study__meta dt{font-size:var(--text-xs);color:var(--ink-mute);letter-spacing:var(--track-tight)}.case-study__meta dd{font-size:var(--text-sm);color:var(--ink)}.case-study__outcomes{margin-top:var(--space-8)}.case-study__outcomes-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:1024px){.case-study__outcomes-grid{grid-template-columns:1fr}}.case-study__hero-image{margin-top:var(--space-7);aspect-ratio:1;background:var(--tile);border:var(--border-default) solid var(--rule);width:100%}.case-study__layers{margin-top:var(--space-9)}.case-study__section{margin-top:calc(var(--space-9) * 2)}.case-study__section-title{align-items:center;gap:var(--space-4);font-family:var(--font-sans);font-size:18px;font-weight:var(--weight-bold);letter-spacing:var(--track-tight);line-height:var(--leading-snug);color:var(--ink);margin-bottom:var(--space-6);display:flex}.case-study__section-title:after{content:"";height:var(--border-default);background:var(--rule);flex:1}.case-study__paragraph{font-size:14px;line-height:var(--leading-relaxed);color:var(--ink-soft);margin-bottom:var(--space-4);max-width:64ch}.case-study__image{margin-top:var(--space-5);aspect-ratio:4/3;background:var(--tile);border:var(--border-default) solid var(--rule);width:100%}.reading-note .case-study__eyebrow{text-transform:none;letter-spacing:var(--track-tight)}.reading-note .case-study__title{max-width:20ch;margin-bottom:var(--space-5)}.reading-note .case-study__lede{color:var(--ink);max-width:56ch;font-size:clamp(17px,1.6vw,20px);line-height:1.5}.reading-note .case-study__meta{padding-bottom:var(--space-6);border-bottom:var(--border-default) solid var(--rule)}.reading-note .case-study__body{margin-top:var(--space-7)}.reading-note .case-study__body .case-study__paragraph{color:var(--ink-soft);max-width:68ch;margin-bottom:var(--space-6);font-size:17px;line-height:1.75}.reading-note .case-study__body .case-study__paragraph:first-child{color:var(--ink);font-size:19px;line-height:1.65}.reading-note .case-study__body .case-study__paragraph:first-child:first-letter{-webkit-initial-letter:3;initial-letter:3;font-weight:var(--weight-semibold);color:var(--ink);margin-right:.09em}.reading-next{isolation:isolate;align-items:center;gap:var(--space-1) var(--space-5);margin-top:var(--space-9);padding:var(--space-5) var(--space-6);background:var(--rule);clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);max-width:68ch;transition:background var(--dur-base) var(--ease-default), clip-path var(--dur-base) var(--ease-default);grid-template-columns:1fr auto;grid-template-areas:"label arrow""title arrow";text-decoration:none;display:grid;position:relative}.reading-next:before{content:"";inset:var(--border-default);z-index:-1;background:var(--tile);clip-path:polygon(0 0,100% 0,100% 100%,100% 100%,0 100%,0 0);transition:background var(--dur-base) var(--ease-default), clip-path var(--dur-base) var(--ease-default);position:absolute}.reading-next:hover,.reading-next:focus-visible{background:var(--ink-62);clip-path:polygon(var(--chamfer-size) 0, 100% 0, 100% calc(100% - var(--chamfer-size)), calc(100% - var(--chamfer-size)) 100%, 0 100%, 0 var(--chamfer-size))}.reading-next:hover:before,.reading-next:focus-visible:before{clip-path:polygon(var(--chamfer-inner) 0, 100% 0, 100% calc(100% - var(--chamfer-inner)), calc(100% - var(--chamfer-inner)) 100%, 0 100%, 0 var(--chamfer-inner))}.reading-next__label{font-size:var(--text-xs);color:var(--ink-mute);grid-area:label}.reading-next__title{font-family:var(--font-sans);font-size:17px;font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--ink);grid-area:title}.reading-next__arrow{color:var(--ink-soft);transition:transform var(--dur-base) var(--ease-default), color var(--dur-base) var(--ease-default);grid-area:arrow}.reading-next:hover .reading-next__arrow,.reading-next:focus-visible .reading-next__arrow{color:var(--ink);transform:translate(3px)}.btn-icon{border:1px solid var(--ink-22);color:var(--ink-62);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.btn-icon:hover,.btn-icon:focus-visible{color:var(--ink);border-color:var(--ink-62)}.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-icon-sm{width:28px;height:22px}.btn-icon-md{width:36px;height:32px}[data-entering] .hc-headline,[data-entering] .hc-copy,[data-entering] .hero-identity,[data-entering] .sidebar,[data-entering] .local-clock,[data-entering] .col>section:not(.hc-root){opacity:0}@keyframes entry-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes entry-charge{0%{color:var(--accent)}}.hc-headline.entry-in,.hc-copy.entry-in,.hero-identity.entry-in,.col>section.entry-in{animation:entry-rise .95s var(--ease-out) both}.hc-headline.entry-in,.hc-copy.entry-in{animation:entry-rise .95s var(--ease-out) both, entry-charge 1.3s var(--ease-out) both}@media (prefers-reduced-motion:reduce){.hc-headline.entry-in,.hc-copy.entry-in,.hero-identity.entry-in,.col>section.entry-in{opacity:1;animation:none;transform:none}}#experiments{margin-top:120px}
