@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;font-stretch:75% 125%;src:url(/_assets/mona-sans-vietnamese-standard-normal.Rd0aZl9c.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;font-stretch:75% 125%;src:url(/_assets/mona-sans-latin-ext-standard-normal.CQ1tG6In.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;font-stretch:75% 125%;src:url(/_assets/mona-sans-latin-standard-normal.BMVx8nn_.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{color-scheme:light;--paper:#f2f1ed;--paper-deep:#eae9e4;--surface:#f8f7f4;--ink:#161616;--ink-2:#4a4d50;--ink-3:#63676a;--line:#1614101a;--line-strong:#16141033;--shadow-soft:0 1px 1px #17181a0a, 0 8px 24px -12px #17181a2e;--haze-a:#92a0b029;--haze-b:#aca8a01a;--tone:#5f666c;--room:#101112;--tile:#1a1b1d;--tile-hi:#212225;--tile-ink:#ecece9;--tile-ink-2:#a3a6a9;--tile-ink-3:#8e9194;--tile-line:#ffffff12;--room-2:#1f2023;--room-3:#252629;--room-4:#2b2c30;--room-accent:#ff9230;--font:"Mona Sans Variable", "Mona Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--t-display:clamp(4.25rem, 12.6vw, 13.5rem);--t-h1:clamp(3rem, 7.4vw, 7.5rem);--t-h2:clamp(2.25rem, 4.6vw, 4.25rem);--t-h3:clamp(1.5rem, 2.2vw, 2rem);--t-lede:clamp(1.125rem, 1.35vw, 1.3125rem);--t-body:1.0625rem;--t-small:.9375rem;--t-meta:.8125rem;--rail:0px;--topbar:68px;--gutter:clamp(1.25rem, 4vw, 3.5rem);--shell:1320px;--space-section:clamp(6rem, 12vw, 11rem);--r-1:8px;--r-2:12px;--r-3:18px;--r-4:clamp(22px, 2.4vw, 28px);--r-sm:var(--r-1);--r-md:var(--r-2);--r-lg:var(--r-3);--r-xl:var(--r-4);--r-tile:var(--r-3);--r-panel:var(--r-2);--r-chip:var(--r-1);--r-photo:var(--r-1);--shadow-contact:0 1px 2px #1e181012, 0 6px 14px -8px #1e181033;--shadow-float:0 1px 2px #1e181014, 0 16px 32px -16px #1e181052;--shadow-drag:0 2px 4px #1e18101a, 0 28px 56px -24px #1e18106b;--shadow-1:var(--shadow-contact);--shadow-2:var(--shadow-float);--shadow-3:var(--shadow-drag);--z-navigation:45;--z-navigation-aux:44;--room-hi:inset 0 1px 0 #ffffff12;--room-contact:0 0 0 1px #ffffff0f, 0 2px 6px #00000059;--room-float:0 0 0 1px #ffffff17, 0 18px 36px -20px #000000d9;--room-drag:0 0 0 1px #ffffff29, 0 28px 60px -24px #000000e6;--accent:#c95000;--accent-ink:#b34700;--accent-bright:#ff8d28;--accent-soft:#ff8d2814;--accent-border:#c9500080;--accent-warm:#c950004d;--accent-glow:#ff912d0d;--frame-line:#0a0a0a1a;--ease-primary:cubic-bezier(.22, .8, .24, 1);--ease-ui:cubic-bezier(.2, .7, .2, 1);--ease-out:var(--ease-primary);--ease-inout:cubic-bezier(.65, 0, .2, 1);--ease-hover:var(--ease-ui);--ease-signal:cubic-bezier(.62, .02, .12, 1);--t-micro:.16s;--t-hover:.23s;--t-card:.3s;--t-large:.42s;--dur:.42s;--motion-micro:.16s;--motion-ui:.22s;--motion-card:.32s;--motion-section:.72s;--ease-standard:var(--ease-primary);--ease-scroll:cubic-bezier(.35, 0, .1, 1)}:root[data-theme=dark]{color-scheme:dark;--paper:#0b0c0c;--paper-deep:#121313;--surface:#151616;--ink:#ecece9;--ink-2:#b4b6b8;--ink-3:#8e9194;--line:#ecece917;--line-strong:#ecece933;--shadow-soft:0 1px 1px #0006, 0 12px 32px -16px #000000b3;--shadow-contact:0 1px 2px #0006, 0 6px 16px -10px #0009;--shadow-float:0 1px 2px #00000073, 0 16px 32px -16px #000000bf;--shadow-drag:0 2px 4px #00000080, 0 28px 56px -24px #000000d9;--haze-a:#96a2b20f;--haze-b:#ffffff06;--tone:#9aa1a8;--room:#080909;--tile:#161719;--tile-hi:#1c1d20;--frame-line:#ffffff17;--accent:#ff9230;--accent-ink:#ff9230;--accent-bright:#ffa056;--accent-soft:#ff92301a;--accent-border:#ff923080;--accent-warm:#ff923052;--accent-glow:#ff912d0d}[data-surface=dark]{--frame-line:#ffffff14;--accent:#ff9230;--accent-ink:#ff9230;--accent-bright:#ffa056;--accent-soft:#ff92301a;--accent-border:#ff923080;--accent-warm:#ff923052;--accent-glow:#ff912d0d}[data-tone=ips]{--haze-a:#788eaa33;--tone:#2f5f93}[data-tone=sunfai]{--haze-a:#c4aa802e;--haze-b:#b0a0821a;--tone:#7d7a2c}[data-tone=marconi]{--haze-a:#8a989229;--tone:#3c6f78}:root[data-theme=dark] [data-tone=ips]{--haze-a:#6e88aa14;--tone:#86a9d4}:root[data-theme=dark] [data-tone=sunfai]{--haze-a:#c8aa780f;--tone:#c2bd73}:root[data-theme=dark] [data-tone=marconi]{--haze-a:#8ca0960f;--tone:#86b6bd}@media (width>=1100px){:root{--rail:0px}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto;background:var(--paper)}body{min-height:100svh;font-family:var(--font);font-size:var(--t-body);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(60vmax 50vmax at 88% -10%, var(--haze-a), transparent 70%), radial-gradient(50vmax 40vmax at -10% 110%, var(--haze-b), transparent 70%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-kerning:normal;transition:background-color .24s var(--ease-ui), color .24s var(--ease-ui);background-attachment:fixed;font-weight:400;font-stretch:100%;line-height:1.6}img,picture,svg,video{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,li,dd,dt,figcaption{overflow-wrap:break-word}h1,h2,h3,h4{text-wrap:balance;font-weight:400;line-height:1.05}p{text-wrap:pretty}ul[role=list],ol[role=list]{padding:0;list-style:none}::selection{color:#111;background:#ff8d28}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-1)}.skip-link{z-index:100;background:var(--ink);color:var(--paper);font-size:var(--t-small);transition:transform .2s var(--ease-out);border-radius:999px;padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.site{padding-left:var(--rail)}.bleed{margin-left:calc(-1 * var(--rail));padding-left:var(--rail)}.shell{width:100%;max-width:calc(var(--shell) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-section);position:relative}[id]{scroll-margin-top:0}.t-display{font-size:var(--t-display);letter-spacing:-.045em;font-weight:300;font-stretch:125%;line-height:.84}.t-h1{font-size:var(--t-h1);letter-spacing:-.04em;font-weight:320;font-stretch:122%;line-height:.92}.t-h2{font-size:var(--t-h2);letter-spacing:-.035em;font-weight:340;font-stretch:115%;line-height:.98}.t-h3{font-size:var(--t-h3);letter-spacing:-.02em;font-weight:450;font-stretch:108%;line-height:1.1}.t-lede{font-size:var(--t-lede);color:var(--ink-2);max-width:34em;line-height:1.5}.t-meta{font-size:var(--t-meta);letter-spacing:.01em;color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:500;font-stretch:88%;line-height:1.45}.t-num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.link,.u-grow{background-image:linear-gradient(var(--accent), var(--accent)), linear-gradient(var(--line-strong), var(--line-strong));transition:background-size var(--t-hover) var(--ease-hover);background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0% 1px,100% 1px;padding-bottom:.12em;text-decoration:none}.u-grow{background-image:linear-gradient(var(--accent), var(--accent));background-size:0% 1px}.link:hover,.u-grow:hover,.link:focus-visible,.u-grow:focus-visible{background-size:100% 1px,100% 1px}.btn{--h:44px;min-height:var(--h);border-radius:var(--r-2);font-size:var(--t-small);letter-spacing:-.005em;white-space:nowrap;transition:background-color var(--t-hover) var(--ease-hover), color var(--t-hover) var(--ease-hover), border-color var(--t-hover) var(--ease-hover), box-shadow var(--t-hover) var(--ease-hover), transform var(--t-hover) var(--ease-hover);justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:540;font-stretch:100%;display:inline-flex;position:relative}.btn svg{width:18px;height:18px;transition:color var(--t-micro) var(--ease-hover), transform var(--t-hover) var(--ease-hover);flex:none}.btn:hover{transform:translateY(-1px)}.btn:active{transition-duration:90ms;transform:translateY(0)scale(.98)}.btn:hover svg{color:var(--accent-bright)}.btn[data-nudge=down]:hover svg{transform:translateY(3px)}.btn[data-nudge=right]:hover svg{transform:translate(3px)}.btn[data-nudge=diag]:hover svg{transform:translate(2px,-2px)}.btn--solid{background:var(--ink);color:var(--paper);box-shadow:inset 0 1px #ffffff1f,0 1px 1px #17181a2e}.btn--solid:hover{box-shadow:inset 0 1px 0 #ffffff24, inset 0 0 0 1px var(--accent-border), 0 1px 1px #17181a2e}:root[data-theme=dark] .btn--solid:hover svg{color:#c95000}.btn--ghost{border:1px solid var(--line-strong);background:color-mix(in oklab, var(--surface) 55%, transparent);color:var(--ink)}.btn--ghost:hover{border-color:var(--accent-border)}.btn--ghost:hover svg{color:var(--accent)}.btn--light{color:#17181a;background:linear-gradient(#f6f6f4,#e9eae7);box-shadow:inset 0 1px #ffffffd9,0 0 0 1px #17181a14,0 1px 1px #0000004d}.btn--light:hover{box-shadow:inset 0 1px 0 #ffffffe6, 0 0 0 1px var(--accent-border), 0 1px 2px #00000059;background:#fff}.btn--light:hover svg{color:#c95000}.btn--dark{color:var(--tile-ink);background:linear-gradient(#27282b,#1f2023);box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #ffffff14,0 1px 1px #00000059}.btn--dark:hover{box-shadow:inset 0 1px 0 #ffffff12, 0 0 0 1px var(--accent-border), 0 1px 2px #0006;background:#2a2b2f}.btn--signal{color:#111;background:#ff9230;box-shadow:inset 0 1px #ffffff59,0 1px 2px #00000059}.btn--signal:hover{background:#ffa056}.btn--signal:hover svg{color:#111}.btn--sm{--h:36px;border-radius:8px;gap:8px;padding:0 13px;font-size:.875rem}.btn--pill{border-radius:999px}.btn:after{content:"";background:var(--accent-bright);opacity:0;width:3px;height:3px;transition:opacity var(--motion-micro) var(--ease-standard);border-radius:50%;position:absolute;top:6px;right:6px}.btn:hover:after,.btn:focus-visible:after{opacity:1}.btn--signal:after{display:none}.btn--sm svg{width:16px;height:16px}.icon{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.25em;height:1.25em}@media (prefers-reduced-motion:no-preference){.js [data-reveal=title]{clip-path:inset(0 0 100%);opacity:0;transition:clip-path var(--motion-section) var(--ease-standard), opacity var(--motion-section) var(--ease-standard), transform var(--motion-section) var(--ease-standard);transition-delay:calc(var(--i,0) * 60ms);transform:translateY(16px)}.js [data-reveal=title].is-in{clip-path:inset(-.2em -.2em -.3em);opacity:1;transform:none}.js [data-stagger]>*{opacity:0;transition:opacity .6s var(--ease-standard), transform .6s var(--ease-standard);transition-delay:calc(var(--i,0) * 50ms);transform:translateY(14px)scale(.992)}.js [data-stagger].is-in>*{opacity:1;transform:none}.js [data-reveal=photo]{clip-path:inset(6% 4% 6% 4% round var(--r-photo));transition:clip-path 1s var(--ease-standard)}.js [data-reveal=photo] img{transition:transform 1.1s var(--ease-standard);transform:scale(1.03)}.js [data-reveal=photo].is-in{clip-path:inset(0 0 0 0 round var(--r-photo))}.js [data-reveal=photo].is-in img{transform:none}.js [data-reveal=title]{position:relative}.js [data-reveal=title]:before{content:"";background:var(--accent-bright);transform-origin:0;width:24px;height:2px;transition:transform .52s var(--ease-standard) .16s;border-radius:2px;position:absolute;top:-14px;left:0;transform:scaleX(0)}.js [data-reveal=title].is-in:before{transform:scaleX(1)}.js [data-depth] picture{will-change:transform;transform:scale(1.035)}.js [data-reveal=fade]{opacity:0;transition:opacity .7s var(--ease-standard) .2s, transform .7s var(--ease-standard) .2s;transform:translateY(12px)}.js [data-reveal=fade].is-in{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.sig{--sig-r:var(--r-tile);--seg:0px;position:relative}.sig:after{content:"";z-index:6;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--frame-line);background-image:linear-gradient(90deg, var(--accent-bright) 0 12px, var(--accent-warm) 12px, transparent);background-repeat:no-repeat;background-position:var(--sig-r) 0;background-size:var(--seg) 2px;transition:box-shadow var(--t-card) var(--ease-hover), background-size var(--t-large) var(--ease-hover);position:absolute;inset:0}.sig[data-door]{--seg:12px}.sig[data-sig="3"]:before{content:"";z-index:5;border-radius:inherit;pointer-events:none;background:radial-gradient(260px circle at var(--mx,30%) var(--my,0%), var(--accent-glow), transparent 65%);opacity:0;transition:opacity var(--t-card) var(--ease-hover);position:absolute;inset:0}.sig[data-sig="2"],.sig[data-sig="3"]{transition:transform var(--t-card) var(--ease-hover)}@media (hover:hover){.sig[data-sig="2"]:hover,.sig[data-sig="3"]:hover{--seg:12px}.sig[data-sig="3"]:hover{--seg:46%;transform:translateY(-2px)}.sig:is([data-sig="2"],[data-sig="3"]):hover:after{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent-bright) 15%, var(--frame-line))}}@media (hover:hover) and (pointer:fine){.sig[data-sig="3"]:hover:before{opacity:1}}.sig:is([data-sig="2"],[data-sig="3"]):focus-within{--seg:46%}.sig:is([data-sig="2"],[data-sig="3"]):focus-within:after{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--accent-bright) 15%, var(--frame-line))}@media (hover:none){.sig[data-sig="3"]{--seg:12px}.sig:is([data-sig="2"],[data-sig="3"]):active{--seg:46%}}.signal-dot{background:var(--accent-bright);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}:root[data-theme=dark] .signal-dot,[data-surface=dark] .signal-dot{box-shadow:0 0 6px #ff923059}.tone-mark{background:var(--tone);border-radius:1px;flex:none;width:6px;height:6px;display:inline-block}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .2s var(--ease-standard) both}::view-transition-new(root){animation:vt-in .32s var(--ease-standard) both}::view-transition-group(xphoto){animation-duration:.42s;animation-timing-function:var(--ease-standard)}}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=1099px){:root[data-page=experience] .section:last-of-type{padding-bottom:calc(clamp(5rem, 9vw, 8.5rem) + 56px + env(safe-area-inset-bottom))}[data-section] h2[tabindex],[data-section] h1[tabindex]{scroll-margin-top:72px}}@media print{.nd,.nextsec,.backhome,.intro,.theme-toggle,.ps__hint{display:none!important}.site{padding-left:0}}html[data-theme-anim] *,html[data-theme-anim] :before,html[data-theme-anim] :after{transition:background-color .24s var(--ease-ui), color .24s var(--ease-ui), border-color .24s var(--ease-ui), fill .24s var(--ease-ui), stroke .24s var(--ease-ui), box-shadow .24s var(--ease-ui)!important}@media (prefers-reduced-motion:reduce){html[data-theme-anim] *,html[data-theme-anim] :before,html[data-theme-anim] :after{transition:none!important}}.lang[data-astro-cid-lemdd452] ul[data-astro-cid-lemdd452]{align-items:center;display:flex}.lang[data-astro-cid-lemdd452] li[data-astro-cid-lemdd452]+li[data-astro-cid-lemdd452]:before{content:"·";opacity:.35;margin-inline:5px;display:inline-block}.lang[data-astro-cid-lemdd452] a[data-astro-cid-lemdd452]{letter-spacing:.02em;opacity:.5;transition:opacity var(--motion-ui) var(--ease-standard);padding:8px 1px;font-size:.8125rem;font-weight:520;font-stretch:92%;display:inline-block;position:relative}.lang[data-astro-cid-lemdd452] a[data-astro-cid-lemdd452]:after{content:"";background:var(--accent-bright);width:11px;height:2px;transition:transform var(--motion-ui) var(--ease-standard);border-radius:2px;margin-left:-5.5px;position:absolute;bottom:3px;left:50%;transform:scaleX(0)}.lang[data-astro-cid-lemdd452] a[data-astro-cid-lemdd452]:before{content:"";position:absolute;inset:-4px -7px}.lang[data-astro-cid-lemdd452] li[data-astro-cid-lemdd452]:first-child a[data-astro-cid-lemdd452]:before{left:-12px}.lang[data-astro-cid-lemdd452] li[data-astro-cid-lemdd452]:last-child a[data-astro-cid-lemdd452]:before{right:-8px}.lang[data-astro-cid-lemdd452] a[data-astro-cid-lemdd452]:hover{opacity:.82}.lang[data-astro-cid-lemdd452] a[data-astro-cid-lemdd452]:focus-visible{opacity:1;outline-offset:2px}.lang[data-astro-cid-lemdd452] a[data-astro-cid-lemdd452][aria-current=true]{opacity:1}.lang[data-astro-cid-lemdd452] a[data-astro-cid-lemdd452][aria-current=true]:after{transform:scaleX(1)}
