/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#28213e;--cream:#fff8e9;--lavender:#c8c1e7;--soft-pink:#e8b9c9}*{box-sizing:border-box}html,body{background:#9990bc;width:100%;min-height:100%;margin:0;overflow:hidden}body{color:var(--cream);font-family:var(--font-serif), "Songti TC", "Noto Serif TC", serif;-webkit-font-smoothing:antialiased}button,[role=slider]{-webkit-tap-highlight-color:transparent}.qixi-scene{--progress:0;--drag-x:0px;--drag-y:0px;--reveal:0;isolation:isolate;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 74%, rgba(255, 222, 211, calc(var(--reveal) * .58)), transparent 27%), linear-gradient(168deg, #8d86b3 0%, #aaa1c5 45%, #c2afc0 100%);width:100%;height:100dvh;min-height:500px;transition:background 1.4s;position:relative;overflow:hidden}.qixi-scene:before,.qixi-scene:after{content:"";pointer-events:none;position:absolute;inset:0}.qixi-scene:before{z-index:-1;opacity:calc(.72 - var(--reveal) * .35);background-image:radial-gradient(circle at 8% 19%,#ffffffc7 0 1px,#0000 1.5px),radial-gradient(circle at 18% 63%,#ffffff85 0 1px,#0000 1.6px),radial-gradient(circle at 31% 11%,#fff9 0 1px,#0000 1.4px),radial-gradient(circle at 68% 19%,#ffffff8c 0 1px,#0000 1.5px),radial-gradient(circle at 79% 67%,#ffffff9e 0 1px,#0000 1.4px),radial-gradient(circle at 94% 14%,#ffffffc2 0 1px,#0000 1.5px)}.qixi-scene:after{z-index:20;border:1px solid #ffffff24;box-shadow:inset 0 0 100px #3e345f24}.sky-glow{z-index:-1;aspect-ratio:1;background:rgba(251, 210, 192, calc(var(--reveal) * .72));filter:blur(70px);border-radius:50%;width:min(78vw,900px);position:absolute;bottom:-51%;left:50%;transform:translate(-50%)}.moon-wrap{z-index:3;width:clamp(66px,8vw,104px);opacity:calc(.94 + var(--reveal) * .06);position:absolute;top:max(5.4vh,34px);left:50%;transform:translate(-50%)}.moon{aspect-ratio:1;width:100%;box-shadow:0 0 18px #fff4d5b8, 0 0 56px rgba(255, 236, 196, calc(.28 + var(--reveal) * .3));background:#fff4d5;border-radius:50%;position:relative;overflow:hidden}.moon-mark{background:#c2b1ac38;border-radius:50%;display:block;position:absolute}.moon-mark-one{width:26%;height:18%;top:27%;left:18%}.moon-mark-two{width:16%;height:12%;top:18%;right:18%}.moon-mark-three{width:21%;height:15%;bottom:20%;right:24%}.tiny-bridge{border-top:2px solid rgba(255, 247, 226, calc(.72 - var(--reveal) * .64));width:62%;height:18px;opacity:calc(1 - var(--reveal));transform:translateY(calc(var(--reveal) * -6px));border-radius:50% 50% 0 0;margin:12px auto 0;transition:opacity .8s,transform .8s;position:relative}.tiny-bridge:before,.tiny-bridge:after{content:"";background:#fff7e294;width:1px;height:14px;position:absolute;top:-2px}.tiny-bridge:before{left:3px;transform:rotate(-9deg)}.tiny-bridge:after{right:3px;transform:rotate(9deg)}.tiny-bridge i{background:#fff7e28a;width:1px;height:9px;position:absolute;top:-6px}.tiny-bridge i:first-child{left:15%;transform:rotate(-7deg)}.tiny-bridge i:nth-child(2){left:32%;transform:rotate(-3deg)}.tiny-bridge i:nth-child(3){left:50%}.tiny-bridge i:nth-child(4){left:68%;transform:rotate(3deg)}.tiny-bridge i:nth-child(5){left:85%;transform:rotate(7deg)}.rain{z-index:2;pointer-events:none;opacity:calc((1 - var(--progress)) * .62);transition:opacity .8s;position:absolute;inset:0}.rain i{background:linear-gradient(#0000,#edeeffd6);border-radius:999px;width:1px;height:clamp(18px,3.2vh,30px);animation:1.1s linear infinite rainfall;position:absolute;transform:rotate(8deg)}@keyframes rainfall{0%{opacity:0;translate:0 -14vh}18%{opacity:.8}to{opacity:0;translate:2.5vh 52vh}}.message{z-index:11;text-align:center;pointer-events:none;width:min(88vw,760px);height:4.5rem;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.message p{color:#fff9ec;letter-spacing:.16em;text-shadow:0 2px 20px #362b5747;place-items:center;margin:0;font-size:clamp(1.45rem,4.2vw,2.45rem);font-weight:500;line-height:1.55;display:grid;position:absolute;inset:0}.opening-line{opacity:calc(1 - var(--reveal));transform:translateY(calc(var(--reveal) * -8px));filter:blur(calc(var(--reveal) * 4px));transition:opacity .55s,transform .65s,filter .65s}.final-line{opacity:var(--reveal);transform:translateY(calc((1 - var(--reveal)) * 10px));filter:blur(calc((1 - var(--reveal)) * 5px));transition:opacity .8s .1s,transform .8s .1s,filter .8s .1s}.galaxy-gesture{z-index:9;cursor:grab;touch-action:none;outline:none;width:170vw;height:clamp(132px,20vw,220px);position:absolute;top:47%;left:-35vw;transform:translateY(-50%)rotate(-5deg)}.galaxy-gesture:focus-visible .galaxy-folds{box-shadow:0 0 0 2px #fff7df,0 0 38px #fff7dfa3}.is-dragging .galaxy-gesture{cursor:grabbing}.galaxy-aura,.galaxy-folds{transform:translate3d(var(--drag-x), calc(var(--drag-y) * .58), 0) scaleX(calc(1 - var(--progress) * .38)) scaleY(calc(1 - var(--progress) * .12));transform-origin:50%;transition:transform .85s cubic-bezier(.2,.75,.18,1),opacity .65s,filter .65s;position:absolute;inset:0}.is-dragging .galaxy-aura,.is-dragging .galaxy-folds{transition:none}.galaxy-aura{opacity:calc((1 - var(--progress)) * .65);filter:blur(32px);background:#6d59a67a;border-radius:42% 58% 46% 54%;inset:15% 0}.galaxy-folds{opacity:calc(1 - var(--progress) * .96);filter:saturate(calc(1 - var(--progress) * .3));border-radius:45% 55% 42% 58%/48% 43% 57% 52%;display:flex;overflow:hidden;box-shadow:inset 0 0 35px #ffeef845,0 0 28px #937bca5c}.galaxy-panel{height:100%;transform:perspective(900px) rotateY(calc(var(--progress) * var(--fold-direction) * 76deg));transform-origin:var(--fold-origin);background:radial-gradient(#ffe9eed6,#0000 24%),radial-gradient(at 12% 74%,#c9bef6db,#0000 33%),radial-gradient(at 80% 18%,#e5bcdcc2,#0000 35%),linear-gradient(105deg,#756ba8,#b28eb6 48%,#7d73ae);flex:1;transition:transform .85s cubic-bezier(.2,.75,.18,1);position:relative}.is-dragging .galaxy-panel{transition:none}.galaxy-panel:nth-child(odd){--fold-direction:1;--fold-origin:right}.galaxy-panel:nth-child(2n){--fold-direction:-1;--fold-origin:left}.galaxy-panel:nth-child(3n){filter:hue-rotate(9deg)brightness(1.04)}.star{z-index:2;background:#fffbea;border-radius:50%;width:3px;height:3px;animation:2.4s ease-in-out infinite alternate twinkle;position:absolute;box-shadow:0 0 6px 2px #fff5dab3}.star:nth-of-type(3n){width:2px;height:2px;animation-delay:-.9s}.star:nth-of-type(4n){width:4px;height:4px;animation-delay:-1.5s}@keyframes twinkle{0%{opacity:.35;scale:.7}to{opacity:1;scale:1.25}}.grip{z-index:3;opacity:calc(1 - var(--progress) * 1.5);background:#453a7029;border:1px solid #ffffff70;border-radius:999px;align-items:center;gap:8px;padding:13px 17px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(5deg);box-shadow:inset 0 1px #ffffff2e}.grip i{background:#fff9e7e0;border-radius:50%;width:4px;height:4px;box-shadow:0 0 7px #fff9e7b3}.old-rule{z-index:12;color:#51476e;font-family:var(--font-sans), sans-serif;letter-spacing:.08em;pointer-events:none;gap:clamp(7px,1.6vw,15px);font-size:clamp(.82rem,2vw,1.15rem);font-weight:650;display:flex;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.old-rule:after{content:"";width:118%;height:1px;transform:scaleX(clamp(0, calc((var(--progress) - .28) * 4), 1));transform-origin:0;background:#4e426c8f;position:absolute;top:48%;left:-9%}.old-rule span{aspect-ratio:1;background:#fff6e6b8;border-radius:4px;place-items:center;width:2rem;transition:transform 60ms linear,opacity .1s linear;display:inline-grid;box-shadow:0 4px 16px #3629571f}.together{z-index:7;width:190px;height:190px;transform:translateX(-50%) translateY(calc((1 - var(--reveal)) * 12px));opacity:var(--reveal);filter:blur(calc((1 - var(--reveal)) * 5px));transition:opacity 1s .1s,transform 1.1s,filter 1s;position:absolute;bottom:max(8vh,52px);left:50%}.umbrella{width:134px;height:69px;position:absolute;top:18px;left:50%;overflow:hidden;transform:translate(-50%)}.umbrella:before{content:"";background:linear-gradient(110deg,#4d456c,#695a78);border-radius:50% 50% 0 0;position:absolute;inset:0 0 -64px;box-shadow:inset 0 10px 22px #ffffff14}.umbrella:after{content:"";background:#403a5c;width:2px;height:53px;position:absolute;bottom:0;left:50%}.umbrella i{z-index:2;background:#ffffff2b;width:2px;height:68px;position:absolute;top:0;left:50%;transform:translate(-50%)}.person{width:45px;height:88px;position:absolute;top:74px}.person-left{left:54px}.person-right{right:50px}.person i{background:#39344f;border-radius:52% 48% 45% 55%;width:23px;height:25px;position:absolute;left:50%;transform:translate(-50%)}.person b{background:#39344f;border-radius:45% 45% 9px 9px;width:33px;height:63px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.person-left b{transform:translate(-50%)rotate(2deg)}.person-right b{transform:translate(-50%)rotate(-2deg)}.joined-hands{z-index:3;border-bottom:3px solid #39344f;border-radius:50%;width:32px;height:8px;position:absolute;top:115px;left:50%;transform:translate(-50%)}.ground-reflection{filter:blur(7px);background:#ffe8da75;border-radius:50%;width:126px;height:9px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.reset-button{z-index:15;right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));color:#fff9ead6;cursor:pointer;width:42px;height:42px;opacity:var(--reveal);transform:scale(calc(.72 + var(--reveal) * .28));pointer-events:none;background:#42365c21;border:1px solid #ffffff4d;border-radius:50%;place-items:center;font-size:1.15rem;line-height:1;transition:opacity .6s,background .25s,transform .6s;display:grid;position:absolute}.is-complete .reset-button{pointer-events:auto}.reset-button:hover{background:#42365c42}.reset-button:focus-visible{outline-offset:3px;outline:2px solid #fff6dc}.signature{z-index:6;left:max(20px, env(safe-area-inset-left));bottom:max(22px, env(safe-area-inset-bottom));color:rgba(255, 249, 234, calc(.36 + var(--reveal) * .24));font-family:var(--font-sans), sans-serif;letter-spacing:.24em;font-size:.62rem;font-weight:550;position:absolute}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-height:650px){.moon-wrap{top:25px;transform:translate(-50%)scale(.82)}.message{top:31%}.galaxy-gesture{height:118px;top:48%}.together{transform:translateX(-50%) translateY(calc((1 - var(--reveal)) * 12px)) scale(.82);transform-origin:bottom;bottom:14px}}@media (max-width:520px){.message{width:92vw;top:32%}.message p{letter-spacing:.1em;font-size:clamp(1.3rem,6.1vw,1.72rem)}.galaxy-gesture{width:230vw;top:48%;left:-65vw}.together{transform:translateX(-50%) translateY(calc((1 - var(--reveal)) * 12px)) scale(.9);transform-origin:bottom;bottom:max(7vh,42px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
