.site-nav.svelte-fkvc1s{z-index:30;color:#fff;--glass-tint:color-mix(in srgb, var(--brand) 62%, transparent);--glass-blur:6px;border-radius:0;width:100%;height:4rem;padding:0;position:fixed;top:0}.nav-inner.svelte-fkvc1s{grid-template-columns:1fr auto 1fr;align-items:center;width:min(100% - 2rem,1170px);height:100%;margin:0 auto;display:grid}.brand.svelte-fkvc1s{color:inherit;white-space:nowrap;justify-self:start;align-items:center;gap:.6rem;font-size:1.2rem;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark.svelte-fkvc1s{border:1px solid #ffffff8c;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid;overflow:hidden;box-shadow:0 0 0 3px #ffffff17}.brand-mark.svelte-fkvc1s img{-o-object-fit:contain;object-fit:contain;width:1.35rem;height:1.35rem}.nav-links.svelte-fkvc1s{justify-content:center;align-items:center;gap:.35rem;display:flex}.nav-links.svelte-fkvc1s a:where(.svelte-fkvc1s){color:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;min-height:2.5rem;padding:0 1.1rem;font-size:.95rem;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.nav-links.svelte-fkvc1s a:where(.svelte-fkvc1s):hover,.nav-links.svelte-fkvc1s a:where(.svelte-fkvc1s):not(.active):focus-visible{color:#fff;background:#ffffff21}.nav-links.svelte-fkvc1s a.active:where(.svelte-fkvc1s){color:var(--brand);background:#fff;box-shadow:0 2px 6px #2d145b2e}.nav-links.svelte-fkvc1s .menu-resume-link:where(.svelte-fkvc1s){display:none}.nav-actions.svelte-fkvc1s{justify-self:end;align-items:center;gap:.65rem;display:flex}.resume-link.svelte-fkvc1s{color:#fff;background:#ffffff1a;border:1px solid #ffffff73;border-radius:999px;align-items:center;gap:.45rem;min-height:2rem;padding:0 .85rem;font-size:.85rem;text-decoration:none;transition:background-color .15s;display:inline-flex}.resume-link.svelte-fkvc1s:hover{background:#fff3}.resume-link.svelte-fkvc1s svg:where(.svelte-fkvc1s){stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:.95rem;height:.95rem}.theme-toggle.svelte-fkvc1s,.menu-toggle.svelte-fkvc1s{color:#272033;cursor:pointer;background:#fff;border:1px solid #ffffff80;border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;padding:0;transition:transform .15s,background-color .15s;display:grid}.theme-toggle.svelte-fkvc1s:hover,.menu-toggle.svelte-fkvc1s:hover{background:#f3edff;transform:translateY(-1px)}.theme-toggle.svelte-fkvc1s svg:where(.svelte-fkvc1s),.menu-toggle.svelte-fkvc1s svg:where(.svelte-fkvc1s){stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:1.15rem;height:1.15rem}.menu-toggle.svelte-fkvc1s{display:none}.theme-toggle.svelte-fkvc1s:focus-visible,.menu-toggle.svelte-fkvc1s:focus-visible,.resume-link.svelte-fkvc1s:focus-visible,.brand.svelte-fkvc1s:focus-visible,.nav-links.svelte-fkvc1s a:where(.svelte-fkvc1s):focus-visible{outline-offset:3px;outline:3px solid #fde68a}@media (width<=760px){.nav-inner.svelte-fkvc1s{grid-template-columns:1fr auto;width:calc(100% - 1.5rem)}.brand.svelte-fkvc1s{font-size:1.05rem}.nav-links.svelte-fkvc1s{background:var(--brand);border-radius:0 0 .75rem .75rem;align-items:stretch;padding:.5rem;display:none;position:absolute;top:4rem;left:0;right:0;box-shadow:0 8px 16px #2d145b38}.nav-links.open.svelte-fkvc1s{flex-direction:column;display:flex}.nav-links.svelte-fkvc1s a:where(.svelte-fkvc1s){justify-content:flex-start;padding:0 1rem}.nav-actions.svelte-fkvc1s{gap:.5rem}.resume-link.svelte-fkvc1s{display:none}.nav-links.svelte-fkvc1s .menu-resume-link:where(.svelte-fkvc1s){display:inline-flex}.menu-toggle.svelte-fkvc1s{display:grid}}@media (width<=360px){.nav-inner.svelte-fkvc1s{width:calc(100% - 1rem)}.brand-name.svelte-fkvc1s{display:none}.nav-actions.svelte-fkvc1s{gap:.35rem}.theme-toggle.svelte-fkvc1s,.menu-toggle.svelte-fkvc1s{width:2rem;height:2rem}}.card.svelte-2gevwt{box-sizing:border-box;isolation:isolate;border:1px solid color-mix(in srgb, var(--text-primary) 14%, transparent);background:radial-gradient(120% 90% at 0% 0%, #ffffff7a, transparent 58%), linear-gradient(145deg, color-mix(in srgb, var(--surface) 66%, transparent), color-mix(in srgb, var(--surface) 38%, transparent) 52%, color-mix(in srgb, var(--surface) 54%, transparent));-webkit-backdrop-filter:blur(24px)saturate(180%);border-radius:24px;justify-content:center;margin:2rem auto;position:relative;box-shadow:0 18px 48px #00000029,inset 0 1px #ffffffb8,inset 0 -1px #ffffff2e}.card.svelte-2gevwt:before{content:"";opacity:.5;border:2px solid var(--border);pointer-events:none;mix-blend-mode:overlay;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.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:250px;border-radius:24px;width:100%;height:100%;position:absolute;top:0;left:0}.dialog.svelte-1ayz0dr:not([open]):not(:popover-open){display:none}.image-dialog.svelte-1ayz0dr{height:min(90dvh,900px);min-height:0;padding:2rem}.image-dialog.svelte-1ayz0dr .dialog-body:where(.svelte-1ayz0dr){place-items:center;display:grid;overflow:hidden}.image-dialog.svelte-1ayz0dr .dialog-body:where(.svelte-1ayz0dr) img{-o-object-fit:contain;object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(90dvh - 4rem);display:block}dialog.svelte-1ayz0dr{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--text-primary) 14%, transparent);background:radial-gradient(120% 90% at 0% 0%, #ffffff80, transparent 58%), linear-gradient(145deg, color-mix(in srgb, var(--surface) 72%, transparent), color-mix(in srgb, var(--surface) 52%, transparent) 52%, color-mix(in srgb, var(--surface) 64%, transparent));-webkit-backdrop-filter:blur(28px)saturate(185%);interpolate-size:allow-keywords;transition-behavior:allow-discrete;border-radius:24px;grid-template-rows:auto minmax(0,1fr) auto;width:min(1260px,100vw - 2rem);min-height:80vh;max-height:calc(100vh - 2rem);margin:auto;padding:4rem;transition:content-visibility .75s ease-in-out,height .75s ease-in-out;display:grid;position:fixed;inset:0;overflow:hidden;box-shadow:0 24px 72px #0000003d,inset 0 1px #ffffffc7,inset 0 -1px #fff3}dialog.svelte-1ayz0dr:before{content:"";opacity:.45;pointer-events:none;border:1px solid #fff;border-radius:24px;width:100%;height:100%;position:absolute;top:0;left:0}dialog.svelte-1ayz0dr::backdrop{-webkit-backdrop-filter:blur(14px)saturate(140%);background-color:#14181e3d}.dialog-header.svelte-1ayz0dr{justify-content:space-between;align-items:flex-start;padding-right:3.5rem;display:flex}.dialog-header.svelte-1ayz0dr h2:where(.svelte-1ayz0dr),.dialog-header.svelte-1ayz0dr p:where(.svelte-1ayz0dr),.dialog-footer.svelte-1ayz0dr p:where(.svelte-1ayz0dr){margin:0}.dialog-header.svelte-1ayz0dr h2:where(.svelte-1ayz0dr){color:var(--text-primary);font-size:1.5rem;font-weight:700}.dialog-header.svelte-1ayz0dr p:where(.svelte-1ayz0dr){color:var(--text-secondary);margin-top:.25rem}.dialog-body.svelte-1ayz0dr{min-height:0;padding:0;overflow:auto}.dialog-footer.svelte-1ayz0dr{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.footer-buttons.svelte-1ayz0dr{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.footer-button.svelte-1ayz0dr{border:1px solid color-mix(in srgb, var(--text-primary) 16%, transparent);background:color-mix(in srgb, var(--surface) 62%, transparent);-webkit-backdrop-filter:blur(12px)saturate(160%);color:var(--text-primary);cursor:pointer;font:inherit;border-radius:999px;padding:.5rem 1rem;box-shadow:inset 0 1px #fff9}.footer-button.svelte-1ayz0dr:hover:not(:disabled){background:var(--button-default-hover-background);border-color:var(--button-default-hover-border)}.footer-button.svelte-1ayz0dr:disabled{cursor:not-allowed;opacity:.55}.close-button.svelte-1ayz0dr{z-index:1;border:1px solid color-mix(in srgb, var(--text-primary) 16%, transparent);background:color-mix(in srgb, var(--surface) 62%, transparent);-webkit-backdrop-filter:blur(12px)saturate(160%);width:2.5rem;height:2.5rem;color:var(--text-primary);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:1rem;right:1rem;box-shadow:inset 0 1px #ffffffa6}.close-button.svelte-1ayz0dr:hover{background:var(--button-default-hover-background);border-color:var(--button-default-hover-border)}.close-button.svelte-1ayz0dr:focus-visible,.footer-button.svelte-1ayz0dr:focus-visible{outline:3px solid color-mix(in srgb, var(--focus-ring) 35%, transparent);outline-offset:2px}.close-button.svelte-1ayz0dr svg:where(.svelte-1ayz0dr){fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:1.25rem;height:1.25rem}@media (width<=640px){.image-dialog.svelte-1ayz0dr{border-radius:0;width:100vw;max-width:100vw;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0;padding:4rem .5rem .5rem}.image-dialog.svelte-1ayz0dr:before{border-radius:0}.image-dialog.svelte-1ayz0dr .dialog-body:where(.svelte-1ayz0dr) img{max-height:calc(100dvh - 5rem)}}
