.hero[data-astro-cid-yodha2z4]{background:0 0;flex-direction:column;justify-content:space-between;min-height:100svh;padding-top:clamp(1.5rem,3svh,2.5rem);padding-bottom:clamp(1.5rem,3svh,2.5rem);display:flex;position:relative;overflow-x:hidden}.hero-stage[data-astro-cid-yodha2z4]{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:flex-end;min-height:0;margin:0;display:flex;position:relative}@media (width<=47.98em){.hero-stage[data-astro-cid-yodha2z4]{min-height:clamp(280px,45svh,420px);margin-bottom:.5rem}}.hero-backdrop[data-astro-cid-yodha2z4]{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100vw;max-width:100vw;line-height:.95;transition:transform .2s cubic-bezier(.16,1,.3,1);animation:1.4s cubic-bezier(.16,1,.3,1) both heroBackdropEntrance;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);container-type:inline-size}@media (width<=47.98em){.hero-backdrop[data-astro-cid-yodha2z4]{animation:1.4s cubic-bezier(.16,1,.3,1) both heroBackdropEntranceMobile;top:20%}}@keyframes heroBackdropEntrance{0%{opacity:0;filter:blur(14px);transform:translate(-50%,-46%)scale(.94)}to{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}}@keyframes heroBackdropEntranceMobile{0%{opacity:0;filter:blur(14px);transform:translate(-50%,-18%)scale(.94)}to{opacity:1;filter:blur();transform:translate(-50%,-20%)scale(1)}}.hero-backdrop-greeting[data-astro-cid-yodha2z4]{font-family:var(--font-script);color:var(--color-secondary);letter-spacing:.02em;text-shadow:0 0 20px #00cec959;z-index:2;align-self:flex-start;margin-left:clamp(8%,8vw,22%);font-size:clamp(1rem,min(4vw,6svh),2.5rem);font-weight:700;animation:1.1s cubic-bezier(.16,1,.3,1) .3s both heroGreetingEntrance;display:inline-block;transform:rotate(-6deg)translateY(100%)translate(0)}@media (width<=47.98em){.hero-backdrop-greeting[data-astro-cid-yodha2z4]{margin-bottom:0;margin-left:clamp(5%,8vw,12%);font-size:clamp(.85rem,min(4vw,3svh),1.25rem)}}@keyframes heroGreetingEntrance{0%{opacity:0;filter:blur(8px);transform:rotate(-6deg)translateY(140%)scale(.9)}to{opacity:1;filter:blur();transform:rotate(-6deg)translateY(100%)scale(1)}}[data-theme=light] .hero-backdrop-greeting[data-astro-cid-yodha2z4]{color:var(--color-primary);text-shadow:0 0 16px #6c5ce740}.hero-backdrop-row[data-astro-cid-yodha2z4]{font-family:var(--font-hero);letter-spacing:clamp(.01em,.5cqw,.04em);text-transform:uppercase;white-space:nowrap;justify-content:center;max-width:100%;display:flex}[data-theme=light] .hero-backdrop-row[data-astro-cid-yodha2z4]{color:var(--color-text)}.hero-backdrop-row--shaun[data-astro-cid-yodha2z4]{font-size:clamp(4.5rem,20cqi,30rem);transform:translateY(5%)}@media (width<=47.98em){.hero-backdrop-row--shaun[data-astro-cid-yodha2z4]{font-size:clamp(3.2rem,20cqi,12rem)}}.hero-backdrop-row--fischmann[data-astro-cid-yodha2z4]{font-size:clamp(2.4rem,11.45cqi,18rem);transform:translateY(-5%)}@media (width<=47.98em){.hero-backdrop-row--fischmann[data-astro-cid-yodha2z4]{font-size:clamp(1.7rem,11.45cqi,6.6rem)}}.hero-backdrop-row[data-astro-cid-yodha2z4] span[data-astro-cid-yodha2z4]{transition:transform .3s;display:inline-block}.portrait[data-astro-cid-yodha2z4]{z-index:2;justify-content:center;align-items:flex-end;width:clamp(380px,68vw,980px);height:clamp(380px,63svh,760px);margin-left:clamp(4rem,15vw,12rem);transition:transform .2s cubic-bezier(.16,1,.3,1);animation:1.35s cubic-bezier(.16,1,.3,1) .15s both heroPortraitEntrance;display:flex;position:relative}@media (width<=47.98em){.portrait[data-astro-cid-yodha2z4]{width:clamp(280px,86vw,460px);height:clamp(300px,46svh,440px);margin-left:clamp(.5rem,2vw,1.5rem)}}@keyframes heroPortraitEntrance{0%{opacity:0;filter:blur(10px);transform:translateY(32px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.portrait-mask[data-astro-cid-yodha2z4]{z-index:2;justify-content:center;align-items:flex-end;width:100%;height:100%;display:flex;position:relative;-webkit-mask-image:linear-gradient(#000 0% 90%,#0000 98%);mask-image:linear-gradient(#000 0% 90%,#0000 98%)}.portrait-img[data-astro-cid-yodha2z4]{-o-object-fit:contain;object-fit:contain;-o-object-position:bottom center;object-position:bottom center;width:100%;height:100%;transition:transform .4s}.portrait-img--light[data-astro-cid-yodha2z4]{display:block}.portrait-img--dark[data-astro-cid-yodha2z4],[data-theme=dark] .portrait-img--light[data-astro-cid-yodha2z4]{display:none}[data-theme=dark] .portrait-img--dark[data-astro-cid-yodha2z4]{display:block}.portrait-orbs[data-astro-cid-yodha2z4]{z-index:1;pointer-events:none;animation:1.6s ease-out .4s both heroOrbsEntrance;position:absolute;inset:-35px}@media (width<=47.98em){.portrait-orbs[data-astro-cid-yodha2z4]{display:none}}@keyframes heroOrbsEntrance{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.portrait-orb[data-astro-cid-yodha2z4]{filter:blur(40px);opacity:.45;border-radius:50%;position:absolute}.portrait-orb--magenta[data-astro-cid-yodha2z4]{transform-origin:0 0;background:radial-gradient(circle,#e84393 0%,#e8439300 70%);width:182px;height:182px;animation:28s ease-in-out infinite alternate orb-drift-1;top:-5%;left:-15%;transform:scale(1.43)}.portrait-orb--cyan[data-astro-cid-yodha2z4]{transform-origin:100% 100%;background:radial-gradient(circle,#00cec9 0%,#00cec900 70%);width:196px;height:196px;animation:34s ease-in-out infinite alternate orb-drift-2;bottom:0%;right:-15%;transform:scale(1.43)}.portrait-orb--mauve[data-astro-cid-yodha2z4]{transform-origin:0 0;background:radial-gradient(circle,#6c5ce7 0%,#6c5ce700 70%);width:210px;height:210px;animation:30s ease-in-out infinite alternate orb-drift-3;top:30%;left:20%;transform:scale(1.43)}@keyframes orb-drift-1{0%{transform:translate(0)scale(1)}50%{transform:translate(16px,22px)scale(1.05)}to{transform:translate(-12px,10px)scale(.95)}}@keyframes orb-drift-2{0%{transform:translate(0)scale(1)}50%{transform:translate(-22px,-18px)scale(1.04)}to{transform:translate(14px,-10px)scale(.97)}}@keyframes orb-drift-3{0%{transform:translate(0)scale(1)}50%{transform:translate(-15px,20px)scale(.94)}to{transform:translate(20px,-14px)scale(1.06)}}@media (prefers-reduced-motion:reduce){.portrait-orb--magenta[data-astro-cid-yodha2z4],.portrait-orb--cyan[data-astro-cid-yodha2z4],.portrait-orb--mauve[data-astro-cid-yodha2z4]{animation:none!important}}.hero-footer[data-astro-cid-yodha2z4]{z-index:5;border-top:1px solid var(--color-border);grid-template-columns:1fr;gap:1.25rem;padding-top:1rem;display:grid;position:relative}@media (width>=64em){.hero-footer[data-astro-cid-yodha2z4]{grid-template-columns:1.3fr .9fr;gap:3rem}}.hero-bio[data-astro-cid-yodha2z4]{text-align:left;flex-direction:column;gap:.4rem;display:flex}.hero-heading[data-astro-cid-yodha2z4]{font-family:var(--font-heading);color:var(--color-primary);font-size:clamp(1.1rem,1.5vw,1.5rem);font-weight:700}.hero-bio-text[data-astro-cid-yodha2z4]{font-family:var(--font-heading);color:var(--color-text);max-width:640px;margin:0;font-size:clamp(.9rem,1.2vw,1.05rem)}.hero-actions[data-astro-cid-yodha2z4]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;width:100%;display:flex}@media (width<=47.98em){.hero-actions[data-astro-cid-yodha2z4]{flex-direction:column}}.hero-actions[data-astro-cid-yodha2z4] .btn[data-astro-cid-yodha2z4] svg[data-astro-cid-yodha2z4]{transition:transform var(--transition-spring)}#hero-contact-btn[data-astro-cid-yodha2z4]:hover svg[data-astro-cid-yodha2z4]{transform:translate(3px,-3px)}#hero-art-btn[data-astro-cid-yodha2z4]:hover svg[data-astro-cid-yodha2z4]{transform:rotate(-12deg)scale(1.1)}.hero-typing[data-astro-cid-yodha2z4]{color:var(--color-text);font-family:var(--font-code);align-items:center;gap:.4rem;min-height:1.5rem;font-size:clamp(.6rem,.75vw,.8rem);display:flex}.hero-typing-prefix[data-astro-cid-yodha2z4]{color:var(--color-secondary)}.hero-typing-text[data-astro-cid-yodha2z4]{color:var(--color-text-muted)}.hero-typing-cursor[data-astro-cid-yodha2z4]{background:var(--color-secondary);width:6px;height:1.1em;box-shadow:0 0 8px var(--color-secondary);animation:.9s step-end infinite cursor-blink;display:inline-block}@media (prefers-reduced-motion:reduce){.hero-backdrop[data-astro-cid-yodha2z4],.hero-backdrop-greeting[data-astro-cid-yodha2z4],.portrait[data-astro-cid-yodha2z4],.portrait-orbs[data-astro-cid-yodha2z4]{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}}#about[data-astro-cid-5gtlsymu]{overflow-x:clip}.about-layout[data-astro-cid-5gtlsymu]{grid-template-columns:1fr;align-items:start;row-gap:2rem;margin-top:clamp(1.5rem,3vw,2rem);display:grid}@media (width>=48em){.about-layout[data-astro-cid-5gtlsymu]{grid-template-columns:.75fr 1fr;gap:2rem}}.bio-card[data-astro-cid-5gtlsymu]{z-index:1;flex-direction:column;gap:1rem;padding:clamp(1.5rem,3vw,2rem) clamp(1.25rem,2.5vw,1.75rem);display:flex;position:static}@media (width>=48em){.bio-card[data-astro-cid-5gtlsymu]{position:sticky;top:2rem}}.bio-heading[data-astro-cid-5gtlsymu]{font-family:var(--font-heading);color:var(--color-text);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:clamp(1.1rem,2vw,1.35rem);font-weight:600;line-height:1.3;display:flex}.apimo-link[data-astro-cid-5gtlsymu]{align-items:center;display:inline-flex}.apimo-logo[data-astro-cid-5gtlsymu]{-o-object-fit:contain;object-fit:contain;vertical-align:middle;width:auto;height:clamp(32px,5vw,40px);display:block}.apimo-logo--color[data-astro-cid-5gtlsymu]{display:block}.apimo-logo--white[data-astro-cid-5gtlsymu],[data-theme=dark] .apimo-logo--color[data-astro-cid-5gtlsymu]{display:none}[data-theme=dark] .apimo-logo--white[data-astro-cid-5gtlsymu]{display:block}.bio-text[data-astro-cid-5gtlsymu]{font-family:var(--font-body);color:var(--color-text-muted);font-size:clamp(.85rem,1.2vw,.9rem);line-height:1.75}.bio-text[data-astro-cid-5gtlsymu] strong{color:var(--color-text);font-weight:600}.constellation-wrapper[data-astro-cid-5gtlsymu]{flex-direction:column;gap:1.5rem;max-width:100%;display:flex}.constellation-filters[data-astro-cid-5gtlsymu]{z-index:5;place-content:center}.constellation-stage[data-astro-cid-5gtlsymu]{-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;isolation:isolate;justify-content:center;align-items:center;width:100%;height:380px;display:flex;position:relative;overflow:visible}@media (width>=48em){.constellation-stage[data-astro-cid-5gtlsymu]{height:500px}}.constellation-stage[data-astro-cid-5gtlsymu].dragging{cursor:grabbing}.constellation-nebula[data-astro-cid-5gtlsymu]{pointer-events:none;z-index:-1;filter:blur(35px);opacity:.65;width:clamp(340px,55vw,680px);height:clamp(260px,42vw,500px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:root[data-theme=dark] .constellation-nebula[data-astro-cid-5gtlsymu]{opacity:.5}.gas-layer[data-astro-cid-5gtlsymu]{mix-blend-mode:screen;border-radius:40% 60% 70% 30%/50% 30% 70% 50%;position:absolute;inset:0}:root[data-theme=light] .gas-layer[data-astro-cid-5gtlsymu]{mix-blend-mode:multiply}.gas-1[data-astro-cid-5gtlsymu]{background:radial-gradient(ellipse at 40% 40%, var(--color-primary,#6366f1) 0%, #6366f166 40%, transparent 75%);animation:22s ease-in-out infinite alternate nebulaDrift1}.gas-2[data-astro-cid-5gtlsymu]{background:radial-gradient(ellipse at 65% 60%, var(--color-secondary,#06b6d4) 0%, #0ea5e94d 45%, transparent 80%);border-radius:60% 40% 30% 70%/40% 60%;animation:28s ease-in-out infinite alternate nebulaDrift2;inset:-10%}.gas-core[data-astro-cid-5gtlsymu]{filter:blur(22px);background:radial-gradient(circle,#f472b673 0%,#a855f740 50%,#0000 80%);border-radius:50%;animation:12s ease-in-out infinite alternate corePulse;inset:15%}@keyframes nebulaDrift1{0%{border-radius:40% 60% 70% 30%/50% 30% 70% 50%;transform:rotate(0)scale(.95)translate(0)}50%{border-radius:60% 40% 40% 60%/30% 60% 40% 70%;transform:rotate(180deg)scale(1.08)translate(15px,-10px)}to{border-radius:40% 60% 70% 30%/50% 30% 70% 50%;transform:rotate(360deg)scale(.98)translate(-10px,12px)}}@keyframes nebulaDrift2{0%{transform:rotate(360deg)scale(1.05)translate(0)}50%{transform:rotate(180deg)scale(.92)translate(-20px,15px)}to{transform:rotate(0)scale(1.05)translate(10px,-15px)}}@keyframes corePulse{0%{opacity:.4;transform:scale(.88)}to{opacity:.7;transform:scale(1.12)}}@media (width<=47.98em){.constellation-nebula[data-astro-cid-5gtlsymu]{display:none}}@media (prefers-reduced-motion:reduce){.gas-1[data-astro-cid-5gtlsymu],.gas-2[data-astro-cid-5gtlsymu],.gas-core[data-astro-cid-5gtlsymu]{animation:none!important}}.sphere-cloud[data-astro-cid-5gtlsymu]{z-index:1;width:0;height:0;position:relative}.constellation-node[data-astro-cid-5gtlsymu]{position:absolute;top:0;left:0}.constellation-node[data-astro-cid-5gtlsymu].hidden{opacity:0;display:none!important}.constellation-node[data-astro-cid-5gtlsymu].animating-out{animation:.3s ease-out forwards disappearIn}@keyframes disappearIn{0%{opacity:1}to{opacity:0}}.constellation-node[data-astro-cid-5gtlsymu].appearing-in .node-bubble[data-astro-cid-5gtlsymu]{animation:.45s cubic-bezier(.34,1.56,.64,1) forwards bubbleAppear}@keyframes bubbleAppear{0%{opacity:0;transform:scale(.15)}60%{opacity:1}to{opacity:1;transform:scale(1)}}.node-bubble[data-astro-cid-5gtlsymu]{width:3.5rem;height:3.5rem;color:var(--color-text);cursor:pointer;box-shadow:var(--neu-shadow-outset);background:var(--color-surface);transition:transform var(--transition-spring), box-shadow var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;margin-top:-1.75rem;margin-left:-1.75rem;display:flex;position:relative}.node-bubble[data-astro-cid-5gtlsymu]:before{content:"";background-image:linear-gradient(var(--color-surface), var(--color-surface)), conic-gradient(from 0deg, var(--color-border), var(--color-border-hover), var(--color-border));pointer-events:none;z-index:0;transition:opacity var(--transition-fast);background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;border-radius:50%;padding:1px;position:absolute;inset:0}.node-bubble[data-astro-cid-5gtlsymu]>[data-astro-cid-5gtlsymu]{z-index:1;position:relative}.node-bubble[data-astro-cid-5gtlsymu]:hover{transform:scale(1.22)}.constellation-node[data-astro-cid-5gtlsymu].focused .node-bubble[data-astro-cid-5gtlsymu]{background:var(--color-surface-hover);transform:scale(1.35)}.constellation-node[data-astro-cid-5gtlsymu]:hover .node-bubble[data-astro-cid-5gtlsymu]:before,.constellation-node[data-astro-cid-5gtlsymu].focused .node-bubble[data-astro-cid-5gtlsymu]:before{background-image:linear-gradient(var(--color-surface-hover), var(--color-surface-hover)), conic-gradient(from 0deg, var(--color-primary), var(--color-secondary), #e17055, var(--pastel-lavender), var(--color-primary))}.constellation-node[data-astro-cid-5gtlsymu]:hover .node-bubble[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu].focused .node-bubble[data-astro-cid-5gtlsymu]{box-shadow:0 0 28px var(--glow-primary), 0 0 14px var(--glow-secondary), var(--neu-hover-outset)}.constellation-node[data-astro-cid-5gtlsymu].focused{z-index:1000!important}.skill-icon[data-astro-cid-5gtlsymu]{width:24px;height:24px;color:var(--color-text);transition:color var(--transition-fast);justify-content:center;align-items:center;display:flex}.skill-icon[data-astro-cid-5gtlsymu] svg{fill:currentColor;width:100%;height:100%;display:block}.constellation-node[data-astro-cid-5gtlsymu][data-id=php] .skill-icon[data-astro-cid-5gtlsymu]{width:32px;height:32px}.constellation-node[data-astro-cid-5gtlsymu][data-id=php]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=php].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-php)}.constellation-node[data-astro-cid-5gtlsymu][data-id=mysql] .skill-icon[data-astro-cid-5gtlsymu]{width:32px;height:32px}.constellation-node[data-astro-cid-5gtlsymu][data-id=mysql]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=mysql].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-mysql)}:root:not([data-theme=dark]) .constellation-node[data-astro-cid-5gtlsymu][data-id=symfony]:hover .skill-icon[data-astro-cid-5gtlsymu],:root:not([data-theme=dark]) .constellation-node[data-astro-cid-5gtlsymu][data-id=symfony].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-symfony-light)}:root[data-theme=dark] .constellation-node[data-astro-cid-5gtlsymu][data-id=symfony]:hover .skill-icon[data-astro-cid-5gtlsymu],:root[data-theme=dark] .constellation-node[data-astro-cid-5gtlsymu][data-id=symfony].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-symfony-dark)}.constellation-node[data-astro-cid-5gtlsymu][data-id=git]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=git].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-git)}.constellation-node[data-astro-cid-5gtlsymu][data-id=github] .skill-icon[data-astro-cid-5gtlsymu]{width:30px;height:30px}.constellation-node[data-astro-cid-5gtlsymu][data-id=github]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=github].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-github)}.constellation-node[data-astro-cid-5gtlsymu][data-id=apache]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=apache].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-apache)}.constellation-node[data-astro-cid-5gtlsymu][data-id=nginx]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=nginx].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-nginx)}.constellation-node[data-astro-cid-5gtlsymu][data-id=postman] .skill-icon[data-astro-cid-5gtlsymu]{width:30px;height:30px}.constellation-node[data-astro-cid-5gtlsymu][data-id=postman]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=postman].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-postman)}.constellation-node[data-astro-cid-5gtlsymu][data-id=jquery]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=jquery].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-jquery)}.constellation-node[data-astro-cid-5gtlsymu][data-id=asana]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=asana].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-asana)}:root:not([data-theme=dark]) .constellation-node[data-astro-cid-5gtlsymu][data-id=openai]:hover .skill-icon[data-astro-cid-5gtlsymu],:root:not([data-theme=dark]) .constellation-node[data-astro-cid-5gtlsymu][data-id=openai].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-openai-light)}:root[data-theme=dark] .constellation-node[data-astro-cid-5gtlsymu][data-id=openai]:hover .skill-icon[data-astro-cid-5gtlsymu],:root[data-theme=dark] .constellation-node[data-astro-cid-5gtlsymu][data-id=openai].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-openai-dark)}.constellation-node[data-astro-cid-5gtlsymu][data-id=davinci]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=davinci].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-davinci)}.constellation-node[data-astro-cid-5gtlsymu][data-id=adobe]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=adobe].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-adobe)}.constellation-node[data-astro-cid-5gtlsymu][data-id=html]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=html].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-html)}.constellation-node[data-astro-cid-5gtlsymu][data-id=css]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=css].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-css)}:root[data-theme=light] .constellation-node[data-astro-cid-5gtlsymu][data-id=javascript]:hover .skill-icon[data-astro-cid-5gtlsymu],:root[data-theme=light] .constellation-node[data-astro-cid-5gtlsymu][data-id=javascript].focused .skill-icon[data-astro-cid-5gtlsymu]{color:#000}:root[data-theme=dark] .constellation-node[data-astro-cid-5gtlsymu][data-id=javascript]:hover .skill-icon[data-astro-cid-5gtlsymu],:root[data-theme=dark] .constellation-node[data-astro-cid-5gtlsymu][data-id=javascript].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-js-dark)}.constellation-node[data-astro-cid-5gtlsymu][data-id=gemini]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=gemini].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-gemini)}.constellation-node[data-astro-cid-5gtlsymu][data-id=mistral]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=mistral].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-mistral)}.constellation-node[data-astro-cid-5gtlsymu][data-id=claude]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=claude].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-claude)}.constellation-node[data-astro-cid-5gtlsymu][data-id=astro]:hover .skill-icon[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu][data-id=astro].focused .skill-icon[data-astro-cid-5gtlsymu]{color:var(--brand-astro)}.node-tooltip[data-astro-cid-5gtlsymu]{text-align:center;white-space:nowrap;border-radius:var(--radius-sm);background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);opacity:0;pointer-events:none;transition:opacity var(--transition-fast), transform var(--transition-spring), margin-left var(--transition-spring);z-index:100;flex-direction:column;align-items:center;margin-left:0;padding:.5rem .9rem;display:flex;position:absolute;bottom:calc(100% + 40px);transform:translate(-50%)translateY(8px)scale(.9);box-shadow:0 8px 24px #00000059}@media (width<=47.98em){.node-tooltip[data-astro-cid-5gtlsymu]{white-space:normal;width:max-content;max-width:min(220px,100vw - 2rem)}}.node-tooltip[data-astro-cid-5gtlsymu].tt-shifted:after{opacity:0}.node-tooltip[data-astro-cid-5gtlsymu]:after{content:"";border-style:solid;border-width:5px;border-color:var(--glass-bg-strong) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.tooltip-title[data-astro-cid-5gtlsymu]{font-family:var(--font-heading);color:var(--color-text);font-size:.825rem;font-weight:700}.tooltip-desc[data-astro-cid-5gtlsymu]{font-family:var(--font-heading);color:var(--color-text-muted);margin-top:2px;font-size:.7rem}.constellation-node[data-astro-cid-5gtlsymu]:hover .node-tooltip[data-astro-cid-5gtlsymu],.constellation-node[data-astro-cid-5gtlsymu].focused .node-tooltip[data-astro-cid-5gtlsymu]{opacity:1;transform:translate(-50%)translateY(-12px)scale(1)}.timeline-container[data-astro-cid-4vr5gzlh]{max-width:960px;margin:0 auto;padding:1rem 0;position:relative}.timeline-svg[data-astro-cid-4vr5gzlh]{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.timeline-path-bg[data-astro-cid-4vr5gzlh]{color:var(--color-border);opacity:.25}.timeline-path-active[data-astro-cid-4vr5gzlh]{will-change:stroke-dashoffset;transition:stroke-dashoffset .1s ease-out}.timeline-items[data-astro-cid-4vr5gzlh]{z-index:2;flex-direction:column;gap:clamp(1.75rem,3.25vw,2.5rem);display:flex;position:relative}.timeline-item[data-astro-cid-4vr5gzlh]{width:100%;min-height:54px;transition:opacity var(--transition-base), transform var(--transition-base);justify-content:flex-end;align-items:center;display:flex;position:relative}.item-left[data-astro-cid-4vr5gzlh],.item-right[data-astro-cid-4vr5gzlh]{justify-content:flex-end}@media (width>=48em){.timeline-item[data-astro-cid-4vr5gzlh]{margin-bottom:-4rem}.item-left[data-astro-cid-4vr5gzlh]{justify-content:flex-start}.item-right[data-astro-cid-4vr5gzlh]{justify-content:flex-end}}.timeline-node[data-astro-cid-4vr5gzlh]{background:var(--color-surface);text-align:center;-webkit-user-select:none;user-select:none;z-index:3;width:44px;height:44px;box-shadow:var(--neu-shadow-outset);transition:transform var(--transition-spring), box-shadow var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:24px;transform:translate(-50%,-50%)}@media (width>=48em){.timeline-node[data-astro-cid-4vr5gzlh]{width:65px;height:65px;top:50%;left:50%;transform:translate(-50%,-50%)}}.node-content[data-astro-cid-4vr5gzlh]{z-index:2;flex-direction:column;justify-content:center;align-items:center;display:flex}.node-month[data-astro-cid-4vr5gzlh]{font-family:var(--font-code,monospace);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:.45rem;font-weight:800;line-height:1.2}@media (width>=48em){.node-month[data-astro-cid-4vr5gzlh]{font-size:.62rem}}.node-year[data-astro-cid-4vr5gzlh]{font-family:var(--font-code,monospace);color:var(--color-text);font-size:.72rem;font-weight:700;line-height:1}@media (width>=48em){.node-year[data-astro-cid-4vr5gzlh]{font-size:.75rem}}.theme-work[data-astro-cid-4vr5gzlh] .timeline-node[data-astro-cid-4vr5gzlh]{border:2px solid var(--color-secondary,#00cec9);box-shadow:0 0 14px #00cec959, var(--neu-shadow-outset)}.theme-work[data-astro-cid-4vr5gzlh] .node-month[data-astro-cid-4vr5gzlh]{color:var(--color-secondary,#00cec9)}.theme-work[data-astro-cid-4vr5gzlh] .card-accent-bar[data-astro-cid-4vr5gzlh]{background:linear-gradient(90deg, var(--color-secondary,#00cec9) 0%, #00cec900 100%)}.theme-work[data-astro-cid-4vr5gzlh] .timeline-card[data-astro-cid-4vr5gzlh]:hover{border-color:#00cec966;box-shadow:0 16px 32px -10px #00cec938}.theme-work[data-astro-cid-4vr5gzlh] .tag[data-astro-cid-4vr5gzlh]:hover{border-color:var(--color-secondary,#00cec9);color:var(--color-secondary,#00cec9)}.theme-milestone[data-astro-cid-4vr5gzlh] .timeline-node[data-astro-cid-4vr5gzlh]{border:2px solid var(--color-primary,#6c5ce7);box-shadow:0 0 14px #6c5ce761, var(--neu-shadow-outset)}.theme-milestone[data-astro-cid-4vr5gzlh] .node-month[data-astro-cid-4vr5gzlh]{color:var(--pastel-lavender,#c8c0ff)}.theme-milestone[data-astro-cid-4vr5gzlh] .card-accent-bar[data-astro-cid-4vr5gzlh]{background:linear-gradient(90deg,#6c5ce7 0%,#ec4899 50%,#ec489900 100%)}.theme-milestone[data-astro-cid-4vr5gzlh] .timeline-card[data-astro-cid-4vr5gzlh]:hover{border-color:#6c5ce773;box-shadow:0 16px 32px -10px #6c5ce742}.theme-milestone[data-astro-cid-4vr5gzlh] .tag[data-astro-cid-4vr5gzlh]:hover{border-color:var(--color-primary,#6c5ce7);color:var(--pastel-lavender,#c8c0ff)}.timeline-node[data-astro-cid-4vr5gzlh]{transition:transform var(--transition-spring), box-shadow var(--transition-base), border-color var(--transition-base)}.timeline-item[data-astro-cid-4vr5gzlh]:hover .timeline-node[data-astro-cid-4vr5gzlh]{transform:translate(-50%,-50%)scale(1.18)}.theme-work[data-astro-cid-4vr5gzlh].timeline-item:hover .timeline-node[data-astro-cid-4vr5gzlh]{box-shadow:0 0 22px #00cec9a6, var(--neu-shadow-outset)}.theme-milestone[data-astro-cid-4vr5gzlh].timeline-item:hover .timeline-node[data-astro-cid-4vr5gzlh]{box-shadow:0 0 22px #6c5ce7b3, var(--neu-shadow-outset)}.timeline-card[data-astro-cid-4vr5gzlh]{border-radius:var(--radius-md);background:var(--glass-bg);width:calc(100% - 3.75rem);max-width:440px;-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);transition:transform var(--transition-spring), border-color var(--transition-base), box-shadow var(--transition-base);flex-direction:column;gap:.65rem;padding:clamp(1rem,2vw,1.35rem);display:flex;position:relative;overflow:hidden}@media (width>=48em){.timeline-card[data-astro-cid-4vr5gzlh]{width:calc(50% - 3.5rem)}}.card-accent-bar[data-astro-cid-4vr5gzlh]{pointer-events:none;height:2.5px;position:absolute;top:0;left:0;right:0}.timeline-item[data-astro-cid-4vr5gzlh]:hover .timeline-card[data-astro-cid-4vr5gzlh]{transform:translateY(-3px)}.card-title[data-astro-cid-4vr5gzlh]{font-family:var(--font-heading);color:var(--color-text);font-size:clamp(1rem,1.3vw,1.125rem);font-weight:600;line-height:1.3}.card-media-wrapper[data-astro-cid-4vr5gzlh]{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);max-height:160px;position:relative;overflow:hidden}.card-img[data-astro-cid-4vr5gzlh]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;max-height:160px;transition:transform var(--transition-spring);display:block}.media-overlay[data-astro-cid-4vr5gzlh]{pointer-events:none;background:linear-gradient(#0000 60%,#00000059 100%);position:absolute;inset:0}.timeline-card[data-astro-cid-4vr5gzlh]:hover .card-img[data-astro-cid-4vr5gzlh]{transform:scale(1.04)}.card-desc[data-astro-cid-4vr5gzlh]{font-family:var(--font-body);color:var(--color-text-muted);font-size:.85rem;line-height:1.55}.card-tags[data-astro-cid-4vr5gzlh]{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.tag[data-astro-cid-4vr5gzlh]{border-radius:var(--radius-full);font-family:var(--font-heading);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);transition:color var(--transition-fast), border-color var(--transition-fast);padding:.18rem .55rem;font-size:.7rem;font-weight:600}.card-links[data-astro-cid-4vr5gzlh]{flex-wrap:wrap;flex-shrink:0;gap:.4rem;display:flex}.card-link[data-astro-cid-4vr5gzlh]{font-family:var(--font-heading);letter-spacing:.04em;border-radius:var(--radius-full);transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);white-space:nowrap;border:1px solid #0000;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-flex}.theme-work[data-astro-cid-4vr5gzlh] .card-link[data-astro-cid-4vr5gzlh]{color:var(--color-secondary);background:var(--glow-secondary);border-color:var(--glow-secondary)}.theme-work[data-astro-cid-4vr5gzlh] .card-link[data-astro-cid-4vr5gzlh]:hover{color:var(--pastel-mint);border-color:var(--color-secondary)}.theme-milestone[data-astro-cid-4vr5gzlh] .card-link[data-astro-cid-4vr5gzlh]{color:var(--pastel-lavender);background:var(--glow-primary);border-color:var(--glow-primary)}.theme-milestone[data-astro-cid-4vr5gzlh] .card-link[data-astro-cid-4vr5gzlh]:hover{color:var(--color-primary);border-color:var(--color-primary)}
