label[data-astro-cid-yyktn5se]{--padding: 4px;display:inline-block;position:relative;width:50px;height:24px;padding:var(--padding);cursor:pointer;& input[data-astro-cid-yyktn5se]{opacity:0;width:0;height:0}.toggle-thumb[data-astro-cid-yyktn5se]{--toggle-gap: 8px;position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;gap:var(--toggle-gap);background-color:var(--bg-toggle-thumb);border-radius:var(--radius);overflow:hidden;transition:var(--transition-bg);&.active:before{--offset: calc(var(--padding) / 2);translate:calc(var(--size) + var(--toggle-gap) + var(--offset))}&[data-astro-cid-yyktn5se]:before{--size: 16px;content:"";position:absolute;top:calc(var(--toggle-gap) / 2);left:calc(var(--toggle-gap) / 2);width:var(--size);height:var(--size);border-radius:50%;background-color:var(--text-color);transition:translate .3s ease,var(--transition-bg)}& svg[data-astro-cid-yyktn5se]{&[data-astro-cid-yyktn5se]:nth-child(odd){translate:calc(var(--toggle-gap) / 2)}&[data-astro-cid-yyktn5se]:nth-child(2n){translate:calc((var(--toggle-gap) / 2) * -1)}}}}nav[data-astro-cid-5blmo7yk]#menu{background-color:color-mix(in srgb,var(--bg-color),transparent 30%);backdrop-filter:blur(12px);padding-block:1rem;padding-inline:var(--mobile-inline-padding);text-align:right;position:sticky;top:0;z-index:1;@media(width>=768px){background:none;backdrop-filter:none;padding:0;top:36px;text-align:initial}& ul[data-astro-cid-5blmo7yk]{display:none;@media(width>=768px){--gap: 35px;background-color:color-mix(in srgb,var(--bg-color),transparent 30%);backdrop-filter:blur(12px);display:flex;align-items:center;gap:var(--gap);margin:36px auto 0;width:fit-content;border:1px solid var(--border-color);padding:16px 24px;border-radius:1000px;transition:var(--transition-border);& li[data-astro-cid-5blmo7yk]{position:relative;&[data-astro-cid-5blmo7yk]:not(:last-child):after{--size: 3px;content:"";position:absolute;top:50%;right:0;width:var(--size);height:var(--size);translate:calc(var(--gap) / 2) -50%;background-color:var(--bg-separator);border-radius:50%;transition:var(--transition-bg)}.language[data-astro-cid-5blmo7yk]{display:flex;align-items:center;gap:4px;& span[data-astro-cid-5blmo7yk]:first-child{line-height:0}}}& a[data-astro-cid-5blmo7yk]{--hover-color: color-mix( in srgb, var(--text-color), var(--bg-color) 40% );color:var(--text-color);text-decoration:none;transition:var(--transition-text);&.active{color:var(--hover-color)}&[data-astro-cid-5blmo7yk]:active,&[data-astro-cid-5blmo7yk]:focus{color:var(--hover-color)}@media(any-hover:hover){&[data-astro-cid-5blmo7yk]:hover{color:var(--hover-color)}}}}}& button[data-astro-cid-5blmo7yk]{--hover-color: color-mix(in srgb, var(--text-color), var(--bg-color) 40%);background:transparent;color:var(--text-color);border:none;padding:0;transform:var(--transition-text);&[data-astro-cid-5blmo7yk]:active{color:var(--hover-color)}@media(any-hover:hover){&[data-astro-cid-5blmo7yk]:hover{color:var(--hover-color)}}@media(width>=768px){display:none}}}dialog[data-astro-cid-5blmo7yk]{position:fixed;background-color:var(--bg-secondary-color);border-radius:var(--radius);width:70vw;border:1px solid var(--border-color);transition:opacity .3s ease,transform .3s ease,overlay .5s ease allow-discrete,display .3s ease allow-discrete;opacity:0;transform:translateY(1em);backdrop-filter:blur(0px);&[data-astro-cid-5blmo7yk]::backdrop{background-color:hsl(0 0 0 / 0);backdrop-filter:blur(4px);transition:display .3s allow-discrete,overlay .5s allow-discrete,background-color .3s}&[open]::backdrop{background-color:hsl(0 0 0 / 50%)}&[open]{opacity:1;transform:translateY(0)}@starting-style{&[open]{opacity:0;transform:translateY(-1em)}&[open]::backdrop{background-color:hsl(0 0 0 / 0)}}& nav[data-astro-cid-5blmo7yk]{display:flex;flex-direction:column;gap:24px;padding:24px;text-align:center;color:var(--text-color);& a[data-astro-cid-5blmo7yk]{color:var(--text-color);text-decoration:none;transition:var(--transition-text);&[data-astro-cid-5blmo7yk]:hover{color:var(--text-description-color)}}}#close[data-astro-cid-5blmo7yk]{--position: 8px;position:absolute;top:0;right:0;background:transparent;color:var(--text-color);border:none;translate:calc(var(--position) * -1) var(--position);&[data-astro-cid-5blmo7yk]:active{color:var(--text-description-color)}}}body.no-scroll{overflow:hidden}.socials[data-astro-cid-yxtifmrq]{display:none;@media(width>=1200px){display:initial;position:fixed;bottom:0;left:0;translate:46px;& nav[data-astro-cid-yxtifmrq]{display:flex;gap:24px;flex-direction:column;&[data-astro-cid-yxtifmrq]:after{content:"";background-color:var(--text-color);width:1px;height:127px;margin-inline:auto}& a[data-astro-cid-yxtifmrq]{color:var(--color-text);text-decoration:none;transition:var(--transition-text);&[data-astro-cid-yxtifmrq]:hover{color:var(--text-description-color)}}}}}*,:before,:after{box-sizing:border-box;background-repeat:no-repeat}:before,:after{text-decoration:inherit;vertical-align:inherit}:where(:root){cursor:default;line-height:1.5;overflow-wrap:break-word;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}:where(body){margin:0}:where(h1){font-size:2em;margin:.67em 0}:where(dl,ol,ul) :where(dl,ol,ul){margin:0}:where(hr){color:inherit;height:0}:where(nav) :where(ol,ul){list-style-type:none;padding:0}:where(nav li):before{content:"​";float:left}:where(pre){font-family:monospace,monospace;font-size:1em;overflow:auto}:where(abbr[title]){text-decoration:underline;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,samp){font-family:monospace,monospace;font-size:1em}:where(small){font-size:80%}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}:where(iframe){border-style:none}:where(svg:not([fill])){fill:currentColor}:where(table){border-collapse:collapse;border-color:inherit;text-indent:0}:where(button,input,select){margin:0}:where(button,[type=button i],[type=reset i],[type=submit i]){-webkit-appearance:button}:where(fieldset){border:1px solid #a0a0a0}:where(progress){vertical-align:baseline}:where(textarea){margin:0;resize:vertical}:where([type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(dialog){background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:fit-content}:where(dialog:not([open])){display:none}:where(details>summary:first-of-type){display:list-item}:where([aria-busy=true i]){cursor:progress}:where([aria-controls]){cursor:pointer}:where([aria-disabled=true i],[disabled]){cursor:not-allowed}:where([aria-hidden=false i][hidden]){display:initial}:where([aria-hidden=false i][hidden]:not(:focus)){clip:rect(0,0,0,0);position:absolute}:where(iframe,img,input,video,select,textarea){height:auto;max-width:100%}html{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}code,kbd,samp,pre{font-family:ui-monospace,Menlo,Consolas,Roboto Mono,"Ubuntu Monospace",Noto Mono,Oxygen Mono,Liberation Mono,monospace,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}html{--bg-color: #000;--bg-secondary-color: #1e1e1e;--bg-toggle-thumb: #343434;--bg-card-contributions: #4847474d;--bg-separator: #5a5a5a;--text-color: #fff;--text-description-color: #a6a6a6;--font: "Inter Variable", sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "Consolas", "Courier New", monospace;--border-color: #5a5a5a;--border-card-contributions-color: #272727;--radius: 24px;--mobile-inline-padding: 22px;--transition-bg: background-color .15s ease;--transition-text: color .15s ease;--transition-border: border-color .15s ease;--terminal-bg: #0a0e14;--terminal-bg-soft: #151a22;--terminal-fg: #d8dee9;--terminal-comment: #4c5666;--terminal-green: #22c55e;--terminal-emerald: #10b981;--terminal-red: #ff5c57;--terminal-yellow: #f5a623;--terminal-blue: #5fb3f5;--terminal-cyan: #56c7d5;--terminal-magenta: #c678dd;--terminal-border: #1e2530;--terminal-title: #4c5666;--terminal-glow: rgba(34, 197, 94, .35);scroll-behavior:smooth;scroll-padding-top:96px;@media(width>=768px){scroll-padding-top:126px}}html.dark{--bg-color: #fff;--bg-secondary-color: color-mix(in srgb, #1e1e1e, #fff 95%);--bg-toggle-thumb: #d5d5d5;--bg-card-contributions: #cbcbcb4d;--bg-separator: #000;--text-color: #000;--text-description-color: color-mix(in srgb, #a6a6a6, #000 40%);--border-color: #e6e6e6;--border-card-contributions-color: #e6e6e6;--terminal-bg: #f4f1ea;--terminal-bg-soft: #ece8de;--terminal-fg: #1a1a1a;--terminal-comment: #888;--terminal-green: #2f7d32;--terminal-emerald: #1f7a4c;--terminal-red: #c0392b;--terminal-yellow: #b3540f;--terminal-blue: #2563eb;--terminal-cyan: #0891b2;--terminal-magenta: #9333ea;--terminal-border: #d6d0c0;--terminal-title: #888;--terminal-glow: rgba(47, 125, 50, .22)}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font);transition:var(--transition-bg),var(--transition-text)}h1{font-size:2.25rem;font-weight:700;text-wrap:balance;margin:0;@media(width>=768px){font-size:4rem}}h2{font-size:2rem;font-weight:600;margin:0;@media(width>=768px){font-size:2.5rem}}h3{font-size:1.5rem;font-weight:600;margin:0}h4{font-size:1.25rem;font-weight:600;margin:0}p{margin:0}.headline-1{font-size:2rem;font-weight:500;@media(width>=768px){font-size:2.5rem}}.headline-2{font-size:1.5rem;font-weight:600;@media(width>=768px){font-size:2rem}}.headline-3{font-size:1.5rem}.headline-4{font-size:1.25rem}[data-astro-image]{width:100%;height:auto;object-fit:var(--fit);object-position:var(--pos);aspect-ratio:var(--w) / var(--h)}[data-astro-image=responsive]{max-width:calc(var(--w) * 1px);max-height:calc(var(--h) * 1px)}[data-astro-image=fixed]{width:calc(var(--w) * 1px);height:calc(var(--h) * 1px)}.about[data-astro-cid-vqbephrr]{padding-bottom:120px;.section-head[data-astro-cid-vqbephrr]{display:flex;justify-content:center;margin-bottom:64px;@media(width>=768px){justify-content:start;&[data-astro-cid-vqbephrr]:after{content:"";display:block;flex:1;align-self:center;height:1px;margin-left:24px;background-color:var(--terminal-border)}}}& h2[data-astro-cid-vqbephrr]{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--terminal-fg);white-space:nowrap;@media(width>=768px){font-size:2rem}.prompt-mark[data-astro-cid-vqbephrr]{color:var(--terminal-magenta);margin-right:4px}.cmd[data-astro-cid-vqbephrr]{color:var(--terminal-emerald)}}}.terminal-window[data-astro-cid-vqbephrr]{background-color:var(--terminal-bg);border:1px solid var(--terminal-border);border-radius:12px;overflow:hidden;box-shadow:0 16px 50px -20px #0000008c;font-family:var(--font-mono);color:var(--terminal-fg);max-width:980px;margin-inline:auto}.info[data-astro-cid-vqbephrr]{margin-bottom:32px;+.skills[data-astro-cid-vqbephrr]{margin-top:32px}}.terminal-bar[data-astro-cid-vqbephrr]{display:flex;align-items:center;gap:12px;padding:10px 14px;background-color:var(--terminal-bg-soft);border-bottom:1px solid var(--terminal-border);.terminal-dots[data-astro-cid-vqbephrr]{display:flex;gap:6px}.terminal-dot[data-astro-cid-vqbephrr]{width:12px;height:12px;border-radius:50%;display:inline-block;&.dot-red{background-color:var(--terminal-red)}&.dot-yellow{background-color:var(--terminal-yellow)}&.dot-green{background-color:var(--terminal-green)}}.terminal-title[data-astro-cid-vqbephrr]{font-family:var(--font-mono);font-size:.8125rem;color:var(--terminal-title);letter-spacing:.02em}.terminal-spacer[data-astro-cid-vqbephrr]{flex:1}}.info[data-astro-cid-vqbephrr] .terminal-body[data-astro-cid-vqbephrr]{display:flex;flex-direction:column;gap:32px;padding:24px 22px;@media(width>=768px){padding:40px 48px}@media(width>=1200px){flex-direction:row;align-items:flex-start;gap:56px}.picture[data-astro-cid-vqbephrr]{flex-shrink:0;align-self:center;@media(width>=1200px){align-self:start}& img[data-astro-cid-vqbephrr]{border-radius:8px;filter:saturate(.9) contrast(.95);border:1px solid var(--terminal-border)}}.description[data-astro-cid-vqbephrr]{flex:1;.headline-2[data-astro-cid-vqbephrr]{font-family:var(--font-mono);font-size:1.25rem;font-weight:600;color:var(--terminal-emerald);@media(width>=768px){font-size:1.5rem}.comment-mark[data-astro-cid-vqbephrr]{color:var(--terminal-magenta);margin-right:6px}}.comment-text[data-astro-cid-vqbephrr]{margin-top:20px;color:var(--terminal-comment);font-family:var(--font-mono);line-height:1.65;text-wrap:pretty;@media(width>=768px){font-size:1.0625rem}}}}.skills[data-astro-cid-vqbephrr] .terminal-body[data-astro-cid-vqbephrr]{padding:22px 22px 28px;overflow-x:auto;@media(width>=768px){padding:32px 40px 36px}.tree-line[data-astro-cid-vqbephrr]{display:flex;gap:10px;font-family:var(--font-mono);font-size:.95rem;line-height:1.85;white-space:pre;@media(width>=768px){font-size:1.0625rem}.ascii[data-astro-cid-vqbephrr]{color:var(--terminal-comment)}&.root{color:var(--terminal-emerald);font-weight:600;margin-bottom:6px}&.branch{&.green .folder[data-astro-cid-vqbephrr]{color:var(--terminal-green)}&.cyan .folder[data-astro-cid-vqbephrr]{color:var(--terminal-cyan)}&.magenta .folder[data-astro-cid-vqbephrr]{color:var(--terminal-magenta)}.folder[data-astro-cid-vqbephrr]{font-weight:600}}&.leaf{&.green .leaf-name[data-astro-cid-vqbephrr]{color:var(--terminal-green)}&.cyan .leaf-name[data-astro-cid-vqbephrr]{color:var(--terminal-cyan)}&.magenta .leaf-name[data-astro-cid-vqbephrr]{color:var(--terminal-yellow)}.indent[data-astro-cid-vqbephrr]{color:var(--terminal-comment)}}}.tree-block[data-astro-cid-vqbephrr]{display:block}}a[data-astro-cid-vnzlvqnm]{display:inline-flex;justify-content:center;gap:10px;padding:12px 40px;font-weight:500;color:var(--text-color);text-decoration:none;border:1px solid var(--text-color);border-radius:1000px;transition:var(--transition-bg),var(--transition-text);&[data-astro-cid-vnzlvqnm]:hover{background-color:var(--bg-secondary-color)}&.filled{background-color:var(--text-color);color:var(--bg-color);transition:var(--transition-bg),var(--transition-text);&[data-astro-cid-vnzlvqnm]:hover{background-color:var(--bg-secondary-color);color:var(--text-color)}}}.contact[data-astro-cid-ld6nigpc]{position:relative;overflow:hidden;background-color:var(--terminal-bg);border:1px solid var(--terminal-border);border-radius:12px;box-shadow:0 20px 60px -24px #0009;font-family:var(--font-mono);color:var(--terminal-fg);max-width:980px;margin-inline:auto;padding-block:97px;margin-block:32px;.terminal-bar[data-astro-cid-ld6nigpc]{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:10px 14px;background-color:var(--terminal-bg-soft);border-bottom:1px solid var(--terminal-border);z-index:2;.terminal-dots[data-astro-cid-ld6nigpc]{display:flex;gap:6px}.terminal-dot[data-astro-cid-ld6nigpc]{width:12px;height:12px;border-radius:50%;display:inline-block;&.dot-red{background-color:var(--terminal-red)}&.dot-yellow{background-color:var(--terminal-yellow)}&.dot-green{background-color:var(--terminal-green)}}.terminal-title[data-astro-cid-ld6nigpc]{font-family:var(--font-mono);font-size:.8125rem;color:var(--terminal-title);letter-spacing:.02em}.terminal-spacer[data-astro-cid-ld6nigpc]{flex:1}}.terminal-body[data-astro-cid-ld6nigpc]{position:relative;z-index:1;padding:64px 22px 32px;text-align:center;@media(width>=768px){padding:80px 48px 40px;text-align:start}>[data-astro-cid-ld6nigpc]+[data-astro-cid-ld6nigpc]{margin-top:14px}}.contact-title[data-astro-cid-ld6nigpc]{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--terminal-emerald);@media(width>=768px){font-size:2.25rem}}.contact-subtitle[data-astro-cid-ld6nigpc]{color:var(--terminal-comment);.comment-mark[data-astro-cid-ld6nigpc]{color:var(--terminal-magenta);margin-right:6px}}.line[data-astro-cid-ld6nigpc]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:.9rem;justify-content:center;@media(width>=768px){justify-content:flex-start;font-size:1rem}.prompt-user[data-astro-cid-ld6nigpc]{color:var(--terminal-green);font-weight:600}.prompt-host[data-astro-cid-ld6nigpc]{color:var(--terminal-blue);font-weight:600}.prompt-sep[data-astro-cid-ld6nigpc]{color:var(--terminal-comment)}.prompt-path[data-astro-cid-ld6nigpc]{color:var(--terminal-cyan)}.prompt-mark[data-astro-cid-ld6nigpc]{color:var(--terminal-magenta);margin-inline:4px;font-weight:600}.cmd[data-astro-cid-ld6nigpc]{color:var(--terminal-fg);margin-left:6px}}.remote-rows[data-astro-cid-ld6nigpc]{margin-top:12px;display:flex;flex-direction:column;gap:6px;padding:14px;border:1px dashed var(--terminal-border);border-radius:6px;background-color:var(--terminal-bg-soft);text-align:start;.remote-row[data-astro-cid-ld6nigpc]{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:.875rem;.remote-name[data-astro-cid-ld6nigpc]{color:var(--terminal-yellow);font-weight:600;min-width:56px}.remote-url[data-astro-cid-ld6nigpc]{color:var(--terminal-fg);flex:1;&.link{color:var(--terminal-cyan);text-decoration:none;transition:color .15s ease;&[data-astro-cid-ld6nigpc]:hover{color:var(--terminal-green);text-decoration:underline}}}.remote-type[data-astro-cid-ld6nigpc]{color:var(--terminal-comment)}}}.buttons-container[data-astro-cid-ld6nigpc]{display:flex;flex-direction:column;gap:13px;margin-top:24px;@media(width>=768px){flex-direction:row;flex-wrap:wrap}}.idle[data-astro-cid-ld6nigpc]{margin-top:24px;justify-content:center;@media(width>=768px){justify-content:flex-start}.idle-cursor[data-astro-cid-ld6nigpc]{display:inline-block;width:9px;height:1.05em;background-color:var(--terminal-green);vertical-align:text-bottom;animation:blink 1.1s steps(2,start) infinite}}& canvas[data-astro-cid-ld6nigpc]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.25}}@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.contact[data-astro-cid-ld6nigpc] .idle-cursor[data-astro-cid-ld6nigpc]{animation:none}}.experience[data-astro-cid-tsv6ktmd]{padding-bottom:120px;.section-head[data-astro-cid-tsv6ktmd]{display:flex;justify-content:center;margin-bottom:64px;@media(width>=768px){justify-content:start;&[data-astro-cid-tsv6ktmd]:after{content:"";display:block;flex:1;align-self:center;height:1px;margin-left:24px;background-color:var(--terminal-border)}}}& h2[data-astro-cid-tsv6ktmd]{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--terminal-fg);white-space:nowrap;@media(width>=768px){font-size:2rem}.prompt-mark[data-astro-cid-tsv6ktmd]{color:var(--terminal-magenta);margin-right:4px}.cmd[data-astro-cid-tsv6ktmd]{color:var(--terminal-emerald)}}}.git-log[data-astro-cid-tsv6ktmd]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:48px}.commit[data-astro-cid-tsv6ktmd]{display:flex;gap:20px;.rail[data-astro-cid-tsv6ktmd]{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-top:24px;.node[data-astro-cid-tsv6ktmd]{width:14px;height:14px;border-radius:50%;background-color:var(--terminal-bg);border:2px solid var(--terminal-comment);box-shadow:0 0 0 4px var(--terminal-bg);transition:border-color .2s ease,box-shadow .2s ease;&.active{border-color:var(--terminal-green);box-shadow:0 0 12px var(--terminal-glow)}}.line[data-astro-cid-tsv6ktmd]{width:2px;flex:1;background-color:var(--terminal-border);margin-top:4px}}}.commit-window[data-astro-cid-tsv6ktmd]{flex:1;background-color:var(--terminal-bg);border:1px solid var(--terminal-border);border-radius:12px;overflow:hidden;font-family:var(--font-mono);color:var(--terminal-fg);box-shadow:0 10px 40px -16px #00000080;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;&[data-astro-cid-tsv6ktmd]:hover{border-color:var(--terminal-green);transform:translateY(-2px);box-shadow:0 18px 50px -20px var(--terminal-glow)}.commit-head[data-astro-cid-tsv6ktmd]{display:flex;align-items:center;gap:12px;padding:10px 14px;background-color:var(--terminal-bg-soft);border-bottom:1px solid var(--terminal-border);.terminal-dots[data-astro-cid-tsv6ktmd]{display:flex;gap:6px}.terminal-dot[data-astro-cid-tsv6ktmd]{width:12px;height:12px;border-radius:50%;display:inline-block;&.dot-red{background-color:var(--terminal-red)}&.dot-yellow{background-color:var(--terminal-yellow)}&.dot-green{background-color:var(--terminal-green)}}.hash[data-astro-cid-tsv6ktmd]{font-family:var(--font-mono);font-size:.8125rem;color:var(--terminal-yellow);letter-spacing:.04em}.commit-spacer[data-astro-cid-tsv6ktmd]{flex:1}}.commit-body[data-astro-cid-tsv6ktmd]{padding:20px 22px}.commit-meta[data-astro-cid-tsv6ktmd]{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;.commit-title[data-astro-cid-tsv6ktmd]{font-family:var(--font-mono);font-size:1.25rem;font-weight:600;color:var(--terminal-emerald);margin:0;@media(width>=768px){font-size:1.5rem}}.company[data-astro-cid-tsv6ktmd]{font-family:var(--font-mono);font-size:1rem;color:var(--terminal-cyan)}}.commit-time[data-astro-cid-tsv6ktmd]{display:inline-flex;align-items:center;gap:6px;margin-top:14px;color:var(--terminal-comment);font-size:.875rem;.time-marker[data-astro-cid-tsv6ktmd]{color:var(--terminal-yellow);font-size:.95rem}.sep[data-astro-cid-tsv6ktmd]{color:var(--terminal-magenta)}.badge[data-astro-cid-tsv6ktmd]{margin-left:8px;padding:2px 8px;border-radius:4px;background-color:var(--terminal-green);color:var(--terminal-bg);font-size:.75rem;font-weight:600;letter-spacing:.04em}}.commit-msg[data-astro-cid-tsv6ktmd]{margin-top:16px;color:var(--terminal-comment);font-family:var(--font-mono);font-size:.95rem;line-height:1.65;text-wrap:pretty;.comment-mark[data-astro-cid-tsv6ktmd]{color:var(--terminal-magenta);font-weight:600;margin-right:6px}}.commit-files[data-astro-cid-tsv6ktmd]{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:6px;& li[data-astro-cid-tsv6ktmd]{display:flex;gap:10px;font-family:var(--font-mono);font-size:.875rem;color:var(--terminal-fg);.file-marker[data-astro-cid-tsv6ktmd]{color:var(--terminal-green);font-weight:600}.file-text[data-astro-cid-tsv6ktmd]{color:var(--terminal-fg)}}}}@media(prefers-reduced-motion:reduce){.commit-window[data-astro-cid-tsv6ktmd]{transition:none}}.hero[data-astro-cid-6ffyhvbn]{padding-top:113px;padding-bottom:56px;@media(width>=768px){padding-block:129px}>div[data-astro-cid-6ffyhvbn]{position:relative;margin-inline:auto;max-width:980px;display:flex;flex-direction:column;gap:32px;& canvas[data-astro-cid-6ffyhvbn]{position:fixed;top:0;left:0;width:100vw;height:100vh;opacity:.45;z-index:-1;pointer-events:none}}}.badge[data-astro-cid-6ffyhvbn]{align-self:center;display:flex;align-items:center;gap:8px;width:fit-content;background-color:var(--terminal-bg-soft);border:1px solid var(--terminal-green);color:var(--terminal-green);font-family:var(--font-mono);font-size:.875rem;padding:6px 14px;border-radius:1000px;box-shadow:0 0 18px var(--terminal-glow);.dot[data-astro-cid-6ffyhvbn]{--size: 6px;width:var(--size);height:var(--size);background-color:var(--terminal-green);border-radius:50%;box-shadow:0 0 0 0 var(--terminal-green);transform:scale(1);animation:pulse 2s infinite}}.terminal-window[data-astro-cid-6ffyhvbn]{background-color:var(--terminal-bg);border:1px solid var(--terminal-border);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px #ffffff05,0 20px 60px -20px #0009;font-family:var(--font-mono);color:var(--terminal-fg)}.terminal-bar[data-astro-cid-6ffyhvbn]{display:flex;align-items:center;gap:12px;padding:10px 14px;background-color:var(--terminal-bg-soft);border-bottom:1px solid var(--terminal-border);.terminal-dots[data-astro-cid-6ffyhvbn]{display:flex;gap:6px}.terminal-dot[data-astro-cid-6ffyhvbn]{width:12px;height:12px;border-radius:50%;display:inline-block;&.dot-red{background-color:var(--terminal-red)}&.dot-yellow{background-color:var(--terminal-yellow)}&.dot-green{background-color:var(--terminal-green)}}.terminal-title[data-astro-cid-6ffyhvbn]{font-family:var(--font-mono);font-size:.8125rem;color:var(--terminal-title);letter-spacing:.02em}.terminal-spacer[data-astro-cid-6ffyhvbn]{flex:1}}.terminal-body[data-astro-cid-6ffyhvbn]{padding:24px 20px;font-size:.95rem;line-height:1.7;@media(width>=768px){padding:32px 36px;font-size:1.0625rem}.line[data-astro-cid-6ffyhvbn]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;+.line[data-astro-cid-6ffyhvbn],+.about-list[data-astro-cid-6ffyhvbn]{margin-top:14px}}.prompt-user[data-astro-cid-6ffyhvbn]{color:var(--terminal-green);font-weight:600}.prompt-host[data-astro-cid-6ffyhvbn]{color:var(--terminal-blue);font-weight:600}.prompt-sep[data-astro-cid-6ffyhvbn]{color:var(--terminal-comment)}.prompt-path[data-astro-cid-6ffyhvbn]{color:var(--terminal-cyan)}.prompt-mark[data-astro-cid-6ffyhvbn]{color:var(--terminal-magenta);margin-inline:4px;font-weight:600}.cmd[data-astro-cid-6ffyhvbn]{color:var(--terminal-fg);font-weight:500;margin-left:6px}.output[data-astro-cid-6ffyhvbn]{display:block;padding-left:0;.whoami[data-astro-cid-6ffyhvbn]{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--terminal-emerald);letter-spacing:-.01em;margin:4px 0 6px;@media(width>=768px){font-size:2.25rem}}.comment[data-astro-cid-6ffyhvbn]{color:var(--terminal-comment);font-size:.95rem}}.about-list[data-astro-cid-6ffyhvbn]{list-style:none;padding:0;margin:0 0 4px;display:flex;flex-direction:column;gap:6px;& li[data-astro-cid-6ffyhvbn].comment{color:var(--terminal-comment)}}.comment[data-astro-cid-6ffyhvbn]{color:var(--terminal-comment);font-family:var(--font-mono)}.socials[data-astro-cid-6ffyhvbn]{gap:20px 28px;margin-top:14px;.social-link[data-astro-cid-6ffyhvbn]{display:inline-flex;align-items:center;gap:8px;color:var(--terminal-fg);text-decoration:none;font-family:var(--font-mono);font-size:.95rem;padding:6px 10px;border:1px solid var(--terminal-border);border-radius:6px;transition:border-color .15s ease,color .15s ease,background-color .15s ease;&[data-astro-cid-6ffyhvbn]:hover{color:var(--terminal-green);border-color:var(--terminal-green);background-color:var(--terminal-bg-soft)}.bracket[data-astro-cid-6ffyhvbn]{color:var(--terminal-magenta)}}}.idle[data-astro-cid-6ffyhvbn]{margin-top:18px;.idle-cursor[data-astro-cid-6ffyhvbn]{display:inline-block;width:9px;height:1.05em;background-color:var(--terminal-green);vertical-align:text-bottom;animation:blink 1.1s steps(2,start) infinite}}}.button-container[data-astro-cid-6ffyhvbn]{display:flex;flex-direction:column;gap:13px;padding:20px;border-top:1px solid var(--terminal-border);background-color:var(--terminal-bg-soft);@media(width>=768px){flex-direction:row;justify-content:flex-end}}.typing[data-astro-cid-6ffyhvbn]{display:inline-block;overflow:hidden;white-space:nowrap;border-right:2px solid transparent;animation:typing 1.6s steps(28,end) .2s forwards,caret-blink 1.1s steps(2,start) 1.6s 3 forwards,caret-out 0ms 5s forwards;width:0;max-width:100%}@keyframes typing{0%{width:0}to{width:100%}}@keyframes caret-blink{0%,49%{border-right-color:var(--terminal-green)}50%,to{border-right-color:transparent}}@keyframes caret-out{to{border-right-width:0}}.cursor[data-astro-cid-6ffyhvbn]{display:inline-block;width:9px;height:1em;background-color:var(--terminal-green);vertical-align:text-bottom;animation:caret-blink 1.1s steps(2,start) infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 0 0 var(--terminal-glow)}70%{transform:scale(1);box-shadow:0 0 0 6px transparent}to{transform:scale(.95);box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.typing[data-astro-cid-6ffyhvbn],.cursor[data-astro-cid-6ffyhvbn],.idle-cursor[data-astro-cid-6ffyhvbn],.badge[data-astro-cid-6ffyhvbn] .dot[data-astro-cid-6ffyhvbn]{animation:none}.typing[data-astro-cid-6ffyhvbn]{width:100%}}html{.astro,.html{background-color:#7f4932;transition:var(--transition-bg)}.css{background-color:#324b7f;transition:var(--transition-bg)}.tailwindcss,.typescript,.react,.nextjs{background-color:#32547f;transition:var(--transition-bg)}.mongodb{background-color:green;transition:var(--transition-bg)}.solana-blockchain{background-color:#32797f;transition:var(--transition-bg)}.express{background-color:#911cbf5e}.sass{background-color:#602957;transition:var(--transition-bg)}.open-props{background-color:#3a4367;transition:var(--transition-bg)}.javascript{background-color:#665e24;transition:var(--transition-bg)}.php{background-color:#616161;transition:var(--transition-bg)}.wordpress{background-color:#3a4367;transition:var(--transition-bg)}.firebase{background-color:#7f6932;transition:var(--transition-bg)}.pwa{background-color:#c4c4c4;color:#000;transition:var(--transition-bg),var(--transition-text)}}html.dark{.astro,.html{background-color:#ffbc96}.css{background-color:#1c80bf5e}.tailwindcss,.typescript,.react,.nextjs{background-color:#bddaff}.mongodb{background-color:green;transition:var(--transition-bg)}.solana-blockchain{background-color:#32797f;transition:var(--transition-bg)}.express{background-color:#911cbf5e}.sass{background-color:color-mix(in srgb,#602957,#fff 70%)}.open-props{background-color:#c1cbf1}.javascript{background-color:#e2da9a}.php{background-color:#cacaca}.wordpress{background-color:#b1b8d1}.firebase{background-color:#fd8}}.card-project[data-astro-cid-3qibyvd4]{display:block;margin-bottom:86px;max-width:434px;margin-inline:auto;background-color:var(--terminal-bg);border:1px solid var(--terminal-border);border-radius:12px;overflow:hidden;box-shadow:0 16px 50px -20px #0000008c;font-family:var(--font-mono);color:var(--terminal-fg);@media(width>=1200px){display:grid;grid-template-columns:434px 1fr;max-width:fit-content;align-items:stretch;&[data-astro-cid-3qibyvd4]:nth-child(odd){grid-template-columns:1fr 434px;.thumb[data-astro-cid-3qibyvd4]{order:1}}}.terminal-bar[data-astro-cid-3qibyvd4]{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:10px 14px;background-color:var(--terminal-bg-soft);border-bottom:1px solid var(--terminal-border);.terminal-dots[data-astro-cid-3qibyvd4]{display:flex;gap:6px}.terminal-dot[data-astro-cid-3qibyvd4]{width:12px;height:12px;border-radius:50%;display:inline-block;&.dot-red{background-color:var(--terminal-red)}&.dot-yellow{background-color:var(--terminal-yellow)}&.dot-green{background-color:var(--terminal-green)}}.terminal-title[data-astro-cid-3qibyvd4]{font-family:var(--font-mono);font-size:.8125rem;color:var(--terminal-title);letter-spacing:.02em}.terminal-spacer[data-astro-cid-3qibyvd4]{flex:1}.terminal-link[data-astro-cid-3qibyvd4]{display:inline-flex;color:var(--terminal-comment);transition:color .15s ease;&[data-astro-cid-3qibyvd4]:hover{color:var(--terminal-green)}}}.terminal-body[data-astro-cid-3qibyvd4]{display:flex;flex-direction:column;gap:0;@media(width>=1200px){display:contents}}.thumb[data-astro-cid-3qibyvd4]{position:relative;overflow:hidden;border-bottom:1px solid var(--terminal-border);background-color:var(--terminal-bg-soft);@media(width>=1200px){border-bottom:none}&[data-astro-cid-3qibyvd4]:nth-child(odd){border-left:1px solid var(--terminal-border)}& a[data-astro-cid-3qibyvd4]{display:block;line-height:0}& img[data-astro-cid-3qibyvd4]{width:100%;height:auto;display:block;filter:saturate(.85) contrast(.95);transition:filter .25s ease,transform .4s ease}&[data-astro-cid-3qibyvd4]:hover img[data-astro-cid-3qibyvd4]{filter:saturate(1.05) contrast(1);transform:scale(1.02)}}.description[data-astro-cid-3qibyvd4]{padding:22px 22px 26px;display:flex;flex-direction:column;>[data-astro-cid-3qibyvd4]+[data-astro-cid-3qibyvd4]{margin-top:18px}& h3[data-astro-cid-3qibyvd4]{font-family:var(--font-mono);font-size:1.375rem;font-weight:600;color:var(--terminal-emerald);& a[data-astro-cid-3qibyvd4]{color:inherit;text-decoration:none;transition:color .15s ease;&[data-astro-cid-3qibyvd4]:hover{color:var(--terminal-green)}}}.badges[data-astro-cid-3qibyvd4]{display:flex;flex-wrap:wrap;gap:10px 8px;.badge-tech[data-astro-cid-3qibyvd4]{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:4px;font-size:.8125rem;font-family:var(--font-mono);color:var(--terminal-fg);background-color:var(--terminal-bg-soft);border:1px solid var(--terminal-border);.bracket[data-astro-cid-3qibyvd4]{color:var(--terminal-magenta);font-weight:600}}}& p[data-astro-cid-3qibyvd4].comment{color:var(--terminal-comment);font-size:.95rem;line-height:1.65;text-wrap:pretty;.comment-mark[data-astro-cid-3qibyvd4]{color:var(--terminal-magenta);margin-right:6px;font-weight:600}}.links[data-astro-cid-3qibyvd4]{display:flex;gap:16px;& a[data-astro-cid-3qibyvd4]{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:4px;font-family:var(--font-mono);font-size:.875rem;color:var(--terminal-green);text-decoration:none;border:1px solid var(--terminal-green);transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;&[data-astro-cid-3qibyvd4]:hover{background-color:var(--terminal-green);color:var(--terminal-bg);box-shadow:0 0 18px var(--terminal-glow)}.bracket[data-astro-cid-3qibyvd4]{color:inherit;opacity:.85}}}}}.projects[data-astro-cid-pwkhmixj]{padding-bottom:120px;& h2[data-astro-cid-pwkhmixj]{display:flex;gap:24px;justify-content:center;align-items:center;white-space:nowrap;margin-bottom:86px;@media(width>=768px){justify-content:start;&[data-astro-cid-pwkhmixj]:after{content:"";display:block;width:100%;height:1px;background-color:var(--border-color)}}& span[data-astro-cid-pwkhmixj]{order:1}}}
