@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-vietnamese-wght-normal.DsUdksa4.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-latin-ext-wght-normal.BqSk0Z3x.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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-latin-wght-normal.Pz49MTQZ.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:Nothing You Could Do;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/nothing-you-could-do-latin-400-normal.B7VfwEBS.woff2)format("woff2"),url(/_astro/nothing-you-could-do-latin-400-normal.B-z6TBkt.woff)format("woff")}:root{color-scheme:dark;--bg:#080a1e;--bg-sunk:#04050f;--text:#eceef6;--text-2:#b1b6cc;--text-3:#858ca8;--hair:#dce4ff1a;--hair-strong:#dce4ff2e;--hover:#dce4ff12;--underline:#dce4ff52;--light-rgb:190 210 240;--rim-rgb:214 226 242;--hl-alpha:.3;--pill-bg:#b4532f;--pill-text:#fff7f2;--popover-bg:#12152e;--shadow:0 8px 40px #00000073;--selection:#96b6e859;--scrim:8 10 30;--font-sans:"Mona Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-hand:"Nothing You Could Do", ui-rounded, cursive;--font-serif:ui-serif, "New York", "Iowan Old Style", Georgia, serif;--weight-light:330;--weight-normal:430;--weight-medium:540;--weight-semibold:620;--column:592px;--gutter:24px;--nav-h:88px;--ease-out:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=light]{color-scheme:light;--bg:#f0ebd9;--bg-sunk:#e6dfc9;--text:#1e1c17;--text-2:#4e4a40;--text-3:#625d50;--hair:#3c2d0f1f;--hair-strong:#3c2d0f38;--hover:#3c2d0f0f;--underline:#281e0a52;--light-rgb:222 170 60;--rim-rgb:255 244 214;--hl-alpha:.34;--pill-bg:#b4532f;--pill-text:#fff7f2;--popover-bg:#fbf8ef;--shadow:0 8px 40px #3c2d0f24;--selection:#deaa3c52;--scrim:240 235 217}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:25px;font-weight:var(--weight-normal);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scrollbar-color:var(--hair-strong) transparent;scrollbar-gutter:stable}body{min-height:100dvh;margin:0;overflow-x:clip}::selection{background:var(--selection);color:var(--text)}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit;letter-spacing:inherit}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}:focus-visible{outline:2px solid var(--text-2);outline-offset:3px;border-radius:4px}.sr-only{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{z-index:100;background:var(--text);color:var(--bg);font-weight:var(--weight-medium);transition:transform .2s var(--ease-out);border-radius:8px;padding:6px 12px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.column{width:min(var(--column), 100% - 2 * var(--gutter));margin-inline:auto}.text-link{color:var(--text);text-decoration:underline;text-decoration-color:var(--underline);text-underline-offset:3px;transition:text-decoration-color .2s var(--ease-out);text-decoration-thickness:1px}.text-link:hover{text-decoration-color:currentColor}.missing{color:var(--text-3);border-bottom:1px dashed var(--hair-strong);font-style:normal}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:var(--ease-out)}::view-transition-group(*){animation-duration:.42s;animation-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html.theme-turning *,html.theme-turning :before,html.theme-turning :after{transition-property:background-color,color,border-color,outline-color,text-decoration-color,fill,stroke,box-shadow!important;transition-duration:.18s!important;transition-timing-function:linear!important}@media (prefers-reduced-motion:reduce){html.theme-turning,html.theme-turning *,html.theme-turning :before,html.theme-turning :after{transition-property:background-color,color,border-color,outline-color,text-decoration-color,fill,stroke,box-shadow!important;transition-duration:.28s!important;transition-timing-function:linear!important}}.dn[data-astro-cid-tyi3j7az]{--dn-w:138px;--dn-h:72px;--dn-bezel:6px;width:var(--dn-w);height:var(--dn-h);padding:var(--dn-bezel);cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:linear-gradient(#fffdf6 0%,#f3ecdb 38%,#e4dac3 100%);border:0;border-radius:999px;flex:none;transition:background-color .16s linear,box-shadow .16s linear;display:block;position:relative;box-shadow:inset 0 1px #fffffff2,inset 0 -1.5px 1px #967e5647,0 .5px #78623c3d,0 2px 3px #6e563229,0 6px 14px #6e563229}:root[data-theme=dark] .dn[data-astro-cid-tyi3j7az]{background:linear-gradient(#3a3f6a 0%,#222645 42%,#151831 100%);box-shadow:inset 0 1px #aab2e652,inset 0 -1.5px 1px #00000073,0 0 0 .5px #ffaa5a2e,0 0 10px #ff964052,0 0 26px #ff8c3229,0 6px 14px #0006}.dn[data-astro-cid-tyi3j7az]:focus-visible{outline:2px solid var(--text-2);outline-offset:3px;border-radius:999px}.dn-well[data-astro-cid-tyi3j7az]{background:var(--scene-day) center / cover no-repeat;width:100%;height:100%;image-rendering:pixelated;isolation:isolate;border-radius:999px;display:block;position:relative;overflow:hidden;container-type:size}:root[data-theme=dark] .dn-well[data-astro-cid-tyi3j7az]{background-image:var(--scene-night)}.dn-canvas[data-astro-cid-tyi3j7az]{opacity:0;width:100%;height:100%;position:absolute;inset:0}.dn[data-astro-cid-tyi3j7az].is-live .dn-canvas[data-astro-cid-tyi3j7az]{opacity:1}.dn-glass[data-astro-cid-tyi3j7az]{aspect-ratio:1;background:radial-gradient(circle at 30% 24%,#ffffffe6 0 7%,#0000 9%),radial-gradient(circle,#0000 62%,#ffffff52 92%,#ffffff80 100%);border-radius:50%;width:94cqh;height:94cqh;position:absolute;top:3cqh;left:3.5cqh;box-shadow:0 2px 4px #0000002e}:root[data-theme=dark] .dn-glass[data-astro-cid-tyi3j7az]{left:auto;right:3.5cqh}.dn[data-astro-cid-tyi3j7az].is-live .dn-glass[data-astro-cid-tyi3j7az]{display:none}.dn-well[data-astro-cid-tyi3j7az]:after{content:"";z-index:1;border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1.5px 2px #3c280a61,inset 0 -1px 1px #ffffff6b,inset 0 0 0 .5px #3c280a38}:root[data-theme=dark] .dn-well[data-astro-cid-tyi3j7az]:after{box-shadow:inset 0 1.5px 2px #0009,inset 0 -1px 1px #96a0e629,inset 0 0 0 .5px #00000080}@media (width<=640px){.dn[data-astro-cid-tyi3j7az]{--dn-w:104px;--dn-h:54px;--dn-bezel:5px}}.nav-wrap[data-astro-cid-wpvy4v7s]{z-index:50;view-transition-name:site-nav;position:fixed;inset:0 0 auto}.nav[data-astro-cid-wpvy4v7s]{height:var(--nav-h);justify-content:space-between;align-items:center;display:flex}.mark[data-astro-cid-wpvy4v7s]{width:36px;height:36px;color:var(--text-2);transition:color .2s var(--ease-out), transform .3s var(--ease-out);border-radius:10px;place-items:center;margin-left:-6px;display:grid}.mark[data-astro-cid-wpvy4v7s]:hover{color:var(--text);transform:rotate(-14deg)}.links[data-astro-cid-wpvy4v7s]{align-items:center;gap:2px;margin-right:-10px;display:flex}.nav-link[data-astro-cid-wpvy4v7s]{height:30px;color:var(--text-2);font-size:14px;font-weight:var(--weight-normal);cursor:pointer;transition:color .2s var(--ease-out), background-color .2s var(--ease-out);background:0 0;border:0;border-radius:999px;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.nav-link[data-astro-cid-wpvy4v7s]:hover{color:var(--text)}.nav-link[data-astro-cid-wpvy4v7s][aria-current=page]{color:var(--text);background:var(--hover);box-shadow:inset 0 0 0 1px var(--hair)}.toggle-slot[data-astro-cid-wpvy4v7s]{margin-left:12px;margin-right:10px}@media (width<=640px){.links[data-astro-cid-wpvy4v7s]{gap:0}.nav-link[data-astro-cid-wpvy4v7s]{padding:0 7px}.toggle-slot[data-astro-cid-wpvy4v7s]{margin-left:6px;margin-right:10px}}@media (width<=480px){.wide-only[data-astro-cid-wpvy4v7s]{display:none}}@keyframes signature-reveal{0%{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}@media (prefers-reduced-motion:no-preference){[data-sig-reveal]{animation:1.7s cubic-bezier(.45,.05,.35,1) .15s both signature-reveal;-webkit-mask-image:linear-gradient(90deg,#000 44%,#0000 56%);mask-image:linear-gradient(90deg,#000 44%,#0000 56%);-webkit-mask-size:240% 100%;mask-size:240% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}.footer[data-astro-cid-jo6i4kqk]{color:var(--text-3);margin-top:120px;position:relative}.sky[data-astro-cid-jo6i4kqk]{z-index:42;position:relative}.sky-row[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.sky-row--meta[data-astro-cid-jo6i4kqk]{align-items:baseline;margin-top:14px}.sig[data-astro-cid-jo6i4kqk]{color:var(--text);transition:color .2s var(--ease-out)}.sig[data-astro-cid-jo6i4kqk]:hover{color:var(--text-2)}.sig[data-astro-cid-jo6i4kqk] svg{width:auto;height:40px;display:block}.links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:6px 18px;font-size:14px;display:flex}.links[data-astro-cid-jo6i4kqk] .text-link[data-astro-cid-jo6i4kqk],.contact[data-astro-cid-jo6i4kqk]{color:var(--text-2)}.line[data-astro-cid-jo6i4kqk]{color:var(--text-2);margin:0;font-size:14px;line-height:1.5}.contact[data-astro-cid-jo6i4kqk]{white-space:nowrap;font-size:14px}.credits[data-astro-cid-jo6i4kqk]{color:var(--text-3);text-wrap:pretty;margin:18px 0 0;font-size:12px;line-height:1.5}.lane[data-astro-cid-jo6i4kqk]{z-index:42;pointer-events:none;height:clamp(200px,17vw,244px);margin-top:8px;position:relative}.rider[data-astro-cid-jo6i4kqk]{width:100%;height:100%;display:block}.land[data-astro-cid-jo6i4kqk]{--land-h:min(calc(100vw / 2.357), 62svh, 900px);--paint-h:max(calc(100vw / 2.357), var(--land-h));z-index:41;height:var(--land-h);margin-top:calc((var(--paint-h) - var(--land-h)) / 2 - var(--paint-h) * .27);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 15%);mask-image:linear-gradient(#0000,#000 15%)}@media (width<=640px){.land[data-astro-cid-jo6i4kqk]{--land-h:clamp(290px, 78vw, 420px)}}.layer[data-astro-cid-jo6i4kqk]{transition:opacity .7s var(--ease-out);position:absolute;inset:0}.layer[data-astro-cid-jo6i4kqk] img{object-fit:cover;object-position:50% 50%;width:100%;height:100%;display:block}@media (width<=640px){.layer[data-astro-cid-jo6i4kqk] img{object-position:60% 50%}}.layer--night[data-astro-cid-jo6i4kqk]{opacity:0}:root[data-theme=dark] .layer--night[data-astro-cid-jo6i4kqk]{opacity:1}:root[data-theme=dark] .layer--day[data-astro-cid-jo6i4kqk]{opacity:0}.scene[data-astro-cid-jo6i4kqk]{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.copyright[data-astro-cid-jo6i4kqk]{padding:56px max(var(--gutter), calc((100% - var(--column)) / 2)) 18px;letter-spacing:.01em;color:#ffffffe0;text-shadow:0 1px 2px #00000059;background:linear-gradient(#060a1200,#060a1261);margin:0;font-size:12.5px;position:absolute;inset:auto 0 0}@media (width<=640px){.sky-row[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start}.sky-row--meta[data-astro-cid-jo6i4kqk]{gap:6px}.links[data-astro-cid-jo6i4kqk]{margin-top:4px}}@media (prefers-reduced-motion:reduce){.layer[data-astro-cid-jo6i4kqk]{transition:none}}.ambient{z-index:-1;pointer-events:none;view-transition-name:ambient;position:fixed;inset:0;overflow:hidden}.ambient-canvas{position:absolute;inset:0}.ambient-light{background:radial-gradient(closest-side, rgb(var(--rim-rgb) / .17), rgb(var(--rim-rgb) / .07) 42%, rgb(var(--rim-rgb) / .02) 70%, transparent);border-radius:50%;width:92vmax;height:92vmax;position:absolute;top:-38vmax;right:-34vmax}.ambient-beam{transform-origin:92% 2%;background:conic-gradient(from 208deg at 92% 2%, transparent 0deg, rgb(var(--rim-rgb) / .055) 9deg, rgb(var(--rim-rgb) / .018) 15deg, rgb(var(--rim-rgb) / .05) 21deg, rgb(var(--rim-rgb) / .012) 30deg, transparent 40deg);filter:blur(14px);width:140vmax;height:140vmax;animation:26s ease-in-out infinite alternate beam-sway;position:absolute;top:-12vh;right:-8vw;mask-image:radial-gradient(circle at 92% 2%,#000 0%,#0009 38%,#0000 72%)}@keyframes beam-sway{0%{transform:rotate(-1.6deg)}to{transform:rotate(1.8deg)}}:root[data-theme=light] .ambient-light{background:radial-gradient(closest-side,#ffffffe6,#ffffff59 45%,#0000)}:root[data-theme=light] .ambient-beam{opacity:0}.edge{z-index:40;pointer-events:none;position:fixed;inset-inline:0}.edge-top{z-index:45;height:calc(var(--nav-h) + 28px);background:linear-gradient(rgb(var(--scrim) / .9), rgb(var(--scrim) / .84) 62%, rgb(var(--scrim) / 0));backdrop-filter:blur(16px)saturate(1.15);top:0;-webkit-mask-image:linear-gradient(#000 64%,#0000);mask-image:linear-gradient(#000 64%,#0000)}.edge-bottom{background:linear-gradient(rgb(var(--scrim) / 0), rgb(var(--scrim) / .7));height:56px;bottom:0}main{padding-top:calc(var(--nav-h) + 72px)}@media (width<=640px){main{padding-top:calc(var(--nav-h) + 40px)}}@keyframes intro-rise{0%{opacity:0;filter:blur(8px);transform:translateY(4px)}to{opacity:1;filter:blur();transform:none}}@keyframes intro-resolve{0%{opacity:0;filter:blur(7px)}to{opacity:1;filter:blur()}}@keyframes intro-bloom{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.intro .ambient{animation:intro-bloom 1.9s var(--ease-out) .7s both}.intro .nav-wrap,.intro [data-reveal-late]{animation:intro-rise .8s var(--ease-out) 2.5s both}.intro [data-greeting]{animation:intro-rise .7s var(--ease-out) 1.05s both}.intro:not(.intro-split) [data-bio]{animation:intro-rise .8s var(--ease-out) 1.35s both}.intro.intro-split [data-bio] .w{animation:intro-resolve .6s var(--ease-out) both;animation-delay:calc(1.3s - var(--intro-elapsed,0s) + var(--i) * 9ms)}
