.paint-flow-shader-wrapper.svelte-2knwa0{z-index:0;pointer-events:none;transition:opacity .5s;position:absolute;inset:0;overflow:hidden}.paint-flow-shader-wrapper.theme-dark.svelte-2knwa0{opacity:.85}.paint-flow-shader-wrapper.theme-light.svelte-2knwa0{opacity:.6}.paint-flow-canvas{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.paint-flow-canvas canvas{width:100%!important;height:100%!important;display:block!important}.shader-fade.svelte-2knwa0{pointer-events:none;transition:background .5s;position:absolute;inset:0}.paint-flow-shader-wrapper.theme-dark.svelte-2knwa0 .shader-fade:where(.svelte-2knwa0){background:radial-gradient(ellipse 65% 75% at 20% 35%, color-mix(in srgb, var(--color-base-100) 45%, transparent) 0%, color-mix(in srgb, var(--color-base-100) 15%, transparent) 65%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent 70%, var(--color-base-100) 100%)}.paint-flow-shader-wrapper.theme-light.svelte-2knwa0 .shader-fade:where(.svelte-2knwa0){background:radial-gradient(ellipse 70% 80% at 25% 40%, color-mix(in srgb, var(--color-base-100) 65%, transparent) 0%, color-mix(in srgb, var(--color-base-100) 30%, transparent) 70%, transparent 100%), linear-gradient(to bottom, transparent 0%, transparent 65%, var(--color-base-100) 100%)}.paint-flow-fallback.svelte-2knwa0{z-index:0;pointer-events:none;position:absolute;inset:0}.paint-flow-fallback.theme-dark.svelte-2knwa0{background:radial-gradient(circle at 10% 80%, #6ce1e647, transparent 55%), radial-gradient(circle at 80% 20%, #5326a852, transparent 55%), radial-gradient(circle at 20% 70%, #82e35438, transparent 50%), radial-gradient(circle at 60% 60%, #b95ab440, transparent 55%), var(--color-base-100)}.paint-flow-fallback.theme-light.svelte-2knwa0{background:radial-gradient(circle at 10% 80%, #6ce1e62e, transparent 55%), radial-gradient(circle at 80% 20%, #5326a833, transparent 55%), radial-gradient(circle at 20% 70%, #82e35426, transparent 50%), radial-gradient(circle at 60% 60%, #b95ab42e, transparent 55%), var(--color-base-100)}.hero-shell[data-astro-cid-i3irphx7]{animation:.7s ease-out both hero-shell-in}.hero-shell[data-astro-cid-i3irphx7]:after{z-index:5;background:radial-gradient(ellipse 72% 100% at top, color-mix(in srgb, var(--color-error) 82%, transparent) 0%, color-mix(in srgb, var(--color-error) 38%, transparent) 42%, transparent 78%), linear-gradient(180deg, color-mix(in srgb, var(--color-error) 30%, transparent) 0%, color-mix(in srgb, var(--color-error) 13%, transparent) 42%, transparent 82%);filter:blur(.8rem);content:"";opacity:0;pointer-events:none;will-change:opacity, transform;width:100%;height:14rem;transition:opacity .18s,transform .22s;position:absolute;top:-5rem;left:0;right:0;transform:translateY(-1.5rem)scaleY(.82)}body.terminal-easter-egg-active{overflow-x:clip}body.terminal-easter-egg-shaking .site-frame{animation:.68s cubic-bezier(.36,.07,.19,.97) site-error-shake;position:relative}body.terminal-easter-egg-active .hero-shell[data-astro-cid-i3irphx7]:after{opacity:.92;animation:.9s ease-in-out infinite alternate terminal-error-light;transform:translateY(0)scaleY(1)}body.terminal-easter-egg-active.terminal-easter-egg-ending .hero-shell[data-astro-cid-i3irphx7]:after{animation:1.2s cubic-bezier(.4,0,.2,1) forwards terminal-error-light-out}.hero-headline[data-astro-cid-i3irphx7]{will-change:transform, opacity;letter-spacing:-.015em;min-height:3.5rem;text-shadow:0 1px 3px color-mix(in srgb, var(--color-base-100) 80%, transparent)}.hero-availability[data-astro-cid-i3irphx7]{color:var(--color-secondary);font-weight:500}[data-theme=portfolio-light] .hero-availability[data-astro-cid-i3irphx7]{color:#16a34a}.hero-terminal__body[data-astro-cid-i3irphx7]{min-height:13.75rem}.hero-terminal[data-astro-cid-i3irphx7]{cursor:pointer;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s}.hero-terminal[data-astro-cid-i3irphx7]:hover{transform:translateY(-2px)}.hero-terminal[data-astro-cid-i3irphx7]:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.hero-terminal--error[data-astro-cid-i3irphx7]{border-color:color-mix(in srgb, var(--color-error) 72%, transparent);background:color-mix(in srgb, var(--color-error) 13%, var(--color-base-200));box-shadow:0 24px 55px -28px color-mix(in srgb, var(--color-error) 88%, transparent), 0 0 2rem -.65rem color-mix(in srgb, var(--color-error) 72%, transparent)}.hero-terminal--error[data-astro-cid-i3irphx7] [data-astro-cid-i3irphx7][data-terminal-file],.hero-terminal--error[data-astro-cid-i3irphx7] [data-astro-cid-i3irphx7][data-terminal-object],.hero-terminal--error[data-astro-cid-i3irphx7] [data-astro-cid-i3irphx7][data-terminal-method],.hero-terminal--error[data-astro-cid-i3irphx7] [data-astro-cid-i3irphx7][data-terminal-comment],.hero-terminal--error[data-astro-cid-i3irphx7] .hero-terminal__cursor[data-astro-cid-i3irphx7]{color:var(--color-error)}.hero-terminal__line[data-astro-cid-i3irphx7]{min-height:4.25rem}.hero-terminal__cursor[data-astro-cid-i3irphx7]{margin-left:.08em;animation:.85s step-end infinite terminal-cursor;display:inline-block}@keyframes terminal-cursor{50%{opacity:0}}@keyframes site-error-shake{0%,to{top:0;left:0}10%{top:.16rem;left:-.55rem}22%{top:-.2rem;left:.48rem}36%{top:.12rem;left:-.42rem}52%{top:-.1rem;left:.34rem}70%{top:.06rem;left:-.22rem}86%{top:-.04rem;left:.12rem}}@keyframes terminal-error-light{0%{opacity:.62;transform:translateY(0)scaleY(.96)}to{opacity:1;transform:translateY(0)scaleY(1)}}@keyframes terminal-error-light-out{0%{opacity:.92;transform:translateY(0)scaleY(1)}45%{opacity:.58;transform:translateY(-.2rem)scaleY(.97)}78%{opacity:.2;transform:translateY(-.65rem)scaleY(.91)}to{opacity:0;transform:translateY(-1rem)scaleY(.86)}}@keyframes hero-shell-in{0%{opacity:0}to{opacity:1}}@keyframes availability-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@media (width>=768px){.hero-headline[data-astro-cid-i3irphx7]{min-height:2.25rem}}@media (prefers-reduced-motion:reduce){.hero-shell[data-astro-cid-i3irphx7],.hero-availability[data-astro-cid-i3irphx7]:before,.hero-terminal__cursor[data-astro-cid-i3irphx7],.hero-terminal--error[data-astro-cid-i3irphx7],body.terminal-easter-egg-shaking .site-frame,body.terminal-easter-egg-active .hero-shell[data-astro-cid-i3irphx7]:after{animation:none}body.terminal-easter-egg-active.terminal-easter-egg-ending .hero-shell[data-astro-cid-i3irphx7]:after{opacity:0}.hero-terminal[data-astro-cid-i3irphx7]{transition:none}}.skills-list{border-top:1px solid var(--color-base-300)}.skill-level-legend{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.skill-level-legend__item{color:color-mix(in srgb, var(--color-base-content) 58%, transparent);align-items:center;gap:.55rem;font-size:.7rem;display:flex}.skill-row{border-bottom-width:1px}.skill-row summary::-webkit-details-marker{display:none}.skill-row[open] .skill-row__chevron{transform:rotate(90deg)}.skill-row__content{transform-origin:top}.skill-entry{grid-template-columns:minmax(0,1fr) 5.5rem;align-items:center;gap:.75rem;display:grid}.skill-meter{--skill-bean-width:calc((100% - .88rem) / 5);--skill-scan-end:100%;width:5.5rem;-webkit-mask-image:repeating-linear-gradient(to right, #000 0 var(--skill-bean-width), transparent var(--skill-bean-width) calc(var(--skill-bean-width) + .22rem));mask-image:repeating-linear-gradient(to right, #000 0 var(--skill-bean-width), transparent var(--skill-bean-width) calc(var(--skill-bean-width) + .22rem));flex:none;gap:.22rem;display:flex;position:relative}.skill-meter[data-level="1"]{--skill-scan-end:calc(20% - .176rem)}.skill-meter[data-level="2"]{--skill-scan-end:calc(40% - .132rem)}.skill-meter[data-level="3"]{--skill-scan-end:calc(60% - .088rem)}.skill-meter[data-level="4"]{--skill-scan-end:calc(80% - .044rem)}.skill-meter:after{z-index:1;inset-block:0;content:"";opacity:0;pointer-events:none;background:#fffffffa;width:.18rem;position:absolute;left:0;transform:skew(-12deg);box-shadow:0 0 .38rem #ffffffeb}.skill-meter__bar{background-color:color-mix(in srgb, var(--color-base-content) 13%, transparent);border-radius:9999px;flex:1;min-width:0;height:.38rem}.skill-meter__bar--active{background-color:color-mix(in srgb, var(--color-primary) 82%, transparent);box-shadow:0 0 .45rem color-mix(in srgb, var(--color-primary) 30%, transparent)}.skill-entry:hover .skill-meter:after,.skill-meter:hover:after{animation:.43s cubic-bezier(.35,0,.25,1) both skill-meter-scan}@keyframes skill-meter-scan{0%{opacity:0;left:0}10%,88%{opacity:1}to{left:calc(var(--skill-scan-end) - .18rem);opacity:0}}@media (width<=479px){.skill-entry{grid-template-columns:minmax(0,1fr) auto}.skill-entry .skill-meter{grid-area:2/1/auto/-1;width:100%}}@media (prefers-reduced-motion:reduce){.skill-entry:hover .skill-meter:after,.skill-meter:hover:after{animation:none}}.timeline-card summary::-webkit-details-marker{display:none}.timeline-item[data-reveal]{transform:translate(-1.5rem)}.timeline-item[data-reveal][data-reveal-side=right]{transform:translate(1.5rem)}.timeline-item[data-reveal].revealed{transform:translate(0)}.timeline-list li:hover .timeline-dot,.timeline-list li:has(.timeline-card[open]) .timeline-dot{background-color:var(--color-primary,#6366f1);border-color:var(--color-primary,#6366f1);box-shadow:0 0 0 5px color-mix(in srgb, var(--color-primary,#6366f1) 22%, transparent)}.timeline-list .timeline-card:hover{border-color:color-mix(in srgb, var(--color-primary,#6366f1) 55%, transparent);background-color:color-mix(in srgb, var(--color-primary,#6366f1) 7%, transparent)}.timeline-list .timeline-card[open]{border-color:color-mix(in srgb, var(--color-primary,#6366f1) 55%, transparent);background-color:color-mix(in srgb, var(--color-primary,#6366f1) 7%, transparent);box-shadow:0 10px 24px -12px color-mix(in srgb, var(--color-primary,#6366f1) 65%, transparent);transform:translateY(-2px)}.timeline-list .timeline-card[open] .timeline-card__chevron{transform:rotate(180deg)}@media (width<=767px){.timeline-item[data-reveal][data-reveal-side=right]{transform:translate(-1.5rem)}.timeline-item[data-reveal].revealed{transform:translate(0)}}
