@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-vietnamese-wght-normal.CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-ext-wght-normal.Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-wght-normal.CaVRRdDk.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}@keyframes vt-slide-out-left{to{transform:translate(-100%)}}@keyframes vt-slide-in-right{0%{transform:translate(100%)}}@keyframes vt-slide-out-right{to{transform:translate(100%)}}@keyframes vt-slide-in-left{0%{transform:translate(-100%)}}::view-transition-old(root),::view-transition-new(root){background-color:var(--beige)}::view-transition-old(root){animation:.38s cubic-bezier(.4,0,.2,1) both vt-slide-out-left}::view-transition-new(root){animation:.38s cubic-bezier(.4,0,.2,1) both vt-slide-in-right}:root[data-astro-transition=back]::view-transition-old(root){animation-name:vt-slide-out-right}:root[data-astro-transition=back]::view-transition-new(root){animation-name:vt-slide-in-left}::view-transition-group(taskbar){animation:none}::view-transition-old(taskbar){opacity:0;animation:none}::view-transition-new(taskbar){opacity:1;animation:none}:root{--beige:#ede4d3;--grid-line:#d8cbb3;--box-size:40px;--line-thickness:3px;--window-bg:var(--beige);--window-border:#3a3a3a;--window-bar:#566246;--close-red:#e1443a;--ink:#3a3a3a;--ink-muted:#857c68;--font-sans:"Hanken Grotesk Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"Newsreader Variable", Georgia, "Times New Roman", serif;--taskbar-h:58px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-sans)}.link{color:var(--window-bar);text-underline-offset:2px;text-decoration:underline 1px}.link:hover{text-decoration-thickness:2px}html{background-color:var(--beige);background-image:linear-gradient(to right, var(--grid-line) var(--line-thickness), transparent var(--line-thickness)), linear-gradient(to bottom, var(--grid-line) var(--line-thickness), transparent var(--line-thickness));background-size:var(--box-size) var(--box-size);background-position:50%;min-height:100vh}.shutdown{z-index:9999;opacity:0;visibility:hidden;background:#000;place-items:start center;transition:opacity .6s;display:grid;position:fixed;inset:0}html[data-shutdown] .shutdown{opacity:1;visibility:visible}.shutdown__inner{opacity:0;flex-direction:column;align-items:center;gap:22px;margin-top:32vh;display:flex}html[data-shutdown] .shutdown__inner{animation:9s forwards shutdown-cycle}@keyframes shutdown-cycle{0%{opacity:0;animation-timing-function:step-end}11%{opacity:0;animation-timing-function:step-end}12%{opacity:1}98%{opacity:1;animation-timing-function:step-end}to{opacity:0}}.shutdown__spinner{border:4px solid #ffffff2e;border-top-color:#ffffffe6;border-radius:50%;width:26px;height:26px;animation:.9s linear infinite shutdown-spin}@keyframes shutdown-spin{to{transform:rotate(360deg)}}.shutdown__msg{font-family:var(--font-sans);letter-spacing:.01em;color:#d6d6d6;margin:0;font-size:16px}.boot{z-index:9999;background:#000;display:none;position:fixed;inset:0}html[data-booting] .boot{place-items:center;display:grid}.boot__line{text-align:center;letter-spacing:.01em;color:#d6d6d6;margin:0;padding:0 24px;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-size:18px}.aero{color:#1c2430;background:linear-gradient(#eaf1f9,#d6e2f0);border:1px solid #6f8eb0;border-radius:8px 8px 6px 6px;width:min(400px,90vw);font-family:Segoe UI,Tahoma,Geneva,sans-serif;animation:.2s both aero-in;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff80,0 18px 50px #0000008c}.aero[hidden]{display:none}@keyframes aero-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.aero__bar{background:linear-gradient(#ffffffe6,#dfebf88c);align-items:center;height:30px;padding:0 6px 0 10px;display:flex;box-shadow:inset 0 1px #ffffffd9}.aero__title{color:#2b3b4d;text-shadow:0 1px 1px #ffffffe6;flex:1;font-size:12px}.aero__cap{color:#33405a;cursor:pointer;background:linear-gradient(#fffffff2,#d8e4f2bf);border:1px solid #8c9bafd9;border-radius:3px;place-items:center;width:44px;height:19px;padding:0;font-size:11px;display:grid;box-shadow:inset 0 1px #ffffffe6}.aero__cap--close:hover{color:#fff;background:linear-gradient(#f08a8a,#d23b3b);border-color:#a52f2f}.aero__cap--close:active{background:linear-gradient(#d23b3b,#b22a2a)}.aero__body{background:linear-gradient(#fbfdff,#eef3f8);padding:22px 22px 16px}.aero__content{align-items:center;gap:14px;display:flex}.aero__icon{flex:none;width:40px;height:40px}.aero__msg{margin:0;font-size:15px}.aero__actions{border-top:1px solid #00000012;justify-content:flex-end;margin-top:22px;padding-top:14px;display:flex}.aero__ok{color:#14304f;cursor:pointer;background:linear-gradient(#fcfeff,#e2eefb);border:1px solid #5b7ba6;border-radius:4px;min-width:90px;padding:5px 14px;font-family:inherit;font-size:13px;box-shadow:inset 0 1px #ffffffe6,0 0 7px 1px #4691eb8c}.aero__ok:hover{background:linear-gradient(#eaf6ff,#c8e3ff)}.aero__ok:active{background:linear-gradient(#cfe6ff,#aad0ff)}#projects .window-body,#favourites .window-body,#photos .window-body{scrollbar-gutter:auto;overflow:hidden}@media (width<=640px){.desktop-icons{inset:0 0 var(--taskbar-h) 0;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));align-content:start;justify-items:center;gap:20px;padding:24px;display:grid;position:fixed}.desktop-icon{position:static!important;transform:none!important}#welcome,#info{height:auto;max-height:calc(100dvh - var(--taskbar-h) - 32px)}#contact{width:calc(100vw - 16px)!important;height:calc(100dvh - var(--taskbar-h) - 16px)!important;top:8px!important;left:8px!important}}
