@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-cyrillic-wght-normal.CjwCQKo9.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-latin-ext-wght-normal.BDUtSsKd.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:Jost Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/jost-latin-wght-normal.ObQm3Zd1.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(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/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{--void:#060606;--screen:#0b0b0b;--console:#141414;--console-raised:#1b1b1b;--rule:#2a2a2a;--rule-strong:#3c3c3c;--bezel:#818181;--bezel-light:#a9a9a9;--bezel-dark:#464646;--plate:#d8cec3;--plate-ink:#181818;--phosphor:#ebe7dc;--phosphor-soft:#bdb8ad;--phosphor-dim:#8a857c;--phosphor-faint:#4a4741;--amber:#cfa95e;--rust:#c07a50;--sage:#93b08c;--steel:#86a2b6;--rose:#b98597;--signal:#c8604c;--oxblood:#a3392f;--accent:var(--amber);--font-sans:"Jost Variable", "Futura", "Century Gothic", "Avenir Next", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--measure:42rem;--wide:72rem;--gutter:clamp(1rem, 4vw, 2.5rem);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--console);min-height:100dvh;color:var(--phosphor);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1.0625rem;line-height:1.7}img,svg,canvas{max-width:100%;display:block}img{height:auto}a{color:inherit}::selection{background:var(--accent);color:var(--void)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.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}.skip-link{z-index:100;background:var(--plate);color:var(--plate-ink);font-family:var(--font-mono);padding:.5rem .9rem;font-size:.8rem;text-decoration:none;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--phosphor-dim);font-size:.72rem;font-weight:500}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}body[data-section=home]{--accent:var(--phosphor)}body[data-section=log]{--accent:var(--amber)}body[data-section=projects]{--accent:var(--steel)}body[data-section=about]{--accent:var(--sage)}body:not(.bare){flex-direction:column;display:flex}body:not(.bare)>main{flex:1}.topbar[data-astro-cid-z4jru4n3]{border-bottom:1px solid var(--rule);background:var(--console);position:relative}.topbar[data-astro-cid-z4jru4n3]:before{content:"";background:linear-gradient(90deg, var(--bezel-dark), var(--bezel) 30%, var(--bezel-light) 50%, var(--bezel) 70%, var(--bezel-dark));height:4px;display:block}.topbar-inner[data-astro-cid-z4jru4n3]{max-width:var(--wide);padding:.85rem var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;margin:0 auto;display:flex}.mark[data-astro-cid-z4jru4n3]{color:var(--phosphor);align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.mark[data-astro-cid-z4jru4n3]:hover{color:var(--accent)}.keys[data-astro-cid-z4jru4n3]{flex-wrap:wrap;gap:.4rem;display:flex}.key[data-astro-cid-z4jru4n3]{--key-accent:var(--phosphor-dim);background:var(--console-raised);border:1px solid var(--rule-strong);color:var(--phosphor-soft);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;border-bottom-width:2px;align-items:center;gap:.55rem;padding:.42rem .8rem .42rem .65rem;font-size:.72rem;font-weight:500;line-height:1;text-decoration:none;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.key[data-astro-cid-z4jru4n3][data-key=log]{--key-accent:var(--amber)}.key[data-astro-cid-z4jru4n3][data-key=projects]{--key-accent:var(--steel)}.key[data-astro-cid-z4jru4n3][data-key=about]{--key-accent:var(--sage)}.key-lamp[data-astro-cid-z4jru4n3]{background:var(--phosphor-faint);width:7px;height:7px;transition:background-color .12s,box-shadow .12s}.key[data-astro-cid-z4jru4n3]:hover{color:var(--phosphor);border-color:var(--bezel-dark)}.key[data-astro-cid-z4jru4n3]:hover .key-lamp[data-astro-cid-z4jru4n3]{background:color-mix(in srgb, var(--key-accent) 55%, var(--phosphor-faint))}.key[data-astro-cid-z4jru4n3].active{color:var(--void);background:var(--key-accent);border-color:color-mix(in srgb, var(--key-accent) 60%, #000)}.key[data-astro-cid-z4jru4n3].active .key-lamp[data-astro-cid-z4jru4n3]{background:var(--void)}.footer[data-astro-cid-z4jru4n3]{border-top:1px solid var(--rule);margin-top:4rem}.footer-inner[data-astro-cid-z4jru4n3]{max-width:var(--wide);padding:1.1rem var(--gutter) 1.4rem;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin:0 auto;display:flex}.footer-status[data-astro-cid-z4jru4n3]{align-items:center;gap:.5rem;display:inline-flex}.status-lamp[data-astro-cid-z4jru4n3]{background:var(--sage);width:6px;height:6px}@media (width<=560px){.topbar-inner[data-astro-cid-z4jru4n3]{flex-direction:column;align-items:flex-start}.keys[data-astro-cid-z4jru4n3]{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.key[data-astro-cid-z4jru4n3]{justify-content:center;padding-inline:.4rem}}
