.sp-wrap.svelte-ybsenl{flex-direction:column;padding:1px;display:flex;position:relative;overflow:hidden}.sp-spin.svelte-ybsenl,.sp-spin-accent.svelte-ybsenl,.sp-spin-green.svelte-ybsenl{opacity:0;transition:opacity .3s;animation:3s linear infinite paused svelte-ybsenl-spin;position:absolute;inset:-1000%}.sp-spin.svelte-ybsenl{background:conic-gradient(#0000 270deg,#fff9 360deg)}.sp-spin-accent.svelte-ybsenl{background:conic-gradient(#0000 270deg,#4ea361b3 360deg)}.sp-spin-green.svelte-ybsenl{background:conic-gradient(#0000 270deg,#1db95499 360deg)}.sp-inner.svelte-ybsenl{flex:1;position:relative;overflow:hidden}.sp-wrap.svelte-ybsenl:hover .sp-spin:where(.svelte-ybsenl),.sp-wrap.svelte-ybsenl:hover .sp-spin-accent:where(.svelte-ybsenl),.sp-wrap.svelte-ybsenl:hover .sp-spin-green:where(.svelte-ybsenl){opacity:.85;animation-play-state:running}@keyframes svelte-ybsenl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.img-trigger.svelte-ybsenl{cursor:zoom-in;text-align:left;background:0 0;border:none;width:100%;padding:0;display:block;position:relative}.img-preview-badge.svelte-ybsenl{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;background:#00000080;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;transition:opacity .2s;display:flex;position:absolute;bottom:10px;right:10px}.img-trigger.svelte-ybsenl:hover .img-preview-badge:where(.svelte-ybsenl){opacity:0}.img-trigger-overlay.svelte-ybsenl{background:0 0;justify-content:center;align-items:center;transition:background .2s;display:flex;position:absolute;inset:0}.img-trigger.svelte-ybsenl:hover .img-trigger-overlay:where(.svelte-ybsenl){background:#0006}.img-expand-icon.svelte-ybsenl{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#ffffff26;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:opacity .2s,transform .2s;display:flex;transform:scale(.85)}.img-trigger.svelte-ybsenl:hover .img-expand-icon:where(.svelte-ybsenl){opacity:1;transform:scale(1)}@keyframes svelte-ybsenl-ring-ping{0%{opacity:1;transform:scale(1)}65%{opacity:0;transform:scale(1.55)}to{opacity:1;transform:scale(1)}}.feat-card.svelte-ybsenl:hover .fi-r1:where(.svelte-ybsenl){transform-box:fill-box;transform-origin:50%;animation:.55s cubic-bezier(.22,1,.36,1) both svelte-ybsenl-ring-ping}.feat-card.svelte-ybsenl:hover .fi-r2:where(.svelte-ybsenl){transform-box:fill-box;transform-origin:50%;animation:.55s cubic-bezier(.22,1,.36,1) .1s both svelte-ybsenl-ring-ping}@keyframes svelte-ybsenl-bar-pop{0%{transform:translateY(0)scaleY(1)}40%{transform:translateY(-3px)scaleY(1.07)}70%{transform:translateY(1px)scaleY(.97)}to{transform:translateY(0)scaleY(1)}}.fi-b1.svelte-ybsenl,.fi-b2.svelte-ybsenl,.fi-b3.svelte-ybsenl{transform-box:fill-box;transform-origin:50% 100%}.feat-card.svelte-ybsenl:hover .fi-b1:where(.svelte-ybsenl){animation:.45s cubic-bezier(.34,1.56,.64,1) both svelte-ybsenl-bar-pop}.feat-card.svelte-ybsenl:hover .fi-b2:where(.svelte-ybsenl){animation:.45s cubic-bezier(.34,1.56,.64,1) 70ms both svelte-ybsenl-bar-pop}.feat-card.svelte-ybsenl:hover .fi-b3:where(.svelte-ybsenl){animation:.45s cubic-bezier(.34,1.56,.64,1) .14s both svelte-ybsenl-bar-pop}@keyframes svelte-ybsenl-row-slide{0%{opacity:.4;transform:translate(-5px)}to{opacity:1;transform:translate(0)}}.feat-card.svelte-ybsenl:hover .fi-c1:where(.svelte-ybsenl){animation:.3s cubic-bezier(.34,1.56,.64,1) both svelte-ybsenl-row-slide}.feat-card.svelte-ybsenl:hover .fi-c2:where(.svelte-ybsenl){animation:.3s cubic-bezier(.34,1.56,.64,1) 70ms both svelte-ybsenl-row-slide}.feat-card.svelte-ybsenl:hover .fi-c3:where(.svelte-ybsenl){animation:.3s cubic-bezier(.34,1.56,.64,1) .14s both svelte-ybsenl-row-slide}@keyframes svelte-ybsenl-arrow-drop{0%,to{transform:translateY(0)}30%{transform:translateY(4px)}60%{transform:translateY(-1px)}80%{transform:translateY(2px)}}.feat-card.svelte-ybsenl:hover .fi-arrow-grp:where(.svelte-ybsenl){animation:.5s cubic-bezier(.34,1.56,.64,1) both svelte-ybsenl-arrow-drop}@keyframes svelte-ybsenl-spin-once{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.feat-card.svelte-ybsenl:hover .fi-half-grp:where(.svelte-ybsenl){transform-box:view-box;transform-origin:50%;animation:.6s cubic-bezier(.34,1.56,.64,1) both svelte-ybsenl-spin-once}@keyframes svelte-ybsenl-frame-pulse{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.fi-frame2.svelte-ybsenl,.fi-frame3.svelte-ybsenl{transform-box:fill-box;transform-origin:50%}.feat-card.svelte-ybsenl:hover .fi-frame3:where(.svelte-ybsenl){animation:.45s cubic-bezier(.34,1.56,.64,1) both svelte-ybsenl-frame-pulse}.feat-card.svelte-ybsenl:hover .fi-frame2:where(.svelte-ybsenl){animation:.45s cubic-bezier(.34,1.56,.64,1) 70ms both svelte-ybsenl-frame-pulse}.ts-grid-card.svelte-ybsenl{cursor:zoom-in;aspect-ratio:4/3;background:#111;border:none;border-radius:.75rem;width:100%;padding:0;display:block;position:relative;overflow:hidden}.ts-grid-overlay.svelte-ybsenl{background:0 0;align-items:flex-end;padding:10px;transition:background .25s;display:flex;position:absolute;inset:0}.ts-grid-card.svelte-ybsenl:hover .ts-grid-overlay:where(.svelte-ybsenl){background:#0009}.ts-grid-label.svelte-ybsenl{letter-spacing:.2em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;white-space:nowrap;background:#0000008c;border-radius:999px;padding:3px 8px;font-family:monospace;font-size:8px;transition:opacity .2s,transform .25s;transform:translateY(4px)}.ts-grid-card.svelte-ybsenl:hover .ts-grid-label:where(.svelte-ybsenl){opacity:1;transform:translateY(0)}.cv-section.svelte-ybsenl{content-visibility:auto;contain-intrinsic-size:0 800px}
