.social-icon.svelte-28bzi9{width:var(--social-icon-size);height:var(--social-icon-size);object-fit:contain;transition:scale .18s ease-out, opacity var(--transition-slow);position:absolute}.social-icon--dark.svelte-28bzi9,html.dark .social-icon--light.svelte-28bzi9{opacity:0}html.dark .social-icon--dark.svelte-28bzi9{opacity:1}.animation-controls.svelte-8riuny{display:flex}.animation-toggle__icons.svelte-8riuny{width:32px;height:32px;position:relative}.animation-toggle__pause.svelte-8riuny,.animation-toggle__play.svelte-8riuny{width:100%;height:100%;transition:transform var(--transition-slow), opacity var(--transition-slow);position:absolute;inset:0}.animation-toggle__pause.svelte-8riuny{opacity:0;transform:scale(1)}.animation-toggle__pause.is-visible.svelte-8riuny{opacity:1;transform:scale(1)}.animation-toggle__play.svelte-8riuny{opacity:0;transform:scale(0)}.animation-toggle__play.is-visible.svelte-8riuny{opacity:1;transform:scale(1)}.animation-toggle-wrapper.svelte-8riuny{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.keyboard-shortcut.svelte-8riuny{color:var(--color-text-secondary);opacity:.7;transition:var(--transition-theme);align-items:center;gap:.25rem;font-size:.625rem;display:flex}@media (width<=800px){.keyboard-shortcut.svelte-8riuny{display:none}}.kbd.svelte-8riuny{min-width:1.25rem;color:var(--color-text-secondary);background-color:var(--color-card-bg);border:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-border), inset 0 1px 0 color-mix(in srgb, var(--color-bg) 50%, transparent);transition:var(--transition-theme);border-radius:4px;justify-content:center;align-items:center;padding:.125rem .375rem;font-family:inherit;font-size:.625rem;font-weight:500;line-height:1;display:inline-flex}.keyboard-shortcut__plus.svelte-8riuny{color:var(--color-text-secondary);opacity:.6;transition:var(--transition-theme);font-size:.625rem}.quick-nav.svelte-dvsz2c{flex-direction:row;align-items:center;gap:0;display:flex}.quick-nav__item.svelte-dvsz2c{cursor:pointer;width:var(--quick-nav-item-width,5.5rem);justify-content:center;align-items:center;height:24px;display:flex;position:relative}.quick-nav__connector.svelte-dvsz2c{background-color:var(--color-text-secondary);width:1rem;height:2px;transition:var(--transition-theme)}.quick-nav__dot.svelte-dvsz2c,.quick-nav__label.svelte-dvsz2c{pointer-events:none}.quick-nav__dot.svelte-dvsz2c{background-color:var(--color-text-secondary);width:12px;height:12px;transition:transform var(--transition-fast), var(--transition-theme);border-radius:50%}.quick-nav__label.svelte-dvsz2c{color:var(--color-text-secondary);opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast), var(--transition-theme);white-space:nowrap;letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scaleX(.85)}.quick-nav__item.svelte-dvsz2c:hover .quick-nav__dot:where(.svelte-dvsz2c),.quick-nav__item.svelte-dvsz2c:focus .quick-nav__dot:where(.svelte-dvsz2c){background-color:var(--color-text);transform:scale(0)}.quick-nav__item.svelte-dvsz2c:hover .quick-nav__label:where(.svelte-dvsz2c),.quick-nav__item.svelte-dvsz2c:focus .quick-nav__label:where(.svelte-dvsz2c){opacity:1;color:var(--color-text);transform:translate(-50%,-50%)scaleX(1)}.quick-nav__item--active.svelte-dvsz2c .quick-nav__dot:where(.svelte-dvsz2c){background-color:var(--color-text);transform:scale(0)}.quick-nav__item--active.svelte-dvsz2c .quick-nav__label:where(.svelte-dvsz2c){opacity:1;color:var(--color-text);transform:translate(-50%,-50%)scaleX(1)}.quick-nav__item.svelte-dvsz2c:focus{outline:none}.quick-nav__item.svelte-dvsz2c:focus .quick-nav__dot:where(.svelte-dvsz2c){outline:2px solid var(--color-text);outline-offset:4px}@media (width<=1099px){.quick-nav__item.svelte-dvsz2c{width:auto;padding:0 .625rem}.quick-nav__dot.svelte-dvsz2c{display:none}.quick-nav.svelte-dvsz2c .quick-nav__item:where(.svelte-dvsz2c) .quick-nav__label:where(.svelte-dvsz2c){opacity:1;font-size:.6875rem;position:static;transform:none}.quick-nav.svelte-dvsz2c .quick-nav__item--active:where(.svelte-dvsz2c) .quick-nav__label:where(.svelte-dvsz2c){font-weight:700}.quick-nav__item.svelte-dvsz2c:focus-visible{outline:2px solid var(--color-text);outline-offset:2px;border-radius:4px}}@media (prefers-reduced-motion:reduce){.quick-nav__dot.svelte-dvsz2c,.quick-nav__label.svelte-dvsz2c{transition:none}}.side-nav.svelte-102md4r{padding:.75rem}.theme-toggle__icons.svelte-1kenrq5{width:32px;height:32px;position:relative}.theme-toggle__sun.svelte-1kenrq5,.theme-toggle__moon.svelte-1kenrq5{width:100%;height:100%;transition:opacity var(--transition-slow);position:absolute;inset:0}.theme-toggle__sun.svelte-1kenrq5{opacity:1}.theme-toggle__moon.svelte-1kenrq5,html.dark .theme-toggle__sun.svelte-1kenrq5{opacity:0}html.dark .theme-toggle__moon.svelte-1kenrq5{opacity:1}.theme-toggle-wrapper.svelte-1kenrq5{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.keyboard-shortcut.svelte-1kenrq5{color:var(--color-text-secondary);opacity:.7;transition:var(--transition-theme);align-items:center;gap:.25rem;font-size:.625rem;display:flex}@media (width<=800px){.keyboard-shortcut.svelte-1kenrq5{display:none}}.kbd.svelte-1kenrq5{min-width:1.25rem;color:var(--color-text-secondary);background-color:var(--color-card-bg);border:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-border), inset 0 1px 0 color-mix(in srgb, var(--color-bg) 50%, transparent);transition:var(--transition-theme);border-radius:4px;justify-content:center;align-items:center;padding:.125rem .375rem;font-family:inherit;font-size:.625rem;font-weight:500;line-height:1;display:inline-flex}.keyboard-shortcut__plus.svelte-1kenrq5{color:var(--color-text-secondary);opacity:.6;transition:var(--transition-theme);font-size:.625rem}.mobile-nav.svelte-v4r81b{display:none}@media (width<=1099px){.mobile-nav.svelte-v4r81b{inset-inline:0;bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));z-index:100;pointer-events:none;justify-content:center;display:flex;position:fixed}.mobile-nav__bar.svelte-v4r81b{pointer-events:auto;align-items:center;padding:.5rem .625rem;display:flex;position:relative}.mobile-nav__divider.svelte-v4r81b{background-color:var(--color-border);width:1px;transition:var(--transition-theme);align-self:stretch;margin:0 .5rem}.mobile-nav__menu-button.svelte-v4r81b{width:2.5rem;height:2.5rem;color:var(--color-text-secondary);transition:color var(--transition-fast), background-color var(--transition-fast), var(--transition-theme);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.mobile-nav__menu-button.svelte-v4r81b svg:where(.svelte-v4r81b){width:22px;height:22px}.mobile-nav__menu-button.svelte-v4r81b:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.mobile-nav__menu-button[aria-expanded=true].svelte-v4r81b{color:var(--color-text);background-color:var(--color-card-bg)}.mobile-nav__menu.svelte-v4r81b{align-items:center;gap:var(--space-xs);pointer-events:auto;opacity:0;visibility:hidden;transform-origin:100% 100%;flex-direction:column;padding:.625rem;transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s;display:flex;position:absolute;bottom:calc(100% + .75rem);right:.25rem;transform:translateY(.5rem)scale(.96)}.mobile-nav__menu--open.svelte-v4r81b{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.mobile-nav__menu.svelte-v4r81b .keyboard-shortcut{display:none}}@media (prefers-reduced-motion:reduce){.mobile-nav__menu.svelte-v4r81b{transition:none}}.nav.svelte-eyh2cm{z-index:100;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:color-mix(in srgb, var(--color-bg) 95%, transparent);transition:var(--transition-theme);position:sticky;top:0}.nav-container.svelte-eyh2cm{max-width:var(--max-width);padding:0 var(--space-md);gap:var(--space-md);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:8rem;margin:0 auto;display:grid}@media (width>=640px){.nav-container.svelte-eyh2cm{padding:0 var(--space-lg)}}.nav-logo.svelte-eyh2cm{font-family:var(--font-wordmark);letter-spacing:-.04em;text-transform:uppercase;transition:opacity var(--transition-fast);font-size:clamp(1.375rem,2.1vw,1.75rem);font-weight:400;line-height:1}.nav-logo-subtitle.svelte-eyh2cm{color:var(--color-text-secondary);transition:var(--transition-theme)}.nav-logo.svelte-eyh2cm:hover{opacity:.7}.nav-center.svelte-eyh2cm{justify-self:center}.nav-right.svelte-eyh2cm{justify-self:end;align-items:flex-start;gap:var(--space-lg);display:flex}.nav-patreon.svelte-eyh2cm{align-items:center;gap:var(--space-xs);flex-direction:column;display:flex}.nav-patreon__tag.svelte-eyh2cm{color:var(--color-text-secondary);background-color:var(--color-card-bg);border:1px solid var(--color-border);opacity:.7;box-shadow:0 1px 0 var(--color-border), inset 0 1px 0 color-mix(in srgb, var(--color-bg) 50%, transparent);transition:var(--transition-theme);border-radius:4px;justify-content:center;align-items:center;padding:.125rem .375rem;font-size:.625rem;font-weight:500;line-height:1;display:inline-flex}@media (width>=800px){.nav-right.svelte-eyh2cm{gap:var(--space-xl)}}@media (width<=1099px){.nav.svelte-eyh2cm{display:none}}.platform-link.svelte-1ti6h09{align-items:center;gap:var(--space-md);padding:var(--space-md);background-color:var(--color-card-bg);border:2px solid var(--color-border);transition:transform var(--transition-fast), var(--transition-theme);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.platform-link.svelte-1ti6h09:hover{border-color:var(--color-text-secondary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.platform-link.svelte-1ti6h09:focus-visible{outline:2px solid var(--color-text);outline-offset:3px}.platform-link__icon.svelte-1ti6h09{background-color:var(--color-bg);border:1px solid var(--color-border);width:56px;height:56px;transition:var(--transition-theme);justify-content:center;align-items:center;display:flex;position:relative}.platform-link__logo.svelte-1ti6h09{object-fit:contain;width:27px;height:27px;transition:opacity var(--transition-slow);position:absolute}.platform-link__logo--dark.svelte-1ti6h09,html.dark .platform-link__logo--light.svelte-1ti6h09{opacity:0}html.dark .platform-link__logo--dark.svelte-1ti6h09{opacity:1}.platform-link__label.svelte-1ti6h09{flex-direction:column;display:flex}.platform-link__name.svelte-1ti6h09{font-size:1.125rem;font-weight:600}.platform-link__description.svelte-1ti6h09{color:var(--color-text-secondary);transition:var(--transition-theme);font-size:.875rem}.platform-link__arrow.svelte-1ti6h09{width:24px;height:24px;transition:transform var(--transition-fast)}.platform-link.svelte-1ti6h09:hover .platform-link__arrow:where(.svelte-1ti6h09){transform:translate(4px)}@media (width<=560px){.platform-link.svelte-1ti6h09{gap:var(--space-sm);padding:var(--space-sm)}.platform-link__description.svelte-1ti6h09{display:none}}.contact-section.svelte-wzln0t{padding:var(--space-3xl) 0;scroll-margin-top:8rem}.contact-section__container.svelte-wzln0t{max-width:var(--max-width);padding:0 var(--space-md);margin:0 auto}.contact-section__header.svelte-wzln0t{margin:0 auto var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border);transition:var(--transition-theme)}.contact-section__title.svelte-wzln0t{letter-spacing:-.02em;font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.15}.contact-section__content.svelte-wzln0t{margin:0 auto}.contact-section__block.svelte-wzln0t{padding-bottom:var(--space-xl)}.contact-section__intro.svelte-wzln0t{max-width:720px;margin-bottom:var(--space-lg);color:var(--color-text-secondary);transition:var(--transition-theme);font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.7}@media (width>=640px){.contact-section__container.svelte-wzln0t{padding:0 var(--space-lg)}}.project-list.svelte-1ln3r19{max-width:var(--max-width);padding:0;padding-left:var(--space-md,1.5rem);padding-right:var(--space-md,1.5rem);gap:1rem;margin:0 auto;display:grid}@media (width>=640px){.project-list.svelte-1ln3r19{padding-left:var(--space-lg,2rem);padding-right:var(--space-lg,2rem)}}.project-card.svelte-1ln3r19{cursor:pointer;text-align:left;width:100%;color:inherit;perspective:1000px;background-color:#0000;padding:0;text-decoration:none;display:block;position:relative}.project-card__content-wrapper.svelte-1ln3r19:before{z-index:-1;content:"";background-color:var(--color-bg);background-blend-mode:soft-light;opacity:.95;transition:var(--transition-theme);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:150px 150px;position:absolute;inset:0}.project-card__content-wrapper.svelte-1ln3r19{z-index:1;isolation:isolate;pointer-events:none;transform-origin:50%;backface-visibility:hidden;box-shadow:0 0 1px 1px var(--color-border);transition:transform .38s cubic-bezier(.2, 1.4, .4, 1), var(--transition-theme);grid-template-columns:minmax(0,28%) minmax(0,1fr);display:grid;position:relative;transform:rotateX(0)rotateY(0)}.project-card--reversed.svelte-1ln3r19 .project-card__content-wrapper:where(.svelte-1ln3r19){grid-template-columns:minmax(0,1fr) minmax(0,28%)}.project-card__thumbnail.svelte-1ln3r19{aspect-ratio:16/10;background-color:var(--color-card-bg);transition:var(--transition-theme);grid-area:1/1;align-self:start;position:relative;overflow:hidden}.project-card--reversed.svelte-1ln3r19 .project-card__thumbnail:where(.svelte-1ln3r19){grid-column:2}.project-card__thumbnail.svelte-1ln3r19 picture{width:100%;height:100%;display:block;position:absolute;inset:0}.project-card__thumbnail-image.svelte-1ln3r19,.project-card__thumbnail-video.svelte-1ln3r19{object-fit:cover;filter:blur(6px);width:100%;height:100%;transition:filter .32s,opacity .32s;position:absolute;inset:0;transform:scale(1.08)}.project-card__thumbnail-video.svelte-1ln3r19{opacity:0}.project-card__thumbnail.svelte-1ln3r19:not(.project-card__thumbnail--image) .project-card__thumbnail-video:where(.svelte-1ln3r19){opacity:1}@media (hover:hover) and (pointer:fine){.project-card__thumbnail--image.svelte-1ln3r19 .project-card__thumbnail-video:where(.svelte-1ln3r19){opacity:1}}.project-card__thumbnail-blur.svelte-1ln3r19{z-index:1;background-color:color-mix(in srgb, var(--color-bg) 25%, transparent);pointer-events:none;transition:background-color var(--transition-theme);position:absolute;inset:0}.project-card.mouse-active.svelte-1ln3r19:hover .project-card__thumbnail-image:where(.svelte-1ln3r19),.project-card.mouse-active.svelte-1ln3r19:hover .project-card__thumbnail-video:where(.svelte-1ln3r19),.project-card.keyboard-active.keyboard-selected.svelte-1ln3r19 .project-card__thumbnail-image:where(.svelte-1ln3r19),.project-card.keyboard-active.keyboard-selected.svelte-1ln3r19 .project-card__thumbnail-video:where(.svelte-1ln3r19),.project-card.svelte-1ln3r19:focus-visible .project-card__thumbnail-image:where(.svelte-1ln3r19),.project-card.svelte-1ln3r19:focus-visible .project-card__thumbnail-video:where(.svelte-1ln3r19){filter:blur()}.project-card.mouse-active.svelte-1ln3r19:hover .project-card__thumbnail-blur:where(.svelte-1ln3r19),.project-card.keyboard-active.keyboard-selected.svelte-1ln3r19 .project-card__thumbnail-blur:where(.svelte-1ln3r19),.project-card.svelte-1ln3r19:focus-visible .project-card__thumbnail-blur:where(.svelte-1ln3r19){background-color:#0000}.project-card.mouse-active.svelte-1ln3r19:hover .project-card__content-wrapper:where(.svelte-1ln3r19):before,.project-card.keyboard-active.keyboard-selected.svelte-1ln3r19 .project-card__content-wrapper:where(.svelte-1ln3r19):before{background-color:var(--color-hover,#f0f0f0);background-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-size:150px 150px}.project-card.keyboard-active.keyboard-selected.svelte-1ln3r19 .project-card__content-wrapper:where(.svelte-1ln3r19),.project-card.svelte-1ln3r19:focus-visible .project-card__content-wrapper:where(.svelte-1ln3r19){box-shadow:0 0 1px 1px var(--color-text-secondary), 0 16px 32px #00000024}@media (hover:hover) and (pointer:fine){.project-card.mouse-active.svelte-1ln3r19:hover{z-index:2}.project-card.mouse-active.svelte-1ln3r19:hover .project-card__content-wrapper:where(.svelte-1ln3r19){transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .12s ease-out, var(--transition-theme);box-shadow:0 0 1px 1px var(--color-text-secondary), 0 16px 32px #00000024}}.project-card__row.svelte-1ln3r19{gap:var(--space-sm);padding:var(--space-lg) var(--space-sm);grid-area:1/2;grid-template-columns:minmax(0,1fr);align-content:center;min-width:0;display:grid}.project-card--reversed.svelte-1ln3r19 .project-card__row:where(.svelte-1ln3r19){grid-column:1}@media (width>=768px){.project-card__row.svelte-1ln3r19{align-items:center;column-gap:var(--space-lg);padding:var(--space-xl) var(--space-lg);grid-template-columns:minmax(0,1fr) auto}.project-card__action.svelte-1ln3r19{grid-area:1/2}.project-card__main.svelte-1ln3r19{text-align:right}.project-card--reversed.svelte-1ln3r19 .project-card__row:where(.svelte-1ln3r19){grid-template-columns:auto minmax(0,1fr)}.project-card--reversed.svelte-1ln3r19 .project-card__main:where(.svelte-1ln3r19){text-align:left;grid-area:1/2}.project-card--reversed.svelte-1ln3r19 .project-card__action:where(.svelte-1ln3r19){grid-column:1}}.project-card__main.svelte-1ln3r19{flex-direction:column;gap:.25rem;display:flex}.project-card__title.svelte-1ln3r19{letter-spacing:-.01em;overflow-wrap:anywhere;color:var(--color-text,#0a0a0a);transition:var(--transition-theme);font-size:1.25rem;font-weight:500;line-height:1.3}@media (width>=768px){.project-card__title.svelte-1ln3r19{font-size:1.5rem}}.project-card__description.svelte-1ln3r19{color:var(--color-text-secondary,#525252);transition:var(--transition-theme);font-size:.9375rem;line-height:1.5}.project-card__action.svelte-1ln3r19{width:44px;height:44px;color:var(--color-text-secondary,#525252);background-color:var(--color-card-bg);transition:var(--transition-theme);border-radius:50%;justify-content:center;align-items:center;display:flex}.project-card.mouse-active.svelte-1ln3r19:hover .project-card__action:where(.svelte-1ln3r19),.project-card.keyboard-active.keyboard-selected.svelte-1ln3r19 .project-card__action:where(.svelte-1ln3r19),.project-card.svelte-1ln3r19:focus-visible .project-card__action:where(.svelte-1ln3r19){color:var(--color-bg);background-color:var(--color-text)}@media (hover:none){.project-card__thumbnail-image.svelte-1ln3r19,.project-card__thumbnail-video.svelte-1ln3r19{filter:none;transform:scale(1)}.project-card__thumbnail-blur.svelte-1ln3r19{background-color:#0000}}@media (width<=767.98px){.project-card__content-wrapper.svelte-1ln3r19,.project-card--reversed.svelte-1ln3r19 .project-card__content-wrapper:where(.svelte-1ln3r19){min-height:0;transition:transform .16s ease, var(--transition-theme);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr)}.project-card__thumbnail.svelte-1ln3r19,.project-card--reversed.svelte-1ln3r19 .project-card__thumbnail:where(.svelte-1ln3r19){grid-area:1/1}.project-card__row.svelte-1ln3r19,.project-card--reversed.svelte-1ln3r19 .project-card__row:where(.svelte-1ln3r19){align-items:center;column-gap:var(--space-md);padding:var(--space-md);grid-area:2/1;grid-template-columns:minmax(0,1fr) auto}.project-card__main.svelte-1ln3r19,.project-card--reversed.svelte-1ln3r19 .project-card__main:where(.svelte-1ln3r19){text-align:left;grid-area:1/1}.project-card__action.svelte-1ln3r19,.project-card--reversed.svelte-1ln3r19 .project-card__action:where(.svelte-1ln3r19){grid-area:1/2}.project-card.svelte-1ln3r19:active .project-card__content-wrapper:where(.svelte-1ln3r19){transform:scale(.985)}}@media (prefers-reduced-motion:reduce){.project-card.svelte-1ln3r19 .project-card__content-wrapper:where(.svelte-1ln3r19),.project-card.mouse-active.svelte-1ln3r19:hover .project-card__content-wrapper:where(.svelte-1ln3r19),.project-card.svelte-1ln3r19:active .project-card__content-wrapper:where(.svelte-1ln3r19){transition:none;transform:none}.project-card__thumbnail-image.svelte-1ln3r19,.project-card__thumbnail-video.svelte-1ln3r19,.project-card__thumbnail-blur.svelte-1ln3r19{transition:none}}.modal.svelte-und0iy{z-index:1000;width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--color-text);transition:var(--transition-theme);background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:20px;position:fixed;inset:0}.modal[open].svelte-und0iy{display:flex}.modal.svelte-und0iy::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000c}.modal__content.svelte-und0iy{background-color:var(--color-bg);width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;transition:transform var(--transition-base), var(--transition-theme);box-shadow:var(--shadow-xl);border:2px solid var(--color-border);position:relative;overflow:hidden;transform:scale(.95)translateY(20px)}.modal--active.svelte-und0iy .modal__content:where(.svelte-und0iy){transform:scale(1)translateY(0)}.modal__close.svelte-und0iy{z-index:10;background-color:var(--color-card-bg);width:48px;height:48px;color:var(--color-text);transition:transform var(--transition-fast), var(--transition-theme);justify-content:center;align-items:center;display:flex;position:absolute}.modal__close--desktop.svelte-und0iy{top:var(--space-md);right:var(--space-md)}.modal__close--desktop.svelte-und0iy:hover{background-color:var(--color-hover);transform:rotate(90deg)}.modal__back.svelte-und0iy{border:2px solid var(--color-border);background-color:var(--color-card-bg);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast), var(--transition-theme);justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.8125rem;font-weight:600;display:none}.modal__back.svelte-und0iy svg:where(.svelte-und0iy){width:16px;height:16px}.modal__back.svelte-und0iy:hover{background-color:var(--color-hover);transform:translate(-2px)}.modal__close.svelte-und0iy svg:where(.svelte-und0iy){width:20px;height:20px}.modal__swipe-indicator.svelte-und0iy{z-index:10;pointer-events:none;padding:8px;display:none;position:absolute;top:8px;left:50%;transform:translate(-50%)}.modal__swipe-handle.svelte-und0iy{background-color:var(--color-text-secondary);opacity:.5;width:36px;height:4px;transition:var(--transition-theme);border-radius:2px;animation:2s ease-in-out infinite svelte-und0iy-swipe-pulse}@keyframes svelte-und0iy-swipe-pulse{0%,to{opacity:.5;transform:scaleX(1)}50%{opacity:.8;transform:scaleX(1.1)}}.modal__swipe-hints.svelte-und0iy{z-index:5;pointer-events:none;display:none;position:absolute;inset:0}.modal__swipe-hint.svelte-und0iy{width:32px;height:48px;color:var(--color-text);background-color:color-mix(in srgb, var(--color-card-bg) 72%, transparent);border:2px solid var(--color-border);transition:var(--transition-theme);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.modal__swipe-hint.svelte-und0iy svg:where(.svelte-und0iy){width:18px;height:18px}.modal__swipe-hint--prev.svelte-und0iy{left:.25rem}.modal__swipe-hint--next.svelte-und0iy{right:.25rem}.modal__swipe-tour.svelte-und0iy{z-index:20;justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-xl);text-align:center;opacity:0;pointer-events:none;touch-action:none;transition:opacity var(--transition-fast);background-color:#00000073;flex-direction:column;display:none;position:absolute;inset:0}.modal__swipe-tour--active.svelte-und0iy{opacity:1;-webkit-backdrop-filter:blur(3px);transition:opacity var(--transition-base)}.modal__swipe-tour--interactive.svelte-und0iy{pointer-events:auto}.modal__swipe-tour-gesture.svelte-und0iy{justify-content:center;align-items:center;gap:var(--space-lg);color:#fff;display:flex}.modal__swipe-tour-hand.svelte-und0iy{justify-content:center;align-items:center;animation:2.4s ease-in-out infinite svelte-und0iy-swipe-tour-hand;display:flex}.modal__swipe-tour-hand.svelte-und0iy svg:where(.svelte-und0iy){width:44px;height:44px}.modal__swipe-tour-arrow.svelte-und0iy{color:#ffffffb3;justify-content:center;align-items:center;display:flex}.modal__swipe-tour-arrow.svelte-und0iy svg:where(.svelte-und0iy){width:20px;height:20px}.modal__swipe-tour-arrow--left.svelte-und0iy{animation:2.4s ease-in-out infinite svelte-und0iy-swipe-tour-arrow}.modal__swipe-tour-arrow--right.svelte-und0iy{animation:2.4s ease-in-out infinite reverse svelte-und0iy-swipe-tour-arrow}@keyframes svelte-und0iy-swipe-tour-hand{0%,to{transform:translate(-24px)rotate(-6deg)}50%{transform:translate(24px)rotate(6deg)}}@keyframes svelte-und0iy-swipe-tour-arrow{0%,to{opacity:.35}50%{opacity:1}}.modal__swipe-tour-text.svelte-und0iy{letter-spacing:-.01em;color:#fff;font-size:1.125rem;font-weight:600}.modal__swipe-tour-dismiss.svelte-und0iy{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;font-size:.8125rem;font-weight:600}.modal__slider.svelte-und0iy{height:100%;transform-style:preserve-3d;position:relative}.modal__body-slot.svelte-und0iy{position:absolute;inset:0;box-shadow:0 0 28px #00000047}.modal__body--neighbour.svelte-und0iy{pointer-events:none}.modal__body.svelte-und0iy{grid-template-columns:1fr;height:100%;display:grid}@media (width>=800px){.modal__body.svelte-und0iy{grid-template-columns:1fr 1fr}.modal__info.svelte-und0iy{grid-area:1/1}.modal__media.svelte-und0iy{grid-area:1/2}.modal__body--stacked.svelte-und0iy{grid-template-rows:auto minmax(0,1fr)}.modal__body--stacked.svelte-und0iy .modal__info:where(.svelte-und0iy){grid-column:1/-1}.modal__body--stacked.svelte-und0iy .modal__media:where(.svelte-und0iy){grid-area:2/1/auto/-1}.modal__info.svelte-und0iy{overflow-y:auto}}.modal__media.svelte-und0iy{background-color:var(--color-hover);min-height:0;transition:var(--transition-theme);position:relative;overflow:hidden}.modal__media--landscape.svelte-und0iy{aspect-ratio:16/10}.modal__media--portrait.svelte-und0iy{aspect-ratio:10/16}.modal__media.svelte-und0iy picture{width:100%;height:100%;display:block}.modal__image.svelte-und0iy{object-fit:cover;width:100%;height:100%}.modal__media.svelte-und0iy video:where(.svelte-und0iy){cursor:pointer}.modal__video-overlay.svelte-und0iy{z-index:2;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal__video-indicator.svelte-und0iy{color:#fff;background-color:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.modal__video-indicator.svelte-und0iy svg:where(.svelte-und0iy){width:28px;height:28px}@media (hover:hover) and (pointer:fine){.modal__media.svelte-und0iy:hover .modal__video-overlay:where(.svelte-und0iy){opacity:1}}.modal__video-overlay--paused.svelte-und0iy{opacity:1}.modal__image-fallback.svelte-und0iy{width:100%;height:100%;color:var(--color-text-secondary);background-color:var(--color-hover);transition:var(--transition-theme);justify-content:center;align-items:center;display:none}.modal__image-fallback--visible.svelte-und0iy{display:flex}.modal__image-fallback.svelte-und0iy svg:where(.svelte-und0iy){opacity:.3;width:64px;height:64px}.modal__info.svelte-und0iy{min-height:0;padding:var(--space-2xl);transition:opacity .11s cubic-bezier(.4, 0, .2, 1), var(--transition-theme)}.modal__info--dimmed.svelte-und0iy{opacity:0}.modal__title.svelte-und0iy{margin-bottom:var(--space-md);letter-spacing:-.02em;font-size:2rem;font-weight:700}.modal__description.svelte-und0iy{color:var(--color-text-secondary);transition:var(--transition-theme);margin-bottom:0;font-size:1.125rem;line-height:1.7}.modal__details.svelte-und0iy{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.modal__features-toggle.svelte-und0iy{font-family:inherit;font-size:inherit;font-weight:700;line-height:inherit;color:var(--color-text);text-underline-offset:3px;transition:color var(--transition-fast), var(--transition-theme);margin-left:.375rem;padding:.625rem .375rem;text-decoration:underline;text-decoration-thickness:2px;display:inline}.modal__features-toggle.svelte-und0iy:hover{color:var(--color-text-secondary)}.modal__features-toggle.svelte-und0iy:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.modal__features.svelte-und0iy{display:none}.modal__features-title.svelte-und0iy,.modal__features-panel-title.svelte-und0iy{letter-spacing:-.01em;color:var(--color-text);margin-bottom:var(--space-sm);transition:var(--transition-theme);font-size:1.125rem;font-weight:700}.modal__features-list.svelte-und0iy{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.modal__features-list.svelte-und0iy li:where(.svelte-und0iy){color:var(--color-text-secondary);transition:var(--transition-theme);padding-left:1.125rem;font-size:1rem;line-height:1.5;position:relative}.modal__features-list.svelte-und0iy li:where(.svelte-und0iy):before{content:"";background-color:var(--color-text);width:6px;height:6px;transition:var(--transition-theme);position:absolute;top:.55em;left:0}.modal__features-popover.svelte-und0iy{z-index:30;padding:var(--space-lg);-webkit-backdrop-filter:blur(3px);background-color:#0009;justify-content:center;align-items:center;animation:.18s svelte-und0iy-features-fade;display:flex;position:absolute;inset:0}.modal__features-panel.svelte-und0iy{width:100%;max-width:420px;max-height:80%;padding:var(--space-lg);background-color:var(--color-bg);border:2px solid var(--color-border);box-shadow:var(--shadow-xl);transition:var(--transition-theme);animation:.22s cubic-bezier(.4,0,.2,1) svelte-und0iy-features-pop;overflow-y:auto}.modal__features-panel-header.svelte-und0iy{justify-content:space-between;align-items:flex-start;gap:var(--space-md);display:flex}.modal__features-panel-header.svelte-und0iy .modal__features-panel-title:where(.svelte-und0iy){margin-bottom:0}.modal__features-close.svelte-und0iy{width:36px;height:36px;color:var(--color-text);background-color:var(--color-card-bg);transition:background-color var(--transition-fast), transform var(--transition-fast), var(--transition-theme);flex:none;justify-content:center;align-items:center;margin:-.25rem -.25rem 0 0;display:flex}.modal__features-close.svelte-und0iy svg:where(.svelte-und0iy){width:18px;height:18px}.modal__features-close.svelte-und0iy:hover{background-color:var(--color-hover);transform:rotate(90deg)}@keyframes svelte-und0iy-features-fade{0%{opacity:0}to{opacity:1}}@keyframes svelte-und0iy-features-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (width>=800px){.modal__features-toggle.svelte-und0iy,.modal__features-popover.svelte-und0iy{display:none}.modal__features.svelte-und0iy{display:block}.modal__details--side-by-side.svelte-und0iy{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.modal__footer.svelte-und0iy{align-items:center;gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.modal__footer.svelte-und0iy .modal__devices:where(.svelte-und0iy){grid-column:1;justify-self:start}.modal__footer.svelte-und0iy .modal__links:where(.svelte-und0iy){grid-column:2;justify-self:end}.modal__devices.svelte-und0iy{border:2px solid var(--color-border);transition:var(--transition-theme);gap:.25rem;padding:.25rem;display:inline-flex}.modal__device.svelte-und0iy{letter-spacing:.02em;color:var(--color-text-secondary);transition:var(--transition-theme), color var(--transition-fast), background-color var(--transition-fast);background-color:#0000;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;display:inline-flex}.modal__device.svelte-und0iy svg:where(.svelte-und0iy){width:18px;height:18px}.modal__device.svelte-und0iy:hover{color:var(--color-text)}.modal__device--active.svelte-und0iy{color:var(--color-bg);background-color:var(--color-text)}.modal__device--active.svelte-und0iy:hover{color:var(--color-bg)}.modal__device.svelte-und0iy:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.modal__links.svelte-und0iy{gap:var(--space-sm);flex-wrap:wrap;display:flex}.modal__link.svelte-und0iy{transition:border-color var(--transition-fast), var(--transition-theme);border:2px solid #0000;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.modal__link.svelte-und0iy:hover{border-color:var(--color-border)}.modal__link.svelte-und0iy svg:where(.svelte-und0iy){width:16px;height:16px}.modal__link--primary.svelte-und0iy{background-color:var(--color-text);color:var(--color-bg)}.modal__nav.svelte-und0iy{z-index:1001;background-color:var(--color-card-bg);border:2px solid var(--color-border);width:48px;height:48px;color:var(--color-text);cursor:pointer;transition:transform var(--transition-fast), opacity var(--transition-fast), var(--transition-theme);justify-content:center;align-items:center;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.modal__nav.svelte-und0iy:hover{background-color:var(--color-hover)}.modal__nav.svelte-und0iy:disabled{opacity:.3;pointer-events:none}.modal__nav.svelte-und0iy svg:where(.svelte-und0iy){width:24px;height:24px}.modal__nav--prev.svelte-und0iy{left:var(--space-lg)}.modal__nav--next.svelte-und0iy{right:var(--space-lg)}@media (width<=1200px){.modal__nav.svelte-und0iy{display:none}}@media (width<=800px){.modal.svelte-und0iy{align-items:stretch;padding:0}.modal__content.svelte-und0iy{perspective:1200px;border:none;border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%;overflow:hidden;transform:translateY(100%)scale(1)}.modal--active.svelte-und0iy .modal__content:where(.svelte-und0iy){transform:translateY(0)scale(1)}.modal__body.svelte-und0iy{flex-direction:column;height:100%;min-height:0;display:flex}.modal__slider.svelte-und0iy{touch-action:none}.modal__close--desktop.svelte-und0iy,.modal__devices.svelte-und0iy{display:none}.modal__swipe-indicator.svelte-und0iy,.modal__swipe-hints.svelte-und0iy{display:block}.modal__swipe-tour.svelte-und0iy{display:flex}.modal__media.svelte-und0iy{flex:auto;width:100%;max-width:100%;min-height:0}.modal__image.svelte-und0iy{object-fit:contain}.modal__info.svelte-und0iy{min-width:0;padding:var(--space-md);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));flex:none}.modal__title.svelte-und0iy{margin-bottom:var(--space-xs);font-size:1.5rem}.modal__description.svelte-und0iy{margin-bottom:0;font-size:.9375rem;line-height:1.6}.modal__details.svelte-und0iy{margin-bottom:var(--space-md)}.modal__back.svelte-und0iy{grid-column:1;display:inline-flex}.modal__footer.svelte-und0iy{grid-template-columns:1fr 2fr;align-items:stretch}.modal__footer.svelte-und0iy .modal__links:where(.svelte-und0iy){grid-column:2;justify-self:stretch}.modal__link.svelte-und0iy{flex:auto;justify-content:center;padding:.75rem 1.5rem;font-size:.8125rem}}@media (width>=800px) and (prefers-reduced-motion:no-preference){.modal__media--current.svelte-und0iy{view-transition-name:modal-media}::view-transition-group(modal-media){animation-duration:.26s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(modal-media){animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-new(modal-media){animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,.2,1)}}@media (prefers-reduced-motion:reduce){.modal.svelte-und0iy,.modal__content.svelte-und0iy,.modal__close.svelte-und0iy,.modal__nav.svelte-und0iy,.modal__device.svelte-und0iy,.modal__swipe-tour.svelte-und0iy,.modal__video-overlay.svelte-und0iy{transition:none}.modal__close.svelte-und0iy:hover,.modal__nav.svelte-und0iy:hover{transform:none}.modal__swipe-handle.svelte-und0iy,.modal__swipe-tour-hand.svelte-und0iy,.modal__swipe-tour-arrow.svelte-und0iy,.modal__features-popover.svelte-und0iy,.modal__features-panel.svelte-und0iy{animation:none}.modal__features-close.svelte-und0iy:hover{transform:none}}.hero.svelte-1uha8ag{padding:var(--space-3xl) 0 var(--space-2xl)}.hero__container.svelte-1uha8ag{max-width:var(--max-width);padding:0 var(--space-md);margin:0 auto}@media (width>=640px){.hero__container.svelte-1uha8ag{padding:0 var(--space-lg)}}.hero__site-title.svelte-1uha8ag{display:none}.hero__site-title-subtitle.svelte-1uha8ag{color:var(--color-text-secondary);transition:var(--transition-theme)}@media (width<=1099px){.hero.svelte-1uha8ag{padding-top:var(--space-lg)}.hero__site-title.svelte-1uha8ag{margin-bottom:var(--space-xl);font-family:var(--font-wordmark);letter-spacing:-.04em;text-transform:uppercase;font-size:clamp(1.125rem,5vw,1.5rem);font-weight:400;line-height:1;display:block}}.hero__title.svelte-1uha8ag{letter-spacing:-.03em;margin-bottom:var(--space-md);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;line-height:1.1}.hero__title-main.svelte-1uha8ag{font-size:1.3em}.hero__subtitle.svelte-1uha8ag{font-family:var(--font-body);color:var(--color-text-secondary);transition:var(--transition-theme)}.hero__description.svelte-1uha8ag{color:var(--color-text-secondary);max-width:600px;transition:var(--transition-theme);font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.7}.hero__description--tagline.svelte-1uha8ag{max-width:none;margin-bottom:var(--space-lg)}@media (width>=600px){.hero__description--tagline.svelte-1uha8ag{white-space:nowrap}}.hero__author-link.svelte-1uha8ag{align-items:center;gap:var(--space-xs);margin-top:var(--space-lg);color:var(--color-bg);background-color:var(--color-text);transition:border-color var(--transition-fast), var(--transition-theme);border:2px solid #0000;padding:.875rem 1.25rem;font-weight:600;display:inline-flex}.hero__author-link.svelte-1uha8ag svg:where(.svelte-1uha8ag){width:1.125rem;height:1.125rem}.hero__author-link.svelte-1uha8ag:hover{border-color:var(--color-border)}.hero__author-link.svelte-1uha8ag:focus-visible{outline:2px solid var(--color-text);outline-offset:3px}.projects-section.svelte-1uha8ag{padding:var(--space-2xl) 0}.projects-section__header.svelte-1uha8ag{max-width:var(--max-width);padding:0 var(--space-md) var(--space-xl);text-align:center;margin:0 auto}@media (width>=640px){.projects-section__header.svelte-1uha8ag{padding:0 var(--space-lg) var(--space-xl)}}.projects-section__title.svelte-1uha8ag{margin-bottom:var(--space-xs);letter-spacing:-.02em;font-size:2rem;font-weight:700}.projects-section__subtitle.svelte-1uha8ag{color:var(--color-text-secondary);transition:var(--transition-theme);font-size:1.125rem}.keyboard-shortcuts.svelte-1uha8ag{margin-top:var(--space-md);text-align:left;justify-content:center;align-items:stretch;display:flex}.keyboard-shortcuts__group.svelte-1uha8ag{transition:var(--transition-theme);flex-direction:column;display:flex}.keyboard-shortcuts__group--divider.svelte-1uha8ag{margin-left:var(--space-lg);padding-left:var(--space-lg);border-left:1px solid var(--color-border)}.keyboard-shortcuts__title.svelte-1uha8ag{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);opacity:.8;transition:var(--transition-theme);margin-bottom:.25rem;padding-left:.5rem;font-size:.6875rem;font-weight:600}.keyboard-shortcut-row.svelte-1uha8ag{align-items:center;gap:var(--space-sm);grid-template-columns:4.875rem auto;display:grid}.keyboard-shortcut.svelte-1uha8ag{color:var(--color-text-secondary);transition:var(--transition-theme);align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.625rem;display:flex}.keyboard-shortcut-label.svelte-1uha8ag{color:var(--color-text-secondary);opacity:.8;transition:var(--transition-theme);font-size:.75rem}@media (width<=800px){.keyboard-shortcuts.svelte-1uha8ag{display:none}}.kbd.svelte-1uha8ag{min-width:1.25rem;color:var(--color-text-secondary);background-color:var(--color-card-bg);border:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-border), inset 0 1px 0 color-mix(in srgb, var(--color-bg) 50%, transparent);transition:var(--transition-theme);border-radius:4px;justify-content:center;align-items:center;padding:.125rem .375rem;font-family:inherit;font-size:.625rem;font-weight:500;line-height:1;display:inline-flex}.keyboard-shortcut__plus.svelte-1uha8ag{color:var(--color-text-secondary);opacity:.6;transition:var(--transition-theme);font-size:.625rem}.kbd-enter.svelte-1uha8ag{min-width:2.5rem;padding:.25rem .8rem}.footer.svelte-1uha8ag{border-top:1px solid var(--color-border);padding:var(--space-xl) 0;background-color:var(--color-bg);z-index:1;transition:var(--transition-theme);position:relative}.footer__container.svelte-1uha8ag{max-width:var(--max-width);padding:0 var(--space-md);align-items:center;gap:var(--space-md);grid-template-columns:56px minmax(0,1fr) 56px;margin:0 auto;display:grid}@media (width>=640px){.footer__container.svelte-1uha8ag{padding:0 var(--space-lg)}}.footer__text.svelte-1uha8ag{color:var(--color-text-secondary);text-align:center;transition:var(--transition-theme);grid-column:2;justify-self:center;font-size:.875rem}.footer__social.svelte-1uha8ag{grid-column:3;justify-self:end;display:flex}
