@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.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:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.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:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.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:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.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:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.p.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:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_fdaf1b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_fdaf1b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.p.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_1b85de{font-family:Inter,Inter Fallback;font-style:normal}.__variable_1b85de{--font-body:"Inter","Inter Fallback"}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.p.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:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,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:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_a76894{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_a76894{--font-display:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}.home{--bg:#08090d;--bg-mid:#0f1117;--bg-glow:#161922;--fg:#eceef2;--muted:#6e7585;--accent:#8b9cf6;--lime:#34d399;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--fg);overflow-x:hidden;color-scheme:dark}.loader{position:fixed;top:0;left:0;height:1px;width:0;background:linear-gradient(90deg,transparent,var(--accent),transparent);z-index:100;animation:load 1.4s cubic-bezier(.22,1,.36,1) forwards}@keyframes load{0%{width:0;opacity:1}65%{width:92%;opacity:1}to{width:100%;opacity:0}}.scene{position:fixed;inset:0;z-index:0;overflow:hidden}.scene__base{position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 50% 38%,var(--bg-glow) 0,transparent 68%),radial-gradient(ellipse 50% 40% at 80% 70%,rgba(30,35,55,.2) 0,transparent 65%),radial-gradient(ellipse 45% 38% at 15% 75%,rgba(25,30,50,.18) 0,transparent 60%),radial-gradient(ellipse 100% 90% at 50% 50%,var(--bg-mid) 0,var(--bg) 78%)}.scene__blob{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform;pointer-events:none}.scene__blob--1{width:55vmax;height:55vmax;top:-10%;left:-5%;background:rgba(40,45,75,.18)}.scene__blob--2{width:50vmax;height:50vmax;bottom:-12%;right:-8%;background:rgba(35,40,65,.16)}.scene__blob--3{width:44vmax;height:44vmax;top:35%;left:30%;background:rgba(45,50,80,.14)}.scene__blob--cursor{width:42vmax;height:42vmax;top:30%;left:40%;background:rgba(90,110,180,.22);filter:blur(110px);opacity:0;transition:opacity 1s ease}.scene.is-active .scene__blob--cursor{opacity:.55}.scene__vignette{background:radial-gradient(ellipse 110% 100% at 50% 50%,transparent 30%,rgba(0,0,0,.65) 100%)}.scene__grain,.scene__vignette{position:absolute;inset:0;pointer-events:none}.scene__grain{opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.content{position:relative;z-index:1;text-align:center;padding:2rem;width:100%;max-width:1200px;animation:fade-up 1.1s cubic-bezier(.22,1,.36,1) .2s both}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.brand{margin:0 0 3rem;max-width:100%}.brand__lockup{display:inline-flex;align-items:center;font-family:var(--font-mono),ui-monospace,monospace;font-size:clamp(1.27rem,3vw,1.55rem);font-weight:500;line-height:1;white-space:nowrap}.brand__slug{color:var(--fg);letter-spacing:-.01em}.contact{display:flex;flex-direction:column;gap:.75rem;align-items:center;animation:fade-up .9s cubic-bezier(.22,1,.36,1) .6s both}.contact__link{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-mono),ui-monospace,monospace;font-size:clamp(.8rem,2.5vw,.9rem);color:var(--muted);text-decoration:none;padding:.45rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.04);background:rgba(255,255,255,.02)}.contact__prefix{color:var(--accent);opacity:.65}.contact__link:focus-visible,.contact__link:hover{color:var(--fg);border-color:rgba(139,156,246,.2);background:rgba(139,156,246,.05);outline:none}.status{position:fixed;bottom:1.5rem;left:1.5rem;z-index:3;display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono),ui-monospace,monospace;font-size:.85rem;color:var(--muted);opacity:0;animation:fade-in .6s ease 1.2s forwards;pointer-events:none}@keyframes fade-in{to{opacity:1}}.status__dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime),0 0 16px rgba(52,211,153,.35);animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.gate{min-height:100dvh;display:grid;place-content:center;padding:1.5rem;background:radial-gradient(ellipse 70% 45% at 50% -8%,rgba(26,86,219,.07),transparent 58%),#f3f4f6;color:#111318;color-scheme:light;font-family:var(--font-body),system-ui,sans-serif}.gate__card{width:min(100%,400px);background:#fff;border-radius:20px;padding:2.15rem 1.9rem 1.85rem;box-shadow:0 0 0 1px rgba(17,19,24,.06),0 16px 40px rgba(17,19,24,.06)}.gate h1{margin:0 0 .35rem;font-family:var(--font-display),var(--font-body),system-ui,sans-serif;font-size:1.7rem;font-weight:650;letter-spacing:-.035em;line-height:1.15}.gate p{margin:0 0 1.35rem;color:#6b7280;font-size:.95rem;line-height:1.5}.gate__form{display:grid;grid-gap:.45rem;gap:.45rem}.gate__label{font-size:.78rem;font-weight:560;color:#3a3f4a}.gate button,.gate input,.reader__bar button{font:inherit}.gate input{padding:.72rem .85rem;border-radius:11px;border:1px solid rgba(17,19,24,.12);background:#f7f8fa;color:#111318}.gate input:focus{outline:none;border-color:#1a56db;background:#fff;box-shadow:0 0 0 3px rgba(26,86,219,.14)}.gate button{margin-top:.55rem;padding:.72rem .9rem;border:0;border-radius:11px;background:#111318;color:#fff;font-weight:560;cursor:pointer}.gate button:hover{background:#2a2e38}.gate button:disabled{opacity:.55;cursor:default}.gate__error{margin:.15rem 0 0;color:#b42318;font-size:.85rem}.reader{--bg:#f6f8fa;--surface:#ffffff;--text:#1f2328;--text-secondary:#424a53;--text-muted:#6e7781;--border:#d1d9e0;--accent:#0969da;--accent-soft:#ddf4ff;--code-bg:#f6f8fa;--measure:750px;--sheet:760px;--wide:min(1800px,calc(100vw - 32px));min-height:100vh;background:var(--bg);color:var(--text-secondary);color-scheme:light;font-family:var(--font-body),system-ui,sans-serif;font-size:16px;line-height:1.75}.reader__bar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:rgba(246,248,250,.92);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.reader__bar-inner{display:flex;justify-content:space-between;align-items:center;max-width:var(--wide);margin:0 auto;padding:12px 22px;font-family:var(--font-mono),ui-monospace,monospace;font-size:.78rem}.reader__bar a{color:var(--text-muted);text-decoration:none}.reader__bar a:hover{color:var(--text)}.reader__bar button{padding:.32rem .7rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer}.reader__bar button:hover{border-color:#afb8c1;color:var(--text)}.reader__page{padding:28px 16px 88px}.reader__sheet{max-width:var(--sheet);margin:0 auto;background:var(--surface);border-radius:18px;box-shadow:0 0 0 1px rgba(31,35,40,.06),0 10px 28px rgba(31,35,40,.05);padding:56px 52px 64px}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.reader__title{font-family:var(--font-display),var(--font-body),system-ui,sans-serif;color:var(--text);line-height:1.25;font-weight:640;letter-spacing:-.028em}.reader__title{margin:0 0 1.15rem;font-size:3.05rem}.reader__sheet section h2,.reader__sheet>h2{margin:1.6rem 0 .55rem;font-family:var(--font-display),var(--font-body),system-ui,sans-serif;font-size:.78rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.reader__sheet>section ul,.reader__sheet>ul{margin:0;padding:0;list-style:none}.reader__sheet>section li,.reader__sheet>ul li{margin:0;border-top:1px solid var(--border)}.reader__sheet>section a,.reader__sheet>ul a{display:block;padding:.7rem .15rem;color:var(--text);text-decoration:none}.reader__sheet>section a:hover,.reader__sheet>ul a:hover{color:var(--accent)}.markdown h1,.markdown h2{margin-top:2.4em;margin-bottom:.55em}.markdown h3,.markdown h4{margin-top:1.7em;margin-bottom:.4em}.markdown h1{font-size:3.05rem;font-weight:700;margin-top:0;padding-bottom:.4em;border-bottom:1px solid var(--border)}.markdown h1+p{margin-top:1.15em;color:var(--text);font-size:1.05rem;line-height:1.65}.markdown h2{font-size:2.19rem;font-weight:680;margin-top:2.2em;padding-top:.15em}.markdown h3{font-size:1.61rem;font-weight:650}.markdown h4{font-size:1.32rem;color:var(--text);font-weight:620}.markdown>:first-child{margin-top:0}.markdown p{margin:0 0 1em}.markdown a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:rgba(9,105,218,.35);text-decoration-color:rgba(9,105,218,.35);text-underline-offset:3px;text-decoration-thickness:1px}.markdown a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.markdown strong{font-weight:640;color:var(--text)}.markdown ol,.markdown ul{margin:.2em 0 1.1em;padding-left:1.25em}.markdown li{margin-bottom:.38em;padding-left:.15em}.markdown li::marker{color:#8c959f}.markdown input[type=checkbox]{margin-right:.45em;accent-color:var(--accent);transform:translateY(1px)}.markdown blockquote{margin:1.4em 0;padding:.15em 0 .15em 1.05em;border-left:3px solid #d1d9e0;color:var(--text)}.markdown hr{border:none;height:1px;background:var(--border);margin:2.2em 0}.markdown code{font-family:var(--font-mono),ui-monospace,monospace;font-size:.84em;background:var(--code-bg);padding:.12em .38em;border-radius:6px;color:var(--text)}.markdown pre{margin:1.25em 0;padding:.95em 1.1em;background:var(--code-bg);border:1px solid var(--border);border-radius:12px;overflow-x:auto;line-height:1.6;font-size:.84rem}.markdown pre code{background:none;padding:0;font-size:inherit;color:inherit}.reader__sheet--doc{max-width:var(--wide)}.dochead{max-width:var(--measure);margin:0 auto 2.4rem}.dochead__title{margin:0;font-family:var(--font-display),var(--font-body),system-ui,sans-serif;font-size:3.05rem;font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--text)}.dochead__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem 1.25rem;gap:1rem 1.25rem;margin:1.45rem 0 0;padding-top:1.15rem;border-top:1px solid var(--border)}.dochead__meta div{min-width:0}.dochead__meta dt{margin:0 0 .2rem;font-family:var(--font-mono),ui-monospace,monospace;font-size:.68rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.dochead__meta dd{margin:0;font-size:.95rem;font-weight:620;color:var(--text)}.markdown>p:first-child{color:var(--text);font-size:1.05rem;line-height:1.65}.reader__sheet--doc .markdown>:where(p,h1,h2,h3,h4,ul,ol,blockquote,hr,pre){max-width:var(--measure);margin-left:auto;margin-right:auto}.reader__sheet--doc .markdown>table{max-width:var(--measure);margin-left:auto;margin-right:auto}.markdown table{width:100%;border-collapse:separate;border-spacing:0;margin:1.35em 0 1.5em;font-size:.9rem;line-height:1.5;border:1px solid var(--border);border-radius:12px;overflow:hidden}.markdown td,.markdown th{border-bottom:1px solid var(--border);padding:.62em .85em;text-align:left;vertical-align:top}.markdown tr:last-child td{border-bottom:0}.markdown th{background:var(--code-bg);font-family:var(--font-display),var(--font-body),system-ui,sans-serif;font-size:.82rem;font-weight:650;letter-spacing:-.01em;color:var(--text)}.markdown tbody tr:nth-child(2n) td{background:#f6f8fa}.markdown img{max-width:100%;height:auto;border-radius:12px}.diagram{margin:1.6em 0;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.diagram--gantt .diagram__stage{display:flex;justify-content:center}.diagram__tools{display:flex;justify-content:flex-end;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg)}.diagram__tools button{font:inherit;font-size:.78rem;line-height:1;padding:.38rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.diagram__tools button:hover{background:var(--accent-soft);border-color:#54aeff54}.diagram__stage{overflow:auto;padding:12px 8px 16px}.diagram__canvas{min-width:100%}.markdown .mermaid{margin:0;padding:0;background:transparent;border:0;border-radius:0;text-align:center}.markdown .mermaid svg{width:100%;max-width:none;height:auto}.diagram.is-max{position:fixed;inset:0;z-index:40;margin:0;width:auto;max-width:none;border-radius:0;display:flex;flex-direction:column;background:var(--bg)}.diagram.is-max .diagram__stage{flex:1 1}@media (max-width:640px){.reader{background:var(--surface)}.reader__bar{background:rgba(255,255,255,.92)}.diagram.is-max{inset:0}.reader__bar-inner{padding:12px 16px}.reader__page{padding:0 0 48px}.reader__sheet{padding:28px 20px 48px;border-radius:0;box-shadow:none}.dochead__title{font-size:2.36rem}.dochead__meta{grid-template-columns:1fr 1fr}.markdown h1{font-size:2.36rem}.markdown h2{font-size:1.78rem}.markdown h3{font-size:1.44rem}.markdown table{display:block;overflow-x:auto}}@media (prefers-reduced-motion:reduce){.home *,.home :after,.home :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}