.switch[data-v-e63c7396]{width:60px;height:34px;display:inline-block;position:relative}.switch input[data-v-e63c7396]{opacity:0;width:0;height:0}.switch input:checked+.slider .slider-circle[data-v-e63c7396]{transform:translate(26px)}.switch .slider[data-v-e63c7396]{cursor:pointer;background-color:var(--default-border);border-radius:34px;transition:all .4s;position:absolute;inset:0;box-shadow:inset 0 0 3px 3px #0000000d}.switch .slider .slider-circle[data-v-e63c7396]{content:"";background-color:var(--details-background);border-radius:50%;width:26px;height:26px;transition:all .4s;position:absolute;bottom:4px;left:4px;box-shadow:0 0 3px 3px #0000000d}.switch .slider .slider-circle svg[data-v-e63c7396]{padding:5px;font-size:16px}.switch .slider .slider-circle .sun[data-v-e63c7396]{color:#f39d12}.switch .slider .slider-circle .moon[data-v-e63c7396]{color:#f4ca25}.lang-select[data-v-5e0c52d7]{cursor:pointer;position:relative}img[data-v-5e0c52d7]{width:1.2rem;height:1.2rem}.selected-option[data-v-5e0c52d7]{background-color:var(--details-background);color:var(--default-text);border-radius:.5rem;outline:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:1rem;transition:box-shadow .2s ease-in-out;display:flex;box-shadow:0 0 3px 3px #0000000d}.selected-option.active[data-v-5e0c52d7]{border-radius:.5rem .5rem 0 0}.selected-option[data-v-5e0c52d7]:hover{box-shadow:0 0 7px 3px #00000012}.arrow[data-v-5e0c52d7]{align-self:center;font-size:.8rem;transition:transform .2s ease-in-out}.arrow.rotated[data-v-5e0c52d7]{transform:rotate(180deg)}.options[data-v-5e0c52d7]{background-color:var(--details-background);border-top:1px solid var(--default-border);border-radius:0 0 .5rem .5rem;width:100%;display:block;position:absolute;top:100%;left:0;overflow-y:auto}.options>div[data-v-5e0c52d7]{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.options>div[data-v-5e0c52d7]:hover{background-color:var(--secondary-background)}header[data-v-95366c42]{z-index:100;justify-content:space-between;align-items:center;width:100%;height:5rem;padding:0 2rem;transition:background-color .5s,box-shadow .5s,color .5s;display:flex;position:sticky;top:0}header.scrolled[data-v-95366c42]{background-color:color-mix(in srgb, var(--secondary-background) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--default-border);color:var(--default-text)}header h2[data-v-95366c42]{font-weight:700}header h2 .dev[data-v-95366c42]{color:var(--accent)}header .menu[data-v-95366c42]{justify-content:space-between;text-decoration:none;list-style:none;display:flex}header .menu .menu-item[data-v-95366c42]{align-items:center;height:5rem;padding:0 1rem;transition:all .2s;display:flex;position:relative}header .menu .menu-item a[data-v-95366c42]{color:var(--text-default);font-weight:700;text-decoration:none}header .menu .menu-item[data-v-95366c42]:after{content:"";background-color:var(--accent);transform-origin:0;height:2px;transition:transform .25s;position:absolute;bottom:1.4rem;left:1rem;right:1rem;transform:scaleX(0)}header .menu .menu-item.active[data-v-95366c42]:after,header .menu .menu-item[data-v-95366c42]:hover:after{transform:scaleX(1)}header .mobile-menu-icon[data-v-95366c42]{display:none}header .mobile-menu-icon button[data-v-95366c42],header .close-icon[data-v-95366c42]{color:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;line-height:0}header .mobile-menu[data-v-95366c42]{background-color:var(--secondary-background);z-index:1;flex-direction:column;width:65vw;height:100vh;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:0 0 1rem #00000026}header .mobile-menu .mobile-menu-items[data-v-95366c42]{text-align:center;flex-direction:column;justify-content:center;gap:1rem;padding:2rem;list-style:none;display:flex}header .mobile-menu .mobile-menu-items a[data-v-95366c42]{color:var(--text-default);font-size:1.5rem;font-weight:700;text-decoration:none}header .mobile-menu .mobile-menu-items a[data-v-95366c42]:hover{color:var(--secondary-text)}header .mobile-menu .mobile-theme-switch[data-v-95366c42]{position:absolute;bottom:2rem;right:2rem}header .mobile-menu .mobile-lang-select[data-v-95366c42]{position:absolute;bottom:5rem;right:2rem}header .buttons-container[data-v-95366c42]{align-items:center;gap:1rem;display:flex}@media (width<=768px){header[data-v-95366c42]{flex-direction:row;justify-content:space-between;width:100%;display:flex}header.scrolled[data-v-95366c42]{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:color-mix(in srgb, var(--secondary-background) 96%, transparent)}header .menu[data-v-95366c42]{display:none}header .top-container[data-v-95366c42]{justify-content:flex-end;display:flex}header .mobile-menu-icon[data-v-95366c42]{font-size:1.5rem;display:block}header .close-icon[data-v-95366c42]{padding:26px 32px;font-size:1.8rem;display:block}header .desktop-theme-switch[data-v-95366c42],header .desktop-lang-select[data-v-95366c42]{display:none}}.defocus[data-v-95366c42]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overscroll-behavior:contain;background-color:#0003;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.slide-in-enter-active[data-v-95366c42],.slide-in-leave-active[data-v-95366c42]{transition:all .3s}.slide-in-enter-from[data-v-95366c42],.slide-in-leave-to[data-v-95366c42]{transform:translate(100%)}.slide-in-enter-to[data-v-95366c42],.slide-in-leave-from[data-v-95366c42]{transform:translate(0)}@keyframes underline-95366c42{0%{transform:scaleX(0)}to{transform:scaleX(1)}}footer[data-v-6803e46f]{--footer-fg:#fbf1c7;background-color:var(--dark-background);border-top:2px solid var(--accent);justify-content:space-between;align-items:center;width:100%;padding:2.5rem 3rem;display:flex}footer .texts[data-v-6803e46f]{flex-direction:column;gap:.35rem;display:flex}footer .texts .logo[data-v-6803e46f]{letter-spacing:-.01em;color:var(--footer-fg);font-size:1.25rem;font-weight:800}footer .texts .logo .dev[data-v-6803e46f]{color:var(--accent-on-dark)}footer .texts .author[data-v-6803e46f]{color:#fbf1c7c7;font-size:.95rem}footer .texts .copyright[data-v-6803e46f]{color:#fbf1c79e;font-family:Fira Code,monospace;font-size:.78rem}footer .icons[data-v-6803e46f]{align-items:center;gap:1.25rem;font-size:1.5rem;display:flex}footer .icons button[data-v-6803e46f]{color:#fbf1c7d1;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;line-height:0;transition:color .25s,transform .25s}footer .icons button[data-v-6803e46f]:hover{color:var(--accent-on-dark);transform:translateY(-2px)}@media (width<=768px){footer[data-v-6803e46f]{flex-direction:column;align-items:flex-start;gap:1.5rem;padding:2rem 1.5rem}}.avatar-toggle[data-v-87a7041b]{border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);background-color:color-mix(in srgb, var(--secondary-background) 45%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-width:6.5rem;color:var(--accent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.25rem .6rem;font-family:Fira Code,monospace;font-size:.68rem;font-weight:500;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.avatar-toggle[data-v-87a7041b]:hover,.avatar-toggle[data-v-87a7041b]:focus-visible,.avatar-toggle[aria-expanded=true][data-v-87a7041b]{background-color:var(--accent);color:var(--accent-contrast)}.avatar-toggle[data-v-87a7041b]:active{transform:scale(.96)}@media (width<=768px){.avatar-toggle[data-v-87a7041b]{width:1.9rem;min-width:0;height:1.9rem;padding:0}.avatar-toggle .label[data-v-87a7041b]{display:none}}.gesture-menu[data-v-6aeb6c8b]{z-index:1}.toggle[data-v-6aeb6c8b]{position:relative}.toggle.is-calling[data-v-6aeb6c8b]:after{content:"";border-radius:inherit;border:1px solid var(--accent);pointer-events:none;animation:4s ease-out infinite call-attention-6aeb6c8b;position:absolute;inset:-1px}.toggle.is-calling[data-v-6aeb6c8b] svg{animation:4s ease-in-out infinite wiggle-6aeb6c8b}@media (prefers-reduced-motion:reduce){.toggle.is-calling[data-v-6aeb6c8b]:after,.toggle.is-calling[data-v-6aeb6c8b] svg{animation:none}}@keyframes call-attention-6aeb6c8b{0%{opacity:.35;transform:scale(1)}70%,to{opacity:0;transform:scale(1.35,1.6)}}@keyframes wiggle-6aeb6c8b{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-14deg)}80%{transform:rotate(12deg)}90%{transform:rotate(-6deg)}}.panel[data-v-6aeb6c8b]{scrollbar-width:thin;border:1px solid var(--default-border);background-color:var(--secondary-background);border-radius:.6rem;width:12rem;max-height:min(32rem,70vh);padding:.4rem;position:absolute;top:calc(100% + .35rem);left:0;overflow-y:auto;box-shadow:0 .75rem 1.5rem #0000001f}.panel section+section[data-v-6aeb6c8b]{border-top:1px solid var(--default-border);margin-top:.35rem;padding-top:.35rem}.panel h3[data-v-6aeb6c8b]{letter-spacing:.06em;text-transform:uppercase;color:var(--disabled-text);padding:.3rem .6rem .2rem;font-family:Fira Code,monospace;font-size:.7rem;font-weight:500}.panel ul[data-v-6aeb6c8b]{padding:0;list-style:none}.panel button[data-v-6aeb6c8b]{width:100%;color:var(--default-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.3rem .6rem;font-size:.85rem;transition:background-color .15s,color .15s}.panel button[data-v-6aeb6c8b]:hover,.panel button[data-v-6aeb6c8b]:focus-visible{background-color:var(--details-background);color:var(--accent)}.pending[data-v-b091bc9f]{color:#0000}.cursor[data-v-b091bc9f]{vertical-align:text-bottom;background-color:var(--accent);width:.45em;height:1em;margin-left:1px;animation:.9s step-end infinite blink-b091bc9f;display:inline-block}@keyframes blink-b091bc9f{50%{opacity:0}}.avatar-chat[data-v-7da9c08f]{position:static}.panel[data-v-7da9c08f]{--tail-size:1.1rem;border:1px solid var(--default-border);background-color:var(--secondary-background);width:28rem;max-height:85%;box-shadow:0 0 0 .4rem var(--default-background), 0 0 2.5rem 1.25rem var(--default-background), 0 1rem 2rem #00000024;transform-origin:0 2rem;border-radius:1.25rem;flex-direction:column;gap:.5rem;padding:1rem;animation:.22s ease-out bubble-pop-7da9c08f;display:flex;position:absolute;top:3.25rem;left:64%}.panel[data-v-7da9c08f]:before{content:"";top:1.5rem;left:calc(var(--tail-size) / -2);width:var(--tail-size);height:var(--tail-size);border-bottom:1px solid var(--default-border);border-left:1px solid var(--default-border);background-color:inherit;position:absolute;transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.panel[data-v-7da9c08f]{animation:none}}@media (width<=768px){.panel[data-v-7da9c08f]{transform-origin:50% 0;width:auto;max-height:62%;inset:auto .5rem .5rem}.panel[data-v-7da9c08f]:before{top:calc(var(--tail-size) / -2);left:calc(50% - var(--tail-size) / 2);border-bottom:none;border-top:1px solid var(--default-border)}}@keyframes bubble-pop-7da9c08f{0%{opacity:0;transform:scale(.85)}}.messages[data-v-7da9c08f]{scrollbar-width:thin;flex-direction:column;gap:.4rem;min-height:0;padding:0;list-style:none;display:flex;overflow-y:auto}.message[data-v-7da9c08f]{overflow-wrap:anywhere;border-radius:.8rem;max-width:85%;padding:.5rem .75rem;font-size:.9rem;line-height:1.45}.message.assistant[data-v-7da9c08f]{background-color:var(--details-background);color:var(--default-text);border-bottom-left-radius:.2rem;align-self:flex-start}.message.user[data-v-7da9c08f]{background-color:var(--accent);color:var(--accent-contrast);border-bottom-right-radius:.2rem;align-self:flex-end}.message.is-typing[data-v-7da9c08f]{gap:.25rem;padding:.65rem .8rem;display:inline-flex}.message.is-typing span[data-v-7da9c08f]{background-color:var(--disabled-text);border-radius:50%;width:.35rem;height:.35rem;animation:1.2s ease-in-out infinite typing-7da9c08f}.message.is-typing span[data-v-7da9c08f]:nth-child(2){animation-delay:.15s}.message.is-typing span[data-v-7da9c08f]:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:reduce){.message.is-typing span[data-v-7da9c08f]{animation:none}}@keyframes typing-7da9c08f{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.error[data-v-7da9c08f]{color:var(--accent);font-size:.8rem}.suggestions[data-v-7da9c08f]{flex-wrap:wrap;gap:.35rem;padding:0;list-style:none;display:flex}.suggestions button[data-v-7da9c08f]{border:1px solid var(--default-border);color:var(--secondary-text);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;transition:border-color .15s,color .15s}.suggestions button[data-v-7da9c08f]:hover,.suggestions button[data-v-7da9c08f]:focus-visible{border-color:var(--accent);color:var(--accent)}form[data-v-7da9c08f]{gap:.4rem;display:flex}form input[data-v-7da9c08f]{border:1px solid var(--default-border);background-color:var(--default-background);min-width:0;color:var(--default-text);font:inherit;border-radius:999px;flex:1;padding:.5rem .75rem;font-size:.85rem}form input[data-v-7da9c08f]:focus-visible{border-color:var(--accent);outline:none}form button[data-v-7da9c08f]{background-color:var(--accent);width:2.2rem;height:2.2rem;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:50%;flex:none;transition:opacity .15s}form button[data-v-7da9c08f]:disabled{opacity:.45;cursor:default}.my-photo[data-v-95545f29]{flex:1;max-width:380px}.my-photo[data-v-95545f29]:before{content:"";border:2px solid var(--accent);clip-path:polygon(0 0,100% 0,100% 55%,0 55%);pointer-events:none;border-radius:50%;position:absolute;inset:-.9rem}.my-photo img[data-v-95545f29]{aspect-ratio:1;object-fit:cover;border:2px solid var(--default-border);will-change:transform;border-radius:50%;width:100%;transition:transform .25s ease-out,box-shadow .25s ease-out}@media (width<=768px){.my-photo[data-v-95545f29]{align-self:center;max-width:280px}.my-photo[data-v-95545f29]:before{inset:-.7rem}.my-photo img[data-v-95545f29]{height:100%}}.my-avatar[data-v-da6bc228]{z-index:2;aspect-ratio:3/4;flex:none;align-items:center;height:min(44rem,100vh - 11rem);display:flex;position:relative}.my-avatar .avatar-controls[data-v-da6bc228]{z-index:2;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.3rem;padding:.5rem;display:flex;position:absolute;inset:0}.my-avatar .avatar-controls>[data-v-da6bc228]{pointer-events:auto}.my-avatar canvas[data-v-da6bc228]{cursor:grab;touch-action:pan-y;opacity:0;width:100%;height:100%;transition:opacity .6s}.my-avatar canvas[data-v-da6bc228]:active{cursor:grabbing}.my-avatar canvas.ready[data-v-da6bc228]{opacity:1}.roles[data-v-4ddf9cf1]{color:var(--secondary-text);flex-wrap:wrap;align-items:center;row-gap:.5rem;margin:0;font-family:Fira Code,monospace;font-size:.95rem;display:flex}.roles>span[data-v-4ddf9cf1]{align-items:center;display:inline-flex}.roles .role[data-v-4ddf9cf1]{white-space:nowrap}.roles .sep[data-v-4ddf9cf1]{color:var(--accent);margin:0 .6rem;font-weight:700}.roles .cursor[data-v-4ddf9cf1]{background-color:var(--accent);width:.5rem;height:1rem;margin-left:.4rem;animation:1.1s step-end infinite cursorBlink-4ddf9cf1;display:inline-block;transform:translateY(1px)}@keyframes cursorBlink-4ddf9cf1{0%,to{opacity:1}50%{opacity:0}}@media (prefers-reduced-motion:reduce){.roles .cursor[data-v-4ddf9cf1]{animation:none}}@media (width<=768px){.roles[data-v-4ddf9cf1]{font-size:.8rem;line-height:2.1}.roles .sep[data-v-4ddf9cf1]{margin:0 .4rem}}#home[data-v-bd54b729]{align-items:center;min-height:100vh;margin-top:-5rem;display:flex}#home .container[data-v-bd54b729]{justify-content:space-between;align-items:center;gap:6rem;margin:0 auto;display:flex}#home .presentation-container[data-v-bd54b729]{flex:1.4;min-width:0}#home .presentation-container .eyebrow[data-v-bd54b729]{letter-spacing:.02em;color:var(--secondary-text);align-items:center;gap:.75rem;font-family:Fira Code,monospace;font-size:.9rem;display:inline-flex}#home .presentation-container .eyebrow[data-v-bd54b729]:before{content:"";background-color:var(--accent);width:2rem;height:2px}#home .presentation-container .name[data-v-bd54b729]{letter-spacing:-.02em;margin:1rem 0 1.25rem;font-size:clamp(2.75rem,6vw,4.75rem);font-weight:800;line-height:1.02}#home .presentation-container .name .line[data-v-bd54b729]{display:block}#home .presentation-container .summary[data-v-bd54b729]{max-width:56ch;color:var(--secondary-text);margin-top:1.5rem;line-height:1.7}#home .presentation-container .cv-button[data-v-bd54b729]{background-color:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.6rem;margin-top:2.25rem;padding:.9rem 1.75rem;font-size:1.05rem;font-weight:700;transition:transform .25s,box-shadow .25s;display:inline-flex}#home .presentation-container .cv-button svg[data-v-bd54b729]{transition:transform .25s}#home .presentation-container .cv-button[data-v-bd54b729]:hover{box-shadow:0 .75rem 1.25rem color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-2px)}#home .presentation-container .cv-button:hover svg[data-v-bd54b729]{transform:translate(4px)}@media (width<=768px){#home[data-v-bd54b729]{min-height:100svh;position:relative}#home[data-v-bd54b729]:before{content:"";aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--accent) 20%, transparent), transparent 68%);pointer-events:none;z-index:0;width:min(85vw,22rem);position:absolute;top:4.5rem;left:50%;transform:translate(-50%)}#home .container[data-v-bd54b729]{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:1rem;margin:0 auto;padding-top:6.5rem;padding-bottom:3rem;position:relative}#home .my-avatar[data-v-bd54b729]{flex:none;order:-1;align-self:center;width:min(82vw,22rem);height:auto}#home .presentation-container[data-v-bd54b729]{text-align:center;width:100%;max-width:100%}#home .presentation-container .eyebrow[data-v-bd54b729]{justify-content:center}#home .presentation-container .eyebrow[data-v-bd54b729]:after{content:"";background-color:var(--accent);width:2rem;height:2px}#home .presentation-container .name[data-v-bd54b729]{margin:.85rem 0 .9rem;font-size:clamp(2.5rem,13vw,3.4rem)}#home .presentation-container .roles[data-v-bd54b729]{justify-content:center}#home .presentation-container .summary[data-v-bd54b729]{max-width:none;margin:1.25rem 0 0}#home .presentation-container .cv-button[data-v-bd54b729]{border-radius:999px;justify-content:center;width:100%;margin-top:2.25rem;padding:1.1rem 1.75rem}}.stack[data-v-c7a90de1]{flex-direction:column;align-items:center;gap:.5rem;width:4.5rem;display:flex}.stack .icon[data-v-c7a90de1]{background-color:var(--details-background);box-sizing:content-box;border-radius:50%;width:2rem;height:2rem;padding:.75rem;transition:transform .2s,box-shadow .2s;box-shadow:0 .5rem 1rem #00000026}.stack .icon img[data-v-c7a90de1]{width:100%;height:100%}[data-theme=dark] .stack .icon.invert-on-dark img[data-v-c7a90de1]{filter:invert()}.stack .label[data-v-c7a90de1]{color:var(--secondary-text);text-align:center;font-family:Fira Code,monospace;font-size:.75rem}.stack.highlight .icon[data-v-c7a90de1]{box-shadow:0 0 0 2px var(--accent)}.stack:hover .icon[data-v-c7a90de1]{transform:scale(1.1);box-shadow:0 .5rem 1.2rem #0003}#about[data-v-a6548c18]{background:var(--secondary-background);flex-direction:column;justify-content:center;min-height:70vh;display:flex}#about .section-heading[data-v-a6548c18]{margin-bottom:2rem}#about .section-heading .marker[data-v-a6548c18]{background-color:var(--accent);width:2.5rem;height:3px;margin-bottom:1rem;display:block}#about .section-heading h2[data-v-a6548c18]{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}#about .content-containers[data-v-a6548c18]{align-items:flex-start;gap:3rem;display:flex}#about .content-containers .summary[data-v-a6548c18]{max-width:62ch;color:var(--secondary-text);flex-direction:column;flex:1.4;gap:.75rem;line-height:1.75;display:flex}#about .content-containers .tech-stack[data-v-a6548c18]{flex:1}#about .content-containers .tech-stack .stack-label[data-v-a6548c18]{color:var(--secondary-text);align-items:center;gap:.75rem;margin-bottom:1rem;font-family:Fira Code,monospace;font-size:.9rem;display:inline-flex}#about .content-containers .tech-stack .stack-label[data-v-a6548c18]:before{content:"";background-color:var(--accent);width:1.5rem;height:2px}#about .content-containers .tech-stack .stacks-container[data-v-a6548c18]{flex-wrap:wrap;gap:1.25rem;display:flex}@media (width<=768px){#about .section-heading[data-v-a6548c18]{margin-bottom:2rem}#about .content-containers[data-v-a6548c18]{flex-direction:column;gap:2.5rem}#about .summary[data-v-a6548c18]{max-width:100%}#about .tech-stack[data-v-a6548c18]{width:100%}#about .tech-stack .stack-label[data-v-a6548c18],#about .stacks-container[data-v-a6548c18]{justify-content:center}}#career[data-v-09a11f4c]{flex-direction:column;justify-content:center;min-height:90vh;display:flex}#career .section-heading[data-v-09a11f4c]{margin-bottom:2.5rem}#career .section-heading .marker[data-v-09a11f4c]{background-color:var(--accent);width:2.5rem;height:3px;margin-bottom:1rem;display:block}#career .section-heading h2[data-v-09a11f4c]{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}#career .places-container[data-v-09a11f4c]{flex-wrap:wrap;justify-content:center;align-items:start;gap:.5rem;display:flex}#career .places-container .buttons-container[data-v-09a11f4c]{flex-direction:column;display:flex;position:relative}#career .places-container .buttons-container button[data-v-09a11f4c]{border:0;border-left:1px solid var(--default-border);color:var(--secondary-text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;margin:0 0 0 1px;padding:.85rem 1.25rem;font-family:Fira Code,monospace;font-size:.9rem;font-weight:500;transition:color .2s ease-in-out,background-color .2s ease-in-out}#career .places-container .buttons-container button[data-v-09a11f4c]:hover{color:var(--default-text);background-color:color-mix(in srgb, var(--accent) 10%, transparent)}#career .places-container .buttons-container button.active[data-v-09a11f4c]{color:var(--default-text);font-weight:700}#career .places-container .buttons-container .current-selected-marker[data-v-09a11f4c]{background-color:var(--accent);z-index:10;width:2px;height:16.6667%;position:absolute;top:0;left:0;transition:top .3s ease-in-out!important}#career .places-container .active-place-content[data-v-09a11f4c]{flex-direction:column;flex:1;height:350px;padding:0 2.5rem;display:flex}#career .places-container .active-place-content .title[data-v-09a11f4c]{font-size:1.4rem;font-weight:700}#career .places-container .active-place-content .title .place-name[data-v-09a11f4c]{color:var(--accent);font-weight:700;text-decoration:none;transition:all .2s ease-in-out}#career .places-container .active-place-content .title .place-name[data-v-09a11f4c]:after{content:"";background:var(--accent);transform-origin:100% 100%;width:100%;height:2px;transition:transform .25s ease-out;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}#career .places-container .active-place-content .title .place-name[data-v-09a11f4c]:hover:after{transform-origin:0 100%;transform:scaleX(1)}#career .places-container .active-place-content .period[data-v-09a11f4c]{color:var(--secondary-text);margin-top:.4rem;margin-bottom:1.5rem;font-family:Fira Code,monospace;font-size:.85rem}#career .places-container .active-place-content .description[data-v-09a11f4c]{color:var(--secondary-text);flex-direction:column;gap:.75rem;max-width:800px;padding-left:1.1rem;font-size:1rem;line-height:1.7;list-style-type:square;display:flex}#career .places-container .active-place-content .description li[data-v-09a11f4c]::marker{color:var(--accent)}@media (width<=768px){#career .section-heading[data-v-09a11f4c]{margin-bottom:1.5rem}#career .container[data-v-09a11f4c]{min-width:0}#career .places-container[data-v-09a11f4c]{flex-direction:column;align-items:stretch;gap:1.75rem;min-width:0}#career .places-container .buttons-container[data-v-09a11f4c]{scrollbar-width:none;flex-direction:row;gap:.5rem;width:calc(100vw - 2.4rem);max-width:calc(100vw - 2.4rem);padding-bottom:.5rem;overflow-x:auto}#career .places-container .buttons-container[data-v-09a11f4c]::-webkit-scrollbar{display:none}#career .places-container .buttons-container .current-selected-marker[data-v-09a11f4c]{display:none}#career .places-container .buttons-container button[data-v-09a11f4c]{border:1px solid var(--default-border);white-space:nowrap;border-radius:2rem;flex:none;width:auto;margin-left:0;padding:.5rem 1rem}#career .places-container .buttons-container button.active[data-v-09a11f4c]{color:var(--accent);border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 12%, transparent)}#career .places-container .active-place-content[data-v-09a11f4c]{height:auto;padding:0!important}}.featured-project-card[data-v-1704a8b3]{background-color:var(--details-background);border:1px solid var(--default-border);text-align:left;opacity:0;border-radius:1rem;gap:2.5rem;width:100%;padding:1.75rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;box-shadow:0 .5rem 1.5rem #00000014}.featured-project-card[data-v-1704a8b3]:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--default-border));box-shadow:0 1rem 2rem color-mix(in srgb, var(--accent) 14%, transparent);transform:translateY(-4px)}.featured-project-card.reverse[data-v-1704a8b3]{flex-direction:row-reverse}.featured-project-card.reverse .project-infos[data-v-1704a8b3]{text-align:right;align-items:flex-end}.featured-project-card .media[data-v-1704a8b3]{cursor:pointer;flex:none;width:28rem;max-width:55%}.featured-project-card .project-image[data-v-1704a8b3],.featured-project-card .scroll-image-container[data-v-1704a8b3]{aspect-ratio:16/9;object-fit:cover;border-radius:.75rem;width:100%;transition:transform .3s ease-in-out;box-shadow:0 .1rem 1rem #00000026}.featured-project-card .media:hover .project-image[data-v-1704a8b3],.featured-project-card .media:hover .scroll-image-container[data-v-1704a8b3],.featured-project-card .media:hover .perf-panel[data-v-1704a8b3]{transform:scale(1.025)}.featured-project-card .perf-panel[data-v-1704a8b3]{aspect-ratio:16/9;background:var(--dark-background);border:1px solid var(--default-border);text-align:left;border-radius:.75rem;flex-direction:column;width:100%;transition:transform .3s ease-in-out;display:flex;overflow:hidden;box-shadow:0 .1rem 1rem #00000026}.featured-project-card .perf-panel .perf-chrome[data-v-1704a8b3]{border-bottom:1px solid #ffffff14;align-items:center;gap:.4rem;padding:.6rem .85rem;display:flex}.featured-project-card .perf-panel .perf-chrome .dot[data-v-1704a8b3]{background:#ffffff40;border-radius:50%;width:.6rem;height:.6rem}.featured-project-card .perf-panel .perf-chrome .dot[data-v-1704a8b3]:first-child{background:var(--accent-on-dark)}.featured-project-card .perf-panel .perf-chrome .perf-url[data-v-1704a8b3]{color:#ffffffb3;margin-left:.5rem;font-family:Fira Code,monospace;font-size:.72rem}.featured-project-card .perf-panel .perf-metrics[data-v-1704a8b3]{flex-direction:column;flex:1;justify-content:center;gap:.15rem;margin:0;padding:.5rem .85rem;font-family:Fira Code,monospace;list-style:none;display:flex}.featured-project-card .perf-panel .perf-metrics li[data-v-1704a8b3]{border-bottom:1px dashed #ffffff12;justify-content:space-between;align-items:baseline;gap:1rem;padding:.35rem 0;font-size:clamp(.72rem,1.4vw,.85rem);display:flex}.featured-project-card .perf-panel .perf-metrics li[data-v-1704a8b3]:last-child{border-bottom:0}.featured-project-card .perf-panel .perf-metrics .key[data-v-1704a8b3]{color:#ffffffb3}.featured-project-card .perf-panel .perf-metrics .value[data-v-1704a8b3]{color:var(--accent-on-dark);white-space:nowrap;font-weight:700}.featured-project-card .scroll-image-container[data-v-1704a8b3]{position:relative;overflow:hidden}.featured-project-card .scroll-image-container .scroll-image[data-v-1704a8b3]{object-fit:cover;object-position:top;width:100%;height:100%;transition:object-position 8s ease-in-out;position:absolute;top:0;left:0}.featured-project-card .scroll-image-container:hover .scroll-image[data-v-1704a8b3]{object-position:bottom}.featured-project-card .project-infos[data-v-1704a8b3]{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:1rem;min-width:0;display:flex}.featured-project-card .project-infos .featured-tag[data-v-1704a8b3]{text-transform:uppercase;letter-spacing:.1em;color:var(--secondary-text);align-items:center;gap:.5rem;font-family:Fira Code,monospace;font-size:.75rem;display:inline-flex}.featured-project-card .project-infos .featured-tag[data-v-1704a8b3]:before{content:"";background-color:var(--accent);border-radius:50%;width:.5rem;height:.5rem}.featured-project-card .project-infos .title[data-v-1704a8b3]{letter-spacing:-.02em;color:var(--default-text);font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;line-height:1.1;text-decoration:none}.featured-project-card .project-infos .title[data-v-1704a8b3]:not(.static){cursor:pointer}.featured-project-card .project-infos .title[data-v-1704a8b3]:not(.static):after{content:"";background:var(--accent);transform-origin:100% 100%;width:100%;height:2px;transition:transform .25s ease-out;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.featured-project-card .project-infos .title[data-v-1704a8b3]:not(.static):hover:after{transform-origin:0 100%;transform:scaleX(1)}.featured-project-card .project-infos .description[data-v-1704a8b3]{color:var(--secondary-text);max-width:42ch;line-height:1.65}.featured-project-card .project-infos .stack[data-v-1704a8b3]{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.featured-project-card .project-infos .stack li[data-v-1704a8b3]{color:var(--secondary-text);border:1px solid var(--default-border);border-radius:.4rem;padding:.3rem .6rem;font-family:Fira Code,monospace;font-size:.75rem}.featured-project-card .project-infos .buttons[data-v-1704a8b3]{gap:.75rem;margin-top:.5rem;display:flex}.featured-project-card .project-infos .buttons button[data-v-1704a8b3]{cursor:pointer;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.95rem;font-weight:700;transition:transform .25s,box-shadow .25s,border-color .25s,color .25s;display:inline-flex}.featured-project-card .project-infos .buttons button svg[data-v-1704a8b3]{transition:transform .25s}.featured-project-card .project-infos .buttons button.primary[data-v-1704a8b3]{background-color:var(--accent);color:var(--accent-contrast)}.featured-project-card .project-infos .buttons button.primary[data-v-1704a8b3]:hover{box-shadow:0 .5rem 1rem color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-2px)}.featured-project-card .project-infos .buttons button.primary:hover svg[data-v-1704a8b3]{transform:translate(2px,-2px)}.featured-project-card .project-infos .buttons button.secondary[data-v-1704a8b3]{border-color:var(--default-border);color:var(--default-text);background-color:#0000}.featured-project-card .project-infos .buttons button.secondary[data-v-1704a8b3]:hover{border-color:var(--accent);color:var(--accent)}@media (width<=768px){.featured-project-card[data-v-1704a8b3]{gap:1.5rem;padding:1rem;flex-direction:column!important}.featured-project-card .media[data-v-1704a8b3]{width:100%;max-width:100%}.featured-project-card .project-infos[data-v-1704a8b3],.featured-project-card.reverse .project-infos[data-v-1704a8b3]{text-align:left;align-items:flex-start}}.project-card[data-v-e2d73fc2]{background-color:var(--details-background);border:1px solid var(--default-border);border-radius:1rem;flex-direction:column;gap:1.25rem;padding:1.25rem;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;box-shadow:0 .5rem 1.5rem #00000014}.project-card.clickable[data-v-e2d73fc2]{cursor:pointer}.project-card[data-v-e2d73fc2]:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--default-border));box-shadow:0 1rem 2rem color-mix(in srgb, var(--accent) 14%, transparent);transform:translateY(-4px)}.project-card .media[data-v-e2d73fc2]{aspect-ratio:16/9;border-radius:.75rem;width:100%;overflow:hidden;box-shadow:0 .1rem 1rem #00000026}.project-card .media .thumb[data-v-e2d73fc2]{object-fit:cover;width:100%;height:100%}.project-card .media .terminal[data-v-e2d73fc2]{background:var(--dark-background);flex-direction:column;height:100%;font-family:Fira Code,monospace;display:flex}.project-card .media .terminal .chrome[data-v-e2d73fc2]{border-bottom:1px solid #ffffff14;align-items:center;gap:.4rem;padding:.6rem .85rem;display:flex}.project-card .media .terminal .chrome .dot[data-v-e2d73fc2]{background:#ffffff40;border-radius:50%;width:.6rem;height:.6rem}.project-card .media .terminal .chrome .dot[data-v-e2d73fc2]:first-child{background:var(--accent-on-dark)}.project-card .media .terminal .chrome .title[data-v-e2d73fc2]{color:#ffffffb3;margin-left:.5rem;font-size:.72rem}.project-card .media .terminal .lines[data-v-e2d73fc2]{flex-direction:column;flex:1;justify-content:center;padding:.5rem .85rem;font-size:.75rem;line-height:1.8;display:flex;overflow:hidden}.project-card .media .terminal .lines .line[data-v-e2d73fc2]{color:#ffffffb3}.project-card .media .terminal .lines .line.accent[data-v-e2d73fc2]{color:var(--accent-on-dark);font-weight:700}.project-card .media .terminal .lines .prompt[data-v-e2d73fc2]{color:var(--accent-on-dark);margin-right:.5rem}.project-card .media .scroll-image-container[data-v-e2d73fc2]{width:100%;height:100%;position:relative}.project-card .media .scroll-image-container .scroll-image[data-v-e2d73fc2]{object-fit:cover;object-position:top;width:100%;height:100%;transition:object-position 6s ease-in-out;position:absolute;inset:0}.project-card:hover .media .scroll-image-container .scroll-image[data-v-e2d73fc2]{object-position:bottom}.project-card .body[data-v-e2d73fc2]{flex-direction:column;gap:.75rem;display:flex}.project-card .tag[data-v-e2d73fc2]{text-transform:uppercase;letter-spacing:.1em;color:var(--secondary-text);align-items:center;gap:.5rem;font-family:Fira Code,monospace;font-size:.72rem;display:inline-flex}.project-card .tag[data-v-e2d73fc2]:before{content:"";background-color:var(--accent);border-radius:50%;width:.45rem;height:.45rem}.project-card .header[data-v-e2d73fc2]{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-card .header .title[data-v-e2d73fc2]{color:var(--default-text);font-size:1.25rem;font-weight:700;line-height:1.2}.project-card .header .icons[data-v-e2d73fc2]{color:var(--secondary-text);flex-shrink:0;gap:.6rem;display:flex}.project-card .header .icons svg[data-v-e2d73fc2]{width:1.1rem;height:1.1rem}.project-card .description[data-v-e2d73fc2]{color:var(--secondary-text);font-size:.95rem;line-height:1.6}.project-card .stack[data-v-e2d73fc2]{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.project-card .stack li[data-v-e2d73fc2]{color:var(--secondary-text);border:1px solid var(--default-border);border-radius:.4rem;padding:.3rem .6rem;font-family:Fira Code,monospace;font-size:.72rem}#projects[data-v-a18157c1]{background:var(--secondary-background);flex-direction:column;justify-content:center;display:flex}#projects .section-heading[data-v-a18157c1]{margin-bottom:3rem}#projects .section-heading .marker[data-v-a18157c1]{background-color:var(--accent);width:2.5rem;height:3px;margin-bottom:1rem;display:block}#projects .section-heading h2[data-v-a18157c1]{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}#projects .featured-project-cards[data-v-a18157c1]{flex-direction:column;justify-content:center;align-items:stretch;gap:1.5rem;display:flex}#projects .project-cards[data-v-a18157c1]{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;display:grid}#projects .coming-soon-message[data-v-a18157c1]{background:var(--dark-background);border-radius:.75rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:2.5rem;padding:1.25rem;font-family:Fira Code,monospace;display:flex}#projects .coming-soon-message .prompt[data-v-a18157c1]{color:var(--accent-on-dark)}#projects .coming-soon-message .text[data-v-a18157c1]{color:#ffffffd1}@media (width<=1024px){#projects .project-cards[data-v-a18157c1]{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){#projects .project-cards[data-v-a18157c1]{grid-template-columns:1fr}}.contact-card[data-v-95830081]{border:1px solid var(--default-border);background:var(--details-background);opacity:0;border-radius:.85rem;align-items:center;gap:1rem;padding:1.1rem 1.35rem;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:flex}.contact-card.hoverable[data-v-95830081]{cursor:pointer}.contact-card.hoverable[data-v-95830081]:hover{border-color:var(--accent);box-shadow:0 .75rem 1.5rem color-mix(in srgb, var(--accent) 14%, transparent);transform:translateY(-3px)}.contact-card.hoverable:hover .icon[data-v-95830081]{color:var(--accent);border-color:var(--accent)}.contact-card.hoverable:hover .arrow[data-v-95830081]{color:var(--accent);transform:translate(3px)}.contact-card .icon[data-v-95830081]{border:1px solid var(--default-border);width:2.75rem;height:2.75rem;color:var(--secondary-text);border-radius:50%;flex:none;justify-content:center;align-items:center;padding:.7rem;transition:all .25s;display:flex}.contact-card .icon svg[data-v-95830081]{width:100%;height:100%}.contact-card .info[data-v-95830081]{flex-direction:column;gap:.15rem;min-width:0;display:flex}.contact-card .info .label[data-v-95830081]{text-transform:uppercase;letter-spacing:.1em;color:var(--secondary-text);font-family:Fira Code,monospace;font-size:.72rem}.contact-card .info .text[data-v-95830081]{color:var(--default-text);text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:700;overflow:hidden}.contact-card .arrow[data-v-95830081]{color:var(--disabled-text);margin-left:auto;transition:all .25s}@media (width<=768px){.contact-card[data-v-95830081]{padding:1rem}.contact-card .info .text[data-v-95830081]{font-size:.95rem}}#contact{flex-direction:column;justify-content:center;min-height:50vh;display:flex}#contact .section-heading{margin-bottom:2.5rem}#contact .section-heading .marker{background-color:var(--accent);width:2.5rem;height:3px;margin-bottom:1rem;display:block}#contact .section-heading h2{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}#contact .contact-cards{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width<=768px){#contact .contact-cards{grid-template-columns:1fr}}.lighthouse[data-v-58436ad1]{--score:#2f9e5f;text-align:center;padding:2.5rem 0}.lighthouse .section-heading[data-v-58436ad1]{flex-direction:column;align-items:center;margin-bottom:.6rem;display:inline-flex}.lighthouse .section-heading .marker[data-v-58436ad1]{background-color:var(--accent);width:2.5rem;height:3px;margin-bottom:1rem;display:block}.lighthouse .section-heading h2[data-v-58436ad1]{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,2.75rem);font-weight:800}.lighthouse .subtitle[data-v-58436ad1]{color:var(--secondary-text);max-width:48ch;margin:0 auto 2rem;line-height:1.6}.lighthouse .scores[data-v-58436ad1]{flex-wrap:wrap;justify-content:center;gap:1.5rem 2.5rem;display:flex}.lighthouse .score[data-v-58436ad1]{flex-direction:column;align-items:center;gap:.75rem;display:flex}.lighthouse .score .ring[data-v-58436ad1]{width:5.5rem;height:5.5rem;position:relative}.lighthouse .score .ring .ring-svg[data-v-58436ad1]{width:100%;height:100%;transform:rotate(-90deg)}.lighthouse .score .ring .track[data-v-58436ad1]{fill:none;stroke:var(--default-border);stroke-width:6px}.lighthouse .score .ring .progress[data-v-58436ad1]{fill:none;stroke:var(--score);stroke-width:6px;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.lighthouse .score .ring .number[data-v-58436ad1]{color:var(--score);justify-content:center;align-items:center;font-family:Fira Code,monospace;font-size:1.45rem;font-weight:700;display:flex;position:absolute;inset:0}.lighthouse .score .label[data-v-58436ad1]{color:var(--secondary-text);max-width:8rem;font-family:Fira Code,monospace;font-size:.85rem;font-weight:500}.lighthouse .verify[data-v-58436ad1]{color:var(--secondary-text);border-bottom:1px solid var(--default-border);margin-top:2rem;padding-bottom:2px;font-family:Fira Code,monospace;font-size:.85rem;text-decoration:none;transition:color .25s,border-color .25s;display:inline-block}.lighthouse .verify[data-v-58436ad1]:hover{color:var(--accent);border-color:var(--accent)}html[data-theme=dark] .lighthouse[data-v-58436ad1]{--score:#8ec07c}@media (width<=560px){.lighthouse .scores[data-v-58436ad1]{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:2rem 1.5rem;max-width:22rem;margin:0 auto;display:grid}}main[data-v-c0fa6358]{background-color:var(--default-background);width:100%;min-height:100vh;color:var(--text-default);scroll-behavior:smooth;margin:0;padding:0;font-size:1rem;font-weight:400;line-height:1.5;display:block}:root{--default-background:#faf6ee;--secondary-background:#f3ede1;--details-background:#ece4d4;--dark-background:#3c3836;--default-text:#3c3836;--secondary-text:#504945;--disabled-text:#7c6f64;--default-border:#dcd1bd;--highlight:#faf6ee;--accent:#a33500;--accent-contrast:#faf6ee;--accent-on-dark:#fe8019}[data-theme=dark]{--default-background:#282828;--secondary-background:#32302f;--details-background:#3c3836;--dark-background:#1d2021;--default-text:#ebdbb2;--secondary-text:#d5c4a1;--disabled-text:#a89984;--default-border:#504945;--accent:#d3869b;--accent-contrast:#282828;--accent-on-dark:#d3869b}html{scroll-behavior:smooth}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400;position:relative}.container{max-width:1200px;margin:8rem auto;padding:0 2rem}@media (width<=768px){.container{padding:0 1.2rem}}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}.highlight{color:var(--accent);font-weight:700}#app{color:var(--default-text);margin:0 auto;font-family:Mulish,sans-serif;font-weight:400}@media (width>=768px){::-webkit-scrollbar{width:.75rem}::-webkit-scrollbar-track{background:var(--secondary-background)}::-webkit-scrollbar-thumb{background:var(--disabled-text);border-radius:1rem}}@media (prefers-reduced-motion:no-preference){#home .presentation-container>*,#home .my-photo,#about .section-heading>*,#about .summary>*,#about .stacks-container>*,#career .section-heading>*,#career .buttons-container>*,#career .active-place-content>*,#projects .section-heading>*,#projects .featured-project-cards>*,#projects .coming-soon-message,#contact .section-heading>*,#contact .contact-cards>*{opacity:0}}
