@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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(/_astro/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}:root{--bg:#0a0c0f;--surface:#0f1318;--surface-2:#141a20;--line:#1f262e;--line-2:#2a323c;--text:#e6eaf0;--muted:#a9b2bd;--dim:#7f8a97;--accent:#4be3c1;--accent-ink:#06110e;--amber:#f2b25c;--blue:#7aa7ff;--red:#e0626a;--sans:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f2f4f6;--surface:#fff;--surface-2:#eaeef2;--line:#dce1e6;--line-2:#c9d0d7;--text:#0e1217;--muted:#46505b;--dim:#5e6873;--accent:#087a64;--accent-ink:#fff;--amber:#a8650f;--blue:#2f5fc4;--red:#b4363f;color-scheme:light}}:root[data-theme=light]{--bg:#f2f4f6;--surface:#fff;--surface-2:#eaeef2;--line:#dce1e6;--line-2:#c9d0d7;--text:#0e1217;--muted:#46505b;--dim:#5e6873;--accent:#087a64;--accent-ink:#fff;--amber:#a8650f;--blue:#2f5fc4;--red:#b4363f;color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root[data-palette=ember]{--bg:#0f0c0a;--surface:#17120f;--surface-2:#1e1814;--line:#2a221c;--line-2:#3a2f27;--text:#f3ece6;--muted:#bfb2a6;--dim:#8e8176;--accent:#ff8a3d;--accent-ink:#1a0d04;--amber:#ffd166;--blue:#7fc8f8;--red:#ff5d5d}@media (prefers-color-scheme:light){:root[data-palette=ember]:not([data-theme=dark]){--bg:#f5f3f1;--surface:#fff;--surface-2:#ece7e2;--line:#e0d8d0;--line-2:#cfc4b9;--text:#1c140e;--muted:#5a4a3d;--dim:#75665a;--accent:#b83d08;--accent-ink:#fff;--amber:#8f6200;--blue:#1f6fa8;--red:#b4363f}}:root[data-palette=ember][data-theme=light]{--bg:#f5f3f1;--surface:#fff;--surface-2:#ece7e2;--line:#e0d8d0;--line-2:#cfc4b9;--text:#1c140e;--muted:#5a4a3d;--dim:#75665a;--accent:#b83d08;--accent-ink:#fff;--amber:#8f6200;--blue:#1f6fa8;--red:#b4363f}:root[data-palette=ion]{--bg:#090a14;--surface:#0f1120;--surface-2:#151830;--line:#1e2238;--line-2:#2b3050;--text:#e8eafb;--muted:#a7acd0;--dim:#7c82a8;--accent:#8c7bff;--accent-ink:#0b0820;--amber:#ff7ac6;--blue:#5cc8ff;--red:#ff6b81}@media (prefers-color-scheme:light){:root[data-palette=ion]:not([data-theme=dark]){--bg:#f3f4fb;--surface:#fff;--surface-2:#e8eaf7;--line:#d9dcee;--line-2:#c5c9e3;--text:#0d0f22;--muted:#464b6e;--dim:#5f6487;--accent:#5b45e0;--accent-ink:#fff;--amber:#b8327f;--blue:#1f7bb8;--red:#c02c48}}:root[data-palette=ion][data-theme=light]{--bg:#f3f4fb;--surface:#fff;--surface-2:#e8eaf7;--line:#d9dcee;--line-2:#c5c9e3;--text:#0d0f22;--muted:#464b6e;--dim:#5f6487;--accent:#5b45e0;--accent-ink:#fff;--amber:#b8327f;--blue:#1f7bb8;--red:#c02c48}:root:lang(zh){--sans:"Geist Variable", "Geist", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif}html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px);scroll-behavior:smooth}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100svh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:16px;line-height:1.6;display:flex;overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{max-width:1200px;margin:0 auto;padding-inline:clamp(20px,4vw,40px)}.mono{font-family:var(--mono)}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--surface);border:1px solid var(--line-2);font:500 14px var(--mono);border-radius:10px;padding:10px 14px;position:absolute;top:-100px;left:12px}.skip:focus{top:12px}.top{z-index:50;padding-top:env(safe-area-inset-top,0px);background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);position:fixed;top:0;left:0;right:0}.top .wrap{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.logo{font-family:var(--mono);white-space:nowrap;font-size:15px;font-weight:500}.logo b{color:var(--accent);font-weight:500}.motion .logo b{animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.nav{align-items:center;gap:clamp(12px,2.4vw,28px);font-size:14px;display:flex}.nav a{color:var(--muted);border-bottom:1px solid #0000;padding-block:6px}.nav a:hover{color:var(--text)}.nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.controls{align-items:center;gap:8px;display:flex}.kbtn{border:1px solid var(--line-2);min-width:40px;min-height:40px;color:var(--muted);font:500 13px var(--mono);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.kbtn:hover{color:var(--text);border-color:var(--dim)}.palette{border:1px solid var(--line-2);border-radius:12px;align-items:center;gap:2px;padding:2px;display:inline-flex}.palette button{cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.palette button i{border-radius:50%;width:14px;height:14px;transition:box-shadow .2s,transform .2s;display:block;box-shadow:0 0 0 2px #0000}.palette button[aria-pressed=true] i{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--text);transform:scale(1.05)}@media (width<=820px){.top .wrap{flex-wrap:wrap;row-gap:0;padding-block:8px 0}.nav{scrollbar-width:none;flex-basis:100%;order:3;gap:20px;padding-bottom:6px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{white-space:nowrap;align-items:center;min-height:40px;display:inline-flex}}@media (width<=400px){.palette button{width:32px;height:32px}.controls{gap:6px}.kbtn{padding:0 10px}}main:focus{outline:none}main{z-index:2;padding-top:calc(64px + env(safe-area-inset-top,0px));flex:1;position:relative;overflow-x:clip}@media (width<=820px){main{padding-top:calc(112px + env(safe-area-inset-top,0px))}}.page{padding-block:clamp(56px,9vw,120px)}.page-head{gap:20px;max-width:72ch;margin-bottom:clamp(40px,6vw,72px);display:grid}.page-head>*{margin:0}.h1{letter-spacing:-.045em;margin:0;font-size:clamp(40px,5.6vw,76px);font-weight:600;line-height:1.02}.h2{letter-spacing:-.03em;margin:0;font-size:clamp(34px,4.6vw,56px);font-weight:600;line-height:1.05}.lede{max-width:56ch;color:var(--muted);margin:0;font-size:clamp(16px,1.4vw,18px)}.page-head .lede{font-size:clamp(17px,1.6vw,20px)}:lang(zh) :is(.h1,.h2,.hero h1,.principle .big){letter-spacing:0;line-height:1.2}.prose{max-width:72ch}.prose>:first-child{margin-top:0}.prose h2{letter-spacing:-.03em;margin:2.2em 0 .6em;font-size:clamp(28px,3.6vw,44px);font-weight:600;line-height:1.08}.prose h3{letter-spacing:-.01em;margin:1.8em 0 .5em;font-size:clamp(20px,2vw,24px);font-weight:600;line-height:1.2}.prose p,.prose ul,.prose ol{color:var(--muted);margin:0 0 1.1em;font-size:clamp(16px,1.4vw,18px)}.prose strong{color:var(--text);font-weight:600}.prose a{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose code{font-family:var(--mono);background:var(--surface-2);border-radius:6px;padding:.1em .35em;font-size:.9em}.prose pre{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose blockquote{border-left:2px solid var(--line-2);margin:0 0 1.1em;padding-left:18px}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}.prose :is(h2,h3)[id]{scroll-margin-top:120px}.prose .oneline{color:var(--text);font-size:clamp(18px,1.8vw,21px);font-weight:500}.prose .tags{margin-top:1.4em}.label{font:13px var(--mono);color:var(--dim)}.tags{font:12px var(--mono);color:var(--muted);flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tags li{border:1px solid var(--line-2);border-radius:999px;padding:5px 10px}.prose ul.tags{font-size:12px}.more{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;align-items:center;gap:8px;margin-top:28px;font-weight:500;display:inline-flex}.more:hover{text-decoration-thickness:2px}.more-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 14px;max-width:72ch;margin-top:clamp(48px,7vw,80px);padding-top:24px;display:flex}.more-row .more{margin-top:0}.btn{border-radius:12px;align-items:center;gap:10px;min-height:50px;padding:0 22px;font-size:15px;font-weight:600;display:inline-flex}.btn.pri{background:var(--accent);color:var(--accent-ink)}.btn.sec2{border:1px solid var(--line-2);background:color-mix(in srgb, var(--bg) 60%, transparent);font-weight:500}.btn.sec2:hover{border-color:var(--dim)}.ctas{flex-wrap:wrap;gap:12px;display:flex}.hero{align-items:center;min-height:min(78svh,760px);padding-block:clamp(48px,8vw,96px);display:grid}.hero .inner{gap:26px;max-width:min(720px,100%);display:grid}.hero .who{font:14px/1.7 var(--mono);color:var(--muted);margin:0}.hero h1{letter-spacing:-.045em;margin:0;font-size:clamp(42px,6vw,88px);font-weight:600;line-height:1}.sec{border-top:1px solid var(--line);padding-block:clamp(72px,11vw,140px)}.sec>.wrap>.lede{margin-top:16px}.principles{gap:clamp(40px,7vw,96px);display:grid}.principle{gap:12px;max-width:980px;display:grid}.principle .big{letter-spacing:-.03em;margin:0;font-size:clamp(30px,4.4vw,60px);font-weight:600;line-height:1.08}.principle p:not(.big){max-width:52ch;color:var(--muted);margin:0;font-size:clamp(16px,1.4vw,19px)}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;margin-top:36px;display:grid}.card{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-content:start;gap:10px;padding:26px;transition:border-color .2s;display:grid;position:relative}.card:hover{border-color:var(--line-2)}.card h3{margin:0;font-size:20px;font-weight:600;line-height:1.3}.card h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.card p{color:var(--muted);margin:0;font-size:15px}.go{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;font-weight:500}.now-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;margin-top:36px;display:grid}.now-item{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-content:start;gap:8px;padding:24px;display:grid}.now-item p{color:var(--muted);margin:0;font-size:15px}.now-item .state{font:500 12px var(--mono);color:var(--accent);align-items:center;gap:8px;display:inline-flex}.now-item .state:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.motion .now-item .state:before{animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, currentColor 60%, transparent)}80%,to{box-shadow:0 0 0 8px #0000}}.label .todo{padding:2px 8px;display:inline-block}.feature{border:1px solid var(--line-2);background:var(--surface);border-radius:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));margin-top:40px;transition:border-color .2s;display:grid;overflow:hidden}a.feature:hover{border-color:var(--dim)}a.feature:hover .go{text-decoration-thickness:2px}.feature .copy{align-content:start;gap:18px;padding:clamp(24px,4vw,44px);display:grid}.feature h3{letter-spacing:-.02em;margin:0;font-size:clamp(26px,2.8vw,34px);font-weight:600;line-height:1.12}.feature .label{color:var(--accent)}.viz{background:color-mix(in srgb, var(--bg) 60%, var(--surface));border-left:1px solid var(--line);align-content:center;gap:12px;min-height:300px;padding:24px;display:grid}.feature.solo{grid-template-columns:1fr;max-width:820px;margin:0 0 clamp(48px,7vw,80px)}.feature.solo .viz{border-left:0}.legend{font:12px var(--mono);color:var(--muted);flex-wrap:wrap;gap:16px;display:flex}.legend i{vertical-align:middle;width:14px;height:2px;margin-right:6px;display:inline-block}.viz .note{font:12px var(--mono);color:var(--muted);margin:0}.notes{border-top:1px solid var(--line);max-width:820px;margin-top:32px}.notes a{border-bottom:1px solid var(--line);gap:6px;padding:22px 0;display:grid}.notes a span:first-child{font-size:clamp(17px,1.6vw,20px);font-weight:500}.notes a:hover span:first-child{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.notes a span:nth-child(2){color:var(--muted);font-size:15px}.notes a time{font:13px var(--mono);color:var(--muted)}.not-found{gap:clamp(48px,7vw,80px);display:grid}.not-found section{justify-items:start;gap:20px;display:grid}.not-found .lede{margin:0}.todo{border:1px dashed var(--red);background:color-mix(in srgb, var(--red) 8%, transparent);border-radius:10px;padding:10px 14px;color:var(--text)!important;font:13px/1.5 var(--mono)!important}.scene-slot{display:none}.scene-slot[data-dev]{z-index:40;border:1px dashed var(--line-2);font:11px var(--mono);color:var(--muted);background:var(--surface);border-radius:8px;padding:6px 10px;display:block;position:fixed;bottom:16px;right:16px}footer{z-index:2;border-top:1px solid var(--line);position:relative}footer .contact{gap:16px;padding-block:clamp(56px,8vw,96px) 40px;display:grid}footer .contact h2{letter-spacing:-.02em;margin:0;font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1.1}footer .contact p{max-width:56ch;color:var(--muted);margin:0}footer .links{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}footer .links>*{border:1px solid var(--line-2);min-height:44px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:10px;align-items:center;padding:0 16px;font-size:14px;text-decoration:none;display:inline-flex}footer .links>:hover{border-color:var(--dim)}footer .base{border-top:1px solid var(--line);font:13px/1.7 var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;padding-block:28px 48px;display:flex}footer .base>div:first-child{display:grid}footer .who{color:var(--text)}footer .end{flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}footer .base a{color:var(--muted);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--line-2)}footer .base a:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation:none!important}html{scroll-behavior:auto}}.cmdk{border:1px solid var(--line-2);background:var(--surface);width:min(560px,100vw - 32px);max-height:min(70vh,560px);color:var(--text);border-radius:16px;margin:12vh auto auto;padding:0;overflow:hidden;box-shadow:0 24px 80px #00000059}.cmdk[open]{flex-direction:column;display:flex}.cmdk::backdrop{background:color-mix(in srgb, var(--bg) 55%, transparent);backdrop-filter:blur(4px)}.cmdk input{border:0;border-bottom:1px solid var(--line);width:100%;min-height:56px;color:var(--text);font:inherit;background:0 0;padding:0 20px;font-size:17px}.cmdk input:focus{outline:none}.cmdk input:focus-visible{box-shadow:inset 0 -2px 0 var(--accent)}.cmdk ul{margin:0;padding:8px;list-style:none;overflow-y:auto}.cmdk li{cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:0 12px;display:flex}.cmdk li[aria-selected=true]{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}.cmdk li .kind{font:12px var(--mono);color:var(--muted)}.cmdk-empty{color:var(--muted);margin:0;padding:16px 20px}.cmdk-hint{border-top:1px solid var(--line);font:12px var(--mono);color:var(--muted);margin:0;padding:12px 20px}@media (width<=440px){.cmdk-btn{display:none}}.scene{z-index:0;pointer-events:none;position:fixed;inset:0}.scene-stage{opacity:0;transition:opacity .7s;position:absolute;inset:0}.scene-stage.in{opacity:1}.scene-stage canvas{width:100%;height:100%;display:block}.scene-fb{background:var(--accent);-webkit-mask:var(--m) var(--mp,center)/var(--ms,cover) no-repeat;mask:var(--m) var(--mp,center)/var(--ms,cover) no-repeat;opacity:var(--fo,.3);transition:opacity .7s;position:absolute;inset:0}.scene[data-live] .scene-fb{opacity:0}.scene-fb-flow{--m:url(/scenes/flow.svg);--fo:.28}.scene-fb-terrain{--m:url(/scenes/terrain.svg);--mp:center bottom;--fo:.4}.scene-fb-constellation{--m:url(/scenes/constellation.svg);--fo:.55}.scene-fb-enso{--m:url(/scenes/enso.svg);--ms:min(80vmin,720px);--fo:.75}.scene[data-variant=progress] .scene-fb-enso{--mp:85% 45%;--ms:min(46vmin,460px);--fo:.4}.scene-fb-gearbox{--m:url(/scenes/gearbox.svg);--ms:78%;--fo:.6}@media (width<=899px){.scene-fb-constellation{--mp:center 18%;--ms:auto 60%}.scene[data-variant=progress] .scene-fb-enso{--mp:center 30%;--fo:.18}}html:not([data-home-scene=constellation]) .scene[data-home] .scene-fb-constellation,html[data-home-scene=constellation] .scene[data-home] .scene-fb-flow{display:none}.scene:after{content:"";pointer-events:none;position:absolute;inset:0}.scene[data-scene=flow]:after{background:radial-gradient(120% 90% at 20% 40%, color-mix(in srgb, var(--bg) 70%, transparent) 0%, transparent 60%)}.scene[data-scene=terrain]:after{background:radial-gradient(60% 55% at 22% 58%, color-mix(in srgb, var(--bg) 70%, transparent), transparent 70%), linear-gradient(180deg, var(--bg) 0%, color-mix(in srgb, var(--bg) 85%, transparent) 40%, color-mix(in srgb, var(--bg) 30%, transparent) 62%, transparent 78%)}.has-scene:not(.scene-flow):not(.scene-gearbox) .page,.scene-flow .sec .now-grid{background:0 0}.has-scene:not(.scene-flow):not(.scene-gearbox) :is(.page .prose,.page .notes,.page .page-head){background:linear-gradient(90deg, color-mix(in srgb, var(--bg) 82%, transparent) 0 70%, transparent 100%);box-shadow:-40px 0 0 color-mix(in srgb, var(--bg) 82%, transparent)}@media (width<=899px){.scene[data-scene=flow]:after{background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 55%, transparent), color-mix(in srgb, var(--bg) 78%, transparent))}.has-scene:not(.scene-flow):not(.scene-gearbox) :is(.page .prose,.page .notes,.page .page-head){background:color-mix(in srgb, var(--bg) 80%, transparent);box-shadow:none}}.scene-flow .hero{min-height:100svh}.has-scene footer{background:var(--bg)}.scene-gearbox .page{background:0 0}.scene-labels{position:absolute;inset:0;overflow:hidden}.scene-labels span{white-space:nowrap;font:12px var(--mono);color:var(--muted);will-change:transform,opacity;transition:opacity .3s,color .3s;position:absolute;top:0;left:0}.scene-labels span.p{color:var(--text);font-size:13px}.scene-labels span.me{color:var(--accent);font-size:14px;font-weight:500}.scene-labels span.hot{color:var(--accent)}.scene:not([data-live=constellation]) .scene-labels{display:none}.progress{transform-origin:0;background:var(--accent);z-index:60;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}.pct{right:clamp(16px,3vw,32px);bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;font:12px var(--mono);color:var(--muted);position:fixed}.scene[data-scene=gearbox]{z-index:auto;position:static}.dock{aspect-ratio:1;z-index:40;pointer-events:none;width:min(34vw,440px);position:absolute;top:140px;right:max(24px,50vw - 600px)}.dock.placed{transform-origin:0 0;will-change:transform;position:fixed;top:0;left:0;right:auto}.dock.placed.still{position:absolute}.dock .ring{border:1px solid var(--line-2);background:color-mix(in srgb, var(--surface) 70%, transparent);backdrop-filter:blur(8px);opacity:0;border-radius:24px;transition:opacity .3s;position:absolute;inset:0}.dock.docked .ring{opacity:1}.dock .scene-fb,.dock-stage{position:absolute;inset:0}.dock .scene-fb{inset:10%}.dock:has(.scene-stage.in) .scene-fb{opacity:0}.readout{font-family:var(--mono);align-items:flex-end;gap:18px;display:flex;position:absolute;bottom:5%;left:6%}.readout .g{color:var(--accent);min-width:.7em;font-size:72px;font-weight:500;line-height:.8}.readout .r{gap:6px;display:grid}.readout .rpm{color:var(--text);font-size:22px}.readout .rpm small{color:var(--muted);font-size:13px}.tach{background:var(--line);border-radius:4px;width:180px;height:8px;position:relative;overflow:hidden}.tach i{clip-path:inset(0 100% 0 0);background:linear-gradient(90deg, var(--accent) 0 72%, var(--amber) 72% 86%, var(--red) 86%);position:absolute;inset:0}.dock.docked .readout{transform-origin:0 100%;transform:scale(1.9)}.dock.docked .readout .r{display:none}@media (width<=899px){.dock:not(.placed){display:none}.scene-gearbox .page-head{padding-bottom:calc(min(80vw,40svh) + 24px)}}@media (width>=900px){.scene-gearbox .page :is(.page-head,.prose,.more-row){max-width:min(58%,72ch)}}.gearnav{z-index:45;opacity:0;pointer-events:none;gap:4px;transition:opacity .4s;display:grid;position:fixed;top:50%;left:clamp(8px,1.6vw,22px);transform:translateY(-50%)}.gearnav.on{opacity:1;pointer-events:auto}.gearnav a{width:40px;height:40px;font:13px var(--mono);color:var(--muted);background:color-mix(in srgb, var(--bg) 80%, transparent);border:1px solid #0000;border-radius:10px;place-items:center;display:grid}.gearnav a:hover{color:var(--text);border-color:var(--line-2)}.gearnav a.act{color:var(--accent-ink);background:var(--accent)}.gearnav a:focus-visible{opacity:1}@media (width<=1279px){.gearnav{display:none}}@media (prefers-reduced-motion:no-preference){.fx-flow .rv{opacity:0;filter:blur(10px);transition:opacity .9s,filter .9s,transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(14px)}.fx-flow .rv.in{opacity:1;filter:none;transform:none}.fx-flow .principle .big .w{opacity:.16;transition:opacity .25s linear}.fx-flow .principle .big .w.on{opacity:1}.fx-constellation .rv{opacity:0;transition:opacity .8s .15s}.fx-constellation .rv.in{opacity:1}.fx-constellation .tw{clip-path:inset(-.2em 100% -.2em 0)}.fx-constellation .tw.in{clip-path:inset(-.2em -.2em -.2em 0);transition:clip-path .9s steps(22,end)}.fx-terrain .rv{clip-path:inset(0 0 100%);transition:clip-path 1.1s cubic-bezier(.6,0,.2,1);position:relative}.fx-terrain .rv.in{clip-path:inset(-4px -12px -12px)}.fx-terrain .rv:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 14px var(--accent);opacity:0;pointer-events:none;position:absolute;top:0;left:-8px;right:-8px}.fx-terrain .rv.in:after{animation:1.1s cubic-bezier(.6,0,.2,1) forwards scan}.fx-gearbox .rv{opacity:0;transition:opacity .6s}.fx-gearbox .rv.in{opacity:1}.fx-gearbox .prose [data-gear].rv{transform:translate(28px)}.fx-gearbox .prose [data-gear].rv.in{transition:opacity .35s,transform .45s cubic-bezier(.3,1.6,.4,1);transform:none}.fx-enso .rv{transition:-webkit-mask-position 1.4s cubic-bezier(.3,.6,.2,1),mask-position 1.4s cubic-bezier(.3,.6,.2,1);-webkit-mask-image:linear-gradient(100deg,#000 0 40%,#0000 60% 100%);mask-image:linear-gradient(100deg,#000 0 40%,#0000 60% 100%);-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.fx-enso .rv.in{-webkit-mask-position:0 0;mask-position:0 0}}.prose :is(h2,h3)[data-gear]{position:relative}.prose h2[data-gear]:after{content:"";background:var(--accent);transform-origin:0;width:min(100%,4em);height:3px;transition:transform .5s cubic-bezier(.2,.8,.2,1) 80ms;position:absolute;bottom:-10px;left:0;transform:scaleX(0)}.prose h2[data-gear].engaged:after{transform:scaleX(1)}.motion .scene-flow :is(.hero h1,.not-found h1){animation:.8s cubic-bezier(.16,.84,.24,1) both rise}.motion .scene-flow .hero .who{animation:.8s .1s both fadein}.motion .scene-flow .hero .lede{animation:1s .45s both fadein}.motion .scene-flow .hero .ctas{animation:1s .65s both fadein}.motion .scene-terrain .page-head>*{animation:1.1s cubic-bezier(.6,0,.2,1) both scanin}.motion .scene-terrain .page-head>:nth-child(2){animation-delay:.2s}.motion .scene-constellation .page-head h1{animation:.8s steps(14,end) both typein}.motion .scene-constellation .page-head .lede{animation:.9s .7s both fadein}.motion .scene-gearbox .page-head>*{animation:.55s cubic-bezier(.3,1.6,.4,1) both engage}.motion .scene-gearbox .page-head>:nth-child(2){animation-delay:80ms}.motion .scene-gearbox .page-head>:nth-child(3){animation-delay:.16s}.motion .scene-gearbox .page-head>:nth-child(4){animation-delay:.24s}.motion .scene-enso .page-head>*{animation:1.2s both fadein}.motion .scene-enso .page-head>:nth-child(2){animation-delay:.25s}.motion .scene-enso .page-head>:nth-child(3){animation-delay:.5s}.motion .scene-enso .page-head>:nth-child(4){animation-delay:.7s}.scrollcue{display:none}.motion .scene-flow .scrollcue{background:linear-gradient(var(--accent), transparent);width:1px;height:56px;animation:2.4s ease-in-out infinite cue;display:block;position:absolute;bottom:28px;left:50%}.scene-flow .hero{position:relative}[class*=fx-] .feature .trace{stroke-dasharray:1400;stroke-dashoffset:1400px;transition:stroke-dashoffset 2.2s cubic-bezier(.2,.7,.2,1)}[class*=fx-] .feature.in .trace{stroke-dashoffset:0}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{clip-path:inset(0 0 100%);transform:translateY(28%)}to{clip-path:inset(-.2em -.2em -.3em);transform:none}}@keyframes scanin{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(-.3em)}}@keyframes typein{0%{clip-path:inset(-.2em 100% -.3em 0)}to{clip-path:inset(-.2em -.2em -.3em 0)}}@keyframes engage{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes cue{0%{transform-origin:top;transform:translate(-50%)scaleY(0)}50%{transform-origin:top;transform:translate(-50%)scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:translate(-50%)scaleY(0)}}@keyframes scan{0%{opacity:1;top:0}90%{opacity:1;top:100%}to{opacity:0;top:100%}}.scene-fb-keycaps{--m:url(/scenes/keycaps.svg);--mp:center;--ms:min(80%, 640px) auto;--fo:.5}@media (width>=900px){.scene[data-scene=keycaps] :is(.scene-stage,.scene-fb){left:50%}.scene-keycaps .page :is(.prose,.page-head){max-width:min(52%,64ch)}}@media (width<=899px){.scene[data-scene=keycaps] .scene-stage.in{opacity:.32}.scene[data-scene=keycaps] :is(.scene-stage,.scene-fb){height:60svh;bottom:auto}}@media (prefers-reduced-motion:no-preference){.fx-keycaps .rv{clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.7,0,.2,1)}.fx-keycaps .rv.in{clip-path:inset(-.3em)}}.motion .scene-keycaps .page-head h1{animation:.6s cubic-bezier(.3,1.6,.4,1) both keypress}@keyframes keypress{0%{opacity:0;transform:translateY(-14px)}60%{opacity:1;transform:translateY(3px)}to{transform:none}}
