.word.svelte-1qok8n5{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.12em .08em .16em;margin:-.12em -.08em -.16em}.char.svelte-1qok8n5{display:inline-block;transform:translateY(115%) rotate(3deg);transform-origin:left bottom;transition:transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * var(--stagger) + var(--delay));will-change:transform}.split.reveal{opacity:1!important;transform:none!important;transition:none!important}.split.is-visible .char.svelte-1qok8n5{transform:none}@media (prefers-reduced-motion: reduce){.char.svelte-1qok8n5{transform:none;transition:none}}.optimized-image-container.svelte-5damu4{position:relative;overflow:hidden;background-color:#f3f4f6;border-radius:.5rem}.optimized-image-container.loaded.svelte-5damu4{background-color:transparent}.optimized-image-container.error.svelte-5damu4{background-color:#fef2f2}@media (prefers-reduced-motion: reduce){.optimized-image-container.svelte-5damu4 :where(.svelte-5damu4){transition:none!important;animation:none!important}}.marquee.svelte-3rpc7p{position:relative;overflow:hidden;transform:rotate(var(--tilt));white-space:nowrap}.marquee-track.svelte-3rpc7p{display:flex;width:-moz-max-content;width:max-content;animation:svelte-3rpc7p-scroll var(--duration) linear infinite}.marquee.svelte-3rpc7p:hover .marquee-track:where(.svelte-3rpc7p){animation-play-state:paused}.marquee-group.svelte-3rpc7p{display:flex;align-items:center}.marquee-item.svelte-3rpc7p{padding:0 1.5rem;font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,3rem);line-height:1.6;letter-spacing:-.01em}.marquee-dot.svelte-3rpc7p{font-size:.9rem;opacity:.6}@keyframes svelte-3rpc7p-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.marquee-track.svelte-3rpc7p{animation:none}}.about-marquee{padding:1.1rem 0;margin-top:-1px;background:var(--accent);color:#0a0a0c;width:110vw;margin-left:-5vw}.about-title.svelte-tpbf16{display:flex;flex-wrap:wrap;gap:0 .25em}.about-grid.svelte-tpbf16{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}.photo-frame.svelte-tpbf16{position:relative;max-width:400px;margin-inline:auto}.photo.svelte-tpbf16{position:relative;aspect-ratio:3 / 4;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-elevated);box-shadow:0 40px 100px -30px #000000e6;will-change:clip-path}.photo-inner.svelte-tpbf16{position:absolute;inset:0;will-change:transform}.photo.svelte-tpbf16 .photo-img{width:100%;height:100%;border-radius:0;background:transparent;filter:saturate(.85);transition:filter .6s ease}.photo.svelte-tpbf16:hover .photo-img{filter:saturate(1)}.photo-caption.svelte-tpbf16{position:absolute;left:1rem;bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-radius:999px;background:#0a0a0cb3;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.78rem;color:var(--text-secondary);pointer-events:none}.photo-caption-dot.svelte-tpbf16{width:6px;height:6px;border-radius:50%;background:var(--accent)}.photo.glitch.svelte-tpbf16{animation:svelte-tpbf16-shake .7s steps(12) both}.glitch-layer.svelte-tpbf16{position:absolute;inset:0;pointer-events:none}.glitch-rgb.svelte-tpbf16{background:linear-gradient(90deg,rgba(255,0,80,.35),transparent 40%,transparent 60%,rgba(0,200,255,.35));mix-blend-mode:screen;animation:svelte-tpbf16-rgbShift .12s steps(2) infinite}.glitch-lines.svelte-tpbf16{background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.08) 3px 4px,rgba(0,0,0,.25) 4px 6px);mix-blend-mode:overlay;animation:svelte-tpbf16-scan .2s linear infinite}@keyframes svelte-tpbf16-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px,1px) skew(-1deg)}40%{transform:translate(3px,-1px)}60%{transform:translate(-2px,2px) skew(1deg)}80%{transform:translate(2px,-2px)}}@keyframes svelte-tpbf16-rgbShift{0%{transform:translate(-6px)}to{transform:translate(6px)}}@keyframes svelte-tpbf16-scan{0%{background-position:0 0}to{background-position:0 12px}}.about-text.svelte-tpbf16{display:flex;flex-direction:column;gap:1.5rem}.about-lead.svelte-tpbf16{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.3;color:var(--text-primary)}.about-lead.svelte-tpbf16 .hl{font-size:1em}.about-text.svelte-tpbf16 .nowrap{white-space:nowrap}.about-intro.svelte-tpbf16{margin:0;font-size:1.05rem;line-height:1.7;color:var(--text-muted)}.about-intro.svelte-tpbf16 strong{font-weight:500;color:var(--accent-text)}.background.svelte-tpbf16{margin-top:.5rem}.background-head.svelte-tpbf16{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:baseline;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.background-label.svelte-tpbf16{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}.background-lead.svelte-tpbf16{margin:0;font-size:.88rem;line-height:1.6;color:var(--text-muted)}.background-list.svelte-tpbf16{margin:0;padding:0;list-style:none}.background-item.svelte-tpbf16{position:relative;display:flex;align-items:baseline;gap:1.25rem;padding:.7rem 0;border-bottom:1px solid var(--border);overflow:hidden}.background-index.svelte-tpbf16{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;color:var(--text-subtle);transition:color .3s ease}.background-name.svelte-tpbf16{font-family:var(--font-display);font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.1;color:var(--text-primary);transition:transform .6s var(--ease-out),color .3s ease}.background-line.svelte-tpbf16{position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}.background-item.svelte-tpbf16:hover .background-name:where(.svelte-tpbf16){transform:translate(10px);color:var(--accent-text)}.background-item.svelte-tpbf16:hover .background-index:where(.svelte-tpbf16){color:var(--accent-text)}.background-item.svelte-tpbf16:hover .background-line:where(.svelte-tpbf16){transform:scaleX(1)}.skills.svelte-tpbf16{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;margin:.25rem 0 0}.skills-title.svelte-tpbf16{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}.skills-list.svelte-tpbf16{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;font-family:var(--font-display);font-size:1.15rem;color:var(--text-secondary)}.skill-sep.svelte-tpbf16{color:var(--text-subtle)}.about.svelte-tpbf16{padding-bottom:1rem}.interests-wrap.svelte-tpbf16{margin-top:clamp(3rem,6vw,5rem);padding-top:4rem;border-top:1px solid var(--border)}.playground.svelte-tpbf16{--mx: 0;--my: 0;--scale: 1;position:relative;height:clamp(340px,36vw,460px);perspective:1400px}.playground-title.svelte-tpbf16{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;text-align:center;pointer-events:none;z-index:5}.title-state.svelte-tpbf16{grid-area:1 / 1;display:flex;flex-direction:column;align-items:center}.playground-heading.svelte-tpbf16{display:block;margin:0;font-family:var(--font-display);font-style:italic;font-size:clamp(2.6rem,7vw,6rem);line-height:1;letter-spacing:-.02em;color:var(--text-primary);white-space:nowrap}.playground-heading-active.svelte-tpbf16{color:var(--accent-text)}.playground-hint.svelte-tpbf16,.playground-index.svelte-tpbf16{display:block;margin-top:.9rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-subtle)}.playground-index.svelte-tpbf16{margin:0 0 .9rem;color:var(--accent-text)}.obj.svelte-tpbf16{position:absolute;left:var(--x);top:var(--y);width:calc(var(--size) * 1px * var(--scale));aspect-ratio:1;margin:calc(var(--size) * -.5px * var(--scale)) 0 0 calc(var(--size) * -.5px * var(--scale));z-index:calc(var(--depth) * 10);opacity:calc(.55 + var(--depth) * .4);filter:blur(calc(max(0,1 - var(--depth))/.4px));transition:opacity .8s ease,filter .6s ease;will-change:transform;cursor:pointer}.obj.svelte-tpbf16.reveal{opacity:0;transform:none}.obj.svelte-tpbf16.reveal.is-visible{opacity:calc(.55 + var(--depth) * .4)}.obj.dimmed.svelte-tpbf16,.obj.reveal.is-visible.dimmed.svelte-tpbf16{opacity:.18;filter:blur(3px) grayscale(.6)}.obj-mouse.svelte-tpbf16{width:100%;height:100%;transform:translate3d(calc(var(--mx) * var(--depth) * 70px),calc(var(--my) * var(--depth) * 50px),0);transition:transform 1s var(--ease-out);will-change:transform}.obj-float.svelte-tpbf16{width:100%;height:100%;animation:svelte-tpbf16-floaty 7s ease-in-out infinite;animation-delay:calc(var(--i) * -1.15s);transform:rotate(var(--rot));transition:scale .6s var(--ease-out);will-change:transform}.obj.active.svelte-tpbf16 .obj-float:where(.svelte-tpbf16){scale:1.18}.obj-tilt.svelte-tpbf16{width:100%;height:100%}.obj.svelte-tpbf16 .obj-img{width:100%;height:100%;background:transparent;border-radius:0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7))}.obj.svelte-tpbf16 img{-o-object-fit:contain;object-fit:contain}.sound-toggle.svelte-tpbf16{position:absolute;right:0;top:-2rem;z-index:20;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:color .3s ease,border-color .3s ease}.sound-toggle.svelte-tpbf16:hover{color:var(--text-primary);border-color:var(--border-strong)}.sound-toggle.on.svelte-tpbf16{color:var(--accent-text);border-color:var(--accent-border)}@keyframes svelte-tpbf16-floaty{0%,to{translate:0 0}50%{translate:0 -14px}}.mobile-interests.svelte-tpbf16{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}.mobile-head.svelte-tpbf16{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.swipe-hint.svelte-tpbf16{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle)}.swipe-arrow.svelte-tpbf16{display:inline-block;animation:svelte-tpbf16-nudge 1.6s ease-in-out infinite}@keyframes svelte-tpbf16-nudge{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.carousel.svelte-tpbf16{--slide: 58vw;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:calc(-1*clamp(1.25rem,4vw,3rem));padding-inline:calc((100vw - var(--slide)) / 2);padding-block:1rem}.carousel.svelte-tpbf16::-webkit-scrollbar{display:none}.slide.svelte-tpbf16{flex:0 0 var(--slide);aspect-ratio:1;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;scroll-snap-stop:always}.slide-obj.svelte-tpbf16{width:82%;aspect-ratio:1;transform:scale(var(--scale)) rotate(var(--rot));opacity:var(--op);transition:transform .12s linear,opacity .12s linear;animation:svelte-tpbf16-floaty 6s ease-in-out infinite;animation-delay:calc(var(--i) * -1s);will-change:transform,opacity}.slide-obj.svelte-tpbf16 .obj-img{width:100%;height:100%;background:transparent;border-radius:0;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7))}.slide-obj.svelte-tpbf16 img{-o-object-fit:contain;object-fit:contain}.carousel-caption.svelte-tpbf16{display:grid;min-height:5.5rem;margin-top:.5rem;text-align:center}.carousel-caption.svelte-tpbf16 .title-state:where(.svelte-tpbf16){grid-area:1 / 1}.carousel-caption.svelte-tpbf16 .playground-index:where(.svelte-tpbf16){margin:0 0 .5rem}.carousel-caption.svelte-tpbf16 .playground-heading:where(.svelte-tpbf16){font-size:clamp(2.2rem,10vw,3.2rem);color:var(--accent-text);white-space:normal}@media (max-width: 900px){.about-grid.svelte-tpbf16{grid-template-columns:1fr}.photo-frame.svelte-tpbf16{max-width:340px;margin-inline:0}.playground.svelte-tpbf16{--scale: .5;height:360px}.playground-heading.svelte-tpbf16{font-size:clamp(2rem,9vw,3rem)}.obj.svelte-tpbf16{left:var(--xm);top:var(--ym);filter:none}}@media (max-width: 520px){.background-head.svelte-tpbf16{grid-template-columns:1fr;gap:.5rem}}
