@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.p.21jp631_3pja2.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_22d4a9ed-module__w9CLZG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_22d4a9ed-module__w9CLZG__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.p.1rgnod-3esatf.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8b16418d-module__PR57TG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8b16418d-module__PR57TG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1219;--surface:#161b25;--raise:#1c2230;--line:#232a37;--text:#e6e9ef;--muted:#8e97a7;--subtle:#5f6878;--accent:#f0883e;--accent-ink:#ffb27a;--accent-soft:#f0883e1f;--code-bg:#121620;--sans:var(--font-geist), "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-geist-mono), "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--surface:#fff;--raise:#eef0f4;--line:#e0e3e9;--text:#141922;--muted:#555e6c;--subtle:#858d9a;--accent:#c25e14;--accent-ink:#a44d0e;--accent-soft:#c25e141a;--code-bg:#f0f2f6}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--surface:#fff;--raise:#eef0f4;--line:#e0e3e9;--text:#141922;--muted:#555e6c;--subtle:#858d9a;--accent:#c25e14;--accent-ink:#a44d0e;--accent-soft:#c25e141a;--code-bg:#f0f2f6}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1219;--surface:#161b25;--raise:#1c2230;--line:#232a37;--text:#e6e9ef;--muted:#8e97a7;--subtle:#5f6878;--accent:#f0883e;--accent-ink:#ffb27a;--accent-soft:#f0883e1f;--code-bg:#121620}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding-inline:24px}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}::selection{background:var(--accent-soft);color:var(--accent-ink)}.shell{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;max-width:1120px;margin:0 auto;display:grid}.side{top:env(safe-area-inset-top,0px);flex-direction:column;height:100vh;max-height:100dvh;padding-block:88px 56px;display:flex;position:sticky}.mark{color:var(--muted);font:500 14px/1 var(--mono);align-items:center;gap:10px;display:inline-flex}.mark svg{width:24px;height:24px;color:var(--accent)}.side h1{letter-spacing:-.035em;text-wrap:balance;margin:28px 0 0;font-size:clamp(36px,4.4vw,48px);font-weight:700;line-height:1.05}.role{color:var(--text);letter-spacing:-.01em;margin:12px 0 0;font-size:18px;font-weight:500}.bio{max-width:34ch;color:var(--muted);margin:16px 0 0}.nav{gap:4px;margin:56px 0 0;padding:0;list-style:none;display:grid}.nav a{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);align-items:center;gap:14px;padding-block:8px;transition:color .2s;display:inline-flex}.nav .slash{width:28px;height:12px;color:var(--line);transition:width .3s,color .2s}.nav a:hover,.nav a[aria-current=true]{color:var(--text)}.nav a[aria-current=true] .slash{width:56px;color:var(--accent)}.nav a:hover .slash{color:var(--muted)}.side-foot{flex-wrap:wrap;align-items:center;gap:20px;margin-top:auto;display:flex}.social{gap:16px;display:flex}.social a{color:var(--muted);transition:color .2s;display:inline-flex}.social a:hover{color:var(--text)}.social svg{width:22px;height:22px}.theme-btn{border:1px solid var(--line);color:var(--muted);font:500 12px/1 var(--mono);cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:6px 12px}.theme-btn:hover{color:var(--text);border-color:var(--subtle)}main{min-width:0;padding-block:88px 96px}section{scroll-margin-top:48px}section+section{margin-top:112px}.sec-title{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text);align-items:center;gap:12px;margin:0 0 28px;display:flex}.sec-title .count{color:var(--subtle)}.about p{color:var(--muted);max-width:62ch;margin:0 0 16px}.about p strong{color:var(--text);font-weight:500}.stack{flex-wrap:wrap;gap:8px;margin-top:24px;padding:0;list-style:none;display:flex}.tag{background:var(--accent-soft);color:var(--accent-ink);font:500 12px/1.4 var(--mono);border-radius:999px;align-items:center;padding:4px 10px;display:inline-flex}.rows{gap:4px;margin:0;padding:0;list-style:none;display:grid}.row{border-radius:12px;grid-template-columns:112px minmax(0,1fr);gap:20px;margin-inline:-20px;padding:18px 20px;transition:background .2s,opacity .2s;display:grid}.rows:hover .row{opacity:.55}.rows:hover .row:hover{opacity:1;background:var(--surface)}.row:hover .row-title{color:var(--accent-ink)}.row-meta{font:400 13px/1.9 var(--mono);color:var(--subtle);font-variant-numeric:tabular-nums}.row-title{letter-spacing:-.01em;color:var(--text);align-items:baseline;gap:8px;margin:0;font-size:17px;font-weight:600;line-height:1.4;transition:color .2s;display:flex}.row-title .arrow{color:var(--subtle);flex:none;font-size:14px;transition:transform .2s,color .2s}.row:hover .arrow{color:var(--accent-ink);transform:translate(2px,-2px)}.row-text{color:var(--muted);max-width:62ch;margin:6px 0 0;font-size:15px}.row-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.row-sub{font:400 13px/1 var(--mono);color:var(--subtle);margin-top:10px}.filters{flex-wrap:wrap;gap:8px;margin:0 0 24px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);font:500 13px/1 var(--sans);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;transition:all .2s;display:inline-flex}.chip span{font:400 12px/1 var(--mono);color:var(--subtle)}.chip:hover{color:var(--text);border-color:var(--subtle)}.chip[aria-pressed=true]{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.chip[aria-pressed=true] span{color:var(--accent-ink)}.year{font:500 13px/1 var(--mono);color:var(--subtle);align-items:center;gap:12px;margin:36px 0 8px;display:flex}.year:after{content:"";background:var(--line);flex:1;height:1px}.year:first-of-type{margin-top:0}.page-foot{color:var(--subtle);max-width:52ch;margin-top:112px;font-size:14px}.page-foot a{color:var(--muted);border-bottom:1px solid var(--line)}.page-foot a:hover{color:var(--text)}.post{max-width:720px;margin:0 auto;padding-block:56px 96px}.back{color:var(--muted);font:500 13px/1 var(--mono);align-items:center;gap:10px;display:inline-flex}.back:hover{color:var(--text)}.back svg{width:22px;height:22px;color:var(--accent)}.post-head{border-bottom:1px solid var(--line);margin:56px 0 40px;padding-bottom:32px}.post-meta{font:400 13px/1 var(--mono);color:var(--subtle);flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.post h1{letter-spacing:-.03em;text-wrap:balance;margin:16px 0 0;font-size:clamp(30px,4.6vw,44px);font-weight:700;line-height:1.12}.post .lead{color:var(--muted);max-width:60ch;margin:16px 0 0;font-size:19px}.prose{font-size:17px;line-height:1.75}.prose p{max-width:66ch;margin:0 0 22px}.prose p,.prose li,.prose figcaption,.prose blockquote,.post-head h1,.comment p{overflow-wrap:anywhere}.codebox{max-width:100%}.prose a{color:var(--accent-ink);border-bottom:1px solid var(--accent-soft)}.prose a:hover{border-color:var(--accent)}.prose :not(pre)>code{font:400 .88em var(--mono);background:var(--raise);border-radius:6px;padding:2px 6px}.codebox{border:1px solid var(--line);background:var(--code-bg);border-radius:12px;margin:8px 0 28px;overflow:hidden}.codebar{border-bottom:1px solid var(--line);font:400 12px/1 var(--mono);color:var(--subtle);justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.copy{color:var(--muted);font:500 12px/1 var(--mono);cursor:pointer;background:0 0;border:0;padding:4px 0}.copy:hover{color:var(--text)}.codebox pre{font:400 14px/1.7 var(--mono);margin:0;padding:16px 18px;overflow-x:auto}.note{background:var(--surface);color:var(--muted);border-radius:12px;margin-top:40px;padding:16px 18px;font-size:15px}.end{color:var(--line);justify-content:center;margin-top:56px;display:flex}.end svg{width:40px;height:16px}.next{gap:4px;margin-top:56px;display:grid}html[data-bankai]:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#09090a;--surface:#141113;--raise:#1b1517;--line:#2a1d20;--text:#f3eeee;--muted:#a69799;--subtle:#6e5f62;--accent:#e0262f;--accent-ink:#ff5d63;--accent-soft:#e0262f24;--code-bg:#0f0c0d}html.theming body,html.theming .row,html.theming .tag,html.theming .chip{transition:background-color .5s,color .5s,border-color .5s}.bk-label{background:var(--accent-soft);color:var(--accent-ink);font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;margin-left:4px;padding:3px 8px;display:none}html[data-bankai] .bk-label{display:inline-block}html[data-bankai] .mark svg{filter:drop-shadow(0 0 6px #e0262f8c)}.bk-fx{z-index:100;pointer-events:none;visibility:hidden;position:fixed;inset:0}.bk-fx.on{visibility:visible;pointer-events:auto;cursor:pointer}.bk-fx .veil{opacity:0;background:radial-gradient(circle at var(--x,15%) var(--y,10%), #e0262f47, #050405f0 58%);transition:opacity 2.8s ease-in;position:absolute;inset:0}.bk-fx.on .veil{opacity:.9}.bk-fx.release .veil{opacity:0;transition:opacity 2.2s}.bk-fx .ring{left:var(--x,15%);top:var(--y,10%);opacity:0;border:2px solid #ff5d63e6;border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;position:absolute;transform:scale(.2);box-shadow:0 0 24px #e0262fcc,inset 0 0 18px #e0262f80}.bk-fx .ring.go{animation:.95s cubic-bezier(.2,.7,.3,1) forwards bk-ring}@keyframes bk-ring{0%{opacity:0;transform:scale(.2)}12%{opacity:1}to{opacity:0;transform:scale(var(--s,18))}}.bk-fx .flash{opacity:0;background:#fff6f4;position:absolute;inset:0}.bk-fx .flash.go{animation:.5s ease-out forwards bk-flash}@keyframes bk-flash{0%{opacity:.85}to{opacity:0}}.bk-fx svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bk-fx .arc{fill:none;stroke:#fff4f2;stroke-width:14px;stroke-linecap:round;stroke-dasharray:1600;stroke-dashoffset:1600px;opacity:0;filter:drop-shadow(0 0 10px #e0262f)drop-shadow(0 0 28px #e0262fcc)}.bk-fx .arc.glow{stroke:#e0262f;stroke-width:44px;filter:blur(9px)}.bk-fx .arc.go{animation:1.5s cubic-bezier(.75,0,.2,1) forwards bk-arc}.bk-fx .arc.glow.go{animation-name:bk-arc-glow}@keyframes bk-arc{0%{stroke-dashoffset:1600px;opacity:1}22%{stroke-dashoffset:0;opacity:1}60%{opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes bk-arc-glow{0%{stroke-dashoffset:1600px;opacity:.45}22%{stroke-dashoffset:0;opacity:.45}to{stroke-dashoffset:0;opacity:0}}.bk-fx canvas{width:100%;height:100%;position:absolute;inset:0}.bk-fx .vig{opacity:var(--e,0);position:absolute;inset:0;box-shadow:inset 0 0 160px 40px #e0262f8c,inset 0 -120px 220px -40px #e0262f73}.bk-fx .skip{right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#f3eeee73;position:absolute}#page.dim{filter:saturate(.55)brightness(.75);transition:filter 2.8s ease-in}#page.shake{animation:bk-shake var(--d,.35s) linear 1}@keyframes bk-shake{0%,to{transform:none}20%{transform:translate(calc(var(--a,2px) * -1), calc(var(--a,2px) * .5))}40%{transform:translate(var(--a,2px), calc(var(--a,2px) * -.5))}60%{transform:translate(calc(var(--a,2px) * -.5), calc(var(--a,2px) * -.5))}80%{transform:translate(calc(var(--a,2px) * .5), calc(var(--a,2px) * .5))}}@media (max-width:960px){.shell{grid-template-columns:1fr;gap:0}.side{height:auto;max-height:none;padding-block:56px 0;position:static}.nav{display:none}.side-foot{margin-top:32px}main{padding-block:72px}section+section{margin-top:80px}}@media (max-width:560px){body{padding-inline:16px}.row{grid-template-columns:1fr;gap:4px;margin-inline:-16px;padding:16px}.rows:hover .row{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.lang-btn{border:1px solid var(--line);color:var(--muted);font:500 12px/1 var(--mono);border-radius:999px;padding:6px 10px}.lang-btn:hover{color:var(--text);border-color:var(--subtle)}.search-btn{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--subtle);font:400 14px/1 var(--sans);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:10px;margin-top:40px;padding:10px 12px;display:flex}.search-btn:hover{border-color:var(--subtle);color:var(--muted)}.search-btn kbd{font:500 11px/1 var(--mono);border:1px solid var(--line);color:var(--subtle);border-radius:6px;margin-left:auto;padding:3px 6px}.search-btn svg{width:16px;height:16px}.side .search-btn{max-width:320px}.nav-extra{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:6px 16px;margin-top:18px;display:flex}.nav-extra a{color:var(--subtle);padding-block:6px}.nav-extra a:hover{color:var(--text)}.shiki,.shiki span{color:var(--shiki-light)}:root[data-theme=dark] .shiki,:root[data-theme=dark] .shiki span,html[data-bankai] .shiki,html[data-bankai] .shiki span{color:var(--shiki-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .shiki,:root:not([data-theme=light]) .shiki span{color:var(--shiki-dark)}}.codebox pre.shiki{background:0 0!important}.codebox pre code{font:inherit;background:0 0;padding:0}.post-wrap{grid-template-columns:minmax(0,720px) minmax(0,1fr);gap:64px;max-width:1120px;margin:0 auto;padding-block:48px 96px;display:grid}.post-wrap .post{min-width:0;max-width:none;margin:0;padding:0}.post-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.post-meta a.tag:hover{background:var(--accent);color:var(--bg)}.cover{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin:0 0 40px;overflow:hidden}.cover img{width:100%;height:auto;display:block}.prose h2,.prose h3,.prose h4{letter-spacing:-.02em;text-wrap:balance;scroll-margin-top:32px;line-height:1.3}.prose h2{margin:48px 0 16px;font-size:26px}.prose h3{margin:36px 0 12px;font-size:21px}.prose h4{margin:28px 0 10px;font-size:18px}.prose h2 a.anchor,.prose h3 a.anchor{color:var(--subtle);opacity:0;margin-left:8px;font-weight:400}.prose h2:hover a.anchor,.prose h3:hover a.anchor{opacity:1}.prose ul,.prose ol{max-width:66ch;margin:0 0 22px;padding-left:24px}.prose li{margin:6px 0}.prose li>p{margin:0}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:0 0 22px;padding:4px 0 4px 20px}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.prose figure{margin:8px 0 32px}.prose figure img{border:1px solid var(--line);background:var(--surface);border-radius:12px;max-width:100%;height:auto;display:block}.prose figcaption{color:var(--subtle);text-align:center;margin-top:10px;font-size:14px}.prose strong{color:var(--text);font-weight:600}.notice{background:var(--accent-soft);color:var(--accent-ink);border-radius:12px;margin:0 0 32px;padding:14px 16px;font-size:15px}.toc{align-self:start;padding-top:220px;position:sticky;top:48px}.toc h2{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);margin:0 0 14px}.toc ol{border-left:1px solid var(--line);gap:8px;margin:0;padding:0;list-style:none;display:grid}.toc li a{color:var(--subtle);border-left:1px solid #0000;margin-left:-1px;padding-left:14px;font-size:14px;line-height:1.45;display:block}.toc li.l3 a{padding-left:26px}.toc li a:hover{color:var(--text)}.toc li a.on{color:var(--accent-ink);border-left-color:var(--accent)}.post-tags{flex-wrap:wrap;gap:8px;margin-top:48px;display:flex}.post-tags a{font:400 13px/1 var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px}.post-tags a:hover{color:var(--text);border-color:var(--subtle)}.comments{border-top:1px solid var(--line);margin-top:72px;padding-top:40px}.comment{border-bottom:1px solid var(--line);padding:18px 0}.comment.reply{margin-left:28px}.comment-head{flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;display:flex}.comment-head b{font-weight:600}.comment-head time{font:400 12px/1 var(--mono);color:var(--subtle)}.comment p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.empty{color:var(--subtle);margin:0 0 8px}.form{gap:14px;max-width:640px;margin-top:32px;display:grid}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{align-content:start;gap:6px;display:grid}.field label{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--subtle)}.field small{color:var(--subtle);font-size:12px}.input,.textarea{background:var(--surface);width:100%;color:var(--text);border:1px solid var(--line);font:400 15px/1.5 var(--sans);border-radius:10px;padding:11px 13px}.textarea{resize:vertical;min-height:140px}.input:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.btn{background:var(--accent);color:#fff;font:600 14px/1 var(--sans);cursor:pointer;border:0;border-radius:10px;justify-self:start;align-items:center;gap:8px;padding:11px 18px;display:inline-flex}:root[data-theme=dark] .btn,html[data-bankai] .btn{color:#0f1219}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn{color:#0f1219}}.btn:disabled{opacity:.6;cursor:default}.form-msg{margin:0;font-size:14px}.form-msg.ok{color:var(--accent-ink)}.form-msg.err{color:#e5484d}.page-head{margin-bottom:40px}.page-head .eyebrow{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--subtle)}.page-head h1{letter-spacing:-.03em;margin:14px 0 0;font-size:clamp(30px,4.4vw,42px);line-height:1.1}.page-head p{color:var(--muted);max-width:60ch;margin:14px 0 0}.single{max-width:820px;margin:0 auto;padding-block:56px 96px}.chip-link{display:inline-flex}.cmdk-backdrop{z-index:90;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#05070a8c;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.cmdk{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:min(640px,100%);overflow:hidden;box-shadow:0 24px 80px #00000073}.cmdk-input{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.cmdk-input svg{width:18px;height:18px;color:var(--subtle);flex:none}.cmdk-input input{color:var(--text);font:400 16px/1.4 var(--sans);background:0 0;border:0;outline:none;flex:1}.cmdk-input kbd{font:500 11px/1 var(--mono);border:1px solid var(--line);color:var(--subtle);border-radius:6px;padding:3px 6px}.cmdk-list{max-height:min(60vh,480px);padding:8px;overflow-y:auto}.cmdk-item{border-radius:10px;padding:12px;display:block}.cmdk-item[aria-selected=true],.cmdk-item:hover{background:var(--raise)}.cmdk-item b{color:var(--text);font-weight:600;display:block}.cmdk-item span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.cmdk-item em{font-style:normal;font:400 12px/1 var(--mono);color:var(--subtle)}.cmdk-empty{text-align:center;color:var(--subtle);padding:28px 16px}.nf{grid-template-rows:auto 1fr;max-width:1120px;min-height:100dvh;margin:0 auto;padding-block:40px;display:grid}.nf-mark{justify-self:start}.nf-l{display:contents}html:not([lang=en]) .nf-l[data-l=en],html[lang=en] .nf-l[data-l=tr]{display:none}.nf-stage{text-align:center;place-self:center;max-width:560px;padding-block:32px 64px}.nf-code{font:600 clamp(96px, 22vw, 184px)/1 var(--sans);letter-spacing:-.06em;color:var(--text);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:clamp(4px,1.5vw,14px);display:flex}.nf-rift{width:.66em;height:.9em;overflow:visible}.nf-rift-edge{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linejoin:miter;opacity:.5;filter:blur(3px);animation:5s ease-in-out infinite nf-breathe}.nf-rift-void{stroke:color-mix(in srgb, var(--accent) 55%, transparent);stroke-width:.8px;stroke-linejoin:miter;transform-origin:60px 100px;animation:1.1s cubic-bezier(.2,.7,.2,1) both nf-open}.nf h1{letter-spacing:-.02em;text-wrap:balance;margin:36px 0 10px;font-size:clamp(22px,4.4vw,30px);line-height:1.25}.nf p{color:var(--muted);margin:0 0 40px}.nf-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:inline-flex;position:relative}.nf-link{color:var(--muted);font:500 14px/1 var(--mono);border-bottom:1px solid var(--line);padding-bottom:4px;transition:color .2s,border-color .2s}.nf-link:hover{color:var(--accent-ink);border-color:var(--accent)}.nf-fly{pointer-events:none;width:38px;height:29px;animation:7s ease-in-out infinite nf-drift;position:absolute;top:4px;left:-58px}.nf-wing{transform-origin:32px 26px;animation:.9s ease-in-out infinite alternate nf-flap}.nf-wing path:first-child{fill:#07080c;stroke:var(--accent);stroke-width:1.2px}.nf-vein,.nf-antenna{fill:none;stroke:var(--accent);stroke-width:.9px;opacity:.55;stroke-linecap:round}.nf-body{fill:#07080c;stroke:var(--accent);stroke-width:.8px}@keyframes nf-open{0%{opacity:0;transform:scaleX(.05)scaleY(.6)}to{opacity:1;transform:none}}@keyframes nf-breathe{50%{opacity:.2}}@keyframes nf-flap{to{transform:scaleX(.3)}}@keyframes nf-drift{0%,to{transform:translate(0)rotate(-8deg)}30%{transform:translate(14px,-10px)rotate(4deg)}60%{transform:translate(4px,6px)rotate(-2deg)}}@media (max-width:520px){.nf-fly{top:-36px;left:auto;right:0}}@media (prefers-reduced-motion:reduce){.nf-rift-edge,.nf-rift-void,.nf-fly,.nf-wing{animation:none}}@media (max-width:1080px){.post-wrap{grid-template-columns:minmax(0,1fr)}.toc{display:none}}@media (max-width:560px){.form-row{grid-template-columns:1fr}.comment.reply{margin-left:14px}}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:24px;max-width:1120px;margin:0 auto;padding-block:28px;display:flex}.topnav{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;gap:22px;display:flex}.topnav a{color:var(--subtle);padding-block:6px}.topnav a:hover{color:var(--text)}.topbar-tools{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;place-items:center;display:inline-grid}.icon-btn:hover{color:var(--text);border-color:var(--subtle)}.icon-btn svg{width:16px;height:16px}.topbar .theme-btn{margin-left:0}.site-foot{border-top:1px solid var(--line);max-width:1120px;color:var(--subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding-block:32px 48px;font-size:14px;display:flex}.site-foot p{margin:0}.side-foot .lang-btn{margin-left:auto}.side-foot .theme-btn{margin-left:0}@media (max-width:720px){.topnav{order:3;gap:16px;width:100%}.topbar{gap:14px;padding-block:20px}}
