@charset "UTF-8";@media (width <= 480px){[data-v-b7b82d5c]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-b7b82d5c]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-b7b82d5c]:root{--scale: 1}}@media (width > 1025px){[data-v-b7b82d5c]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-b7b82d5c]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-b7b82d5c]{animation-duration:0ms!important;transition-duration:0ms!important}}.icon[data-v-b7b82d5c]{display:inline-flex;flex-shrink:0}@media (max-width: 480px){.icon[data-v-b7b82d5c]{transform:scale(.9)}}.icon--missing[data-v-b7b82d5c]{width:18px;height:18px;border-radius:50%;background:var(--color-error);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}@media (width <= 480px){[data-v-6e0c9ce5]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-6e0c9ce5]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-6e0c9ce5]:root{--scale: 1}}@media (width > 1025px){[data-v-6e0c9ce5]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-6e0c9ce5]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-6e0c9ce5]{animation-duration:0ms!important;transition-duration:0ms!important}}.theme-group[data-v-6e0c9ce5]{position:relative;display:inline-flex;align-items:stretch;border:1px solid var(--color-border);border-radius:.625rem;overflow:hidden;background:var(--color-surface-1);transition:all .2s ease}@media (min-width: 769px) and (hover: hover){.theme-group[data-v-6e0c9ce5]{width:2.5rem;cursor:pointer}.theme-group[data-v-6e0c9ce5]:hover,.theme-group--expanded[data-v-6e0c9ce5]{width:auto}}@media (min-width: 481px) and (max-width: 768px){.theme-group[data-v-6e0c9ce5]{width:2.5rem;cursor:pointer}.theme-group--expanded[data-v-6e0c9ce5]{width:auto}}@media (max-width: 480px){.theme-group[data-v-6e0c9ce5]{width:auto}}.theme-group__btn[data-v-6e0c9ce5]{appearance:none;border:0;padding:var(--space-2) var(--space-3);background:transparent;color:var(--color-text);font:inherit;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;flex-shrink:0}@media (min-width: 481px){.theme-group__btn[data-v-6e0c9ce5]{opacity:0;width:0;padding:0;pointer-events:none}.theme-group__btn--visible[data-v-6e0c9ce5]{opacity:1;width:auto;padding:var(--space-2) var(--space-3);pointer-events:auto}}@media (max-width: 480px){.theme-group__btn[data-v-6e0c9ce5]{opacity:1;width:auto;padding:var(--space-2) var(--space-3);pointer-events:auto}}.theme-group__btn--active[data-v-6e0c9ce5]{background:var(--color-surface-2);opacity:1;width:auto;padding:var(--space-2) var(--space-3);pointer-events:auto}.theme-group__btn[data-v-6e0c9ce5]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;z-index:1}.theme-group__btn[data-v-6e0c9ce5]:hover:not(.theme-group__btn--active){background:var(--color-surface-1);filter:brightness(1.1)}.theme-group__btn+.theme-group__btn[data-v-6e0c9ce5]{border-left:1px solid var(--color-border)}@media (min-width: 481px){.theme-group__btn+.theme-group__btn[data-v-6e0c9ce5]{border-left-color:transparent}.theme-group__btn+.theme-group__btn.theme-group__btn--visible[data-v-6e0c9ce5]{border-left-color:var(--color-border)}}@media (max-width: 480px){.theme-group__btn+.theme-group__btn[data-v-6e0c9ce5]{border-left-color:var(--color-border)}}@media (width <= 480px){[data-v-1733344d]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-1733344d]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-1733344d]:root{--scale: 1}}@media (width > 1025px){[data-v-1733344d]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-1733344d]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-1733344d]{animation-duration:0ms!important;transition-duration:0ms!important}}.navbar[data-v-1733344d]{position:fixed;left:0;right:0;top:0;z-index:var(--z-sticky);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.navbar__container[data-v-1733344d]{max-width:var(--max-width);height:var(--nav-bar-height);margin:auto;padding:var(--space-5);display:flex;justify-content:space-between;align-items:center}.navbar__name[data-v-1733344d]{text-decoration:none}.navbar__name-initial[data-v-1733344d]{color:transparent;font-size:var(--text-2xl)}.navbar__name-text[data-v-1733344d]{font-family:var(--font-cinzel);font-size:var(--text-lg);color:var(--color-secondary);color:transparent;-webkit-text-stroke-width:.05rem;-webkit-text-stroke-color:var(--color-primary)}.navbar__nav[data-v-1733344d]{display:flex;align-items:center;gap:var(--space-6)}@media (max-width: 480px){.navbar__nav[data-v-1733344d]{display:none}}.navbar__theme-wrapper[data-v-1733344d]{display:flex;align-items:center;margin-left:var(--space-2)}.navbar__link[data-v-1733344d]{text-decoration:none;color:var(--color-text-secondary);font-family:var(--font-ui);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all .2s ease}@media (min-width: 481px) and (max-width: 768px){.navbar__link[data-v-1733344d]{padding:var(--space-1)}}.navbar__link[data-v-1733344d]:hover{color:var(--color-primary);background:var(--color-surface-1)}.navbar__link--active[data-v-1733344d]{color:var(--color-primary);background:var(--color-surface-2)}.navbar__toggle[data-v-1733344d]{display:none;flex-direction:column;gap:3px;background:transparent;border:none;padding:var(--space-2);cursor:pointer}@media (max-width: 480px){.navbar__toggle[data-v-1733344d]{display:flex}}.navbar__toggle-line[data-v-1733344d]{width:20px;height:2px;background:var(--color-text);transition:all .3s ease}.navbar--mobile-open .navbar__toggle .navbar__toggle-line[data-v-1733344d]:nth-child(1){transform:rotate(45deg) translate(2.5px,2.5px)}.navbar--mobile-open .navbar__toggle .navbar__toggle-line[data-v-1733344d]:nth-child(2){opacity:0}.navbar--mobile-open .navbar__toggle .navbar__toggle-line[data-v-1733344d]:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}.navbar__mobile[data-v-1733344d]{display:none}@media (max-width: 480px){.navbar__mobile[data-v-1733344d]{display:block;padding:var(--space-5);background:var(--color-surface-1);border-top:1px solid var(--color-border)}}.navbar__mobile-link[data-v-1733344d]{display:block;text-decoration:none;color:var(--color-text-secondary);font-family:var(--font-ui);font-weight:var(--font-medium);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-2);transition:all .2s ease}.navbar__mobile-link[data-v-1733344d]:hover{color:var(--color-primary);background:var(--color-surface-2)}.navbar__mobile-link--active[data-v-1733344d]{color:var(--color-primary);background:var(--color-surface-3)}.navbar__mobile-theme[data-v-1733344d]{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;justify-content:center}@media (width <= 480px){[data-v-d53300e0]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-d53300e0]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-d53300e0]:root{--scale: 1}}@media (width > 1025px){[data-v-d53300e0]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-d53300e0]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-d53300e0]{animation-duration:0ms!important;transition-duration:0ms!important}}.footer__border-break[data-v-d53300e0]{border:1px solid var(--color-border)}@media (width <= 480px){[data-v-3f2d8e04]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-3f2d8e04]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-3f2d8e04]:root{--scale: 1}}@media (width > 1025px){[data-v-3f2d8e04]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-3f2d8e04]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-3f2d8e04]{animation-duration:0ms!important;transition-duration:0ms!important}}.app[data-v-3f2d8e04]{height:100dvh}.app__navbar[data-v-3f2d8e04]{height:var(--nav-bar-height)}.app__main--landing[data-v-3f2d8e04]{position:fixed;top:var(--nav-bar-height)}@media (width <= 480px){[data-v-8b2b0cc7]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-8b2b0cc7]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-8b2b0cc7]:root{--scale: 1}}@media (width > 1025px){[data-v-8b2b0cc7]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-8b2b0cc7]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-8b2b0cc7]{animation-duration:0ms!important;transition-duration:0ms!important}}.particles-container[data-v-8b2b0cc7]{width:100%;height:100%;position:absolute;inset:0}@media (width <= 480px){[data-v-d18540c4]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-d18540c4]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-d18540c4]:root{--scale: 1}}@media (width > 1025px){[data-v-d18540c4]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-d18540c4]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-d18540c4]{animation-duration:0ms!important;transition-duration:0ms!important}}.landing[data-v-d18540c4]{position:relative;width:100dvw;height:100dvh;overflow:hidden;top:calc(-1 * var(--nav-bar-height));background:transparent}.landing__background[data-v-d18540c4]{position:absolute;inset:0;z-index:0}.landing__container[data-v-d18540c4]{position:relative;display:flex;justify-content:center;width:100%;height:100%;z-index:2}.landing__title-wrapper[data-v-d18540c4]{height:fit-content;-webkit-user-select:none;user-select:none;margin:auto}.landing__particles[data-v-d18540c4]{position:absolute;inset:0;z-index:1;pointer-events:none}.landing__name[data-v-d18540c4]{font-family:var(--font-cinzel);font-size:var(--text-landing);color:var(--color-bg);-webkit-text-stroke-width:.08rem;-webkit-text-stroke-color:var(--color-secondary);transition:color .3s ease}@media (max-width: 480px){.landing__name[data-v-d18540c4]{margin:0 var(--space-5)}}.landing__name-first[data-v-d18540c4],.landing__name-last[data-v-d18540c4]{display:inline-block;margin:0 1rem}@media (max-width: 480px){.landing__name-first[data-v-d18540c4],.landing__name-last[data-v-d18540c4]{display:block}}@media (min-width: 481px) and (max-width: 768px){.landing__name-first[data-v-d18540c4],.landing__name-last[data-v-d18540c4]{margin:0 .5rem}}@media (min-width: 769px) and (max-width: 1025px){.landing__name-first[data-v-d18540c4],.landing__name-last[data-v-d18540c4]{margin:0 .75rem}}@media (max-width: 480px){.landing__name-first[data-v-d18540c4]{transform:translate(-5%,-100%)}}@media (max-width: 480px){.landing__name-last[data-v-d18540c4]{transform:translate(10%,-118%)}}.landing__name-initial[data-v-d18540c4]{font-size:calc(var(--text-landing) * 1.5);letter-spacing:calc(var(--text-landing) * .25 * -1)}.landing__name-last .landing__name-initial[data-v-d18540c4]{letter-spacing:calc(var(--text-landing) * .1 * -1)}.landing__border-break[data-v-d18540c4]{position:relative;bottom:calc(var(--text-landing) * .2);margin-left:calc(var(--text-landing) * .65);margin-right:calc(var(--text-landing) * .275);border-bottom:2px solid var(--color-primary);opacity:.7;z-index:-1}@media (max-width: 480px){.landing__border-break[data-v-d18540c4]{display:none}}@media (min-width: 481px) and (max-width: 768px){.landing__border-break[data-v-d18540c4]{display:none}}.landing__jobs[data-v-d18540c4]{position:relative;height:2rem;bottom:calc(var(--text-landing) * .15);left:calc(var(--text-landing) * .65);-webkit-text-stroke-width:.025rem;-webkit-text-stroke-color:var(--color-peach)}@media (max-width: 480px){.landing__jobs[data-v-d18540c4]{display:flex;bottom:unset;left:unset;flex-direction:column;justify-content:center;align-items:center}}@media (min-width: 481px) and (max-width: 768px){.landing__jobs[data-v-d18540c4]{bottom:-2rem;left:unset;text-align:center}}.landing__job-link[data-v-d18540c4]{display:inline-block;position:relative;font-family:var(--font-fredericka);font-size:calc(var(--text-landing) * .235);color:var(--color-accent);color:var(--color-bg);text-decoration:none;transition:all .35s ease}@media (max-width: 480px){.landing__job-link[data-v-d18540c4]{margin-bottom:.5rem;font-size:calc(var(--text-landing) * .5)}}@media (min-width: 481px) and (max-width: 768px){.landing__job-link[data-v-d18540c4]{font-size:calc(var(--text-landing) * .45)}}.landing__job-link[data-v-d18540c4]:hover{color:var(--color-warning)}.landing__job-link[data-v-d18540c4]:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:2px;bottom:0;left:0;background-color:var(--color-warning);opacity:.5;transform-origin:bottom right;transition:transform .35s ease-out}.landing__job-link[data-v-d18540c4]:hover:after{transform:scaleX(1);background-color:var(--color-warning);transform-origin:bottom left}.landing__divider[data-v-d18540c4]:before{content:"|";color:var(--color-accent);font-size:1.5rem;font-weight:var(--font-bold);opacity:.5;position:relative;top:.05rem;margin:0 var(--space-4)}@media (max-width: 480px){.landing__divider[data-v-d18540c4]:before{content:""}}@media (width <= 480px){[data-v-271dc127]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-271dc127]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-271dc127]:root{--scale: 1}}@media (width > 1025px){[data-v-271dc127]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-271dc127]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-271dc127]{animation-duration:0ms!important;transition-duration:0ms!important}}.page-section[data-v-271dc127]{max-width:100dvw;margin:0 auto}.page-section__container[data-v-271dc127]{margin:0 var(--space-6)}@media (max-width: 480px){.page-section__container[data-v-271dc127]{margin:var(--space-4)}}.page-section__header[data-v-271dc127]{position:relative;max-width:1200px;margin:auto;margin:var(--space-7) auto var(--space-6);padding:var(--space-5);color:var(--color-text-muted);font-family:var(--font-fredericka);font-size:calc(var(--text-3xl) * 2);-webkit-user-select:none;user-select:none}@media (max-width: 480px){.page-section__header[data-v-271dc127]{font-size:calc(var(--text-3xl) * 1.5);margin-bottom:var(--space-5)}}@media (width <= 480px){[data-v-789d738c]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-789d738c]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-789d738c]:root{--scale: 1}}@media (width > 1025px){[data-v-789d738c]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-789d738c]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-789d738c]{animation-duration:0ms!important;transition-duration:0ms!important}}.about__title[data-v-789d738c]{display:flex;justify-content:space-between;align-items:baseline}.about__title span[data-v-789d738c]{display:inline-block}.about__title .slide-fade-enter-active[data-v-789d738c],.about__title .slide-fade-leave-active[data-v-789d738c]{transition:all .4s cubic-bezier(.4,0,.2,1)}.about__title .slide-fade-enter-from[data-v-789d738c]{opacity:0;transform:translateY(-10px)}.about__title .slide-fade-leave-to[data-v-789d738c]{opacity:0;transform:translateY(10px)}.about__content[data-v-789d738c]{-webkit-user-select:none;user-select:none;margin:0 auto;max-width:var(--max-content-width);padding:0 var(--space-8)}@media (max-width: 480px){.about__content[data-v-789d738c]{padding:0 var(--space-4)}}@media (min-width: 481px) and (max-width: 768px){.about__content--active[data-v-789d738c]{text-align:center}}@media (max-width: 480px){.about__content--active[data-v-789d738c]{width:fit-content;margin:auto}.about__content--active p[data-v-789d738c]{font-size:var(--text-xl)!important}}.about__content p[data-v-789d738c]{font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-body);color:var(--color-text-muted);font-weight:var(--font-light);margin-bottom:var(--space-4);min-height:1.5em;transition:opacity .3s ease}@media (max-width: 480px){.about__content p[data-v-789d738c]{font-size:var(--text-lg)}}.about__content[data-v-789d738c] .highlight{font-weight:var(--font-semibold);color:var(--color-info);transition:all .3s ease}.about__content[data-v-789d738c] .highlight.highlight--glow{animation:glow-789d738c 1.2s ease-in}.about .btn[data-v-789d738c]{perspective:100cm;display:inline;background-color:transparent;border:transparent;width:100px;height:40px;-webkit-user-select:none;user-select:none;font-family:var(--font-fira);font-size:var(--text-lg)}@media (max-width: 480px){.about .btn[data-v-789d738c]{transform:scale(var(--scale));font-size:var(--text-xl)}}.about .btn span[data-v-789d738c]{position:absolute;display:flex;align-items:center;justify-content:center;inset:0;color:var(--color-text-secondary);background-color:transparent;box-shadow:inset 0 0 0 2px var(--color-info);border-radius:var(--radius-md);transform-origin:50% 50% -20px;transition:all .4s}.about .btn span[data-v-789d738c]:nth-child(1){transform:rotateX(0)}.about .btn span[data-v-789d738c]:nth-child(2){transform:rotateX(90deg);box-shadow:inset 0 0 0 2px var(--color-text-secondary);background-color:var(--color-surface-1)}.about .btn span[data-v-789d738c]:nth-child(2):after{content:")"}.about .btn span[data-v-789d738c]:nth-child(2):hover:after{content:"P"}.about .btn.btn--active span[data-v-789d738c]:nth-child(1){transform:rotateX(-90deg)}.about .btn.btn--active span[data-v-789d738c]:nth-child(2){transform:rotateX(0)}@keyframes glow-789d738c{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.1) contrast(200%) drop-shadow(0 0 12px var(--color-accent))}}.chip[data-v-34a80aba]{--chip-primary: #64748b;--chip-secondary: #ffffff;--chip-accent: color-mix(in oklab, var(--chip-primary) 20%, transparent);--chip-border: color-mix(in oklab, var(--chip-primary) 25%, transparent);position:relative;isolation:isolate;display:inline-flex;place-items:center;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:1000px;background:var(--chip-accent);color:var(--chip-primary);border:1px solid var(--chip-border);filter:saturate(2) brightness(1.3) contrast(1);filter:saturate(2) brightness(1.2) contrast(.7);filter:saturate(2) brightness(1.3) contrast(.7);box-shadow:0 0 0 1px color-mix(in oklab,var(--chip-primary) 20%,transparent);transition:all .15s ease;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap}.chip[data-v-34a80aba]:hover{background:color-mix(in oklab,var(--chip-primary) 30%,transparent);border-color:color-mix(in oklab,var(--chip-primary) 40%,transparent);box-shadow:0 0 0 1px color-mix(in oklab,var(--chip-primary) 15%,transparent),0 2px 4px color-mix(in oklab,var(--chip-primary) 20%,transparent)}.chip[data-v-34a80aba]:focus-visible{outline:1px solid var(--color-info);outline-offset:2px}@media (width <= 480px){[data-v-1b44370a]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-1b44370a]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-1b44370a]:root{--scale: 1}}@media (width > 1025px){[data-v-1b44370a]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-1b44370a]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-1b44370a]{animation-duration:0ms!important;transition-duration:0ms!important}}.exp-card[data-v-1b44370a]{background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all .3s ease;height:100%}.exp-card--compact[data-v-1b44370a]{-webkit-user-select:none;user-select:none;padding:var(--space-4);width:var(--exp-card-width);height:var(--exp-card-height);display:flex;flex-direction:column;justify-content:space-between}@media (max-width: 480px){.exp-card--compact[data-v-1b44370a]{padding:var(--space-3)}}.exp-card--compact[data-v-1b44370a]:hover{background:var(--color-surface-2)}.exp-card--compact .exp-card__header[data-v-1b44370a]{margin-bottom:var(--space-2);padding-bottom:var(--space-2)}.exp-card--compact .exp-card__name[data-v-1b44370a]{font-size:var(--text-lg)}.exp-card--compact .exp-card__role[data-v-1b44370a]{font-size:var(--text-sm)}.exp-card--compact .exp-card__period[data-v-1b44370a]{font-size:var(--text-xs)}.exp-card--compact .exp-card__skills[data-v-1b44370a]{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding-bottom:var(--space-3)}.exp-card--full[data-v-1b44370a]{border:none}@media (max-width: 480px){.exp-card--full[data-v-1b44370a]{padding:var(--space-3)}}.exp-card--full .exp-card__header[data-v-1b44370a]{border-bottom:1px solid var(--color-divider);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.exp-card--full .exp-card__skills[data-v-1b44370a]{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.exp-card--full .exp-card__achievements[data-v-1b44370a]{border-bottom:1px solid var(--color-divider);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.exp-card__company[data-v-1b44370a]{display:flex;flex-direction:column}.exp-card__name[data-v-1b44370a]{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--font-semibold);font-variant:small-caps;color:var(--color-text)}.exp-card__link[data-v-1b44370a]{color:var(--color-text-muted);margin-bottom:var(--space-4);font-size:var(--text-sm);transition:color .2s ease;display:flex;align-items:center}.exp-card__link .icon[data-v-1b44370a]{margin-left:var(--space-2)}@media (max-width: 480px){.exp-card__link .icon[data-v-1b44370a]{margin:0}}.exp-card__link[data-v-1b44370a]:hover{color:var(--color-primary)}.exp-card__meta[data-v-1b44370a]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.exp-card__role[data-v-1b44370a]{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-secondary)}@media (max-width: 480px){.exp-card__role[data-v-1b44370a]{font-size:var(--text-sm)}}.exp-card__divider[data-v-1b44370a]{color:var(--color-text-muted);-webkit-user-select:none;user-select:none}@media (max-width: 480px){.exp-card__divider[data-v-1b44370a]{display:none}}.exp-card__location[data-v-1b44370a]{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted)}@media (max-width: 480px){.exp-card__location[data-v-1b44370a]{font-size:var(--text-sm);width:100%}}.exp-card__period[data-v-1b44370a]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);display:block}.exp-card__description[data-v-1b44370a]{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-secondary);margin-bottom:var(--space-4)}@media (max-width: 480px){.exp-card__description[data-v-1b44370a]{font-size:var(--text-sm);line-height:var(--leading-normal)}}.exp-card__achievements[data-v-1b44370a]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.exp-card__achievements li[data-v-1b44370a]{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-muted);padding-left:var(--space-5);position:relative}@media (max-width: 480px){.exp-card__achievements li[data-v-1b44370a]{font-size:var(--text-sm);line-height:var(--leading-normal)}}.exp-card__achievements li[data-v-1b44370a]:before{content:"▹";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-bold)}.exp-card__compact-indicator[data-v-1b44370a]{display:flex;justify-content:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);border-top:1px solid var(--color-divider);padding-top:var(--space-2);opacity:.7;transition:opacity .2s ease}.exp-card__compact-indicator .icon[data-v-1b44370a]{align-self:flex-end}.exp-card--compact:hover .exp-card__compact-indicator[data-v-1b44370a]{opacity:1}@media (width <= 480px){[data-v-3d1869d3]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-3d1869d3]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-3d1869d3]:root{--scale: 1}}@media (width > 1025px){[data-v-3d1869d3]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-3d1869d3]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-3d1869d3]{animation-duration:0ms!important;transition-duration:0ms!important}}.resume-section[data-v-3d1869d3]{color:var(--color-olive);font-family:var(--font-poppins)}.resume-section .btn[data-v-3d1869d3]{font-family:var(--font-poppins);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);margin-left:var(--space-2);background:linear-gradient(.33turn,var(--color-primary) 0% 30%,var(--color-info) 50%,var(--color-accent) 70% 100%)}.resume-modal[data-v-3d1869d3]{position:fixed;inset:0;background:var(--color-overlay);display:grid;place-items:center;z-index:var(--z-modal);padding:var(--space-5);overflow-y:auto}@media (max-width: 480px){.resume-modal[data-v-3d1869d3]{padding:0}}.resume-modal__container[data-v-3d1869d3]{position:relative;width:100%;max-width:900px;height:90vh;background:var(--color-surface-1);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}@media (max-width: 480px){.resume-modal__container[data-v-3d1869d3]{max-width:100%;height:100vh;border-radius:0}}.resume-modal__close[data-v-3d1869d3]{position:absolute;top:var(--space-3);right:var(--space-3);z-index:calc(var(--z-modal) + 1);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:var(--space-7);height:var(--space-7);font-size:var(--text-2xl);color:var(--color-text);cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.resume-modal__close[data-v-3d1869d3]:hover{background:var(--color-surface-3)}@media (max-width: 480px){.resume-modal__close[data-v-3d1869d3]{right:var(--space-5);width:var(--space-8);height:var(--space-8)}}.resume-modal__images[data-v-3d1869d3]{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-4);padding-top:calc(var(--space-6) + 40px)}@media (max-width: 480px){.resume-modal__images[data-v-3d1869d3]{padding:var(--space-6) var(--space-3);padding-top:calc(var(--space-6) + 40px)}}.resume-modal__images img[data-v-3d1869d3]{width:100%;height:auto;display:block;margin-bottom:var(--space-4);border-radius:var(--radius-sm);box-shadow:0 2px 8px var(--color-shadow)}.resume-modal__images img[data-v-3d1869d3]:last-of-type{margin-bottom:var(--space-6)}.resume-modal__download-link[data-v-3d1869d3]{display:block;padding:var(--space-4);text-align:center;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-primary);text-decoration:none;font-family:var(--font-ui);font-weight:var(--font-medium);transition:all .2s ease}.resume-modal__download-link[data-v-3d1869d3]:hover{background:var(--color-surface-3)}.resume-modal__iframe[data-v-3d1869d3]{width:100%;height:100%;border:none}@media (width <= 480px){[data-v-35d99be2]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-35d99be2]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-35d99be2]:root{--scale: 1}}@media (width > 1025px){[data-v-35d99be2]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-35d99be2]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-35d99be2]{animation-duration:0ms!important;transition-duration:0ms!important}}.experience[data-v-35d99be2]{--mask-card: linear-gradient( 90deg, transparent 11%, black 15%, black 85%, transparent 89% );--mask-code: linear-gradient( 90deg, transparent 0%, black 3%, black 97%, transparent 100% )}@media (max-width: 480px){.experience[data-v-35d99be2]{--mask-code: none}}.experience[data-v-35d99be2]{overflow-x:clip}.experience__container[data-v-35d99be2]{position:relative;width:100%;margin:0 auto;display:flex;flex-direction:column;align-items:center}.experience__particles[data-v-35d99be2]{position:absolute;top:0;width:50%;height:100%;pointer-events:none;z-index:1}.experience__particles.left[data-v-35d99be2]{left:13%}.experience__particles.right[data-v-35d99be2]{right:12%}.experience__particle[data-v-35d99be2]{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 4px var(--color-secondary),0 0 8px var(--color-accent);opacity:0;animation:particleFloat-35d99be2 5s ease-out infinite}.experience__particle[data-v-35d99be2]:nth-child(1){top:31%}.experience__particle[data-v-35d99be2]:nth-child(2){top:74%}.experience__particle[data-v-35d99be2]:nth-child(3){top:72%}.experience__particle[data-v-35d99be2]:nth-child(4){top:11%}.experience__particle[data-v-35d99be2]:nth-child(5){top:62%}.experience__particle[data-v-35d99be2]:nth-child(6){top:83%}.experience__particle[data-v-35d99be2]:nth-child(7){top:71%}.experience__particle[data-v-35d99be2]:nth-child(8){top:14%}.experience__particle[data-v-35d99be2]:nth-child(9){top:86%}.experience__particle[data-v-35d99be2]:nth-child(10){top:58%}.experience__particle[data-v-35d99be2]:nth-child(11){top:87%}.experience__particle[data-v-35d99be2]:nth-child(12){top:22%}.experience__particle[data-v-35d99be2]:nth-child(13){top:12%}.experience__particle[data-v-35d99be2]:nth-child(14){top:77%}.experience__particle[data-v-35d99be2]:nth-child(15){top:99%}.experience__particle[data-v-35d99be2]:nth-child(16){top:46%}.experience__particle[data-v-35d99be2]:nth-child(17){top:53%}.experience__particle[data-v-35d99be2]:nth-child(18){top:51%}.experience__particle[data-v-35d99be2]:nth-child(19){top:29%}.experience__particle[data-v-35d99be2]:nth-child(20){top:94%;background:var(--color-secondary);box-shadow:0 0 4px var(--color-success),0 0 8px var(--color-warning)}.experience__particle[data-v-35d99be2]:nth-child(21){top:52%}.experience__particle[data-v-35d99be2]:nth-child(22){top:98%}.experience__particle[data-v-35d99be2]:nth-child(23){top:87%}.experience__particle[data-v-35d99be2]:nth-child(24){top:84%}.experience__particle[data-v-35d99be2]:nth-child(25){top:5%}.experience__particle[data-v-35d99be2]:nth-child(26){top:59%}.experience__particle[data-v-35d99be2]:nth-child(27){top:79%}.experience__particle[data-v-35d99be2]:nth-child(28){top:4%}.experience__particle[data-v-35d99be2]:nth-child(29){top:65%}.experience__particle[data-v-35d99be2]:nth-child(30){top:72%;background:var(--color-burgundy);box-shadow:0 0 4px var(--color-peach),0 0 8px var(--color-pink)}.experience__particle[data-v-35d99be2]:nth-child(31){top:68%}.experience__particle[data-v-35d99be2]:nth-child(32){top:30%}.experience__particle[data-v-35d99be2]:nth-child(33){top:23%}.experience__particle[data-v-35d99be2]:nth-child(34){top:25%}.experience__particle[data-v-35d99be2]:nth-child(35){top:49%}.experience__particle[data-v-35d99be2]:nth-child(36){top:14%}.experience__particle[data-v-35d99be2]:nth-child(37){top:35%}.experience__particle[data-v-35d99be2]:nth-child(38){top:64%}.experience__particle[data-v-35d99be2]:nth-child(39){top:21%}.experience__particle[data-v-35d99be2]:nth-child(40){top:20%;background:var(--color-secondary);box-shadow:0 0 4px var(--color-success),0 0 8px var(--color-warning)}.experience__particle[data-v-35d99be2]:nth-child(41){top:68%}.experience__particle[data-v-35d99be2]:nth-child(42){top:22%}.experience__particle[data-v-35d99be2]:nth-child(43){top:61%}.experience__particle[data-v-35d99be2]:nth-child(44){top:70%}.experience__particle[data-v-35d99be2]:nth-child(45){top:22%}.experience__particle[data-v-35d99be2]:nth-child(46){top:6%}.experience__particle[data-v-35d99be2]:nth-child(47){top:3%}.experience__particle[data-v-35d99be2]:nth-child(48){top:97%}.experience__particle[data-v-35d99be2]:nth-child(49){top:72%}.experience__particle[data-v-35d99be2]:nth-child(50){top:93%}.experience__particle[data-v-35d99be2]:nth-child(51){top:17%}.experience__particle[data-v-35d99be2]:nth-child(52){top:23%}.experience__particle[data-v-35d99be2]:nth-child(53){top:58%}.experience__particle[data-v-35d99be2]:nth-child(54){top:79%}.experience__particle[data-v-35d99be2]:nth-child(55){top:8%}.experience__particle[data-v-35d99be2]:nth-child(56){top:71%}.experience__particle[data-v-35d99be2]:nth-child(57){top:53%}.experience__particle[data-v-35d99be2]:nth-child(58){top:96%}.experience__particle[data-v-35d99be2]:nth-child(59){top:44%}.experience__particle[data-v-35d99be2]:nth-child(60){top:31%;background:var(--color-burgundy);box-shadow:0 0 4px var(--color-peach),0 0 8px var(--color-pink)}.experience__particle[data-v-35d99be2]:nth-child(61){top:83%}.experience__particle[data-v-35d99be2]:nth-child(62){top:94%}.experience__particle[data-v-35d99be2]:nth-child(63){top:44%}.experience__particle[data-v-35d99be2]:nth-child(64){top:4%}.experience__particle[data-v-35d99be2]:nth-child(65){top:42%}.experience__particle[data-v-35d99be2]:nth-child(66){top:69%}.experience__particle[data-v-35d99be2]:nth-child(67){top:13%}.experience__particle[data-v-35d99be2]:nth-child(68){top:65%}.experience__particle[data-v-35d99be2]:nth-child(69){top:99%}.experience__particle[data-v-35d99be2]:nth-child(70){top:1%}.experience__particle[data-v-35d99be2]:nth-child(71){top:98%}.experience__particle[data-v-35d99be2]:nth-child(72){top:67%}.experience__particle[data-v-35d99be2]:nth-child(73){top:63%}.experience__particle[data-v-35d99be2]:nth-child(74){top:68%}.experience__particle[data-v-35d99be2]:nth-child(75){top:64%}.experience__particle[data-v-35d99be2]:nth-child(76){top:66%}.experience__particle[data-v-35d99be2]:nth-child(77){top:95%}.experience__particle[data-v-35d99be2]:nth-child(78){top:42%}.experience__particle[data-v-35d99be2]:nth-child(79){top:74%}.experience__particle[data-v-35d99be2]:nth-child(80){top:50%;background:var(--color-secondary);box-shadow:0 0 4px var(--color-success),0 0 8px var(--color-warning)}.experience__particle[data-v-35d99be2]:nth-child(81){top:84%}.experience__particle[data-v-35d99be2]:nth-child(82){top:94%}.experience__particle[data-v-35d99be2]:nth-child(83){top:64%}.experience__particle[data-v-35d99be2]:nth-child(84){top:94%}.experience__particle[data-v-35d99be2]:nth-child(85){top:35%}.experience__particle[data-v-35d99be2]:nth-child(86){top:85%}.experience__particle[data-v-35d99be2]:nth-child(87){top:65%}.experience__particle[data-v-35d99be2]:nth-child(88){top:22%}.experience__particle[data-v-35d99be2]:nth-child(89){top:39%}.experience__particle[data-v-35d99be2]:nth-child(90){top:64%;background:var(--color-burgundy);box-shadow:0 0 4px var(--color-peach),0 0 8px var(--color-pink)}.experience__particle[data-v-35d99be2]:nth-child(91){top:60%}.experience__particle[data-v-35d99be2]:nth-child(92){top:64%}.experience__particle[data-v-35d99be2]:nth-child(93){top:11%}.experience__particle[data-v-35d99be2]:nth-child(94){top:47%}.experience__particle[data-v-35d99be2]:nth-child(95){top:40%}.experience__particle[data-v-35d99be2]:nth-child(96){top:7%}.experience__particle[data-v-35d99be2]:nth-child(97){top:22%}.experience__particle[data-v-35d99be2]:nth-child(98){top:16%}.experience__particle[data-v-35d99be2]:nth-child(99){top:32%}.experience__particle[data-v-35d99be2]:nth-child(100){top:31%;background:var(--color-secondary);box-shadow:0 0 4px var(--color-success),0 0 8px var(--color-warning)}.left .experience__particle[data-v-35d99be2]{left:0}.right .experience__particle[data-v-35d99be2]{right:0}@keyframes particleFloat-35d99be2{0%{opacity:0;transform:translate(0) scale(0);filter:brightness(0) saturate(0) contrast(0)}12%{opacity:1;transform:translate(0) scale(1.2);filter:brightness(1.2) saturate(1.8) contrast(2)}to{opacity:0;transform:translate(-150px) scale(0);filter:brightness(.5) saturate(.5) contrast(.5)}}.experience__layer[data-v-35d99be2]{position:relative;width:100%;height:var(--exp-card-height);display:flex;justify-content:center;align-items:center}.experience__layer--code[data-v-35d99be2]{position:relative;-webkit-mask-image:var(--mask-code);mask-image:var(--mask-code)}.experience__layer--cards[data-v-35d99be2]{position:absolute;-webkit-mask-image:var(--mask-card);mask-image:var(--mask-card)}.experience__stream[data-v-35d99be2]{position:relative;width:100%;height:100%}.experience__track[data-v-35d99be2]{position:absolute;display:flex;gap:var(--exp-gap);animation:expScroll-35d99be2 30s linear infinite;will-change:transform}.experience__track--paused[data-v-35d99be2]{animation-play-state:paused}@keyframes expScroll-35d99be2{0%{transform:translate(0)}to{transform:translate(-33.8%)}}.experience__cell[data-v-35d99be2]{flex:0 0 var(--exp-card-width);height:var(--exp-card-height);display:grid;place-items:center}.experience__code[data-v-35d99be2]{width:100%;height:100%;border:2px solid transparent;border-radius:var(--radius-lg);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-loose);color:var(--color-text-muted);white-space:pre;overflow:hidden;-webkit-user-select:none;user-select:none;opacity:.6}@media (max-width: 480px){.experience__code[data-v-35d99be2]{line-height:var(--leading-snug)}}.experience__card[data-v-35d99be2]{width:100%;height:100%;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.experience__card[data-v-35d99be2]:hover{filter:brightness(1.2)}.experience__resume[data-v-35d99be2]{margin-top:var(--space-8)}.experience__modal[data-v-35d99be2]{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:end;align-items:center;-webkit-backdrop-filter:blur(2px) contrast(90%) brightness(50%);backdrop-filter:blur(2px) contrast(90%) brightness(50%);z-index:var(--z-modal-backdrop);touch-action:none}.experience__modal__full-card[data-v-35d99be2]{overscroll-behavior:contain;position:relative;padding:var(--space-6);margin:var(--space-6);background:var(--color-surface-1);border-radius:var(--radius-lg);border:1px solid var(--color-border);animation:slideDown-35d99be2 .3s ease-out;max-width:900px}@media (max-width: 480px){.experience__modal__full-card[data-v-35d99be2]{border-radius:var(--radius-md);padding:var(--space-4);margin:auto var(--space-2);overflow-y:auto}}@keyframes slideDown-35d99be2{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.experience__modal__close-btn[data-v-35d99be2]{position:absolute;top:var(--space-4);right:var(--space-4);background:transparent;border:none;font-size:var(--text-2xl);color:var(--color-text-muted);cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-sm);transition:all .2s ease}.experience__modal__close-btn[data-v-35d99be2]:hover{background:var(--color-surface-2);color:var(--color-text)}.experience__modal__actions[data-v-35d99be2]{display:flex;flex-direction:row;gap:var(--space-6);height:30dvh;margin-top:var(--space-6)}@media (min-width: 481px) and (max-width: 768px){.experience__modal__actions[data-v-35d99be2]{height:20dvh}}@media (max-width: 480px){.experience__modal__actions[data-v-35d99be2]{height:10dvh}}.experience__modal__actions__btn[data-v-35d99be2]{width:90px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface-2);height:40px;font-size:var(--text-2xl);font-family:var(--font-fira);color:var(--color-text-muted);opacity:.8;box-shadow:0 0 0 1px color-mix(in oklab,var(--color-primary) 15%,transparent),0 2px 4px color-mix(in oklab,var(--color-primary) 20%,transparent)}.experience__modal__actions__btn[data-v-35d99be2]:active{filter:contrast(.85);transform:scale(.95)}.experience .modal-enter-active[data-v-35d99be2],.experience .modal-leave-active[data-v-35d99be2]{transition:all .3s ease-out}.experience .modal-enter-from[data-v-35d99be2],.experience .modal-leave-to[data-v-35d99be2]{-webkit-backdrop-filter:blur(0px) contrast(100%) brightness(100%);backdrop-filter:blur(0px) contrast(100%) brightness(100%);opacity:0}.experience .modal-enter-to[data-v-35d99be2],.experience .modal-leave-from[data-v-35d99be2]{-webkit-backdrop-filter:blur(2px) contrast(90%) brightness(50%);backdrop-filter:blur(2px) contrast(90%) brightness(50%);opacity:1}@media (prefers-reduced-motion: reduce){.experience__track[data-v-35d99be2],.experience__full-card[data-v-35d99be2]{animation:none}.experience__particles[data-v-35d99be2]{display:none}}@media (width <= 480px){[data-v-aa806c1d]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-aa806c1d]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-aa806c1d]:root{--scale: 1}}@media (width > 1025px){[data-v-aa806c1d]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-aa806c1d]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-aa806c1d]{animation-duration:0ms!important;transition-duration:0ms!important}}.base-logo[data-v-aa806c1d]{display:inline-flex;align-items:center;justify-content:center}.base-logo--xs[data-v-aa806c1d]{width:24px;height:24px}.base-logo--sm[data-v-aa806c1d]{width:32px;height:32px}.base-logo--md[data-v-aa806c1d]{width:48px;height:48px}.base-logo--lg[data-v-aa806c1d]{width:64px;height:64px}.base-logo--xl[data-v-aa806c1d]{width:96px;height:96px}.base-logo--clickable[data-v-aa806c1d]{cursor:pointer;transition:transform .2s ease,opacity .2s ease}.base-logo--clickable[data-v-aa806c1d]:hover{transform:scale(1.05);opacity:.9}.base-logo--clickable[data-v-aa806c1d]:active{transform:scale(.98)}.base-logo__img[data-v-aa806c1d]{width:100%;height:100%;object-fit:contain}@media (prefers-reduced-motion: reduce){.base-logo--clickable[data-v-aa806c1d]{transition:none}.base-logo--clickable[data-v-aa806c1d]:hover,.base-logo--clickable[data-v-aa806c1d]:active{transform:none}}@media (width <= 480px){[data-v-519f32f6]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-519f32f6]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-519f32f6]:root{--scale: 1}}@media (width > 1025px){[data-v-519f32f6]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-519f32f6]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-519f32f6]{animation-duration:0ms!important;transition-duration:0ms!important}}.devlog-entry[data-v-519f32f6]{background:var(--color-surface-1);border-radius:var(--radius-lg);margin-bottom:var(--space-4);border:1px solid var(--color-border);transition:all .3s ease}.devlog-entry--expanded[data-v-519f32f6]{box-shadow:0 4px 12px var(--color-shadow)}.devlog-entry--expanded .devlog-entry__arrow[data-v-519f32f6]{transform:rotate(180deg)}.devlog-entry--project[data-v-519f32f6]{border-left:3px solid var(--color-warning)}.devlog-entry--research[data-v-519f32f6]{border-left:3px solid var(--color-info)}.devlog-entry--wip[data-v-519f32f6]{border-left:3px solid var(--color-accent)}.devlog-entry--web[data-v-519f32f6]{border-left:3px solid var(--color-success)}.devlog-entry--game[data-v-519f32f6]{border-left:3px solid var(--color-violet)}.devlog-entry--ops[data-v-519f32f6]{border-left:3px solid var(--color-error)}.devlog-entry__header[data-v-519f32f6]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none}@media (max-width: 480px){.devlog-entry__header[data-v-519f32f6]{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}.devlog-entry__left[data-v-519f32f6]{display:flex;align-items:center;gap:var(--space-3);flex:1}.devlog-entry__logo[data-v-519f32f6]{flex-shrink:0}.devlog-entry__icon[data-v-519f32f6]{flex-shrink:0;font-size:var(--text-2xl);width:48px;height:48px;display:grid;place-items:center}@media (max-width: 480px){.devlog-entry__icon[data-v-519f32f6]{font-size:var(--text-xl);width:40px;height:40px}}.devlog-entry__meta[data-v-519f32f6]{flex:1;min-width:0}.devlog-entry__title[data-v-519f32f6]{font-family:var(--font-title);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-2);color:var(--color-text)}.devlog-entry__info[data-v-519f32f6]{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted)}.devlog-entry__separator[data-v-519f32f6]{opacity:.5}.devlog-entry__right[data-v-519f32f6]{display:flex;align-items:center;gap:var(--space-3)}@media (max-width: 480px){.devlog-entry__right[data-v-519f32f6]{width:100%;justify-content:space-between}}.devlog-entry__tags[data-v-519f32f6]{display:flex;gap:var(--space-2)}.devlog-entry__tag[data-v-519f32f6]{background:var(--color-surface-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary)}@media (max-width: 480px){.devlog-entry__tag[data-v-519f32f6]{display:none}.devlog-entry__tag[data-v-519f32f6]:first-child{display:inline-block}}.devlog-entry__toggle[data-v-519f32f6]{background:transparent;border:none;padding:var(--space-2);cursor:pointer}.devlog-entry__arrow[data-v-519f32f6]{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--color-text-secondary);transition:transform .3s ease}.devlog-entry__content[data-v-519f32f6]{border-top:1px solid var(--color-border)}.devlog-entry__body[data-v-519f32f6]{padding:var(--space-5)}@media (max-width: 480px){.devlog-entry__body[data-v-519f32f6]{padding:var(--space-4)}}.devlog-entry__footer[data-v-519f32f6]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--color-surface-2);border-top:1px solid var(--color-border)}@media (max-width: 480px){.devlog-entry__footer[data-v-519f32f6]{flex-direction:column;gap:var(--space-3);align-items:flex-start}}.devlog-entry__actions[data-v-519f32f6]{display:flex;gap:var(--space-2);flex-wrap:wrap}.devlog-entry__stats[data-v-519f32f6]{display:flex;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted)}.devlog-entry__stats span[data-v-519f32f6]{white-space:nowrap}.devlog-entry__stats .stat-additions[data-v-519f32f6]{color:var(--color-success)}.devlog-entry__stats .stat-deletions[data-v-519f32f6]{color:var(--color-error)}.accordion-enter-active[data-v-519f32f6],.accordion-leave-active[data-v-519f32f6]{transition:all .3s ease;overflow:hidden}.accordion-enter-from[data-v-519f32f6],.accordion-leave-to[data-v-519f32f6]{max-height:0;opacity:0}.accordion-enter-to[data-v-519f32f6],.accordion-leave-from[data-v-519f32f6]{max-height:1000px;opacity:1}@media (width <= 480px){[data-v-00b2a793]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-00b2a793]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-00b2a793]:root{--scale: 1}}@media (width > 1025px){[data-v-00b2a793]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-00b2a793]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-00b2a793]{animation-duration:0ms!important;transition-duration:0ms!important}}p[data-v-00b2a793]{margin-bottom:var(--space-4)}a[data-v-00b2a793]{color:var(--color-primary);text-decoration:none;border-bottom:1px solid var(--color-primary);transition:all .2s ease}a[data-v-00b2a793]:hover{color:var(--color-accent);border-color:var(--color-accent)}h4[data-v-00b2a793]{font-family:var(--font-title);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);margin:var(--space-5) 0 var(--space-3)}ul[data-v-00b2a793]{list-style:disc;margin-left:var(--space-5);margin-bottom:var(--space-4)}ul li[data-v-00b2a793]{margin-bottom:var(--space-2);line-height:var(--leading-relaxed)}.portfolio-btn[data-v-00b2a793]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;transition:all .2s ease}.portfolio-btn[data-v-00b2a793]:hover{filter:brightness(1.1);transform:translateY(-1px)}.portfolio-btn[data-v-00b2a793]:active{transform:translateY(0)}.portfolio-btn--secondary[data-v-00b2a793]{background:var(--color-success)}@media (width <= 480px){[data-v-9f13c6df]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-9f13c6df]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-9f13c6df]:root{--scale: 1}}@media (width > 1025px){[data-v-9f13c6df]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-9f13c6df]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-9f13c6df]{animation-duration:0ms!important;transition-duration:0ms!important}}.devlog-section[data-v-9f13c6df]{margin-bottom:var(--space-8)}.devlog-section--last[data-v-9f13c6df]{margin-bottom:0}.devlog-section__header[data-v-9f13c6df]{margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider)}.devlog-section--no-divider .devlog-section__header[data-v-9f13c6df]{border-bottom:none;padding-bottom:0}.devlog-section__title[data-v-9f13c6df]{font-family:var(--font-title);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text);margin:0}.devlog-section__content[data-v-9f13c6df] p{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.devlog-section__content[data-v-9f13c6df] p:last-child{margin-bottom:0}.devlog-section__content[data-v-9f13c6df] a{color:var(--color-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.devlog-section__content[data-v-9f13c6df] a:hover{border-bottom-color:var(--color-primary)}.devlog-section__content[data-v-9f13c6df] em{font-style:italic;color:var(--color-text)}.devlog-section__content[data-v-9f13c6df] strong{color:var(--color-text);font-weight:var(--font-semibold)}.devlog-section__content[data-v-9f13c6df] ul,.devlog-section__content[data-v-9f13c6df] ol{list-style:none;padding:0;margin:0 0 var(--space-4)}.devlog-section__content[data-v-9f13c6df] ul li,.devlog-section__content[data-v-9f13c6df] ol li{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-secondary);padding-left:var(--space-5);margin-bottom:var(--space-3);position:relative}.devlog-section__content[data-v-9f13c6df] ul li:before,.devlog-section__content[data-v-9f13c6df] ol li:before{content:"▹";position:absolute;left:0;color:var(--color-primary);font-weight:var(--font-bold)}.devlog-section__content[data-v-9f13c6df] ul ul,.devlog-section__content[data-v-9f13c6df] ol ol{margin-top:var(--space-2);margin-bottom:0;padding-left:var(--space-4)}.devlog-section__content[data-v-9f13c6df] ul ul li,.devlog-section__content[data-v-9f13c6df] ol ol li{font-size:var(--text-sm);margin-bottom:var(--space-2);padding-left:var(--space-4)}.devlog-section__content[data-v-9f13c6df] ul ul li:before,.devlog-section__content[data-v-9f13c6df] ol ol li:before{content:"•";font-weight:400}.devlog-section__content[data-v-9f13c6df] code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-surface-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text)}.devlog-section__content[data-v-9f13c6df] pre{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-surface-2);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--space-4)}.devlog-section__content[data-v-9f13c6df] pre code{background:none;padding:0}@media (width <= 480px){[data-v-6f1f56a3]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-6f1f56a3]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-6f1f56a3]:root{--scale: 1}}@media (width > 1025px){[data-v-6f1f56a3]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-6f1f56a3]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-6f1f56a3]{animation-duration:0ms!important;transition-duration:0ms!important}}.base-image[data-v-6f1f56a3]{position:relative;width:100%;margin:0;overflow:hidden;background:var(--color-surface-1);border-radius:var(--radius-lg);transition:transform .2s ease,box-shadow .2s ease}.base-image--expandable[data-v-6f1f56a3]{cursor:pointer}.base-image--expandable[data-v-6f1f56a3]:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--color-shadow)}.base-image--expandable:hover .base-image__expand-indicator[data-v-6f1f56a3]{opacity:1}.base-image--16\:9[data-v-6f1f56a3]{aspect-ratio:16/9}.base-image--3\:4[data-v-6f1f56a3]{aspect-ratio:3/4}.base-image--1\:1[data-v-6f1f56a3]{aspect-ratio:1/1}.base-image--21\:9[data-v-6f1f56a3]{aspect-ratio:21/9}.base-image--auto[data-v-6f1f56a3]{aspect-ratio:auto}.base-image__img[data-v-6f1f56a3]{width:100%;height:100%;display:block;transition:opacity .3s ease}.base-image--cover .base-image__img[data-v-6f1f56a3]{object-fit:cover}.base-image--contain .base-image__img[data-v-6f1f56a3]{object-fit:contain}.base-image--none .base-image__img[data-v-6f1f56a3]{object-fit:none}.base-image--scale-down .base-image__img[data-v-6f1f56a3]{object-fit:scale-down}.base-image--fill[data-v-6f1f56a3]{aspect-ratio:auto!important;height:100%}.base-image--fill .base-image__img[data-v-6f1f56a3]{width:100%;height:100%;object-fit:cover}.base-image__placeholder[data-v-6f1f56a3]{position:absolute;inset:0;display:grid;place-items:center;background:var(--color-surface-2)}.base-image__spinner[data-v-6f1f56a3]{width:40px;height:40px;border:3px solid var(--color-surface-3);border-top-color:var(--color-primary);border-radius:50%;animation:spin-6f1f56a3 .8s linear infinite}@keyframes spin-6f1f56a3{to{transform:rotate(360deg)}}.base-image__expand-indicator[data-v-6f1f56a3]{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;background:var(--color-shadow);border-radius:var(--radius-sm);display:grid;place-items:center;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:1}.base-image__expand-icon[data-v-6f1f56a3]{width:20px;height:20px}.base-image__caption[data-v-6f1f56a3]{padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-surface-1)}.base-image__caption strong[data-v-6f1f56a3]{display:block;margin-bottom:var(--space-1);font-weight:var(--font-semibold);color:var(--color-text)}.base-image__caption span[data-v-6f1f56a3]{display:block;line-height:var(--leading-relaxed)}.base-image--loading .base-image__img[data-v-6f1f56a3]{opacity:0}.base-image__modal-image[data-v-6f1f56a3]{border-radius:var(--radius-lg);max-width:100%;max-height:75vh;object-fit:contain}.base-image__modal-info[data-v-6f1f56a3]{padding:var(--space-5);border-radius:var(--radius-md)}@media (max-width: 480px){.base-image__modal-info[data-v-6f1f56a3]{padding:var(--space-4)}}.base-image__modal-title[data-v-6f1f56a3]{font-family:var(--font-title);font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-muted);margin:0 0 var(--space-3)}.base-image__modal-description[data-v-6f1f56a3]{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-accent);margin:0}.base-image__modal-meta[data-v-6f1f56a3]{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-divider)}.base-image__modal-date[data-v-6f1f56a3]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted)}@media (prefers-reduced-motion: reduce){.base-image__img[data-v-6f1f56a3],.base-image__spinner[data-v-6f1f56a3],.base-image__expand-indicator[data-v-6f1f56a3]{animation:none;transition:none}}@media (width <= 480px){[data-v-a2d16310]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-a2d16310]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-a2d16310]:root{--scale: 1}}@media (width > 1025px){[data-v-a2d16310]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-a2d16310]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-a2d16310]{animation-duration:0ms!important;transition-duration:0ms!important}}.base-video[data-v-a2d16310]{position:relative;width:100%;margin:0;overflow:hidden;background:var(--color-surface-1);border-radius:var(--radius-lg)}.base-video--16\:9[data-v-a2d16310]{aspect-ratio:16/9}.base-video--3\:4[data-v-a2d16310]{aspect-ratio:3/4}.base-video--1\:1[data-v-a2d16310]{aspect-ratio:1/1}.base-video--21\:9[data-v-a2d16310]{aspect-ratio:21/9}.base-video--auto[data-v-a2d16310]{aspect-ratio:auto}.base-video__player[data-v-a2d16310]{width:100%;height:100%;display:block;object-fit:cover;transition:opacity .3s ease}.base-video__placeholder[data-v-a2d16310]{position:absolute;inset:0;display:grid;place-items:center;background:var(--color-surface-2)}.base-video__spinner[data-v-a2d16310]{width:40px;height:40px;border:3px solid var(--color-surface-3);border-top-color:var(--color-primary);border-radius:50%;animation:spin-a2d16310 .8s linear infinite}@keyframes spin-a2d16310{to{transform:rotate(360deg)}}.base-video__caption[data-v-a2d16310]{padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-surface-1)}.base-video__caption strong[data-v-a2d16310]{display:block;margin-bottom:var(--space-1);font-weight:var(--font-semibold);color:var(--color-text)}.base-video__caption span[data-v-a2d16310]{display:block;line-height:var(--leading-relaxed)}.base-video--loading .base-video__player[data-v-a2d16310]{opacity:0}@media (prefers-reduced-motion: reduce){.base-video__player[data-v-a2d16310],.base-video__spinner[data-v-a2d16310]{animation:none;transition:none}}@media (width <= 480px){[data-v-a39d0268]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-a39d0268]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-a39d0268]:root{--scale: 1}}@media (width > 1025px){[data-v-a39d0268]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-a39d0268]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-a39d0268]{animation-duration:0ms!important;transition-duration:0ms!important}}.devlog-media[data-v-a39d0268]{margin:var(--space-6) 0}.devlog-feature[data-v-a39d0268]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start;margin:var(--space-6) 0;padding:var(--space-5);background:var(--color-surface-1);border-radius:var(--radius-lg);border:1px solid var(--color-border);place-items:center}@media (min-width: 481px) and (max-width: 768px){.devlog-feature[data-v-a39d0268]{grid-template-columns:1fr}}@media (max-width: 480px){.devlog-feature[data-v-a39d0268]{grid-template-columns:1fr}}.devlog-feature__text p[data-v-a39d0268]{margin-bottom:var(--space-3)}.devlog-feature__text p[data-v-a39d0268]:last-child{margin-bottom:0}.devlog-gallery[data-v-a39d0268]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4);margin:var(--space-6) 0}@media (max-width: 480px){.devlog-gallery[data-v-a39d0268]{grid-template-columns:1fr}}.devlog-links[data-v-a39d0268]{display:flex;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-divider)}@media (max-width: 480px){.devlog-links[data-v-a39d0268]{flex-direction:column}}.devlog-btn[data-v-a39d0268]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:var(--font-medium);font-size:var(--text-base);cursor:pointer;transition:all .2s ease;border:1px solid transparent}.devlog-btn span[data-v-a39d0268]:first-child{font-size:var(--text-lg)}.devlog-btn--primary[data-v-a39d0268]{background:var(--color-primary);color:var(--color-text-inverse)}.devlog-btn--primary[data-v-a39d0268]:hover{background:var(--color-secondary);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-shadow)}.devlog-btn--primary[data-v-a39d0268]:active{transform:translateY(0)}.devlog-btn--secondary[data-v-a39d0268]{background:transparent;color:var(--color-text);border-color:var(--color-border)}.devlog-btn--secondary[data-v-a39d0268]:hover{background:var(--color-surface-1);border-color:var(--color-primary);color:var(--color-primary)}.devlog-btn--secondary[data-v-a39d0268]:active{background:var(--color-surface-2)}.devlog-link[data-v-a39d0268]{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:var(--font-medium);text-decoration:none;transition:all .2s ease}.devlog-link--primary[data-v-a39d0268]{background:var(--color-primary);color:var(--color-text-inverse);border:1px solid transparent}.devlog-link--primary[data-v-a39d0268]:hover{background:var(--color-secondary);transform:translateY(-1px);box-shadow:0 4px 12px var(--color-shadow)}.devlog-link--secondary[data-v-a39d0268]{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.devlog-link--secondary[data-v-a39d0268]:hover{background:var(--color-surface-1);border-color:var(--color-primary);color:var(--color-primary)}@media (width <= 480px){[data-v-d891df2b]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-d891df2b]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-d891df2b]:root{--scale: 1}}@media (width > 1025px){[data-v-d891df2b]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-d891df2b]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-d891df2b]{animation-duration:0ms!important;transition-duration:0ms!important}}.pihole__dashboard[data-v-d891df2b]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start;margin:var(--space-6) 0;padding:var(--space-5);background:var(--color-surface-2);border-radius:var(--radius-lg);border:1px solid var(--color-border)}@media (min-width: 481px) and (max-width: 768px){.pihole__dashboard[data-v-d891df2b]{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-4)}}@media (max-width: 480px){.pihole__dashboard[data-v-d891df2b]{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-3)}}.pihole__dashboard-column[data-v-d891df2b]{display:grid;grid-template-rows:1fr auto;gap:var(--space-4);height:100%}.pihole__dashboard-text[data-v-d891df2b]{flex:0 0 auto;font-size:var(--text-lg)!important;color:var(--color-info)!important;text-align:center;margin-top:15%;padding:1rem}@media (min-width: 481px) and (max-width: 768px){.pihole__dashboard-text[data-v-d891df2b]{font-size:var(--text-xl)!important;margin:0}}@media (max-width: 480px){.pihole__dashboard-text[data-v-d891df2b]{font-size:var(--text-xl)!important;margin:0}}.pihole__stats[data-v-d891df2b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin:var(--space-5) 0;padding:var(--space-5);background:var(--color-surface-2);border-radius:var(--radius-md);border-left:3px solid var(--color-success)}@media (max-width: 480px){.pihole__stats[data-v-d891df2b]{grid-template-columns:1fr;gap:var(--space-6);width:fit-content;margin:var(--space-4) auto}}.pihole__stat[data-v-d891df2b]{display:flex;flex-direction:column;gap:var(--space-2);text-align:center}.pihole__stat-value[data-v-d891df2b]{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary)}@media (max-width: 480px){.pihole__stat-value[data-v-d891df2b]{font-size:var(--text-xl)}}.pihole__stat-label[data-v-d891df2b]{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-tight)}@media (width <= 480px){[data-v-e7696e88]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-e7696e88]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-e7696e88]:root{--scale: 1}}@media (width > 1025px){[data-v-e7696e88]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-e7696e88]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-e7696e88]{animation-duration:0ms!important;transition-duration:0ms!important}}.devlog__header[data-v-e7696e88]{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width: 481px) and (max-width: 768px){.devlog__title[data-v-e7696e88]{font-size:calc(var(--text-3xl) * 1.5)}}@media (max-width: 480px){.devlog__title[data-v-e7696e88]{font-size:calc(var(--text-2xl) * 1.5)}}.devlog__title span[data-v-e7696e88]{letter-spacing:var(--space-3);color:var(--color-warning)}.devlog__title strong[data-v-e7696e88]{margin-left:var(--space-neg-3);letter-spacing:var(--space-0);color:var(--color-olive)}.devlog__controls[data-v-e7696e88]{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}@media (min-width: 481px) and (max-width: 768px){.devlog__controls[data-v-e7696e88]{justify-content:center}}@media (max-width: 480px){.devlog__controls[data-v-e7696e88]{justify-content:center}}.devlog__filter-btn[data-v-e7696e88]{padding:var(--space-2) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.devlog__filter-btn[data-v-e7696e88]:hover{background:var(--color-surface-3);color:var(--color-text)}.devlog__filter-btn--active[data-v-e7696e88]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.devlog__container[data-v-e7696e88]{max-width:var(--max-content-width);margin:0 auto;padding:0 var(--space-6)}@media (max-width: 480px){.devlog__container[data-v-e7696e88]{padding:0}}.devlog__empty[data-v-e7696e88]{text-align:center;padding:var(--space-8);color:var(--color-text-muted)}.devlog__empty-icon[data-v-e7696e88]{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.devlog__empty p[data-v-e7696e88]{font-family:var(--font-mono)}.accordion-list-move[data-v-e7696e88],.accordion-list-enter-active[data-v-e7696e88],.accordion-list-leave-active[data-v-e7696e88]{transition:all .3s ease}.accordion-list-enter-from[data-v-e7696e88]{opacity:0;transform:translateY(-20px)}.accordion-list-leave-to[data-v-e7696e88]{opacity:0;transform:translateY(20px)}.accordion-list-leave-active[data-v-e7696e88]{position:absolute;width:100%}@media (width <= 480px){[data-v-df0eb7f3]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-df0eb7f3]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-df0eb7f3]:root{--scale: 1}}@media (width > 1025px){[data-v-df0eb7f3]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-df0eb7f3]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-df0eb7f3]{animation-duration:0ms!important;transition-duration:0ms!important}}.software__container[data-v-df0eb7f3]{position:relative;max-width:1600px;margin:0 auto}.software__border-break[data-v-df0eb7f3]{height:1px;background-image:linear-gradient(90deg,transparent,var(--color-surface-2),transparent);margin:var(--space-9)}.scroll[data-v-df0eb7f3]{position:fixed;padding:var(--space-4);transform:translateY(500%)}@media (min-width: 481px) and (max-width: 768px){.scroll[data-v-df0eb7f3]{position:relative;transform:unset}}@media (max-width: 480px){.scroll[data-v-df0eb7f3]{position:relative;transform:unset}}@media (width <= 480px){[data-v-246a8da7]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-246a8da7]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-246a8da7]:root{--scale: 1}}@media (width > 1025px){[data-v-246a8da7]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-246a8da7]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-246a8da7]{animation-duration:0ms!important;transition-duration:0ms!important}}.weld-hero[data-v-246a8da7]{color-scheme:light;position:relative;width:100%;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-top:calc(var(--nav-bar-height) * -1)}.weld-hero__image-container[data-v-246a8da7]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;animation:subtleZoom-246a8da7 .8s ease-out}@keyframes subtleZoom-246a8da7{0%{transform:scale(1.05);opacity:0}to{transform:scale(1);opacity:1}}.weld-hero__sparks[data-v-246a8da7]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.weld-hero__spark[data-v-246a8da7]{position:absolute;width:4px;height:4px;background:#ff9500;border-radius:50%;box-shadow:0 0 4px #ff9500,0 0 8px #ff6b00;opacity:0;animation:sparkFly-246a8da7 3s ease-out infinite}.weld-hero__spark[data-v-246a8da7]:nth-child(1){left:6%;top:49%}.weld-hero__spark[data-v-246a8da7]:nth-child(2){left:50%;top:19%}.weld-hero__spark[data-v-246a8da7]:nth-child(3){left:45%;top:18%}.weld-hero__spark[data-v-246a8da7]:nth-child(4){left:3%;top:73%}.weld-hero__spark[data-v-246a8da7]:nth-child(5){left:15%;top:56%}.weld-hero__spark[data-v-246a8da7]:nth-child(6){left:30%;top:85%}.weld-hero__spark[data-v-246a8da7]:nth-child(7){left:95%;top:61%}.weld-hero__spark[data-v-246a8da7]:nth-child(8){left:44%;top:2%}.weld-hero__spark[data-v-246a8da7]:nth-child(9){left:52%;top:13%}.weld-hero__spark[data-v-246a8da7]:nth-child(10){left:75%;top:73%}.weld-hero__spark[data-v-246a8da7]:nth-child(11){left:33%;top:24%}.weld-hero__spark[data-v-246a8da7]:nth-child(12){left:36%;top:13%}.weld-hero__spark[data-v-246a8da7]:nth-child(13){left:1%;top:19%}.weld-hero__spark[data-v-246a8da7]:nth-child(14){left:22%;top:33%}.weld-hero__spark[data-v-246a8da7]:nth-child(15){left:45%;top:23%}.weld-hero__spark[data-v-246a8da7]:nth-child(16){left:85%;top:47%}.weld-hero__spark[data-v-246a8da7]:nth-child(17){left:41%;top:31%}.weld-hero__spark[data-v-246a8da7]:nth-child(18){left:72%;top:64%}.weld-hero__spark[data-v-246a8da7]:nth-child(19){left:26%;top:63%}.weld-hero__spark[data-v-246a8da7]:nth-child(20){left:60%;top:25%}.weld-hero__spark[data-v-246a8da7]:nth-child(21){left:68%;top:54%}.weld-hero__spark[data-v-246a8da7]:nth-child(22){left:3%;top:2%}.weld-hero__spark[data-v-246a8da7]:nth-child(23){left:55%;top:46%}.weld-hero__spark[data-v-246a8da7]:nth-child(24){left:98%;top:13%}@keyframes sparkFly-246a8da7{0%{opacity:0;transform:translate(0) scale(0)}10%{opacity:1;transform:translate(0) scale(1.3)}to{opacity:0;transform:translate(93px,150px) scale(0)}}.weld-hero__content[data-v-246a8da7]{position:relative;z-index:2;max-width:800px;padding:var(--space-8);text-align:center;color:var(--color-text-inverse);text-shadow:0 2px 8px rgba(0,0,0,.8)}@media (max-width: 480px){.weld-hero__content[data-v-246a8da7]{padding:var(--space-5);max-width:90%}}.weld-hero__title[data-v-246a8da7]{font-family:var(--font-title);font-size:var(--text-5xl);font-weight:var(--font-bold);margin-bottom:var(--space-6);letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#d4d4d4,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 480px){.weld-hero__title[data-v-246a8da7]{font-size:var(--text-3xl);margin-bottom:var(--space-4)}}.weld-hero__quote[data-v-246a8da7]{margin:var(--space-6) 0;padding:var(--space-4);border-left:3px solid #ff9500;font-style:italic}@media (max-width: 480px){.weld-hero__quote[data-v-246a8da7]{margin:var(--space-4) 0}}.weld-hero__quote-text[data-v-246a8da7]{font-family:var(--font-body);font-size:var(--text-xl);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}@media (max-width: 480px){.weld-hero__quote-text[data-v-246a8da7]{font-size:var(--text-lg)}}.weld-hero__scroll-indicator[data-v-246a8da7]{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-info);animation:bounce-246a8da7 2s infinite;cursor:pointer}@media (max-width: 480px){.weld-hero__scroll-indicator[data-v-246a8da7]{bottom:var(--space-5)}}.weld-hero__scroll-text[data-v-246a8da7]{font-family:var(--font-ui);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;opacity:.8}.weld-hero__scroll-arrow[data-v-246a8da7]{width:24px;height:24px;opacity:.8}@keyframes bounce-246a8da7{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}@media (prefers-reduced-motion: reduce){.weld-hero__image[data-v-246a8da7],.weld-hero__scroll-indicator[data-v-246a8da7]{animation:none}.weld-hero__sparks[data-v-246a8da7]{display:none}}@media (width <= 480px){[data-v-9f0adfe8]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-9f0adfe8]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-9f0adfe8]:root{--scale: 1}}@media (width > 1025px){[data-v-9f0adfe8]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-9f0adfe8]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-9f0adfe8]{animation-duration:0ms!important;transition-duration:0ms!important}}.section-wrapper[data-v-9f0adfe8]{padding:var(--space-8) var(--space-6)}@media (max-width: 480px){.section-wrapper[data-v-9f0adfe8]{padding:var(--space-8) var(--space-4)}}.section-wrapper--light[data-v-9f0adfe8]{background:var(--color-surface-1)}.section-wrapper--dark[data-v-9f0adfe8]{background:var(--color-surface-2)}.section-wrapper--accent[data-v-9f0adfe8]{background:var(--color-surface-3)}.section-wrapper__container[data-v-9f0adfe8]{max-width:1600px;margin:0 auto}.section-wrapper--contained .section-wrapper__container[data-v-9f0adfe8]{max-width:1400px}.section-wrapper__heading[data-v-9f0adfe8]{font-size:var(--text-4xl);font-weight:var(--font-semibold);margin-bottom:var(--space-8);text-align:center;font-family:var(--font-title)}.section-wrapper__intro[data-v-9f0adfe8]{font-size:var(--text-lg);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-8)}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (width <= 480px){[data-v-f5e09a84]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-f5e09a84]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-f5e09a84]:root{--scale: 1}}@media (width > 1025px){[data-v-f5e09a84]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-f5e09a84]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-f5e09a84]{animation-duration:0ms!important;transition-duration:0ms!important}}.map-wrapper[data-v-f5e09a84]{position:relative}.map-container[data-v-f5e09a84]{background:transparent;background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;min-height:550px;position:relative;isolation:isolate}@media (max-width: 480px){.map-container[data-v-f5e09a84]{min-height:400px}}.map-container[data-v-f5e09a84] .leaflet-container{outline:none;background:var(--color-surface-1)}.map-container[data-v-f5e09a84] .leaflet-map-pane{pointer-events:none}.map-controls[data-v-f5e09a84]{position:absolute;top:var(--space-4);left:50%;transform:translate(-50%);z-index:var(--z-fixed);display:flex;gap:var(--space-2);background:var(--color-bg);padding:var(--space-2);border-radius:var(--radius-md);box-shadow:0 2px 8px var(--color-shadow)}.control-btn[data-v-f5e09a84]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.control-btn[data-v-f5e09a84]:focus{outline:none}.control-btn[data-v-f5e09a84]:focus-visible{outline:none}.control-btn[data-v-f5e09a84]:hover{background:var(--color-surface-3);border-color:var(--color-primary)}.control-btn--play[data-v-f5e09a84]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.control-btn--play[data-v-f5e09a84]:hover{background:var(--color-secondary)}.progress-bar[data-v-f5e09a84]{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000001a;z-index:1000}.progress-fill[data-v-f5e09a84]{height:100%;background:var(--color-primary);transition:width .05s linear}.journey-marker{background:transparent;border:none;transition:opacity .3s ease}.marker-pin{position:relative;width:30px;height:40px;animation:markerDrop .4s ease}.marker-pin:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-top:25px solid var(--color-accent);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:all .3s ease}.marker-pin--work:before{border-top-color:var(--color-primary)}.marker-pin--active:before{animation:pulse 2s ease-in-out infinite}.marker-dot{position:absolute;top:5px;left:50%;transform:translate(-50%);width:10px;height:10px;background:#fff;border-radius:50%;border:2px solid var(--color-bg);box-shadow:0 1px 3px #0000004d}@keyframes markerDrop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}50%{filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}}.journey-path{stroke-dasharray:8,12;stroke-dashoffset:500;animation:drawPath 2s ease forwards}@keyframes drawPath{to{stroke-dashoffset:0}}@media (width <= 480px){[data-v-da6c6075]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-da6c6075]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-da6c6075]:root{--scale: 1}}@media (width > 1025px){[data-v-da6c6075]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-da6c6075]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-da6c6075]{animation-duration:0ms!important;transition-duration:0ms!important}}.location-card[data-v-da6c6075]{background:var(--color-surface-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--color-border);overflow:hidden;display:flex;flex-direction:column;height:100%}.location-card--work[data-v-da6c6075]{border-color:var(--color-primary)}.location-card--art[data-v-da6c6075]{border-color:var(--color-accent)}.card-photos[data-v-da6c6075]{position:relative;width:100%}.photo-viewer[data-v-da6c6075]{aspect-ratio:4/3;overflow:hidden;background:var(--color-surface-3)}.photo-main[data-v-da6c6075]{width:100%;height:100%;object-fit:cover}.photo-nav[data-v-da6c6075]{position:absolute;bottom:var(--space-3);left:50%;transform:translate(-50%);display:flex;gap:var(--space-2);padding:var(--space-2);background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-full)}.photo-dot[data-v-da6c6075]{width:8px;height:8px;border-radius:50%;background:#ffffff80;border:none;cursor:pointer;transition:all .2s ease;padding:0}.photo-dot[data-v-da6c6075]:hover{background:#fffc;transform:scale(1.2)}.photo-dot--active[data-v-da6c6075]{background:#fff;transform:scale(1.3)}.card-content[data-v-da6c6075]{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.card-badge[data-v-da6c6075]{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em}.location-card--work .card-badge[data-v-da6c6075]{background:color-mix(in oklab,var(--color-primary) 15%,transparent);color:var(--color-primary)}.location-card--art .card-badge[data-v-da6c6075]{background:color-mix(in oklab,var(--color-accent) 15%,transparent);color:var(--color-accent)}.card-title[data-v-da6c6075]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);line-height:1.2}.card-dates[data-v-da6c6075]{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-medium)}.card-project[data-v-da6c6075]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.card-details[data-v-da6c6075]{font-size:var(--text-md);line-height:1.6;color:var(--color-text-secondary)}.card-tags[data-v-da6c6075]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.tag[data-v-da6c6075]{padding:var(--space-1) var(--space-3);background:var(--color-surface-3);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:lowercase}@media (width <= 480px){[data-v-ce4ea6dc]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-ce4ea6dc]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-ce4ea6dc]:root{--scale: 1}}@media (width > 1025px){[data-v-ce4ea6dc]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-ce4ea6dc]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-ce4ea6dc]{animation-duration:0ms!important;transition-duration:0ms!important}}.carousel-wrapper[data-v-ce4ea6dc]{position:relative}.carousel-wrapper[data-v-ce4ea6dc]:before,.carousel-wrapper[data-v-ce4ea6dc]:after{content:"";position:absolute;top:0;bottom:0;width:40px;pointer-events:none;z-index:1}.carousel-wrapper[data-v-ce4ea6dc]:before{left:0;background:linear-gradient(to right,var(--color-surface-1),transparent)}.carousel-wrapper[data-v-ce4ea6dc]:after{right:0;background:linear-gradient(to left,var(--color-surface-1),transparent)}.location-carousel[data-v-ce4ea6dc]{display:flex;gap:var(--space-3);overflow-x:auto;padding:var(--space-4) var(--space-2);scroll-behavior:smooth;scrollbar-width:none}.location-carousel[data-v-ce4ea6dc]::-webkit-scrollbar{display:none}@media (max-width: 480px){.location-carousel[data-v-ce4ea6dc]{gap:var(--space-2)}}.carousel-item[data-v-ce4ea6dc]{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.carousel-item[data-v-ce4ea6dc]:hover{background:var(--color-surface-3);border-color:var(--color-primary)}.carousel-item--active[data-v-ce4ea6dc]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse);transform:scale(1.05)}.carousel-item--work[data-v-ce4ea6dc]:not(.carousel-item--active){border-color:var(--color-primary);color:var(--color-primary)}.carousel-item--art[data-v-ce4ea6dc]:not(.carousel-item--active){border-color:var(--color-accent);color:var(--color-accent)}@media (max-width: 480px){.carousel-item__name[data-v-ce4ea6dc]{display:none}}@media (max-width: 480px){.carousel-item--active .carousel-item__name[data-v-ce4ea6dc]{display:inline}}@media (width <= 480px){[data-v-152c4116]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-152c4116]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-152c4116]:root{--scale: 1}}@media (width > 1025px){[data-v-152c4116]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-152c4116]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-152c4116]{animation-duration:0ms!important;transition-duration:0ms!important}}.map-layout[data-v-152c4116]{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6);margin-bottom:var(--space-8)}@media (min-width: 481px) and (max-width: 768px){.map-layout[data-v-152c4116]{grid-template-columns:1fr;gap:var(--space-4)}}@media (max-width: 480px){.map-layout[data-v-152c4116]{gap:var(--space-3)}}@media (width <= 480px){[data-v-6d6969fc]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-6d6969fc]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-6d6969fc]:root{--scale: 1}}@media (width > 1025px){[data-v-6d6969fc]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-6d6969fc]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-6d6969fc]{animation-duration:0ms!important;transition-duration:0ms!important}}.craft-grid[data-v-6d6969fc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}@media (max-width: 480px){.craft-grid[data-v-6d6969fc]{grid-template-columns:1fr}}.craft-card[data-v-6d6969fc]{position:relative;cursor:pointer;transition:transform .3s ease}.craft-card[data-v-6d6969fc]:hover{transform:translateY(-4px)}.craft-card[data-v-6d6969fc]:hover .base-image__img{transform:scale(1.1)}.craft-card:hover .craft-card__overlay[data-v-6d6969fc]{background:#0009}.craft-card__image-wrapper[data-v-6d6969fc]{position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden}.craft-card__image-wrapper[data-v-6d6969fc] .base-image{width:100%;height:100%}.craft-card__image-wrapper[data-v-6d6969fc] .base-image__img{transition:transform .5s ease}.craft-card__overlay[data-v-6d6969fc]{position:absolute;inset:0;background:var(--color-overlay);transition:background .3s ease;pointer-events:none}.craft-card__content[data-v-6d6969fc]{color-scheme:dark;position:absolute;bottom:0;left:0;right:0;padding:var(--space-6);z-index:1;pointer-events:none}.craft-card__title[data-v-6d6969fc]{font-size:var(--text-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-2);font-family:var(--font-title);color:var(--color-text);text-shadow:0 2px 4px var(--color-shadow)}.craft-card__description[data-v-6d6969fc]{font-family:var(--font-title);font-size:var(--text-md);color:var(--color-text);text-shadow:0 1px 2px var(--color-shadow)}@media (width <= 480px){[data-v-c1c39ffa]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-c1c39ffa]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-c1c39ffa]:root{--scale: 1}}@media (width > 1025px){[data-v-c1c39ffa]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-c1c39ffa]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-c1c39ffa]{animation-duration:0ms!important;transition-duration:0ms!important}}.lightbox__series-info[data-v-c1c39ffa]{position:absolute;top:var(--space-8);left:var(--space-8);max-width:400px;color:#fff}.lightbox__series-info h3[data-v-c1c39ffa]{font-family:var(--font-title);font-size:var(--text-xl);margin-bottom:var(--space-2)}.lightbox__series-info p[data-v-c1c39ffa]{font-family:var(--font-body);font-size:var(--text-sm);opacity:.8}@media (max-width: 480px){.lightbox__series-info[data-v-c1c39ffa]{display:none}}.lightbox__image[data-v-c1c39ffa]{max-width:90vw;max-height:70vh;object-fit:contain;border-radius:var(--radius-lg)}.lightbox__caption[data-v-c1c39ffa]{position:absolute;bottom:calc(var(--space-20) + var(--space-8));left:50%;bottom:10%;transform:translate(-50%);background:var(--color-shadow);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);color:var(--color-text-muted);text-align:center;max-width:600px}.lightbox__caption strong[data-v-c1c39ffa]{display:block;font-family:var(--font-title);font-size:var(--text-lg);margin-bottom:var(--space-2)}.lightbox__caption span[data-v-c1c39ffa]{font-family:var(--font-body);font-size:var(--text-sm);opacity:.9}@media (max-width: 480px){.lightbox__caption[data-v-c1c39ffa]{width:100%;max-width:90vw}}.lightbox__prev[data-v-c1c39ffa],.lightbox__next[data-v-c1c39ffa]{position:fixed;top:50%;transform:translateY(-50%);background:var(--color-surface-1);border:2px solid var(--color-border);border-radius:var(--radius-round);color:var(--color-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);width:60px;height:60px;cursor:pointer;transition:all .2s ease}.lightbox__prev[data-v-c1c39ffa]:hover,.lightbox__next[data-v-c1c39ffa]:hover{background:var(--color-surface-3);border-color:var(--color-secondary);color:var(--color-secondary)}@media (max-width: 480px){.lightbox__prev[data-v-c1c39ffa],.lightbox__next[data-v-c1c39ffa]{width:48px;height:48px;font-size:var(--text-2xl)}}.lightbox__prev[data-v-c1c39ffa]{left:var(--space-8)}@media (max-width: 480px){.lightbox__prev[data-v-c1c39ffa]{left:var(--space-4)}}.lightbox__next[data-v-c1c39ffa]{right:var(--space-8)}@media (max-width: 480px){.lightbox__next[data-v-c1c39ffa]{right:var(--space-4)}}.lightbox__counter[data-v-c1c39ffa]{position:fixed;top:var(--space-8);left:50%;transform:translate(-50%);background:var(--color-surface-2);color:var(--color-text-secondary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm)}.lightbox__thumbnails[data-v-c1c39ffa]{position:fixed;bottom:var(--space-8);left:50%;transform:translate(-50%);display:flex;gap:var(--space-2);max-width:90vw;overflow-x:auto;padding:var(--space-2);background:var(--color-shadow);border-radius:var(--radius-md)}.lightbox__thumbnail[data-v-c1c39ffa]{flex-shrink:0;width:80px;height:60px;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;cursor:pointer;transition:all .2s ease;background:transparent;padding:0}.lightbox__thumbnail img[data-v-c1c39ffa]{width:100%;height:100%;object-fit:cover;opacity:.6;transition:opacity .2s ease}.lightbox__thumbnail:hover img[data-v-c1c39ffa]{opacity:.9}.lightbox__thumbnail--active[data-v-c1c39ffa]{border-color:var(--color-info)}.lightbox__thumbnail--active img[data-v-c1c39ffa]{opacity:1}@media (max-width: 480px){.lightbox__thumbnail[data-v-c1c39ffa]{width:60px;height:45px}}@media (width <= 480px){[data-v-c4e5316b]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-c4e5316b]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-c4e5316b]:root{--scale: 1}}@media (width > 1025px){[data-v-c4e5316b]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-c4e5316b]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-c4e5316b]{animation-duration:0ms!important;transition-duration:0ms!important}}.filters[data-v-c4e5316b]{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-bottom:var(--space-8)}.filter-button[data-v-c4e5316b]{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface-1);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all .2s ease;text-transform:capitalize}.filter-button[data-v-c4e5316b]:hover{background:var(--color-surface-2);border-color:var(--color-primary)}.filter-button--active[data-v-c4e5316b]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.gallery-grid[data-v-c4e5316b]{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:280px;gap:var(--space-2)}@media (min-width: 481px) and (max-width: 768px){.gallery-grid[data-v-c4e5316b]{grid-template-columns:repeat(6,1fr);grid-auto-rows:200px}}@media (max-width: 480px){.gallery-grid[data-v-c4e5316b]{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}}.gallery-item[data-v-c4e5316b]{position:relative;cursor:pointer;overflow:hidden;border-radius:var(--radius-md);background:var(--color-surface-2);transition:all .3s cubic-bezier(.4,0,.2,1)}.gallery-item[data-v-c4e5316b]:nth-child(9n+1){grid-column:span 4}.gallery-item[data-v-c4e5316b]:nth-child(9n+2){grid-column:span 5}.gallery-item[data-v-c4e5316b]:nth-child(9n+3){grid-column:span 3}.gallery-item[data-v-c4e5316b]:nth-child(9n+4){grid-column:span 3}.gallery-item[data-v-c4e5316b]:nth-child(9n+5){grid-column:span 4}.gallery-item[data-v-c4e5316b]:nth-child(9n+6){grid-column:span 5}.gallery-item[data-v-c4e5316b]:nth-child(9n+7){grid-column:span 5}.gallery-item[data-v-c4e5316b]:nth-child(9n+8){grid-column:span 3}.gallery-item[data-v-c4e5316b]:nth-child(9n+9){grid-column:span 4}@media (min-width: 481px) and (max-width: 768px){.gallery-item[data-v-c4e5316b]:nth-child(6n+1){grid-column:span 4}.gallery-item[data-v-c4e5316b]:nth-child(6n+2){grid-column:span 2}.gallery-item[data-v-c4e5316b]:nth-child(6n+3){grid-column:span 3}.gallery-item[data-v-c4e5316b]:nth-child(6n+4){grid-column:span 3}.gallery-item[data-v-c4e5316b]:nth-child(6n+5){grid-column:span 2}.gallery-item[data-v-c4e5316b]:nth-child(6n+6){grid-column:span 4}}@media (max-width: 480px){.gallery-item[data-v-c4e5316b]{grid-column:span 2!important}}.gallery-item[data-v-c4e5316b]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026;z-index:10}.gallery-item[data-v-c4e5316b]:hover .base-image__img{transform:scale(1.05)}.gallery-item:hover .gallery-item__overlay[data-v-c4e5316b]{opacity:1}.gallery-item[data-v-c4e5316b]:active{transform:translateY(-2px)}.gallery-item[data-v-c4e5316b] .base-image{width:100%;height:100%}.gallery-item[data-v-c4e5316b] .base-image__img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-item__overlay[data-v-c4e5316b]{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.4) 50%,transparent 100%);display:flex;align-items:flex-end;padding:var(--space-4);opacity:0;transition:opacity .3s ease;pointer-events:none}.gallery-item__tags[data-v-c4e5316b]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.gallery-item__tag[data-v-c4e5316b]{padding:var(--space-1) var(--space-2);background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-sm);font-size:var(--text-xs);color:#fff;text-transform:capitalize}@media (prefers-reduced-motion: reduce){.gallery-item[data-v-c4e5316b]{transition:none}.gallery-item[data-v-c4e5316b]:hover,.gallery-item[data-v-c4e5316b]:hover .base-image__img{transform:none}}@media (width <= 480px){[data-v-fc9e027a]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-fc9e027a]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-fc9e027a]:root{--scale: 1}}@media (width > 1025px){[data-v-fc9e027a]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-fc9e027a]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-fc9e027a]{animation-duration:0ms!important;transition-duration:0ms!important}}.welding-page[data-v-fc9e027a]{width:100%;min-height:100vh}@media (width <= 480px){[data-v-eddc933c]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-eddc933c]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-eddc933c]:root{--scale: 1}}@media (width > 1025px){[data-v-eddc933c]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-eddc933c]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-eddc933c]{animation-duration:0ms!important;transition-duration:0ms!important}}.photo-hero[data-v-eddc933c]{color-scheme:light;position:relative;width:100%;margin-top:calc(var(--nav-bar-height) * -1);height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center}.photo-hero__video-container[data-v-eddc933c]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.photo-hero__video[data-v-eddc933c]{width:100%;height:100%;object-fit:cover;object-position:center}.photo-hero__overlay[data-v-eddc933c]{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000004d,#0000001a,#0006);z-index:1}.photo-hero__content[data-v-eddc933c]{position:relative;z-index:2;max-width:800px;padding:var(--space-8);text-align:center;color:var(--color-text-inverse);text-shadow:0 2px 4px rgba(0,0,0,.5)}@media (max-width: 480px){.photo-hero__content[data-v-eddc933c]{padding:var(--space-5);max-width:90%}}.photo-hero__title[data-v-eddc933c]{font-family:var(--font-title);font-size:var(--text-5xl);font-weight:var(--font-bold);margin-bottom:var(--space-6);letter-spacing:-.02em}@media (max-width: 480px){.photo-hero__title[data-v-eddc933c]{font-size:var(--text-3xl);margin-bottom:var(--space-4)}}.photo-hero__quote[data-v-eddc933c]{margin:var(--space-6) 0;padding:var(--space-4);border-left:3px solid var(--color-text-inverse);font-style:italic}@media (max-width: 480px){.photo-hero__quote[data-v-eddc933c]{margin:var(--space-4) 0}}.photo-hero__quote-text[data-v-eddc933c]{font-family:var(--font-body);font-size:var(--text-xl);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}@media (max-width: 480px){.photo-hero__quote-text[data-v-eddc933c]{font-size:var(--text-lg)}}.photo-hero__quote-author[data-v-eddc933c]{display:block;font-family:var(--font-ui);font-size:var(--text-base);font-style:normal;opacity:.9}.photo-hero__description[data-v-eddc933c]{font-family:var(--font-body);font-size:var(--text-lg);line-height:var(--leading-relaxed);opacity:.95;margin-top:var(--space-4)}@media (max-width: 480px){.photo-hero__description[data-v-eddc933c]{font-size:var(--text-base)}}.photo-hero__scroll-indicator[data-v-eddc933c]{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-text-inverse);animation:bounce-eddc933c 2s infinite;cursor:pointer}@media (max-width: 480px){.photo-hero__scroll-indicator[data-v-eddc933c]{bottom:var(--space-5)}}.photo-hero__scroll-text[data-v-eddc933c]{font-family:var(--font-ui);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;opacity:.8}.photo-hero__scroll-arrow[data-v-eddc933c]{width:24px;height:24px;opacity:.8}@keyframes bounce-eddc933c{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}@media (prefers-reduced-motion: reduce){.photo-hero__scroll-indicator[data-v-eddc933c]{animation:none}}@media (width <= 480px){[data-v-9ad3a7b0]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-9ad3a7b0]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-9ad3a7b0]:root{--scale: 1}}@media (width > 1025px){[data-v-9ad3a7b0]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-9ad3a7b0]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-9ad3a7b0]{animation-duration:0ms!important;transition-duration:0ms!important}}.photo-gallery[data-v-9ad3a7b0]{width:100%;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;align-items:center}@media (max-width: 480px){.photo-gallery[data-v-9ad3a7b0]{padding:var(--space-5) var(--space-3)}}.photo-gallery__controls[data-v-9ad3a7b0]{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-2);background:var(--color-surface-1);border-radius:var(--radius-md);border:1px solid var(--color-border)}@media (min-width: 481px) and (max-width: 768px){.photo-gallery__controls[data-v-9ad3a7b0]{display:none}}@media (max-width: 480px){.photo-gallery__controls[data-v-9ad3a7b0]{display:none}}.photo-gallery__toggle[data-v-9ad3a7b0]{width:48px;height:48px;display:grid;place-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.photo-gallery__toggle[data-v-9ad3a7b0]:hover{background:var(--color-surface-2);color:var(--color-text)}.photo-gallery__toggle--active[data-v-9ad3a7b0]{background:var(--color-primary);color:var(--color-text-inverse)}.photo-gallery__toggle--active[data-v-9ad3a7b0]:hover{background:var(--color-primary);filter:brightness(1.1)}.photo-gallery__grid[data-v-9ad3a7b0]{width:100%;max-width:1400px}.photo-gallery__grid--masonry[data-v-9ad3a7b0]{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);gap:var(--space-2);aspect-ratio:1/1}@media (min-width: 481px) and (max-width: 768px){.photo-gallery__grid--masonry[data-v-9ad3a7b0]{display:none}}@media (max-width: 480px){.photo-gallery__grid--masonry[data-v-9ad3a7b0]{display:none}}.photo-gallery__grid--simple[data-v-9ad3a7b0]{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:320px;gap:var(--space-2);padding:var(--space-2)}@media (min-width: 481px) and (max-width: 768px){.photo-gallery__grid--simple[data-v-9ad3a7b0]{grid-template-columns:repeat(6,1fr);grid-auto-rows:180px;gap:var(--space-2)}}@media (max-width: 480px){.photo-gallery__grid--simple[data-v-9ad3a7b0]{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px;gap:var(--space-2)}}.photo-gallery__grid-item[data-v-9ad3a7b0]{position:relative;cursor:pointer;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-surface-1);box-shadow:0 2px 8px var(--color-shadow);transition:all .3s cubic-bezier(.4,0,.2,1);padding:var(--space-1)}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+1){grid-column:span 4}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+2){grid-column:span 5}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+3){grid-column:span 3}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+4){grid-column:span 3}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+5){grid-column:span 4}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+6){grid-column:span 5}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+7){grid-column:span 5}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+8){grid-column:span 3}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(9n+9){grid-column:span 4}@media (min-width: 481px) and (max-width: 768px){.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(6n+1){grid-column:span 4}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(6n+2){grid-column:span 2}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(6n+3){grid-column:span 3}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(6n+4){grid-column:span 3}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(6n+5){grid-column:span 2}.photo-gallery__grid-item[data-v-9ad3a7b0]:nth-child(6n+6){grid-column:span 4}}@media (max-width: 480px){.photo-gallery__grid-item[data-v-9ad3a7b0]{grid-column:span 2!important}}.photo-gallery__grid-item[data-v-9ad3a7b0]:hover{transform:translateY(-4px);box-shadow:0 6px 16px #0003;z-index:10}.photo-gallery__grid-item[data-v-9ad3a7b0]:active{transform:translateY(-2px)}.photo-gallery__frame[data-v-9ad3a7b0]{position:relative;cursor:pointer;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-surface-1);box-shadow:0 2px 8px var(--color-shadow);transition:all .3s cubic-bezier(.4,0,.2,1);padding:var(--space-1);margin:var(--space-1)}.photo-gallery__frame[data-v-9ad3a7b0]:hover{transform:scale(1.02) rotate(.3deg);box-shadow:0 6px 16px #0003;z-index:10}.photo-gallery__frame[data-v-9ad3a7b0]:active{transform:scale(1.01)}.photo-gallery__frame--sm[data-v-9ad3a7b0]{box-shadow:0 1px 4px var(--color-shadow)}.photo-gallery__frame--md[data-v-9ad3a7b0]{box-shadow:0 2px 8px var(--color-shadow)}.photo-gallery__frame--lg[data-v-9ad3a7b0]{box-shadow:0 3px 12px var(--color-shadow)}.photo-gallery__frame--lg[data-v-9ad3a7b0]:hover{transform:scale(1.015) rotate(.2deg)}.photo-gallery__series-badge[data-v-9ad3a7b0]{position:absolute;bottom:var(--space-3);right:var(--space-3);background:#000000b3;color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);display:flex;align-items:center;gap:var(--space-1);pointer-events:none}@media (prefers-reduced-motion: reduce){.photo-gallery__frame[data-v-9ad3a7b0],.photo-gallery__grid-item[data-v-9ad3a7b0],.photo-gallery__toggle[data-v-9ad3a7b0]{transition:none}.photo-gallery__frame[data-v-9ad3a7b0]:hover,.photo-gallery__grid-item[data-v-9ad3a7b0]:hover,.photo-gallery__toggle[data-v-9ad3a7b0]:hover{transform:none}}@media (width <= 480px){[data-v-1b12c67a]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-1b12c67a]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-1b12c67a]:root{--scale: 1}}@media (width > 1025px){[data-v-1b12c67a]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-1b12c67a]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-1b12c67a]{animation-duration:0ms!important;transition-duration:0ms!important}}.photography-page__placeholder[data-v-1b12c67a]{min-height:50vh;display:flex;flex-direction:column;align-items:center;gap:2rem;font-family:var(--font-body);font-size:var(--text-xl);color:var(--color-text-muted)}@media (width <= 480px){[data-v-f1bd3753]:root{--scale: .75}}@media (480px < width <= 768px){[data-v-f1bd3753]:root{--scale: .9}}@media (768px < width <= 1025px){[data-v-f1bd3753]:root{--scale: 1}}@media (width > 1025px){[data-v-f1bd3753]:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){[data-v-f1bd3753]:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}[data-v-f1bd3753]{animation-duration:0ms!important;transition-duration:0ms!important}}.not-found[data-v-f1bd3753]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:var(--space-5)}.not-found__container[data-v-f1bd3753]{max-width:600px;width:100%;text-align:center}.not-found__content[data-v-f1bd3753]{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}@media (max-width: 480px){.not-found__content[data-v-f1bd3753]{gap:var(--space-5)}}.not-found__code[data-v-f1bd3753]{font-family:var(--font-title);font-size:clamp(4rem,12vw,8rem);font-weight:var(--font-bold);color:var(--color-primary);line-height:var(--leading-none);-webkit-text-stroke-width:.1rem;-webkit-text-stroke-color:var(--color-text);opacity:.8}@media (max-width: 480px){.not-found__code[data-v-f1bd3753]{-webkit-text-stroke-width:.05rem}}.not-found__title[data-v-f1bd3753]{font-family:var(--font-title);font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--color-text);margin:0;line-height:var(--leading-tight)}@media (max-width: 480px){.not-found__title[data-v-f1bd3753]{font-size:var(--text-2xl)}}.not-found__description[data-v-f1bd3753]{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-text-secondary);margin:0;line-height:var(--leading-relaxed);max-width:400px}@media (max-width: 480px){.not-found__description[data-v-f1bd3753]{font-size:var(--text-md)}}.not-found__actions[data-v-f1bd3753]{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}@media (max-width: 480px){.not-found__actions[data-v-f1bd3753]{flex-direction:column;width:100%;max-width:280px}}.not-found__button[data-v-f1bd3753]{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:var(--font-medium);font-size:var(--text-md);text-decoration:none;border:none;cursor:pointer;transition:all .2s ease;min-width:120px}@media (max-width: 480px){.not-found__button[data-v-f1bd3753]{padding:var(--space-4) var(--space-6);width:100%}}.not-found__button[data-v-f1bd3753]:disabled{opacity:.5;cursor:not-allowed}.not-found__button[data-v-f1bd3753]:disabled:hover{transform:none}.not-found__button[data-v-f1bd3753]:not(:disabled):hover{transform:translateY(-1px)}.not-found__button--primary[data-v-f1bd3753]{background:var(--color-primary);color:var(--color-text-inverse)}.not-found__button--primary[data-v-f1bd3753]:not(:disabled):hover{background:var(--color-secondary)}.not-found__button--secondary[data-v-f1bd3753]{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border)}.not-found__button--secondary[data-v-f1bd3753]:not(:disabled):hover{background:var(--color-surface-3)}.not-found__links[data-v-f1bd3753]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.not-found__links-title[data-v-f1bd3753]{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.not-found__nav[data-v-f1bd3753]{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}@media (max-width: 480px){.not-found__nav[data-v-f1bd3753]{flex-direction:column;align-items:center;gap:var(--space-2)}}.not-found__nav-link[data-v-f1bd3753]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:all .2s ease}.not-found__nav-link[data-v-f1bd3753]:hover{color:var(--color-primary);background:var(--color-surface-1)}@media (width <= 480px){:root{--scale: .75}}@media (480px < width <= 768px){:root{--scale: .9}}@media (768px < width <= 1025px){:root{--scale: 1}}@media (width > 1025px){:root{--scale: 1.25}}@media (prefers-reduced-motion: reduce){:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}*{animation-duration:0ms!important;transition-duration:0ms!important}}@layer base{*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;line-height:1}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}}@layer base{:root{--max-width: 1600px}@media (max-width: 480px){:root{--max-width: 100vw}}@media (min-width: 481px) and (max-width: 768px){:root{--max-width: 100vw}}@media (min-width: 769px) and (max-width: 1025px){:root{--max-width: 100vw}}:root{--max-content-width: 1000px}@media (max-width: 480px){:root{--max-content-width: 100vw}}@media (min-width: 481px) and (max-width: 768px){:root{--max-content-width: 100vw}}@media (min-width: 769px) and (max-width: 1025px){:root{--max-content-width: 100vw}}:root{--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 50%;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-notification: 1080;--box-shadow: 2px 2px 6px 0px var(--color-secondary)}}@layer base{:root{--space-0: 0;--space-1: calc(.125rem * var(--scale));--space-2: calc(.25rem * var(--scale));--space-3: calc(.5rem * var(--scale));--space-4: calc(.75rem * var(--scale));--space-5: calc(1rem * var(--scale));--space-6: calc(1.5rem * var(--scale));--space-7: calc(2rem * var(--scale));--space-8: calc(3rem * var(--scale));--space-9: calc(4rem * var(--scale));--space-neg-1: calc(var(--space-1) * -1);--space-neg-2: calc(var(--space-2) * -1);--space-neg-3: calc(var(--space-3) * -1);--space-neg-4: calc(var(--space-4) * -1);--space-neg-5: calc(var(--space-5) * -1);--space-neg-6: calc(var(--space-6) * -1);--space-neg-8: calc(var(--space-7) * -1);--space-neg-8: calc(var(--space-8) * -1);--space-neg-9: calc(var(--space-9) * -1)}}:root{color-scheme:light dark;--color-bg: light-dark(#f0f5f9, #1a2332);--color-surface-1: light-dark(#e3ecf3, #253345);--color-surface-2: light-dark(#d4e3ed, #314558);--color-surface-3: light-dark(#c0d6e6, #3d556b);--color-border: light-dark(#a3c1d6, #4a647d);--color-text: light-dark(#1a2332, #e3ecf3);--color-text-secondary: light-dark(#314558, #d4e3ed);--color-text-muted: light-dark(#4a647d, #c0d6e6);--color-text-inverse: light-dark(#f0f5f9, #1a2332);--color-text-accent: light-dark(#4a7fa8, #6ba8d6);--color-primary: light-dark(#4a7fa8, #6ba8d6);--color-secondary: light-dark(#5d8fb5, #85bce3);--color-accent: light-dark(#7d5ba6, #a689c9);--color-info: light-dark(#5da8c9, #7fc9e8);--color-success: light-dark(#5da67d, #7dc99d);--color-warning: light-dark(#d6a864, #e8c585);--color-error: light-dark(#c96b7d, #e88599);--color-peach: light-dark(#d68f7d, #e8a999);--color-burgundy: light-dark(#8f4d5d, #bd738a);--color-pink: light-dark(#bd7da8, #d699bd);--color-violet: light-dark(#6b5d8f, #8a7db5);--color-olive: light-dark(#738f6b, #93b589);--color-overlay: light-dark(rgba(26,35,50,.4), rgba(0,0,0,.4));--color-divider: light-dark(#d4e3ed, #314558);--color-shadow: light-dark(rgba(26,35,50,.15), rgba(0,0,0,.5))}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}@layer base{:root{--font-cinzel:"Cinzel Decorative", serif;--font-fredericka: "Fredericka the Great", serif;--font-barlow: "Barlow", sans-serif;--font-fira: "Fira Mono", monospace;--font-poppins: "Poppins", sans-serif;--font-sans: "Work Sans", sans-serif;--font-bitter: "Bitter", Times, serif;--font-inter: "Inter", sans-serif;--font-src-sans: "Source Sans 3", sans-serif;--font-jetbrains: "JetBrains Mono", monospace;--font-title: var(--font-poppins);--font-body-1: var(--font-inter);--font-body-2: var(--font-sans);--font-body-3: var(--font-src-sans);--font-mono: var(--font-jetbrains);--font-subtitle: var(--font-fredericka);--font-body: var(--font-inter);--font-alt-body: var(--font-poppins);--font-info: var(--font-src-sans);--font-info: var(--font-jetbrains);--font-accent: var(--font-poppins);--font-accent: var(--font-barlow);--font-secondary: var(--font-barlow);--font-ui: var(--font-sans);--font-detail: var(--font-src-sans);--font-code: var(--font-fira);--font-dev: var(--font-jetbrains);--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--text-xs: .8125rem;--text-sm: .9375rem;--text-base: 1.0625rem;--text-md: 1.0625rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--text-3xl: 2.5rem;--text-4xl: 3rem}@media (min-width: 769px) and (max-width: 1025px){:root{--text-xs: .8rem;--text-sm: .9rem;--text-base: 1rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 2.75rem}}@media (min-width: 481px) and (max-width: 768px){:root{--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem}}@media (max-width: 480px){:root{--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: .9375rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.375rem;--text-3xl: 1.75rem;--text-4xl: 2.25rem}}:root{--text-landing: 7rem}@media (min-width: 769px) and (max-width: 1025px){:root{--text-landing: 5rem}}@media (min-width: 481px) and (max-width: 768px){:root{--text-landing: 3.5rem}}@media (max-width: 480px){:root{--text-landing: 3.5rem}}:root{--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-body: 1.625;--leading-relaxed: 1.625;--leading-loose: 1.75}}@layer components{:root{--nav-bar-height: 70px}@media (max-width: 480px){:root{--nav-bar-height: 50px}}@media (min-width: 481px) and (max-width: 768px){:root{--nav-bar-height: 50px}}@media (min-width: 769px) and (max-width: 1025px){:root{--nav-bar-height: 60px}}:root{--exp-card-width: 280px;--exp-card-height: 180px;--exp-gap: 60px;--cards-visible-width: 80%}@media (max-width: 480px){:root{--exp-card-width: 240px;--exp-card-height: 140px;--exp-gap: 40px}}.modal-overlay{position:fixed;inset:0;background:var(--color-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-8);overflow-y:auto}@media (max-width: 480px){.modal-overlay{padding:var(--space-4)}}.modal-close-btn{position:fixed;top:var(--space-6);right:var(--space-6);z-index:calc(var(--z-modal) + 1);width:48px;height:48px;background:var(--color-surface-1);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--text-3xl);cursor:pointer;display:grid;place-items:center;transition:all .2s ease}.modal-close-btn:hover{background:var(--color-surface-3);border-color:var(--color-secondary);color:var(--color-secondary)}@media (max-width: 480px){.modal-close-btn{top:var(--space-4);right:var(--space-4);width:40px;height:40px}}.modal-content{max-width:90vw;max-height:90vh;position:relative;display:flex;flex-direction:column;gap:var(--space-4)}.modal-enter-active,.modal-leave-active{transition:opacity .3s ease}.modal-enter-active .modal-content,.modal-leave-active .modal-content{transition:transform .3s ease,opacity .3s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-content,.modal-leave-to .modal-content{transform:scale(.9);opacity:0}@media (prefers-reduced-motion: reduce){.modal-enter-active,.modal-leave-active{transition:none}.modal-enter-active .modal-content,.modal-leave-active .modal-content{transition:none;transform:none}}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-ui);font-weight:var(--font-medium);font-size:var(--text-base);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:var(--space-3) var(--space-5);border:2px solid transparent;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);appearance:none;-webkit-appearance:none;-moz-appearance:none}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--color-shadow);filter:brightness(1.1)}.btn:active{transform:translateY(0);box-shadow:0 2px 4px var(--color-shadow)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover{background:var(--color-surface-1);border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:active{background:var(--color-surface-2)}.btn-fill{position:relative;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:var(--color-text-inverse);overflow:hidden}.btn-fill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-fill:hover:before{left:100%}.btn-fill:hover{box-shadow:0 6px 20px #0000004d}.btn-ghost{background:transparent;border:none;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-surface-1);color:var(--color-primary);transform:none;box-shadow:none}.btn-ghost:active{background:var(--color-surface-2)}.btn-accent{background:var(--color-accent);color:var(--color-text-inverse);border:none}.btn-accent:hover{filter:brightness(1.2)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ripple:active:after{width:300px;height:300px}.btn-glow{position:relative}.btn-glow:before{content:"";position:absolute;inset:-2px;border-radius:var(--radius-md);background:linear-gradient(45deg,var(--color-primary),var(--color-accent),var(--color-secondary));opacity:0;transition:opacity .3s ease;z-index:-1;filter:blur(8px)}.btn-glow:hover:before{opacity:.7;animation:glow-pulse 2s ease-in-out infinite}@keyframes glow-pulse{0%,to{filter:blur(8px);opacity:.7}50%{filter:blur(12px);opacity:1}}.btn-3d{box-shadow:0 4px 0 var(--color-border),0 4px 8px #0003}.btn-3d:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--color-border),0 6px 12px #0000004d}.btn-3d:active{transform:translateY(2px);box-shadow:0 2px 0 var(--color-border),0 2px 4px #0003}.btn-slide{background:transparent;border:none;color:var(--color-text);position:relative;padding:var(--space-2) var(--space-3)}.btn-slide:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width .3s ease}.btn-slide:hover{transform:none;box-shadow:none;color:var(--color-primary)}.btn-slide:hover:after{width:100%}.btn-icon{padding:var(--space-3);aspect-ratio:1;border-radius:var(--radius-round)}.btn-icon:hover{transform:rotate(15deg) scale(1.1)}.btn-sm{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.btn-lg{font-size:var(--text-lg);padding:var(--space-4) var(--space-6)}.btn-xl{font-size:var(--text-xl);padding:var(--space-5) var(--space-8)}.btn-block{width:100%}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.btn-group .btn:not(:last-child){border-right:none}.btn-loading{position:relative;color:transparent;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}html{color-scheme:light dark}body{font-family:var(--font-sans);font-size:var(--text-lgsm);color:var(--color-text);background:var(--color-bg);line-height:1}
