@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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}:root{--bg:#fff;--surface:#fff;--fg:#171717;--fg-2:#4d4d4d;--muted:#666;--meta:gray;--border:#00000014;--border-soft:#0000000a;--accent:#0070f3;--accent-on:#fff;--accent-hover:color-mix(in oklab, var(--accent), black 8%);--accent-active:color-mix(in oklab, var(--accent), black 14%);--success:#16a34a;--warn:#eab308;--danger:#dc2626;--glitch-cyan:#00a5c8;--glitch-pink:#e01b6f;--glitch-green:#12a06a;--font-display:"Geist Variable", -apple-system, "Segoe UI", arial, sans-serif;--font-body:"Geist Variable", -apple-system, "Segoe UI", arial, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", menlo, monaco, "Liberation Mono", "Courier New", monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:40px;--text-4xl:48px;--leading-body:1.5;--leading-tight:1.1;--tracking-display:-.05em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--section-y-desktop:96px;--section-y-tablet:64px;--section-y-phone:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--elev-flat:none;--elev-ring:0 0 0 1px var(--border);--elev-raised:0 0 0 1px #00000014, 0 2px 2px #0000000a, 0 8px 8px -8px #0000000a, 0 0 0 1px #fafafa;--focus-ring:0 0 0 2px var(--accent);--motion-fast:.15s;--motion-base:.2s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--container-max:1200px;--container-gutter-desktop:24px;--container-gutter-tablet:16px;--container-gutter-phone:12px;--nav-height:64px;--grid-line:#0000000f;--wipe-x:100%;--wipe-y:0px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0a0a0a;--surface:#0a0a0a;--fg:#ededed;--fg-2:#a1a1a1;--muted:#8f8f8f;--meta:#6f6f6f;--border:#ffffff24;--border-soft:#ffffff14;--accent:#3496ff;--accent-on:#0a0a0a;--accent-hover:color-mix(in oklab, var(--accent), white 8%);--accent-active:color-mix(in oklab, var(--accent), white 14%);--success:#4ade80;--warn:#fbbf24;--danger:#f87171;--glitch-cyan:#00e0ff;--glitch-pink:#ff2e88;--glitch-green:#3dffa0;--elev-ring:0 0 0 1px #ffffff24;--elev-raised:0 0 0 1px #ffffff24, 0 2px 2px #0006, 0 8px 8px -8px #0006, 0 0 0 1px #111;--grid-line:#ffffff14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 16px);margin:0}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);min-height:100vh;color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);font-feature-settings:"liga" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{font-family:var(--font-display);color:var(--fg);line-height:var(--leading-tight);overflow-wrap:anywhere;margin:0}h1{font-size:var(--text-4xl);letter-spacing:var(--tracking-display);font-weight:600}h2{font-size:var(--text-3xl);letter-spacing:var(--tracking-display);font-weight:600;line-height:1.2}h3{font-size:var(--text-xl);letter-spacing:-.04em;font-weight:600;line-height:1.33}p{margin:0}ul,ol,dl,dd{margin:0;padding:0}ul,ol{list-style:none}a{color:var(--accent);text-underline-offset:3px;transition:color var(--motion-fast) var(--ease-standard);text-decoration:underline;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:where(a,button,[tabindex]):focus-visible{box-shadow:var(--focus-ring);border-radius:2px;outline:none}.focus-target{outline:none}.container{max-width:var(--container-max);padding-inline:var(--container-gutter-desktop);margin-inline:auto}.page{padding-block:var(--section-y-desktop);flex:1 0 auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.seo-h1{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--fg);color:var(--bg);font-size:var(--text-sm);z-index:100;border-radius:var(--radius-sm);padding:12px 16px;font-weight:500;text-decoration:none;position:absolute;top:16px;left:-9999px}.skip-link:focus-visible{left:16px}@property --reveal{syntax:"<percentage>";inherits:true;initial-value:125%}.grid-bg{z-index:0;pointer-events:none;background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);-webkit-mask-image:linear-gradient(to bottom left, #000 var(--reveal), transparent calc(var(--reveal) + 25%));-webkit-mask-image:linear-gradient(to bottom left, #000 var(--reveal), transparent calc(var(--reveal) + 25%));mask-image:linear-gradient(to bottom left, #000 var(--reveal), transparent calc(var(--reveal) + 25%));background-size:3rem 3rem;animation:2.6s cubic-bezier(.4,0,.2,1) forwards grid-reveal;position:fixed;inset:0}@keyframes grid-reveal{0%{--reveal:0%}to{--reveal:125%}}.nav,.page,.footer{z-index:1;position:relative}.button{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font-family:var(--font-display);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;box-shadow:0 0 0 1px var(--border);transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), box-shadow var(--motion-fast) var(--ease-standard);border:none;padding:8px 16px;font-weight:500;line-height:1.43;text-decoration:none;display:inline-flex}.button:not(.button--primary):hover{background:color-mix(in oklab, var(--bg), var(--fg) 2%);box-shadow:0 0 0 1px color-mix(in oklab, var(--fg), transparent 84%)}.button:not(.button--primary):focus-visible{box-shadow:var(--focus-ring), 0 0 0 1px var(--border)}.button--primary{background:var(--fg);color:var(--bg);box-shadow:none}.button--primary:hover{background:color-mix(in oklab, var(--fg), white 14%)}.icon{flex:none;width:16px;height:16px;display:block}.card{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-6);gap:var(--space-3);box-shadow:var(--elev-raised);transition:box-shadow var(--motion-base) var(--ease-standard);flex-direction:column;display:flex}.card:hover{box-shadow:0 0 0 1px color-mix(in oklab, var(--fg), transparent 84%), 0 4px 12px color-mix(in oklab, var(--fg), transparent 94%), 0 12px 24px -12px color-mix(in oklab, var(--fg), transparent 94%), 0 0 0 1px color-mix(in oklab, var(--bg), var(--fg) 2%)}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);font-family:var(--font-display);font-size:var(--text-xs);white-space:nowrap;flex:none;padding:4px 10px;font-weight:500;line-height:1.5;display:inline-flex}.badge__dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge--live{color:var(--success);background:color-mix(in oklab, var(--success) 8%, var(--surface));box-shadow:0 0 0 1px color-mix(in oklab, var(--success) 24%, transparent)}.badge--in-progress{color:var(--warn);background:color-mix(in oklab, var(--warn) 10%, var(--surface));box-shadow:0 0 0 1px color-mix(in oklab, var(--warn) 24%, transparent)}.badge--archived{color:var(--fg-2);background:color-mix(in oklab, var(--bg), var(--fg) 2%);box-shadow:0 0 0 1px var(--border)}:root[data-theme=dark] .badge--live{color:#4ade80;background:color-mix(in oklab, #4ade80 12%, var(--surface))}:root[data-theme=dark] .badge--archived{color:var(--fg-2);background:color-mix(in oklab, var(--surface), white 4%)}.tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.tags li{border-radius:var(--radius-pill);background:var(--surface);color:var(--muted);font-size:var(--text-xs);box-shadow:0 0 0 1px var(--border);overflow-wrap:anywhere;align-items:center;padding:6px 10px;font-weight:500;line-height:1.4;display:inline-flex}.page-header{gap:var(--space-3);flex-direction:column;margin-block-end:var(--space-12);display:flex}.page-header__title{font-size:var(--text-3xl);line-height:1.2}.page-header__lede{color:var(--fg-2);max-width:52ch}.nav{z-index:50;background:var(--bg);box-shadow:0 1px 0 var(--border);position:sticky;top:0}.nav__inner{min-height:var(--nav-height);align-items:center;gap:var(--space-6);display:flex}.nav__brand{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:-.02em;color:var(--fg);white-space:nowrap;padding-block:4px;font-weight:600;text-decoration:none}.nav__brand:hover{color:var(--fg);text-decoration:none}.nav__menu{min-width:0}.nav__links{gap:var(--space-5);font-size:var(--text-sm);font-weight:500;display:flex}.nav__link{color:var(--fg-2);transition:color var(--motion-fast) var(--ease-standard);border-bottom:2px solid #0000;padding-block:4px;text-decoration:none;display:inline-block}.nav__link:hover{color:var(--fg);text-decoration:none}.nav__link--active{color:var(--fg);border-bottom-color:var(--fg)}.theme-toggle{border-radius:var(--radius-sm);background:var(--surface);width:36px;height:36px;color:var(--fg);box-shadow:0 0 0 1px var(--border);cursor:pointer;transition:box-shadow var(--motion-fast) var(--ease-standard);border:none;flex:none;place-items:center;margin-left:auto;display:inline-grid}.theme-toggle:hover{box-shadow:0 0 0 1px color-mix(in oklab, var(--fg), transparent 84%)}.theme-toggle:active{transform:scale(.94)}.theme-toggle__icon{line-height:1;animation:.45s cubic-bezier(.34,1.4,.64,1) toggle-spin;display:block}@keyframes toggle-spin{0%{opacity:0;transform:rotate(-90deg)scale(.3)}to{opacity:1;transform:rotate(0)scale(1)}}.name{display:inline-block}.letter{transition:transform .45s cubic-bezier(.34,1.56,.64,1) .28s;display:inline-block;position:relative}.letter__face{opacity:1;transition:opacity .36s .28s;display:block}.letter__face--alt{font-family:var(--letter-font,var(--font-body));color:var(--accent);opacity:0;pointer-events:none;position:absolute;top:0;left:0}.letter:hover{transition:transform .3s cubic-bezier(.22,1,.36,1);transform:translateY(-.08em)rotate(-4deg)scale(1.06)}.letter:hover .letter__face--base{opacity:0;transition:opacity 40ms linear}.letter:hover .letter__face--alt{opacity:1;transition:opacity .1s ease-out 40ms}.hero{text-align:left;position:relative;overflow:hidden}.hero:before{content:"";background:conic-gradient(from 220deg at 50% 50%, color-mix(in oklab, var(--accent), var(--bg) 30%) 0deg, color-mix(in oklab, var(--accent), var(--bg) 60%) 90deg, color-mix(in oklab, var(--accent), var(--bg) 85%) 180deg, var(--bg) 270deg, color-mix(in oklab, var(--accent), var(--bg) 30%) 360deg);filter:blur(120px);opacity:.12;z-index:0;pointer-events:none;height:70%;position:absolute;inset:-40% -10% auto}:root[data-theme=dark] .hero:before{opacity:.09}.hero>*{z-index:1;position:relative}.hero__name{max-width:18ch;font-size:clamp(2.5rem, 6vw, var(--text-4xl));font-family:var(--font-display);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-display);overflow-wrap:anywhere;color:var(--fg)}.hero__role{max-width:56ch;font-size:var(--text-lg);color:var(--fg-2);overflow-wrap:anywhere;margin-block-start:var(--space-5);line-height:1.6}.hero__tagline{font-size:var(--text-base);color:var(--muted);overflow-wrap:anywhere;margin-block-start:var(--space-2)}.hero__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-8);display:flex}.hero__socials{align-items:center;gap:var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;margin-block-start:var(--space-6);display:flex}.hero__socials a{align-items:center;gap:6px;padding-block:4px;display:inline-flex}.metrics{gap:var(--space-8);border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-block-start:var(--space-12);padding-block-start:var(--space-6);display:grid}.metric{gap:var(--space-2);flex-direction:column;display:flex}.metric__value{font-family:var(--font-display);font-size:var(--text-4xl);letter-spacing:var(--tracking-display);color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;line-height:1}.metric__label{font-size:var(--text-base);color:var(--fg-2)}.project-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.project__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.project__title{overflow-wrap:anywhere;min-width:0}.project__summary{color:var(--fg-2);font-size:var(--text-sm)}.project__description{color:var(--muted);font-size:var(--text-sm)}.project__links{gap:var(--space-4);font-size:var(--text-sm);flex-wrap:wrap;margin-top:auto;padding-block-start:var(--space-2);display:flex}.project__links a{align-items:center;gap:4px;display:inline-flex}.project__links .arr{text-decoration:none}.about{align-items:start;gap:var(--space-8);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);display:grid}.about__prose p{max-width:62ch;font-size:var(--text-lg);color:var(--fg-2);line-height:1.6}.about__prose p+p{margin-block-start:var(--space-4)}.facts{flex-direction:column;display:flex}.facts>div{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3);border-top:1px solid var(--border);display:flex}.facts>div:last-child{border-bottom:1px solid var(--border)}.facts dt{color:var(--muted);font-size:var(--text-sm)}.facts dd{font-size:var(--text-sm);text-align:right;color:var(--fg);overflow-wrap:anywhere;font-weight:500}.about__currently{margin-block-start:var(--space-8)}.about__currently h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-block-end:var(--space-3);font-weight:500;line-height:1}.about__currently ul{gap:var(--space-2);font-size:var(--text-sm);color:var(--fg-2);flex-direction:column;display:flex}.about__currently li{overflow-wrap:anywhere;padding-inline-start:var(--space-4);position:relative}.about__currently li:before{content:"·";color:var(--accent);text-decoration:none;position:absolute;left:2px}.skills-cloud{gap:var(--space-2)}.skills-cloud li{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.skill-groups{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.skill-group__category{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-block-end:var(--space-3);font-weight:500;line-height:1}.timeline{border-bottom:1px solid var(--border);flex-direction:column;display:flex}.timeline__item{gap:var(--space-2) var(--space-8);padding-block:var(--space-8);border-top:1px solid var(--border);grid-template-columns:10rem minmax(0,1fr);display:grid}.timeline__period{font-size:var(--text-sm);color:var(--muted);white-space:nowrap;padding-block-start:3px;font-weight:500}.timeline__org{font-size:var(--text-base);color:var(--fg-2);overflow-wrap:anywhere;margin-block-start:var(--space-1)}.timeline__location{color:var(--muted)}.timeline__summary{max-width:62ch;color:var(--fg-2);margin-block-start:var(--space-2)}.timeline__highlights{gap:var(--space-2);margin-block:var(--space-4);font-size:var(--text-sm);color:var(--fg-2);flex-direction:column;display:flex}.timeline__highlights li{overflow-wrap:anywhere;padding-inline-start:var(--space-4);position:relative}.timeline__highlights li:before{content:"→";color:var(--accent);text-decoration:none;position:absolute;left:0}.contact{gap:var(--space-4);justify-items:start;display:grid}.contact__lead{max-width:48ch;font-size:var(--text-lg);color:var(--fg-2);line-height:1.6}.contact__email{font-size:var(--text-sm);white-space:normal;overflow-wrap:anywhere;margin-block-start:var(--space-2)}.contact__links{width:100%;max-width:28rem;margin-block-start:var(--space-6);display:grid}.contact__links a{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-3);border-top:1px solid var(--border);color:var(--fg);text-decoration:none;display:flex}.contact__links li:last-child a{border-bottom:1px solid var(--border)}.contact__links a:hover{text-decoration:none}.contact__links a:hover .contact__label{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.contact__label{color:var(--fg);font-weight:500}.contact__handle{font-size:var(--text-xs);color:var(--muted);text-align:right;overflow-wrap:anywhere}.footer{border-top:1px solid var(--border);padding-block:var(--space-8)}.footer__inner{justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);flex-wrap:wrap;display:flex}.footer a{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.footer a:hover{color:var(--fg)}.not-found{align-items:center;gap:var(--space-4);text-align:center;padding-block:var(--space-8) var(--space-12);flex-direction:column;display:flex}.not-found__code{font-family:var(--font-mono);letter-spacing:-.04em;color:var(--fg);--glitch-dur:.42s;--glitch-a:6px;--glitch-b:6px;--glitch-flash:var(--glitch-green);--glitch-play:1;margin:0;font-size:clamp(3rem,10vw,4.5rem);font-weight:600;line-height:1;animation:.5s cubic-bezier(.22,1,.36,1) both not-found-rise;display:inline-block;position:relative}.not-found__code-core{display:block}.not-found__code-ghost{opacity:0;pointer-events:none;will-change:transform, opacity;position:absolute;inset:0}.not-found__code-ghost--cyan{--split:calc(0px - var(--glitch-a));color:var(--glitch-cyan)}.not-found__code-ghost--pink{--split:var(--glitch-b);color:var(--glitch-pink)}.not-found__title{font-size:var(--text-2xl);animation:.5s cubic-bezier(.22,1,.36,1) 60ms both not-found-rise}.not-found__lead{max-width:44ch;color:var(--fg-2);animation:.5s cubic-bezier(.22,1,.36,1) .12s both not-found-rise}.not-found__log{width:100%;max-width:34rem;margin-block:var(--space-2);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);box-shadow:0 0 0 1px var(--border);font-family:var(--font-mono);font-size:var(--text-xs);font-feature-settings:"liga" 1;text-align:left;white-space:pre;padding:14px 18px;line-height:1.7;animation:.5s cubic-bezier(.22,1,.36,1) .18s both not-found-rise;overflow-x:auto}.not-found__actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-2);animation:.5s cubic-bezier(.22,1,.36,1) .24s both not-found-rise;display:flex}@keyframes not-found-rise{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:none}}@keyframes not-found-split{0%,to{opacity:0;transform:translate(0)}8%{opacity:.95;transform:translate(calc(var(--split) * 2.2), 1px)}20%{opacity:.95;transform:translate(calc(var(--split) * -1.1), -1px)}32%{opacity:.95;transform:translate(calc(var(--split) * 1.7), 1px)}44%{opacity:.95;transform:translate(calc(var(--split) * -2), 0)}56%{opacity:.9;transform:translate(calc(var(--split) * 1.2), -1px)}68%{opacity:.95;transform:translate(calc(var(--split) * -1.5), 1px)}80%{opacity:.9;transform:translate(calc(var(--split) * 1.8), 0)}92%{opacity:.55;transform:translate(calc(var(--split) * -.8), 0)}}@keyframes not-found-core{0%,to{color:var(--fg)}10%,36%,62%{color:var(--glitch-flash)}22%,50%,78%{color:var(--fg)}}.not-found__code[data-glitch=on] .not-found__code-ghost{animation:not-found-split var(--glitch-dur) steps(1, end) var(--glitch-play)}.not-found__code[data-glitch=on] .not-found__code-core{animation:not-found-core var(--glitch-dur) steps(1, end) var(--glitch-play)}@keyframes theme-wipe{0%{clip-path:circle(0px at var(--wipe-x) var(--wipe-y))}to{clip-path:circle(150vmax at var(--wipe-x) var(--wipe-y))}}::view-transition-old(root){animation:none}::view-transition-new(root){animation:1s cubic-bezier(.4,0,.2,1) forwards theme-wipe}@media (width<=1023px){.container{padding-inline:var(--container-gutter-tablet)}.page{padding-block:var(--section-y-tablet)}}@media (width<=639px){.container{padding-inline:var(--container-gutter-phone)}.page{padding-block:var(--section-y-phone)}.nav__inner{gap:var(--space-3)}.nav__links{gap:var(--space-3);scrollbar-width:none;min-width:0;margin-block:-4px;padding-block:4px;overflow-x:auto}.nav__links::-webkit-scrollbar{display:none}.metrics{gap:var(--space-6);grid-template-columns:1fr}.about{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.timeline__item{gap:var(--space-2);padding-block:var(--space-6);grid-template-columns:minmax(0,1fr)}.timeline__period{order:-1;padding-block-start:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.grid-bg,.theme-toggle__icon{animation:none}.letter,.letter:hover{transition:none}.letter:hover{transform:none}}
