.btn.svelte-1klcfz0{font-family:var(--font-family);font-weight:var(--font-weight-normal);text-align:center;white-space:nowrap;border-radius:var(--border-radius);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;text-decoration:none;transition:all .2s;display:inline-flex;position:relative}.btn.svelte-1klcfz0:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn--xs.svelte-1klcfz0{font-size:var(--font-size-xs);min-height:1.5rem;padding:.25rem .5rem}.btn--sm.svelte-1klcfz0{font-size:calc(var(--font-size-xs) * 1.2);min-height:2rem;padding:.375rem .75rem}.btn--md.svelte-1klcfz0{font-size:var(--font-size-sm);min-height:2.5rem;padding:.5rem 1rem}.btn--lg.svelte-1klcfz0{font-size:calc(var(--font-size-sm) * 1.125);min-height:3rem;padding:.75rem 1.5rem}.btn--xl.svelte-1klcfz0{font-size:calc(var(--font-size-sm) * 1.25);min-height:3.5rem;padding:1rem 2rem}.btn--primary.svelte-1klcfz0{background-color:var(--color-primary);color:var(--color-background);border-color:var(--color-primary)}.btn--primary.svelte-1klcfz0:hover:not(.btn--disabled):not(.btn--loading){background-color:color-mix(in srgb, var(--color-primary) 90%, white);border-color:color-mix(in srgb, var(--color-primary) 90%, white)}.btn--primary.svelte-1klcfz0:active:not(.btn--disabled):not(.btn--loading){background-color:color-mix(in srgb, var(--color-primary) 80%, black);border-color:color-mix(in srgb, var(--color-primary) 80%, black);transform:translateY(1px)}.btn--secondary.svelte-1klcfz0{background-color:var(--color-secondary);color:var(--color-background);border-color:var(--color-secondary)}.btn--secondary.svelte-1klcfz0:hover:not(.btn--disabled):not(.btn--loading){background-color:color-mix(in srgb, var(--color-secondary) 90%, white);border-color:color-mix(in srgb, var(--color-secondary) 90%, white)}.btn--secondary.svelte-1klcfz0:active:not(.btn--disabled):not(.btn--loading){background-color:color-mix(in srgb, var(--color-secondary) 80%, black);border-color:color-mix(in srgb, var(--color-secondary) 80%, black);transform:translateY(1px)}.btn--outline.svelte-1klcfz0{color:var(--color-primary);border-color:var(--color-primary);background-color:#0000}.btn--outline.svelte-1klcfz0:hover:not(.btn--disabled):not(.btn--loading){background-color:var(--color-primary);color:var(--color-background)}.btn--outline.svelte-1klcfz0:active:not(.btn--disabled):not(.btn--loading){background-color:color-mix(in srgb, var(--color-primary) 90%, black);border-color:color-mix(in srgb, var(--color-primary) 90%, black);transform:translateY(1px)}.btn--ghost.svelte-1klcfz0{color:var(--color-text);background-color:#0000;border-color:#0000}.btn--ghost.svelte-1klcfz0:hover:not(.btn--disabled):not(.btn--loading){background-color:color-mix(in srgb, var(--color-secondary) 10%, transparent);color:var(--color-primary)}.btn--ghost.svelte-1klcfz0:active:not(.btn--disabled):not(.btn--loading){background-color:color-mix(in srgb, var(--color-secondary) 15%, transparent);transform:translateY(1px)}.btn--link.svelte-1klcfz0{color:var(--color-link);background-color:#0000;border-color:#0000;border-radius:0;min-height:auto;padding:0}.btn--link.svelte-1klcfz0:hover:not(.btn--disabled):not(.btn--loading){color:var(--color-text);text-decoration:underline}.btn--link.svelte-1klcfz0:active:not(.btn--disabled):not(.btn--loading){color:color-mix(in srgb, var(--color-link) 80%, black)}.btn--disabled.svelte-1klcfz0{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--loading.svelte-1klcfz0{cursor:wait;pointer-events:none}.btn--full-width.svelte-1klcfz0{width:100%}.btn__content.svelte-1klcfz0{align-items:center;gap:.5rem;transition:opacity .2s;display:flex}.btn__content--hidden.svelte-1klcfz0{opacity:0}.btn__spinner.svelte-1klcfz0{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite svelte-1klcfz0-spin;position:absolute}@keyframes svelte-1klcfz0-spin{to{transform:rotate(360deg)}}@media (width<=600px){.btn--lg.svelte-1klcfz0{min-height:2.75rem;padding:.625rem 1.25rem}.btn--xl.svelte-1klcfz0{min-height:3rem;padding:.75rem 1.5rem}}.programming-container.svelte-2d3e99{border:1px solid var(--color-secondary);border-radius:var(--border-radius);background:color-mix(in srgb, var(--color-background) 95%, var(--color-secondary));margin:1.5rem 0;padding:1rem}.categories-grid.svelte-2d3e99{grid-template-columns:1fr;gap:1.25rem;display:grid}.category-section.svelte-2d3e99{flex-direction:column;gap:.75rem;display:flex}.category-title.svelte-2d3e99{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-primary);border-bottom:2px solid color-mix(in srgb, var(--color-primary) 30%, transparent);margin:0;padding-bottom:.375rem}.skills-list.svelte-2d3e99{grid-template-columns:1fr;gap:.5rem;display:grid}.skill-item.svelte-2d3e99{flex-direction:column;gap:.25rem;display:flex}.skill-header.svelte-2d3e99{font-size:var(--font-size-sm);align-items:center;gap:.5rem;display:flex}.skill-icon.svelte-2d3e99{text-align:center;width:1rem;font-size:1rem;line-height:1}.skill-name.svelte-2d3e99{font-weight:var(--font-weight-medium);color:var(--color-text);flex:1;font-size:.9rem}.skill-level.svelte-2d3e99{font-size:.75rem;font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:.05em;opacity:.9}.skill-bar.svelte-2d3e99{background-color:color-mix(in srgb, var(--color-secondary) 25%, transparent);border-radius:1px;height:2px;overflow:hidden}.skill-progress.svelte-2d3e99{border-radius:1px;height:100%}@media (width>=600px){.skills-list.svelte-2d3e99{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media (width>=900px){.programming-container.svelte-2d3e99{margin:2rem 0;padding:1.5rem}.categories-grid.svelte-2d3e99{grid-template-columns:repeat(2,1fr);gap:1.75rem}.skills-list.svelte-2d3e99{grid-template-columns:1fr}}@media (width>=1200px){.categories-grid.svelte-2d3e99{grid-template-columns:repeat(3,1fr);gap:2rem}}.languages-container.svelte-1g3z5ju{border:1px solid var(--color-secondary);border-radius:var(--border-radius);background:color-mix(in srgb, var(--color-background) 95%, var(--color-secondary));margin:2rem 0;padding:1.5rem}.languages-grid.svelte-1g3z5ju{flex-direction:column;gap:1.5rem;display:flex}.language-item.svelte-1g3z5ju{flex-direction:column;gap:.5rem;display:flex}.language-header.svelte-1g3z5ju{font-size:var(--font-size-sm);align-items:center;gap:.75rem;display:flex}.language-flag.svelte-1g3z5ju{font-size:1.2em;line-height:1}.language-name.svelte-1g3z5ju{font-weight:var(--font-weight-bold);color:var(--color-text);flex:1}.language-level.svelte-1g3z5ju{font-size:.875rem;font-weight:var(--font-weight-normal);text-transform:uppercase;letter-spacing:.05em}.language-bar.svelte-1g3z5ju{background-color:color-mix(in srgb, var(--color-secondary) 30%, transparent);border-radius:2px;height:4px;overflow:hidden}.language-progress.svelte-1g3z5ju{border-radius:2px;height:100%;transition:width .6s ease-out}@media (width>=600px){.languages-grid.svelte-1g3z5ju{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}}@media (width>=900px){.languages-container.svelte-1g3z5ju{margin:2.5rem 0;padding:2rem}.languages-grid.svelte-1g3z5ju{grid-template-columns:repeat(3,1fr)}}.dynamic-content.svelte-v372b9 .component-placeholder{min-height:2rem;margin:1rem 0}.dynamic-content.svelte-v372b9 .component-error{color:#ff6b6b;text-align:center;background:#ff6b6b1a;border:1px solid #ff6b6b;border-radius:.5rem;padding:1rem}.dynamic-content.svelte-v372b9 .dynamic-component{margin:1rem 0}.social-links.svelte-18lv2yx{pointer-events:auto;background:0 0;flex-direction:row;gap:1.2rem;display:flex}.social-links.inline.svelte-18lv2yx{gap:var(--space-md);flex-flow:wrap;position:static}.social-links.inline.svelte-18lv2yx a:where(.svelte-18lv2yx){-webkit-backdrop-filter:none;backdrop-filter:none;opacity:.7;background-color:#0000;width:auto;height:auto}.social-links.inline.svelte-18lv2yx a:where(.svelte-18lv2yx):hover{opacity:1;background-color:#0000;transform:none}.social-links.svelte-18lv2yx a:where(.svelte-18lv2yx){color:var(--color-primary);opacity:.8;background-color:var(--color-background);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;transition:all .2s;display:flex}.social-links.svelte-18lv2yx a:where(.svelte-18lv2yx):hover{opacity:1;background-color:#ffffff40;transform:scale(1.1);color:var(--color-link)!important}@media (width<=900px){.social-links.svelte-18lv2yx:not(.inline){gap:.9rem}}.footer.svelte-1sr6y3t{border-top:1px solid var(--color-secondary);width:100%;padding-block:var(--space-md);margin-top:var(--space-2xl)}.inner.svelte-1sr6y3t{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.brand.svelte-1sr6y3t{align-items:center;gap:var(--space-2xs);white-space:nowrap;margin:0;font-size:.8rem;display:flex}.name.svelte-1sr6y3t{color:var(--color-primary);text-transform:uppercase;letter-spacing:.12em}.sep.svelte-1sr6y3t,.meta.svelte-1sr6y3t{color:var(--color-text);opacity:.6}@media (width<=600px){.inner.svelte-1sr6y3t{align-items:flex-start;gap:var(--space-sm);flex-direction:column}}.gallery-name.svelte-1ocen1q{font-size:calc(var(--font-size-md) * .72);font-weight:var(--font-weight-light);margin:0 0 var(--space-md);color:var(--color-text);text-transform:uppercase;align-items:center;display:flex}.gallery-name.svelte-1ocen1q:after{content:"";background-color:var(--color-secondary);height:1px;margin-left:var(--space-sm);flex:1}.gallery-section.svelte-1ocen1q{gap:var(--space-md);margin:0 0 var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:flex-start;display:grid}.gallery-section.svelte-1ocen1q a:where(.svelte-1ocen1q){display:block;position:relative}.gallery-section.svelte-1ocen1q a:where(.svelte-1ocen1q):last-child{align-self:flex-start}.gallery-section.svelte-1ocen1q a:where(.svelte-1ocen1q):before{content:"";background:var(--gallery-mix-expression);mix-blend-mode:hue;z-index:10;width:100%;padding:.5rem;transition:all .2s ease-in-out;display:block;position:absolute;inset:0}.gallery-section.svelte-1ocen1q a:where(.svelte-1ocen1q):hover:before{background:0 0}.gallery-section.svelte-1ocen1q img:where(.svelte-1ocen1q){border-radius:var(--border-radius);border:1px solid var(--color-primary);padding:var(--gallery-img-padding);aspect-ratio:16/10;object-fit:cover;filter:drop-shadow(8px 8px .5rem #0000001a);width:100%;height:100%;margin:0;display:block}@media (width<=900px){.gallery-section.svelte-1ocen1q{grid-template-columns:1fr}.gallery-section.svelte-1ocen1q a:where(.svelte-1ocen1q):before{background:0 0}.gallery-section.svelte-1ocen1q img:where(.svelte-1ocen1q){padding:0}}.trail.svelte-17mo9ok{min-width:0;max-width:min(60vw,40rem)}ol.svelte-17mo9ok{justify-content:center;align-items:center;gap:var(--space-2xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-light);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-wrap:nowrap;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}li.svelte-17mo9ok{align-items:center;gap:var(--space-2xs);min-width:0;display:flex}.sep.svelte-17mo9ok{color:var(--color-secondary)}.current.svelte-17mo9ok{color:var(--color-primary);text-overflow:ellipsis;overflow:hidden}a.svelte-17mo9ok{color:var(--color-text);opacity:.7;transition:opacity .2s,color .2s}a.svelte-17mo9ok:hover{opacity:1;color:var(--color-link)!important}@media (width<=600px){li.svelte-17mo9ok:not(.current){display:none}}main.svelte-vnyxcj{z-index:1;flex-direction:column;align-items:center;width:100%;display:flex}.scene.svelte-vnyxcj{width:100vw;height:100vh;position:fixed;top:0;left:0}.chrome.svelte-vnyxcj{z-index:30;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);pointer-events:none;grid-template-columns:1fr auto 1fr;display:grid;position:fixed;top:0;left:0;right:0}.chrome.svelte-vnyxcj>:where(.svelte-vnyxcj){pointer-events:auto}.chrome.svelte-vnyxcj:before{content:"";background:color-mix(in srgb, var(--color-background) 45%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-secondary) 70%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;z-index:-1;position:absolute;inset:0}.chrome-left.svelte-vnyxcj{justify-self:start;align-items:center;display:flex}.chrome-center.svelte-vnyxcj{justify-content:center;align-items:center;min-width:0;display:flex}.chrome-right.svelte-vnyxcj{justify-self:end;align-items:center;display:flex}.hero.svelte-vnyxcj{z-index:5;width:100%;min-height:100vh;padding-bottom:calc(var(--space-lg) + 4.5rem);text-align:center;flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:relative}.hero-inner.svelte-vnyxcj{z-index:1;align-items:center;gap:var(--space-2xs);flex-direction:column;display:flex;position:relative}.hero-title.svelte-vnyxcj{color:inherit;display:block}.hero-title.svelte-vnyxcj:hover .heading:where(.svelte-vnyxcj){color:var(--color-link)}.heading.svelte-vnyxcj{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-light);text-transform:uppercase;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;margin:0;line-height:1.05;transition:color .2s}.hero-links.svelte-vnyxcj{bottom:var(--space-lg);z-index:6;position:absolute;left:50%;transform:translate(-50%)}.content.svelte-vnyxcj{border-top:1px solid var(--color-secondary);background:color-mix(in srgb, var(--color-background) 88%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:5;width:100%;min-height:60vh;padding-top:var(--space-2xl);flex-direction:column;align-items:center;display:flex;position:relative}.prose.svelte-vnyxcj{max-width:var(--measure);color:var(--color-text);margin-inline:auto}.gallery.svelte-vnyxcj{width:100%;margin-top:var(--space-2xl)}.editor-mode.svelte-vnyxcj{justify-content:stretch;align-items:stretch;width:100vw;height:100vh;display:flex}.editor-mode.svelte-vnyxcj>div{flex-grow:1}@media (width<=900px){.chrome.svelte-vnyxcj{padding:var(--space-sm) var(--space-md)}.content.svelte-vnyxcj{padding-top:var(--space-xl)}}@media (width<=440px){.heading.svelte-vnyxcj{font-size:var(--font-size-md)}}
