.cycling-text-measurer.svelte-18dt0vq{position:absolute;visibility:hidden;white-space:nowrap;pointer-events:none;font:inherit;letter-spacing:inherit}.cycling-text.svelte-18dt0vq{display:inline-flex;white-space:nowrap}.cycling-text-char.svelte-18dt0vq{display:inline-block;will-change:opacity,filter,transform}.intro-avatar.svelte-10cvnim{border:2px solid color-mix(in srgb,var(--color-accent) 30%,transparent);transition:box-shadow .3s ease}.intro-avatar.svelte-10cvnim:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 15%,transparent),0 0 20px color-mix(in srgb,var(--color-accent) 20%,transparent)}@keyframes svelte-10cvnim-fadeSlideUp{0%{opacity:0;transform:translateY(16px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.intro-stagger-1.svelte-10cvnim{animation:svelte-10cvnim-fadeSlideUp .5s ease both;animation-delay:0ms}.intro-stagger-2.svelte-10cvnim{animation:svelte-10cvnim-fadeSlideUp .5s ease both;animation-delay:.1s}.intro-stagger-3.svelte-10cvnim{animation:svelte-10cvnim-fadeSlideUp .5s ease both;animation-delay:.2s}.intro-stagger-4.svelte-10cvnim{animation:svelte-10cvnim-fadeSlideUp .5s ease both;animation-delay:.35s}.intro-stagger-5.svelte-10cvnim{animation:svelte-10cvnim-fadeSlideUp .5s ease both;animation-delay:.5s}.copy-key.svelte-10cvnim{display:inline-block;min-width:20px;padding:1px 6px;margin:0 2px;font-family:var(--font-body);font-size:11px;font-weight:600;line-height:1.4;text-align:center;border-radius:4px;border:1px solid color-mix(in srgb,var(--color-muted) 30%,transparent);background:color-mix(in srgb,var(--color-muted) 8%,transparent);color:var(--color-text);box-shadow:0 1px color-mix(in srgb,var(--color-muted) 20%,transparent)}.work-container.svelte-17ndl8v{min-height:500px}@media(min-width:768px){.work-container.svelte-17ndl8v{min-height:400px}}.work-card.svelte-17ndl8v{background-color:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-muted) 15%,transparent);border-radius:12px;padding:16px;box-shadow:0 8px 32px #0000004d;transition:box-shadow .2s ease,transform .2s ease;will-change:transform}.work-card.svelte-17ndl8v:hover{box-shadow:0 12px 48px #00000073}@media(hover:hover){.work-card.svelte-17ndl8v:hover{filter:brightness(1.02)}}@media(prefers-reduced-motion:reduce){.work-card.svelte-17ndl8v:hover{box-shadow:0 8px 32px #0000004d;filter:none}}.expand-hint.svelte-17ndl8v{position:absolute;top:10px;right:10px;color:var(--color-muted);opacity:.3;transition:opacity .15s ease}.work-card.svelte-17ndl8v:hover .expand-hint:where(.svelte-17ndl8v){opacity:.7}.work-tag.svelte-17ndl8v{font-size:10px;padding:2px 8px;border-radius:9999px;background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent)}.work-tag-expanded.svelte-17ndl8v{font-size:12px;padding:4px 12px;border-radius:9999px;background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent)}.work-backdrop.svelte-17ndl8v{position:fixed;inset:0;z-index:90;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:svelte-17ndl8v-fadeIn .3s ease forwards}.work-expanded.svelte-17ndl8v{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;width:min(80vw,600px);max-height:80vh;overflow-y:auto;background-color:var(--color-surface);border:1px solid color-mix(in srgb,var(--color-muted) 15%,transparent);border-radius:16px;padding:24px;box-shadow:0 24px 80px #00000080;animation:svelte-17ndl8v-expandIn .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes svelte-17ndl8v-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes svelte-17ndl8v-expandIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(prefers-reduced-motion:reduce){.work-backdrop.svelte-17ndl8v{animation:none;opacity:1}.work-expanded.svelte-17ndl8v{animation:none;opacity:1;transform:translate(-50%,-50%) scale(1)}}.contact-btn.svelte-wt4tt0{transition:background-color .2s ease}.contact-btn.svelte-wt4tt0:hover{background-color:var(--color-accent-hover)!important}.social-link.svelte-wt4tt0{transition:color .2s ease}.social-link.svelte-wt4tt0:hover{color:var(--color-accent)!important}.dock.svelte-ited7w{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:50}.dock-inner.svelte-ited7w{display:flex;flex-direction:row;gap:.25rem;padding:.5rem;border-radius:9999px;background-color:color-mix(in srgb,var(--color-surface) 80%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid color-mix(in srgb,var(--color-muted) 15%,transparent);box-shadow:0 4px 24px #0000004d}.dock-btn.svelte-ited7w{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background:transparent;cursor:pointer;color:var(--color-muted);transition:all .15s ease}.dock-btn.svelte-ited7w:hover{background-color:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent)}.dock-btn.active.svelte-ited7w{color:var(--color-accent)}.dock-icon.svelte-ited7w{width:18px;height:18px}.dock-item.svelte-ited7w{position:relative}.dock-tooltip.svelte-ited7w{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;padding:4px 10px;border-radius:6px;font-family:var(--font-body);font-size:11px;font-weight:500;white-space:nowrap;background-color:var(--color-surface);color:var(--color-text);border:1px solid color-mix(in srgb,var(--color-muted) 15%,transparent);box-shadow:0 4px 12px #0003;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;transform:translate(-50%) translateY(4px)}.dock-item.svelte-ited7w:hover .dock-tooltip:where(.svelte-ited7w){opacity:1;transform:translate(-50%) translateY(0)}
