.cloud-transition{z-index:20;pointer-events:none;visibility:hidden;opacity:0;background:radial-gradient(36% 33% at 9% 78%,#f8fcff 17%,#e9f2fa 65%,#0000 100%),radial-gradient(39% 43% at 28% 17%,#fff 15%,#e4eff9 68%,#0000 100%),radial-gradient(43% 38% at 57% 75%,#fff 18%,#d9e9f7 73%,#0000 100%),radial-gradient(42% 43% at 84% 23%,#fbfdff 13%,#e0ecf7 70%,#0000 100%),linear-gradient(130deg,#e8f3fb,#fbfdff 51%,#dcecf8);position:fixed;inset:0}.cloud-transition:before,.cloud-transition:after{content:"";pointer-events:none;position:absolute;inset:-12%}.cloud-transition:before{opacity:.9;background:radial-gradient(25% 27% at 19% 44%,#fff 10%,#fff0 100%),radial-gradient(28% 25% at 70% 56%,#fff 9%,#fff0 100%),radial-gradient(24% 29% at 90% 80%,#eef7fd 9%,#eef7fd00 100%);transform:translate(-7%,3%)scale(1.08)}.cloud-transition:after{background:radial-gradient(70% 43% at 50% 51%,#ffffff75,#fff0 75%);transform:translate(7%,-3%)scale(1.08)}.cloud-loader{z-index:1;color:#879cab;text-align:center;place-items:center;font-family:Georgia,Times New Roman,serif;display:grid;position:absolute;inset:0}.cloud-loader-center{position:absolute;inset:0}.cloud-loader-mark{aspect-ratio:672/708;filter:drop-shadow(0 15px 20px #4a71902e);width:clamp(145px,12vw,225px);position:absolute;top:30%;left:50%;transform:translate(-50%)}.cloud-loader-piece{object-fit:contain;filter:brightness(0)invert(4%);will-change:transform;width:100%;height:100%;display:block;position:absolute;inset:0}.cloud-loader-piece-left{clip-path:polygon(0 42%,29% 42%,30% 54%,36% 69%,50% 100%,0 100%);transform-origin:50% 100%}.cloud-loader-piece-right{clip-path:polygon(71% 42%,100% 42%,100% 100%,50% 100%,64% 69%,70% 54%);transform-origin:50% 100%}.cloud-loader-piece-center{clip-path:polygon(50% 0,72% 31%,62% 46%,54% 69%,50% 88%,46% 69%,38% 46%,28% 31%);transform-origin:50% 78%}.cloud-loader-messages{width:min(68vw,1000px);position:absolute;top:70%;left:50%;transform:translate(-50%)}.cloud-loader-message{display:none}[data-world-entry-source=gate] .cloud-entry-cover [data-loader-journey=gate-world],[data-world-entry-source=gate] .world-entry-cover [data-loader-journey=gate-world],[data-world-entry-source=portfolio] body.is-entering .cloud-entry-cover [data-loader-journey=portfolio-world],[data-world-entry-source=portfolio] .world-entry-cover [data-loader-journey=portfolio-world],[data-world-exit-target=gate] .world-exit-cover [data-loader-journey=world-gate],.arriving-from-world[data-world-exit-target=gate] .cloud-arrival-cover [data-loader-journey=world-gate],[data-world-exit-target=portfolio] .world-exit-cover [data-loader-journey=world-portfolio],.arriving-from-world[data-world-exit-target=portfolio] .cloud-arrival-cover [data-loader-journey=world-portfolio],body.is-returning-gate .cloud-entry-cover [data-loader-journey=portfolio-gate],.arriving-from-portfolio .cloud-arrival-cover [data-loader-journey=portfolio-gate]{display:block}.cloud-loader-message h2{margin:0 0 10px;font-size:clamp(22px,1.75vw,34px);font-weight:700;line-height:1.15}.cloud-loader-message p{color:#879cab;max-width:940px;margin:0 auto;font-family:Instrument Sans,Arial,sans-serif;font-size:clamp(15px,1.35vw,25px);font-weight:400;line-height:1.28}.cloud-loader-bottom{align-items:center;gap:clamp(16px,2vw,36px);display:flex;position:absolute;bottom:max(34px,7vh);left:0;right:0}.cloud-loader-bottom img{filter:brightness(0)invert(4%);width:clamp(100px,9vw,168px);height:auto;display:block}.cloud-loader-rule{background:#9eb0bb66;flex:1;height:1px}.cloud-loader-mark,.cloud-loader-messages,.cloud-loader-bottom{opacity:0;transition:opacity .45s}@keyframes cloud-mark-left{0%,50%,to{transform:none}23%,73%{transform:translate(-9px,5px)rotate(-5deg)}}@keyframes cloud-mark-right{0%,50%,to{transform:none}23%,73%{transform:translate(9px,5px)rotate(5deg)}}@keyframes cloud-mark-center{0%,50%,to{transform:none}23%,73%{transform:translateY(-13px)scale(1.035)}}body.is-entering .cloud-entry-cover :is(.cloud-loader-mark,.cloud-loader-messages,.cloud-loader-bottom),body.is-returning-gate .cloud-entry-cover :is(.cloud-loader-mark,.cloud-loader-messages,.cloud-loader-bottom),body.leaving-world .world-exit-cover :is(.cloud-loader-mark,.cloud-loader-messages,.cloud-loader-bottom),.arriving-from-portfolio:not(.gate-return-ready) .cloud-arrival-cover :is(.cloud-loader-mark,.cloud-loader-messages,.cloud-loader-bottom),.arriving-from-world:not(.world-exit-ready) .cloud-arrival-cover :is(.cloud-loader-mark,.cloud-loader-messages,.cloud-loader-bottom),.arriving-from-gate:not(.world-ready) .world-entry-cover :is(.cloud-loader-mark,.cloud-loader-messages,.cloud-loader-bottom){opacity:1}:is(body.is-entering .cloud-entry-cover,body.is-returning-gate .cloud-entry-cover,body.leaving-world .world-exit-cover,.arriving-from-world:not(.world-exit-ready) .cloud-arrival-cover,.arriving-from-portfolio:not(.gate-return-ready) .cloud-arrival-cover,.arriving-from-gate:not(.world-ready) .world-entry-cover) .cloud-loader-piece-left{animation:2.4s ease-in-out infinite cloud-mark-left}:is(body.is-entering .cloud-entry-cover,body.is-returning-gate .cloud-entry-cover,body.leaving-world .world-exit-cover,.arriving-from-world:not(.world-exit-ready) .cloud-arrival-cover,.arriving-from-portfolio:not(.gate-return-ready) .cloud-arrival-cover,.arriving-from-gate:not(.world-ready) .world-entry-cover) .cloud-loader-piece-right{animation:2.4s ease-in-out infinite cloud-mark-right}:is(body.is-entering .cloud-entry-cover,body.is-returning-gate .cloud-entry-cover,body.leaving-world .world-exit-cover,.arriving-from-world:not(.world-exit-ready) .cloud-arrival-cover,.arriving-from-portfolio:not(.gate-return-ready) .cloud-arrival-cover,.arriving-from-gate:not(.world-ready) .world-entry-cover) .cloud-loader-piece-center{animation:2.4s ease-in-out infinite cloud-mark-center}body.is-entering .cloud-entry-cover,body.is-returning-gate .cloud-entry-cover,body.leaving-world .world-exit-cover{visibility:visible;opacity:1;will-change:opacity;transition:opacity 1.15s cubic-bezier(.2,.7,.2,1)}body.is-entering .cloud-entry-cover:before,body.is-returning-gate .cloud-entry-cover:before,body.leaving-world .world-exit-cover:before,.arriving-from-world .cloud-arrival-cover:before,.arriving-from-portfolio .cloud-arrival-cover:before,.arriving-from-gate .world-entry-cover:before,body.is-entering .cloud-entry-cover:after,body.is-returning-gate .cloud-entry-cover:after,body.leaving-world .world-exit-cover:after,.arriving-from-world .cloud-arrival-cover:after,.arriving-from-portfolio .cloud-arrival-cover:after,.arriving-from-gate .world-entry-cover:after{transition:transform 1.15s cubic-bezier(.2,.7,.2,1);transform:none}.arriving-from-world .cloud-arrival-cover,.arriving-from-portfolio .cloud-arrival-cover{visibility:visible;opacity:1}.arriving-from-portfolio.gate-return-ready .cloud-arrival-cover,.arriving-from-world.world-exit-ready .cloud-arrival-cover{visibility:hidden;opacity:0;transition:opacity 1.3s cubic-bezier(.45,0,.2,1),visibility 0s linear 1.3s}.arriving-from-world.world-exit-ready .cloud-arrival-cover:before,.arriving-from-portfolio.gate-return-ready .cloud-arrival-cover:before,.arriving-from-gate.world-ready .world-entry-cover:before{transition-duration:1.3s;transform:translate(7%,-3%)scale(1.08)}.arriving-from-world.world-exit-ready .cloud-arrival-cover:after,.arriving-from-portfolio.gate-return-ready .cloud-arrival-cover:after,.arriving-from-gate.world-ready .world-entry-cover:after{transition-duration:1.3s;transform:translate(-7%,3%)scale(1.08)}@media (width<=640px){.cloud-loader-mark{width:min(38vw,190px);top:25%}.cloud-loader-messages{width:min(84vw,480px);top:61%}.cloud-loader-message h2{font-size:clamp(20px,5vw,27px)}.cloud-loader-message p{font-size:clamp(13px,3.3vw,17px)}.cloud-loader-bottom{bottom:max(22px,5vh)}}body.is-opening-portfolio .cloud-entry-cover,.arriving-from-gate-portfolio .cloud-arrival-cover{visibility:visible;opacity:1;background:radial-gradient(at 30% 70%,#fff,#0000 65%),#f5f5f2}body.is-opening-portfolio .cloud-entry-cover{pointer-events:auto;transition:opacity .9s cubic-bezier(.22,.61,.36,1)}.arriving-from-gate-portfolio.portfolio-entry-ready .cloud-arrival-cover{visibility:hidden;opacity:0;transition:opacity 1.1s cubic-bezier(.45,0,.2,1),visibility 0s linear 1.1s}.arriving-from-gate-portfolio .cloud-arrival-cover .cloud-loader{display:none}body.is-opening-portfolio .gate-brand,body.is-opening-portfolio .gate-choice,body.is-opening-portfolio .gate-chat,body.is-opening-portfolio .gate-settings{opacity:0;transition:opacity .5s}@media (prefers-reduced-motion:reduce){body.is-opening-portfolio .cloud-entry-cover{transition-duration:.15s}.arriving-from-gate-portfolio.portfolio-entry-ready .cloud-arrival-cover{transition-duration:.2s,.2s}.cloud-transition:before,.cloud-transition:after{transform:none}.cloud-loader-piece{animation:none!important}body.is-entering .cloud-entry-cover,body.is-returning-gate .cloud-entry-cover,body.leaving-world .world-exit-cover{transition-duration:.15s}.arriving-from-world.world-exit-ready .cloud-arrival-cover,.arriving-from-portfolio.gate-return-ready .cloud-arrival-cover{transition-duration:.2s,.2s}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f1f3ec;background:#030403;font-family:Instrument Sans,sans-serif}*{box-sizing:border-box}body{min-height:100svh;margin:0}a{color:inherit;text-decoration:none}header,footer{z-index:2;justify-content:space-between;gap:24px;font-size:12px;display:flex;position:fixed;left:5vw;right:5vw}header{text-transform:uppercase;top:32px}header a{letter-spacing:.04em;font-weight:600}.header-mark{object-fit:contain;filter:brightness(0)invert(4%);pointer-events:none;width:34px;height:36px;transition:opacity .18s;position:absolute;top:-8px;left:50%;transform:translate(-50%)}footer{font-size:10px;bottom:26px}.world-portfolio-choice{aspect-ratio:472/157;-webkit-tap-highlight-color:transparent;flex:none;width:clamp(195px,23vw,325px);display:block;position:relative}.world-portfolio-art,.world-portfolio-accent{pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:absolute}.world-portfolio-art{z-index:1;object-fit:contain;filter:drop-shadow(0 4px 12px #041f24a1);width:100%;height:100%;transition:opacity .28s,transform .34s cubic-bezier(.2,.8,.2,1),filter .34s;inset:0}.world-portfolio-art-hover{opacity:0}.world-portfolio-accent{z-index:0;object-fit:contain;opacity:0;filter:drop-shadow(0 0 12px #9bf6db);width:115%;height:76%;transition:opacity .28s,transform .48s cubic-bezier(.2,.8,.2,1);top:12%;right:-26%;transform:translate(13%)scaleX(.84)}.world-portfolio-choice:is(:hover,:focus-visible) .world-portfolio-art:not(.world-portfolio-art-hover){opacity:0}.world-portfolio-choice:is(:hover,:focus-visible) .world-portfolio-art-hover{opacity:1;filter:drop-shadow(0 0 15px #48d3d0a8);transform:scale(1.025)}.world-portfolio-choice:is(:hover,:focus-visible) .world-portfolio-accent{opacity:.94;transform:translate(0)scaleX(1)}.music-toggle{z-index:5;color:#f1f3ec;letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#071723b3;border:1px solid #fff6;border-radius:999px;width:auto;padding:8px 12px;font-size:10px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.profile-active>.music-toggle,.skill-active>.music-toggle{opacity:0;pointer-events:none}canvas{touch-action:pan-y;cursor:grab;width:100%;height:100svh;display:block}canvas.is-dragging{cursor:grabbing}.meadow-foreground,.fireflies{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.meadow-foreground{background:var(--meadow-background) center / cover no-repeat;transform-origin:50% 100%;animation:9s ease-in-out infinite alternate meadow-breeze;-webkit-mask-image:linear-gradient(#0000 62%,#000 80%);mask-image:linear-gradient(#0000 62%,#000 80%)}.meadow-foreground:after{content:"";background:var(--meadow-motion) center bottom / cover no-repeat;opacity:.7;height:34%;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 38%);mask-image:linear-gradient(#0000,#000 38%)}.fireflies span{left:var(--x);top:var(--y);width:var(--size,5px);height:var(--size,5px);opacity:0;animation:firefly-drift var(--duration,6s) ease-in-out var(--delay,0s) infinite alternate;background:#edff89;border-radius:50%;position:absolute;box-shadow:0 0 9px 3px #dfff54,0 0 28px 10px #cfff3266}.fireflies span:first-child{--x:5%;--y:65%;--size:7px;--duration:6.8s;--delay:-1s}.fireflies span:nth-child(2){--x:14%;--y:76%;--duration:5.5s;--delay:-3s}.fireflies span:nth-child(3){--x:25%;--y:60%;--size:3px;--duration:8s;--delay:-2s}.fireflies span:nth-child(4){--x:34%;--y:83%;--size:7px;--duration:6s;--delay:-4s}.fireflies span:nth-child(5){--x:44%;--y:68%;--duration:7.5s;--delay:-6s}.fireflies span:nth-child(6){--x:54%;--y:88%;--size:3px;--duration:5s;--delay:-2.5s}.fireflies span:nth-child(7){--x:66%;--y:74%;--size:6px;--duration:8.5s;--delay:-5s}.fireflies span:nth-child(8){--x:77%;--y:60%;--duration:6s;--delay:-1.5s}.fireflies span:nth-child(9){--x:88%;--y:82%;--size:8px;--duration:7s;--delay:-4.5s}.fireflies span:nth-child(10){--x:96%;--y:70%;--duration:5.8s;--delay:-3.5s}.fireflies span:nth-child(11){--x:3%;--y:89%;--size:3px;--duration:7.2s;--delay:-6.5s}.fireflies span:nth-child(12){--x:70%;--y:91%;--duration:9s;--delay:-7s}@keyframes meadow-breeze{0%{transform:scale(1.015)translate(-.35%)}to{transform:scale(1.025)translate(.35%)}}@keyframes firefly-drift{0%{opacity:.12;transform:translate(-12px,8px)scale(.65)}50%{opacity:.86}to{opacity:.26;transform:translate(18px,-16px)scale(1.18)}}.caption{pointer-events:none;position:absolute;top:14vh;left:6vw}.caption p{color:#bbff38;letter-spacing:.18em;font-size:10px}.caption h1{letter-spacing:-.05em;margin:8px 0;font-size:clamp(26px,3vw,38px);font-weight:400}.caption span{color:#8b9186;font-size:12px}.status{color:#949b8c;max-width:55vw;font-size:11px;position:fixed;bottom:68px;left:6vw}.controls{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#10130de6;border:1px solid #ffffff20;border-radius:12px;width:220px;padding:16px;font-size:11px;position:fixed;top:15vh;right:5vw}summary{cursor:pointer;color:#bbff38;margin-bottom:12px}.controls:not([open]) summary{margin:0}.controls label{justify-content:space-between;align-items:center;gap:12px;margin:12px 0;display:flex}input[type=range]{accent-color:#bbff38;width:100px}select,button{color:#f1f3ec;font:inherit;background:#1c2117;border:1px solid #ffffff25;border-radius:5px;padding:6px}.toggles{gap:12px;display:flex}button{cursor:pointer;width:100%}:focus-visible{outline-offset:4px;outline:2px solid #bbff38}@media (width<=640px){header{top:24px}.header-mark{width:30px;height:32px;top:-6px}.caption{top:12vh}.controls{width:190px;padding:10px;top:auto;bottom:75px}.controls:not([open]) summary{margin:0}footer{font-size:9px}footer span:last-child{display:none}.caption span{max-width:230px;display:block}}[hidden]{display:none!important}header span,footer{color:#f1f3ec}footer{align-items:center;font-size:12px}footer [data-profile-open]{align-self:flex-end;margin-bottom:13px}@media (width<=640px){.world-portfolio-choice{width:clamp(165px,44vw,225px)}footer [data-profile-open]{margin-bottom:9px}}@media (prefers-reduced-motion:reduce){.world-portfolio-art,.world-portfolio-accent{transition:none}}.corner-link{width:auto;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;padding:0}.profile-dialog{color:#f1f3ec;background:0 0;border:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:auto}.profile-dialog::backdrop{background:0 0}.profile-close{font-size:12px;animation:.32s both corner-blink-in;position:fixed;bottom:26px;left:5vw}.profile-copy{text-align:center;width:min(620px,78vw);opacity:var(--profile-opacity,0);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.profile-dialog.is-opening .profile-copy{clip-path:circle(var(--profile-reveal-radius,0px) at 50% 50%)}.profile-copy h1{margin:0 0 18px;font-size:14px;font-weight:500}.profile-copy p{margin:0 0 16px;font-size:16px;line-height:1.55}.profile-copy>span{color:#8b9186;margin-top:24px;font-size:10px;display:block}.profile-copy .profile-music-credit{color:#8b9186;margin:14px 0 0;font-size:10px;line-height:1.4}.profile-music-credit a{color:#c6c9c1;text-underline-offset:3px;text-decoration:underline}.profile-credit{color:#8b9186;width:max-content;max-width:55vw;opacity:var(--profile-credit-opacity,0);margin:0;font-size:10px;position:fixed;bottom:62px;left:50%;transform:translate(-50%)}.profile-credit a{color:#c6c9c1;text-underline-offset:3px;text-decoration:underline}@media (width<=640px){footer span:last-child{display:block}footer{gap:12px;font-size:10px}.profile-close{font-size:10px}.profile-copy{width:78vw}.profile-copy p{font-size:14px}.profile-credit{max-width:90vw;font-size:9px;bottom:68px}.music-toggle{font-size:9px;bottom:14px}}header a,header>button,footer>a,[data-profile-open]{transition:opacity .18s,color .3s}header,header>button{color:#17394b}.profile-active header a,.profile-active header>button,.profile-active footer>a{opacity:.35}.arriving-from-gate .world-entry-cover{visibility:visible;opacity:1}.arriving-from-gate.world-ready .world-entry-cover{opacity:0;visibility:hidden;transition:opacity 1.3s cubic-bezier(.45,0,.2,1),visibility 0s linear 1.3s}@media (prefers-reduced-motion:reduce){.arriving-from-gate.world-ready .world-entry-cover{transition-duration:.2s,.2s}}.profile-active .header-mark,.skill-active .header-mark{opacity:.35}.profile-active header a,.profile-active header>button{color:#f1f3ec}.profile-active [data-profile-open],.skill-active [data-skill-open]{opacity:0;pointer-events:none}.skill-active header a,.skill-active footer>*{opacity:.35}.skill-dialog{color:#f1f3ec;background:0 0;border:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.skill-dialog::backdrop{background:0 0}.skill-close{color:#17394b;font-size:12px;animation:.32s both corner-blink-in;position:fixed;top:32px;right:5vw}.skill-copy{text-align:center;width:min(420px,76vw);opacity:var(--skill-opacity,0);clip-path:circle(var(--skill-reveal-radius,0px) at 50% 50%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.skill-copy h1{letter-spacing:.16em;margin:0 0 17px;font-size:11px;font-weight:500}.skill-intro{max-width:380px;margin:0 auto 17px;font-size:14px;line-height:1.5}.skill-list{margin:0;padding:0;font-size:14px;line-height:1.6;list-style:none}.skill-years{color:#a4aaa6;letter-spacing:.08em;margin:19px 0 15px;font-size:10px}.skill-social{justify-content:center;gap:19px;font-size:10px;display:flex}.skill-social a{text-underline-offset:3px;text-decoration:underline}@keyframes corner-blink-in{0%,42%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur()}}.corner-link.is-returning{animation:.32s both corner-blink-in}@media (width<=640px){.skill-close{font-size:10px;top:24px}.skill-copy{width:74vw}.skill-intro,.skill-list{font-size:11px}.skill-copy h1{margin-bottom:9px}.skill-intro{margin-bottom:10px}.skill-years{margin:10px 0;font-size:8px}.skill-social{gap:10px;font-size:8px}}@media (prefers-reduced-motion:reduce){.profile-close,.skill-close,.corner-link.is-returning,.meadow-foreground,.fireflies span{animation:none}.meadow-foreground:after{background-image:none}.fireflies span{opacity:.35}}
