@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-cyrillic-ext-standard-normal-BFx_pHPN.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-cyrillic-standard-normal-Dgr-UBxV.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-latin-ext-standard-normal-DeTdBbNh.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-latin-standard-normal-1TqSgyfh.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-BDQ-w_bc.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-700-normal-CtgKGIh5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-cyrillic-700-normal-Bp80XfeI.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-700-normal-O_YjL27c.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-vietnamese-700-normal-apsD3J7v.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-700-normal-Bs14ezHR.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-ext-700-normal-Dhimjc7-.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-700-normal-Cwsjk1Jb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0a0b0c;--bg-2:#0f1112;--panel:#090a0bdb;--line:#1d2220;--line-2:#2b322e;--fg:#e1e6da;--fg-2:#b6bdb0;--dim:#7b8478;--mute:#4a5148;--acc:#c8ff2e;--acc-2:#9fcf1c;--acc-ghost:#c8ff2e14;--red:#ff4257;--red-ghost:#ff425717;--f-mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--f-disp:"Martian Mono Variable", "IBM Plex Mono", ui-monospace, monospace;--bar:40px;--sb:26px;--gx:clamp(16px, 4.2vw, 72px);--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}body{background:var(--bg);color:var(--fg);font:400 15px/1.6 var(--f-mono);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0;overflow-x:clip}input,textarea,.shell-out{-webkit-user-select:text;user-select:text}a,svg,img{-webkit-user-drag:none}body.is-booting{overflow:hidden}body.no-gl{background-image:radial-gradient(var(--line-2) 1px, transparent 1px);background-size:18px 18px}::selection{background:var(--acc);color:var(--bg)}.shell-out ::selection{background:var(--acc);color:var(--bg)}a{color:inherit;text-decoration:none}b{font-weight:700}kbd{border:1px solid var(--line-2);min-width:1.7em;height:1.7em;font:500 .82em/1 var(--f-mono);color:var(--fg);background:var(--bg-2);border-bottom-width:2px;place-items:center;padding:0 .4em;display:inline-grid}:focus-visible{outline:1px solid var(--acc);outline-offset:3px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:200;background:var(--acc);color:var(--bg);padding:8px 12px;position:fixed;top:-60px;left:8px}.skip:focus{top:8px}.dim{color:var(--dim)}.acc{color:var(--acc)}.red{color:var(--red)}html{scrollbar-width:thin;scrollbar-color:var(--line-2) var(--bg)}#gl{z-index:0;width:100vw;height:100vh;display:block;position:fixed;inset:0}.no-gl #gl{display:none}.crt{z-index:90;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#00000038 0 1px,#0000 1px 3px),radial-gradient(120% 90%,#0000 55%,#0000008c 100%);position:fixed;inset:0}.is-ready main,.is-ready .topbar,.is-ready .statusbar{transition:opacity .9s var(--ease)}.is-booting main,.is-booting .topbar,.is-booting .statusbar{opacity:0;pointer-events:none}.banner.is-wait{visibility:hidden}body #boot{z-index:120;font:400 13px/1.6 var(--f-mono);color:var(--fg-2);cursor:default;opacity:0;background:0 0;position:fixed;inset:0}#boot.is-live{opacity:1;transition:opacity .4s}.bt-corners i{border:0 solid var(--acc);width:22px;height:22px;position:absolute}.bt-corners i:first-child{border-width:1px 0 0 1px;top:20px;left:20px}.bt-corners i:nth-child(2){border-width:1px 1px 0 0;top:20px;right:20px}.bt-corners i:nth-child(3){border-width:0 0 1px 1px;bottom:20px;left:20px}.bt-corners i:nth-child(4){border-width:0 1px 1px 0;bottom:20px;right:20px}.bt-top{letter-spacing:.06em;justify-content:space-between;font-size:12px;display:flex;position:absolute;top:30px;left:54px;right:54px}.bt-center{width:min(760px,84vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-56%)}.bt-banner{will-change:transform;position:relative}.bt-banner .banner-svg{filter:drop-shadow(0 0 18px #c8ff2e29)}.bt-banner .b-blocks rect{opacity:0;fill:var(--acc);transition:fill .8s var(--ease)}.bt-banner .b-blocks rect.on{opacity:1;fill:var(--fg)}.bt-head{background:var(--acc);width:2px;transition:opacity .3s;position:absolute;top:-14%;bottom:-14%;left:0;transform:translate(-1px);box-shadow:0 0 14px 2px #c8ff2e8c,0 0 60px 8px #c8ff2e1f}.is-done .bt-head{opacity:0}.is-done .bt-banner .b-blocks rect{animation:bt-flash .5s var(--ease)}.is-done .bt-banner .banner-svg{filter:drop-shadow(0 0 26px #c8ff2e59);transition:filter .4s}.bt-meta{margin-top:38px}.bt-row{grid-template-columns:2ch 1fr auto;align-items:baseline;gap:12px;margin-bottom:10px;display:grid}.bt-task{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bt-pct{color:var(--acc);font-variant-numeric:tabular-nums;font-weight:500}.bt-bar{border:1px solid var(--line-2);height:12px;padding:2px}.bt-bar i{background:repeating-linear-gradient(90deg, var(--acc) 0 7px, transparent 7px 10px);clip-path:inset(0 100% 0 0);height:100%;display:block}.boot-log{color:var(--dim);white-space:pre;font-size:12px;line-height:1.7;position:absolute;bottom:42px;left:54px}.boot-log>div{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.boot-log>div:last-child{color:var(--fg-2)}.boot-skip{color:var(--mute);letter-spacing:.06em;font-size:11.5px;animation:1.4s step-end infinite blink;position:absolute;bottom:42px;right:54px}@keyframes bt-flash{0%{fill:var(--fg)}35%{fill:var(--acc)}to{fill:var(--fg)}}@media (width<=700px){.bt-top{left:36px;right:36px}.boot-log{white-space:pre-wrap;font-size:10.5px;bottom:64px;left:36px;right:36px}.boot-skip{bottom:36px;left:36px;right:auto}}.topbar{z-index:80;height:var(--bar);background:var(--bg);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:stretch;font-size:12.5px;display:grid;position:fixed;inset:0 0 auto}.tb-id{padding:0 18px 0 var(--gx);border-right:1px solid var(--line);letter-spacing:.02em;align-items:center;gap:10px;font-weight:500;display:flex}.tb-mark{flex:none;width:22px;height:15px;overflow:visible}.m-chev{fill:none;stroke:var(--acc);stroke-width:2.6px;stroke-linecap:square;transition:transform .35s var(--ease);filter:drop-shadow(0 0 6px #c8ff2e73)}.m-cur{fill:var(--fg);animation:1.1s step-end infinite blink}.tb-id:hover .m-chev{transform:translate(2.5px)}.tb-path{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.tabs{scrollbar-width:none;align-items:stretch;display:flex;overflow-x:auto}.tabs a{color:var(--dim);border-right:1px solid var(--line);white-space:nowrap;align-items:center;gap:7px;padding:0 14px;transition:color .2s,background .2s;display:flex}.tabs a i{color:var(--mute);font-style:normal}.tabs a:hover{color:var(--fg);background:var(--bg-2)}.tabs a.is-active{color:var(--bg);background:var(--acc)}.tabs a.is-active i{color:var(--bg);opacity:.6}.tb-right{border-left:1px solid var(--line);align-items:stretch;display:flex}.lang{display:flex}.lang button,.tb-shell{all:unset;cursor:pointer;color:var(--dim);font:500 12px/1 var(--f-mono);letter-spacing:.08em;align-items:center;gap:8px;padding:0 14px;transition:color .2s,background .2s;display:flex}.lang button[aria-pressed=true]{color:var(--fg);box-shadow:inset 0 -2px 0 var(--acc)}.lang button:hover,.tb-shell:hover{color:var(--fg);background:var(--bg-2)}.tb-shell{border-left:1px solid var(--line);padding-right:var(--gx)}.tb-shell span{color:var(--acc);font-weight:700}.tb-shell kbd{font-size:11px}.statusbar{z-index:80;height:var(--sb);background:var(--bg);border-top:1px solid var(--line);font:500 11.5px/var(--sb) var(--f-mono);color:var(--dim);align-items:stretch;display:flex;position:fixed;inset:auto 0 0}.statusbar>span{white-space:nowrap;padding:0 12px}.sb-mode{background:var(--acc);color:var(--bg);letter-spacing:.08em;font-weight:700;padding-left:var(--gx)!important}.shell-open .sb-mode{background:var(--fg)}.sb-file{color:var(--fg-2)}.sb-sp{flex:1}.sb-item{border-left:1px solid var(--line)}.sb-clock{border-left:1px solid var(--line);color:var(--fg);padding-right:var(--gx)!important}main{z-index:2;position:relative}.sec{min-height:100svh;padding:calc(var(--bar) + 12vh) var(--gx) 14vh;position:relative}.sec>*,.man-grid,.sec-wrap{max-width:min(780px,100%)}@media (width>=900px){.sec>:not(.reel):not(.proj-head){max-width:min(760px,54vw)}.sec[data-side=left]>*{margin-left:auto}}.prompt{color:var(--fg);margin-bottom:28px;font-size:14px}.ps1{color:var(--acc);font-weight:500}.ps1 b{color:var(--dim);font-weight:400}.ps1 em{color:var(--fg-2);font-style:normal}.cmd:after{content:"";vertical-align:-.18em;background:var(--acc);width:.6em;height:1.1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}.cmd.done:after{opacity:0;animation:none}#whoami .cmd.done:after{opacity:1;animation:1s step-end infinite blink}.h-xl,.h-xxl{font-family:var(--f-disp);letter-spacing:-.055em;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;word-break:keep-all;margin:0 0 32px;font-weight:800;font-stretch:112.5%;line-height:.9}.h-xl{font-size:clamp(34px,5.3vw,100px)}.h-xxl{font-size:clamp(50px,8.6vw,176px)}.lead{color:var(--fg-2);max-width:54ch;margin:0 0 28px;font-size:clamp(16px,1.25vw,19px)}.lead b{color:var(--acc);font-weight:500}.out{font:inherit;margin:-12px 0 24px}.win{border:1px solid var(--line-2);background:var(--panel);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);margin:0}.win-bar{border-bottom:1px solid var(--line-2);letter-spacing:.06em;color:var(--fg-2);justify-content:space-between;gap:12px;padding:7px 12px;font-size:11.5px;display:flex}.btn{border:1px solid var(--line-2);background:var(--panel);font:500 13px/1 var(--f-mono);letter-spacing:.06em;text-transform:lowercase;isolation:isolate;transition:color .35s var(--ease), border-color .35s;align-items:center;gap:12px;padding:13px 20px 13px 14px;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--acc);transform-origin:100%;transition:transform .45s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.btn:hover{color:var(--bg);border-color:var(--acc)}.btn:hover:before{transform-origin:0;transform:scaleX(1)}.btn:hover kbd{background:var(--bg);color:var(--acc);border-color:var(--bg)}.btn-acc{border-color:var(--acc);color:var(--acc)}.hero{padding-top:calc(var(--bar) + 6vh);padding-bottom:calc(var(--sb) + 10vh);flex-direction:column;justify-content:center;display:flex}.banner{width:min(100%,44vw,760px);margin:6px 0 34px}.banner-svg{--glow:1;width:100%;height:auto;filter:drop-shadow(0 0 calc(var(--glow) * 22px) #c8ff2e2e);display:block;overflow:visible}.b-blocks rect{fill:var(--fg)}.b-lines{fill:none;stroke:var(--acc);stroke-width:1.5px;stroke-linecap:square;opacity:.85}.role{margin:0 0 14px;font-size:clamp(18px,1.7vw,26px)}.role b{color:var(--acc);font-weight:500}.hero-out{color:var(--fg-2);margin:0 0 36px;padding:0;font-size:15px;list-style:none}.hero-out li{padding:2px 0}.cta{flex-wrap:wrap;gap:12px;margin-bottom:26px;display:flex}.hint{color:var(--dim);margin:0;font-size:12.5px}.hint kbd{color:var(--acc)}.more{all:unset;cursor:pointer;left:var(--gx);bottom:calc(var(--sb) + 24px);font:500 13px/1 var(--f-mono);align-items:center;gap:0;display:flex;position:absolute}.more-tag{background:var(--fg);color:var(--bg);font-variant-numeric:tabular-nums;padding:4px 6px;transition:background .25s}.more-cur{background:var(--acc);width:.62em;height:1.35em;margin-left:4px;animation:1s step-end infinite blink}.more-keys{color:var(--dim);opacity:0;transition:opacity .3s, transform .35s var(--ease);margin-left:14px;font-size:11.5px;transform:translate(-6px)}.more:hover .more-tag,.more:focus-visible .more-tag{background:var(--acc)}.more:hover .more-keys,.more:focus-visible .more-keys{opacity:1;transform:none}.man-body{gap:26px;display:grid}.reveal-words{font-family:var(--f-disp);letter-spacing:-.02em;margin:0;font-size:clamp(19px,1.85vw,30px);font-weight:340;line-height:1.38}.reveal-words .w{transition:color .3s}.diff{margin-top:18px}.diff-body{padding:12px 0;font-size:14px}.diff-body>div{padding:3px 14px}.d-meta{color:var(--dim)}.d-del{color:var(--red);background:var(--red-ghost)}.d-add{color:var(--acc);background:var(--acc-ghost)}.projects{padding-bottom:0;padding-left:0;padding-right:0}.proj-head{padding:0 var(--gx) 8vh;max-width:min(860px,100%)}.ls{margin:-8px 0 48px;font-size:14px}.ls-row{grid-template-columns:11ch 6ch 6ch 1fr;gap:14px;margin:0 -8px;padding:3px 8px;display:grid}.ls-row>span:only-child{grid-column:1/-1}a.ls-row:hover{background:var(--acc-ghost)}a.ls-row:hover .nm{color:var(--acc)}.perm,.own{color:var(--dim)}.nm{color:var(--fg);font-weight:500}.tag{font-size:12px}.tag.ok{color:var(--acc)}.tag.dev{color:var(--fg-2)}.reel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);height:100svh;position:relative;overflow:hidden;max-width:none!important}.track{will-change:transform;width:max-content;height:100%;display:flex}.panel{width:100vw;height:100%;padding:calc(var(--bar) + 5vh) var(--gx) calc(var(--sb) + 9vh);border-right:1px solid var(--line);flex-direction:column;justify-content:center;display:flex;position:relative}.panel>*{max-width:min(660px,50vw)}.p-top{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:26px;font-size:12px;display:flex}.p-idx{color:var(--acc);font-weight:700}.p-path{color:var(--dim)}.st{border:1px solid var(--line-2);letter-spacing:.05em;align-items:center;gap:7px;padding:3px 8px;display:inline-flex}.st i{background:currentColor;width:7px;height:7px}.st-live{color:var(--acc)}.st-live i{box-shadow:0 0 10px var(--acc);animation:1.6s ease-in-out infinite pulse}.st-dev{color:var(--fg-2)}.st-dev i{background:0 0;border:1px solid;animation:2.4s linear infinite spin}.st-focus{background:var(--acc);color:var(--bg);border-color:var(--acc);font-weight:700}.p-name{font-family:var(--f-disp);letter-spacing:-.06em;white-space:nowrap;margin:0 0 30px;font-size:clamp(50px,8.4vw,156px);font-weight:800;font-stretch:112.5%;line-height:.9;max-width:none!important}.p-desc{color:var(--fg-2);max-width:52ch;margin:0 0 24px;font-size:clamp(15px,1.15vw,18px)}.flags{margin:0 0 22px;padding:0;font-size:14px;list-style:none}.flags li{border-top:1px dashed var(--line-2);grid-template-columns:12ch 1fr;gap:12px;padding:5px 0;display:grid}.flags li:last-child{border-bottom:1px dashed var(--line-2)}.flags code{color:var(--acc);font:inherit}.p-note{color:var(--dim);margin:0 0 22px;font-size:13px}.p-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips span{border:1px solid var(--line-2);color:var(--fg-2);background:var(--panel);padding:3px 8px;font-size:11.5px}.p-link{color:var(--acc);background:linear-gradient(var(--acc), var(--acc)) 0 100% / 0 1px no-repeat;transition:background-size .45s var(--ease);padding-bottom:2px;font-size:13px;font-weight:500}.p-link:hover{background-size:100% 1px}.p-link b{transition:transform .3s var(--ease);display:inline-block}.p-link:hover b{transform:translate(3px,-3px)}.reel-progress{left:var(--gx);right:var(--gx);bottom:calc(var(--sb) + 4vh);background:var(--line-2);height:1px;position:absolute}.reel-progress i{background:var(--acc);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}@media (width<=899px){.reel{height:auto;overflow:visible}.track{flex-direction:column;width:auto}.panel{width:auto;height:auto;padding:12vh var(--gx);border-right:0;border-bottom:1px solid var(--line)}.panel>*{max-width:100%}.p-name{white-space:normal}.reel-progress{display:none}}.building{gap:4px;max-width:620px;margin-top:20px;display:grid}.b-row{border:1px solid var(--line-2);background:var(--panel);grid-template-columns:2ch 15ch 1fr auto;align-items:center;gap:14px;padding:12px 14px;transition:border-color .3s;display:grid}.b-row:hover{border-color:var(--acc)}.spin{color:var(--acc)}.b-name{font-weight:500}.bar{border:1px solid var(--line-2);height:8px;position:relative;overflow:hidden}.bar:after{content:"";background:repeating-linear-gradient(90deg, var(--acc) 0 4px, transparent 4px 6px);width:38%;animation:sweep 2.2s var(--ease) infinite;position:absolute;top:1px;bottom:1px}.b-row:nth-child(2) .bar:after{animation-delay:-1.1s}.b-st{font-size:12px}.nmap{font-size:13.5px}.nm-body{padding:12px 14px}.nm-h,.nm-r{grid-template-columns:11ch 8ch 1fr;gap:12px;padding:3px 0;display:grid}.nm-h{color:var(--dim);border-bottom:1px solid var(--line-2);margin-bottom:6px}.nm-r .ok{color:var(--acc)}.nm-closed{color:var(--dim)}.nm-closed s{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-decoration-thickness:2px}.nm-done{border-top:1px solid var(--line-2);margin-top:10px;padding-top:8px;font-size:12.5px}.pkgs{background:var(--line-2);border:1px solid var(--line-2);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;margin-bottom:22px;display:grid}.pkg-g{background:var(--panel);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:16px 16px 18px}.pkg-g h3{font:500 11px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 12px}.pkg-g h3:before{content:":: ";color:var(--acc)}.pkg-g ul{margin:0;padding:0;list-style:none}.pkg-g li{transition:color .2s, transform .2s var(--ease);padding:2px 0;font-size:14px}.pkg-g li:before{content:"local/";color:var(--mute)}.pkg-g li:hover{color:var(--acc);transform:translate(4px)}.btw{font-size:13px}@media (width>=900px){.pkgs{grid-template-columns:repeat(3,1fr)}.contact>:not(.reel){max-width:min(1000px,64vw)}}.contact{min-height:90svh}.mails{margin:12px 0 36px;display:grid;max-width:min(1100px,100%)!important}.mail{isolation:isolate;border-top:1px solid var(--line-2);transition:color .4s var(--ease), padding .4s var(--ease);grid-template-columns:4ch 1fr auto;align-items:baseline;gap:16px;padding:18px 4px;display:grid;position:relative;overflow:hidden}.mail:last-child{border-bottom:1px solid var(--line-2)}.mail:before{content:"";z-index:-1;background:var(--acc);clip-path:inset(0 100% 0 0);transition:clip-path .55s var(--ease);position:absolute;inset:0}.mail:hover{color:var(--bg);padding-left:18px}.mail:hover:before{clip-path:inset(0)}.m-k{color:var(--dim);font-size:12px}.m-v{font-family:var(--f-disp);letter-spacing:-.05em;overflow-wrap:anywhere;font-size:clamp(22px,4.2vw,72px);font-weight:700;font-stretch:100%;line-height:1.05}.m-h{color:var(--dim);opacity:0;transition:opacity .3s, transform .4s var(--ease);font-size:12px;transform:translate(-8px)}.mail:hover .m-h,.mail:focus-visible .m-h{opacity:1;transform:none}.mail:hover .m-k,.mail:hover .m-h{color:var(--bg)}.ct-more{flex-wrap:wrap;gap:14px 48px;margin:0;font-size:14px;display:flex}.ct-more dt{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px;font-size:11px}.ct-more dd{margin:0}.ct-more a:hover{color:var(--acc)}.foot{padding:40px var(--gx) calc(var(--sb) + 28px);border-top:1px solid var(--line);background:var(--bg);position:relative}.loxy-spot{right:var(--gx);cursor:pointer;width:112px;position:absolute;bottom:calc(100% - 22px)}.fortune{cursor:pointer;max-width:760px;margin:0 0 34px}.fortune figcaption{margin-bottom:14px;font-size:13px}.f-next{opacity:0;margin-left:8px;font-size:11.5px;transition:opacity .3s}.fortune:hover .f-next{opacity:1}.fortune blockquote{border-left:2px solid var(--red);font-family:var(--f-disp);letter-spacing:-.02em;color:var(--fg);margin:0 0 12px;padding-left:18px;font-size:clamp(17px,1.6vw,24px);font-weight:340;line-height:1.4}.fortune cite{color:var(--dim);padding-left:20px;font-size:12.5px;font-style:normal;display:block}.foot-row{flex-wrap:wrap;gap:10px 32px;font-size:13px;display:flex}.foot-row a:hover{color:var(--acc)}.foot-exit{font:inherit;margin:18px 0 0;font-size:12px}.loxy-walker{left:0;bottom:calc(var(--sb) - 6px);z-index:85;pointer-events:none;width:280px;position:fixed}.shell{left:0;right:0;top:var(--bar);z-index:110;border-bottom:1px solid var(--acc);height:min(58vh,540px);transform:translateY(calc(-100% - var(--bar)));transition:transform .34s var(--ease);background:#070809f7;grid-template-rows:auto 1fr auto;font-size:14px;display:grid;position:fixed;box-shadow:0 30px 80px #0009}.shell.is-open{transform:none}.shell-bar{padding:8px var(--gx);border-bottom:1px solid var(--line);align-items:center;gap:18px;font-size:12px;display:flex}.shell-bar>span:first-child{color:var(--acc);font-weight:500}.shell-bar kbd{font-size:10.5px}.shell-x{all:unset;cursor:pointer;color:var(--dim);margin-left:auto;padding:0 4px;font-size:20px;line-height:1}.shell-x:hover{color:var(--red)}.shell-out{padding:14px var(--gx);overscroll-behavior:contain;overflow-y:auto}.sh-line{white-space:pre-wrap;padding:1px 0}.sh-cmd{margin-top:8px}.sh-line.err{color:var(--red)}.sh-line.ok{color:var(--acc)}.sh-help{grid-template-columns:max-content 1fr;gap:2px 24px;display:grid}.nf{flex-wrap:wrap;align-items:flex-start;gap:28px;padding:6px 0;display:flex}.nf-logo{font:inherit;margin:0;line-height:1.25}.nf-info b{color:var(--acc);font-weight:500}.nf-sw{gap:0;margin-top:8px;display:flex}.nf-sw i{width:22px;height:12px}.nf-sw i:first-child{background:var(--bg-2)}.nf-sw i:nth-child(2){background:var(--mute)}.nf-sw i:nth-child(3){background:var(--fg)}.nf-sw i:nth-child(4){background:var(--acc)}.nf-sw i:nth-child(5){background:var(--red)}.shell-in{padding:12px var(--gx);border-top:1px solid var(--line);align-items:center;gap:10px;display:flex}.shell-in input{min-width:0;color:var(--fg);caret-color:var(--acc);font:inherit;background:0 0;border:0;outline:0;flex:1}.toast{right:var(--gx);bottom:calc(var(--sb) + 16px);z-index:130;background:var(--acc);color:var(--bg);opacity:0;pointer-events:none;transition:transform .35s var(--ease), opacity .35s;padding:10px 14px;font-size:13px;font-weight:500;position:fixed;transform:translateY(16px)}.toast.is-on{opacity:1;transform:none}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sweep{0%{left:-40%}to{left:102%}}@media (width<=899px){.tabs,.tb-path{display:none}.topbar{grid-template-columns:1fr auto}.tb-id{border-right:0}.tb-shell kbd{display:none}.banner{width:min(100%,560px)}.sb-item:not(#sb-pct){display:none}.sb-file{text-overflow:ellipsis;overflow:hidden}.sec{padding-top:calc(var(--bar) + 10vh)}.ls-row{grid-template-columns:6ch 1fr}.ls-row .perm,.ls-row .own{display:none}.b-row{grid-template-columns:2ch 1fr auto}.b-row .bar{display:none}.mail{grid-template-columns:1fr;gap:4px}.m-k{display:none}.sh-help{grid-template-columns:1fr}.shell-bar>span.dim,.more-keys{display:none}.more{bottom:calc(var(--sb) + 18px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
