.card-glass.svelte-1k6ap0{z-index:var(--card-glass-layer,auto);inset:var(--card-surface-inset,0);pointer-events:none;border-radius:.5rem;position:absolute;overflow:hidden}.glass-glint.svelte-1k6ap0{opacity:0;background:linear-gradient(110deg,#0000 25%,#99f6e408 39%,#f0fdfa24 48%,#ffffff38 50%,#99f6e40f 55%,#0000 68%);position:absolute;inset:0}.glass-glint.svelte-1k6ap0:after{content:"";background:linear-gradient(110deg,#0000 35%,#f0fdfa8c,#0000 65%) 0 0/100% 1px no-repeat;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.card-glass.svelte-1k6ap0{display:none}}.project-card.svelte-kmgdky{--card-surface-inset:-1rem;--card-glass-layer:20;isolation:isolate;grid-template-columns:5.5rem minmax(0,1fr);grid-template-areas:"visual heading""copy copy";gap:.5rem 1rem}.project-heading.svelte-kmgdky{grid-area:heading;align-self:center}.project-copy.svelte-kmgdky{grid-area:copy}.project-card.svelte-kmgdky:before{content:"";inset:var(--card-surface-inset);opacity:var(--project-highlight,0);pointer-events:none;background:#1e293b80;border-radius:.5rem;position:absolute;box-shadow:inset 0 1px #94a3b81a}.project-eyebrow.svelte-kmgdky span:where(.svelte-kmgdky){color:#5eead4;padding-inline:.25rem}.project-title.svelte-kmgdky{vertical-align:top;color:var(--project-title-color,#e2e8f0);align-items:center;gap:.45rem;font-size:1.25rem;font-weight:600;line-height:1.35;display:inline-flex}.title-text.svelte-kmgdky{background:linear-gradient(#5eead4, #5eead4) 0 100% / calc(var(--project-emphasis,0) * 100%) 1px no-repeat}.project-title.svelte-kmgdky .project-arrow{color:var(--project-arrow-color,#94a3b8);transform:translate(calc(var(--project-emphasis,0) * 2px), calc(var(--project-emphasis,0) * -2px))}.project-visual.svelte-kmgdky{border:1px solid var(--project-border-color,#94a3b824);width:100%;transform:translateY(calc(var(--project-visual,0) * -2px));border-radius:.4rem;grid-area:visual;align-self:center;overflow:hidden;box-shadow:0 4px 16px #02061726}.project-visual.svelte-kmgdky img:where(.svelte-kmgdky){transform:scale(calc(1 + var(--project-visual,0) * .02))}@media (width<=639px){.project-card.svelte-kmgdky{row-gap:.75rem}.entry-actions.svelte-kmgdky .detail-link:where(.svelte-kmgdky){background-position:0 calc(50% + .65em);min-height:2.75rem}}@media (width>=640px){.project-card.svelte-kmgdky{grid-template-columns:minmax(7rem,1fr) minmax(0,3fr);grid-template-areas:"visual heading""visual copy";gap:.5rem 1.25rem}.project-visual.svelte-kmgdky{align-self:start}}@media (width>=1024px){.project-card.svelte-kmgdky{--card-surface-inset:-1rem -1.5rem}}@media (prefers-reduced-motion:reduce){.project-visual.svelte-kmgdky,.project-visual.svelte-kmgdky img:where(.svelte-kmgdky),.project-title.svelte-kmgdky .project-arrow{transform:none}}.section-heading.svelte-2penap{color:#e2e8f0;font-family:var(--font-detail);font-size:.75rem;line-height:var(--section-label-height);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.85rem;margin-bottom:1.5rem;font-weight:400;display:flex;position:relative}.section-number.svelte-2penap{letter-spacing:0;color:#5eead4;font-size:.65rem}.section-rule.svelte-2penap{background:var(--divider-gradient);height:1px;transition:opacity var(--motion-smooth) ease;opacity:.65;flex:1;margin-left:.25rem}section:hover .section-rule.svelte-2penap,section:focus-within .section-rule.svelte-2penap{opacity:1}.archive-link.svelte-x2d45w{--link-x:3px;--link-color:#e2e8f0;border-bottom:1px solid #5eead44d;align-items:center;gap:.75rem;min-height:2.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.about-copy.svelte-7hpc9t{line-height:1.7}.about-copy.svelte-7hpc9t strong:where(.svelte-7hpc9t){color:#e2e8f0;font-weight:550}.about-copy.svelte-7hpc9t em:where(.svelte-7hpc9t){color:#cbd5e1;background:linear-gradient(#0000 88%,#5eead440 88%);background-size:var(--accent-reveal,100%) 100%;background-repeat:no-repeat;font-style:normal}@media (width>=1024px){.about-section.svelte-7hpc9t{padding-top:calc(var(--section-align-y) - var(--section-label-height) / 2)}}.main-nav.svelte-ocbj1u{margin-top:var(--nav-spacing,3rem)}.main-nav.svelte-ocbj1u a:where(.svelte-ocbj1u){--indicator-scale:.5;--label-offset:-2rem;--indicator-color:#64748b;--indicator-glow:transparent;padding-block:var(--nav-link-padding,.75rem);color:#94a3b8}.nav-indicator.svelte-ocbj1u{background:var(--indicator-color);transform:scaleX(var(--indicator-scale));transform-origin:0;box-shadow:0 0 8px var(--indicator-glow);transition:transform var(--motion-settle) var(--motion-flow), background-color var(--motion-highlight) var(--motion-flow), box-shadow var(--motion-settle) var(--motion-flow)}.nav-text.svelte-ocbj1u{transform:translateX(var(--label-offset));transition:transform var(--motion-settle) var(--motion-flow), color var(--motion-highlight) var(--motion-flow)}.main-nav.svelte-ocbj1u a:where(.svelte-ocbj1u):focus-visible{--indicator-scale:1;--label-offset:0rem;--indicator-color:#cbd5e1;color:#e2e8f0}@media (hover:hover) and (pointer:fine){.main-nav.svelte-ocbj1u a:where(.svelte-ocbj1u):hover{--indicator-scale:1;--label-offset:0rem;--indicator-color:#cbd5e1;color:#e2e8f0}}.main-nav.svelte-ocbj1u a[aria-current=location]:where(.svelte-ocbj1u){--indicator-scale:1;--label-offset:0rem;--indicator-color:#5eead4;--indicator-glow:#5eead433;color:#99f6e4}.social-links.svelte-nbrh1g{align-items:center;gap:.25rem;margin-top:1.5rem;margin-left:-.625rem;display:flex}.social-links.svelte-nbrh1g li:where(.svelte-nbrh1g){flex-shrink:0}.social-link.svelte-nbrh1g{--social-opacity:0;--social-lift:0px;isolation:isolate;outline-offset:3px;width:2.75rem;height:2.75rem;transition:color var(--motion-highlight) var(--motion-flow), transform var(--motion-highlight) var(--motion-flow);border-radius:.625rem;justify-content:center;align-items:center;padding:.625rem;display:inline-flex;position:relative}.social-link.svelte-nbrh1g:before{content:"";z-index:-1;border-radius:inherit;opacity:var(--social-opacity);pointer-events:none;transition:opacity var(--motion-settle) var(--motion-flow);background:linear-gradient(135deg,#5eead414,#94a3b808);border:1px solid #5eead42e;position:absolute;inset:0;box-shadow:inset 0 1px #e2e8f00d}.social-link.svelte-nbrh1g svg:where(.svelte-nbrh1g){flex:none;width:1.5rem;height:1.5rem;display:block}.social-link.svelte-nbrh1g:focus-visible{--social-opacity:1;--social-lift:-1px;color:#5eead4}@media (hover:hover) and (pointer:fine){.social-link.svelte-nbrh1g:hover{--social-opacity:1;--social-lift:-1px;color:#5eead4}}@media (prefers-reduced-motion:no-preference){.social-link.svelte-nbrh1g{transform:translateY(var(--social-lift))}}.portfolio-header.svelte-1elxaub{z-index:1}.header-copy.svelte-1elxaub{min-width:0}.identity-name.svelte-1elxaub{font-size:var(--identity-size);line-height:1.1}.identity-role.svelte-1elxaub{font-family:var(--font-detail);letter-spacing:.02em;color:#99f6e4;align-items:center;gap:.65rem;font-size:.8125rem;line-height:1.5;display:flex}.role-mark.svelte-1elxaub{background:#5eead4;flex-shrink:0;width:1.1rem;height:1px}.role-rule.svelte-1elxaub{background:var(--divider-gradient);opacity:.65;flex:1;min-width:1rem;height:1px;margin-left:.25rem}.header-summary.svelte-1elxaub{font-weight:350}.centerpiece-slot.svelte-1elxaub{position:relative}.scene-control.svelte-1elxaub{--link-color:#94a3b8;min-height:1.75rem;font-size:.75rem;position:absolute;bottom:.25rem;left:.75rem}@media (width>=1024px){.portfolio-header.svelte-1elxaub{height:100svh;padding-block:var(--sidebar-inset);flex-direction:column;align-self:flex-start;display:flex;position:sticky;top:0}.centerpiece-slot.svelte-1elxaub{flex:1;min-height:0;max-height:400px;margin-block:1rem 0}}@media (width>=1024px) and (height<=839px){.portfolio-header.svelte-1elxaub{--nav-spacing:1.5rem;--nav-link-padding:.5rem}.header-summary.svelte-1elxaub{max-width:24rem}}@media (width<=1023px){.portfolio-header.svelte-1elxaub{-moz-column-gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(160px,.7fr);grid-template-areas:"intro scene""social scene";align-items:center;column-gap:1.5rem;display:grid}.header-copy.svelte-1elxaub{grid-area:intro}.header-socials.svelte-1elxaub{grid-area:social}.centerpiece-slot.svelte-1elxaub{aspect-ratio:1;grid-area:scene;place-self:center;width:100%;min-width:0;max-width:15rem}}@media (width<=639px){.portfolio-header.svelte-1elxaub{-moz-column-gap:.5rem;grid-template-columns:max-content minmax(0,1fr);grid-template-areas:"intro intro""social scene";gap:.5rem}.centerpiece-slot.svelte-1elxaub{max-width:7.5rem}.header-socials.svelte-1elxaub .social-links{margin-top:0}}@media (width<=1023px) and (prefers-reduced-motion:no-preference){.centerpiece-slot[data-scene=orbit].svelte-1elxaub canvas{animation:svelte-1elxaub-compact-scene-enter .9s var(--motion-flow) .12s both}}@keyframes svelte-1elxaub-compact-scene-enter{0%{opacity:0}to{opacity:1}}@media (width<=379px),(width<=1023px) and (height<=499px){.portfolio-header.svelte-1elxaub{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro""social";row-gap:1.25rem}.centerpiece-slot.svelte-1elxaub{display:none}.header-socials.svelte-1elxaub .social-links{margin-top:0}}@media (prefers-reduced-motion:reduce){.scene-control.svelte-1elxaub,.centerpiece-slot[data-scene=robot].svelte-1elxaub{display:none}}.timeline-title.svelte-1eg1njl{color:var(--timeline-title-color,#cbd5e1);font-size:1.0625rem;line-height:1.4}.timeline-item.svelte-1eg1njl{--card-surface-inset:-.25rem -.75rem -.25rem .5rem}.timeline-item.svelte-1eg1njl:before{content:"";inset:var(--card-surface-inset);pointer-events:none;opacity:var(--timeline-highlight,0);background:#1e293b80;border-radius:.5rem;position:absolute;box-shadow:inset 0 1px #94a3b81a}.timeline-link.svelte-1eg1njl{min-height:1.5rem;color:inherit;background:linear-gradient(#5eead4, #5eead4) 0 calc(100% - 2px) / calc(var(--timeline-emphasis,0) * 100%) 1px no-repeat;align-items:center;gap:.35rem;display:inline-flex}.timeline-link.svelte-1eg1njl svg{transform:translate(calc(var(--timeline-emphasis,0) * 2px), calc(1px - var(--timeline-emphasis,0) * 2px));transition:none}@media (width<=639px){.timeline-item.svelte-1eg1njl{--card-surface-inset:-.25rem -.75rem -.25rem .25rem;padding-left:.75rem}}@media (width<=359px){.timeline-item-heading.svelte-1eg1njl{flex-direction:column;align-items:flex-start;row-gap:.375rem}}@media (prefers-reduced-motion:reduce){.timeline-link.svelte-1eg1njl svg{transform:translateY(1px)}}@media (width>=1024px){.experience-section.svelte-1ar0d6w{min-height:calc(100svh - var(--section-align-y))}}.role-title.svelte-1ar0d6w{color:var(--timeline-title-color,#e2e8f0);font-size:1.25rem}.timeline-role.svelte-1ar0d6w{--card-surface-inset:-.75rem -1rem;isolation:isolate}.timeline-role.svelte-1ar0d6w:before{content:"";inset:var(--card-surface-inset);z-index:-1;pointer-events:none;opacity:var(--timeline-highlight,0);background:#1e293b80;border-radius:.5rem;position:absolute;box-shadow:inset 0 1px #94a3b81a}.portfolio-footer.svelte-1fk72yb{font-family:var(--font-detail);color:#94a3b8;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-top:1.5rem;font-size:.6875rem;display:flex;position:relative}.footer-rule.svelte-1fk72yb{top:0;background:var(--divider-gradient);height:1px;position:absolute;inset-inline:0}.back-to-top.svelte-1fk72yb{min-width:44px;min-height:44px;transition:background-color var(--motion-highlight) var(--motion-flow), border-color var(--motion-highlight) var(--motion-flow), color var(--motion-highlight) var(--motion-flow);border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .75rem;display:inline-flex}.back-to-top-icon.svelte-1fk72yb{flex-shrink:0;place-items:center;width:1rem;height:1rem;display:grid;rotate:-90deg}.back-to-top.svelte-1fk72yb:focus-visible{color:#99f6e4;outline-offset:3px;background-color:#5eead40d;border-color:#5eead42e;outline:2px solid #5eead4}@media (hover:hover) and (pointer:fine){.back-to-top.svelte-1fk72yb:hover{color:#99f6e4;background-color:#5eead40d;border-color:#5eead42e}}.portfolio-layout.svelte-1uha8ag{--identity-size:clamp(2.25rem, 4.2vw, 3.375rem);--sidebar-inset:6rem;--section-align-y:calc(var(--sidebar-inset) + var(--identity-size) * 1.1 + .75rem + .609375rem)}@media (width>=1024px) and (height<=839px){.portfolio-layout.svelte-1uha8ag{--sidebar-inset:2rem}}
