@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA)format("woff2"),url(data:font/woff;base64,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)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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.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,:root[data-theme=mocha]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ctp-rosewater:#f5e0dc;--ctp-flamingo:#f2cdcd;--ctp-pink:#f5c2e7;--ctp-mauve:#cba6f7;--ctp-red:#f38ba8;--ctp-maroon:#eba0ac;--ctp-peach:#fab387;--ctp-yellow:#f9e2af;--ctp-green:#a6e3a1;--ctp-teal:#94e2d5;--ctp-sky:#89dceb;--ctp-sapphire:#74c7ec;--ctp-blue:#89b4fa;--ctp-lavender:#b4befe;--ctp-text:#cdd6f4;--ctp-subtext0:#a6adc8;--ctp-surface0:#313244;--ctp-base:#1e1e2e;--ctp-mantle:#181825;--ctp-crust:#11111b}:root[data-theme=latte]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ctp-rosewater:#dc8a78;--ctp-flamingo:#dd7878;--ctp-pink:#ea76cb;--ctp-mauve:#8839ef;--ctp-red:#d20f39;--ctp-maroon:#e64553;--ctp-peach:#fe640b;--ctp-yellow:#df8e1d;--ctp-green:#40a02b;--ctp-teal:#179299;--ctp-sky:#04a5e5;--ctp-sapphire:#209fb5;--ctp-blue:#1e66f5;--ctp-lavender:#7287fd;--ctp-text:#4c4f69;--ctp-subtext0:#6c6f85;--ctp-surface0:#ccd0da;--ctp-base:#eff1f5;--ctp-mantle:#e6e9ef;--ctp-crust:#dce0e8}:root[data-theme=frappe]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ctp-rosewater:#f2d5cf;--ctp-flamingo:#eebebe;--ctp-pink:#f4b8e4;--ctp-mauve:#ca9ee6;--ctp-red:#e78284;--ctp-maroon:#ea999c;--ctp-peach:#ef9f76;--ctp-yellow:#e5c890;--ctp-green:#a6d189;--ctp-teal:#81c8be;--ctp-sky:#99d1db;--ctp-sapphire:#85c1dc;--ctp-blue:#8caaee;--ctp-lavender:#babbf1;--ctp-text:#c6d0f5;--ctp-subtext0:#a5adce;--ctp-surface0:#414559;--ctp-base:#303446;--ctp-mantle:#292c3c;--ctp-crust:#232634}:root[data-theme=cortado]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ctp-rosewater:#f4dbd6;--ctp-flamingo:#f0c6c6;--ctp-pink:#f5bde6;--ctp-mauve:#c6a0f6;--ctp-red:#ed8796;--ctp-maroon:#ee99a0;--ctp-peach:#f5a97f;--ctp-yellow:#eed49f;--ctp-green:#a6da95;--ctp-teal:#8bd5ca;--ctp-sky:#91d7e3;--ctp-sapphire:#7dc4e4;--ctp-blue:#8aadf4;--ctp-lavender:#b7bdf8;--ctp-text:#cad3f5;--ctp-subtext0:#a5adcb;--ctp-surface0:#363a4f;--ctp-base:#24273a;--ctp-mantle:#1e2030;--ctp-crust:#181926}:root{--color-page:var(--ctp-base);--color-surface:var(--ctp-base);--color-surface-elevated:var(--ctp-mantle);--color-surface-subtle:color-mix(in srgb, var(--color-surface-elevated) 40%, var(--color-page));--color-border:var(--ctp-surface0);--color-text:var(--ctp-text);--color-text-muted:var(--ctp-subtext0);--accent-rosewater:var(--ctp-rosewater);--accent-flamingo:var(--ctp-flamingo);--accent-pink:var(--ctp-pink);--accent-mauve:var(--ctp-mauve);--accent-red:var(--ctp-red);--accent-maroon:var(--ctp-maroon);--accent-peach:var(--ctp-peach);--accent-yellow:var(--ctp-yellow);--accent-green:var(--ctp-green);--accent-teal:var(--ctp-teal);--accent-sky:var(--ctp-sky);--accent-sapphire:var(--ctp-sapphire);--accent-blue:var(--ctp-blue);--accent-lavender:var(--ctp-lavender);--color-accent:var(--accent-green);--color-focus:var(--color-accent);--font-display:"JetBrains Mono", "Cascadia Code", Consolas, monospace;--font-body:var(--font-display);--text-meta:.925rem;--text-body:1rem;--text-section-title:clamp(1.5rem, 3vw, 1.875rem);--text-hero:clamp(2.25rem, 6vw, 4.5rem);--leading-meta:1.5;--leading-body:1.6;--leading-heading:1.25;--leading-hero:1.05;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--content-max-width:70rem;--chrome-max-width:100rem;--header-item-inset:.25rem;--footer-item-inset:clamp(1rem, 3vw, 2rem);--page-inline-padding:clamp(1rem, 5vw, 5rem);--section-block-spacing:clamp(3rem, 7vw, 4rem);--border-width:1px;--radius-sm:.375rem;--radius-md:.75rem;--focus-ring-width:2px;--focus-ring-offset:3px;--motion-duration-fast:.16s;--motion-ease-standard:ease;--motion-distance-sm:2px}*{box-sizing:border-box}html,body,#root{min-height:100%}html{scrollbar-color:var(--color-accent) transparent;scrollbar-width:thin}@view-transition{navigation:auto}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(page-content){animation:.12s ease-in both page-fade-out}::view-transition-new(page-content){animation:.18s ease-out both page-fade-in}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}}.page-view{view-transition-name:page-content}.page-view--fallback-transition{animation:.18s ease-out both page-fade-in}body{background:var(--color-page);min-width:0;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);margin:0;transition:background-color .5s ease-in-out,color .5s ease-in-out}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent);color:var(--color-accent)}a{color:var(--color-accent);-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--color-accent) 70%, transparent);text-underline-offset:.2em;text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s}a:active{color:var(--accent-sky)}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}@media (hover:hover){a:hover{color:var(--color-text);text-decoration-color:currentColor}}h1,h2,h3,h4,p{margin:0 0 var(--space-4)}h1,h2,h3,h4{color:var(--color-text);font-family:var(--font-display);font-weight:700}h1{font-size:var(--text-hero);line-height:var(--leading-hero);letter-spacing:-.05em}h2{font-size:var(--text-section-title);line-height:var(--leading-heading);letter-spacing:-.03em}h3{font-size:var(--text-body);line-height:var(--leading-heading)}h4{font-size:var(--text-meta);line-height:var(--leading-meta)}p{max-width:65ch;color:var(--color-text-muted)}@media (prefers-reduced-motion:reduce){::view-transition-old(page-content){animation:none}::view-transition-new(page-content){animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}main{width:min(calc(100% - (var(--page-inline-padding) * 2)), var(--content-max-width));margin-inline:auto}footer{width:min(calc(100% - (var(--page-inline-padding) * 2)), var(--chrome-max-width));padding-block:var(--space-6);margin-inline:auto}.site-header{z-index:10;background-color:color-mix(in srgb, var(--color-page) 78%, transparent);-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);border-bottom:var(--border-width) solid var(--color-border);width:100%;padding-block:0;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-8);width:min(calc(100% - (var(--page-inline-padding) * 2)), var(--chrome-max-width));padding:var(--space-2) var(--header-item-inset);flex-wrap:wrap;margin-inline:auto;display:flex}.site-header__brand{min-height:2rem;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-meta);white-space:nowrap;align-items:center;gap:.15em;font-weight:600;display:inline-flex}.site-header__home-path{color:var(--color-accent);cursor:pointer;font:inherit;font-weight:inherit;transition:color var(--motion-duration-fast) var(--motion-ease-standard);background:0 0;border:0;padding:0}.site-header__home-path:disabled{cursor:default}@media (hover:hover){.site-header__home-path:not(:disabled):hover{color:var(--color-text)}}.site-header__page-path{color:var(--color-text)}.site-header__cursor{background:var(--color-accent);border:0;width:.62em;height:1.08em;padding:0;animation:3s ease-in-out infinite terminal-cursor-blink;display:inline-block;position:relative}.site-header__cursor:disabled{opacity:1;cursor:default}.site-header__cursor--interactive{cursor:pointer}.site-header__cursor--interactive:before{content:"";position:absolute;inset:-.6em}@keyframes terminal-cursor-blink{0%,70%,to{opacity:1}90%{opacity:0}}.site-header__nav{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.site-header__nav a{min-height:2rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-meta);align-items:center;text-decoration:none;transition:color .16s;display:inline-flex}@media (hover:hover){.site-header__nav a:hover{color:var(--color-accent)}}.site-header__menu-button{display:none}@media (width<=34rem){.site-header__inner{flex-wrap:nowrap;position:relative}.site-header__menu-button{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);cursor:pointer;width:2.5rem;height:2.5rem;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard), box-shadow var(--motion-duration-fast) var(--motion-ease-standard);flex-direction:column;flex:0 0 2.5rem;justify-content:center;align-items:center;gap:.3rem;padding:0;display:inline-flex}.site-header[data-menu-open=true] .site-header__menu-button{border-color:var(--color-accent);box-shadow:0 0 .9rem color-mix(in srgb, var(--color-accent) 55%, transparent)}.site-header__menu-bar{background:var(--color-accent);width:1.15rem;height:2px;transition:transform .26s cubic-bezier(.22, 1, .36, 1), opacity var(--motion-duration-fast) var(--motion-ease-standard), width .26s cubic-bezier(.22, 1, .36, 1);border-radius:2px;display:block}.site-header__menu-bar:nth-child(2){align-self:flex-end;width:.8rem;margin-right:.6rem}.site-header[data-menu-open=true] .site-header__menu-bar:first-child{transform:translateY(.4rem)rotate(45deg)}.site-header[data-menu-open=true] .site-header__menu-bar:nth-child(2){opacity:0;transform:translate(.6rem)}.site-header[data-menu-open=true] .site-header__menu-bar:nth-child(3){transform:translateY(-.4rem)rotate(-45deg)}.site-header__nav{z-index:30;top:calc(100% + var(--space-2));align-items:stretch;gap:var(--space-1);padding:var(--space-3);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:0 1rem 2.5rem color-mix(in srgb, var(--ctp-crust) 70%, transparent), 0 0 1.5rem color-mix(in srgb, var(--color-accent) 30%, transparent);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);counter-reset:nav-item;opacity:0;pointer-events:none;transform:translateY(calc(var(--space-2) * -1)) scale(.98);transform-origin:100% 0;visibility:hidden;transition:opacity .2s var(--motion-ease-standard), transform .26s cubic-bezier(.22, 1, .36, 1), visibility .2s var(--motion-ease-standard);flex-wrap:nowrap;display:grid;position:absolute;left:0;right:0}.site-header[data-menu-open=true] .site-header__nav{opacity:1;pointer-events:auto;visibility:visible;transform:none}.site-header__nav a{gap:var(--space-3);min-height:3rem;padding:var(--space-2) var(--space-3);border:var(--border-width) solid transparent;color:var(--color-text);font-family:var(--font-display);font-size:var(--text-body);counter-increment:nav-item;opacity:0;transition:opacity .26s var(--motion-ease-standard), transform .32s cubic-bezier(.22, 1, .36, 1), background-color var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard);font-weight:600;transform:translate(-.75rem)}.site-header__nav a:before{content:"0" counter(nav-item);color:var(--color-accent);font-size:var(--text-meta);opacity:.8;font-weight:400}.site-header[data-menu-open=true] .site-header__nav a{opacity:1;transform:none}.site-header[data-menu-open=true] .site-header__nav a:first-of-type{transition-delay:40ms}.site-header[data-menu-open=true] .site-header__nav a:nth-of-type(2){transition-delay:90ms}.site-header[data-menu-open=true] .site-header__nav a:nth-of-type(3){transition-delay:.14s}.site-header[data-menu-open=true] .site-header__nav a:nth-of-type(4){transition-delay:.19s}.site-header__nav a[aria-current=page]{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent);box-shadow:0 0 1rem color-mix(in srgb, var(--color-accent) 25%, transparent)}.site-header__nav a[aria-current=page]:after{content:"<";margin-left:auto;animation:1.6s ease-in-out infinite terminal-cursor-blink}.site-header__nav a:active{background:color-mix(in srgb, var(--color-accent) 22%, transparent);color:var(--color-accent)}}@media (width<=34rem) and (prefers-reduced-motion:reduce){.site-header__nav,.site-header__nav a,.site-header__menu-bar{transition-duration:1ms;transition-delay:0s!important}}main{gap:var(--section-block-spacing);padding-block:var(--space-8) var(--space-16);display:grid}main>section{scroll-margin-top:var(--space-16);padding-block:0}.standalone-page{gap:var(--space-12);min-height:calc(100vh - 15rem)}.site-footer{padding-block:var(--space-6) var(--space-6)}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:3rem;padding:var(--space-3) var(--footer-item-inset);border-radius:var(--radius-md);background:var(--ctp-crust);color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-meta);border:0;display:flex}.site-footer__identity,.site-footer__details,.site-footer__status-trigger,.site-footer__status,.site-footer__metric,.site-footer__commit,.site-footer__social-link{align-items:center;display:inline-flex}.site-footer__identity,.site-footer__details{gap:var(--space-6);flex-wrap:wrap;min-width:0}.site-footer__identity{color:var(--color-text)}.site-footer__status{gap:var(--space-2)}.site-footer__status-trigger{border-radius:var(--radius-sm);cursor:help;outline:none;position:relative}.site-footer__status-trigger:focus-visible{outline:var(--focus-ring-width) solid color-mix(in srgb, var(--color-accent) 45%, transparent);outline-offset:var(--focus-ring-offset)}.site-footer__status-dot{background:var(--ctp-green);width:.7rem;height:.7rem;box-shadow:0 0 0 .15rem color-mix(in srgb, var(--ctp-green) 18%, transparent);border-radius:50%;animation:3.5s ease-in-out infinite site-footer-status-pulse}.site-footer__status--degraded{color:var(--ctp-red)}.site-footer__status--degraded .site-footer__status-dot{background:var(--ctp-red);box-shadow:0 0 0 .15rem color-mix(in srgb, var(--ctp-red) 18%, transparent);animation:.9s ease-in-out infinite site-footer-status-alert}@keyframes site-footer-status-alert{0%,to{opacity:.7;box-shadow:0 0 0 .15rem color-mix(in srgb, var(--ctp-red) 18%, transparent)}50%{opacity:1;box-shadow:0 0 0 .42rem color-mix(in srgb, var(--ctp-red) 32%, transparent)}}@keyframes site-footer-status-pulse{0%,to{opacity:.72;box-shadow:0 0 0 .15rem color-mix(in srgb, var(--ctp-green) 18%, transparent)}50%{opacity:1;box-shadow:0 0 0 .35rem color-mix(in srgb, var(--ctp-green) 28%, transparent)}}.site-footer__status-tooltip{z-index:3;bottom:calc(100% + var(--space-3));width:19rem;max-width:calc(100vw - (var(--space-6) * 2));box-sizing:border-box;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-meta);pointer-events:none;opacity:0;visibility:hidden;translate:-50%;transform:translateY(var(--space-2));transition:opacity var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard), visibility var(--motion-duration-fast) var(--motion-ease-standard);line-height:1.3;position:absolute;left:50%}.site-footer__status-trigger:is(:hover,:focus-visible) .site-footer__status-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.site-footer__status-tooltip--edge{left:auto;right:0;translate:0}.site-footer__status-tooltip-title,.site-footer__status-list,.site-footer__status-item{display:block}.site-footer__status-tooltip-title{margin-bottom:var(--space-3);color:var(--color-text);letter-spacing:.04em;font-weight:700}.site-footer__status-item{justify-content:space-between;align-items:center;column-gap:var(--space-6);flex-wrap:wrap;row-gap:0;display:flex}.site-footer__status-item+.site-footer__status-item{margin-top:var(--space-2)}.site-footer__status-item>:first-child{color:var(--color-text-muted)}.site-footer__service-note{padding-left:var(--space-2);color:var(--color-text-muted);flex-basis:100%;font-size:.7rem;line-height:1.2}.site-footer__service-health{align-items:center;gap:var(--space-2);flex-shrink:0;display:inline-flex}.site-footer__service-health-dot{background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.site-footer__service-health--working{color:var(--ctp-green)}.site-footer__service-health--issues{color:var(--ctp-red)}.site-footer__service-health--checking{color:var(--ctp-yellow)}.site-footer__details{justify-content:flex-end}.site-footer__metric,.site-footer__commit,.site-footer__social-link{gap:var(--space-3);color:var(--color-text);text-decoration:none}.site-footer__tooltip{position:relative}.site-footer__tooltip:after{z-index:2;bottom:calc(100% + var(--space-2));padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);content:attr(data-tooltip);box-sizing:border-box;width:max-content;font-family:var(--font-display);font-size:var(--text-meta);max-width:min(19rem, calc(100vw - (var(--space-4) * 2)));white-space:normal;overflow-wrap:anywhere;text-align:center;pointer-events:none;opacity:0;visibility:hidden;translate:-50%;transform:translateY(var(--space-2));transition:opacity var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard), visibility var(--motion-duration-fast) var(--motion-ease-standard);line-height:1.3;position:absolute;left:50%}.site-footer__tooltip:is(:hover,:focus-visible):after{opacity:1;visibility:visible;transform:translateY(0)}.site-footer__tooltip--detail:after{content:none}.site-footer__tooltip-detail{z-index:2;bottom:calc(100% + var(--space-2));box-sizing:border-box;width:max-content;max-width:100%;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-meta);text-align:left;max-width:min(22rem, calc(100vw - (var(--space-4) * 2)));white-space:normal;overflow-wrap:anywhere;pointer-events:none;opacity:0;visibility:hidden;translate:-50%;transform:translateY(var(--space-2));transition:opacity var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard), visibility var(--motion-duration-fast) var(--motion-ease-standard);line-height:1.3;position:absolute;left:50%;overflow:hidden}.site-footer__tooltip-detail>span{display:block}.site-footer__tooltip-additions,.site-footer__tooltip-deletions{font-weight:700}.site-footer__tooltip-additions{color:var(--accent-green)}.site-footer__tooltip-deletions{color:var(--accent-red)}.site-footer__tooltip:is(:hover,:focus-visible) .site-footer__tooltip-detail{opacity:1;visibility:visible;transform:translateY(0)}.site-footer__tooltip-detail--edge{translate:0;transform:translateY(var(--space-2));left:auto;right:0}.site-footer__icon{width:1.4rem;height:1.4rem;color:var(--color-accent);justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex;transform:translateY(-1px)}.site-footer__icon svg{width:1.35rem;height:1.35rem}.site-footer__clock-icon{width:1.55rem;height:1.55rem}.site-footer__social-link{border-radius:var(--radius-sm);justify-content:center;min-width:2.75rem;min-height:2.75rem}.site-footer__social-link svg{width:1.5rem;height:1.5rem}.site-footer__commit{overflow-wrap:anywhere}.site-footer__commit:hover,.site-footer__social-link:hover{color:var(--color-accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=60rem){.site-footer__inner{flex-direction:column;align-items:flex-start}.site-footer__details{justify-content:flex-start}}@media (width<=48rem){.site-header__inner{gap:var(--space-6)}.site-header__nav{gap:var(--space-3)}main>section{scroll-margin-top:8rem}}@media (width<=34rem){.site-footer__metric.site-footer__tooltip:after{display:none}.site-footer__metric.site-footer__tooltip:is(:hover,:focus-visible):after{display:block}.site-footer__metric.site-footer__tooltip:first-child:after{left:calc(-1 * var(--space-4));translate:0}.site-footer__metric.site-footer__tooltip:nth-child(2):after{left:auto;right:0;translate:0}.site-footer__inner{padding:var(--space-3) var(--space-4)}.site-footer__identity,.site-footer__details{gap:var(--space-4) var(--space-6)}.site-header__inner{gap:var(--space-4);padding-block:var(--space-2)}main>section{scroll-margin-top:var(--space-4)}}.theme-menu{color:var(--color-text-muted);font-size:var(--text-meta);position:relative}.theme-menu summary{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard);padding-right:0;list-style:none;display:inline-flex}.theme-menu summary::-webkit-details-marker{display:none}.theme-menu summary:after{content:"+";color:var(--color-accent)}.theme-menu[open] summary{background:var(--color-surface-elevated);color:var(--color-text)}.theme-menu[open] summary:after{content:"−"}.theme-menu__panel{z-index:20;top:calc(100% + var(--space-2));width:min(26rem, calc(100vw - (var(--page-inline-padding) * 2)));padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface-elevated) 96%, transparent);opacity:0;-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);pointer-events:none;transform:translateY(calc(var(--space-1) * -1));visibility:hidden;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard), visibility var(--motion-duration-fast) var(--motion-ease-standard);display:block;position:absolute;right:0}.theme-menu[open] .theme-menu__panel{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.theme-menu[open] .theme-menu__panel.is-closing{opacity:0;pointer-events:none;transform:translateY(calc(var(--space-1) * -1));visibility:hidden}.theme-menu fieldset{border:0;min-width:0;margin:0;padding:0}.theme-menu fieldset+fieldset{margin-top:var(--space-4)}.theme-menu legend{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--text-meta);font-weight:700}.theme-menu__palettes>div{gap:var(--space-1);padding:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.theme-menu__palettes button{min-height:2rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;font-size:.75rem}.theme-menu__palettes button[aria-pressed=true]{background:var(--color-page);border:var(--border-width) solid var(--color-accent);color:var(--color-text)}.theme-menu__accents>div{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(2.5rem,1fr));display:grid}.theme-menu__accents button{border-radius:var(--radius-sm);cursor:pointer;opacity:.8;width:2.5rem;min-width:0;height:2.5rem;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard);border:0;justify-self:center;padding:0;position:relative}.theme-menu__accents button.is-selected{outline:2px solid var(--color-text);outline-offset:2px;opacity:1;transform:scale(1.05)}.theme-menu__accent-tooltip{z-index:2;bottom:calc(100% + var(--space-1));width:max-content;max-width:min(10rem, calc(100vw - (var(--space-4) * 2)));padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-meta);overflow-wrap:anywhere;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;translate:-50%;transform:translateY(var(--space-2));transition:opacity var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard), visibility var(--motion-duration-fast) var(--motion-ease-standard);line-height:1.3;position:absolute;left:50%}.theme-menu__accents button:is(:hover,:focus-visible) .theme-menu__accent-tooltip{opacity:1;visibility:visible;transform:translateY(0)}@media (width>=30rem){.theme-menu__palettes>div{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (hover:hover){.theme-menu summary:hover{color:var(--color-accent)}.theme-menu__palettes button:hover{color:var(--color-text)}.theme-menu__accents button:hover{opacity:1;transform:scale(1.1)}}@media (width<=34rem){.theme-menu{width:100%}.theme-menu summary{width:100%;min-height:3rem;padding:var(--space-2) var(--space-3);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-body);justify-content:space-between;font-weight:600}.theme-menu__panel{width:100%;margin-top:var(--space-2);box-shadow:none;position:static}.theme-menu:not([open]) .theme-menu__panel{display:none}.theme-menu__accents>div{grid-template-columns:repeat(5,minmax(0,1fr))}.theme-menu__accents button:nth-child(5n+1) .theme-menu__accent-tooltip{left:0;translate:0}.theme-menu__accents button:nth-child(5n) .theme-menu__accent-tooltip{left:auto;right:0;translate:0}}.content-section>h2,.extra-info-section>h2{margin-bottom:var(--space-6);font-family:var(--font-display);font-size:var(--text-section-title);font-weight:600;line-height:var(--leading-heading);letter-spacing:-.03em}.about-section__content>h2{margin-bottom:var(--space-12);font-family:var(--font-display);font-size:var(--text-section-title);font-weight:600;line-height:var(--leading-heading);letter-spacing:-.03em}.about-section__name,.experience-entry__title{color:var(--color-accent)}.experience-timeline{gap:var(--space-8);margin:0;padding:0;list-style:none;display:grid;position:relative}.experience-timeline:before{width:var(--border-width);background:var(--color-border);content:"";position:absolute;top:.875rem;bottom:.875rem;left:.375rem}.experience-entry{gap:var(--space-6);grid-template-columns:.75rem minmax(0,1fr);display:grid;position:relative}.experience-entry__marker{z-index:1;border:.1875rem solid var(--color-page);background:var(--color-accent);outline:var(--border-width) solid var(--color-accent);border-radius:50%;width:.75rem;height:.75rem;margin-top:.5rem}.experience-entry__content{min-width:0}.experience-entry__title{margin-bottom:var(--space-1);overflow-wrap:anywhere;font-size:clamp(1.05rem,2vw,1.25rem)}.experience-entry__linkedin{width:1em;height:1em;margin-left:var(--space-2);vertical-align:-.1em;color:var(--color-text-muted);transition:color var(--motion-duration-fast) var(--motion-ease-standard);display:inline-flex}.experience-entry__linkedin svg{width:100%;height:100%}.experience-entry__linkedin:is(:hover,:focus-visible){color:var(--color-accent)}.experience-entry__heading{align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-1);grid-template-columns:minmax(0,1fr) auto;display:grid}.experience-entry__heading .experience-entry__title{margin-bottom:0}.experience-entry__role,.experience-entry__date{color:var(--color-text);font-size:var(--text-body);font-weight:600;line-height:var(--leading-meta);margin:0}.experience-entry__role{margin-bottom:var(--space-3)}.experience-entry__date{white-space:nowrap;text-align:right}.experience-entry__highlights{gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-body);line-height:var(--leading-body);margin:0;padding-left:1.25rem;display:grid}.experience-entry__highlights li{padding-left:var(--space-1)}.experience-entry__highlights strong{color:var(--color-text);font-weight:700}@media (width<=34rem){.experience-entry{gap:var(--space-4)}.experience-entry__heading{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.experience-entry__date{white-space:normal;text-align:left}}.about-section__layout{align-items:center;gap:var(--space-12);display:grid}.about-section__content p{max-width:80ch;margin-bottom:0}.about-section__content .about-section__sentence{display:block}.about-section__content .about-section__sentence+.about-section__sentence{margin-top:var(--space-6)}.about-section__content strong{color:var(--color-accent);font-weight:700;transition:color .16s}.about-section__links{gap:var(--space-4);margin-top:var(--space-12);flex-wrap:wrap;display:flex}.about-section__links a{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-meta);transition:transform var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard);text-decoration:none;display:inline-flex}.about-section__links a:is(:hover,:focus-visible){border-color:var(--color-accent);color:var(--color-accent)}.about-section__links svg{flex:none;width:1.25rem;height:1.25rem}.about-section__image{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);justify-self:center;width:20rem;max-width:100%;height:auto;display:block}@media (width>=48rem){.about-section__layout{grid-template-columns:minmax(0,1fr) auto}.about-section__image{justify-self:end}}.skills-groups{gap:var(--space-8);display:grid}.skill-group{min-width:0}.skill-group h3{margin-bottom:var(--space-3);color:var(--color-accent);font-size:var(--text-meta)}.skills-grid{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.skill-card{align-items:center;gap:var(--space-2);min-width:0;min-height:0;padding:var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text);grid-template-columns:2.75rem minmax(0,1fr);display:grid}.skill-card__icon-frame{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--skill-icon-bg) 82%, var(--color-surface-elevated));border:var(--border-width) solid color-mix(in srgb, var(--skill-icon-bg) 60%, var(--color-border));place-items:center;width:2.75rem;height:2.75rem;display:grid}.skill-card__icon{object-fit:contain;width:2rem;height:2rem}.skill-card__name{overflow-wrap:normal;white-space:pre-line;font-size:clamp(.75rem,1.4vw,.875rem)}@media (width>=40rem){.skills-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=72rem){.skills-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.projects-section>h2{margin-bottom:var(--space-6)}.projects-grid{gap:var(--space-4);display:grid}.projects-section__all{margin-top:var(--space-6);justify-content:center;display:flex}.projects-section__all a{min-height:2.75rem;padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard);align-items:center;text-decoration:none;display:inline-flex}.projects-section__all a:is(:hover,:focus-visible){border-color:var(--color-accent);background-color:var(--color-surface-elevated);color:var(--color-accent)}.project-card{min-width:0;padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard);flex-direction:column;display:flex;position:relative}.project-card__open{z-index:1;border-radius:inherit;width:100%;height:100%;color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;position:absolute;inset:0}.project-card__open:focus-visible{outline:none}.project-card:has(.project-card__open:focus-visible){outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);border-color:var(--color-accent);background-color:var(--color-surface-elevated)}.project-card__content{pointer-events:none;position:relative}.project-card--hidden{visibility:hidden}.project-card--returning{pointer-events:none;animation:.32s cubic-bezier(.22,1,.36,1) both project-card-return}@keyframes project-card-return{0%,70%{opacity:0}to{opacity:1}}.project-card h3{margin-bottom:var(--space-3);overflow-wrap:anywhere;color:var(--color-accent);transition:color var(--motion-duration-fast) var(--motion-ease-standard)}.project-card__description{margin-bottom:var(--space-6)}.project-card__technologies{margin-top:0}.project-card__technologies h4{margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:var(--text-meta)}.project-card__technologies ul{gap:var(--space-2);margin:0 0 var(--space-6);flex-wrap:wrap;padding:0;list-style:none;display:flex}.project-card__technologies li{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-muted);font-size:var(--text-meta)}.project-card__links{z-index:2;gap:var(--space-2);font-size:var(--text-meta);flex-wrap:wrap;margin:auto 0 0;display:flex;position:relative}.project-card__links a{text-underline-offset:.2em;align-items:center;gap:.3em;text-decoration-thickness:1px;display:inline-flex}.project-card__source-icon{flex:none;width:.95em;height:.95em}.project-dialog-backdrop{z-index:20;padding:var(--space-6);isolation:isolate;background:0 0;place-items:center;display:grid;position:fixed;inset:0}#top{transition:filter .32s cubic-bezier(.22,1,.36,1)}#top.project-dialog-page--blurred{filter:blur(.5rem)}#top.project-dialog-page--blurred.project-dialog-page--closing{filter:blur()}.project-dialog-backdrop:before{z-index:0;background:color-mix(in srgb, var(--color-page) 72%, transparent);content:"";opacity:0;pointer-events:none;animation:.32s cubic-bezier(.22,1,.36,1) both project-backdrop-tint-in;position:absolute;inset:0}.project-dialog-backdrop[data-closing=true]{background:0 0}.project-dialog-backdrop[data-closing=true]:before{animation-name:project-backdrop-tint-out}@keyframes project-backdrop-tint-in{0%{opacity:0}to{opacity:1}}@keyframes project-backdrop-tint-out{0%{opacity:1}to{opacity:0}}.project-dialog{--project-dialog-expanded-scale:1;--project-dialog-text-scale:var(--project-dialog-expanded-scale);--project-dialog-title-gap:var(--space-3);--project-dialog-final-padding:calc(var(--space-6) * var(--project-dialog-expanded-scale));--project-dialog-text-body:calc(var(--text-body) * var(--project-dialog-text-scale));--project-dialog-text-meta:calc(var(--text-meta) * var(--project-dialog-text-scale));width:min(46rem,100%);min-height:min(38rem, calc(100dvh - (var(--space-6) * 2)));max-height:min(46rem, calc(100dvh - (var(--space-6) * 2)));padding:var(--project-dialog-final-padding);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-page);visibility:hidden;flex-direction:column;display:flex;position:relative;overflow:auto}@property --project-dialog-text-scale{syntax:"<number>";inherits:true;initial-value:1}@property --project-dialog-title-gap{syntax:"<length>";inherits:true;initial-value:0}.project-dialog--positioned{top:var(--project-dialog-target-top);left:var(--project-dialog-target-left);width:var(--project-dialog-target-width);height:var(--project-dialog-target-height);visibility:visible;min-height:0;max-height:none;animation:.32s cubic-bezier(.22,1,.36,1) both project-dialog-open;position:fixed;overflow:hidden}.project-dialog[data-closing=true]{animation-name:project-dialog-close}.project-dialog[data-open-complete=true]{overflow:hidden}@keyframes project-dialog-open{0%{--project-dialog-text-scale:1;--project-dialog-title-gap:var(--space-3);top:var(--project-dialog-origin-top);left:var(--project-dialog-origin-left);width:var(--project-dialog-origin-width);height:var(--project-dialog-origin-height);padding:var(--space-6);border-color:var(--color-border);background-color:var(--color-surface)}to{--project-dialog-text-scale:var(--project-dialog-expanded-scale);--project-dialog-title-gap:var(--space-3);top:var(--project-dialog-target-top);left:var(--project-dialog-target-left);width:var(--project-dialog-target-width);height:var(--project-dialog-target-height);padding:var(--project-dialog-final-padding);border-color:var(--color-accent);background-color:var(--color-page)}}@keyframes project-dialog-close{0%{--project-dialog-text-scale:var(--project-dialog-expanded-scale);--project-dialog-title-gap:var(--space-3);top:var(--project-dialog-target-top);left:var(--project-dialog-target-left);width:var(--project-dialog-target-width);height:var(--project-dialog-target-height);padding:var(--project-dialog-final-padding);border-color:var(--color-accent);background-color:var(--color-page)}to{--project-dialog-text-scale:1;--project-dialog-title-gap:var(--space-3);top:var(--project-dialog-origin-top);left:var(--project-dialog-origin-left);width:var(--project-dialog-origin-width);height:var(--project-dialog-origin-height);padding:var(--space-6);border-color:var(--color-border);background-color:var(--color-surface)}}.project-dialog__content-stack{z-index:1;flex:1;grid-template-rows:minmax(0,1fr);min-height:0;display:grid;position:relative}.project-dialog__content{grid-area:1/1;min-width:0}.project-dialog__content--expanded{flex-direction:column;min-height:0;display:flex;overflow:hidden}.project-dialog__content--compact{opacity:0;pointer-events:none;flex-direction:column;min-height:0;display:flex}.project-dialog[data-closing=true] .project-dialog__content--expanded{animation:.32s both project-dialog-expanded-content-out}.project-dialog[data-closing=true] .project-dialog__content--compact{animation:.32s both project-dialog-compact-content-in}@keyframes project-dialog-expanded-content-out{0%,64%{opacity:1}82%,to{opacity:0}}@keyframes project-dialog-compact-content-in{0%,64%{opacity:0}82%,to{opacity:1}}.project-dialog h3{margin-bottom:var(--project-dialog-title-gap);color:var(--color-accent);font-size:var(--project-dialog-text-body)}.project-dialog .project-dialog__content--compact h3{margin-bottom:var(--space-3);color:var(--color-accent);font-size:var(--text-body)}.project-dialog{font-size:var(--project-dialog-text-body)}.project-dialog .project-dialog__content--compact{font-size:var(--text-body)}.project-dialog .project-dialog__description{margin-bottom:var(--space-6)}.project-dialog .project-card__technologies h4,.project-dialog .project-card__technologies li,.project-dialog .project-card__links{font-size:var(--project-dialog-text-meta)}.project-dialog .project-dialog__content--compact .project-card__technologies h4,.project-dialog .project-dialog__content--compact .project-card__technologies li{font-size:var(--text-meta)}.project-dialog .project-card__technologies h4{margin-bottom:var(--space-3)}.project-dialog .project-card__technologies ul{gap:var(--space-2);margin-bottom:var(--space-6)}.project-dialog .project-card__technologies li{padding:var(--space-1) var(--space-2)}.project-dialog .project-dialog__highlights{gap:var(--space-2);min-height:0;font-size:var(--project-dialog-text-body);padding-left:1.25rem}.project-dialog .project-dialog__highlights li{padding-left:var(--space-1)}.project-dialog__highlights-reveal{flex:none;min-height:0;overflow:hidden}.project-dialog[data-open-complete=true] .project-dialog__content--expanded{overflow-y:auto}.project-dialog[data-open-complete=true] .project-dialog__highlights-reveal{overflow:visible}.project-dialog--positioned:not([data-closing=true]) .project-dialog__highlights{animation:.32s cubic-bezier(.4,0,.2,1) both project-dialog-highlights-slide-down}.project-dialog[data-closing=true] .project-dialog__highlights{animation:.32s cubic-bezier(.4,0,.2,1) both project-dialog-highlights-slide-up}@keyframes project-dialog-highlights-slide-down{0%{transform:translateY(-100%)}90%,to{transform:translateY(0)}}@keyframes project-dialog-highlights-slide-up{0%{transform:translateY(0)}62%,to{transform:translateY(-100%)}}.project-dialog__close{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;font:inherit;background:0 0;border:0;place-items:center;padding:0;font-size:1.4rem;line-height:1;display:inline-grid;position:absolute}.project-dialog__close:is(:hover,:focus-visible){background:var(--color-surface-subtle);color:var(--color-accent)}.project-dialog__highlights{margin-bottom:var(--space-3)}.project-dialog__links{z-index:1;margin-top:var(--space-3);flex:none;position:relative}@media (hover:hover){.project-card:hover{transform:translateY(calc(var(--motion-distance-sm) * -1));border-color:var(--color-accent);background-color:var(--color-surface-elevated)}.project-card:hover h3{color:var(--color-accent)}}@media (width>=48rem){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=36rem){.project-dialog-backdrop{padding:var(--space-4)}.project-dialog{--project-dialog-final-padding:var(--space-4);max-height:calc(100dvh - (var(--space-4) * 2))}}.education-section>h2{margin-bottom:var(--space-6)}.education-entry__heading{justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding-bottom:var(--space-3);border-bottom:var(--border-width) solid var(--color-border);display:flex}.education-entry__heading h3{margin-bottom:var(--space-1);color:var(--color-accent);font-size:clamp(1.1rem,2.3vw,1.4rem)}.education-entry__major,.education-entry__meta{color:var(--color-text);font-weight:700}.education-entry__field-name{color:var(--color-accent)}.education-entry__heading p,.education-entry__details dd{margin:0}.education-entry__heading .education-entry__minors{margin-top:var(--space-1);color:var(--color-text-muted)}.education-entry__meta{gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-meta);text-align:right;white-space:nowrap;flex:none;display:grid}.education-entry__details{gap:var(--space-4);margin:var(--space-4) 0 0;grid-template-columns:1fr;display:grid}.education-entry__details div{gap:var(--space-1);display:grid}.education-entry__details dt{color:var(--color-accent);font-size:var(--text-meta);font-weight:700}.education-entry__details dt.education-entry__subheading{color:var(--color-accent)}.education-entry__details dd{color:var(--color-text-muted)}.about-page{align-content:start;gap:var(--space-8);padding-block:clamp(var(--space-8), 8vw, var(--space-16));display:grid}.about-page__title,.page-section-label{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-section-title);font-weight:600;line-height:var(--leading-heading);letter-spacing:-.03em;margin:0}.about-page__layout{align-items:start;gap:var(--space-12);display:grid}.about-page__content{min-width:0}.about-page__content p{max-width:80ch;margin:0}.about-page__sentence{display:block}.about-page__sentence+.about-page__sentence{margin-top:var(--space-6)}.about-page__inline-link{color:var(--color-accent);text-underline-offset:4px;font-weight:700;-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:.1em;transition:background-color .2s,color .2s;display:inline;position:relative}.about-page__inline-link:is(:hover,:focus-visible){background:var(--color-accent);color:var(--ctp-mantle);text-decoration-line:none}.about-page__links{gap:var(--space-4);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.about-page__links a{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-meta);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard);text-decoration:none;display:inline-flex}.about-page__links svg{flex:none;width:1.25rem;height:1.25rem}.about-page__links .about-page__mail-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;width:1.35rem;height:1.35rem;transform:translate(-.1rem)}.about-page__links a:is(:hover,:focus-visible){border-color:var(--color-accent);color:var(--color-accent)}.about-page__content strong{color:var(--color-accent);font-weight:700}.about-page__image{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);justify-self:center;width:20rem;max-width:100%;height:auto;display:block}.about-site{gap:var(--space-8);display:grid}.about-site__intro{gap:var(--space-3);display:grid}.about-site__intro h2,.about-site__intro p{margin:0}.about-site__intro p{max-width:none}.about-site__stack{gap:var(--space-3);flex-wrap:wrap;display:flex}.about-site__stack span{padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--text-body);font-weight:700}.about-site strong{color:var(--color-text);font-weight:700}.about-site__services{border-top:var(--border-width) solid var(--color-border);gap:0;display:grid}.about-site__service{align-items:start;gap:var(--space-4);padding-block:var(--space-6);border-bottom:var(--border-width) solid var(--color-border);grid-template-columns:auto minmax(0,1fr);display:grid}.about-site__service-icon{width:1.5rem;height:1.5rem;color:var(--color-accent);justify-content:center;align-items:center;display:inline-flex}.about-site__service-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:100%;height:100%}.about-site__service h3{margin:0 0 var(--space-2)}.about-site__service p{max-width:none;font-size:var(--text-body);margin:0}.projects-page{gap:var(--space-6);display:grid}.resume-page{align-content:start;gap:var(--space-6);display:grid}.resume-page__intro{display:block}.resume-page__intro h1{margin:0}.resume-page__toggle{gap:var(--space-1);width:fit-content;padding:var(--space-1);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);display:inline-flex}.resume-page__toggle button{min-height:2.25rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-meta);white-space:nowrap;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard);background:0 0;border:0}.resume-page__toggle button.is-active{background:var(--color-page);border:var(--border-width) solid var(--color-accent);color:var(--color-text);font-weight:700}@media (hover:hover){.resume-page__toggle button:not(.is-active):hover{color:var(--color-text)}}.resume-page__toolbar{justify-content:flex-end;align-items:center;gap:var(--space-8);display:flex}.resume-page__actions{gap:var(--space-3);flex-wrap:wrap;flex:none;justify-content:flex-end;display:flex}.resume-page__actions a{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-size:var(--text-meta);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard), transform var(--motion-duration-fast) var(--motion-ease-standard);font-weight:700;text-decoration:none;display:inline-flex}.resume-page__actions a:is(:hover,:focus-visible){border-color:var(--color-accent);color:var(--color-accent);transform:translateY(calc(var(--motion-distance-sm) * -1))}.resume-page__actions svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.15rem;height:1.15rem}.resume-page__viewer{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);height:min(96rem,110vh);min-height:58rem;overflow:hidden}.resume-page__viewer iframe{border:0;width:100%;height:100%;display:block}.resume-page__empty{align-content:center;place-items:center;gap:var(--space-3);min-height:28rem;padding:var(--space-8);border:var(--border-width) dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);text-align:center;display:grid}.resume-page__empty h2,.resume-page__empty p{margin:0}.resume-page__document-icon{width:4rem;height:4rem;margin-bottom:var(--space-2);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);color:var(--color-accent);place-items:center;display:grid}.resume-page__document-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:2rem;height:2rem}@media (width<=42rem){.resume-page__toolbar{flex-direction:column;align-items:flex-start}.resume-page__toggle{width:100%;display:flex}.resume-page__toggle button{min-width:0;padding-inline:var(--space-2);white-space:normal;flex:1 1 0;font-size:.8rem}.resume-page>*{min-width:0}.resume-page__toolbar,.resume-page__actions{width:100%}.resume-page__actions a{flex:1 1 0;justify-content:center}.resume-page__viewer{aspect-ratio:1/1.42;height:auto;min-height:0}}@media (width<=34rem){.site-header__home-path,.contact-card__footer-link,.project-card__links a{align-items:center;min-height:2.75rem;display:inline-flex}.contact-card .contribution-card__github-link{width:2.75rem;height:2.75rem}}.page-intro{max-width:60rem;padding-block:clamp(var(--space-8), 8vw, var(--space-16))}.page-intro__eyebrow{margin-bottom:var(--space-4);color:var(--color-accent);font-size:var(--text-meta);text-transform:uppercase;font-weight:700}.page-intro h1{max-width:18ch;margin-bottom:var(--space-6)}.page-intro__lede{max-width:65ch;font-size:clamp(1.05rem,2vw,1.25rem)}.projects-grid--page{gap:var(--space-6)}@media (width>=48rem){.about-page__layout{grid-template-columns:auto minmax(0,1fr)}.about-page__image{justify-self:start}}@media (width<=34rem){.about-site__service{gap:var(--space-3);padding-block:var(--space-4)}.education-entry__heading{flex-direction:column}.education-entry__meta{text-align:left}}@media (prefers-reduced-motion:reduce){.site-header__cursor{animation:none}}.contribution-card{padding:var(--space-6);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-page);position:relative;overflow:visible}.contact-card--contributions{justify-content:space-between}.contribution-card__header{justify-content:flex-start;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);display:flex}.contribution-card__header h3{color:var(--color-text);margin:0;font-size:1.05rem}.contribution-card__title{min-width:0}.contribution-card__github-link{width:1.5rem;height:1.5rem;color:var(--color-accent);flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.contact-card .contribution-card__github-link svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:100%;height:100%}.contribution-calendar{--contribution-cell-size:.85rem;--contribution-cell-gap:.19rem;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.contribution-calendar__area{--contribution-green:var(--accent-green);position:relative}.contribution-calendar__day-labels{grid-template-rows:repeat(7, var(--contribution-cell-size));gap:var(--contribution-cell-gap);color:var(--color-text-muted);font-size:.7rem;line-height:var(--contribution-cell-size);padding-top:1.45rem;display:grid}.contribution-calendar__viewport{min-width:0;padding-bottom:var(--space-2);scrollbar-color:var(--color-border) transparent;scrollbar-width:thin;overflow-x:auto}.contribution-calendar__canvas{width:max-content;min-width:100%}.contribution-calendar__months{grid-template-columns:repeat(var(--contribution-week-count), var(--contribution-cell-size));gap:var(--contribution-cell-gap);height:1.25rem;margin-bottom:var(--space-1);color:var(--color-text-muted);white-space:nowrap;width:max-content;margin-inline:auto;font-size:.7rem;display:grid}.contribution-calendar__months span{line-height:1}.contribution-calendar__grid{grid-auto-columns:var(--contribution-cell-size);grid-auto-flow:column;grid-template-rows:repeat(7, var(--contribution-cell-size));gap:var(--contribution-cell-gap);width:max-content;margin-inline:auto;display:grid}.contribution-calendar__cell{width:var(--contribution-cell-size);height:var(--contribution-cell-size);border:1px solid color-mix(in srgb, var(--color-border) 65%, transparent);background:color-mix(in srgb, var(--color-surface-elevated) 78%, var(--color-border));transition:transform var(--motion-duration-fast) var(--motion-ease-standard);border-radius:.16rem;display:block}.contribution-calendar__cell--level-1{background:color-mix(in srgb, var(--contribution-green) 20%, var(--color-surface-elevated))}.contribution-calendar__cell--level-2{background:color-mix(in srgb, var(--contribution-green) 45%, var(--color-surface-elevated))}.contribution-calendar__cell--level-3{background:color-mix(in srgb, var(--contribution-green) 75%, var(--color-surface-elevated))}.contribution-calendar__cell--level-4{background:var(--contribution-green)}.contribution-calendar__cell--empty{background:0 0;border-color:#0000}.contribution-calendar__footer{justify-content:flex-end;align-items:center;gap:var(--space-4);margin-top:var(--space-3);color:var(--color-text-muted);font-size:.7rem;display:flex}.contribution-calendar__legend{align-items:center;gap:var(--space-1);display:flex}.contribution-calendar__legend .contribution-calendar__cell{--contribution-cell-size:.65rem}.contribution-calendar__message{min-height:8.5rem;color:var(--color-text-muted);place-items:center;font-size:.85rem;display:grid}.contribution-calendar__tooltip{z-index:20;max-width:min(18rem, calc(100vw - var(--space-8)));padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text);overflow-wrap:anywhere;white-space:normal;pointer-events:none;transform:translate(-50%, calc(-100% - var(--space-2)));font-size:.75rem;line-height:1.3;position:fixed}@media (hover:hover){.contribution-calendar__grid .contribution-calendar__cell:not(.contribution-calendar__cell--empty):hover{z-index:1;outline:1px solid var(--color-text);transform:scale(1.35)}.contribution-card__github-link:hover{color:var(--color-text)}}@media (width<=36rem){.contribution-card{padding:var(--space-4)}.contribution-card__header{gap:var(--space-3)}.contribution-calendar{--contribution-cell-size:.68rem;--contribution-cell-gap:.18rem}.contribution-calendar__tooltip{max-width:calc(100vw - (var(--space-4) * 2));transform:translate(-50%, calc(-100% - var(--space-2)));left:50%!important}}@media (prefers-reduced-motion:reduce){.contribution-calendar__cell{transition:none}}.contact-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-card{min-width:0;min-height:14rem;padding:var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-page);flex-direction:column;display:flex}.contact-card--commits{min-height:0}.contact-card>.contact-card__codeforces-platform{margin-bottom:var(--space-1);color:var(--color-accent);font-size:var(--text-body);font-weight:700}.contact-card>.contact-card__codeforces-rating{margin-bottom:var(--space-3);font-size:var(--text-body)}.contact-card__codeforces-list{gap:var(--space-1);margin:0 0 var(--space-2);color:var(--color-text-muted);padding-left:1.1rem;font-size:.85rem;line-height:1.35;display:grid}.contact-card__heading{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.contact-card__heading h3{margin:0;font-size:1rem}.contact-card__heading--button{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0}.contact-card__icon{width:1.35rem;height:1.35rem;color:var(--color-accent);flex:none;display:inline-flex}.contact-card svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:100%;height:100%}.commit-list{align-content:start;gap:var(--space-3);min-height:6rem;display:grid}.commit-item{align-items:baseline;gap:var(--space-4);min-width:0;padding:var(--space-1);border-radius:var(--radius-sm);color:var(--color-text-muted);grid-template-columns:minmax(0,1fr) auto;font-size:.85rem;line-height:1.35;text-decoration:none;display:grid}.commit-item__summary{align-items:baseline;gap:.45em;min-width:0;display:flex;overflow:hidden}.commit-item__repository{color:var(--color-text);font-size:inherit;flex:none;font-weight:700}.commit-item__message{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.commit-item,.commit-item__repository,.commit-item__message,.commit-item__meta,.commit-item__meta time,.commit-item__changes-separator{transition:color var(--motion-duration-fast) var(--motion-ease-standard)}.commit-item__meta{column-gap:var(--space-4);color:var(--color-text);font-size:inherit;white-space:nowrap;grid-template-columns:4.75rem 4.5rem 7.75rem;align-items:baseline;display:grid}.commit-item__meta>*{text-align:right;justify-self:end}.commit-item__meta .commit-item__sha{color:var(--accent-green);grid-column:1}.commit-item__meta time{grid-column:2}.commit-item__changes{text-align:right;grid-column:3;justify-self:end;align-items:baseline;gap:.4rem;font-weight:700;display:inline-flex}.commit-item__meta .commit-item__changes-added{color:var(--accent-green)}.commit-item__meta .commit-item__changes-separator{color:var(--color-text-muted);font-weight:400}.commit-item__meta .commit-item__changes-removed{color:var(--accent-red)}.commit-list__message{margin:var(--space-2)}.commit-item:is(:hover,:focus-visible),.commit-item:is(:hover,:focus-visible) .commit-item__repository,.commit-item:is(:hover,:focus-visible) .commit-item__message,.commit-item:is(:hover,:focus-visible) .commit-item__meta,.commit-item:is(:hover,:focus-visible) .commit-item__meta time,.commit-item:is(:hover,:focus-visible) .commit-item__changes-separator{color:var(--color-accent)}.contact-card__footer-link{align-items:center;gap:var(--space-2);width:fit-content;margin-top:auto;font-weight:700;text-decoration:none;display:inline-flex}.contact-card__footer-link svg,.contact-card__actions svg{width:1rem;height:1rem}.contact-card>p{margin-bottom:var(--space-6)}.contact-card__actions{gap:var(--space-3);width:100%;margin-block:auto;display:grid}.contact-card__actions a{justify-content:flex-start;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-meta);transition:transform var(--motion-duration-fast) var(--motion-ease-standard), border-color var(--motion-duration-fast) var(--motion-ease-standard), background-color var(--motion-duration-fast) var(--motion-ease-standard), color var(--motion-duration-fast) var(--motion-ease-standard);text-decoration:none;display:flex}.contact-card__actions .contact-card__email{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.contact-card__actions .contact-card__linkedin{width:100%}.contact-card__actions .contact-card__message-button{align-items:center;gap:var(--space-2);width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;font-family:var(--font-display);font-size:var(--text-meta);background:0 0;font-weight:700;display:flex}.contact-card__actions .contact-card__message-button:is(:hover,:focus-visible){background:var(--color-accent);color:var(--ctp-mantle)}.contact-dialog{width:min(28rem, calc(100vw - (var(--space-4) * 2)));max-height:calc(100vh - (var(--space-4) * 2));border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-page);color:var(--color-text);margin:auto;padding:0;overflow:auto}.contact-dialog::backdrop{background:color-mix(in srgb, var(--ctp-crust) 70%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.contact-dialog__panel{padding:var(--space-4)}.contact-dialog__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.contact-dialog__header h3{margin:0}.contact-dialog__close{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;background:0 0;flex:0 0 2rem;place-items:center;padding:0;display:grid}.contact-dialog__close:is(:hover,:focus-visible){border-color:var(--color-accent);color:var(--color-accent)}.contact-dialog__close svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1rem;height:1rem}.contact-form{gap:var(--space-3);display:grid}.contact-form__field{display:block}.contact-form input:not(.contact-form__honeypot),.contact-form textarea{width:100%;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;font-size:var(--text-meta)}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-color:var(--color-accent);outline:none}.contact-form__honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-10000px}.contact-form button{min-height:2.75rem;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;font-family:var(--font-display);font-size:var(--text-meta);background:0 0;font-weight:700}.contact-form button:is(:hover,:focus-visible):not(:disabled){background:var(--color-accent);color:var(--ctp-mantle)}.contact-form button:disabled{cursor:progress;opacity:.6}.contact-card>.contact-form__status{min-height:1.25rem;color:var(--color-text-muted);margin:0;font-size:.85rem}.contact-form__status[data-status=sent]{color:var(--accent-green)}.contact-form__status[data-status=error]{color:var(--accent-red)}.contact-card__action-icon{flex:0 0 1.35rem;place-items:center;width:1.35rem;height:1.35rem;display:inline-grid}.contact-card__action-icon svg{display:block}.contact-card svg.contact-card__linkedin-icon{fill:currentColor;stroke:none;width:100%;height:100%}.contact-card svg.contact-card__mail-icon{stroke-width:2.5px;width:100%;height:100%;transform:translate(-.1rem)}.contact-card__actions a:is(:hover,:focus-visible){border-color:var(--color-accent);color:var(--color-accent)}@media (width<=40rem){.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-card--commits,.contact-card--contributions,.contact-card--contact,.contact-card--codeforces{grid-column:auto}.contact-card{min-height:13rem;padding:var(--space-4)}.commit-item{grid-template-columns:minmax(0,1fr);gap:0}.commit-item__summary{display:flex}.commit-item__meta{justify-content:flex-start;gap:var(--space-1) var(--space-4);flex-wrap:wrap;width:100%;display:flex}.commit-item__meta>*{text-align:left;justify-self:auto}.commit-item__changes{margin-left:auto}}.terminal-overlay-backdrop{z-index:30;padding:var(--space-6);background:color-mix(in srgb, var(--ctp-crust) 70%, transparent);-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem);place-items:center;display:grid;position:fixed;inset:0}.terminal-overlay{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--ctp-crust);flex-direction:column;width:min(48rem,100%);height:min(34rem,80vh);display:flex;overflow:hidden;box-shadow:0 1.5rem 3rem -1rem #00000080}.terminal-overlay--maximized{width:100%;height:100%}.terminal-overlay__titlebar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--color-border);background:var(--color-surface-elevated);flex:none;display:flex}.terminal-overlay__dots{align-items:center;gap:var(--space-2);display:flex}.terminal-overlay__dot{cursor:pointer;border:0;border-radius:50%;width:.7rem;height:.7rem;padding:0;position:relative}.terminal-overlay__dot--red{background:var(--accent-red)}.terminal-overlay__dot--yellow{background:var(--accent-yellow)}.terminal-overlay__dot--green{background:var(--accent-green)}.terminal-overlay__dot:before{color:#0009;font-family:var(--font-display);opacity:0;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard);justify-content:center;align-items:center;font-size:.5rem;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.terminal-overlay__dot--red:before{content:"✕"}.terminal-overlay__dot--yellow:before{content:"−"}.terminal-overlay__dot--green:before{content:"+"}@media (hover:hover){.terminal-overlay__dots:hover .terminal-overlay__dot:before{opacity:1}}.terminal-overlay__dots:focus-within .terminal-overlay__dot:before{opacity:1}.terminal-overlay__title{margin-left:var(--space-2);color:var(--color-text-muted);font-family:var(--font-display);font-size:var(--text-meta)}.terminal-overlay__chip{z-index:30;right:var(--space-6);bottom:var(--space-6);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);background:var(--ctp-crust);color:var(--color-text);cursor:pointer;font:inherit;font-family:var(--font-display);font-size:var(--text-meta);display:inline-flex;position:fixed;box-shadow:0 .75rem 1.5rem -.5rem #00000080}.terminal-overlay__chip:is(:hover,:focus-visible){border-color:var(--color-accent)}.terminal-overlay__chip .terminal-overlay__dot{cursor:inherit}.terminal-overlay__body{padding:var(--space-4);color:var(--color-text);cursor:text;font-family:var(--font-display);flex:1;font-size:.85rem;line-height:1.5;overflow-y:auto}.terminal-overlay__line{margin-bottom:var(--space-2);overflow-wrap:break-word;white-space:pre-wrap}.terminal-overlay__line--banner{color:var(--color-text-muted)}.terminal-overlay__prompt-label{color:var(--accent-green);font-weight:700}.terminal-overlay__prompt-text{color:var(--color-text)}.terminal-overlay__input-row{align-items:baseline;gap:.5em;margin-bottom:0;display:flex}.terminal-overlay__input{min-width:0;caret-color:var(--color-accent);color:var(--color-text);font:inherit;background:0 0;border:0;flex:1}.terminal-overlay__input:focus{outline:none}.terminal-overlay__list{gap:var(--space-1);color:var(--color-text-muted);margin:0;padding-left:1.1rem;display:grid}.terminal-overlay__list--compact{gap:.2rem;font-size:.85rem}.terminal-overlay__list code{color:var(--color-accent)}.terminal-overlay__list a,.terminal-overlay__line a{color:var(--accent-blue)}.terminal-overlay__hint{padding:var(--space-2) var(--space-4);border-top:var(--border-width) solid var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-muted);flex:none;font-size:.75rem}.terminal-overlay__hint code{color:var(--color-accent)}
