@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3f5f8;--dots:#c9d1dc;--card:#fff;--ink:#0f172a;--ink-2:#334155;--ink-3:#526072;--line:#e2e7ee;--line-2:#cfd7e2;--run:#f59e0b;--run-ink:#8a4b00;--run-bg:#fff6e5;--run-line:#f5c26b;--ok:#1f9d55;--ok-ink:#12663a;--ok-bg:#eaf7ef;--ok-line:#9ad3b0;--blue:#3552e0;--blue-bg:#ebeffe;--teal:#0f766e;--teal-bg:#e2f3f0;--pink:#a3245f;--pink-bg:#fbe9f1;--slate-bg:#eef1f5;--sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Instrument Serif", ui-serif, Georgia, serif;--mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--ease:cubic-bezier(.22, 1, .36, 1);--shadow:0 1px 2px #0f172a0d, 0 12px 32px -16px #0f172a40}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--ink-2);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;font-size:17px;line-height:1.55}body{background-color:var(--bg);background-image:radial-gradient(circle at 1.5px 1.5px, var(--dots) 1.25px, transparent 1.6px);background-size:24px 24px;margin:0}img,video,svg{max-width:100%;display:block}a{color:var(--blue);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px;-webkit-text-decoration-color:color-mix(in srgb, var(--blue) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--blue) 35%, transparent)}a:hover{-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue)}button{font:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:8px}h1,h2,h3{color:var(--ink);text-wrap:balance;margin:0;font-weight:600}p{margin:0}em{font-style:italic}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:10px;padding:10px 14px;position:fixed;top:-60px;left:12px}.skip:focus{top:12px}.bar{z-index:40;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 20px 0 18px;display:flex;position:fixed;inset:0 0 auto}.bar-name{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:16.5px;font-weight:650;text-decoration:none;display:flex}.bar-name svg{width:22px;height:22px;color:var(--ink)}.bar-file{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line);background:#fff;border-radius:8px;padding:2px 9px;font-size:14px;font-weight:500}.bar nav{align-items:center;gap:4px;display:flex}.bar nav a{color:var(--ink-2);border-radius:9px;padding:7px 11px;font-size:15.5px;font-weight:550;text-decoration:none}.bar nav a:hover,.bar nav a[aria-current]{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);background:#fff}.bar nav .bar-cta{background:var(--ink);color:#fff;margin-left:6px}.bar nav .bar-cta:hover{color:#fff;background:#1e293b}.actions{flex-wrap:wrap;gap:10px;display:flex}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;min-height:48px;transition:transform .2s var(--ease), background .2s;border-radius:12px;align-items:center;gap:9px;padding:0 20px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{width:15px;height:15px}.btn:hover{background:#1e293b;transform:translateY(-1px)}.btn-quiet{color:var(--ink);border-color:var(--line-2);background:#fff}.btn-quiet:hover{border-color:var(--ink-3);background:#fff}.tree{position:relative}.stage{padding:96px 20px 40px;position:relative}canvas.gl{display:none}.hero{max-width:720px;margin:0 auto 48px}.eyebrow{color:var(--ink-2);align-items:center;gap:12px;margin-bottom:22px;font-size:16px;display:flex}.eyebrow img{width:44px;height:44px;box-shadow:0 0 0 3px #fff, 0 0 0 4px var(--line);border-radius:50%}.eyebrow a,.eyebrow b{color:var(--ink);font-weight:600}.hero h1{letter-spacing:-.045em;font-size:clamp(50px,6.6vw,96px);line-height:.94}.hero-sub{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;margin:14px 0 22px;font-size:clamp(31px,3.3vw,48px);font-style:italic;line-height:1.08}.hero-sub em{background:linear-gradient(#0000 64%,#f59e0b52 64% 92%,#0000 92%);padding:0 .06em}.lede{color:var(--ink-2);max-width:33em;margin-bottom:26px;font-size:18.5px;line-height:1.55}.hint{color:var(--ink-3);margin-top:20px;font-size:15px}.hint-touch{display:none}@media (pointer:coarse){.hint-desk{display:none}.hint-touch{display:inline}}.bt,.bt ol{margin:0;padding:0;list-style:none}.bt{max-width:720px;margin:0 auto}.bt ol{border-left:2px solid var(--line-2);margin:12px 0 0 14px;padding-left:22px}.bt li+li{margin-top:12px}.node{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink-2);border-radius:14px;padding:14px 16px 15px;font-size:16px;line-height:1.45;transition:border-color .35s,box-shadow .35s,background-color .35s;position:relative}.node-head{align-items:center;gap:9px;min-height:26px;display:flex}.glyph{background:var(--slate-bg);width:26px;height:26px;color:var(--ink-2);border-radius:8px;flex:none;place-items:center;display:inline-grid}.glyph svg{width:16px;height:16px}.kind{color:var(--ink-3);letter-spacing:.01em;font-size:14px;font-weight:600}.t-sequence .glyph{background:var(--blue-bg);color:var(--blue)}.t-parallel .glyph{background:var(--teal-bg);color:var(--teal)}.t-condition .glyph{background:var(--pink-bg);color:var(--pink)}.t-paper .glyph,.t-project .glyph{background:var(--slate-bg);color:var(--ink)}.node--chapter{padding:15px 18px 18px}.node--chapter .node-title{font-family:var(--serif);letter-spacing:-.01em;margin:12px 0 8px;font-size:36px;font-style:italic;font-weight:400;line-height:1.02}.node-role{color:var(--ink-2);font-size:16px}.node-role b{color:var(--ink);font-weight:600}.node-years{font-variant-numeric:tabular-nums;color:var(--ink);background:var(--slate-bg);border-radius:999px;margin-top:10px;padding:2px 11px;font-size:15px;font-weight:600;display:inline-block}.node-note{border-top:1px dashed var(--line-2);color:var(--ink-2);margin-top:12px;padding-top:11px;font-size:16px}.node--root{background:var(--ink);border-color:var(--ink);color:#cbd5e1}.node--root .glyph{color:#fff;background:#ffffff1a}.node--root .kind{color:#cbd5e1}.node--root .node-title{font-family:var(--serif);color:#fff;margin:10px 0 6px;font-size:32px;font-style:italic;line-height:1.05}.node--root .node-sub{color:#cbd5e1;font-size:15.5px}.leaf>.node-title,.proj-body>.node-title{color:var(--ink);align-items:flex-start;gap:10px;padding-right:26px;font-size:17.5px;font-weight:600;line-height:1.3;display:flex}.leaf>.node-title .glyph,.proj-body>.node-title .glyph{border-radius:7px;width:24px;height:24px;margin-top:-1px}.leaf>.node-sub,.proj-body>.node-sub{color:var(--ink-2);margin-top:4px;font-size:16px}.board-on .leaf:not(.node--project)>.node-sub{padding-left:34px}.t-condition{border-radius:30px;padding-left:20px}.node--paper .node-title a{color:var(--blue)}.node--paper .node-sub{color:var(--ink-3)}.node-sub a{font-weight:550}.node--project{padding:12px}.node--project video{aspect-ratio:16/9;object-fit:cover;cursor:zoom-in;background:#e8ecf1;border-radius:9px;width:100%;height:auto}.proj-body{padding:12px 4px 2px;position:relative}.links{gap:14px;margin-top:8px;font-size:15.5px;font-weight:600;display:flex}.bt-wide .node--project{grid-template-columns:228px 1fr;align-items:start;gap:16px;display:grid}.bt-wide .proj-body{padding:4px 4px 2px 0}.more{background:var(--blue-bg);color:var(--blue);cursor:pointer;border:1px solid #cdd6fb;border-radius:999px;align-items:center;gap:6px;margin:10px 0 0 34px;padding:4px 12px 5px;font-size:15px;font-weight:600;display:inline-flex}.more span{font-family:var(--mono);font-weight:700}.more:hover{border-color:var(--blue)}.state{display:none}.board-on .state{align-items:center;gap:7px;display:inline-flex}.board-on .node-head .state{background:var(--slate-bg);color:var(--ink-3);border-radius:999px;margin-left:auto;padding:3px 10px 3px 8px;font-size:14px;font-weight:650}.state i{background:#9aa6b6;border-radius:50%;width:8px;height:8px}.board-on .node>.state,.board-on .proj-body>.state{background:#fff;border:2px solid #b6c0cd;border-radius:50%;width:18px;height:18px;position:absolute;top:15px;right:14px}.board-on .proj-body>.state{top:6px;right:2px}.board-on .node>.state b,.board-on .proj-body>.state b,.board-on .node>.state i,.board-on .proj-body>.state i{display:none}.board-on .node:before,.board-on .node.has-kids:after{content:"";background:#fff;border:2px solid #b6c0cd;border-radius:50%;width:11px;height:11px;transition:border-color .35s,background-color .35s;position:absolute;top:28.5px;left:-6.5px}.board-on .node.has-kids:after{left:auto;right:-6.5px}.bt-narrow .node.has-kids:after{inset:auto auto -6.5px 7.5px}.board-on .node:not(.is-run):not(.is-ok):not(.node--root){border-style:dashed;border-color:var(--line-2);background:#fbfcfd;box-shadow:0 1px 2px #0f172a0a}.board-on .node.is-run{border-color:var(--run-line);box-shadow:0 0 0 4px #f59e0b21, var(--shadow)}.board-on .node.is-ok{border-color:var(--ok-line)}.board-on .node.is-run:before,.board-on .node.is-run.has-kids:after{border-color:var(--run);background:var(--run)}.board-on .node.is-ok:before,.board-on .node.is-ok.has-kids:after{border-color:var(--ok);background:var(--ok)}.board-on .node.is-run .node-head .state{background:var(--run-bg);color:var(--run-ink)}.board-on .node.is-run .node-head .state i{background:var(--run);animation:1.1s ease-in-out infinite beat}.board-on .node.is-ok .node-head .state{background:var(--ok-bg);color:var(--ok-ink)}.board-on .node.is-ok .node-head .state i{background:var(--ok)}.board-on .node--root.is-run .node-head .state{color:#ffd38a;background:#f59e0b2e}.board-on .node.is-run>.state,.board-on .node.is-run .proj-body>.state{border-color:#f59e0b40;border-top-color:var(--run);animation:.9s linear infinite spin}.board-on .node.is-ok>.state,.board-on .node.is-ok .proj-body>.state{border-color:var(--ok);background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4 6.7 11 12 5.4' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat}.board-on .node.pop{animation:pop .7s var(--ease)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes beat{50%{opacity:.55;transform:scale(.6)}}@keyframes pop{0%{box-shadow:0 0 0 0 #1f9d5573, var(--shadow)}to{box-shadow:0 0 0 16px #1f9d5500, var(--shadow)}}.bb{background:var(--card);border:1px solid var(--line);max-width:720px;box-shadow:var(--shadow);border-radius:16px;margin:40px auto 0}.bb-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px 12px;display:flex}.bb-head h2{letter-spacing:-.01em;font-size:17px}.bb-head h2:before{content:"";background:var(--ink);vertical-align:1px;border-radius:3px;width:10px;height:10px;margin-right:9px;display:inline-block}.bb-count{color:var(--ink-3);margin-left:auto;font-size:14px;font-weight:600}.bb-toggle{display:none}.bb-desc{color:var(--ink-3);padding:10px 16px 0;font-size:15px}.bb-empty{color:var(--ink-3);padding:12px 16px 16px;font-size:15.5px;display:none}.bb-list{border-top:1px solid var(--line);margin:10px 0 0;padding:2px 0 8px}.bb-list>div{grid-template-columns:auto 1fr;align-items:baseline;gap:12px;padding:8px 16px;display:grid}.bb-list>div+div{border-top:1px solid #eef1f5}.bb-list dt{font-family:var(--mono);color:var(--ink-2);font-size:15px;font-weight:500}.bb-list dd{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:650}.bb-list>div[hidden]{display:none}.bb-list>div.fresh{animation:fresh 1.6s var(--ease)}@keyframes fresh{0%{background:#f59e0b52}to{background:0 0}}.sheet{max-width:1180px;margin:0 auto;padding:120px 24px 40px}.sheet-head{max-width:760px;margin-bottom:36px}.sheet-k{color:var(--ink-3);align-items:center;gap:9px;margin-bottom:12px;font-size:15px;font-weight:600;display:flex}.sheet-head h2,.contact h2{letter-spacing:-.035em;font-size:clamp(36px,4.4vw,58px);line-height:1.02}.sheet-head p:not(.sheet-k){margin-top:14px;font-size:18px}.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:18px 20px 10px}.panel h3{margin-bottom:6px;font-size:18px}.notes-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.rows{margin:0;padding:0;list-style:none}.rows li{gap:3px;padding:12px 0;display:grid}.rows li+li{border-top:1px solid #eef1f5}.rows a{color:var(--ink);-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);font-size:17px;font-weight:600;line-height:1.35}.rows a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.rows span{color:var(--ink-3);font-size:15px}.harness{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin-top:28px;padding:20px 22px 22px}.harness>p:last-child{max-width:48em;margin-top:16px}.pipe{flex-wrap:wrap;align-items:center;gap:8px 30px;margin:0;padding:0;list-style:none;display:flex}.pipe li{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-ink);border-radius:10px;padding:7px 14px;font-size:16px;font-weight:600;position:relative}.pipe li+li:before{content:"→";color:var(--ink-3);font-weight:500;position:absolute;top:50%;left:-24px;transform:translateY(-52%)}.gallery{columns:3 300px;column-gap:18px}.gallery figure{break-inside:avoid;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin:0 0 18px;padding:8px 8px 10px}.gallery a{cursor:zoom-in;border-radius:9px;display:block;overflow:hidden}.gallery img{width:100%;height:auto;transition:transform .6s var(--ease)}.gallery a:hover img{transform:scale(1.02)}.gallery figcaption{color:var(--ink-2);padding:9px 4px 0;font-size:16px}.gallery figcaption b{color:var(--ink);font-weight:600}.contact{padding-bottom:100px}.contact-card{background:var(--card);border:1px solid var(--ok-line);max-width:760px;box-shadow:0 0 0 5px #1f9d5514, var(--shadow);border-radius:22px;padding:30px 34px 32px}.contact-card .glyph{background:var(--slate-bg)}.contact h2 em{font-family:var(--serif);letter-spacing:-.01em;font-weight:400}.contact-card>p:not(.sheet-k):not(.socials){max-width:34em;margin:14px 0 24px;font-size:18.5px}.socials{flex-wrap:wrap;gap:18px;margin-top:22px;font-weight:600;display:flex}.footer{max-width:1180px;color:var(--ink-3);border-top:1px solid var(--line-2);justify-content:space-between;gap:16px;margin:0 auto;padding:28px 24px 40px;font-size:15px;display:flex}.viewer{background:0 0;border:0;max-width:min(1200px,94vw);max-height:94vh;padding:0;overflow:visible}.viewer::backdrop{background:#0f172ad1}.viewer-media img,.viewer-media video{border-radius:12px;width:auto;max-width:100%;max-height:80vh;margin:0 auto}.viewer-cap{text-align:center;color:#e2e8f0;margin-top:12px;font-size:16px}.viewer-close{color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:10px;padding:9px 14px;font-weight:600;position:fixed;top:16px;right:16px}.perf{z-index:99;background:var(--ink);color:#fff;font:500 13px var(--mono);border-radius:8px;padding:6px 10px;position:fixed;bottom:12px;left:12px}.js .tree{height:1406.25vh}.js .stage{height:100vh;touch-action:pan-y;height:100svh;padding:0;position:sticky;top:0;overflow:hidden}.js .stage.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.js .dock,.js .outro{display:none}.js:not(.board-on) .bt,.js:not(.board-on) .bb{visibility:hidden}.outro{display:none}.board-on canvas.gl{width:100%;height:100%;display:block;position:absolute;inset:0}.board-on .marks{z-index:1;pointer-events:none;position:absolute;inset:0}.board-on .mark{transform-origin:0 0;font-family:var(--serif);letter-spacing:-.02em;color:#7b889c;white-space:nowrap;font-size:120px;font-style:italic;line-height:1;position:absolute;top:0;left:0}.bt-narrow .marks{display:none}.marks.moving .mark{will-change:transform}.board-on .bt{z-index:2;pointer-events:none;max-width:none;position:absolute;inset:0}.board-on .bt ol{border:0;margin:0;padding:0}.board-on .bt li+li{margin:0}.board-on .bt li.closed>ol{display:none}.board-on .node{transform-origin:0 0;pointer-events:auto;cursor:default;position:absolute;top:0;left:0}.board-on .node[data-more]{cursor:pointer}.board-on .bt.moving .node{will-change:transform}.board-on .node.entering{opacity:0}.board-on .node{transition:border-color .35s,box-shadow .35s,background-color .35s,opacity .4s}.board-on .node.far{box-shadow:none}.board-on .stage:not(.dragging){cursor:grab}.board-on .stage .node,.board-on .stage .hero,.board-on .stage .bb,.board-on .stage .dock{cursor:auto}.board-on .node--project video{cursor:zoom-in}.js .hero{z-index:6;margin:0;position:absolute}.js .hero:before{content:"";z-index:-1;pointer-events:none;position:absolute}.board-on .dock{z-index:8;background:var(--card);border:1px solid var(--line);border-radius:16px;align-items:center;gap:14px;padding:9px 12px;display:flex;position:absolute;box-shadow:0 1px 2px #0f172a0f,0 18px 40px -20px #0f172a59}.dock-btns{gap:4px;display:flex}.dock-btn{width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:11px;place-items:center;display:inline-grid}.dock-btn:hover{background:var(--slate-bg)}.dock-btn svg{width:16px;height:16px}.dock-play{background:var(--ink);color:#fff}.dock-play:hover{background:#1e293b}.dock-center{background:var(--blue-bg);width:auto;color:var(--blue);grid-auto-flow:column;gap:7px;padding:0 13px;font-size:15px;font-weight:600}.dock-center[hidden]{display:none}.dock-main{flex:1;min-width:0}.dock-now{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:10px;font-size:16px;font-weight:650;display:flex;overflow:hidden}.dock-year{font-family:var(--mono);color:var(--run-ink);font-size:15px;font-weight:600}.dock-year:empty{display:none}.ticks{--p:0;justify-content:space-between;margin:6px 0 0;padding:0;list-style:none;display:flex;position:relative}.ticks:before,.ticks:after{content:"";background:var(--line-2);border-radius:2px;height:2px;margin-top:-1px;position:absolute;top:50%;left:11px;right:11px}.ticks:after{width:calc((100% - 22px) * var(--p));background:var(--run);right:auto}.ticks li{z-index:1;position:relative}.ticks button{color:#0000;cursor:pointer;background:0 0;border:0;place-items:center;width:22px;height:22px;padding:0;font-size:0;display:grid}.ticks button:before{content:"";border:2px solid var(--line-2);width:9px;height:9px;transition:transform .25s var(--ease), border-color .25s;background:#fff;border-radius:50%}.ticks button:hover:before{border-color:var(--ink-3);transform:scale(1.2)}.ticks button[aria-current]:before{border-color:var(--run);background:var(--run);transform:scale(1.35)}.board-on .bb{z-index:7;opacity:0;transition:opacity .4s var(--ease), transform .5s var(--ease);pointer-events:none;flex-direction:column;margin:0;display:flex;position:absolute;transform:translate(12px)}.board-on .ticking .bb{opacity:1;pointer-events:auto;transform:none}.board-on .bb.empty .bb-empty{display:block}.board-on .bb .bb-list{overscroll-behavior:contain;scrollbar-width:thin;overflow:auto}.board-on .outro{z-index:7;background:var(--card);border:1px solid var(--run-line);box-shadow:0 0 0 4px #f59e0b1a, var(--shadow);opacity:0;pointer-events:none;border-radius:16px;padding:16px 18px 18px;display:block;position:absolute}.outro-k{color:var(--ink-3);font-size:14px;font-weight:600}.outro-t{margin:6px 0 10px}.outro-p{color:var(--ink-2);font-size:16.5px}.pill{font-family:var(--serif);color:var(--ink);align-items:center;gap:8px;font-size:34px;font-style:italic;line-height:1.1;display:inline-flex}.pill--run:before{content:"";background:var(--run);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 5px #f59e0b2e}@media (min-width:900px) and (min-aspect-ratio:11/10){.js .hero{width:min(600px,44vw);top:calc(56px + max(6vh,32px));left:max(40px,4vw)}.js .hero:before{background:radial-gradient(closest-side, var(--bg) 62%, #f3f5f800);inset:-60px -90px -60px -400px}.board-on .dock{width:min(780px,100% - 48px);bottom:20px;left:50%;transform:translate(-50%)}.board-on .bb{width:340px;max-height:calc(100% - 192px);top:80px;right:24px}.board-on .outro{width:380px;top:84px;left:44px}}@media not ((min-width:900px) and (min-aspect-ratio:11/10)){.bar{height:52px;padding:0 12px 0 14px}.bar-file{display:none}.bar nav a{padding:7px 8px;font-size:15px}.bar nav a:not(.bar-cta):not([href=\#notes]){display:none}.js .hero{padding:26px 20px 30px;top:52px;left:0;right:0}.js .hero:before{background:linear-gradient(var(--bg) 82%, #f3f5f800);inset:0 0 -60px}.eyebrow{margin-bottom:16px;font-size:15.5px}.hero h1{font-size:clamp(44px,12vw,64px)}.hero-sub{margin:10px 0 16px;font-size:clamp(28px,7.6vw,40px)}.lede{margin-bottom:20px;font-size:17px}.hint{margin-top:14px}.board-on .dock{gap:10px;padding:7px 8px;bottom:10px;left:10px;right:10px}.board-on .dock .ticks{margin-top:5px}.board-on .ticks button{width:14px}.board-on .ticks button:before{width:7px;height:7px}.dock-btn{width:40px;height:40px}.board-on .dock-center span{display:none}.board-on .dock-center{padding:0 10px}.board-on .bb{border-radius:14px;max-height:50vh;bottom:76px;left:10px;right:10px}.board-on .bb-head{border-bottom:0;padding:9px 8px 8px 14px}.board-on .bb-head h2{font-size:16px}.board-on .bb-toggle{background:var(--slate-bg);cursor:pointer;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:inline-grid}.board-on .bb-toggle:before{content:"";border-left:2px solid var(--ink);border-top:2px solid var(--ink);width:9px;height:9px;transition:transform .25s var(--ease);transform:translateY(2px)rotate(45deg)}.board-on .bb.open .bb-toggle:before{transform:translateY(-2px)rotate(225deg)}.board-on .bb .bb-desc,.board-on .bb.empty .bb-empty{display:none}.board-on .bb .bb-list{margin-top:0}.board-on .bb:not(.open) .bb-list{border-top:0;padding:0 0 4px}.board-on .bb:not(.open) .bb-list>div:not(.latest){display:none}.board-on .bb:not(.open) .bb-list>div.latest{border-top:1px solid #eef1f5;padding:7px 14px}.board-on .bb.empty{display:none}.board-on .outro{top:64px;left:12px;right:12px}.notes-grid{grid-template-columns:1fr}.gallery{columns:2;column-gap:10px}.gallery figure{border-radius:12px;margin-bottom:10px;padding:5px 5px 8px}.gallery figcaption{padding:7px 3px 0;line-height:1.35}.sheet{padding-top:88px}.contact-card{padding:24px 20px 26px}.footer{flex-direction:column}}@media (min-width:700px) and (max-width:1100px){.notes-grid{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}}
