/*! 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,::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-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,::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]){appearance:button}::file-selector-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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.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,)}.resize{resize:both}.align-bottom{vertical-align:bottom}.align-top{vertical-align:top}}:root{--ink:#05050d;--paper:#fff8eb;--sun:#ffb650;--coral:#ff6b4a;--serif:"Songti SC", "STSong", Georgia, serif;--sans:"PingFang SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--ink);width:100%;height:100%;overflow:hidden}body{color:#fff;font-family:var(--sans);margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.h5-shell{width:100vw;height:var(--app-height,100vh);background:var(--ink);position:fixed;inset:0;overflow:hidden}.wechat-tip{z-index:150;top:max(10px, env(safe-area-inset-top));color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;background:#0a0818e0;border:1px solid #fff3;border-radius:14px;width:min(92vw,420px);padding:10px 14px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 42px #00000059}.wechat-tip span,.wechat-tip b{display:block}.wechat-tip span{color:#ffffff9e;font-size:10px}.wechat-tip b{letter-spacing:.05em;margin-top:2px;font-size:12px;font-weight:500}.portal{z-index:100;background:radial-gradient(circle at 50% 82%,#2b1230 0,#0b0918 37%,#030309 76%);place-items:center;transition:opacity 1.05s,visibility 1.05s;display:grid;position:fixed;inset:0;overflow:hidden}.portal--open{opacity:0;visibility:hidden;pointer-events:none}.stars{pointer-events:none;position:absolute;inset:0}.stars i{background:#fff;border-radius:50%;animation:2.8s ease-in-out infinite alternate twinkle;position:absolute;box-shadow:0 0 9px #fff}.portal-glow{aspect-ratio:1;filter:blur(90px);opacity:.08;background:#ff9860;border-radius:50%;width:min(72vw,320px);transition:opacity .9s,transform .9s;position:absolute;bottom:2%}.portal:has(.light-button.is-holding) .portal-glow{opacity:.62;transform:scale(1.55)}.portal-copy{text-align:center;align-self:center;width:100%;margin-top:-15vh;padding:24px 22px;position:relative}.eyebrow,.chapter-no{letter-spacing:.25em;color:#ffd09d;margin:0 0 13px;font-size:9px}.portal h1{font:500 clamp(42px, 13vw, 66px)/1.14 var(--serif);letter-spacing:.06em;text-shadow:0 0 34px #ab79ff38;margin:0}.portal-note{color:#ffffff9e;font:14px/1.9 var(--serif);letter-spacing:.07em;margin:23px 0 0}.light-button{left:50%;bottom:max(26px, calc(env(safe-area-inset-bottom) + 14px));color:#fff;cursor:pointer;touch-action:none;background:0 0;border:0;border-radius:34px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:min(82vw,360px);min-height:176px;padding:18px 24px 14px;display:flex;position:absolute;transform:translate(-50%)}.light-orb{width:82px;height:82px;box-shadow:none;border:0;border-radius:50%;place-items:center;transition:all .7s;display:grid;position:relative}.light-orb i{background:#ffffff73;border-radius:50%;width:10px;height:10px;box-shadow:0 0 18px #fff6}.light-button strong{letter-spacing:.24em;font-size:14px;font-weight:500}.light-button small{color:#ffffff61;letter-spacing:.12em;font-size:9px}.light-button>b{background:#ffffff21;width:78%;height:2px;margin-top:3px;position:relative;overflow:hidden}.light-button>b:after{content:"";background:linear-gradient(90deg,#7655ff,#ff6c84,#ffcf71);position:absolute;inset:0;transform:translate(-101%)}.light-button.is-holding>b:after{transition:transform .95s linear;transform:translate(0)}.light-button.is-holding .light-orb{background:#ffe1ba;transform:scale(1.1);box-shadow:0 0 24px #ffb362,0 0 74px #a757ff,0 0 0 15px #ffd6a914}.story-status{z-index:60;top:max(18px, calc(env(safe-area-inset-top) + 10px));color:#ffffffa8;letter-spacing:.12em;text-shadow:0 2px 12px #00000080;align-items:center;gap:7px;font-size:9px;display:flex;position:fixed;left:68px}.story-status i{background:#ffffff59;width:24px;height:1px}.back-button{z-index:72;top:max(10px, calc(env(safe-area-inset-top) + 3px));color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#04040c61;border:0;border-radius:50%;place-items:center;width:42px;height:42px;padding:0 1px 4px 0;display:grid;position:fixed;left:10px;box-shadow:0 5px 20px #00000029}.back-button span{font:34px/1 var(--serif)}.music-toggle{z-index:70;top:max(12px, calc(env(safe-area-inset-top) + 5px));color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#04040c57;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-width:92px;height:40px;padding:0 13px;display:flex;position:fixed;right:12px}.music-toggle span{font-size:18px;line-height:1}.music-toggle small{letter-spacing:.14em;font-size:8px}.music-toggle.is-playing span{animation:1.3s ease-in-out infinite musicPulse}.story-track{will-change:transform;outline:none;width:100%;height:auto;transition:transform .72s cubic-bezier(.76,0,.18,1)}.story-page{width:100vw;height:var(--app-height,100vh);cursor:pointer;isolation:isolate;position:relative;overflow:hidden}.cover-photo{z-index:1;object-fit:cover;opacity:1;visibility:visible;width:100%;max-width:none;height:100%;position:absolute;inset:0}.page-copy{z-index:5;text-shadow:0 3px 24px #000000b8;padding:0 24px;position:absolute;left:0;right:0}.page-copy.align-top{top:max(88px, calc(env(safe-area-inset-top) + 74px))}.page-copy.align-bottom{bottom:max(112px, calc(env(safe-area-inset-bottom) + 96px))}.page-copy.centered{text-align:center}.page-copy h2,.epilogue-copy h2{font:500 clamp(38px, 11.8vw, 68px)/1.16 var(--serif);letter-spacing:.035em;margin:0}.page-copy>p:last-child{color:#ffffffbf;font:14px/1.9 var(--serif);letter-spacing:.035em;margin:18px 0 0}.page-copy .lyric-copy{color:#ffe3bd;letter-spacing:.06em;font-size:15px}.tap-cue{z-index:20;left:50%;bottom:max(20px, calc(env(safe-area-inset-bottom) + 12px));color:#ffffff94;letter-spacing:.18em;white-space:nowrap;text-shadow:0 2px 14px #000c;pointer-events:none;flex-direction:column;align-items:center;gap:8px;font-size:9px;display:flex;position:absolute;transform:translate(-50%)}.tap-cue i{background:linear-gradient(#ffffffbf,#0000);width:1px;height:24px;animation:1.8s ease-in-out infinite cueDrop}.page-night{background:radial-gradient(circle at 80% 25%,#3c57a04d,#0000 34%),linear-gradient(#03050d,#15102d)}.portrait-poster{z-index:2;width:min(63vw,340px);margin:0;position:absolute;bottom:8vh;right:-3vw;transform:rotate(2deg);box-shadow:0 32px 80px #000000a6}.portrait-poster:before{content:"";z-index:-1;filter:blur(30px);background:linear-gradient(150deg,#3b5fff59,#ff733559);position:absolute;inset:-18px}.portrait-poster img{width:100%}.page-night .page-copy{max-width:430px}.page-meet{background:#3f1525}.page-meet .cover-photo{object-position:52% center;animation:9s ease-in-out infinite alternate photoBreath}.photo-shade{z-index:2;background:linear-gradient(#14041026 28%,#17040ee6 93%),linear-gradient(90deg,#16030e66,#0000 72%);position:absolute;inset:0}.wand-glow{z-index:3;background:#fff;border-radius:50%;width:14px;height:14px;animation:2.5s ease-in-out infinite pulse;position:absolute;box-shadow:0 0 18px 5px #fff,0 0 46px 18px #ff6b8c}.glow-one{top:39%;left:12%}.glow-two{animation-delay:.8s;top:43%;left:54%}.page-stage{background:#090513}.page-stage .cover-photo{object-position:60% center;animation:8s ease-in-out infinite alternate photoBreath}.stage-shade{z-index:2;background:linear-gradient(90deg,#06020fcc,#0000 74%),linear-gradient(#0000 44%,#05020dc2);position:absolute;inset:0}.beam{z-index:3;transform-origin:top;filter:blur(6px);opacity:.55;background:linear-gradient(#84e1ffb8,#0000);width:6px;height:72%;animation:4s ease-in-out infinite alternate sweep;position:absolute;top:35%;left:43%}.beam-two{background:linear-gradient(#ffcd55b3,#0000);animation-delay:-1.2s;left:58%;transform:rotate(-19deg)}.beam-three{background:linear-gradient(#ff48c8b3,#0000);animation-delay:-2.4s;left:71%;transform:rotate(22deg)}.chorus-lines{color:#ffffffb8;font:14px/1.55 var(--serif);letter-spacing:.06em;flex-direction:column;gap:5px;margin-top:22px;display:flex}.chorus-lines strong{color:#ffe4b8;font-weight:500}.chorus-word{z-index:4;color:#ffffff1f;font:900 27vw/1 var(--serif);letter-spacing:-.08em;position:absolute;bottom:7vh;right:4vw}.page-quiet{background:linear-gradient(#070511,#101638 58%,#3d1b3b)}.page-quiet .whisper{color:#ffffff7a;font:13px/1.8 var(--serif);margin:0 0 8px}.dawn-arch{border-radius:48vw 48vw 5px 5px;width:84vw;height:55vh;position:absolute;bottom:7vh;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 0 0 1px #ffffff1f,0 34px 90px #0009}.dawn-arch img{object-fit:cover;width:58vh;max-width:none;height:84vw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)scale(1.06)}.dawn-arch:after{content:"";background:linear-gradient(#090a233d,#0000 55%);position:absolute;inset:0}.page-sunrise{--sunrise:.54;background:#f49b66}.sunrise-photo{filter:saturate(calc(.68 + var(--sunrise) * .5)) brightness(calc(.72 + var(--sunrise) * .32));transform:scale(calc(1.08 - var(--sunrise) * .04));transition:filter .2s,transform .2s}.sunrise-wash{z-index:2;background:linear-gradient(to top, rgba(255,231,193,calc(var(--sunrise) * .18)), rgba(15,34,86,calc((1 - var(--sunrise)) * .68)));position:absolute;inset:0}.sun-disc{z-index:3;left:50%;bottom:calc(9% + var(--sunrise) * 32%);aspect-ratio:1;width:22vw;max-width:118px;opacity:calc(.25 + var(--sunrise) * .75);mix-blend-mode:screen;background:#fff8d4;border-radius:50%;transition:bottom .2s,opacity .2s;position:absolute;transform:translate(-50%);box-shadow:0 0 34px #fff,0 0 90px 22px #ffb64c}.page-sunrise .page-copy{text-shadow:0 3px 25px #5a1f1861}.raise-sun{z-index:12;left:24px;right:24px;bottom:max(70px, calc(env(safe-area-inset-bottom) + 58px));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:default;background:#2e143533;border:1px solid #fff6;border-radius:18px;padding:15px 18px;position:absolute}.raise-sun label{letter-spacing:.15em;margin-bottom:10px;font-size:10px;display:block}.raise-sun input{accent-color:#fff4cc;width:100%}.page-sunrise .tap-cue{bottom:max(14px, calc(env(safe-area-inset-bottom) + 7px))}.page-epilogue{padding:max(72px, 10vh) 24px max(32px, env(safe-area-inset-bottom));color:#271a2a;text-align:center;cursor:default;background:linear-gradient(#ffe0bc,#fff9e9 56%,#d9eeed);flex-direction:column;justify-content:center;align-items:center;display:flex}.epilogue-sun{aspect-ratio:1;background:#fff;border-radius:50%;flex:none;width:min(25vw,116px);margin-bottom:5vh;box-shadow:0 0 48px 16px #ffa95680}.epilogue-copy>p{color:#755f68;font:13px/1.8 var(--serif);margin:0 0 14px}.epilogue-copy h2{font-size:clamp(27px,8.2vw,46px);line-height:1.48}.epilogue-copy h2 em{color:#dc6448;font-style:normal}.signature{color:#9a7d78;letter-spacing:.22em;margin:4vh 0 2.8vh;font-size:8px}.share-button{color:#2f2431;cursor:pointer;background:0 0;border:1px solid #20162a59;border-radius:100px;padding:14px 20px}.epilogue-copy small{color:#9b8c8c;margin-top:16px;display:block}@keyframes twinkle{0%{opacity:.18;transform:scale(.65)}to{opacity:1;transform:scale(1.2)}}@keyframes pulse{50%{opacity:.5}}@keyframes photoBreath{to{transform:scale(1.07)}}@keyframes sweep{to{opacity:.25;transform:rotate(26deg)}}@keyframes cueDrop{50%{opacity:.35;transform:translateY(7px)}}@keyframes musicPulse{50%{color:#ffd39c;transform:scale(1.16)}}@media (height<=680px){.portal-copy{margin-top:-18vh}.portal-note{margin-top:15px}.light-button{min-height:150px}.light-orb{width:64px;height:64px}.page-copy.align-top{top:70px}.page-copy h2{font-size:clamp(34px,10.5vw,58px)}.page-copy>p:last-child{margin-top:12px;line-height:1.7}.dawn-arch{height:51vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!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}
