@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:400;font-display:swap;src:local(JetBrainsMono Nerd Font),local(JetBrainsMonoNerdFont-Regular),url(/fonts/JetBrainsMonoNerdFont-Regular.woff2)format("woff2")}@font-face{font-family:JetBrainsMono Nerd Font;font-style:italic;font-weight:400;font-display:swap;src:local(JetBrainsMono Nerd Font Italic),local(JetBrainsMonoNerdFont-Italic),url(/fonts/JetBrainsMonoNerdFont-Italic.woff2)format("woff2")}@font-face{font-family:JetBrainsMono Nerd Font;font-style:normal;font-weight:700;font-display:swap;src:local(JetBrainsMono Nerd Font Bold),local(JetBrainsMonoNerdFont-Bold),url(/fonts/JetBrainsMonoNerdFont-Bold.woff2)format("woff2")}@font-face{font-family:JetBrainsMono Nerd Font;font-style:italic;font-weight:700;font-display:swap;src:local(JetBrainsMono Nerd Font Bold Italic),local(JetBrainsMonoNerdFont-BoldItalic),url(/fonts/JetBrainsMonoNerdFont-BoldItalic.woff2)format("woff2")}@font-face{font-family:Latin Modern;font-style:normal;font-weight:400;font-display:swap;src:local(Latin Modern Roman),local(LatinModernRoman-Regular),url(https://cdn.jsdelivr.net/npm/@fontsource/latin-modern-roman@5/files/latin-modern-roman-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Latin Modern;font-style:italic;font-weight:400;font-display:swap;src:local(Latin Modern Roman Italic),local(LatinModernRoman-Italic),url(https://cdn.jsdelivr.net/npm/@fontsource/latin-modern-roman@5/files/latin-modern-roman-latin-400-italic.woff2)format("woff2")}@font-face{font-family:Latin Modern;font-style:normal;font-weight:700;font-display:swap;src:local(Latin Modern Roman Bold),local(LatinModernRoman-Bold),url(https://cdn.jsdelivr.net/npm/@fontsource/latin-modern-roman@5/files/latin-modern-roman-latin-700-normal.woff2)format("woff2")}:root{--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-subtext1:#bac2de;--ctp-subtext0:#a6adc8;--ctp-overlay2:#9399b2;--ctp-overlay1:#7f849c;--ctp-overlay0:#6c7086;--ctp-surface2:#585b70;--ctp-surface1:#45475a;--ctp-surface0:#313244;--bg:#0f0f0f;--fg:var(--ctp-text);--fg-muted:var(--ctp-subtext0);--fg-faint:var(--ctp-overlay0);--accent:var(--ctp-mauve);--link:var(--ctp-rosewater);--link-hover:var(--ctp-pink);--selection-fg:var(--bg);--selection-bg:var(--ctp-rosewater);--cursor:var(--ctp-rosewater);--scrollbar:var(--ctp-overlay2);--rule:var(--ctp-surface1);--code-bg:var(--ctp-surface0);--ok:var(--ctp-green);--warn:var(--ctp-yellow);--err:var(--ctp-red);--info:var(--ctp-blue);--term-opacity:.88;--term-bg:rgb(15 15 15/var(--term-opacity));--term-border:rgba(255,255,255,.8);--term-border-width:1px;--term-blur:blur(4px) brightness(.6) contrast(.75);--term-shadow:0 0 2px 1px rgba(26,26,26,.93);--term-padding:14px;--term-width:110ch;--gap:10px;--font-mono:"JetBrainsMono Nerd Font", "JetBrains Mono", ui-monospace, monospace;--font-size:14px;--line-height:1.5;--wallpaper:url(/img/wallpaper.webp);--print-fg:#000;--print-bg:#fff;--font-print:"Latin Modern", "CMU Serif", Georgia, "Times New Roman", serif}*,:before,:after{box-sizing:border-box;border-radius:0!important}html{font-family:var(--font-mono);font-size:var(--font-size);line-height:var(--line-height);color:var(--fg);background:#000 var(--wallpaper) center / cover no-repeat fixed;scrollbar-color:var(--scrollbar) transparent;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{min-height:100dvh;padding:var(--gap);background:0 0;justify-content:center;margin:0;display:flex}::selection{color:var(--selection-fg);background:var(--selection-bg)}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.terminal{width:100%;max-width:var(--term-width);padding:var(--term-padding);background:var(--term-bg);border:var(--term-border-width) solid var(--term-border);box-shadow:var(--term-shadow);backdrop-filter:var(--term-blur)}h1,h2,h3,h4,h5,h6{font-size:1rem;font-weight:700;line-height:var(--line-height);margin:1.5em 0 .5em}h1{color:var(--accent)}h2{color:var(--ctp-blue)}h3{color:var(--ctp-teal)}h4,h5,h6{color:var(--ctp-subtext1)}.terminal>:first-child{margin-top:0}.terminal>:last-child{margin-bottom:0}p,ul,ol,pre,blockquote,table{margin:0 0 1em}a{color:var(--link);text-underline-offset:3px;text-decoration:underline}a:hover{color:var(--link-hover)}strong{color:var(--ctp-subtext1)}em{color:var(--ctp-flamingo)}small{color:var(--fg-muted)}hr{border:0;border-top:1px dashed var(--rule);margin:1.5em 0}ul{padding-left:2ch;list-style:"- "}ol{padding-left:3ch}blockquote{border-left:1px solid var(--rule);color:var(--fg-muted);padding-left:2ch}code,kbd,pre{font-family:inherit;font-size:1em}code{color:var(--ctp-green)}pre{background:var(--code-bg);color:var(--fg);padding:1ch 2ch;overflow-x:auto}pre code{color:inherit}kbd{border:1px solid var(--ctp-surface2);padding:0 .5ch}table{border-collapse:collapse}th,td{text-align:left;padding:0 2ch 0 0}th{color:var(--accent)}img,video{max-width:100%;display:block}dl{margin:0 0 1em}dt{color:var(--ctp-peach);font-weight:700}dd{margin:0}button{font:inherit;color:var(--fg);border:1px solid var(--rule);cursor:pointer;background:0 0;padding:0 1ch}button:hover{color:var(--accent);border-color:var(--accent)}a.ext:after{content:"↗"}.tabs{border-bottom:1px dashed var(--rule);flex-wrap:wrap;gap:1ch;margin-bottom:1.5em;padding-bottom:.5em;display:flex}.tabs a{color:var(--fg-muted);padding:0 1ch;text-decoration:none}.tabs a:hover{color:var(--fg)}.tabs a[aria-current=page]{color:var(--bg);background:var(--accent);font-weight:700}.fetch{align-items:flex-start;margin-bottom:1.5em;display:flex}.fetch img{aspect-ratio:1;object-fit:contain;flex:none;align-self:center;width:auto;height:240px}.fetch p{margin:0}.fetch-title{font-weight:700}.fetch dl,dl.kv{grid-template-columns:max-content 1fr;column-gap:1ch;display:grid}.fetch dt:after{content:":"}.fetch dl{grid-template-columns:10ch 1fr}dl.kv{grid-template-columns:14ch 1fr}.swatches{display:flex}.swatches span{width:3ch;height:1.5em}@media (width<=600px){.fetch{flex-direction:column;gap:1em}.fetch img{align-self:flex-start;height:160px}}.meta{color:var(--fg-muted);margin-bottom:.5em}.cv-toolbar{justify-content:space-between;align-items:baseline;gap:2ch;margin-bottom:1em;display:flex}.cv-toolbar p{margin:0}.fg-red{color:var(--ctp-red)}.fg-green{color:var(--ctp-green)}.fg-yellow{color:var(--ctp-yellow)}.fg-blue{color:var(--ctp-blue)}.fg-mauve{color:var(--ctp-mauve)}.fg-pink{color:var(--ctp-pink)}.fg-teal{color:var(--ctp-teal)}.fg-peach{color:var(--ctp-peach)}.fg-muted{color:var(--fg-muted)}.fg-faint{color:var(--fg-faint)}.bg-red{background:var(--ctp-red)}.bg-green{background:var(--ctp-green)}.bg-yellow{background:var(--ctp-yellow)}.bg-blue{background:var(--ctp-blue)}.bg-mauve{background:var(--ctp-mauve)}.bg-pink{background:var(--ctp-pink)}.bg-teal{background:var(--ctp-teal)}.bg-peach{background:var(--ctp-peach)}.prompt:before{content:"❯ ";color:var(--ctp-green)}.cursor:after{content:"";vertical-align:text-bottom;background:var(--cursor);width:1ch;height:1.2em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor:after{animation:none}}@media print{@page{margin:2cm}html{color:var(--print-fg);background:var(--print-bg);font-size:10.5pt;line-height:1.4}body{padding:0;display:block}.terminal{max-width:none;box-shadow:none;backdrop-filter:none;background:0 0;border:0;padding:0}.tabs,.cv-toolbar,.cursor{display:none}a.ext:after{content:none}.cv,.cv *{font-family:var(--font-print);color:var(--print-fg)}.cv a{text-decoration:none}.cv h1{font-variant:small-caps;letter-spacing:.05em;text-align:center;margin:0 0 .5em;font-size:2.2em;font-weight:400}.cv h1+p{text-align:center;margin-bottom:1.5em}.cv h2{font-variant:small-caps;letter-spacing:.1em;border-top:1px solid var(--print-fg);margin:1.5em 0 .5em;padding-top:.75em;font-size:1.15em;font-weight:400}.cv h3{margin:.75em 0 .1em}.cv p{margin:0 0 .4em}.cv ul{margin:.25em 0;padding-left:1.5em;list-style:outside}.cv li{margin-bottom:.1em}.cv li>ul{list-style:circle}}