@charset "UTF-8";@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwhsk.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwhsk.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwhsk.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwhsk.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb54C-s0.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/spacegrotesk/v22/V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: oklch(.155 .004 264);--bg-2: oklch(.185 .005 264);--bg-3: oklch(.215 .006 264);--bg-inset: oklch(.135 .004 264);--fg: oklch(.965 .003 264);--fg-1: oklch(.8 .004 264);--fg-2: oklch(.62 .005 264);--fg-3: oklch(.46 .005 264);--fg-4: oklch(.36 .005 264);--line: oklch(.3 .006 264 / .7);--line-soft: oklch(.28 .006 264 / .45);--line-strong: oklch(.42 .008 264);--topbar-bg: oklch(.155 .004 264 / .85);--accent: #e5e5e5;--accent-fg: #0c0c0e;--accent-dim: rgba(229, 229, 229, .16);--accent-line: rgba(229, 229, 229, .38);--accent-glow: rgba(229, 229, 229, .22);--sans: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--sidebar-w: 290px;--maxw: 760px;--radius: 14px;--radius-sm: 9px;--pad-x: clamp(24px, 5vw, 64px);--ease: cubic-bezier(.22, .61, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--fg-1);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;transition:background .3s ease,color .3s ease}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(oklch(50% .01 264deg / .1) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse 120% 90% at 70% 0%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 120% 90% at 70% 0%,#000 0%,transparent 75%)}[data-theme=light] body:before{background-image:radial-gradient(rgba(0,0,0,.06) 1px,transparent 1px)}::selection{background:var(--accent);color:var(--accent-fg)}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono)}.comment{font-family:var(--mono);color:var(--fg-3);font-size:13px}.comment:before{content:"// ";color:var(--fg-4)}.cursor{display:inline-block;width:.58ch;height:1.05em;background:var(--accent);margin-left:2px;transform:translateY(.13em);animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--fg-4)}.reveal{transition:opacity .55s var(--ease),transform .55s var(--ease)}.reveal.pre{opacity:0;transform:translateY(20px)}@media(prefers-reduced-motion:reduce){.reveal{transition:none}.reveal.pre{opacity:1;transform:none}}#root{position:relative;z-index:1}.shell{display:flex;min-height:100vh;align-items:stretch}.side{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);height:100vh;border-right:1px solid var(--line);background:linear-gradient(180deg,var(--bg-2),var(--bg));display:flex;flex-direction:column;padding:26px 22px 20px;z-index:40;transition:background .3s ease}.brand{display:flex;align-items:center;gap:12px}.mono-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:11px;background:var(--bg-3);font-family:var(--mono);font-weight:700;font-size:16px;color:var(--accent);letter-spacing:-.02em;transition:color .3s ease,background .3s ease}.brand-txt .name{font-weight:600;font-size:15px;color:var(--fg);letter-spacing:-.01em;line-height:1.2}.brand-txt .role{font-family:var(--mono);font-size:11px;color:var(--fg-3);margin-top:3px}.status{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-family:var(--mono);font-size:11px;color:var(--fg-2);padding:6px 10px;border:1px solid var(--line-soft);border-radius:99px;background:var(--bg-inset);align-self:flex-start}.status .dot{width:7px;height:7px;border-radius:99px;background:var(--accent);box-shadow:0 0 0 0 var(--accent-glow);animation:pulse 2.4s var(--ease) infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.nav{margin-top:28px;display:flex;flex-direction:column;gap:1px}.nav-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-4);padding:0 10px 9px}.nav-item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:8px;font-family:var(--mono);font-size:13px;color:var(--fg-2);cursor:pointer;transition:color .18s var(--ease),background .18s var(--ease);border:1px solid transparent}.nav-item .idx{color:var(--fg-4);font-size:11px;min-width:18px;transition:color .18s}.nav-item .soon{margin-left:auto;font-size:9px;letter-spacing:.1em;color:var(--fg-4);border:1px solid var(--line-soft);padding:1px 5px;border-radius:5px}.nav-item:hover{color:var(--fg);background:var(--bg-3)}.nav-item:hover .idx{color:var(--fg-2)}.nav-item.active{color:var(--fg);background:var(--bg-3);border-color:var(--line)}.nav-item.active .idx{color:var(--accent)}.nav-item.active:before{content:"";position:absolute;left:-22px;top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:99px;background:var(--accent)}.side-spacer{flex:1;min-height:24px}.socials{display:flex;flex-direction:column;gap:1px;margin-bottom:14px}.social{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;font-family:var(--mono);font-size:12px;color:var(--fg-2);transition:color .18s,background .18s}.social .s-icon{display:flex;align-items:center;width:14px;height:14px}.social .s-icon svg{width:14px;height:14px}.social .s-h{color:var(--fg-4);margin-left:auto}.social:hover{color:var(--fg);background:var(--bg-3)}.social:hover .s-h{color:var(--accent)}.side-foot{border-top:1px solid var(--line-soft);padding-top:12px;font-family:var(--mono);font-size:10.5px;color:var(--fg-4);line-height:1.7}.main{margin-left:var(--sidebar-w);flex:1;min-width:0;padding:0 var(--pad-x)}.wrap{max-width:var(--maxw);margin:0 auto}section[id]{padding:86px 0;scroll-margin-top:24px;border-bottom:1px solid var(--line-soft)}section[id]:last-of-type{border-bottom:none}.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:30px}.sec-num{font-family:var(--mono);font-size:12px;color:var(--accent)}.sec-title{font-size:13px;font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3)}.sec-rule{flex:1;height:1px;background:var(--line-soft)}.hero{padding-top:118px;padding-bottom:92px;border-bottom:1px solid var(--line-soft)}.hero-term{font-family:var(--mono);font-size:13px;color:var(--fg-3);margin-bottom:26px;display:flex;align-items:center;gap:9px}.hero-term .prompt{color:var(--accent)}.hero h1{font-size:clamp(38px,6.4vw,68px);line-height:1.02;letter-spacing:-.035em;font-weight:600;color:var(--fg);margin:0 0 8px}.hero h1 .muted{color:var(--fg-3)}.hero .subrole{font-family:var(--mono);font-size:clamp(14px,2vw,17px);color:var(--fg-2);margin-bottom:26px;letter-spacing:-.01em}.hero .subrole .at{color:var(--fg-4)}.hero-bio{font-size:clamp(17px,2.2vw,21px);line-height:1.6;color:var(--fg-1);max-width:38ch;text-wrap:pretty;margin-bottom:34px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:13px;font-weight:500;padding:12px 18px;border-radius:10px;cursor:pointer;border:1px solid var(--line-strong);background:var(--bg-3);color:var(--fg);transition:transform .18s var(--ease),background .18s,border-color .18s,box-shadow .18s}.btn:hover{transform:translateY(-2px);border-color:var(--fg-4)}.btn.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.btn-primary:hover{box-shadow:0 10px 30px -10px var(--accent-glow)}.btn.btn-ghost{background:transparent}.btn .ico{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}.btn .ico-sm{width:13px;height:13px}.ico-animated{stroke:currentColor;fill:none;stroke-width:1.7;width:15px;height:15px}.btn-primary:hover .ico-animated .arrow-down{animation:bounce-down .6s ease infinite}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.hero-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:46px;padding-top:26px;border-top:1px solid var(--line-soft)}.hero-meta .m{font-family:var(--mono)}.hero-meta .mk{font-size:11px;color:var(--fg-4);letter-spacing:.1em;text-transform:uppercase}.hero-meta .mv{font-size:14px;color:var(--fg-1);margin-top:5px}.hero-meta .status-open{color:var(--accent)}.about-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:40px;align-items:start}.about-body p{font-size:16.5px;line-height:1.72;color:var(--fg-1);margin:0 0 16px;text-wrap:pretty}.about-body p:first-child{color:var(--fg);font-size:18px}.facts{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);overflow:hidden}.fact{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.fact:last-child{border-bottom:none}.fact .fk{font-family:var(--mono);font-size:12px;color:var(--fg-3)}.fact .fv{font-size:13.5px;color:var(--fg);text-align:right;font-weight:500}.stack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stack-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);padding:22px;overflow:hidden;cursor:default;transition:border-color .25s var(--ease),transform .25s var(--ease),background .25s}.stack-card:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 0% 0%,oklch(.5 .12 var(--card-hue)/.12),transparent 65%);opacity:0;transition:opacity .3s}.stack-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,oklch(.5 .14 var(--card-hue)/.08) 0%,transparent 50%);opacity:0;transition:opacity .3s}.stack-card:hover{border-color:oklch(.5 .12 var(--card-hue)/.6);transform:translateY(-4px);background:var(--bg-3)}.stack-card:hover:before,.stack-card:hover:after{opacity:1}.stack-card:hover .card-icon{transform:scale(1.1) rotate(-5deg)}.stack-card:hover .anim-icon{stroke:oklch(.7 .14 var(--card-hue))}.stack-card:hover .chip{border-color:oklch(.4 .08 var(--card-hue)/.5)}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.card-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-inset);flex-shrink:0;transition:transform .3s var(--ease),border-color .3s}.card-icon svg{width:20px;height:20px}.anim-icon{stroke:var(--fg-3);transition:stroke .3s}.stack-card:hover .icon-server-1{animation:server-pulse 1.2s ease infinite}.stack-card:hover .icon-server-2{animation:server-pulse 1.2s .2s ease infinite}.stack-card:hover .icon-server-3{animation:server-pulse 1.2s .4s ease infinite}.stack-card:hover .icon-dot-1{animation:dot-blink 1s 0s steps(1) infinite}.stack-card:hover .icon-dot-2{animation:dot-blink 1s .3s steps(1) infinite}.stack-card:hover .icon-dot-3{animation:dot-blink 1s .6s steps(1) infinite}.stack-card:hover .icon-brain-top{animation:float-up 2s ease-in-out infinite}.stack-card:hover .icon-node-1{animation:node-pulse 1.5s 0s ease infinite}.stack-card:hover .icon-node-2{animation:node-pulse 1.5s .5s ease infinite}.stack-card:hover .icon-node-3{animation:node-pulse 1.5s 1s ease infinite}.stack-card:hover .icon-db-top{animation:db-fill 1.5s ease infinite}.stack-card:hover .icon-cloud{animation:cloud-float 2s ease-in-out infinite}.stack-card:hover .icon-arrow-r{animation:arrow-slide 1s ease-in-out infinite}.stack-card:hover .icon-check{animation:check-draw .6s ease forwards}.stack-card:hover .icon-shield{animation:shield-glow 1.5s ease-in-out infinite}.stack-card:hover .icon-code-l{animation:code-left 1.2s ease-in-out infinite}.stack-card:hover .icon-code-r{animation:code-right 1.2s ease-in-out infinite}@keyframes server-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.15}}@keyframes float-up{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes node-pulse{0%,to{r:2}50%{r:2.8}}@keyframes db-fill{0%,to{stroke-dashoffset:0}50%{stroke-dashoffset:4}}@keyframes cloud-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes arrow-slide{0%,to{transform:translate(0)}50%{transform:translate(3px)}}@keyframes check-draw{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}@keyframes shield-glow{0%,to{opacity:1}50%{opacity:.7}}@keyframes code-left{0%,to{transform:translate(0)}50%{transform:translate(-2px)}}@keyframes code-right{0%,to{transform:translate(0)}50%{transform:translate(2px)}}.card-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.card-meta .card-group{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3)}.card-meta .card-count{font-family:var(--mono);font-size:20px;font-weight:600;color:var(--accent);line-height:1}.card-chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-family:var(--mono);font-size:12px;color:var(--fg-1);padding:5px 10px;border-radius:7px;background:var(--bg-inset);border:1px solid var(--line-soft);transition:color .2s,border-color .2s,transform .2s;animation-fill-mode:both}.chip:hover{transform:translateY(-1px)}.timeline{position:relative}.tl-item{position:relative;padding-left:30px;padding-bottom:34px}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:5px;top:6px;bottom:-6px;width:1px;background:var(--line)}.tl-item:last-child:before{display:none}.tl-item:after{content:"";position:absolute;left:0;top:6px;width:11px;height:11px;border-radius:99px;background:var(--bg);border:1px solid var(--line-strong)}.tl-item.now:after{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-dim);animation:pulse-node 2s ease infinite}@keyframes pulse-node{0%,to{box-shadow:0 0 0 4px var(--accent-dim)}50%{box-shadow:0 0 0 8px transparent}}.tl-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:baseline}.tl-role{font-size:19px;font-weight:600;color:var(--fg);letter-spacing:-.01em}.tl-org{color:var(--fg-2);font-size:15px}.tl-period{font-family:var(--mono);font-size:12px;color:var(--fg-3)}.tl-now-badge{font-family:var(--mono);font-size:10px;color:var(--accent);border:1px solid var(--accent-line);padding:2px 7px;border-radius:6px;margin-left:10px;letter-spacing:.08em}.tl-summary{color:var(--fg-2);margin:8px 0 12px;font-size:15px}.tl-points{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:7px}.tl-points li{position:relative;padding-left:18px;font-size:14.5px;color:var(--fg-1);line-height:1.55}.tl-points li:before{content:"\2014";position:absolute;left:0;color:var(--fg-4);font-family:var(--mono)}.tl-tags{display:flex;flex-wrap:wrap;gap:7px}.tag{font-family:var(--mono);font-size:11px;color:var(--fg-3);border:1px solid var(--line-soft);padding:3px 9px;border-radius:99px;transition:color .18s,border-color .18s}.tag:hover{color:var(--accent);border-color:var(--accent-line)}.empty{border:1px dashed var(--line);border-radius:var(--radius);background:var(--bg-2);padding:48px 40px;position:relative;overflow:hidden}.empty-inner{position:relative;z-index:1}.eicon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line-strong);background:var(--bg-inset);margin-bottom:22px}.flask-icon{width:22px;height:22px;stroke:var(--accent);fill:none;stroke-width:1.6;animation:flask-bubble 3s ease-in-out infinite}@keyframes flask-bubble{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-2px) rotate(-3deg)}66%{transform:translateY(1px) rotate(3deg)}}.empty h3{font-size:24px;font-weight:600;color:var(--fg);margin:0 0 10px;letter-spacing:-.02em}.empty p{color:var(--fg-2);max-width:46ch;margin:0 0 24px;text-wrap:pretty;font-size:15.5px}.research-list{display:flex;flex-direction:column;gap:0;margin-bottom:26px}.research-item{border-top:1px solid var(--line-soft);padding:13px 0}.research-item:last-child{border-bottom:1px solid var(--line-soft)}.research-row{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--fg-1)}.research-row .rk{font-family:var(--mono);font-size:11px;color:var(--fg-4);min-width:30px}.research-row .rtitle{text-wrap:pretty}.research-row .rstat{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--fg-3);border:1px solid var(--line-soft);padding:2px 8px;border-radius:99px;white-space:nowrap}.research-item.with-bar .progress{margin:11px 0 1px 42px}.progress{height:4px;border-radius:99px;background:var(--bg-inset);overflow:hidden;border:1px solid var(--line-soft)}.progress span{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width 1s var(--ease)}.ghost-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 90% 100%,#000,transparent 70%);mask-image:radial-gradient(ellipse 80% 80% at 90% 100%,#000,transparent 70%)}.feed{display:flex;flex-direction:column}.article{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 4px;border-top:1px solid var(--line-soft);cursor:pointer;transition:padding-left .25s var(--ease)}.article:last-child{border-bottom:1px solid var(--line-soft)}.article:hover{padding-left:14px}.article .a-tag{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);border:1px solid var(--line-soft);padding:4px 9px;border-radius:7px;white-space:nowrap}.article:hover .a-tag{color:var(--accent);border-color:var(--accent-line)}.article .a-mid{min-width:0}.article .a-title{font-size:18px;font-weight:500;color:var(--fg-1);letter-spacing:-.01em;transition:color .18s;line-height:1.35}.article:hover .a-title{color:var(--fg)}.article .a-meta{font-family:var(--mono);font-size:11.5px;color:var(--fg-4);margin-top:6px;display:flex;gap:14px}.article .a-arrow{color:var(--fg-4);transition:transform .25s var(--ease),color .18s}.article .a-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}.article:hover .a-arrow{transform:translate(3px,-3px);color:var(--accent)}.feed-foot{margin-top:22px}.medium-note{font-family:var(--mono);font-size:11.5px;color:var(--fg-4);display:flex;align-items:center;gap:8px}.medium-note .dot2{width:5px;height:5px;border-radius:99px;background:var(--fg-4)}.music-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.track{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);padding:18px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .22s,transform .22s var(--ease),background .22s}.track:hover,.track.playing{transform:translateY(-3px);border-color:var(--line-strong);background:var(--bg-3)}.track.playing{border-color:var(--accent-line)}.track-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}.cover{width:52px;height:52px;border-radius:10px;flex-shrink:0;position:relative;overflow:hidden;border:1px solid var(--line-soft);background:linear-gradient(135deg,oklch(.42 .09 var(--h)),oklch(.24 .05 var(--h)))}.cover .play{position:absolute;inset:0;display:grid;place-items:center;background:#03030359;opacity:0;transition:opacity .2s}.track:hover .cover .play,.track.playing .cover .play{opacity:1}.t-title{font-size:16px;font-weight:600;color:var(--fg);letter-spacing:-.01em}.t-kind{font-family:var(--mono);font-size:11.5px;color:var(--fg-3);margin-top:3px}.t-foot{display:flex;align-items:center;gap:10px;justify-content:space-between}.waveform{display:flex;align-items:flex-end;gap:3px;height:22px;flex:1}.waveform i{flex:1;background:var(--line-strong);border-radius:2px;min-width:2px;transition:background .2s,height .4s ease}.track:hover .waveform i{background:var(--accent-line)}.track.playing .waveform i{background:var(--accent);animation:eq-bar .6s ease-in-out infinite alternate;transform-origin:bottom}.track.playing .waveform i:nth-child(3n){animation-duration:.5s}.track.playing .waveform i:nth-child(3n+1){animation-duration:.8s}.track.playing .waveform i:nth-child(3n+2){animation-duration:.65s}.bar-active{background:var(--accent)!important}.track.playing .waveform i:nth-child(odd){animation-duration:.6s}.track.playing .waveform i:nth-child(2n){animation-duration:1s}@keyframes eq-bar{0%{transform:scaleY(.4)}to{transform:scaleY(1.3)}}.t-len{font-family:var(--mono);font-size:11px;color:var(--fg-4);white-space:nowrap}.contact{text-align:left}.contact h2{font-size:clamp(28px,4.5vw,44px);font-weight:600;letter-spacing:-.03em;color:var(--fg);margin:0 0 16px;line-height:1.05;text-wrap:balance}.contact h2 .em{color:var(--accent)}.contact p{color:var(--fg-2);max-width:42ch;margin:0 0 26px;font-size:16px}.foot-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:28px 0 40px;font-family:var(--mono);font-size:11.5px;color:var(--fg-4)}.to-top{display:inline-flex;align-items:center;gap:7px;cursor:pointer;transition:color .18s}.to-top:hover{color:var(--fg)}.topbar,.drawer{display:none}.theme-fab{position:fixed;right:20px;bottom:20px;z-index:100;width:44px;height:44px;border-radius:12px;background:var(--bg-3);border:1px solid var(--line-strong);display:grid;place-items:center;cursor:pointer;transition:transform .2s var(--ease),background .2s,box-shadow .2s;box-shadow:0 4px 20px #0000004d}.theme-fab svg{width:18px;height:18px;color:var(--fg-2);transition:color .2s}.theme-fab:hover{transform:translateY(-2px) scale(1.05);background:var(--bg-2)}.theme-fab:hover svg{color:var(--accent)}.theme-fab .fab-icon{transition:transform .4s var(--ease)}.theme-fab .fab-icon.spin{transform:rotate(90deg)}.theme-panel{position:fixed;right:16px;bottom:74px;z-index:99;width:260px;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:0;box-shadow:0 20px 60px #0006;animation:panel-in .2s var(--ease)}@keyframes panel-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.tp-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.tp-title{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--fg-2);letter-spacing:.08em;text-transform:uppercase}.tp-close{background:none;border:none;color:var(--fg-3);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:6px}.tp-close:hover{background:var(--bg-3);color:var(--fg)}.tp-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px}.tp-section{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-4);padding-top:6px}.tp-section:first-child{padding-top:0}.mode-toggle{display:flex;gap:6px}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px;border-radius:8px;font-family:var(--mono);font-size:12px;color:var(--fg-3);background:var(--bg-inset);border:1px solid var(--line-soft);cursor:pointer;transition:all .18s var(--ease)}.mode-btn:hover{background:var(--bg-3);color:var(--fg)}.mode-btn.active{background:var(--bg-3);border-color:var(--accent-line);color:var(--accent)}.color-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.color-swatch{width:100%;aspect-ratio:1;border-radius:8px;border:2px solid transparent;cursor:pointer;position:relative;display:grid;place-items:center;transition:transform .18s var(--ease),border-color .18s}.color-swatch:hover{transform:scale(1.1);border-color:var(--fg-3)}.color-swatch.active{border-color:var(--fg);transform:scale(1.05)}.color-swatch svg{width:10px;height:10px}.color-label{font-family:var(--mono);font-size:11px;color:var(--fg-3);text-align:center;margin-top:-6px}.theme-toggle-btn{background:var(--bg-3);border:1px solid var(--line);border-radius:8px;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;color:var(--fg-2);transition:all .18s}.theme-toggle-btn svg{width:16px;height:16px}.theme-toggle-btn:hover{background:var(--bg-2);color:var(--accent)}@media(max-width:960px){:root{--sidebar-w: 0px}.side{display:none}.main{margin-left:0;padding-top:64px}.topbar{display:flex;position:fixed;top:0;left:0;right:0;z-index:50;align-items:center;justify-content:space-between;gap:10px;padding:12px var(--pad-x);background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:background .3s ease}.topbar .tb-brand{display:flex;align-items:center;gap:10px}.topbar .mono-mark{width:34px;height:34px;font-size:13px;border-radius:9px}.topbar .tb-name{font-weight:600;font-size:14px;color:var(--fg)}.topbar .tb-actions{display:flex;align-items:center;gap:8px}.menu-btn{background:var(--bg-3);border:1px solid var(--line);border-radius:9px;padding:9px 11px;cursor:pointer;display:grid;gap:3.5px}.menu-btn i{display:block;width:16px;height:1.6px;background:var(--fg-1);border-radius:2px}.drawer{display:flex;flex-direction:column;gap:4px;position:fixed;inset:0;z-index:60;background:#07080af5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:76px var(--pad-x) 32px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}.drawer.open{opacity:1;transform:none;pointer-events:auto}.drawer .nav-item{font-size:16px;padding:14px 12px}.drawer-close{position:absolute;top:14px;right:var(--pad-x);background:var(--bg-3);border:1px solid var(--line);border-radius:9px;width:38px;height:38px;color:var(--fg);font-size:18px;cursor:pointer}.about-grid{grid-template-columns:1fr;gap:28px}.stack-grid{grid-template-columns:repeat(2,1fr)}.music-grid{grid-template-columns:1fr}.theme-fab{bottom:16px;right:16px}.theme-panel{right:12px;bottom:70px;width:240px}}@media(max-width:640px){.stack-grid{grid-template-columns:1fr}.hero-meta{gap:18px}.article{grid-template-columns:1fr auto}.article .a-tag{display:none}.empty{padding:32px 24px}.color-grid{grid-template-columns:repeat(4,1fr)}}[data-theme=light] .side{background:linear-gradient(180deg,#fff,#f8f8f8)}[data-theme=light] .drawer{background:#f8f8f8f5}[data-theme=light] body:before{background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1px)}[data-theme=light] .theme-panel{box-shadow:0 20px 60px #00000026}[data-theme=light] .theme-fab{box-shadow:0 4px 20px #0000001f}
