@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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}:root{--bg:#0b0b0c;--bg-raised:#141416;--ink:#ece9e4;--muted:#a6a39d;--line:#2c2c30;--accent:#ff4f00;--font-sans:"Archivo Variable", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--gutter:clamp(16px, 4vw, 48px);--max-width:1180px;--date-col:9rem}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);text-wrap:pretty;margin:0;font-size:1.0625rem;line-height:1.55}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--gutter);z-index:30;background:var(--accent);color:#000;padding:.4em .8em;top:8px}.page{max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto}.utility{justify-content:flex-end;min-height:2.75rem;padding-top:.75rem;display:flex}.motion-toggle{min-height:32px;color:var(--muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;padding:.3rem 0;font-size:.8rem}.motion-toggle[aria-pressed=false]{color:var(--accent)}@media (hover:hover){.motion-toggle:hover{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}}.hero{border-bottom:3px solid var(--ink);position:relative}.hero__inner{grid-template-columns:auto 1fr;align-items:end;gap:2rem;display:grid;position:relative}.name{letter-spacing:-.015em;text-transform:uppercase;margin:0;font-size:clamp(3.5rem,12vw,9rem);font-weight:900;font-stretch:112%;line-height:.86}.name>span{display:block}.sq{background:var(--accent);width:.17em;height:.17em;margin-left:.05em;display:inline-block}.masthead__meta{text-align:right;justify-self:end;gap:.6rem;display:grid}.role{margin:0;font-size:1.5rem;font-weight:800}.tagline{color:var(--muted);margin:0}.links{font-family:var(--font-mono);margin:0;padding:0;font-size:.875rem;list-style:none}.summary{max-width:52rem;margin:2rem 0;font-size:1.3rem}.stats dl{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin:0;display:grid}.stats dl>div{border-top:3px solid var(--accent);flex-direction:column-reverse;padding-top:.6rem;display:flex}.stats dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:clamp(2rem,5vw,3.25rem);font-weight:900;font-stretch:108%;line-height:1}.stats dt,.when,.label,.skills dt,.services dt{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.stats dt{margin-top:.5rem}section{padding:2rem 0}h2{letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.75rem;margin:0 0 1rem;font-size:1.1rem;font-weight:900;font-stretch:125%;display:flex}h2:before{content:"";background:var(--accent);flex:none;width:.7em;height:.7em}h2:after{content:"";border-top:1px solid var(--line);flex:1}.entry{grid-template-columns:var(--date-col) 1fr;border-top:1px solid var(--line);gap:1.5rem;padding:1.25rem 0;display:grid}.entry__body{min-width:0}.when{margin:.3rem 0 0}.entry h3{margin:0;font-size:1.15rem;font-weight:600}.co{text-transform:uppercase;font-weight:800;font-stretch:112%}.blurb{color:var(--muted);margin:.25rem 0 0;font-style:italic}.points{margin:.6rem 0 0;padding:0;list-style:none}.points li{padding-left:1.1rem;position:relative}.points li+li{margin-top:.35rem}.points li:before{content:"";border-top:2px solid var(--accent);width:.55rem;position:absolute;top:.75em;left:0}.skills,.services{gap:.5rem;margin:0;display:grid}.skills>div,.services>div{grid-template-columns:var(--date-col) 1fr;gap:1.5rem;display:grid}.skills dd,.services dd{margin:0}.services+p{margin-top:1.25rem}.contact{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.contact .label,.pgp .label{min-width:var(--date-col);display:inline-block}.fingerprint{font-family:var(--font-mono);word-break:break-word;font-size:.85rem}.button{background:var(--accent);color:#000;margin-top:.5rem;padding:.7rem 1.1rem;font-weight:800;text-decoration:none;display:inline-block}.button:hover{background:var(--ink);color:#000}.footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);padding:2rem 0 3rem;font-size:.8rem}@media (width<=720px){.hero__inner{grid-template-columns:1fr;gap:1rem}.masthead__meta{text-align:left;justify-self:start}.stats dl{grid-template-columns:repeat(2,1fr)}.entry,.skills>div,.services>div{grid-template-columns:1fr;gap:.25rem}}.scene{border:1px solid var(--line);background:var(--bg);margin-top:1.25rem}html:not(.js) .scene{display:none}.scene__stage{border-bottom:1px solid var(--line);position:relative}.scene__canvas{touch-action:pan-y pinch-zoom;width:100%;height:340px;display:block}.scene__canvas--zharta{height:380px}.scene__canvas--appcoins{height:128px}.scene__canvas--aptoide{aspect-ratio:24/9.5;cursor:crosshair;height:auto}.scene__canvas--ist{aspect-ratio:40/22;cursor:crosshair;height:auto}.scene__panel{gap:.75rem;padding:1rem;display:grid}.scene__title,.scene__hint,.scene__note{margin:0}.scene__title{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.85rem;font-weight:500}.scene__tag{background:var(--accent);color:#000;margin-right:.4em;padding:.05em .4em}.scene__hint{color:var(--muted);font-size:.95rem}.tokens{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.token,.tx,.dpad button,.scene__reset{border:1px solid var(--line);background:var(--bg-raised);min-height:44px;color:var(--ink);font-family:var(--font-mono);cursor:pointer;padding:.45rem .75rem;font-size:.8rem}.token{border-left:3px solid var(--ink)}.token[data-kind=rwa]{border-left-color:var(--accent)}.token:hover,.dpad button:hover,.scene__reset:hover{border-color:var(--accent)}.tx[aria-current=true]{border-color:var(--accent);color:var(--accent)}.token[aria-disabled=true]{color:var(--muted);cursor:default;text-decoration:line-through}.dpad{flex-wrap:wrap;gap:.5rem;display:flex}.scene__reset{background:var(--bg);justify-self:start}.scene__caption{border-left:3px solid var(--accent);background:var(--bg-raised);min-height:2.6em;font-family:var(--font-mono);margin:0;padding:.6rem .75rem;font-size:.875rem}.scene__note{color:var(--muted);font-size:.8rem}.term__field{isolation:isolate;flex:1;min-width:12ch;display:flex;position:relative}.term__field input{caret-color:#0000;outline:none}.term__cursor{top:50%;left:calc(var(--col,0) * 1ch - var(--scroll,0px));z-index:1;background:var(--accent);width:1ch;height:1.3em;color:var(--bg);white-space:pre;pointer-events:none;line-height:1.3em;animation:1.06s step-end infinite term-blink;position:absolute;overflow:hidden;transform:translateY(-50%)}.term__field input:not(:focus)+.term__cursor{outline:1px solid var(--accent);outline-offset:-1px;color:#0000;background:0 0;animation:none}html[data-motion=off] .term__cursor{animation:none}@keyframes term-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.term__cursor{animation:none}}.hero{align-content:end;min-height:min(68vh,620px);padding-top:2rem;display:grid}.hero__field{width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.hero .name{background:var(--bg);justify-self:start;padding:.12em .14em .04em 0}.hero .masthead__meta{background:var(--bg);padding:.75rem 0 .25rem 1rem}html.js body{padding-bottom:3.5rem}html.js{scroll-padding-bottom:4.5rem}html:not(.js) .term{display:none}.term{z-index:20;font-family:var(--font-mono);font-size:.85rem;position:fixed;bottom:0;left:0;right:0}.term__log{overscroll-behavior:contain;max-height:45vh;padding:.75rem var(--gutter);border-top:1px solid var(--line);background:var(--bg-raised);white-space:pre-wrap;overflow-wrap:anywhere;overflow-y:auto}.term__block{white-space:pre;overflow-x:auto}.term__echo,.term__scene{color:var(--accent)}.term__motd{color:var(--muted)}.term__bar{min-height:48px;padding:.5rem var(--gutter);border-top:2px solid var(--accent);background:var(--bg);cursor:text;align-items:center;gap:.6rem;display:flex}.term__bar:focus-within{outline:2px solid var(--accent);outline-offset:-4px}.term__prompt{color:var(--accent);white-space:nowrap}.term__cwd{max-width:32ch;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;display:inline-block;overflow:hidden}.term__input{min-width:0;color:var(--ink);font:inherit;caret-color:#0000;background:0 0;border:0;outline:none;flex:1;padding:.25rem 0}.term__hint{color:var(--muted);white-space:nowrap}.boot{z-index:50;padding:var(--gutter);background:var(--bg);font-family:var(--font-mono);align-items:center;animation:.45s ease-in 5.4s forwards boot-off;display:grid;position:fixed;inset:0;overflow:hidden}.boot--done{display:none}.boot:before,.boot:after{content:"";pointer-events:none;position:absolute;inset:0}.boot:before{background:var(--ink);opacity:0;animation:.28s ease-out 2.38s boot-flash}.boot:after{z-index:1;background:repeating-linear-gradient(#ece9e40d 0 1px,#0000 1px 3px),radial-gradient(#0000 50%,#0009 100%);animation:2.3s step-end infinite boot-flicker}.boot__log,.boot__title{width:100%;max-width:var(--max-width);grid-area:1/1;margin:0 auto}.boot__log{color:var(--ink);white-space:pre-wrap;font-size:clamp(.7rem,2.4vw,.9rem);line-height:1.6;animation:1ms step-end 2.45s forwards boot-hide}.boot__t{color:var(--muted)}.boot__ok{color:var(--accent)}.boot__line{visibility:hidden;animation:1ms step-end forwards boot-line}.boot__line:first-child{animation-delay:.12s}.boot__line:nth-child(2){animation-delay:.29s}.boot__line:nth-child(3){animation-delay:.46s}.boot__line:nth-child(4){animation-delay:.63s}.boot__line:nth-child(5){animation-delay:.8s}.boot__line:nth-child(6){animation-delay:.97s}.boot__line:nth-child(7){animation-delay:1.14s}.boot__line:nth-child(8){animation-delay:1.31s}.boot__line:nth-child(9){animation-delay:1.48s}.boot__line:nth-child(10){animation-delay:1.65s}.boot__line:nth-child(11){animation-delay:1.82s}.boot__line:nth-child(12){animation-delay:1.99s}.boot__line:nth-child(13){animation-delay:2.16s}.boot__title{visibility:hidden;animation:1ms step-end 2.55s forwards boot-line;position:relative}.boot__name{width:max-content;max-width:100%;color:var(--ink);font-family:Menlo,Consolas,DejaVu Sans Mono,Liberation Mono,Courier New,monospace;font-size:min(2.4rem, calc((100vw - 2 * var(--gutter)) / 18), 5.5vh);white-space:pre;text-shadow:0 0 14px #ff4f0066;clip-path:inset(0 100% 0 0);margin:0;line-height:1;animation:.7s steps(29,end) 2.55s forwards boot-sweep,2.8s step-end 2.6s boot-jolt;position:relative}.boot__name:before,.boot__name:after{content:attr(data-text);opacity:0;text-shadow:none;position:absolute;inset:0}.boot__name:before{color:var(--accent);animation:2.8s step-end 2.6s boot-glitch-a}.boot__name:after{color:var(--muted);animation:2.8s step-end 2.6s boot-glitch-b}.boot__role{width:0;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;margin:1.6em 0 0;font-size:clamp(.75rem,2.6vw,1rem);animation:.7s steps(32,end) 3.35s forwards boot-type;overflow:hidden}.boot__load,.boot__granted{visibility:hidden;margin:1em 0 0;font-size:clamp(.7rem,2.4vw,.9rem)}.boot__load{color:var(--muted);animation:1ms step-end 3.95s forwards boot-line}.boot__bar{width:0;color:var(--accent);vertical-align:bottom;white-space:nowrap;animation:1s steps(20,end) 4s forwards boot-bar;display:inline-block;overflow:hidden}@property --boot-pct{syntax:"<integer>";inherits:false;initial-value:0}.boot__pct:after{color:var(--ink);content:counter(boot-pct) "%";counter-reset:boot-pct var(--boot-pct);animation:1s steps(20,end) 4s forwards boot-count}.boot__granted{color:var(--accent);animation:.3s step-end 5.05s 3 forwards boot-blink}@keyframes boot-line{to{visibility:visible}}@keyframes boot-hide{to{opacity:0}}@keyframes boot-flash{0%{opacity:.85}to{opacity:0}}@keyframes boot-flicker{0%,to{opacity:1}31%{opacity:.7}33%{opacity:1}78%{opacity:.85}79%{opacity:1}}@keyframes boot-sweep{to{clip-path:inset(0)}}@keyframes boot-jolt{0%,to{transform:none}12%{transform:translate(3px)skew(-8deg)}14%{transform:none}46%{transform:translate(-2px)}48%{transform:none}80%{transform:translate(4px)skew(10deg)}83%{transform:none}}@keyframes boot-glitch-a{0%,to{opacity:0}12%{opacity:1;clip-path:inset(8% 0 64%);transform:translate(-5px)}14%{clip-path:inset(56% 0 18%);transform:translate(4px)}16%{opacity:0}46%{opacity:1;clip-path:inset(30% 0 44%);transform:translate(6px)}48%{clip-path:inset(72% 0 6%);transform:translate(-3px)}50%{opacity:0}80%{opacity:1;clip-path:inset(0 0 78%);transform:translate(-7px)}82%{clip-path:inset(42% 0 34%);transform:translate(5px)}85%{opacity:0}}@keyframes boot-glitch-b{0%,to{opacity:0}13%{opacity:1;clip-path:inset(62% 0 10%);transform:translate(5px)}15%{opacity:0}47%{opacity:1;clip-path:inset(12% 0 70%);transform:translate(-6px)}49%{opacity:0}81%{opacity:1;clip-path:inset(50% 0 26%);transform:translate(7px)}84%{opacity:0}}@keyframes boot-type{to{width:32ch}}@keyframes boot-bar{to{width:20ch}}@keyframes boot-count{to{--boot-pct:100}}@keyframes boot-blink{0%{visibility:visible}50%{visibility:hidden}to{visibility:visible}}@keyframes boot-off{0%{background:var(--bg);transform:scale(1)}55%{background:var(--ink);transform:scaleY(.006)}80%{background:var(--ink);transform:scale(.08,.006)}to{visibility:hidden;transform:scale(0)}}@media (prefers-reduced-motion:reduce){.boot{display:none}}@media (width<=720px){.hero{min-height:58vh}.hero .masthead__meta{padding:.5rem .75rem .25rem 0}.term__host{display:none}.term__cwd{max-width:45vw}}@media (width<=960px){.term__hint{display:none}}
