:root{--void:#000;--ghost-white:#fffdf7;--ink:#1c1917;--cord-unlit:#454039;--cord-lit:#cfc7b8;--cord-sheen:#efe7d6;--handle-unlit:#5a544c;--handle-lit:#e8dfcd;--label-unlit:#6b645c;--label-lit:#a49b90;--ease-out:cubic-bezier(.23, 1, .32, 1);--flick-ms:.62s;--cord-x:71%;--handle-y:392px;--ghost-scale:1;--boo-size:68px}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--void);color:var(--ghost-white);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;overflow:hidden}.back-home{color:#ffffff61;z-index:100;align-items:center;gap:4px;height:32px;font-size:14px;font-weight:500;text-decoration:none;transition:color .35s;display:flex;position:fixed;top:24px;left:28px}.back-home:hover{color:#ffffffd1}.back-arrow{opacity:0;max-width:0;transition:max-width .45s var(--ease-out), opacity .4s var(--ease-out);align-items:center;display:flex;overflow:hidden}.back-arrow svg{flex-shrink:0;margin-top:2px;display:block}.back-home:hover .back-arrow{opacity:1;max-width:20px}.back-home span{line-height:1}@media (width<=767px){.back-home{color:#ffffff9e;left:20px}.back-arrow{display:none}}@media (width>=768px) and (width<=1024px){.back-arrow{display:none}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage{width:100%;height:100dvh;position:relative;overflow:hidden}.light,.reveal{opacity:0;will-change:opacity;transition:opacity 60ms linear}.is-on .light,.is-on .reveal{opacity:1}.is-flicking .light,.is-flicking .reveal{animation:flick var(--flick-ms) 1}@keyframes flick{0%{opacity:0;animation-timing-function:step-end}2%{opacity:.65;animation-timing-function:step-end}7%{opacity:.05;animation-timing-function:step-end}12%{opacity:.8;animation-timing-function:step-end}16%{opacity:.3;animation-timing-function:step-end}20%{opacity:.72;animation-timing-function:cubic-bezier(.23,1,.32,1)}34%{opacity:.95;animation-timing-function:ease-out}48%{opacity:1;animation-timing-function:ease-in-out}62%{opacity:.93;animation-timing-function:ease-in-out}to{opacity:1}}.blink-a .light,.blink-a .reveal{animation:90ms blinkA}.blink-b .light,.blink-b .reveal{animation:.24s blinkB}@keyframes blinkA{0%{opacity:1;animation-timing-function:step-end}35%{opacity:.72;animation-timing-function:step-end}70%{opacity:1}}@keyframes blinkB{0%{opacity:1;animation-timing-function:step-end}12%{opacity:.25;animation-timing-function:step-end}24%{opacity:1;animation-timing-function:step-end}40%{opacity:.55;animation-timing-function:step-end}52%{opacity:1}}.light{pointer-events:none;position:absolute;inset:0}.light>div{position:absolute}.light>div>i{width:100%;height:100%;display:block}.light__halo{filter:blur(60px);width:73.6%;height:98%;top:0;left:13.2%}.light__halo i{clip-path:polygon(35% 0%,64% 0%,95% 100%,4% 100%);background:linear-gradient(#ffb05621 0%,#ffaa5012 55%,#ffaa5000 100%)}.light__cone{filter:blur(22px);width:61.1%;height:93%;top:0;left:19.4%}.light__cone i{clip-path:polygon(37% 0%,64% 0%,92% 100%,6% 100%);background:linear-gradient(#ffce8647 0%,#ffc2722b 48%,#ffba640d 84%,#ffba6400 100%)}.light__core{filter:blur(18px);width:40.3%;height:87%;top:0;left:29.9%}.light__core i{clip-path:polygon(40% 0%,61% 0%,86% 100%,12% 100%);background:linear-gradient(#ffeeca3d 0%,#ffdca421 58%,#ffdca400 100%)}.light__bulb{filter:blur(22px);background:radial-gradient(#fff3d89e 0%,#ffce8433 50%,#ffc87800 75%);border-radius:50%;width:25%;height:22%;top:-6.7%;left:37.5%}.light__pool{filter:blur(40px);background:radial-gradient(#ffecc680 0%,#ffd08c3d 40%,#ffc06c12 66%,#ffc06c00 82%);border-radius:50%;width:54.2%;height:57.8%;top:28.9%;left:22.9%}.reveal{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.ghost{transform:scale(var(--ghost-scale));transform-origin:bottom;flex-direction:column;align-items:center;display:flex}.is-on .ghost{animation:pop .42s var(--ease-out) 1}@keyframes pop{0%{transform:scale(calc(var(--ghost-scale) * .92)) translateY(7px)}55%{transform:scale(calc(var(--ghost-scale) * 1.015)) translateY(-2px)}to{transform:scale(var(--ghost-scale)) translateY(0)}}.ghost__art{width:132px;height:180px;display:block}.ghost__body{fill:var(--ghost-white)}.ghost__eye,.ghost__mouth{fill:var(--ink)}.ghost__shadow{filter:blur(11px);background:#3c2c1829;border-radius:50%;width:136px;height:14px;margin-top:4px}.boo{font-family:Gochi Hand,Bradley Hand,Segoe Print,cursive;font-size:var(--boo-size);letter-spacing:.1em;color:var(--ghost-white);margin:-.2em 0 0;padding-left:.1em;line-height:1}.boo span{display:inline-block}.boo span:first-child{transform:rotate(-3deg)translateY(1px)}.boo span:nth-child(2){transform:rotate(2deg)translateY(-2px)}.boo span:nth-child(3){transform:rotate(-1.5deg)translateY(1px)}.is-on .boo{animation:pop-boo .42s var(--ease-out) 80ms both}@keyframes pop-boo{0%{opacity:0;transform:translateY(6px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.rope{touch-action:none;cursor:default;-webkit-tap-highlight-color:transparent;width:100%;height:100%;display:block;position:absolute;inset:0}.cord-key{left:var(--cord-x);top:var(--handle-y);color:#0000;pointer-events:none;background:0 0;border:0;border-radius:22px;width:44px;height:44px;margin:-11px 0 0 -22px;padding:0;font-size:0;position:absolute}.cord-key:focus-visible{outline-offset:2px;outline:1px solid #fff6}.cord-hint{left:calc(var(--cord-x) - 208px);top:calc(var(--handle-y) - 58px);width:188px;color:var(--label-unlit);opacity:0;-webkit-user-select:none;user-select:none;pointer-events:none;flex-direction:column;align-items:flex-end;gap:1px;transition:opacity .5s .26s,color .22s;display:flex;position:absolute}.is-landed .cord-hint{opacity:1}.cord-hint__text{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-family:Gochi Hand,Bradley Hand,Segoe Print,cursive;font-size:24px;line-height:1.25}.cord-hint__text span{display:inline-block}.cord-hint__text i{width:.4em;display:inline-block}.cord-hint__text span:first-child{transform:rotate(-4deg)translateY(1px)}.cord-hint__text span:nth-child(2){transform:rotate(2.5deg)translateY(-1.5px)}.cord-hint__text span:nth-child(3){transform:rotate(-1.5deg)translateY(2px)}.cord-hint__text span:nth-child(4){transform:rotate(4deg)translateY(-.5px)}.cord-hint__text span:nth-child(6){transform:rotate(-3.5deg)translateY(2px)}.cord-hint__text span:nth-child(7){transform:rotate(1.5deg)translateY(-2px)}.cord-hint__arrow{width:44px;height:40px;margin-right:-8px;transform:rotate(-1.5deg)}.is-on .cord-hint{color:var(--label-lit)}.has-pulled .cord-hint{opacity:0;transition:opacity .4s,color .22s}@media (width<=680px){:root{--cord-x:74%;--ghost-scale:.84;--boo-size:46px}.light__halo{width:110%;left:-5%}.light__cone{width:95%;left:2.5%}.light__cone i{clip-path:polygon(36% 0%,65% 0%,94% 100%,5% 100%)}.light__core{width:56%;left:22%}.light__bulb{width:44%;height:20%;left:28%}.light__pool{width:95%;height:59%;top:27%;left:2.5%}.cord-hint{left:calc(var(--cord-x) - 90px);top:calc(var(--handle-y) + 30px);align-items:center;width:180px}.cord-hint__text{font-size:20px}.cord-hint__arrow{display:none}}@media (prefers-reduced-motion:reduce){.is-flicking .light,.is-flicking .reveal,.is-on .ghost{animation:none}.light,.reveal{transition:opacity .12s linear}}
