:root{--cream-0:#fffaf2;--cream-1:#fbf4ea;--cream-2:#f4e9da;--blush:#f3cfcb;--rose:#c7727c;--rose-deep:#a9525e;--champagne:#e6c98f;--cocoa:#4a3631;--cocoa-soft:#7d6560;--font-title:"Gowun Batang", "Nanum Myeongjo", serif;--font-ui:"Gowun Dodum", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-script:"Cormorant Garamond", "Gowun Batang", serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-ui);color:var(--cocoa);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizelegibility}*,:before,:after{box-sizing:border-box}html,body{background:var(--cream-1);min-height:100%;margin:0}html.is-locked,html.is-locked body{overflow:hidden}#root{min-height:100svh}button{font:inherit;color:inherit}img{max-width:100%;display:block}.stage{z-index:50;isolation:isolate;background:var(--cream-1);position:fixed;inset:0;overflow:hidden}.stage:after{content:"";z-index:5;pointer-events:none;opacity:.06;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.3 0 0 0 0 0.25 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.stage__sky{z-index:0;background:radial-gradient(120% 60% at 50% 0%, #fffdf8 0%, #fffdf800 60%), radial-gradient(70% 40% at 85% 30%, #f8d6d073 0%, #f8d6d000 70%), radial-gradient(80% 45% at 10% 75%, #f6e2ba66 0%, #f6e2ba00 70%), radial-gradient(90% 50% at 50% 100%, #f3cfcb80 0%, #f3cfcb00 70%), linear-gradient(180deg, var(--cream-0) 0%, var(--cream-1) 55%, #f8eadf 100%);position:absolute;inset:0}.stage__scene{z-index:1;transition:opacity 1.2s var(--ease-out);position:absolute;inset:0}.stage[data-phase=revealed] .stage__scene{opacity:0}.scene-canvas{opacity:0;transition:opacity 1.4s var(--ease-out);position:absolute;inset:0}.scene-canvas.is-ready{opacity:1}.scene-fallback{aspect-ratio:1;filter:blur(6px);background:radial-gradient(circle,#fff4e2f2 0%,#f7d6cd73 45%,#f7d6cd00 70%);border-radius:50%;width:62%;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.opening-copy{z-index:2;top:calc(max(env(safe-area-inset-top), 0px) + clamp(48px, 9dvh, 92px));text-align:center;pointer-events:none;padding:0 28px;position:absolute;left:0;right:0}.opening-copy__script{font-family:var(--font-script);letter-spacing:.01em;color:var(--rose);margin:0 0 10px;font-size:21px;font-style:italic;font-weight:500;line-height:1.2}.opening-copy__date{letter-spacing:.02em;color:var(--cocoa-soft);margin:12px 0 0;font-size:14px}.opening-copy__title{font-family:var(--font-title);letter-spacing:.04em;letter-spacing:-.01em;color:var(--cocoa);text-wrap:balance;text-shadow:0 1px #ffffffb3;margin:0;font-size:clamp(34px,10vw,46px);font-weight:700;line-height:1.42}.opening-cta{z-index:2;left:50%;bottom:calc(max(env(safe-area-inset-bottom), 0px) + clamp(40px, 8dvh, 76px));place-items:center;display:grid;position:absolute;translate:-50%}.open-button{cursor:pointer;white-space:nowrap;font-family:var(--font-ui);letter-spacing:.02em;color:var(--cream-0);background:linear-gradient(180deg, #bb6571 0%, var(--rose-deep) 100%);transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out);border:0;border-radius:999px;align-items:center;gap:10px;padding:16px 30px 16px 26px;font-size:17px;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff59,inset 0 -2px 6px #78283440,0 10px 24px -8px #a9525e8c,0 2px 6px #a9525e33}.open-button:before{content:"";animation:sheen 4.8s var(--ease-out) 2.2s infinite;background:linear-gradient(105deg,#0000 35%,#fff6e861 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.open-button>*{position:relative}.open-button:hover{transform:translateY(-1px)}.open-button:active{transform:translateY(1px)scale(.98)}.open-button:focus-visible{outline:2px solid var(--rose-deep);outline-offset:4px}.open-button:disabled{cursor:default}@keyframes sheen{0%{transform:translate(-120%)}35%,to{transform:translate(120%)}}.tap-burst{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.tap-burst__bit{line-height:0;display:block;position:absolute;top:0;left:0;translate:-50% -50%}.flare-veil{z-index:4;pointer-events:none;opacity:0;background:radial-gradient(80% 60%,#fffdf6 0%,#fff6e6 55%,#fbefe2 100%);position:absolute;inset:0}.stage[data-phase=revealed] .flare-veil{opacity:1}.stage[data-phase=revealed]{opacity:0;pointer-events:none;transition:opacity 1.2s cubic-bezier(.4,0,.2,1) .1s}@media (height<=700px) and (width<=899px){.opening-copy{top:calc(max(env(safe-area-inset-top), 0px) + 34px)}.opening-copy__title{font-size:32px}}@media (width>=900px){.opening-copy{text-align:left;width:min(40vw,520px);padding:0;top:50%;left:max(7vw,50vw - 600px);right:auto;translate:0 -78%}.opening-copy__script{font-size:26px}.opening-copy__title{font-size:clamp(56px,5vw,84px);line-height:1.2}.opening-copy__date{font-size:17px}.opening-cta{place-items:start;top:calc(50% + 70px);bottom:auto;left:max(7vw,50vw - 600px);translate:0}.scene-fallback{width:34vw;left:64%}}@media (prefers-reduced-motion:reduce){.open-button:before{animation:none}.stage__scene,.scene-canvas{transition:none}}.music-btn{z-index:46;top:calc(env(safe-area-inset-top) + 14px);right:calc(env(safe-area-inset-right) + 14px);cursor:pointer;-webkit-tap-highlight-color:transparent;width:46px;height:46px;transition:transform .25s var(--ease-out);background:#fffaf2f0;border:1px solid #d6b27699;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;box-shadow:inset 0 0 0 3px #fffdf8e6,inset 0 0 0 4px #d6b27638,0 10px 24px -12px #78463c80}@media (hover:hover) and (pointer:fine){@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.music-btn{-webkit-backdrop-filter:blur(10px)saturate(140%);background:#fffaf2b8}}}.music-btn:active{transform:scale(.93)}.music-btn:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px}.music-btn__bars{align-items:center;gap:2.5px;height:16px;display:flex}.music-btn__bars i,.music-btn__note{will-change:transform, opacity}.music-btn__bars i{background:var(--cocoa-soft);opacity:.55;transform-origin:50%;width:2.5px;height:16px;transition:transform .5s var(--ease-out), background .4s, opacity .4s;border-radius:2px;display:block;transform:scaleY(.22)}.music-btn.is-on .music-btn__bars i{background:var(--rose-deep);opacity:1;transform:scaleY(.45)}.music-btn.is-playing .music-btn__bars i{animation:1.15s ease-in-out infinite alternate music-wave}.music-btn.is-playing .music-btn__bars i:nth-child(2){animation-duration:.9s;animation-delay:-.4s}.music-btn.is-playing .music-btn__bars i:nth-child(3){animation-duration:1.3s;animation-delay:-.7s}.music-btn.is-playing .music-btn__bars i:nth-child(4){animation-duration:1s;animation-delay:-.2s}@keyframes music-wave{0%{transform:scaleY(.28)}to{transform:scaleY(1)}}.music-btn__slash{background:var(--cocoa-soft);opacity:.7;border-radius:1px;width:22px;height:1.5px;transition:opacity .3s,scale .3s;position:absolute;rotate:-40deg}.music-btn.is-on .music-btn__slash{opacity:0;scale:.4}.music-btn__note{color:var(--rose);opacity:0;pointer-events:none;line-height:0;position:absolute;top:4px;left:-2px}.music-btn.is-playing .music-btn__note{animation:4.6s ease-out 1.2s infinite music-note}@keyframes music-note{0%{opacity:0;transform:translate(0)rotate(-8deg)scale(.8)}12%{opacity:.85}45%,to{opacity:0;transform:translate(-10px,-22px)rotate(10deg)scale(1)}}@media (width>=900px){.music-btn{width:50px;height:50px;top:22px;right:24px}}@media (prefers-reduced-motion:reduce){.music-btn.is-playing .music-btn__bars i,.music-btn.is-playing .music-btn__note{animation:none}.music-btn.is-playing .music-btn__bars i:nth-child(odd){transform:scaleY(.75)}}.open-quiet{color:var(--cocoa-soft);font-family:var(--font-ui);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:6px 10px;font-size:13px;-webkit-text-decoration:underline #7d656066;text-decoration:underline #7d656066}.open-quiet:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px}
