/*! 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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size: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{.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}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#f5f0e8;--muted:#aaa9b3;--night:#070713;--blue:#18235b;--gold:#ffb86b;--rose:#ff7f86;--line:#ffffff29}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--night);width:100%;min-height:100%}body{background:var(--night);width:100%;min-height:100%;color:var(--ink);margin:0;font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,sans-serif;overflow-x:hidden}button,textarea{font:inherit}button{color:inherit}textarea{resize:vertical}::selection{background:var(--gold);color:#11111f}.site{--mx:50vw;--my:50vh;background:radial-gradient(circle at 70% 15%, #151b47 0, transparent 35%), var(--night);overflow:hidden}.site:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(320px circle at var(--mx) var(--my), #ffc48512, transparent 72%);position:fixed;inset:0}.stars{pointer-events:none;z-index:3;opacity:.8;position:fixed;inset:0}.stars i{background:#fff;border-radius:50%;animation:3.2s ease-in-out infinite twinkle;display:block;position:absolute}@keyframes twinkle{50%{opacity:.18;transform:scale(.65)}}audio{display:none}.ritual{z-index:100;width:100dvw;max-width:none;height:100dvh;min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) max(22px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(22px, env(safe-area-inset-left));color:#f7f0e6;text-align:center;background:radial-gradient(circle at 50% 66%,#261a2d 0,#0d0e1d 30%,#030309 72%);place-items:center;margin:0;display:grid;position:fixed;inset:0;overflow:hidden}.ritual:before{content:"";opacity:.12;background:repeating-linear-gradient(115deg,#0000 0 56px,#ffffff2e 57px,#0000 58px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 75%);mask-image:radial-gradient(circle,#000,#0000 75%)}.ritual-noise{pointer-events:none;opacity:.28;background:radial-gradient(circle at 18% 20%,#9673ff3b,#0000 28%),radial-gradient(circle at 80% 76%,#ff916138,#0000 32%);position:absolute;inset:0}.ritual-stars{pointer-events:none;position:absolute;inset:0}.ritual-stars i{background:#fff;border-radius:50%;width:2px;height:2px;animation:2.8s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 11px #fff}.ritual-welcome,.candle-ritual,.ritual-opening-copy{z-index:2;width:min(100%,900px);position:relative}.ritual-index{color:#e8a870;letter-spacing:.28em;margin:0 0 38px;font-size:10px;font-weight:700}.ritual-kicker{color:#ffffff8a;letter-spacing:.25em;margin:0 0 14px;font-size:12px}.ritual-welcome h1{letter-spacing:-.065em;text-shadow:0 20px 70px #0000007a;margin:0;font-family:STSong,SimSun,serif;font-size:clamp(48px,7.3vw,106px);font-weight:400;line-height:1.08}.ritual-orbit{z-index:-1;aspect-ratio:1;border:1px solid #ffffff17;border-radius:50%;width:min(61vw,620px);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.ritual-orbit i{border:1px dashed #ffbe811f;border-radius:50%;animation:30s linear infinite spin;position:absolute;inset:13%}.ritual-orbit i:nth-child(2){animation-duration:44s;animation-direction:reverse;inset:-12%}.ritual-orbit strong{color:#ffffff09;place-items:center;width:100%;height:100%;font:280px/1 Georgia,serif;display:grid}.headphone-hint{text-align:left;align-items:center;gap:15px;width:fit-content;margin:35px auto 0;display:flex}.headphone-hint>span{color:#ffc98d;border:1px solid #ffc7916b;border-radius:50%;place-items:center;width:46px;height:46px;animation:2.4s ease-in-out infinite sound-pulse;display:grid}@keyframes sound-pulse{50%{transform:scale(1.04);box-shadow:0 0 32px #ffb86b40}}.headphone-hint p{margin:0}.headphone-hint b,.headphone-hint small{display:block}.headphone-hint b{color:#f2dfc9;letter-spacing:.08em;margin-bottom:5px;font-size:13px}.headphone-hint small{color:#7e7e91;font-size:11px}.ritual-actions{flex-direction:column;align-items:center;gap:13px;margin-top:30px;display:flex}.ritual-primary{color:#1a1320;cursor:pointer;background:#f6c089;border:1px solid #f6c089;justify-content:space-between;align-items:center;width:min(100%,310px);height:60px;padding:0 20px;transition:all .35s;display:flex}.ritual-primary:hover,.ritual-primary:focus-visible{transform:translateY(-4px);box-shadow:0 15px 40px #ffaa693b}.ritual-primary b{font-size:22px;font-weight:400}.ritual-quiet,.ritual-skip{color:#77788b;letter-spacing:.08em;cursor:pointer;background:0 0;border:0;min-height:44px;padding:10px 14px;font-size:11px}.ritual-quiet:hover,.ritual-skip:hover{color:#d8c5b7}.candle-ritual h2{letter-spacing:-.06em;margin:0;font-family:STSong,SimSun,serif;font-size:clamp(46px,6.4vw,88px);font-weight:400}.candle-instruction{color:#8c8998;letter-spacing:.15em;margin:13px 0 0;font-size:12px}.cake-scene{filter:drop-shadow(0 36px 38px #0000006b);isolation:isolate;width:360px;height:315px;margin:12px auto 2px;position:relative}.cake-aura{z-index:-1;filter:blur(3px);background:radial-gradient(#ffbd7d2b,#ff926e0d 46%,#0000 70%);border-radius:50%;width:340px;height:260px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.cake-aura i{border:1px solid #ffd5a221;border-radius:50%;animation:3.4s ease-in-out infinite cake-aura-breathe;position:absolute;inset:20%}.cake-aura i:nth-child(2){animation-delay:-1.1s;inset:5%}.cake-aura i:nth-child(3){animation-delay:-2.2s;inset:-12%}@keyframes cake-aura-breathe{50%{opacity:.28;transform:scale(1.05)}}.cake-layer,.cake-top,.cake-plate{position:absolute;left:50%;transform:translate(-50%)}.cake-layer{background:linear-gradient(90deg,#7e3f54 0,#c87574 13%,#f4c2a6 40%,#ffe0bd 54%,#ce7b79 82%,#71364f 100%);border:1px solid #fff5e175;width:270px;overflow:visible;box-shadow:inset 0 12px 22px #fff4dd24,inset 0 -20px 25px #5b23382e,0 15px 25px #1f0e1b38}.cake-layer:before{content:"";background:linear-gradient(#ffe7c9,#e9aa94 66%,#ba666c);border:1px solid #fff4dd75;border-radius:50%;height:27px;position:absolute;top:-13px;left:-1px;right:-1px;box-shadow:inset 0 6px 9px #ffffff61}.cake-layer-a{border-radius:12px 12px 34px 34px;height:92px;bottom:50px}.cake-layer-b{background:linear-gradient(90deg,#9c5265,#e69a89 20%,#ffe0ba 52%,#d77e7d 79%,#85445e);border-radius:12px 12px 25px 25px;width:226px;height:70px;bottom:130px}.cake-top{z-index:2;background:radial-gradient(at 50% 20%,#fff4d9,#f7caaa 54%,#c8797a 100%);border:1px solid #fff8e78c;border-radius:50%;width:228px;height:43px;bottom:188px;box-shadow:inset 0 -14px 20px #93414b3b,0 6px 12px #54233533}.cake-top>i{background:#d76577;border-radius:3px;width:9px;height:3px;position:absolute;top:15px;transform:rotate(25deg);box-shadow:0 0 4px #ffffff59}.cake-top>i:first-child{left:28px}.cake-top>i:nth-child(2){background:#829ac8;top:24px;left:70px}.cake-top>i:nth-child(3){background:#dca04b;top:10px;left:111px}.cake-top>i:nth-child(4){background:#9476b4;top:22px;right:53px}.cake-top>i:nth-child(5){right:21px}.cake-roses{z-index:3;width:150px;height:34px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.cake-roses b{background:radial-gradient(circle at 55% 48%,#fff0cf 0 13%,#efb38f 16% 34%,#b85f70 37% 58%,#713b5b 62%);border-radius:55% 45% 52% 48%;width:24px;height:20px;position:absolute;top:4px;box-shadow:0 5px 9px #5b243733}.cake-roses b:first-child{left:6px;transform:rotate(-14deg)scale(.86)}.cake-roses b:nth-child(2){top:0;left:62px;transform:scale(1.06)}.cake-roses b:nth-child(3){right:5px;transform:rotate(14deg)scale(.86)}.frosting-drips{z-index:2;height:36px;position:absolute;top:-5px;left:8px;right:8px}.frosting-drips i{background:linear-gradient(90deg,#f8d3b3,#ffe9cc);border-radius:0 0 12px 12px;width:19px;height:29px;position:absolute;top:0;box-shadow:inset -4px 0 5px #b5686629}.frosting-drips i:first-child{height:20px;left:8px}.frosting-drips i:nth-child(2){height:34px;left:47px}.frosting-drips i:nth-child(3){height:24px;left:92px}.frosting-drips i:nth-child(4){height:32px;right:44px}.frosting-drips i:nth-child(5){height:21px;right:6px}.cake-plaque{z-index:3;color:#743d50;letter-spacing:.2em;text-align:center;background:#ffe6c9b8;border:1px solid #6f334657;border-radius:999px;min-width:126px;padding:7px 12px;font:8px/1 Georgia,serif;position:absolute;top:29px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff80,0 7px 12px #4c1d301f}.cake-pearls{justify-content:space-between;display:flex;position:absolute;bottom:11px;left:19px;right:19px}.cake-pearls i{background:radial-gradient(circle at 35% 30%,#fff,#f4d1ad 48%,#b97872);border-radius:50%;width:7px;height:7px;box-shadow:0 2px 4px #53263638}.cake-plate{background:linear-gradient(#81788a,#3f3a51 48%,#1d1b2c);border:1px solid #ffebcf52;border-radius:50%;width:326px;height:34px;bottom:21px;box-shadow:inset 0 5px 7px #ffffff1f,0 17px 20px #0000005c}.cake-plate span{background:linear-gradient(#383446,#171625);border-radius:0 0 50% 50%;width:72%;height:22px;position:absolute;top:21px;left:50%;transform:translate(-50%)}.cake-petals{z-index:4;pointer-events:none;position:absolute;inset:0}.cake-petals i{opacity:.85;background:linear-gradient(90deg,#7f3b5c,#dc7d7f);border-radius:80% 20% 75% 25%;width:15px;height:7px;position:absolute;bottom:43px}.cake-petals i:first-child{left:30px;transform:rotate(18deg)}.cake-petals i:nth-child(2){bottom:30px;left:76px;transform:rotate(-24deg)scale(.8)}.cake-petals i:nth-child(3){bottom:41px;left:119px;transform:rotate(8deg)scale(.68)}.cake-petals i:nth-child(4){bottom:36px;right:112px;transform:rotate(-8deg)scale(.72)}.cake-petals i:nth-child(5){bottom:29px;right:68px;transform:rotate(27deg)scale(.86)}.cake-petals i:nth-child(6){right:28px;transform:rotate(-17deg)}.candle{z-index:6;color:#573047;text-shadow:0 1px #ffffff73;background:linear-gradient(90deg,#8e405d,#db8b79 18%,#ffe0a8 51%,#d57972 78%,#7c3657);border:1px solid #fff9e285;border-radius:17px 17px 7px 7px;place-items:center;width:43px;height:82px;font:38px/1 Georgia,serif;display:grid;position:absolute;bottom:218px;box-shadow:inset 8px 0 12px #ffeac12e,inset -7px 0 11px #66263d2e,0 12px 20px #2c112238}.candle:before{content:"";background:#3c2931;width:2px;height:10px;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.candle:after{content:"";background:linear-gradient(100deg,#ffffff59,#0000 62%);border-radius:50%;height:18px;position:absolute;inset:6px 5px auto}.candle-two{left:123px;transform:rotate(-4deg)}.candle-seven{right:123px;transform:rotate(4deg)}.flame{width:17px;height:30px;transform:translateX(-50%) rotate(var(--flame-lean,4deg));filter:drop-shadow(0 0 9px #ff9b55)drop-shadow(0 0 24px #ffa953ad);transform-origin:50% 100%;background:radial-gradient(circle at 50% 71%,#fff 0 10%,#fff7aa 12% 23%,#ffc456 28% 48%,#ed6a43 54% 67%,#0000 70%);border-radius:65% 30% 62% 36%;transition:transform .1s linear;animation:.75s ease-in-out infinite alternate flame-dance;position:absolute;top:-35px;left:50%}.flame:after{content:"";filter:blur(.4px);background:#ffffffd6;border-radius:50%;width:5px;height:11px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}@keyframes flame-dance{to{transform:translateX(-50%) rotate(calc(var(--flame-lean,4deg) - 10deg)) scale(.86,1.08);filter:drop-shadow(0 0 17px #ffb15f)}}.candle-ritual.is-out .flame{animation:.35s forwards flame-out}@keyframes flame-out{to{opacity:0;transform:translate(-50%)translateY(-8px)scale(.2)}}.wish-smoke{z-index:4;opacity:0;position:absolute;top:15px;left:50%}.wish-smoke i{filter:blur(1px);border-left:2px solid #d2d5e659;border-radius:50%;width:32px;height:60px;position:absolute}.wish-smoke i:nth-child(2){top:5px;left:-52px;transform:rotate(-18deg)}.wish-smoke i:nth-child(3){left:48px;transform:rotate(18deg)}.candle-ritual.is-out .wish-smoke{opacity:1}.candle-ritual.is-out .wish-smoke i{animation:1.8s ease-out forwards smoke-rise}@keyframes smoke-rise{to{opacity:0;transform:translateY(-100px)translate(20px)scale(1.6)}}.breath-control{--breath:0%;text-align:left;width:min(100%,430px);margin:-4px auto 0}.breath-label{color:#b7a698;letter-spacing:.17em;justify-content:space-between;margin-bottom:9px;font-size:9px;display:flex}.breath-label b{color:#ffc78e;font-family:ui-monospace,monospace;font-weight:400}.breath-track{background:linear-gradient(90deg, #ab4d6994 0, #ffb170c7 var(--breath), #ffffff06 var(--breath), #ffffff06 100%);border:1px solid #ffcc976b;height:58px;position:relative;overflow:hidden;box-shadow:inset 0 0 35px #0003}.breath-track:after{content:"吹";color:#ffe1c261;pointer-events:none;font-family:STKaiti,KaiTi,serif;font-size:15px;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.breath-wind{z-index:1;width:max(0px, calc(var(--breath) - 45px));color:#fff2e294;letter-spacing:.35em;white-space:nowrap;pointer-events:none;font-size:16px;position:absolute;top:50%;left:17px;overflow:hidden;transform:translateY(-50%)}.breath-track input{z-index:2;appearance:none;cursor:grab;touch-action:none;background:0 0;width:100%;height:100%;margin:0;position:relative}.breath-track input:active{cursor:grabbing}.breath-track input:focus-visible{outline-offset:-4px;outline:2px solid #ffd09c}.breath-track input::-webkit-slider-runnable-track{background:0 0;height:100%}.breath-track input::-webkit-slider-thumb{appearance:none;background:radial-gradient(circle,#fff9df 0 9%,#ffc57e 12% 35%,#8c4e67 39% 100%);border:1px solid #ffe2bf;border-radius:50%;width:42px;height:42px;margin-top:7px;box-shadow:0 0 25px #ffbe7ea6}.breath-track input::-moz-range-track{background:0 0;height:100%}.breath-track input::-moz-range-thumb{background:radial-gradient(circle,#fff9df 0 9%,#ffc57e 12% 35%,#8c4e67 39% 100%);border:1px solid #ffe2bf;border-radius:50%;width:40px;height:40px;box-shadow:0 0 25px #ffbe7ea6}.breath-track input:disabled{cursor:default;opacity:.62}.breath-control>p{color:#777687;text-align:center;letter-spacing:.08em;margin:10px 0 0;font-size:10px}.ritual-skip{margin:18px auto 0;display:block}@keyframes ritual-veil{0%,45%{opacity:1}to{opacity:0;visibility:hidden}}.ritual-opening-copy p{color:#f4b679;letter-spacing:.3em;margin:0 0 30px;font-size:10px}.ritual-opening-copy h2{letter-spacing:-.07em;margin:0;font-family:STSong,SimSun,serif;font-size:clamp(58px,8vw,118px);font-weight:400;animation:1.4s both opening-glow}.ritual-opening-copy span{color:#9392a0;letter-spacing:.1em;margin-top:28px;font-family:STKaiti,KaiTi,serif;font-size:18px;display:block}@keyframes opening-glow{0%{opacity:0;filter:blur(12px);transform:scale(.92)}to{opacity:1;filter:none;text-shadow:0 0 60px #ffb86b38;transform:none}}.ritual.is-invitation{background:radial-gradient(circle at 50% 58%,#2a274e38,#0000 24%),linear-gradient(#03030a,#070713 58%,#020206)}.ritual.is-invitation .ritual-stars{opacity:.2}.ritual.is-reveal{background:radial-gradient(at 50% 30%,#4c34562e,#0000 38%),#030309}.light-game-stage,.room-reveal-stage{z-index:2;width:min(100%,1080px);height:100%;max-height:920px;position:relative}.light-game-stage{grid-template-rows:auto auto minmax(230px,1fr) auto;place-items:center;padding-top:clamp(18px,5vh,52px);display:grid}.room-curtains{pointer-events:none;position:fixed;inset:0}.room-curtains:before{content:"";border:1px solid #ffffff0b;border-radius:50%;width:min(80vw,880px);height:min(70vw,650px);position:absolute;top:-13vh;left:50%;transform:translate(-50%);box-shadow:0 0 0 8vw #0202071f,0 0 0 18vw #02020714}.room-curtains i{opacity:.72;filter:drop-shadow(22px 0 35px #00000073);background:linear-gradient(90deg,#010104,#0f0c1ac7,#0000);width:30%;position:absolute;top:0;bottom:0}.room-curtains i:first-child{left:0}.room-curtains i:last-child{right:0;transform:scaleX(-1)}.light-game-heading{position:relative}.light-game-heading .ritual-index{margin-bottom:12px}.light-game-heading h1{letter-spacing:-.055em;text-shadow:0 18px 50px #00000073;margin:0;font-family:STSong,SimSun,serif;font-size:clamp(38px,5.2vw,72px);font-weight:400}.light-game-heading>p:last-child{color:#8e8c9d;margin:16px 0 0;font-family:STKaiti,KaiTi,serif;font-size:clamp(14px,1.5vw,18px);line-height:1.85}.game-sound-card{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:left;background:linear-gradient(100deg,#ffc38914,#221d3761);border:1px solid #ffce9838;border-radius:999px;grid-template-columns:38px 1fr auto;align-items:center;gap:13px;width:min(100%,560px);min-height:66px;margin-top:22px;padding:10px 10px 10px 18px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0d,0 18px 45px #0000002e}.game-sound-card>span{color:#ffc889;border:1px solid #ffc7895c;border-radius:50%;place-items:center;width:38px;height:38px;animation:2.4s ease-in-out infinite sound-pulse;display:grid}.game-sound-card p{margin:0}.game-sound-card b,.game-sound-card small{display:block}.game-sound-card b{color:#e8d7c7;letter-spacing:.09em;font-size:11px}.game-sound-card small{color:#777687;margin-top:5px;font-size:9px;line-height:1.4}.game-sound-card button{color:#ffd09d;letter-spacing:.09em;cursor:pointer;background:#ffbe7e1a;border:1px solid #ffc88f6b;border-radius:999px;min-height:43px;padding:0 18px;font-size:10px}.game-sound-card button:hover,.game-sound-card button:focus-visible{color:#201522;background:#f6c089}.hidden-light-field{width:min(100%,820px);height:100%;min-height:250px;position:relative}.hidden-light{z-index:2;color:#9a96aa;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:112px;min-height:76px;padding:0;transition:opacity .45s,transform .45s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute}.hidden-light.light-1{top:38%;left:4%}.hidden-light.light-2{top:8%;left:50%;transform:translate(-50%)}.hidden-light.light-3{top:43%;right:4%}.hidden-light>i{background:radial-gradient(circle,#fff 0 10%,#ffe1a0 18%,#ffad6c 34%,#ff996833 54%,#0000 67%);border-radius:50%;width:22px;height:22px;animation:1.8s ease-in-out infinite firefly-breathe;position:relative;box-shadow:0 0 18px #ffad70,0 0 48px #ffb16e6b}.hidden-light>i:before,.hidden-light>i:after{content:"";border:1px solid #ffe1bb73;border-radius:90% 10% 80% 20%;width:15px;height:8px;position:absolute;top:7px}.hidden-light>i:before{right:16px;transform:rotate(18deg)}.hidden-light>i:after{left:16px;transform:scaleX(-1)rotate(18deg)}.hidden-light>i b{border:1px dashed #ffca8f33;border-radius:50%;width:54px;height:54px;animation:8s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hidden-light span{letter-spacing:.14em;font-size:9px;transition:color .3s}.hidden-light:hover span,.hidden-light:focus-visible span{color:#f0d8c0}.hidden-light:focus-visible{outline-offset:2px;border-radius:44px;outline:1px solid #ffd09e61}.hidden-light.is-found{opacity:.68}.hidden-light.is-found>i{animation:1.1s both found-light}.hidden-light.is-found span{color:#ffc98f}@keyframes firefly-breathe{50%{filter:brightness(1.35);transform:translateY(-8px)scale(.82)}}@keyframes found-light{45%{filter:brightness(1.7);transform:scale(2.3)}to{transform:scale(.72);box-shadow:0 0 34px #ffc47c}}.light-game-message{width:min(78%,420px);position:absolute;top:57%;left:50%;transform:translate(-50%,-50%)}.light-game-message:before{content:"";filter:blur(7px);background:radial-gradient(circle,#ffa37e1a,#0000 67%);border-radius:50%;width:230px;height:190px;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.light-heart-meter{--light-progress:0%;z-index:0;pointer-events:none;filter:drop-shadow(0 0 28px #ff9d851f);width:154px;height:144px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.light-heart-meter:before,.light-heart-meter:after{content:"♥";place-items:center;font:142px/1 Georgia,serif;display:grid;position:absolute;inset:0}.light-heart-meter:before{color:#ffd2b70b;-webkit-text-stroke:1px #ffd2b724}.light-heart-meter:after{color:#e27e7b6b;clip-path:inset(calc(100% - var(--light-progress)) 0 0);text-shadow:0 0 28px #ff947e7a;transition:clip-path .78s cubic-bezier(.22,.8,.22,1),filter .5s}.light-heart-meter.is-complete:after{color:#f290878f;filter:drop-shadow(0 0 35px #ff987d8c);animation:.85s cubic-bezier(.2,.8,.2,1) both light-heart-fill}@keyframes light-heart-fill{0%{transform:scale(.92)}45%{transform:scale(1.14)}72%{transform:scale(.97)}to{transform:scale(1)}}.light-found-burst{position:absolute;top:50%;left:50%}.light-found-burst i{color:#ffd3a2;opacity:0;text-shadow:0 0 12px #ffbe87b3;animation:light-found-burst 1.45s cubic-bezier(.16,.72,.25,1) var(--burst-delay) both;font:18px/1 Georgia,serif;position:absolute;top:0;left:0}@keyframes light-found-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--burst-angle)) translateY(0) scale(.2)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--burst-angle)) translateY(calc(-1 * var(--burst-distance))) scale(.78)}}.light-game-message>b,.light-game-message>p{z-index:2;position:relative}.light-game-message b{color:#e4ad82;letter-spacing:.24em;font:9px ui-monospace,monospace}.light-game-message p{color:#ead8c9;text-shadow:0 2px 12px #070713;min-height:50px;margin:14px 0 0;font-family:STKaiti,KaiTi,serif;font-size:clamp(15px,1.7vw,20px);line-height:1.7;animation:.5s both blessing-in}.light-game-hint{color:#676574;letter-spacing:.1em;align-self:end;margin:0;font-size:9px}.light-game-hint i{background:#ffc17f;border-radius:50%;width:5px;height:5px;margin-right:9px;animation:1s ease-in-out infinite mic-pulse;display:inline-block;box-shadow:0 0 13px #ffad6c}.moon-pull{color:#f0dfcf;cursor:pointer;background:linear-gradient(90deg,#ffc99124,#56374b2e);border:1px solid #ffd2a16b;border-radius:999px;justify-content:space-between;align-self:end;align-items:center;width:min(100%,300px);min-height:62px;padding:0 17px;animation:.7s cubic-bezier(.2,.8,.2,1) both moon-pull-arrive;display:flex;position:relative;box-shadow:0 0 55px #ffb26d1a}.moon-pull:before{content:"";background:linear-gradient(#0000,#ffd5a69e);width:1px;height:80px;position:absolute;bottom:100%;left:42px}.moon-pull span{letter-spacing:.09em;align-items:center;gap:12px;font-size:11px;display:flex}.moon-pull span i{background:radial-gradient(circle at 35% 35%,#fff7da,#f5bc77 45%,#9d5b68 70%);border-radius:50%;width:22px;height:22px;box-shadow:0 0 24px #ffbf7e6b}.moon-pull b{color:#ffc88f;letter-spacing:.09em;font-size:9px;font-weight:400}.moon-pull:hover,.moon-pull:focus-visible{background:#ffc28430;transform:translateY(6px);box-shadow:0 15px 60px #ffad6a2b}@keyframes moon-pull-arrive{0%{opacity:0;transform:translateY(-16px)}}.room-reveal-stage{flex-direction:column;justify-content:center;align-items:center;display:flex}.room-reveal-stage .ritual-index{margin-bottom:10px}.room-reveal-stage h2{z-index:2;letter-spacing:-.05em;margin:0 0 -5px;font-family:STSong,SimSun,serif;font-size:clamp(34px,4.8vw,66px);font-weight:400;line-height:1.1;animation:1.2s .25s both reveal-copy;position:relative}.room-reveal-stage .cake-scene{margin-block:0 -8px;animation:1.6s cubic-bezier(.18,.82,.2,1) .12s both cake-reveal}.room-reveal-stage>span{color:#8d8290;font-family:STKaiti,KaiTi,serif;font-size:13px;animation:1s 1s both reveal-copy}.lamp-light{clip-path:polygon(44% 0,56% 0,92% 100%,8% 100%);filter:blur(8px);background:linear-gradient(105deg,#0000 13%,#ffeac321 48%,#ffdba638 53%,#0000 87%);width:min(94vw,920px);height:92%;animation:1.5s both lamp-spread;position:absolute;top:-22%;left:50%;transform:translate(-50%)}@keyframes lamp-spread{0%{opacity:0;transform:translate(-50%)scaleX(.08)}}@keyframes cake-reveal{0%{opacity:0;filter:blur(14px)brightness(.25);transform:translateY(46px)scale(.78)}to{opacity:1;filter:none;transform:none}}@keyframes reveal-copy{0%{opacity:0;filter:blur(5px);transform:translateY(12px)}}.ritual.is-lighting{background:radial-gradient(at 50% 62%,#7543313d,#0000 22%),radial-gradient(circle at 50% 65%,#16111a 0,#070710 37%,#020207 75%)}.ritual.is-lighting .ritual-stars{opacity:.12}.ritual.is-wish .ritual-stars,.ritual.is-ascending .ritual-stars,.ritual.is-gift .ritual-stars{opacity:.82}.ritual.is-blowing .ritual-stars{opacity:.3}.ritual.is-letter .ritual-stars{opacity:.5}.gift-room{z-index:0;pointer-events:none;background:#030309;position:absolute;inset:0;overflow:hidden}.gift-room:before{content:"";z-index:0;opacity:var(--room-wall-opacity);background:linear-gradient(90deg,#4d253ac2,#0000 26% 74%,#4d253ac2),radial-gradient(at 50% 75%,#79555c,#2b2034 54%,#090914 82%);transition:opacity .65s;position:absolute;inset:0}.gift-room:after{content:"";z-index:4;opacity:var(--room-shadow-opacity);background:radial-gradient(at 50% 67%,#0000 0 19%,#02020870 48%,#010104 90%);transition:opacity .65s;position:absolute;inset:0}.star-window{z-index:6;aspect-ratio:1.38;background:radial-gradient(circle at 70% 24%,#9faaff47,#0000 19%),linear-gradient(#080b25,#171333);border:clamp(5px,.7vw,9px) solid #382c3e;border-radius:48% 48% 4px 4px/22% 22% 4px 4px;width:clamp(170px,24vw,310px);position:absolute;top:7%;right:clamp(5%,9vw,12%);overflow:hidden;box-shadow:inset 0 0 45px #050611,0 0 40px #747eff24}.star-window:before{content:"";z-index:3;background:linear-gradient(90deg,#0000 48%,#382c3e 49% 52%,#0000 53%),linear-gradient(#0000 48%,#382c3e 49% 52%,#0000 53%);position:absolute;inset:0}.window-moon{background:#fff4c4;border-radius:50%;width:27px;height:27px;position:absolute;top:11%;right:14%;box-shadow:0 0 22px #fff4c4,0 0 54px #a6adff59}.star-window>i{width:2px;height:2px;animation:room-window-twinkle 1.9s ease-in-out var(--window-star-delay) infinite alternate;background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 8px #fff}@keyframes room-window-twinkle{to{opacity:.18;transform:scale(.55)}}.room-bunting{z-index:2;opacity:.28;height:90px;filter:brightness(var(--room-gift-brightness));justify-content:center;transition:opacity .65s,filter .65s;display:flex;position:absolute;top:6%;left:6%;right:6%}.room-bunting:before{content:"";border-bottom:1px solid #ffdab280;border-radius:0 0 50% 50%;height:42px;position:absolute;top:0;left:0;right:0}.room-bunting i{clip-path:polygon(0 0,100% 0,50% 100%);background:#9d5065;width:clamp(26px,4vw,56px);height:clamp(35px,5vw,64px);margin:0 clamp(3px,.7vw,9px);position:relative;top:38px}.room-bunting i:nth-child(3n+2){background:#c68770}.room-bunting i:nth-child(3n){background:#655489}.room-fairy-lights{z-index:7;justify-content:space-between;display:flex;position:absolute;top:4.5%;left:21%;right:21%}.room-fairy-lights:before{content:"";border-bottom:1px solid #ffe1c138;border-radius:0 0 50% 50%;height:22px;position:absolute;top:-8px;left:0;right:0}.room-fairy-lights i{background:#242130;border-radius:50%;width:7px;height:7px;transition:background .45s,box-shadow .45s,transform .45s;position:relative;box-shadow:0 0 #ffb26d00}.room-fairy-lights i.is-lit{background:#ffd69b;transform:scale(1.35);box-shadow:0 0 18px 7px #ffb26d61}.gift-pile{z-index:2;opacity:.92;width:min(32vw,390px);height:min(36vh,300px);filter:brightness(var(--room-gift-brightness)) saturate(.9);transition:filter .65s,opacity .65s;position:absolute;bottom:2%}.gift-pile.is-left{left:1%}.gift-pile.is-right{right:1%;transform:scaleX(-1)}.gift-pile>span{background:linear-gradient(145deg,#6c3751,#aa5f68);border:1px solid #ffe5cd2e;width:clamp(45px,6.5vw,92px);height:clamp(44px,7.5vw,105px);transition:transform .55s,box-shadow .55s,filter .55s;position:absolute;bottom:0;overflow:hidden;transform:translateY(12px);box-shadow:0 14px 25px #00000047}.gift-pile>span:before,.gift-pile>span:after{content:"";background:#f5be8c7a;position:absolute}.gift-pile>span:before{width:14%;top:0;bottom:0;left:43%}.gift-pile>span:after{height:13%;top:42%;left:0;right:0}.gift-pile>span>i{z-index:2;border:6px solid #f5be8c9e;border-bottom:0;border-radius:50% 50% 0 0;width:28px;height:19px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.gift-pile>span.is-revealed{transform:translateY(0);box-shadow:0 15px 30px #ff91672e,inset 0 1px #ffffff14}.gift-pile>span:first-child{background:#70445f;width:28%;height:38%;left:0}.gift-pile>span:nth-child(2){background:#a96168;width:31%;height:56%;left:21%}.gift-pile>span:nth-child(3){background:#6d5a8b;width:25%;height:43%;left:46%}.gift-pile>span:nth-child(4){background:#9d5960;width:31%;height:68%;left:68%}.gift-pile>span:nth-child(5){background:#8d685b;width:32%;height:42%;bottom:35%;left:8%}.gift-pile>span:nth-child(6){background:#7d4662;width:30%;height:36%;bottom:47%;left:35%}.gift-pile>span:nth-child(7){background:#a46c69;width:25%;height:32%;bottom:58%;left:58%}.gift-pile>span:nth-child(8){background:#575581;width:25%;height:27%;bottom:72%;left:25%}.gift-pile>span:nth-child(9){background:#9f5364;width:22%;height:25%;bottom:70%;left:0}.room-warm-glow{z-index:5;opacity:var(--room-warm-opacity);filter:blur(20px);background:radial-gradient(at 50% 64%,#ffd09b,#0000 58%);transition:opacity .65s;position:absolute;inset:15% 5% 0}.room-celebration{z-index:8;position:absolute;inset:0;overflow:hidden}.room-celebration i{color:#ffd39e;opacity:0;text-shadow:0 0 14px #ffc68eb3;font:clamp(12px,1.4vw,20px)/1 Georgia,serif;position:absolute;top:7%}.gift-room.is-fully-lit .room-bunting{opacity:.88;animation:.85s cubic-bezier(.2,.8,.2,1) both room-bunting-arrive}.gift-room.is-fully-lit .room-celebration i{animation:room-love-fall 2.25s ease-out var(--room-fall-delay) both}@keyframes room-bunting-arrive{0%{opacity:0;transform:translateY(-35px)}}@keyframes room-love-fall{0%{opacity:0;transform:translateY(-28px)translate(0)rotate(0)}18%{opacity:1}to{opacity:0;transform:translateY(210px) translateX(var(--room-fall-drift)) rotate(130deg)}}.dark-room-stage,.wish-countdown-stage,.blow-stage,.wish-ascending-stage,.gift-stage,.ritual-letter-stage{z-index:2;width:min(100%,1080px);height:100%;max-height:900px;position:relative}.dark-room-stage{grid-template-rows:auto minmax(250px,1fr) auto auto auto;place-items:center;display:grid}.room-heading{align-self:start}.room-heading .ritual-index{margin-bottom:12px}.room-heading h1{letter-spacing:-.04em;margin:0;font-family:STSong,SimSun,serif;font-size:clamp(27px,3.3vw,48px);font-weight:400}.dark-room-stage .cake-scene{align-self:center;margin:0 auto}.candle-blessing{min-height:74px;margin-top:-6px}.candle-blessing p{color:#ead9c7;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(16px,1.7vw,22px);animation:.48s both blessing-in}@keyframes blessing-in{0%{opacity:0;filter:blur(4px);transform:translateY(9px)}}.candle-progress{justify-content:center;gap:11px;margin-top:18px;display:flex}.candle-progress i{background:#373542;border-radius:50%;width:5px;height:5px;transition:all .35s}.candle-progress i.is-lit{background:#ffc885;box-shadow:0 0 14px 5px #ffa85c47}.room-tap-control{color:#e7d7c8;cursor:pointer;background:#ffc47e0a;border:1px solid #ffca8f6b;justify-content:space-between;align-items:center;min-width:min(100%,310px);min-height:54px;padding:0 18px;transition:all .3s;display:flex}.room-tap-control:hover,.room-tap-control:focus-visible{background:#ffbe781a;border-color:#ffc584;transform:translateY(-2px);box-shadow:0 0 45px #ffa25c1f}.room-tap-control b{color:#ffc584;font-size:17px}.start-wish{margin-top:0}.ritual-sound-note{color:#626170;letter-spacing:.08em;margin:14px 0 0;font-size:10px}.ritual-sound-note span{color:#c89d75;margin-right:7px}.mini-candles{z-index:5;pointer-events:none;position:absolute;inset:0}.mini-candle{background:linear-gradient(90deg,#292633,#5a5361 55%,#201f2a);border:1px solid #ffffff29;border-radius:5px 5px 2px 2px;width:8px;height:31px;transition:background .35s,filter .35s;position:absolute;transform:translate(-50%);box-shadow:0 7px 12px #00000042}.mini-candle:after{content:"";background:#3c2b33;width:1px;height:6px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.mini-candle:first-child{bottom:198px;left:78px;transform:rotate(-8deg)}.mini-candle:nth-child(2){bottom:211px;left:98px;transform:rotate(-6deg)}.mini-candle:nth-child(3){bottom:218px;left:118px;transform:rotate(-3deg)}.mini-candle:nth-child(4){bottom:225px;left:176px}.mini-candle:nth-child(5){bottom:218px;left:242px;transform:rotate(3deg)}.mini-candle:nth-child(6){bottom:211px;left:262px;transform:rotate(6deg)}.mini-candle:nth-child(7){bottom:198px;left:282px;transform:rotate(8deg)}.mini-candle .flame{opacity:0;width:10px;height:18px;transition:opacity .32s,transform .18s;animation:none;top:-20px}.mini-candle.is-lit{filter:drop-shadow(0 0 9px #ffa55b33);background:linear-gradient(90deg,#c47c6c,#ffd0a0 52%,#a95261)}.mini-candle.is-lit .flame{opacity:1;animation:.7s ease-in-out infinite alternate flame-dance}.candle.is-out .flame,.mini-candle.is-out .flame{animation:.3s forwards flame-out}.cake-scene.has-smoke .wish-smoke{opacity:1}.cake-scene.has-smoke .wish-smoke i{animation:2.1s ease-out infinite smoke-rise}.cake-scene.has-smoke .wish-smoke i:nth-child(4){animation-delay:.25s;left:-86px}.cake-scene.has-smoke .wish-smoke i:nth-child(5){animation-delay:.5s;left:82px}.blow-sparks{z-index:6;pointer-events:none;position:absolute;inset:20px 0 30px}.blow-sparks i{opacity:0;background:#ffd37e;border-radius:50%;width:3px;height:3px;position:absolute;top:48%;left:50%}.cake-scene.is-powerful .blow-sparks i{animation:1.2s cubic-bezier(.2,.7,.2,1) both spark-burst;animation-delay:calc(var(--spark) * 22ms)}@keyframes spark-burst{12%{opacity:1}to{opacity:0;transform:rotate(calc(var(--spark) * 31deg)) translateX(calc(65px + var(--spark) * 5px)) scale(.2)}}.wish-countdown-stage{flex-direction:column;justify-content:center;align-items:center;display:flex}.wish-countdown-stage .ritual-index{margin-bottom:32px}.countdown-orbit{aspect-ratio:1;border:1px solid #ffffff1f;border-radius:50%;place-items:center;width:clamp(170px,24vw,280px);display:grid;position:relative}.countdown-orbit:before,.countdown-orbit i{content:"";border:1px dashed #ffc3873b;border-radius:50%;animation:12s linear infinite spin;position:absolute;inset:10%}.countdown-orbit i:nth-child(2){animation-duration:19s;animation-direction:reverse;inset:-11%}.countdown-orbit strong{color:#f7e9db;text-shadow:0 0 70px #ffb97947;font:clamp(76px,12vw,150px)/1 Georgia,serif;animation:1s ease-in-out infinite countdown-pulse}@keyframes countdown-pulse{50%{opacity:.68;transform:scale(.94)}}.wish-countdown-stage h2{margin:45px 0 13px;font-family:STKaiti,KaiTi,serif;font-size:clamp(26px,3.6vw,47px);font-weight:400}.wish-countdown-stage>p:not(.ritual-index){color:#8d8c9b;letter-spacing:.14em;margin:0;font-size:13px}.wish-countdown-stage small{color:#666675;letter-spacing:.08em;margin-top:27px;font-size:10px}.blow-stage{text-align:left;grid-template-columns:minmax(300px,1fr) 390px;grid-template-areas:"copy cake""mic cake""hold cake";align-content:center;align-items:center;gap:20px 70px;display:grid}.blow-copy{grid-area:copy}.blow-copy .ritual-index{margin-bottom:16px}.blow-copy h2{letter-spacing:-.055em;margin:0;font-family:STSong,SimSun,serif;font-size:clamp(37px,4.7vw,69px);font-weight:400;line-height:1.13}.blow-copy>p:last-child{color:#9896a4;letter-spacing:.1em;margin:15px 0 0;font-size:12px}.blow-stage .cake-scene{grid-area:cake;margin:0 auto;transform:scale(1.08)}.microphone-panel{grid-area:mic}.microphone-status{align-items:center;gap:12px;display:flex}.mic-dot{background:#6d6874;border-radius:50%;flex:none;width:9px;height:9px}.mic-dot.is-active{background:#92e7bd;animation:1s ease-in-out infinite mic-pulse;box-shadow:0 0 18px #72ebaea6}.mic-dot.is-requesting{background:#ffc17f;animation:.7s ease-in-out infinite mic-pulse}@keyframes mic-pulse{50%{opacity:.35;transform:scale(.72)}}.microphone-status p{flex:1;margin:0}.microphone-status b,.microphone-status small{display:block}.microphone-status b{color:#ded3c7;letter-spacing:.08em;font-size:11px}.microphone-status small{color:#676776;margin-top:4px;font-size:9px}.microphone-status button{color:#9f9dab;cursor:pointer;background:0 0;border:1px solid #ffffff26;min-height:36px;padding:7px 10px;font-size:9px}.wind-meter{background:#ffffff12;height:4px;margin-top:14px;overflow:hidden}.wind-meter i{width:var(--wind-level);background:linear-gradient(90deg,#85c8ee,#ffe398,#ff9b77);height:100%;transition:width 80ms linear;display:block;box-shadow:0 0 16px #ffb176}.hold-to-blow{--hold-progress:0%;background:linear-gradient(90deg,#ffb16f52 var(--hold-progress),#ffffff08 var(--hold-progress));color:#dfd3c8;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid #ffcd9757;grid-area:hold;justify-content:space-between;align-items:center;min-height:58px;padding:0 18px;display:flex;overflow:hidden}.hold-to-blow.is-holding{border-color:#ffc181;box-shadow:0 0 42px #ffa66329}.hold-to-blow span{letter-spacing:.08em;font-size:11px}.hold-to-blow b{color:#ffc584;font:12px ui-monospace,monospace}.wish-ascending-stage,.gift-stage,.ritual-letter-stage{flex-direction:column;justify-content:center;align-items:center;display:flex}.wish-ascending-stage{isolation:isolate;overflow:hidden}.wish-constellation-canvas{z-index:3;pointer-events:none;opacity:.78;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 5%,#000 24% 69%,#0000 89%);mask-image:linear-gradient(#0000 5%,#000 24% 69%,#0000 89%)}.wish-nebula{z-index:-1;pointer-events:none;filter:blur(24px);position:absolute;inset:-12%}.wish-nebula i{opacity:0;border-radius:50%;animation:3.8s forwards nebula-bloom;position:absolute}.wish-nebula i:first-child{background:radial-gradient(circle,#675ab13d,#0000 69%);width:48%;height:45%;top:20%;left:12%}.wish-nebula i:nth-child(2){background:radial-gradient(circle,#bf4d7e2e,#0000 70%);width:56%;height:54%;animation-delay:.35s;top:6%;right:4%}.wish-nebula i:nth-child(3){background:radial-gradient(circle,#ff9b5b24,#0000 68%);width:50%;height:45%;animation-delay:.7s;bottom:-4%;left:25%}@keyframes nebula-bloom{0%{opacity:0;transform:scale(.55)rotate(-8deg)}to{opacity:1;transform:scale(1.12)rotate(4deg)}}.wish-trails{z-index:2;pointer-events:none;position:absolute;inset:0}.wish-trails i{width:1px;height:calc(80px + var(--trail) * 8px);transform-origin:50% 100%;transform:rotate(calc((var(--trail) - 5.5) * 9deg));filter:blur(.4px);opacity:0;animation:2.2s cubic-bezier(.18,.7,.2,1) forwards wish-trail-rise;animation-delay:calc(var(--trail) * 65ms);background:linear-gradient(#0000,#efebe133,#ffbb79b3);position:absolute;top:76%;left:50%}.wish-trails i:after{content:"";background:#fff2c9;border-radius:50%;width:4px;height:4px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 12px #ffc786}@keyframes wish-trail-rise{12%{opacity:1}to{opacity:0;transform:rotate(calc((var(--trail) - 5.5) * 17deg)) scaleY(1.5);top:24%}}.ascending-stars{z-index:1;pointer-events:none;position:absolute;inset:0}.ascending-stars i{opacity:0;width:3px;height:3px;animation:3s cubic-bezier(.2,.7,.2,1) forwards star-rise,1.8s ease-in-out 3s infinite alternate star-afterglow;animation-delay:var(--star-delay);background:#fff6cc;border-radius:50%;position:absolute;top:72%;left:50%;box-shadow:0 0 13px #ffd083}@keyframes star-rise{15%{opacity:1}to{left:var(--star-x);top:var(--star-y);opacity:.72;transform:scale(.75)}}@keyframes star-afterglow{to{opacity:.2;filter:brightness(1.6)}}.shooting-stars{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.shooting-stars i{opacity:0;background:linear-gradient(90deg,#0000,#fff6d6);width:150px;height:1px;animation:1.4s ease-out 1.1s forwards shooting-star;position:absolute;top:18%;left:-12%;transform:rotate(-18deg);box-shadow:0 0 9px #ffe6be99}.shooting-stars i:nth-child(2){width:95px;animation-duration:1.1s;animation-delay:2.2s;top:10%;left:43%}.shooting-stars i:nth-child(3){width:70px;animation-delay:2.8s;top:62%;left:7%}@keyframes shooting-star{8%{opacity:1}to{opacity:0;transform:translate(75vw,24vh)rotate(-18deg)}}.wish-ascending-stage>p{z-index:5;color:#d99d67;letter-spacing:.32em;margin:0 0 4px;font-size:9px;animation:1s .2s both reveal-copy;position:relative}.constellation-name{z-index:2;place-items:center;width:min(72vw,500px);height:clamp(210px,34vh,330px);display:grid;position:relative}.constellation-name strong{color:#fff5dc09;text-shadow:0 0 90px #ffd2901f;font:clamp(170px,28vw,350px)/.7 STSong,SimSun,serif;animation:3.1s both constellation-in}@keyframes constellation-in{0%{opacity:0;filter:blur(28px);transform:scale(.7)}to{opacity:1;filter:none;transform:none}}.constellation-lines{opacity:.38;animation:2.6s 1.1s both constellation-in;position:absolute;inset:8% 2%}.constellation-lines i{transform-origin:0;background:linear-gradient(90deg,#ffd399,#ffddb114);height:1px;position:absolute}.constellation-lines i:before,.constellation-lines i:after{content:"";background:#fff2c7;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 12px #ffc97f}.constellation-lines i:before{left:0}.constellation-lines i:after{right:0}.constellation-lines i:first-child{width:38%;top:26%;left:8%;transform:rotate(18deg)}.constellation-lines i:nth-child(2){width:39%;top:38%;left:44%;transform:rotate(-24deg)}.constellation-lines i:nth-child(3){width:34%;top:68%;left:20%;transform:rotate(-34deg)}.constellation-lines i:nth-child(4){width:32%;top:56%;left:51%;transform:rotate(29deg)}.constellation-lines i:nth-child(5){width:25%;top:42%;left:12%;transform:rotate(62deg)}.wish-ascending-stage h2{z-index:5;text-shadow:0 0 38px #ffd3993d;margin:-48px 0 12px;font-family:STKaiti,KaiTi,serif;font-size:clamp(25px,3.7vw,45px);font-weight:400;line-height:1.45;animation:1.2s 2.15s both wish-copy-arrive;position:relative}.wish-ascending-stage>span{z-index:5;color:#747382;letter-spacing:.1em;font-size:10px;animation:1s 2.45s both wish-copy-arrive;position:relative}@keyframes wish-copy-arrive{0%{opacity:0;filter:blur(8px);transform:translateY(15px)}}.gift-stage h2{margin:0 0 55px;font-family:STKaiti,KaiTi,serif;font-size:clamp(25px,3.5vw,45px);font-weight:400}.falling-gift{color:#eee3d7;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;width:210px;min-height:255px;padding:0;animation:1.4s cubic-bezier(.18,.8,.2,1.15) both gift-drop,2.6s ease-in-out 1.4s infinite gift-float;display:flex;position:relative}@keyframes gift-drop{0%{opacity:0;transform:translateY(-55vh)rotate(-16deg)scale(.55)}70%{opacity:1}}@keyframes gift-float{50%{transform:translateY(-9px)rotate(2deg)}}.gift-box{background:linear-gradient(135deg,#a9475c,#6e2946);border:1px solid #ffd2a0;width:132px;height:112px;margin-top:45px;display:block;position:relative;box-shadow:0 25px 65px #0006,0 0 45px #ffb07126}.gift-box:before{content:"";background:#bc5b68;border:1px solid #ffd2a0;height:23px;position:absolute;top:-18px;left:-7px;right:-7px}.gift-box i{background:#e7ad73;width:18px;position:absolute;top:-18px;bottom:0;left:50%;transform:translate(-50%)}.gift-bow{z-index:2;width:72px;height:55px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.gift-bow i{border:8px solid #e7ad73;border-radius:50% 50% 15%;width:42px;height:27px;position:absolute;top:17px}.gift-bow i:first-child{left:-4px;transform:rotate(21deg)}.gift-bow i:last-child{right:-4px;transform:scaleX(-1)rotate(21deg)}.falling-gift b{letter-spacing:.14em;margin-top:28px;font-size:12px;font-weight:500}.falling-gift small{color:#777686;letter-spacing:.14em;margin-top:7px;font-size:8px}.falling-gift:hover .gift-box,.falling-gift:focus-visible .gift-box{transform:scale(1.04);box-shadow:0 30px 80px #0000006b,0 0 70px #ffb0714d}.gift-stage:before{content:"";border:1px solid #ffcb9414;border-radius:50%;width:min(70vw,620px);height:min(70vw,620px);animation:4s ease-in-out infinite gift-halo;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 58px #ffffff03,0 0 0 128px #ffffff02,inset 0 0 90px #ffab680b}@keyframes gift-halo{50%{opacity:.55;transform:translate(-50%,-50%)scale(1.06)}}.falling-gift{width:240px;min-height:290px}.gift-comet-tail{z-index:-1;opacity:.7;filter:blur(.4px);background:linear-gradient(#0000,#fff2d1b8,#ffc481);width:2px;height:165px;position:absolute;top:-96px;left:50%;transform:translate(-50%);box-shadow:0 0 18px #ffbe7e9e}.gift-comet-tail:before,.gift-comet-tail:after{content:"";background:linear-gradient(90deg,#0000,#ffdbae5c,#0000);width:82px;height:1px;position:absolute;top:44%;left:50%}.gift-comet-tail:before{transform:translate(-50%)rotate(22deg)}.gift-comet-tail:after{transform:translate(-50%)rotate(-22deg)}.gift-orbit{z-index:3;border:1px dashed #ffd3a429;border-radius:50%;width:188px;height:188px;animation:14s linear infinite spin;position:absolute;top:40px;left:50%;transform:translate(-50%)}.gift-orbit i{background:#fff0c9;border-radius:50%;width:5px;height:5px;position:absolute;box-shadow:0 0 12px #ffc37e}.gift-orbit i:first-child{top:37px;left:12px}.gift-orbit i:nth-child(2){top:72px;right:8px}.gift-orbit i:nth-child(3){bottom:-2px;left:51%}.gift-box{background:linear-gradient(135deg,#c45f70,#8b3b5d 55%,#5c2849);border:1px solid #ffe0b9b3;border-radius:6px 6px 13px 13px;width:146px;height:122px;margin-top:57px;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;box-shadow:inset 12px 0 24px #ffbe9d1c,inset -13px 0 20px #310f252e,0 28px 70px #00000073,0 0 55px #ffb0712e}.gift-box:before{background:linear-gradient(90deg,#8a3b59,#cd6972 48%,#823452);border-color:#ffe0b9b8;border-radius:7px;height:28px;top:-20px;left:-8px;right:-8px;box-shadow:inset 0 5px 10px #ffd2b129,0 5px 9px #3110243d}.gift-box>i{background:linear-gradient(90deg,#b97a4e,#f0c48d 45%,#b36d46);width:20px;box-shadow:inset 2px 0 #ffeed247}.gift-tag{z-index:3;color:#74394e;letter-spacing:.16em;background:#f3d7b4;border:1px solid #602a3957;border-radius:999px;min-width:66px;padding:6px 8px;font:8px/1 Georgia,serif;position:absolute;top:42px;left:50%;transform:translate(-50%)rotate(-2deg)}.gift-envelope-peek{z-index:-1;color:#aa4e58;background:#f6ead6;border:1px solid #d5b690;place-items:center;width:92px;height:66px;font:18px Georgia,serif;transition:transform .45s;display:grid;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(2deg);box-shadow:0 -10px 25px #0000001f}.falling-gift:hover .gift-envelope-peek,.falling-gift:focus-visible .gift-envelope-peek{transform:translate(-50%,-22px)rotate(-2deg)}.gift-bow{filter:drop-shadow(0 7px 5px #41172a38);top:10px}.falling-gift>b{z-index:4;background:#0908123d;border:1px solid #ffd5a629;border-radius:999px;margin-top:30px;padding:9px 15px;position:relative}.ritual-letter-card{color:#392c2c;background:repeating-linear-gradient(#0000 0 37px,#543a320e 38px),#f7f0e3;border:1px solid #784c3940;flex-direction:column;justify-content:center;align-items:center;width:min(100%,610px);min-height:min(710px,100dvh - 52px);padding:clamp(42px,7vh,78px) clamp(28px,6vw,72px) 36px;animation:.85s cubic-bezier(.2,.8,.2,1) both letter-arrive;display:flex;transform:rotate(-.45deg);box-shadow:0 45px 130px #00000085}@keyframes letter-arrive{0%{opacity:0;transform:translateY(80px)rotate(-4deg)scale(.82)}}.ritual-letter-card>p{color:#a34c4c;letter-spacing:.35em;margin:0;font-size:11px}.ritual-letter-card h2{letter-spacing:-.05em;margin:22px 0 14px;font-family:STSong,SimSun,serif;font-size:clamp(46px,8vw,76px);font-weight:400}.letter-divider{color:#b45654;justify-content:center;align-items:center;gap:14px;width:100%;margin:8px 0 30px;display:flex}.letter-divider i{background:#d9c9bc;width:28%;height:1px}.ritual-letter-card h3{margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(24px,4vw,39px);font-weight:400;line-height:1.5}.ritual-letter-note{color:#8b766e;margin-top:24px;font-family:STKaiti,KaiTi,serif;font-size:14px;line-height:1.8}.ritual-letter-card{color:#f5e7db;background:radial-gradient(circle at 15% 12%,#b85b6c26 0 2px,#0000 3px),radial-gradient(circle at 84% 80%,#e7a47d1a,#0000 24%),repeating-linear-gradient(0deg,#0000 0 36px,#f3b68b09 37px),linear-gradient(145deg,#34232c,#21161d);border-color:#f3b68b38;position:relative;overflow:hidden;box-shadow:0 50px 150px #000000ad,inset 0 0 0 8px #ffebda06,inset 0 0 0 9px #f3b68b1a}.ritual-letter-card:before{content:"";pointer-events:none;border:1px solid #f3b68b2e;border-radius:46% 52% 48% 50%/5% 4% 6% 5%;position:absolute;inset:18px}.ritual-letter-card:after{content:"♡";color:#f3b68b0a;pointer-events:none;font:260px/1 Georgia,serif;position:absolute;bottom:-82px;right:-35px;transform:rotate(-11deg)}.ritual-letter-card>*{z-index:2;position:relative}.ritual-letter-card>p{color:#f3b68b}.ritual-letter-card h2,.ritual-letter-card h3{color:#f5e7db}.ritual-letter-note{color:#cab1a9}.letter-divider{color:#e58d8d}.letter-divider i{background:#f3b68b40}.ritual-letter-ribbon{z-index:3;color:#ffe8d2;letter-spacing:.18em;background:linear-gradient(90deg,#4c2034,#8b3f54,#4c2034);width:205px;padding:8px 0;font:7px/1 Georgia,serif;position:absolute;top:32px;left:-44px;transform:rotate(-38deg);box-shadow:0 4px 10px #00000047}.ritual-letter-seal{z-index:4;color:#fff0dd;background:radial-gradient(circle at 38% 32%,#d5797e,#82384e 55%,#4b1f34);border:1px solid #d7837d;border-radius:48% 52% 45% 55%;place-items:center;width:48px;height:48px;font:17px Georgia,serif;display:grid;position:absolute;top:35px;right:38px;transform:rotate(7deg);box-shadow:inset 0 0 0 4px #ffddc414,0 9px 20px #00000061}.letter-petal-orbit{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.letter-petal-orbit i{opacity:.55;background:linear-gradient(90deg,#74364f,#d87678);border-radius:80% 20% 75% 25%;width:17px;height:9px;animation:5.8s linear infinite letter-petal-fall;position:absolute;top:-10%;left:12%}.letter-petal-orbit i:first-child{animation-delay:-1s;left:12%}.letter-petal-orbit i:nth-child(2){animation-delay:-4.2s;left:23%;transform:scale(.7)}.letter-petal-orbit i:nth-child(3){animation-delay:-2.3s;left:34%}.letter-petal-orbit i:nth-child(4){animation-delay:-.3s;left:52%;transform:scale(.8)}.letter-petal-orbit i:nth-child(5){animation-delay:-3.5s;left:64%}.letter-petal-orbit i:nth-child(6){animation-delay:-1.8s;left:76%;transform:scale(.65)}.letter-petal-orbit i:nth-child(7){animation-delay:-4.8s;left:88%}@keyframes letter-petal-fall{to{opacity:.12;top:112%;transform:translate(80px)rotate(390deg)}}.hold-to-open{--letter-hold:0%;background:linear-gradient(90deg,#a94b50 var(--letter-hold),transparent var(--letter-hold));color:#763b3f;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid #9d484c;align-items:center;gap:13px;width:min(100%,330px);min-height:60px;margin-top:38px;padding:0 18px;transition:color .15s;display:flex}.hold-to-open.is-holding{color:#fff4e8}.hold-to-open{background:linear-gradient(90deg,#7a3648 var(--letter-hold),#35222ce6 var(--letter-hold));color:#f5d8cf;border-color:#b85b6c;border-radius:999px;box-shadow:inset 0 1px #ffffff14,0 13px 32px #0000003d}.hold-to-open i{background:radial-gradient(circle at 35% 32%,#ffffff57,#0000 28%);border:1px solid;border-radius:48% 52% 45% 55%;width:26px;height:26px;transition:transform .2s;box-shadow:inset 0 0 0 4px #752e3a14}.hold-to-open.is-holding i{transform:rotate(12deg)scale(1.1)}.hold-to-open span{text-align:left;letter-spacing:.13em;flex:1;font-size:12px}.hold-to-open b{font:10px ui-monospace,monospace}.ritual.is-opening{animation:1.5s both ritual-veil}.sound-dock{z-index:140;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));color:#eee3d8;-webkit-backdrop-filter:blur(18px)saturate(1.25);backdrop-filter:blur(18px)saturate(1.25);cursor:pointer;touch-action:manipulation;background:linear-gradient(105deg,#251b2ed1,#080814a8);border:1px solid #ffddb53d;border-radius:999px;grid-template-columns:38px 1fr 24px;align-items:center;gap:10px;min-width:184px;height:56px;padding:0 14px 0 9px;transition:transform .3s,border-color .3s,box-shadow .3s;display:grid;position:fixed;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 14px 38px #00000047,0 0 0 4px #ffc18006}.sound-dock:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 20%,#ffffff1a 44%,#0000 62%);position:absolute;inset:0;transform:translate(-120%)}.sound-dock:hover,.sound-dock:focus-visible{border-color:#ffc68894;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff1a,0 18px 48px #00000057,0 0 28px #ffb26f1a}.sound-dock:hover:after{animation:.8s sound-shimmer}.sound-dock:active{transform:scale(.97)}@keyframes sound-shimmer{to{transform:translate(120%)}}.music-disc{background:repeating-radial-gradient(circle,#1d1826 0 3px,#33233b 4px 5px),radial-gradient(circle,#b9646a,#4b2b48);border:1px solid #ffd3a461;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:relative;box-shadow:0 0 18px #ffb06c1f}.music-disc:after{content:"";background:#ffd09b;width:13px;height:1px;transition:transform .3s;position:absolute;transform:rotate(-45deg)scaleX(0);box-shadow:0 0 5px #ffd09b}.sound-dock:not(.is-on) .music-disc:after{transform:rotate(-45deg)scaleX(1)}.music-disc i{background:#5f314e;border:2px solid #f1bd80;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 3px #ffd6a914}.music-disc b{transform-origin:0 21px;background:#ffd39d;border-radius:50%;width:5px;height:5px;animation:2.8s linear infinite paused music-orbit;position:absolute;top:-2px;left:50%;box-shadow:0 0 9px #ffb870}.sound-dock.is-on .music-disc{animation:7s linear infinite record-spin}.sound-dock.is-on .music-disc b{animation-play-state:running}@keyframes record-spin{to{transform:rotate(360deg)}}@keyframes music-orbit{to{transform:rotate(360deg)}}.sound-copy{text-align:left;min-width:0}.sound-copy b,.sound-copy small{white-space:nowrap;display:block}.sound-copy b{letter-spacing:.1em;font-size:10px;font-weight:600}.sound-copy small{color:#898392;letter-spacing:.06em;text-overflow:ellipsis;max-width:92px;margin-top:4px;font-size:8px;overflow:hidden}.sound-bars{justify-content:center;align-items:center;gap:2px;width:24px;height:22px;display:flex}.sound-bars i{background:#696472;border-radius:2px;width:2px;height:4px}.sound-dock.is-on .sound-bars i{background:#ffc082;animation:.8s ease-in-out infinite alternate audio-bar}.sound-dock.is-on .sound-bars i:nth-child(2){animation-delay:-.25s}.sound-dock.is-on .sound-bars i:nth-child(3){animation-delay:-.5s}.sound-dock.is-on .sound-bars i:nth-child(4){animation-delay:-.15s}@keyframes audio-bar{to{height:19px}}.celebration{z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}.celebration i{left:var(--left);color:#ffd39e;font-style:normal;font-size:var(--size);opacity:0;text-shadow:0 0 15px #ff9c75;position:absolute;top:-8%}.celebration.is-celebrating i{animation:1.7s cubic-bezier(.2,.7,.2,1) both confetti-fall;animation-delay:var(--delay)}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-30px)rotate(0)}15%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),110vh,0) rotate(520deg)}}.hero{isolation:isolate;border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:100svh;padding:34px 4.5vw 28px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-4;background:linear-gradient(130deg,#060611 10%,#151841 50%,#4a2540 77%,#ff9c63 140%);position:absolute;inset:0}.hero:after{content:"";z-index:2;opacity:.1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-aurora{z-index:-2;filter:blur(80px);opacity:.3;background:#5745bd;border-radius:50%;width:70vw;height:45vw;position:absolute;top:-28vw;right:-8vw}.hero-topline{z-index:4;letter-spacing:.25em;color:#ffffffa6;justify-content:space-between;font-size:11px;display:flex;position:relative}.hero-copy{z-index:4;max-width:900px;margin-top:6vh;position:relative}.eyebrow,.section-index{color:var(--gold);letter-spacing:.24em;font-size:11px;font-weight:700}.hero h1{letter-spacing:-.055em;text-shadow:0 14px 55px #00000059;margin:16px 0 22px;font-family:STSong,SimSun,serif;font-size:clamp(49px,7.4vw,116px);font-weight:400;line-height:.99}.hero h1 span{color:#ffc987;margin-left:clamp(0px,9vw,140px);font-style:italic;display:block}.hero-note{color:#ffffffa8;letter-spacing:.1em;font-size:14px}.open-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#0a0a1940;border:1px solid #ffffff73;justify-content:space-between;align-items:center;width:190px;height:58px;margin-top:32px;padding:0 20px;transition:all .35s;display:flex}.open-button:hover{background:var(--ink);color:var(--night);transform:translateY(-3px)}.open-button b{font-size:22px;font-weight:400}.age-orbit{z-index:1;aspect-ratio:1;border:1px solid #ffffff2b;border-radius:50%;place-items:center;width:min(30vw,410px);display:grid;position:absolute;top:20%;right:6vw}.age-orbit:before,.age-orbit:after{content:"";border:1px solid #ffffff1a;border-radius:50%;position:absolute;inset:12%}.age-orbit:after{border-style:dashed;animation:24s linear infinite spin;inset:-9%}@keyframes spin{to{transform:rotate(360deg)}}.age-orbit strong{color:#ffffff12;font-family:Georgia,serif;font-size:clamp(100px,17vw,260px);line-height:1}.orbit-copy{letter-spacing:.28em;color:#ffffff7a;font-size:9px;position:absolute;top:-8px}.landscape{z-index:-1;opacity:.7;height:42%;position:absolute;inset:auto 0 0;overflow:hidden}.sun{background:#ffbe79;border-radius:50%;width:90px;height:90px;position:absolute;bottom:26%;right:20%;box-shadow:0 0 70px #ff8f66}.mountain{clip-path:polygon(0 100%,25% 38%,42% 68%,62% 16%,100% 100%);width:70%;height:95%;position:absolute;bottom:-22%}.mountain-a{background:#151634;left:-9%}.mountain-b{background:#0b0b1d;bottom:-31%;right:-14%;transform:scaleX(-1)}.road{clip-path:polygon(47% 0,55% 0,100% 100%,0 100%);background:linear-gradient(90deg,#0000,#ffd29a73,#0000);width:17%;height:72%;position:absolute;bottom:-10%;left:44%}.scroll-cue{z-index:4;letter-spacing:.2em;color:#ffffff85;writing-mode:vertical-rl;align-self:flex-end;font-size:11px;position:relative}.scroll-cue span{margin-top:12px;animation:1.5s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(6px)}}.prologue,.route-section,.letter-section,.cards-section{z-index:4;padding:120px 7vw;position:relative}.prologue{background:radial-gradient(circle at 13% 72%,#734e9721,#0000 28%),linear-gradient(#0a0a18,#0d1026);flex-direction:column;justify-content:center;min-height:100svh;display:flex}.prologue-grid{grid-template-columns:1fr 1fr;align-items:start;gap:9vw;display:grid}.prologue-title{position:relative}.prologue h2,.section-heading h2,.letter-intro h2,.cards-heading h2{letter-spacing:-.06em;margin:45px 0 0;font-family:STSong,SimSun,serif;font-size:clamp(42px,6vw,82px);font-weight:400;line-height:1.08}.prologue-copy{border-left:1px solid var(--line);max-width:560px;padding:35px 0 10px 45px}.big-quote{color:#ffd39e;font-family:STKaiti,KaiTi,serif;font-size:clamp(22px,2.7vw,36px);line-height:1.55}.prologue-body{max-width:480px;color:var(--muted);margin:0 0 22px;font-size:14px;line-height:2}.coordinates{color:#777887;align-items:center;gap:18px;margin-top:36px;font-family:monospace;font-size:11px;display:flex}.coordinates i{background:#454653;width:80px;height:1px}.prologue-ticket{background:linear-gradient(110deg,#ffbc7c12,#644d8d14);border:1px solid #ffc68538;border-radius:3px;grid-template-columns:1fr auto;gap:8px 20px;width:min(100%,390px);margin-top:52px;padding:19px 22px;display:grid;box-shadow:inset 0 1px #ffffff0a}.prologue-ticket:after{content:"YY";color:#ffc78b59;border-left:1px dashed #ffc68538;grid-area:1/2/4;align-self:center;padding-left:18px;font:32px Georgia,serif}.prologue-ticket span{color:#e5a874;letter-spacing:.18em;font:9px ui-monospace,monospace}.prologue-ticket b{color:#e9ded3;letter-spacing:.12em;font:12px Georgia,serif}.prologue-ticket small{color:#747484;letter-spacing:.08em;font-size:9px}.prologue-promises{margin-top:clamp(60px,8vw,110px)}.prologue-promises>p{color:#747484;letter-spacing:.2em;margin:0 0 22px;font:9px ui-monospace,monospace}.prologue-promises>div{border-block:1px solid #ffffff1f;grid-template-columns:repeat(3,1fr);display:grid}.prologue-promises article{border-right:1px solid #ffffff1a;min-height:190px;padding:32px clamp(18px,3vw,42px);position:relative;overflow:hidden}.prologue-promises article:last-child{border-right:0}.prologue-promises article:after{content:"✦";color:#ffbe7e2b;font-size:34px;position:absolute;top:22px;right:18px}.prologue-promises article span{color:#b97e63;letter-spacing:.18em;font:8px ui-monospace,monospace}.prologue-promises article h3{margin:24px 0 12px;font-family:STSong,SimSun,serif;font-size:clamp(25px,2.6vw,38px);font-weight:400}.prologue-promises article p{color:#92919e;max-width:260px;margin:0;font-family:STKaiti,KaiTi,serif;font-size:14px;line-height:1.8}.chapter-scroll-target,.journey-scroll-target{scroll-margin-top:calc(16px + env(safe-area-inset-top,0px));outline:none;scroll-margin-block-start:calc(16px + env(safe-area-inset-top,0px))}.chapter-scroll-target:focus-visible,.journey-scroll-target:focus-visible{outline-offset:-12px;outline:1px solid #ffc78e6b}.chapter-bridge{z-index:5;border-block:1px solid #ffffff21;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;width:100%;margin-top:clamp(65px,8vw,110px);display:grid;position:relative}.chapter-link{color:#e9dfd6;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:10px;min-height:112px;padding:24px clamp(16px,3vw,40px);transition:background .3s,color .3s,transform .3s;display:flex}.chapter-link.is-previous{text-align:left;align-items:flex-start}.chapter-link.is-next{text-align:right;align-items:flex-end}.chapter-link span{color:#777786;letter-spacing:.17em;font:8px ui-monospace,monospace}.chapter-link span i{color:#e6a973;font-style:normal}.chapter-link b{max-width:380px;font-family:STSong,SimSun,serif;font-size:clamp(16px,1.8vw,24px);font-weight:400;line-height:1.4}.chapter-link:hover,.chapter-link:focus-visible{color:#ffc98e;outline-offset:-1px;background:linear-gradient(110deg,#ffb87014,#81559314);outline:1px solid #ffc68952;transform:translateY(-3px)}.chapter-thread{color:#d19a70;justify-content:center;align-items:center;gap:10px;width:clamp(90px,10vw,150px);display:flex}.chapter-thread i{background:linear-gradient(90deg,#0000,#ffc48573);width:22px;height:1px}.chapter-thread i:last-child{transform:scaleX(-1)}.chapter-thread em{border:1px solid #ffc48547;border-radius:50%;place-items:center;width:38px;height:38px;font:9px Georgia,serif;display:grid;box-shadow:0 0 26px #ffb16e14}.chapter-bridge.is-letter{border-color:#f3b68b2e}.chapter-bridge.is-letter .chapter-link{color:#f2ded2}.chapter-bridge.is-letter .chapter-link span{color:#aa8e8a}.chapter-bridge.is-letter .chapter-thread{color:#f0b58e}.interaction-hint{color:#aaa9b6;letter-spacing:.12em;align-items:center;gap:10px;width:fit-content;margin-top:22px;font-size:10px;display:flex}.interaction-hint i{background:#ffc584;border-radius:50%;flex:none;width:8px;height:8px;animation:1.8s ease-out infinite hint-pulse;position:relative;box-shadow:0 0 #ffc58473}@keyframes hint-pulse{55%,to{box-shadow:0 0 0 11px #ffc58400}}.route-section{background:#0d1026;padding-bottom:150px}.memory-curtain{opacity:1;max-height:2200px;transition:max-height 1.15s cubic-bezier(.65,0,.18,1),opacity .55s,transform .8s;overflow:hidden;transform:none}.route-section.is-unlocked .memory-curtain{opacity:0;pointer-events:none;max-height:0;transform:translateY(-50px)}.memory-curtain-top{grid-template-columns:1.25fr .75fr;align-items:end;gap:8vw;display:grid}.memory-curtain-top h2{letter-spacing:-.06em;max-width:850px;margin:45px 0 0;font-family:STSong,SimSun,serif;font-size:clamp(42px,6vw,82px);font-weight:400;line-height:1.08}.memory-curtain-top>div:last-child>p{max-width:430px;color:var(--muted);margin:0;font-size:13px;line-height:1.95}.memory-stage{isolation:isolate;background-color:#111329;background-position:50%;background-size:cover;border:1px solid #ffffff24;justify-content:space-between;align-items:end;gap:45px;min-height:510px;margin-top:68px;animation:.55s both memory-in;display:flex;position:relative;overflow:hidden;box-shadow:0 38px 100px #00000052}.memory-stage.is-next{animation-name:memory-slide-next}.memory-stage.is-previous{animation-name:memory-slide-previous}@keyframes memory-slide-next{0%{opacity:0;filter:blur(7px)brightness(.72);transform:translate(28px)scale(1.015)}}@keyframes memory-slide-previous{0%{opacity:0;filter:blur(7px)brightness(.72);transform:translate(-28px)scale(1.015)}}.memory-stage:before{content:"";z-index:-1;background:linear-gradient(#0000 38%,#05050fde),linear-gradient(90deg,#ffa86714,#0000 40%);position:absolute;inset:0}.memory-stage:after{content:"";z-index:5;pointer-events:none;border:1px solid #ffffff29;position:absolute;inset:16px}.memory-stage-copy{z-index:3;max-width:680px;padding:70px clamp(32px,5vw,75px);position:relative}.memory-stage-copy>span{color:#ffc78e;letter-spacing:.22em;font:10px ui-monospace,monospace}.memory-stage-copy h3{letter-spacing:-.05em;margin:16px 0 15px;font-family:STSong,SimSun,serif;font-size:clamp(40px,5.5vw,72px);font-weight:400}.memory-stage-copy p{color:#ffffffc2;max-width:520px;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(17px,2vw,24px);line-height:1.8}.memory-count{z-index:3;white-space:nowrap;align-items:baseline;gap:9px;padding:0 clamp(30px,4vw,60px) 68px 0;display:flex;position:relative}.memory-count b{color:#ffc78e;font:47px/1 Georgia,serif}.memory-count span{color:#888996;letter-spacing:.12em;font-size:9px}.memory-stage-controls{z-index:7;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:47%;left:24px;right:24px;transform:translateY(-50%)}.memory-stage-controls button{color:#f7ede2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;pointer-events:auto;background:#07081675;border:1px solid #ffffff4d;border-radius:999px;justify-content:space-between;align-items:center;gap:10px;width:108px;min-height:52px;padding:0 15px;transition:transform .28s,border-color .28s,background .28s;display:flex;box-shadow:0 12px 34px #00000047,inset 0 1px #ffffff14}.memory-stage-controls button:hover,.memory-stage-controls button:focus-visible{background:#2d2131c7;border-color:#ffc78e;transform:translate(-4px)}.memory-stage-controls button:last-child:hover,.memory-stage-controls button:last-child:focus-visible{transform:translate(4px)}.memory-stage-controls button b{color:#ffc78e;font:21px/1 Georgia,serif}.memory-stage-controls button span{letter-spacing:.12em;font-size:9px}.memory-motif{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.memory-motif i{left:var(--motif-x);color:#fff0c7;font-size:var(--motif-size);opacity:0;text-shadow:0 0 14px;animation:memory-motif-fall var(--motif-duration) cubic-bezier(.2,.58,.35,1) var(--motif-delay) both;font-style:normal;line-height:1;position:absolute;top:-50px}.motif-breeze i{color:#c8efff;font-size:calc(var(--motif-size) * 1.7);filter:blur(.2px);animation-name:memory-breeze-fall}.motif-neon i{color:#92e9ff;transform-origin:top;text-shadow:0 0 9px #38c6ff,0 0 20px #a35cff}.motif-stars i{color:#ffe39a;text-shadow:0 0 9px #fff,0 0 24px #f3aeff}.motif-flowers i{color:#ffc6d9;text-shadow:0 0 12px #ff75abbf;animation-name:memory-flower-fall}.motif-magic i{color:#d9c4ff;text-shadow:0 0 10px #8b68ff,0 0 23px #ffba6b}.motif-snow i{color:#e8f7ff;text-shadow:0 0 14px #99dfff;animation-name:memory-snow-fall}.motif-lanterns i{color:#ffd27e;text-shadow:0 0 10px #ff8b4f,0 0 22px #ffb55f}@keyframes memory-motif-fall{0%{opacity:0;transform:translate(-8px,-15px)rotate(0)}14%{opacity:.92}76%{opacity:.75}to{opacity:0;transform:translate(34px,590px)rotate(250deg)}}@keyframes memory-breeze-fall{0%{opacity:0;transform:translate(-80px)rotate(-9deg)scaleX(.7)}18%{opacity:.88}to{opacity:0;transform:translate(130px,565px)rotate(12deg)scaleX(1.5)}}@keyframes memory-flower-fall{0%{opacity:0;transform:translate(-22px,-10px)rotate(-25deg)}16%{opacity:.92}to{opacity:0;transform:translate(78px,590px)rotate(320deg)}}@keyframes memory-snow-fall{0%{opacity:0;transform:translate(18px,-12px)scale(.7)}15%{opacity:.9}to{opacity:0;transform:translate(-38px,590px)rotate(160deg)scale(1.1)}}.memory-film{scrollbar-color:#575970 transparent;background:#090a17;border-block:1px solid #ffffff21;grid-template-columns:repeat(7,minmax(145px,1fr));margin-top:22px;padding:23px 12px;display:grid;position:relative;overflow-x:auto}.memory-film:before,.memory-film:after{content:"";opacity:.42;background:repeating-linear-gradient(90deg,#d8d4cd 0 10px,#0000 10px 21px);height:5px;position:absolute;left:0;right:0}.memory-film:before{top:5px}.memory-film:after{bottom:5px}.memory-film button{color:#777986;text-align:left;cursor:pointer;border:0;background:0 0;border-right:1px solid #ffffff1a;min-height:92px;padding:18px 17px;transition:all .3s;position:relative}.memory-film button:hover,.memory-film button:focus-visible,.memory-film button.is-active{color:#f3e8db;background:#ffbe7e14}.memory-film button span,.memory-film button b{display:block}.memory-film button span{color:#aa6f58;letter-spacing:.12em;margin-bottom:9px;font:10px ui-monospace,monospace}.memory-film button b{font-family:STSong,SimSun,serif;font-size:17px;font-weight:400}.memory-film button i{background:#555565;border-radius:50%;width:4px;height:4px;position:absolute;bottom:13px;left:17px}.memory-film button.is-seen i{background:#ffc78e;box-shadow:0 0 14px #ff9e70}.journey-unlock{color:#f1e5d9;cursor:pointer;background:linear-gradient(90deg,#99455b59,#ffb26f1f);border:1px solid #ffc28273;justify-content:space-between;align-items:center;width:100%;min-height:88px;margin-top:25px;padding:0 clamp(24px,4vw,52px);transition:all .4s;display:flex}.journey-unlock:hover,.journey-unlock:focus-visible{background-color:#ffb26f1c;border-color:#ffc082;transform:translateY(-4px);box-shadow:0 20px 60px #00000038}.journey-unlock span{color:#9694a0;letter-spacing:.13em;font-size:11px}.journey-unlock b{font-family:STSong,SimSun,serif;font-size:clamp(18px,2vw,27px);font-weight:400}.journey-unlock b i{color:#ffc78e;margin-left:16px;font-style:normal}.memory-chapter-actions{grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);gap:12px;margin-top:25px;display:grid}.memory-chapter-actions .journey-unlock{margin-top:0}.chapter-inline-back{color:#888996;text-align:left;cursor:pointer;background:#ffffff06;border:1px solid #ffffff21;align-items:center;gap:14px;min-height:88px;padding:18px 22px;transition:all .3s;display:flex}.chapter-inline-back span{color:#d99c70;font-size:19px}.chapter-inline-back b{letter-spacing:.08em;font-size:10px;font-weight:400;line-height:1.65}.chapter-inline-back:hover,.chapter-inline-back:focus-visible{color:#f1dfd1;background:#ffbe7c12;border-color:#ffc28275;transform:translateY(-3px)}.route-reveal{opacity:0;max-height:0;transition:max-height 1.2s cubic-bezier(.65,0,.18,1) .15s,opacity .75s .3s,transform .9s .25s;overflow:hidden;transform:translateY(60px)}.route-section.is-unlocked .route-reveal{opacity:1;max-height:3200px;transform:none}.memory-replay{color:#8b8c99;letter-spacing:.13em;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff2e;margin:0 0 55px;padding:12px 0;font-size:10px}.memory-replay:hover{color:#ffc78e;border-color:#ffc78e}.section-heading{justify-content:space-between;align-items:end;gap:50px;display:flex}.section-heading>p{color:var(--muted);font-size:13px;line-height:1.9}.route-heading-aside,.cards-aside{flex:none}.route-heading-aside>p,.cards-aside>p{color:var(--muted);margin:0;font-size:13px;line-height:1.9}.route-line{scrollbar-color:#575970 transparent;grid-template-columns:repeat(8,minmax(130px,1fr));margin-top:90px;padding:15px 0 30px;display:grid;overflow-x:auto}.route-stop{min-width:130px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #3f4053;padding:64px 22px 20px 0;transition:all .3s;position:relative}.route-stop:hover,.route-stop:focus-visible,.route-stop.is-active{border-top-color:var(--gold);transform:translateY(-5px)}.route-stop.is-active h3{color:var(--gold)}.route-number{color:#57596a;font-family:Georgia,serif;font-size:12px;position:absolute;top:-30px}.route-dot{border-radius:50%;width:10px;height:10px;position:absolute;top:-5px}.route-stop h3{margin:0 0 14px;font-family:STSong,SimSun,serif;font-size:25px;font-weight:400}.route-stop p{color:#888997;max-width:100px;margin:0;font-size:12px;line-height:1.7}.route-memory{--stop-color:#ffb86b;border:1px solid var(--stop-color);min-height:245px;margin-top:46px;padding:35px clamp(24px,4vw,58px);position:relative}@supports (color:color-mix(in lab, red, red)){.route-memory{border:1px solid color-mix(in srgb, var(--stop-color) 45%, transparent)}}.route-memory{background:linear-gradient(115deg, var(--stop-color), #080814b3)}@supports (color:color-mix(in lab, red, red)){.route-memory{background:linear-gradient(115deg, color-mix(in srgb, var(--stop-color) 12%, transparent), #080814b3)}}.route-memory{animation:.45s both memory-in;overflow:hidden}.route-memory:after{content:"";border:1px solid var(--stop-color);width:260px;height:260px;position:absolute}@supports (color:color-mix(in lab, red, red)){.route-memory:after{border:1px solid color-mix(in srgb, var(--stop-color) 35%, transparent)}}.route-memory:after{box-shadow:0 0 70px var(--stop-color);border-radius:50%;top:-110px;right:-80px}@supports (color:color-mix(in lab, red, red)){.route-memory:after{box-shadow:0 0 70px color-mix(in srgb, var(--stop-color) 15%, transparent)}}@keyframes memory-in{0%{opacity:0;transform:translateY(12px)}}.memory-index{color:var(--stop-color);letter-spacing:.22em;font:10px monospace}.memory-copy{z-index:1;grid-template-columns:150px 1fr;align-items:center;gap:35px;margin:32px 0;display:grid;position:relative}.memory-copy span{font-family:STSong,SimSun,serif;font-size:36px}.memory-copy p{color:#ece8df;max-width:680px;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(20px,2.2vw,31px);line-height:1.65}.memory-progress{background:#ffffff1a;height:2px}.memory-progress i{background:var(--stop-color);height:100%;transition:width .5s;display:block}.memory-tip{color:#717383;letter-spacing:.08em;margin:13px 0 0;font-size:10px}.wish-section{--wish-progress:0;z-index:4;text-align:center;background:radial-gradient(circle at 50% 82%,#3c243e,#090914 68%);flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:120px 7vw;transition:background 1.1s;display:flex;position:relative;overflow:hidden}.wish-section.wish-level-1{background:radial-gradient(circle at 50% 82%,#694052,#17142b 48%,#090914 76%)}.wish-section.wish-level-2{background:radial-gradient(circle at 50% 82%,#935360,#2b1a3f 48%,#090914 79%)}.wish-section.wish-level-3{background:radial-gradient(circle at 50% 80%,#a66068,#38204a 46%,#090914 81%)}.wish-section.wish-level-4{background:radial-gradient(circle at 50% 78%,#bd7475,#492852 44%,#0a0917 82%)}.wish-section:before{content:"";z-index:1;opacity:var(--wish-pattern-opacity,.05);background:repeating-linear-gradient(120deg,#0000 0 38px,#ffffff8c 39px 40px);transition:opacity .8s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 85%);mask-image:linear-gradient(#0000,#000 85%)}.wish-section>:not(.wish-world){z-index:2;position:relative}.wish-world{z-index:0;pointer-events:none;isolation:isolate;position:absolute;inset:0;overflow:hidden}.wish-aurora{opacity:var(--wish-aurora-opacity,.12);filter:blur(38px);transition:opacity 1s;position:absolute;inset:-16% -8% 24%}.wish-aurora i{background:#8f63c247;border-radius:50%;width:58%;height:76%;animation:8s ease-in-out infinite alternate wish-aurora-drift;position:absolute}.wish-aurora i:first-child{top:8%;left:-8%}.wish-aurora i:nth-child(2){background:#d969863d;animation-delay:-2.6s;top:-8%;left:30%}.wish-aurora i:nth-child(3){background:#ffad712e;animation-delay:-5.2s;top:16%;right:-12%}@keyframes wish-aurora-drift{to{transform:translate(9%,8%)scale(1.12)}}.wish-moon{aspect-ratio:1;width:clamp(92px,13vw,180px);opacity:var(--wish-moon-opacity,.23);background:radial-gradient(circle at 38% 35%,#fff0c4,#e4a47f 52%,#804e67 76%);border:1px solid #ffdcb138;border-radius:50%;place-items:center;transition:opacity .8s,box-shadow .8s;display:grid;position:absolute;top:11%;right:9%;box-shadow:0 0 70px #ffa97029}.wish-moon:before,.wish-moon:after{content:"";border:1px dashed #ffd6a929;border-radius:50%;animation:18s linear infinite finale-orbit;position:absolute;inset:-13%}.wish-moon:after{animation-duration:28s;animation-direction:reverse;inset:-28%}.wish-moon span{color:#502a3f85;font:clamp(38px,6vw,80px)/1 Georgia,serif}.wish-wind-ribbons,.wish-petal-field,.wish-mountain,.wish-love-lights,.wish-heart-constellation{opacity:0;transition:opacity .85s,transform 1s}.wish-wind-ribbons{height:190px;position:absolute;inset:24% -10% auto;transform:translate(-8%)}.wish-wind-ribbons i{border-top:1px solid #ffdaa47a;border-radius:50%;width:72%;height:42px;animation:6.5s ease-in-out infinite wish-wind-flow;position:absolute;left:0}.wish-wind-ribbons i:nth-child(2){width:66%;animation-delay:-2.1s;top:54px;left:24%}.wish-wind-ribbons i:nth-child(3){width:84%;animation-delay:-4.2s;top:108px;left:8%}@keyframes wish-wind-flow{50%{opacity:.45;transform:translate(10%)translateY(-12px)scaleX(1.08)}}.has-freedom .wish-wind-ribbons{opacity:.8;transform:none}.wish-petal-field{position:absolute;inset:0}.wish-petal-field i{width:14px;height:8px;animation:wish-petal-rise calc(6.5s + var(--petal-index) * .18s) linear calc(var(--petal-index) * -.42s) infinite;background:linear-gradient(90deg,#bb6176,#f1a18e);border-radius:90% 15% 85% 20%;position:absolute;bottom:-28px;box-shadow:0 0 10px #ee828138}@keyframes wish-petal-rise{to{transform:translate(var(--petal-drift),-110vh) rotate(410deg)}}.has-passion .wish-petal-field{opacity:.72}.wish-mountain{height:38%;position:absolute;bottom:0;left:0;right:0;transform:translateY(32%)}.wish-mountain i{clip-path:polygon(0 100%,18% 48%,31% 76%,50% 18%,66% 69%,82% 37%,100% 100%);background:linear-gradient(#5c4369a3,#110e20f0);position:absolute;inset:16% -6% -16%}.wish-mountain i:nth-child(2){background:linear-gradient(#493557b8,#0b0a19);inset:38% -11% -18%;transform:scaleX(-1)}.wish-mountain b{clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:drop-shadow(0 0 14px #ffaf743d);background:linear-gradient(90deg,#0000,#ffcc9194,#0000);width:13%;height:94%;position:absolute;bottom:-6%;left:50%;transform:translate(-50%)}.has-courage .wish-mountain{opacity:.72;transform:none}.wish-love-lights{position:absolute;inset:0}.wish-love-lights i{color:#ffcdb5b8;text-shadow:0 0 15px #ff968f7a;animation:wish-love-rise calc(7s + var(--love-index) * .17s) ease-in calc(var(--love-index) * -.51s) infinite;font:clamp(15px,2vw,28px)/1 Georgia,serif;position:absolute;bottom:-28px}@keyframes wish-love-rise{55%{opacity:.8}to{opacity:0;transform:translateY(-95vh)rotate(24deg)scale(1.2)}}.has-love .wish-love-lights{opacity:.75}.wish-heart-constellation{aspect-ratio:1.05;width:min(42vw,410px);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)scale(.86)}.wish-heart-constellation>span{color:#ffdbbe1a;text-shadow:0 0 28px #ffb09033;clip-path:inset(100% 0 0);place-items:center;font:min(37vw,380px)/1 Georgia,serif;display:grid;position:absolute;inset:0}.wish-heart-constellation>i{opacity:0;background:#fff5d5;border-radius:50%;width:6px;height:6px;position:absolute;transform:translate(-50%,-50%)scale(.5);box-shadow:0 0 14px 5px #ffbd8957}.has-love .wish-heart-constellation{opacity:.45;transform:translate(-50%,-50%)scale(.92)}.is-wish-complete .wish-heart-constellation{opacity:1;transform:translate(-50%,-50%)scale(1)}.is-wish-complete .wish-heart-constellation>span{animation:1.55s ease-out .35s both wish-heart-draw}.is-wish-complete .wish-heart-constellation>i{animation:wish-heart-node .58s calc(.55s + var(--heart-node) * 90ms) ease-out both}@keyframes wish-heart-draw{0%{clip-path:inset(100% 0 0);opacity:0}to{clip-path:inset(0);opacity:1}}@keyframes wish-heart-node{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.wish-finale-burst{position:absolute;top:53%;left:50%}.wish-finale-burst i{color:#ffe4ba;opacity:0;text-shadow:0 0 14px #ffbe83b3;font:clamp(12px,1.6vw,21px)/1 Georgia,serif;position:absolute}.is-wish-complete .wish-finale-burst i{animation:wish-finale-burst 1.65s calc(.88s + var(--wish-particle) * 25ms) cubic-bezier(.17,.75,.25,1) both}@keyframes wish-finale-burst{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--wish-angle)) translateY(0) scale(.35)}24%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--wish-angle)) translateY(calc(-1 * var(--wish-distance))) scale(1.08)}}.wish-light-wave{aspect-ratio:1;opacity:0;border:2px solid #ffe0b3b3;border-radius:50%;width:min(34vw,420px);position:absolute;top:61%;left:50%;transform:translate(-50%,-50%)scale(.05);box-shadow:0 0 70px #ffa67359,inset 0 0 60px #ffc9992e}.is-wish-complete .wish-light-wave{animation:1.25s ease-out both wish-finale-wave}@keyframes wish-finale-wave{0%{opacity:.9;transform:translate(-50%,-50%)scale(.05)}to{opacity:0;transform:translate(-50%,-50%)scale(3.2)}}.is-wish-complete .wish-moon{animation:1.45s cubic-bezier(.2,.8,.2,1) 2s both wish-moon-celebrate;box-shadow:0 0 100px #ffb47759}@keyframes wish-moon-celebrate{45%{filter:brightness(1.28);transform:scale(1.2)}to{transform:none}}.wish-kicker{color:#ffca94;letter-spacing:.25em;margin-top:45px;font-size:12px}.wish-section h2{letter-spacing:-.06em;text-shadow:0 14px 45px #00000040;max-width:1100px;margin:24px 0 60px;font-family:STSong,SimSun,serif;font-size:clamp(38px,6.1vw,90px);font-weight:400;line-height:1.2}.wish-hint{color:#d5b2a3;margin:-28px 0 36px}.wish-row{color:#ffffffbf;align-items:center;gap:clamp(10px,3vw,40px);font-family:STKaiti,KaiTi,serif;display:flex}.wish-row button{width:92px;height:92px;color:inherit;cursor:pointer;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a091757;border:1px solid #ffffff38;border-radius:50%;transition:all .42s cubic-bezier(.2,.8,.2,1);position:relative}.wish-row button:after{content:"";opacity:0;border:1px dashed #ffca9821;border-radius:50%;transition:all .4s;position:absolute;inset:-8px}.wish-row button i{background:#77707a;border-radius:50%;width:8px;height:8px;transition:all .35s;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.wish-row button:hover,.wish-row button:focus-visible{outline-offset:4px;border-color:#ffc58e;outline:2px solid #ffd2a847;transform:translateY(-5px)}.wish-row button.is-lit{color:#2a1824;background:radial-gradient(circle at 36% 28%,#fff2c8,#f3ad82 72%);border-color:#ffe3b9;transform:translateY(-5px);box-shadow:0 0 50px #ffad777a}.wish-row button.is-lit:after{opacity:1;animation:9s linear infinite finale-orbit}.wish-row button.is-lit i{background:#fff;box-shadow:0 0 22px 7px #ffc88f}.wish-status{color:#e8c9b5;max-width:650px;min-height:52px;margin:32px 0 0;font-family:STKaiti,KaiTi,serif;font-size:clamp(14px,1.5vw,18px);line-height:1.8;animation:.6s both wish-status-arrive}@keyframes wish-status-arrive{0%{opacity:0;filter:blur(4px);transform:translateY(10px)}}.wish-reveal{opacity:0;color:#ffe4bd;border:1px solid #0000;width:min(100%,760px);max-height:0;margin:0;padding:0 30px;font-family:STKaiti,KaiTi,serif;transition:max-height .8s,margin .8s,padding .8s,border-color .8s;overflow:hidden;transform:translateY(24px)scale(.97)}.wish-reveal.is-visible{background:linear-gradient(115deg,#ffce9e17,#502f5033);border-color:#ffdcb43d;max-height:340px;margin:22px 0 0;padding:27px 30px 24px;animation:1.05s cubic-bezier(.2,.8,.2,1) 2.35s both wish-finale;box-shadow:0 24px 75px #1c0d203d,inset 0 1px #ffffff0f}.wish-reveal>span{color:#f0ad7e;letter-spacing:.28em;font:8px Georgia,serif}.wish-reveal p{margin:13px 0 8px;font-size:clamp(18px,2.1vw,27px);line-height:1.65}.wish-reveal small{color:#c59fa0;letter-spacing:.08em;font-size:10px}@keyframes wish-finale{0%{opacity:0;filter:blur(8px);transform:translateY(24px)scale(.97)}to{opacity:1;filter:none;transform:none}}.is-wish-complete .chapter-link.is-next{color:#ffe6c2;background:linear-gradient(110deg,#ffbe7e1a,#94517a1c);animation:2.2s ease-in-out 3.1s infinite alternate wish-next-glow;box-shadow:inset 0 0 34px #ffb7750d}@keyframes wish-next-glow{to{box-shadow:inset 0 0 34px #ffb7751a,0 0 38px #ffa1711f}}.letter-section{color:#f5e7db;background:radial-gradient(circle at 14% 18%,#7e375338,#0000 31%),radial-gradient(circle at 86% 76%,#ca7e581c,#0000 28%),linear-gradient(145deg,#17101a,#0d0a12);border-block:1px solid #f3b68b1a;grid-template-columns:.75fr 1.25fr;align-items:start;gap:7vw;display:grid}.letter-section .section-index{color:#f3b68b}.letter-intro h2{margin-top:45px}.letter-intro>p:not(.section-index){color:#cab1a9;max-width:380px;font-size:14px;line-height:2}.letter-hint{color:#d6aaa0}.letter-hint i{background:#b85b6c;box-shadow:0 0 #b85b6c5c}.letter-sign{letter-spacing:.22em;color:#d6aaa0;margin-top:65px;font-family:Georgia,serif;font-size:11px}.letter-sign span{color:#e78b91;vertical-align:middle;font-size:24px}.letter-experience{perspective:1400px;place-items:center;min-width:0;min-height:600px;display:grid;position:relative}.letter-envelope{aspect-ratio:1.47;color:#f5e7db;cursor:pointer;background:linear-gradient(145deg,#754855,#392630);border:1px solid #f3b68b47;grid-area:1/1;width:min(100%,680px);padding:0;transition:transform .45s,box-shadow .45s;position:relative;overflow:visible;transform:rotate(-1deg);box-shadow:0 40px 100px #0000007a,0 0 0 1px #f3b68b0f}.letter-envelope:hover,.letter-envelope:focus-visible{transform:translateY(-8px)rotate(.3deg);box-shadow:0 52px 120px #00000094,0 0 45px #b85b6c1f}.letter-envelope:focus-visible{outline-offset:7px;outline:2px solid #f3b68b}.envelope-back,.envelope-flap,.envelope-letter-preview,.wax-seal{display:block;position:absolute}.envelope-back{z-index:2;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);background:linear-gradient(140deg,#67404c,#38252f 78%);inset:0}.envelope-back:after{content:"";background:linear-gradient(35deg,#0000 49.5%,#f3b68b26 50%,#0000 50.5%),linear-gradient(-35deg,#0000 49.5%,#f3b68b1c 50%,#0000 50.5%);position:absolute;inset:0}.envelope-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;backface-visibility:hidden;background:linear-gradient(155deg,#8e5965,#4a303b);height:63%;transition:transform .65s cubic-bezier(.45,0,.2,1);inset:-1px -1px auto}.envelope-letter-preview{z-index:1;color:#f5e7db;background:radial-gradient(circle at 84% 14%,#b85b6c1f,#0000 24%),linear-gradient(145deg,#3a2631,#281b24);height:78%;padding:42px;transition:transform .72s cubic-bezier(.2,.8,.2,1) .18s;top:8%;left:7%;right:7%;transform:translateY(16%);box-shadow:0 -12px 42px #0000004d}.envelope-letter-preview b,.envelope-letter-preview i{font-weight:400;display:block}.envelope-letter-preview b{color:#f3b68b;letter-spacing:.22em;margin-bottom:15px;font:12px Georgia,serif}.envelope-letter-preview i{color:#e5c9bd;font-family:STKaiti,KaiTi,serif;font-size:21px}.wax-seal{z-index:5;color:#fff0dd;background:radial-gradient(circle at 34% 28%,#d5797e,#8b3d51 54%,#4f2034);border:2px solid #ffdec559;border-radius:50%;place-items:center;width:72px;height:72px;font:29px Georgia,serif;transition:all .42s;display:grid;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-8deg);box-shadow:0 10px 25px #00000073,inset 0 0 0 5px #ffdfc814}.letter-envelope>small{z-index:6;color:#d6aaa0;letter-spacing:.18em;white-space:nowrap;font-size:10px;position:absolute;bottom:-42px;left:50%;transform:translate(-50%)}.letter-experience.is-opening .envelope-flap{transform:rotateX(170deg)}.letter-experience.is-opening .envelope-letter-preview{transform:translateY(-47%)}.letter-experience.is-opening .wax-seal{opacity:0;transform:translate(-50%,-50%)rotate(18deg)scale(1.55)}.letter-experience.is-opening .letter-envelope{box-shadow:0 55px 110px #432b244d}.letter-paper{opacity:0;pointer-events:none;transform-origin:50% 0;background:#f9f4e9;grid-area:1/1;width:100%;padding:70px clamp(28px,5vw,76px) 35px;transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1);position:relative;transform:translateY(70px)rotate(.5deg)scale(.96);box-shadow:0 35px 80px #3928222b}.letter-paper.is-open{opacity:1;pointer-events:auto;animation:.9s cubic-bezier(.2,.8,.2,1) both letter-unfold;transform:rotate(.5deg)}@keyframes letter-unfold{0%{clip-path:inset(0 0 82%);filter:blur(3px)}45%{clip-path:inset(0 0 35%)}to{clip-path:inset(0);filter:none}}.letter-paper:before{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 31px,#4f383214 32px);position:absolute;inset:0}.letter-paper label{margin-bottom:24px;font-family:STKaiti,KaiTi,serif;font-size:23px;display:block;position:relative}.letter-paper textarea{color:#302728;background:0 0;border:0;outline:0;width:100%;min-height:570px;font-family:STKaiti,KaiTi,serif;font-size:17px;line-height:2;position:relative}.letter-paper textarea:focus{background:#ffffff70}.paper-stamp{color:#af4c48;opacity:.78;border:2px solid #af4c48;place-items:center;width:58px;height:72px;display:grid;position:absolute;top:34px;right:42px;transform:rotate(8deg)}.paper-stamp span{letter-spacing:.2em;font-size:10px}.paper-stamp b{font-family:Georgia,serif;font-size:24px}.edit-tip{color:#9d8b82;border-top:1px solid #dacfc2;padding-top:18px;font-size:11px;position:relative}.letter-actions{align-items:center;gap:13px;margin-top:24px;display:flex;position:relative}.letter-actions .save-button{margin:0}.letter-fold{color:#8d766e;cursor:pointer;background:0 0;border:0;min-height:50px;padding:12px 22px}.letter-fold:hover{color:#a54043}.letter-experience.is-open{min-height:760px}.letter-book{perspective:1700px;outline:0;width:min(100%,680px);height:720px;padding-bottom:104px;position:relative}.letter-book:before,.letter-book:after{content:"";background:#1d141c;border:1px solid #f3b68b1a;position:absolute;inset:10px 8px 112px 17px;transform:rotate(1.2deg);box-shadow:0 28px 75px #0000005c}.letter-book:after{background:#251821;top:5px;left:9px;right:16px;transform:rotate(-.7deg)}.letter-book-pages{z-index:2;height:100%;transform-style:preserve-3d;position:relative}.letter-book-page,.letter-book-editor{overscroll-behavior:contain;color:#f5e7db;transform-origin:0;backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:#f3b68b6b transparent;background:radial-gradient(circle at 84% 12%,#b85b6c1f,#0000 26%),repeating-linear-gradient(#0000 0 32px,#f3b68b09 33px),linear-gradient(145deg,#34232c,#251820);border:1px solid #f3b68b33;height:100%;padding:clamp(42px,5vw,68px) clamp(34px,6vw,72px) 54px;position:relative;overflow-y:auto;box-shadow:0 32px 90px #0000006b,inset 0 0 0 8px #ffebda06}.letter-book-page:before,.letter-book-editor:before{content:"";pointer-events:none;border:1px solid #f3b68b29;position:absolute;inset:20px}.letter-book-page.turn-forward{animation:.72s cubic-bezier(.2,.75,.2,1) both letter-page-next}.letter-book-page.turn-back{transform-origin:100%;animation:.72s cubic-bezier(.2,.75,.2,1) both letter-page-prev}@keyframes letter-page-next{0%{opacity:.25;filter:blur(2px);transform:translate(9%)rotateY(-18deg)scale(.985)}to{opacity:1;filter:none;transform:none}}@keyframes letter-page-prev{0%{opacity:.25;filter:blur(2px);transform:translate(-9%)rotateY(18deg)scale(.985)}to{opacity:1;filter:none;transform:none}}.letter-page-count{z-index:2;color:#d99b82;letter-spacing:.15em;font:10px ui-monospace,monospace;position:absolute;top:27px;right:32px}.letter-page-watermark{color:#f3b68b0a;pointer-events:none;font:280px/1 Georgia,serif;position:absolute;bottom:-54px;right:-16px;transform:rotate(-9deg)}.letter-page-corner{filter:drop-shadow(-5px -4px 8px #0000002e);background:linear-gradient(135deg,#0000 49%,#1b1118 50%,#4b3039 77%);width:58px;height:58px;position:absolute;bottom:-1px;right:-1px}.letter-book-cover{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100%;display:flex;position:relative}.letter-book-cover:before{content:"";aspect-ratio:1;border:1px solid #f3b68b29;border-radius:50%;width:min(88%,430px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 32px #b85b6c09,0 0 0 66px #f3b68b05}.letter-book-cover>*{position:relative}.letter-book-cover>p{color:#f3b68b;letter-spacing:.28em;margin:0 0 25px;font:10px Georgia,serif}.letter-book-cover>i{color:#f3b68b;border:1px solid #f3b68b66;border-radius:50%;place-items:center;width:56px;height:56px;font-style:normal;display:grid;box-shadow:0 0 0 7px #b85b6c14}.letter-book-cover h3{letter-spacing:-.055em;margin:32px 0 22px;font-family:STSong,SimSun,serif;font-size:clamp(40px,5vw,64px);font-weight:400;line-height:1.12}.letter-book-cover>span{color:#cab1a9;font-family:STKaiti,KaiTi,serif;font-size:15px;line-height:1.8}.letter-book-cover>b{color:#f3b68b;letter-spacing:.22em;margin-top:36px;font:10px Georgia,serif}.letter-page-copy{z-index:2;flex-direction:column;min-height:100%;display:flex;position:relative}.letter-page-kicker{letter-spacing:.26em;color:#f3b68b!important;margin:0 0 17px!important;font:10px Georgia,serif!important}.letter-page-copy h3{letter-spacing:-.05em;margin:0 0 30px;font-family:STSong,SimSun,serif;font-size:clamp(34px,4.4vw,55px);font-weight:400;line-height:1.1}.letter-page-copy>p{color:#e5c9bd;text-align:justify;margin:0 0 22px;font-family:STKaiti,KaiTi,serif;font-size:clamp(16px,1.65vw,20px);line-height:1.95}.letter-page-copy footer{color:#f3b68b;text-align:right;margin-top:auto;padding-top:25px;font-family:STKaiti,KaiTi,serif;font-size:17px}.letter-page-navigation{z-index:4;grid-template-columns:116px 1fr 170px;align-items:center;gap:14px;min-height:48px;display:grid;position:absolute;bottom:52px;left:0;right:0}.letter-page-navigation>button{color:#e5c9bd;letter-spacing:.06em;cursor:pointer;background:#2b1d26f0;border:1px solid #f3b68b47;border-radius:999px;min-height:46px;padding:0 14px;font-size:10px;transition:all .25s}.letter-page-navigation>button:hover,.letter-page-navigation>button:focus-visible{color:#fff4e5;outline-offset:2px;background:#3a2631;border-color:#f3b68b;outline:2px solid #f3b68b80;transform:translateY(-2px)}.letter-page-navigation>button:disabled{opacity:.45;cursor:default;transform:none}.letter-page-navigation .letter-next{color:#fff4e5;background:linear-gradient(135deg,#7a3648,#592939);border-color:#9c4b5e}.letter-page-dots{justify-content:center;gap:8px;display:flex}.letter-page-dots button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;display:grid}.letter-page-dots button:after{content:"";background:#8f706c;border-radius:50%;width:5px;height:5px;transition:all .3s}.letter-page-dots button.is-current:after{background:#f3b68b;border-radius:999px;width:18px}.letter-close-book{z-index:4;color:#c5aaa1;letter-spacing:.1em;cursor:pointer;background:0 0;border:0;min-height:38px;padding:0 16px;font-size:10px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.letter-close-book:hover,.letter-close-book:focus-visible{color:#f3b68b}.letter-book-editor{padding-top:70px}.letter-book-editor label{color:#f5e7db;margin-bottom:22px;font-family:STKaiti,KaiTi,serif;font-size:23px;display:block;position:relative}.letter-book-editor textarea{color:#f5e7db;caret-color:#f3b68b;background:#21161d;border:1px solid #f3b68b3d;outline:0;width:100%;height:calc(100% - 190px);min-height:360px;padding:15px;font-family:STKaiti,KaiTi,serif;font-size:16px;line-height:1.9;position:relative}.letter-book-editor textarea:focus{background:#2b1d26;border-color:#f3b68b;box-shadow:0 0 0 3px #f3b68b21}.letter-book-editor .edit-tip{color:#bda19a;border-color:#f3b68b2b;margin-bottom:0}.letter-book-editor .paper-stamp{color:#d7837d;border-color:#d7837d}.letter-book-editor .save-button{color:#fff4e5;background:#7a3648;border-color:#9c4b5e}.letter-fold{color:#cab1a9}.letter-fold:hover,.letter-fold:focus-visible{color:#f3b68b}.letter-section>.chapter-bridge{grid-column:1/-1}.cards-section{background:radial-gradient(circle at 20% 15%,#24254b 0,#0000 28%),#101226}.sticky-pile{perspective:1400px;isolation:isolate;height:clamp(870px,72vw,980px);margin:70px -1vw 40px;position:relative}.sticky-pile:before{content:"";clip-path:polygon(50% 98%,10% 55%,7% 34%,17% 15%,34% 8%,50% 23%,66% 8%,83% 15%,93% 34%,90% 55%);filter:blur(18px);background:radial-gradient(circle at 50% 42%,#ff819233,#ff81920b 60%,#0000 72%);position:absolute;inset:4% 6% 2%}.sticky-note{z-index:var(--order);left:var(--x);top:var(--y);aspect-ratio:.86;border:1px solid var(--tone);flex-direction:column;width:clamp(155px,15vw,220px);padding:25px 23px 21px;display:flex;position:absolute;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.sticky-note{border:1px solid color-mix(in srgb, var(--tone) 72%, white)}}.sticky-note{background:repeating-linear-gradient(transparent 0 31px, #4d34370e 32px), var(--tone);color:#31292d;text-align:left;cursor:pointer;transform:translate(-50%,-50%) rotate(var(--tilt)) scale(var(--scale));transform-origin:50% 70%;animation:.65s cubic-bezier(.2,.8,.2,1) both heart-note-arrive;animation-delay:var(--delay);transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s,filter .35s;box-shadow:0 22px 40px #0000004d,inset 0 2px #ffffff4d}@keyframes heart-note-arrive{0%{opacity:0;transform:translate(-50%,calc(-50% + 40px)) rotate(calc(var(--tilt) - 10deg)) scale(.78)}}.sticky-note:before{content:"";background:#fff8e194;border:1px solid #6a4c3614;width:58px;height:20px;position:absolute;top:-5px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px 5px #0000001a}.sticky-note:after{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff47,#0000 34%,#613b320a);position:absolute;inset:0}.sticky-note:hover,.sticky-note:focus-visible{z-index:40;filter:saturate(1.08);transform:translate(-50%,calc(-50% - 18px))rotate(0)scale(1.1);box-shadow:0 34px 70px #00000070}.sticky-note:focus-visible{outline-offset:4px;outline:2px solid #ffd29d}.sticky-stamp{z-index:1;color:#37272c85;letter-spacing:.13em;text-transform:uppercase;font:8px ui-monospace,monospace;position:relative}.sticky-note b{z-index:1;color:#423035;letter-spacing:-.04em;margin-top:auto;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,2.7vw,42px);font-weight:400;position:relative}.sticky-note p{z-index:1;color:#36282cbd;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:42px;margin:8px 0 13px;font-family:STKaiti,KaiTi,serif;font-size:13px;line-height:1.55;display:-webkit-box;position:relative;overflow:hidden}.sticky-note small{z-index:1;color:#9c4b59;letter-spacing:.1em;font-size:9px;position:relative}.heart-actions{justify-content:center;margin:-15px 0 38px;display:flex}.heart-shuffle{color:#f5e7dc;text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #ffd3ab42;border-radius:999px;grid-template-columns:42px auto;align-items:center;column-gap:12px;min-width:250px;padding:12px 20px 12px 14px;transition:all .3s;display:grid}.heart-shuffle:hover,.heart-shuffle:focus-visible{background:#ffc9871a;border-color:#ffc987;transform:translateY(-3px);box-shadow:0 0 45px #ffb08421}.heart-shuffle>span{color:#35242d;background:#f0b4ba;border-radius:50%;grid-row:1/3;place-items:center;width:42px;height:42px;font-size:21px;display:grid}.heart-shuffle b{letter-spacing:.08em;font-size:13px;font-weight:500}.heart-shuffle small{color:#8f91a7;letter-spacing:.05em;font-size:9px}.save-button{min-width:220px;color:inherit;cursor:pointer;letter-spacing:.08em;background:0 0;border:1px solid;padding:16px 26px;transition:all .3s;display:block}.save-button:hover{color:#a53f45;transform:translateY(-2px)}.note-modal{z-index:90;padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#04040cc7;place-items:start center;animation:.35s both note-backdrop-in;display:grid;position:fixed;inset:0;overflow-y:auto}@keyframes note-backdrop-in{0%{opacity:0}}.note-expanded{isolation:isolate;background:repeating-linear-gradient(transparent 0 39px, #4d34370e 40px), linear-gradient(145deg, #ffffff3d, #fff4e11f), var(--tone);color:#34282a;border:1px solid #754c3a42;flex-direction:column;justify-content:center;width:min(100%,660px);min-height:min(670px,100dvh - 48px);margin-block:auto;padding:clamp(45px,8vw,88px);animation:.55s cubic-bezier(.2,.8,.2,1) both note-open;display:flex;position:relative;overflow:hidden;transform:rotate(-.7deg);box-shadow:0 50px 130px #00000075}@keyframes note-open{0%{opacity:0;transform:translateY(45px)rotate(-5deg)scale(.86)}}.note-expanded:before{content:"";z-index:-1;pointer-events:none;border:1px solid #573a2f2b;position:absolute;inset:20px}.note-close{color:#68423e;cursor:pointer;background:#fffaf066;border:1px solid #3f272342;border-radius:50%;width:44px;height:44px;font-size:27px;line-height:1;transition:all .25s;position:absolute;top:22px;right:24px}.note-close:hover,.note-close:focus-visible{color:#fff;background:#9f4147;transform:rotate(8deg)}.expanded-stamp{color:#a04946;letter-spacing:.2em;font:10px ui-monospace,monospace}.note-expanded h3{letter-spacing:-.06em;margin:19px 0 28px;font-family:STSong,SimSun,serif;font-size:clamp(45px,8vw,82px);font-weight:400}.note-expanded>p{margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(25px,4vw,39px);line-height:1.6}.note-expanded textarea{color:#3c2d2c;background:#ffffff59;border:1px solid #5b3a3238;outline:0;width:100%;min-height:220px;padding:24px;font-family:STKaiti,KaiTi,serif;font-size:clamp(22px,3vw,32px);line-height:1.6}.note-expanded textarea:focus{background:#ffffff94;border-color:#a94747}.note-expanded .save-button{margin-top:18px}.note-nav{justify-content:space-between;gap:14px;margin-top:auto;padding-top:34px;display:flex}.note-nav button{color:#704b4d;cursor:pointer;background:#ffffff3d;border:1px solid #68423e33;border-radius:999px;min-height:42px;padding:10px 16px;transition:all .25s}.note-nav button:hover,.note-nav button:focus-visible{color:#8f3540;background:#ffffff8c;border-color:#9f4147;transform:translateY(-2px)}.note-expanded footer{color:#926e62;letter-spacing:.18em;margin-top:18px;font:10px Georgia,serif}.finale{z-index:4;text-align:center;background:radial-gradient(circle at 50% 32%,#5f4aa76b,#0000 28%),radial-gradient(circle at 50% 75%,#9a415c3d,#0000 35%),linear-gradient(#11112b,#060611 78%);flex-direction:column;justify-content:center;min-height:100svh;padding:110px 7vw 55px;display:flex;position:relative;overflow:hidden}.finale-heading{z-index:3;position:relative}.finale-kicker{color:var(--gold);letter-spacing:.35em;margin:0;font-size:10px}.finale h2{letter-spacing:-.07em;margin:35px 0 5px;font-family:STSong,SimSun,serif;font-size:clamp(54px,8vw,120px);font-weight:400}.finale h3{color:#ffc988;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(25px,3.5vw,50px);font-weight:400}.finale-hint{color:#9b9bab;margin:34px auto 0}.finale-mark{z-index:4;color:#f6eadf;cursor:pointer;background:radial-gradient(circle,#ffbe7e12,#ffffff04);border:1px solid #ffffff40;border-radius:50%;place-items:center;width:128px;height:128px;margin:30px auto 42px;transition:all .5s;display:grid;position:relative}.finale-mark:before,.finale-mark:after{content:"";border:1px solid #ffc48521;border-radius:50%;animation:7s linear infinite finale-orbit;position:absolute;inset:-13px}.finale-mark:after{border-style:dashed;animation-duration:13s;animation-direction:reverse;inset:-28px}@keyframes finale-orbit{to{transform:rotate(360deg)}}.finale-mark:hover,.finale-mark:focus-visible{border-color:var(--gold);transform:scale(1.05);box-shadow:0 0 70px #ffb86b38}.finale-mark.is-open{color:#211321;background:radial-gradient(circle,#ffd39d,#b45b68 68%,#5d2e50);border-color:#ffd09a;box-shadow:0 0 90px #ffb37552}.finale-mark.is-animating{cursor:progress;animation:.85s ease-in-out infinite alternate finale-gate-pulse}.finale-mark:disabled{opacity:1}@keyframes finale-gate-pulse{to{transform:scale(1.11);box-shadow:0 0 110px #ffb9797a}}.finale-number{font-family:Georgia,serif;font-size:42px}.finale-arrow{color:var(--gold);font-size:16px;position:absolute;top:12px;right:13px}.finale-mark.is-open .finale-arrow{color:#6b3045;transform:rotate(90deg)}.finale-mark small{color:#858394;letter-spacing:.12em;width:120px;font-size:10px;position:absolute;bottom:-30px}.future-voyage{z-index:5;isolation:isolate;background:radial-gradient(circle at 50% 48%,#7250a638,#0000 38%),linear-gradient(145deg,#171430eb,#070712f5);border:1px solid #ffcf9d29;border-radius:28px;width:min(100%,1220px);min-height:510px;margin:38px auto 0;animation:.7s both future-stage-in;position:relative;overflow:hidden;box-shadow:0 42px 110px #00000061,inset 0 1px #ffffff0d}.future-voyage:before{content:"27";z-index:-1;color:#ffd2a009;font:min(43vw,520px)/1 Georgia,serif;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes future-stage-in{0%{opacity:0;transform:translateY(34px)scale(.98)}}.is-future-animating .future-voyage{z-index:150;background:radial-gradient(circle at 50% 46%,#7454a861,#0000 34%),radial-gradient(circle at 50% 110%,#ffa27033,#0000 42%),#05050e;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;width:100vw;max-width:none;min-height:100dvh;margin:0;animation:9.9s both future-cinema;display:flex;position:fixed;inset:0}.is-future-animating .future-voyage:before{color:#ffd8a613;animation:1.2s both future-portal-open}@keyframes future-cinema{0%{opacity:0}5%,96%{opacity:1}to{opacity:0}}@keyframes future-portal-open{0%{opacity:0;filter:blur(18px);transform:translate(-50%,-50%)scale(.18)rotate(-12deg)}to{opacity:1;filter:none;transform:translate(-50%,-50%)scale(1)}}.future-starfield{z-index:-1;position:absolute;inset:0;overflow:hidden}.future-starfield:before{content:"";aspect-ratio:1;filter:blur(52px);background:conic-gradient(from 15deg,#0000,#764eab2e,#0000 31%,#ffa17321,#0000 63%,#6566bd26,#0000);border-radius:50%;width:min(92vw,1100px);animation:22s linear infinite future-nebula-turn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes future-nebula-turn{to{transform:translate(-50%,-50%)rotate(360deg)scale(1.08)}}.future-starfield i{width:var(--future-star-size,2px);height:var(--future-star-size,2px);animation:future-star-twinkle 1.8s ease-in-out var(--star-delay,0s) infinite alternate;background:#fff1cf;border-radius:50%;position:absolute;box-shadow:0 0 13px #ffc987}@keyframes future-star-twinkle{to{opacity:.18;transform:scale(.55)}}.future-route{grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;width:min(100%,1160px);min-height:360px;margin:22px auto 0;padding:96px 42px;display:grid;position:relative}.is-future-animating .future-route{width:min(94vw,1320px);animation:6.15s both future-route-first-act}@keyframes future-route-first-act{0%,76%{opacity:1;filter:none;transform:scale(1)}to{opacity:.05;filter:blur(13px);transform:translateY(-5vh)scale(.72)}}.future-route-line{z-index:0;transform-origin:0;background:repeating-linear-gradient(90deg,#ffcd9680 0 8px,#0000 8px 18px);height:1px;animation:4.45s .45s both future-line-draw;position:absolute;top:50%;left:6%;right:6%;box-shadow:0 0 15px #ffb5731f}@keyframes future-line-draw{0%{opacity:0;transform:scaleX(0)}25%{opacity:1}to{opacity:.75;transform:scaleX(1)}}.future-comet{z-index:4;color:#fff2c4;text-shadow:0 0 15px #fff,0 0 34px #ffaf75;font-size:22px;animation:4.55s ease-in-out .42s both future-comet-travel;position:absolute;top:calc(50% - 11px);left:5%}.future-comet:after{content:"";background:linear-gradient(90deg,#0000,#ffd09e);width:70px;height:1px;position:absolute;top:50%;right:12px}@keyframes future-comet-travel{0%{opacity:0;left:5%;transform:scale(.5)}8%,91%{opacity:1}to{opacity:0;left:94%;transform:scale(1.2)rotate(24deg)}}.future-stop{--stop-y:-76px;z-index:3;opacity:0;text-align:center;min-width:0;transform:translateY(var(--stop-y));animation:future-stop-arrive .82s cubic-bezier(.2,.75,.2,1) calc(.78s + var(--future-index) * .55s) both;flex-direction:column-reverse;align-items:center;gap:12px;display:flex;position:relative}.future-stop:nth-of-type(2n){--stop-y:76px;flex-direction:column}@keyframes future-stop-arrive{0%{opacity:0;transform:translateY(calc(var(--stop-y) + 22px)) scale(.66);filter:blur(8px)}to{opacity:1;transform:translateY(var(--stop-y)) scale(1);filter:none}}.future-stop>i{color:#f5bd89;background:#151329;border:1px solid #ffd0a066;border-radius:50%;flex:none;place-items:center;width:43px;height:43px;font-style:normal;display:grid;box-shadow:0 0 0 7px #ffbe7e08,0 0 28px #ffae7024}.future-stop>i b{font:8px ui-monospace,monospace}.future-stop div{min-width:0}.future-stop h4{color:#f8eadc;margin:0 0 7px;font-family:STSong,SimSun,serif;font-size:clamp(22px,2.4vw,34px);font-weight:400}.future-stop p{color:#9995aa;max-width:145px;margin:0 auto;font-family:STKaiti,KaiTi,serif;font-size:11px;line-height:1.55}.future-handoff{z-index:7;color:#f8e9dc;opacity:0;text-align:right;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(14px,1.35vw,20px);animation:.85s 4.55s both future-handoff-in;position:absolute;top:calc(50% + 104px);right:3%}.future-handoff small{color:#dca477;letter-spacing:.2em;margin-bottom:7px;font:8px ui-monospace,monospace;display:block}@keyframes future-handoff-in{0%{opacity:0;filter:blur(8px);transform:translate(-18px)}to{opacity:1;filter:none;transform:none}}.future-beyond{z-index:8;opacity:0;min-height:500px;padding:28px 20px 46px;animation:1.05s 5.2s both future-beyond-open;position:relative}.is-future-animating .future-beyond{align-content:center;place-items:center;display:grid;position:absolute;inset:0}@keyframes future-beyond-open{0%{opacity:0;filter:blur(20px);transform:scale(.68)}to{opacity:1;filter:none;transform:scale(1)}}.future-beyond-kicker{z-index:5;color:#dba472;letter-spacing:.28em;margin:0 0 22px;font:8px ui-monospace,monospace;position:relative}.future-beyond-orbit{--orbit-radius:clamp(165px,26vw,350px);width:min(86vw,900px);height:min(53vw,480px);min-height:390px;margin:auto;position:relative}.future-beyond-orbit:before,.future-beyond-orbit:after{content:"";border:1px solid #ffcd9d2b;border-radius:50%;animation:18s linear infinite future-orbit-spin;position:absolute;inset:7% 12%;box-shadow:0 0 70px #8d5fba21,inset 0 0 60px #ffb07e0d}.future-beyond-orbit:after{border-style:dashed;animation-duration:12s;animation-direction:reverse;inset:17% 23%}@keyframes future-orbit-spin{to{transform:rotate(360deg)}}.future-infinity{color:#0000;filter:drop-shadow(0 0 35px #ffb77d57);opacity:0;background:linear-gradient(110deg,#fff4db,#f0ac81,#c293df);-webkit-background-clip:text;background-clip:text;font:clamp(120px,20vw,245px)/1 Georgia,serif;animation:1.25s cubic-bezier(.2,.8,.2,1) 5.35s both future-infinity-bloom;position:absolute;top:50%;left:50%;transform:translate(-50%,-54%)}@keyframes future-infinity-bloom{0%{opacity:0;filter:blur(24px);transform:translate(-50%,-54%)rotate(-14deg)scale(.15)}72%{opacity:1;transform:translate(-50%,-54%)rotate(3deg)scale(1.08)}to{opacity:.84;transform:translate(-50%,-54%)}}.future-beyond-core{z-index:4;text-align:center;opacity:0;gap:8px;animation:.8s 5.75s both future-core-in;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.future-beyond-core small{color:#a7a1b5;letter-spacing:.16em;font-size:10px}.future-beyond-core strong{color:#fff0df;white-space:nowrap;font-family:STKaiti,KaiTi,serif;font-size:clamp(20px,2.6vw,34px);font-weight:400}@keyframes future-core-in{0%{opacity:0;transform:translate(-50%,calc(14px - 50%))}to{opacity:1;transform:translate(-50%,-50%)}}.future-beyond-place{--place-transform:translate(-50%,-50%) rotate(var(--beyond-angle)) translateX(var(--orbit-radius)) rotate(var(--beyond-counter-angle));z-index:5;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;width:clamp(94px,10vw,142px);transform:var(--place-transform);animation:future-place-arrive .7s calc(5.85s + var(--beyond-index) * .24s) cubic-bezier(.2,.8,.2,1) both;background:#0e0c1fbd;border:1px solid #ffd3aa38;border-radius:999px;padding:10px 12px 10px 20px;position:absolute;top:50%;left:50%;box-shadow:0 10px 35px #00000038}.future-beyond-place:before{content:"";background:#ffd09a;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:0 0 13px #ffbd86}.future-beyond-place b{color:#f8e8db;white-space:nowrap;font-family:STSong,SimSun,serif;font-size:14px;font-weight:400}.future-beyond-place p{display:none}@keyframes future-place-arrive{0%{opacity:0;transform:var(--place-transform) scale(.25);filter:blur(10px)}to{opacity:1;transform:var(--place-transform) scale(1);filter:none}}.future-forever{z-index:6;color:#f4e5da;opacity:0;margin:18px 0 0;font-family:STKaiti,KaiTi,serif;font-size:clamp(18px,2vw,28px);line-height:1.7;animation:.9s 8.05s both future-forever-in;position:relative}@keyframes future-forever-in{0%{opacity:0;letter-spacing:.08em;filter:blur(8px);transform:translateY(22px)}to{opacity:1;letter-spacing:0;filter:none;transform:none}}.future-arrival{z-index:12;opacity:0;margin:-10px auto 40px;animation:1.05s 8.55s both future-arrival-in;position:relative}.is-future-animating .future-arrival{left:20px;right:20px;bottom:max(24px,env(safe-area-inset-bottom));margin:0;position:absolute}.future-arrival span{color:#e7aa77;letter-spacing:.25em;font:8px Georgia,serif}.future-arrival p{color:#f6e9de;margin:14px 0 0;font-family:STKaiti,KaiTi,serif;font-size:clamp(20px,2.4vw,32px);line-height:1.6}@keyframes future-arrival-in{0%{opacity:0;filter:blur(8px);transform:translateY(24px)}to{opacity:1;filter:none;transform:none}}.secret-letter{opacity:0;max-width:760px;max-height:0;margin:0 auto 38px;transition:max-height .9s cubic-bezier(.2,.8,.2,1),opacity .7s,transform .7s,padding .7s;overflow:hidden;transform:translateY(18px)}.secret-letter.is-open{opacity:1;max-height:520px;padding-top:52px;transform:none}.secret-letter p{color:#f3e8dc;margin:0 0 18px;font-family:STKaiti,KaiTi,serif;font-size:clamp(19px,2.15vw,29px);line-height:1.75}.secret-letter span{color:var(--gold);letter-spacing:.14em;font-size:11px}.future-to-epilogue{color:#ead8cc;cursor:pointer;background:#ffb87c0f;border:1px solid #ffc99747;border-radius:999px;align-items:center;gap:16px;min-height:52px;margin:17px auto 0;padding:0 19px;transition:all .3s;display:flex}.future-to-epilogue b{color:#f1ad7a;font-size:18px;font-weight:400}.future-to-epilogue:hover,.future-to-epilogue:focus-visible{outline-offset:3px;background:#ffb87c1f;border-color:#efad7c;outline:1px solid #ffd2aa5c;transform:translateY(3px);box-shadow:0 0 40px #ffa56f1f}.footer-note{color:#6f7080;letter-spacing:.12em;margin-top:48px;font-size:11px}.credits-link{color:#545666;letter-spacing:.12em;width:fit-content;margin:12px auto 0;font-size:9px;text-decoration:none}.credits-link:hover{color:#c59a72}.finale-rings i{border:1px solid #ffffff0e;border-radius:50%;width:38vw;height:38vw;position:absolute;inset:42% auto auto 50%;transform:translate(-50%,-50%)}.finale-rings i:nth-child(2){width:56vw;height:56vw}.finale-rings i:nth-child(3){width:78vw;height:78vw}.epilogue{z-index:4;isolation:isolate;text-align:center;background:radial-gradient(circle at 50% 38%,#69396238,#0000 28%),radial-gradient(circle at 50% 105%,#87394e33,#0000 42%),linear-gradient(#070711,#100913 58%,#08070d);min-height:100svh;padding:110px 7vw 54px;transition:background 1.4s;position:relative;overflow:hidden}.epilogue.is-lit{background:radial-gradient(circle at 50% 38%,#c6667947,#0000 31%),radial-gradient(circle at 50% 102%,#ed976a36,#0000 43%),linear-gradient(#0a0813,#1c0c19 58%,#09070e)}.epilogue-world,.epilogue-starfield{pointer-events:none;position:absolute;inset:0}.epilogue-starfield i{width:var(--epilogue-star-size,2px);height:var(--epilogue-star-size,2px);opacity:.18;animation:epilogue-twinkle 2.8s var(--epilogue-star-delay) ease-in-out infinite alternate;background:#f9dfbc;border-radius:50%;transition:opacity 1.4s,box-shadow 1.4s;position:absolute;box-shadow:0 0 11px #ffc18b8c}.epilogue.is-lit .epilogue-starfield i{opacity:.75;box-shadow:0 0 17px #ffc18bd9}@keyframes epilogue-twinkle{to{opacity:.1;transform:scale(.55)}}.epilogue-horizon{opacity:.18;filter:blur(20px);background:radial-gradient(at 50% 100%,#ee906c8c,#0000 66%);width:min(1080px,92vw);height:52%;transition:opacity 1.7s;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.epilogue.is-lit .epilogue-horizon{opacity:.68}.epilogue-road{transform-origin:50% 0;clip-path:polygon(49.75% 0,50.25% 0,100% 100%,0 100%);opacity:0;background:repeating-linear-gradient(#ffd2a485 0 2px,#0000 2px 24px);width:min(980px,78vw);height:64%;position:absolute;bottom:-8%;left:50%;transform:translate(-50%)scaleY(0)}.epilogue.is-lit .epilogue-road{animation:2.2s cubic-bezier(.2,.8,.2,1) .72s both epilogue-road-open}@keyframes epilogue-road-open{to{opacity:.7;transform:translate(-50%)scaleY(1)}}.epilogue-heading{z-index:2;max-width:920px;margin:0 auto;position:relative}.epilogue-heading>p{color:#d89872;letter-spacing:.3em;margin:0;font:9px Georgia,serif}.epilogue-heading h2{color:#f3e4d8;letter-spacing:-.055em;margin:32px 0 17px;font-family:STSong,SimSun,serif;font-size:clamp(44px,6.2vw,88px);font-weight:400;line-height:1.12}.epilogue-heading>span{color:#a99194;font-family:STKaiti,KaiTi,serif;font-size:clamp(15px,1.5vw,20px)}.epilogue-join{--join-shift:42px;--join-shift-negative:-42px;z-index:4;color:#eedfd6;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#37192da3,#0a0912c7);border:1px solid #e59e7e47;border-radius:999px;grid-template-columns:1fr 84px 1fr;align-items:center;width:min(100%,430px);min-height:168px;margin:52px auto 0;padding:25px 32px 20px;transition:border-color .4s,box-shadow .6s,transform .35s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff0a,0 28px 70px #0000004d}.epilogue-join:hover,.epilogue-join:focus-visible{outline-offset:4px;border-color:#e7aa7c;outline:1px solid #ffd6ac8a;transform:translateY(-4px);box-shadow:0 0 65px #d265692e,0 28px 70px #0000004d}.epilogue-join[aria-pressed=true]{cursor:default}.join-light{justify-items:center;gap:8px;transition:transform 1.05s cubic-bezier(.2,.85,.2,1);display:grid}.join-light i{color:#ffe0ad;background:radial-gradient(circle,#ffc6804d,#873d572e 55%,#0000 70%);border:1px solid #ffd2a866;border-radius:50%;place-items:center;width:50px;height:50px;font-size:19px;font-style:normal;display:grid;box-shadow:0 0 27px #ffb17038}.join-light small{color:#9e858c;letter-spacing:.2em;font:7px Georgia,serif}.join-thread{background:linear-gradient(90deg,#0000,#ffc59073,#0000);height:1px}.join-thread i{opacity:0;background:#ffc990;border-radius:50%;width:9px;height:9px;margin:-4px auto 0;display:block;box-shadow:0 0 #ffbe8080}.epilogue.is-lit .join-light.is-bobo{transform:translateX(var(--join-shift))}.epilogue.is-lit .join-light.is-yangyang{transform:translateX(var(--join-shift-negative))}.epilogue.is-lit .join-thread i{animation:1.1s ease-out .62s both epilogue-contact}@keyframes epilogue-contact{20%{opacity:1}to{opacity:0;transform:scale(3.6);box-shadow:0 0 0 44px #ffbe8000,0 0 70px #df8d86}}.epilogue-join>strong,.epilogue-join>small{grid-column:1/-1}.epilogue-join>strong{color:#ead4ca;margin-top:12px;font-family:STKaiti,KaiTi,serif;font-size:16px;font-weight:400}.epilogue-join>small{color:#806f79;letter-spacing:.1em;margin-top:5px;font-size:9px}.epilogue-reveal{z-index:3;width:min(100%,940px);margin:45px auto 0;position:relative}.epilogue-burst{z-index:0;position:absolute;top:0;left:50%}.epilogue-burst i{color:#f7bf91;opacity:0;text-shadow:0 0 13px;animation:epilogue-particle 1.55s calc(.75s + var(--epilogue-particle-delay)) ease-out both;font-style:normal;position:absolute;top:0;left:0}@keyframes epilogue-particle{0%{opacity:0;transform:rotate(var(--epilogue-angle)) translateX(0) scale(.3)}24%{opacity:.92}to{opacity:0;transform:rotate(var(--epilogue-angle)) translateX(var(--epilogue-distance)) scale(1.15)}}.epilogue-message-card{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 50% 0,#b54f6929,#0000 38%),linear-gradient(145deg,#2f1427d6,#0a0912e6);border:1px solid #eaa68238;border-radius:30px;padding:clamp(38px,5vw,68px);animation:1.2s cubic-bezier(.2,.8,.2,1) 1.3s both epilogue-card-in;position:relative;overflow:hidden;box-shadow:0 40px 110px #0000005c,inset 0 1px #ffffff0b}@keyframes epilogue-card-in{0%{opacity:0;filter:blur(10px);transform:translateY(34px)scale(.97)}to{opacity:1;filter:none;transform:none}}.epilogue-message-card:before,.epilogue-message-card:after{content:"♡";color:#eea68529;font:110px/1 Georgia,serif;position:absolute}.epilogue-message-card:before{top:-25px;left:-21px}.epilogue-message-card:after{bottom:-32px;right:-18px;transform:rotate(180deg)}.epilogue-message-lines{z-index:2;color:#f0dfd4;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(22px,2.6vw,34px);line-height:1.85;position:relative}.epilogue-message-lines span{opacity:0;animation:epilogue-line-in 1s calc(1.85s + var(--epilogue-line) * .64s) ease both;display:block}@keyframes epilogue-line-in{0%{opacity:0;filter:blur(5px);transform:translateY(17px)}to{opacity:1;filter:none;transform:none}}.epilogue-message-card footer{z-index:2;opacity:0;border-top:1px solid #ebab8a29;gap:10px;margin-top:38px;padding-top:27px;animation:.9s 4.55s both epilogue-signature-in;display:grid;position:relative}@keyframes epilogue-signature-in{to{opacity:1}}.epilogue-message-card footer i{color:#e49b80;font:25px/1 Georgia,serif}.epilogue-message-card footer span{color:#d2b3aa;font-family:STKaiti,KaiTi,serif;font-size:clamp(16px,1.7vw,21px);line-height:1.7}.epilogue-message-card footer small{color:#916f75;letter-spacing:.14em;font-size:9px}.epilogue>.chapter-bridge,.epilogue>.footer-note,.epilogue>.credits-link{z-index:4;position:relative}@media (width<=800px){.ritual{padding:max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))}.ritual-index{margin-bottom:28px}.ritual-welcome h1{font-size:clamp(47px,14vw,68px)}.ritual-orbit{width:115vw}.ritual-orbit strong{font-size:54vw}.headphone-hint{margin-top:30px}.headphone-hint small{max-width:220px;line-height:1.5}.cake-scene{width:360px;height:315px;margin-block:-20px -28px;transform:scale(.82)}.candle-two{left:123px}.candle-seven{right:123px}.candle-ritual h2{font-size:48px}.light-game-stage{grid-template-rows:auto auto minmax(235px,1fr) auto;max-height:none;padding-top:30px}.light-game-heading h1{font-size:clamp(36px,9vw,54px)}.light-game-heading>p:last-child{font-size:14px}.game-sound-card{margin-top:17px}.hidden-light-field{min-height:235px}.hidden-light.light-1{left:0}.hidden-light.light-3{right:0}.light-heart-meter{width:138px;height:128px}.light-heart-meter:before,.light-heart-meter:after{font-size:126px}.star-window{width:clamp(145px,31vw,225px);top:6%;right:4%}.gift-pile{width:min(36vw,275px);height:min(28vh,220px)}.room-bunting{top:7%;left:2%;right:2%}.room-fairy-lights{left:18%;right:18%}.room-reveal-stage .cake-scene{margin-block:-28px -38px;transform:scale(.78)}.room-reveal-stage h2{font-size:clamp(34px,8.5vw,51px)}.dark-room-stage{grid-template-rows:auto minmax(210px,1fr) auto auto auto;max-height:none}.room-heading h1{font-size:clamp(25px,7vw,38px)}.dark-room-stage .cake-scene{margin-block:-28px -42px;transform:scale(.76)}.candle-blessing{min-height:66px}.candle-blessing p{font-size:16px}.ritual-sound-note{margin-top:10px;font-size:9px}.wish-countdown-stage h2{margin-top:38px;font-size:clamp(25px,7vw,38px)}.blow-stage{text-align:center;grid-template-columns:1fr;grid-template-areas:"copy""cake""mic""hold";align-content:center;justify-items:center;gap:10px;max-height:none;display:grid}.blow-copy .ritual-index{margin-bottom:8px}.blow-copy h2{font-size:clamp(31px,8vw,45px)}.blow-copy>p:last-child{margin-top:8px}.blow-stage .cake-scene{margin-block:-48px -55px;transform:scale(.68)}.microphone-panel,.hold-to-blow{width:min(100%,430px)}.microphone-status{text-align:left}.constellation-name{width:92vw;height:clamp(220px,36vh,300px)}.constellation-name strong{font-size:clamp(160px,56vw,280px)}.wish-ascending-stage h2{margin-top:-42px;font-size:clamp(24px,6.5vw,36px)}.gift-stage h2{margin-bottom:28px;font-size:clamp(23px,6vw,35px)}.falling-gift{transform-origin:50%}.ritual-letter-card{min-height:0;max-height:calc(100dvh - 48px);padding:45px 27px 28px;overflow-y:auto}.ritual-letter-note{font-size:13px}.hold-to-open{margin-top:28px}.sound-dock{right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));grid-template-columns:1fr;place-items:center;width:48px;min-width:48px;height:48px;padding:0;display:grid}.sound-dock .sound-copy,.sound-dock .sound-bars{display:none}.music-disc{width:34px;height:34px}.hero{padding:26px 22px}.hero-copy{margin-top:12vh}.hero h1 span{margin-left:0}.hero-note{max-width:280px;line-height:1.7}.age-orbit{opacity:.65;width:72vw;top:34%;right:-30vw}.scroll-cue{display:none}.prologue,.route-section,.letter-section,.cards-section{padding:88px 24px}.prologue-grid,.letter-section{grid-template-columns:1fr}.prologue{justify-content:flex-start}.prologue-ticket{margin-top:38px}.prologue-copy{padding-left:24px}.prologue-promises{margin-top:58px}.prologue-promises>div{grid-template-columns:1fr}.prologue-promises article{border-bottom:1px solid #ffffff1a;border-right:0;min-height:0}.prologue-promises article:last-child{border-bottom:0}.chapter-bridge{grid-template-columns:1fr 1fr}.chapter-thread{border-inline:0;border-bottom:1px solid #ffffff1a;grid-area:1/1/auto/-1}.chapter-link{min-height:96px;padding:21px 17px}.chapter-link.is-next{border-left:1px solid #ffffff1a}.memory-chapter-actions{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:30px}.memory-curtain-top{grid-template-columns:1fr;gap:30px}.memory-curtain-top>div:last-child>p{max-width:540px}.memory-stage{background-position:62%;min-height:530px;margin-top:50px;display:block}.memory-stage-copy{background:linear-gradient(#0000,#060611eb);padding:95px 26px 35px;position:absolute;bottom:0;left:0;right:0}.memory-stage-copy h3{font-size:44px}.memory-count{padding:0;position:absolute;top:28px;right:28px}.memory-count b{font-size:34px}.memory-stage-controls{top:35%;left:14px;right:14px}.memory-stage-controls button{border-color:#ffffff61;justify-content:center;width:48px;height:48px;min-height:48px;padding:0}.memory-stage-controls button span{display:none}.memory-stage-controls button b{font-size:23px}.journey-unlock{flex-direction:column;align-items:flex-start;gap:14px;padding-block:23px}.route-heading-aside,.cards-aside{margin-top:30px}.wish-section{min-height:100svh;padding:90px 24px}.wish-moon{width:112px;top:7%;right:5%}.wish-heart-constellation{width:min(78vw,360px);top:48%}.wish-heart-constellation>span{font-size:min(72vw,330px)}.wish-mountain{height:31%}.wish-petal-field i:nth-child(n+12),.wish-love-lights i:nth-child(n+12){display:none}.memory-copy{grid-template-columns:1fr;gap:12px}.route-memory{min-height:300px}.wish-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.wish-row button{width:82px;height:82px}.letter-section{gap:55px}.letter-experience{min-height:480px}.letter-experience.is-open{min-height:0}.letter-envelope{width:min(100%,570px)}.envelope-letter-preview{padding:28px}.letter-paper{padding:55px 24px 26px}.letter-paper.is-open{transform:none}.letter-paper textarea{min-height:530px;font-size:16px}.paper-stamp{top:18px;right:20px}.letter-actions{flex-direction:column;align-items:stretch}.letter-actions .save-button{width:100%}.letter-book{height:min(72svh,650px);min-height:560px;padding-bottom:98px}.letter-book:before,.letter-book:after{bottom:106px}.letter-book-page,.letter-book-editor{padding:48px 38px}.letter-page-navigation{grid-template-columns:94px 1fr 150px;gap:9px;bottom:48px}.letter-close-book{bottom:0}.sticky-pile{height:760px;margin:58px -32px 30px}.sticky-note{width:clamp(110px,18vw,150px);padding:18px 16px 16px}.sticky-note b{font-size:26px}.sticky-note p{-webkit-line-clamp:2;font-size:11px}.sticky-stamp{font-size:7px}.note-expanded{min-height:calc(100dvh - 48px);padding:60px 34px 40px}.finale{min-height:100svh;padding-inline:24px}.future-voyage{border-radius:20px;min-height:0;padding:34px 0 28px}.future-route{flex-direction:column;justify-content:center;align-items:stretch;gap:15px;width:100%;min-height:610px;margin:0;padding:28px 24px 28px 58px;display:flex}.is-future-animating .future-route{width:min(100%,620px);min-height:min(690px,78dvh);padding-block:18px}.future-route-line{transform-origin:50% 0;background:repeating-linear-gradient(#ffcd9680 0 8px,#0000 8px 18px);width:1px;height:auto;animation-name:future-line-draw-mobile;inset:7% auto 7% 37px}@keyframes future-line-draw-mobile{0%{opacity:0;transform:scaleY(0)}25%{opacity:1}to{opacity:.75;transform:scaleY(1)}}.future-comet{animation-name:future-comet-travel-mobile;top:6%;left:25px}.future-comet:after{background:linear-gradient(#0000,#ffd09e);width:1px;height:62px;inset:auto auto 12px 50%}@keyframes future-comet-travel-mobile{0%{opacity:0;top:6%;transform:scale(.5)}8%,91%{opacity:1}to{opacity:0;top:93%;transform:scale(1.2)rotate(24deg)}}.future-stop,.future-stop:nth-of-type(2n){--stop-y:0px;text-align:left;flex-direction:row;align-items:center;gap:17px;min-height:58px;transform:none}.future-stop>i{width:38px;height:38px}.future-stop h4{margin-bottom:3px;font-size:24px}.future-stop p{max-width:none;margin:0;font-size:10px}.future-handoff{text-align:left;font-size:14px;inset:auto 20px 7px 82px}.future-beyond{min-height:540px;padding-inline:12px}.is-future-animating .future-beyond{min-height:100dvh;padding:max(60px,env(safe-area-inset-top)) 12px max(82px,env(safe-area-inset-bottom))}.future-beyond-orbit{--orbit-radius:min(35vw,155px);width:min(94vw,470px);height:min(94vw,470px);min-height:310px}.future-beyond-place{width:78px;padding:7px 7px 7px 14px}.future-beyond-place:before{left:7px}.future-beyond-place b{font-size:11px}.future-beyond-core strong{white-space:normal;max-width:118px;font-size:20px}.future-beyond-core small{font-size:8px}.future-forever{margin-top:4px;font-size:clamp(17px,4.6vw,22px)}.future-arrival{margin:8px 24px 24px}.is-future-animating .future-arrival{bottom:max(18px,env(safe-area-inset-bottom));margin-bottom:0}.future-arrival p{font-size:clamp(18px,5vw,25px)}.secret-letter.is-open{padding-top:38px}.epilogue{min-height:100svh;padding:90px 24px 40px}.epilogue-heading h2 br{display:none}.epilogue-road{width:115vw;height:58%}.epilogue-message-card{border-radius:22px}.footer-note{line-height:1.8}}@media (width<=520px){.breath-control{width:min(100%,350px)}.ritual{padding-inline:max(14px,env(safe-area-inset-left))}.dark-room-stage{min-width:0;overflow:hidden}.room-heading,.candle-blessing,.ritual-sound-note{width:100%;max-width:100%}.room-heading h1,.candle-blessing p{overflow-wrap:anywhere;max-width:100%;line-height:1.5}.room-tap-control,.start-wish{width:100%;min-width:0;max-width:330px}.light-game-stage{grid-template-rows:auto auto minmax(240px,1fr) auto;padding-top:22px}.light-game-heading h1{font-size:clamp(34px,10.5vw,48px)}.light-game-heading>p:last-child{margin-top:11px;font-size:13px;line-height:1.65}.game-sound-card{grid-template-columns:31px 1fr auto;gap:8px;min-height:58px;padding:8px 8px 8px 12px}.game-sound-card>span{width:31px;height:31px}.game-sound-card b{font-size:9px}.game-sound-card small{max-width:175px;font-size:8px}.game-sound-card button{min-height:38px;padding-inline:12px;font-size:9px}.hidden-light{width:92px;min-height:66px}.hidden-light.light-1{top:43%}.hidden-light.light-2{top:7%}.hidden-light.light-3{top:47%}.light-game-message{width:68%;top:61%}.light-game-message p{font-size:14px}.light-heart-meter{width:124px;height:116px;top:44%}.light-heart-meter:before,.light-heart-meter:after{font-size:113px}.moon-pull{width:min(100%,285px);min-height:56px}.star-window{opacity:.92;width:140px;top:5%;right:-2%}.gift-pile{width:45vw;height:min(23vh,175px);bottom:0}.gift-pile.is-left{left:-8%}.gift-pile.is-right{right:-8%}.room-bunting{opacity:.2;top:9%}.room-fairy-lights{top:5%;left:12%;right:12%}.room-reveal-stage .cake-scene{margin-block:-50px -63px;transform:scale(.68)}.room-tap-control,.start-wish{width:min(100%,330px)}.ritual-sound-note{max-width:290px;line-height:1.6}.countdown-orbit{width:165px}.wish-countdown-stage h2{margin-top:31px}.wish-countdown-stage small{max-width:290px;line-height:1.55}.blow-stage .cake-scene{transform:scale(.6)}.microphone-status button{padding-inline:8px}.wish-ascending-stage>span{max-width:280px;line-height:1.7}.wish-section{padding-inline:18px}.wish-section h2{margin-bottom:48px;font-size:clamp(35px,10.5vw,52px)}.wish-hint{margin-top:-23px}.wish-moon{width:92px;top:5%;right:-19px}.wish-row{gap:15px}.wish-row button{width:78px;height:78px}.wish-status{min-height:68px;margin-top:25px}.wish-heart-constellation{width:min(88vw,330px)}.wish-heart-constellation>span{font-size:min(83vw,310px)}.wish-finale-burst i{--wish-distance:105px!important}.wish-reveal.is-visible{padding:23px 16px 21px}.wish-reveal p br{display:none}.ritual-letter-card h2{font-size:46px}.ritual-letter-card h3{font-size:25px}.ritual-letter-note br{display:none}.ritual-letter-ribbon{top:24px;left:-57px}.ritual-letter-seal{width:42px;height:42px;top:24px;right:25px}.memory-stage{min-height:500px}.memory-stage-copy p{font-size:16px}.memory-stage-controls{top:32%}.memory-motif i{font-size:calc(var(--motif-size) * .86)}.memory-film{grid-template-columns:repeat(7,minmax(132px,1fr))}.letter-experience{min-height:400px}.letter-envelope{aspect-ratio:1.35}.wax-seal{width:60px;height:60px}.envelope-letter-preview{padding:24px}.envelope-letter-preview i{font-size:17px}.letter-book{width:calc(100vw - 48px);height:min(72svh,610px);min-height:520px;padding-bottom:94px}.letter-book-page,.letter-book-editor{padding:38px 22px 42px}.letter-book-page:before,.letter-book-editor:before{inset:13px}.letter-page-count{top:21px;right:22px}.letter-book-cover h3{margin-block:26px 18px;font-size:clamp(36px,10vw,46px)}.letter-book-cover>span{font-size:13px}.letter-book-cover>b{margin-top:26px}.letter-page-copy h3{margin-bottom:22px;font-size:clamp(31px,8.5vw,40px)}.letter-page-copy>p{margin-bottom:17px;font-size:15px;line-height:1.82}.letter-page-navigation{grid-template-columns:48px 1fr 132px;gap:5px;bottom:45px}.letter-page-navigation>button{min-height:44px;padding-inline:9px}.letter-page-navigation>button:first-child{font-size:0}.letter-page-navigation>button:first-child:before{content:"←";font-size:17px}.letter-page-dots{gap:2px}.letter-page-dots button{width:18px;height:22px}.letter-page-dots button.is-current:after{width:13px}.letter-book-editor{padding-top:56px}.letter-book-editor label{padding-right:55px;font-size:19px}.letter-book-editor textarea{min-height:300px;font-size:15px}.letter-actions{gap:4px}.sticky-pile{height:620px;margin:45px -38px 20px}.sticky-note{left:clamp(16%,var(--x),84%);aspect-ratio:.82;width:clamp(78px,23vw,108px);padding:14px 12px 12px}.sticky-stamp{display:none}.sticky-note b{margin:auto 0 0;font-size:20px}.sticky-note p{display:none}.sticky-note small{font-size:0}.sticky-note small:after{content:"↗";font-size:9px}.note-expanded h3{font-size:48px}.note-expanded>p{font-size:26px}.future-handoff{font-size:12px;left:68px}.future-beyond-orbit{--orbit-radius:min(34vw,132px);height:360px;min-height:300px}.future-beyond-place{width:69px;padding:6px 5px 6px 12px}.future-beyond-place b{font-size:10px}.future-beyond-kicker{letter-spacing:.18em;font-size:7px}.future-forever br{display:none}.future-to-epilogue{justify-content:space-between;width:min(100%,340px);font-size:11px}.epilogue{padding-inline:max(16px,env(safe-area-inset-left))}.epilogue-join{--join-shift:29px;--join-shift-negative:-29px;grid-template-columns:1fr 58px 1fr;min-height:154px;padding-inline:18px}.join-light i{width:44px;height:44px}.epilogue-message-lines{font-size:clamp(20px,6.2vw,27px);line-height:1.72}.epilogue-message-card{padding:34px 20px}.epilogue-message-card footer{margin-top:28px}}@media (height<=720px){.ritual{padding-block:max(12px,env(safe-area-inset-top));align-items:center}.ritual-welcome,.candle-ritual{margin:auto 0;padding-block:14px}.ritual-index{margin-bottom:13px}.ritual-welcome h1{font-size:clamp(42px,9vh,66px)}.ritual-kicker{margin-bottom:8px}.headphone-hint,.ritual-actions{margin-top:16px}.candle-ritual h2{font-size:clamp(40px,8vh,62px)}.cake-scene{height:315px;margin-block:-66px -72px;transform:scale(.6)}.light-game-stage{grid-template-rows:auto auto minmax(155px,1fr) auto;padding-top:0}.light-game-heading .ritual-index{margin-bottom:5px}.light-game-heading h1{font-size:clamp(29px,7vh,42px)}.light-game-heading>p:last-child{margin-top:6px;font-size:11px;line-height:1.45}.game-sound-card{min-height:49px;margin-top:7px}.game-sound-card small{display:none}.hidden-light-field{min-height:155px}.hidden-light{min-height:52px}.hidden-light>i{width:17px;height:17px}.hidden-light>i b{width:42px;height:42px}.hidden-light span{font-size:8px}.light-game-message{top:60%}.light-game-message p{min-height:34px;margin-top:7px;font-size:12px;line-height:1.4}.light-heart-meter{width:108px;height:101px;top:44%}.light-heart-meter:before,.light-heart-meter:after{font-size:99px}.moon-pull{min-height:48px}.moon-pull:before{height:35px}.room-reveal-stage h2{font-size:clamp(28px,7vh,44px)}.room-reveal-stage .cake-scene{margin-block:-66px -78px;transform:scale(.57)}.room-reveal-stage>span{font-size:10px}.star-window{width:132px;top:4%}.gift-pile{height:min(25vh,150px)}.room-bunting{height:58px}.room-bunting i{height:35px;top:26px}.breath-track{height:52px}.dark-room-stage{grid-template-rows:auto minmax(170px,1fr) auto auto auto}.dark-room-stage .cake-scene{height:315px;margin-block:-72px -88px;transform:scale(.57)}.candle-blessing{min-height:54px}.candle-blessing p{font-size:15px}.candle-progress{margin-top:10px}.room-tap-control,.start-wish{height:48px;min-height:48px}.ritual-sound-note{margin-top:7px}.blow-stage{gap:4px}.blow-stage .cake-scene{height:315px;margin-block:-83px -96px;transform:scale(.52)}.hold-to-blow{min-height:48px}.wish-countdown-stage .ritual-index{margin-bottom:18px}.countdown-orbit{width:145px}.wish-countdown-stage h2{margin-top:22px}.gift-stage h2{margin-bottom:12px}.falling-gift{min-height:225px;transform:scale(.82)}.ritual-letter-card{min-height:0;max-height:calc(100dvh - 24px);padding-block:25px 20px;overflow-y:auto}.ritual-letter-card h2{margin-block:11px 7px}.letter-divider{margin-bottom:14px}.ritual-letter-note{margin-top:14px}.hold-to-open{min-height:52px;margin-top:18px}.prologue-ticket{grid-template-columns:1fr}.prologue-ticket:after{display:none}.prologue-promises article{padding-inline:22px}.chapter-bridge{grid-template-columns:1fr}.chapter-thread{grid-column:1}.chapter-link{min-height:82px}.chapter-link.is-next{border-top:1px solid #ffffff1a;border-left:0}.future-voyage{width:calc(100% + 16px);margin-inline:-8px}.future-route{gap:11px;min-height:570px;padding-left:52px;padding-right:14px}.is-future-animating .future-route{min-height:min(610px,76dvh)}.future-route-line{left:31px}.future-comet{left:19px}.future-stop,.future-stop:nth-of-type(2n){gap:13px;min-height:52px}.future-stop>i{width:34px;height:34px}.future-stop h4{font-size:21px}.is-future-animating .future-stop p{display:none}.is-future-animating .future-stop{min-height:43px}.future-handoff{font-size:12px;left:68px}.future-beyond-orbit{--orbit-radius:min(29vw,116px);height:290px;min-height:260px}.future-beyond-place{width:65px}.future-beyond-kicker{display:none}.future-forever{font-size:16px}.future-arrival p br{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.ritual.is-opening,.ritual-opening-copy h2{opacity:1;visibility:visible;filter:none;transform:none;animation:none!important}.light-found-burst,.room-celebration,.wish-finale-burst,.wish-petal-field,.wish-love-lights{display:none!important}.light-heart-meter:after{transition:none!important}.is-wish-complete .wish-heart-constellation>span{clip-path:inset(0);opacity:1}.is-wish-complete .wish-heart-constellation>i{opacity:1;transform:translate(-50%,-50%)scale(1)}.wish-reveal.is-visible{opacity:1;filter:none;transform:none}.epilogue-road,.epilogue-message-card,.epilogue-message-lines span,.epilogue-message-card footer{opacity:1!important;filter:none!important;transform:none!important}.epilogue-burst{display:none!important}.epilogue.is-lit .join-light{transform:none!important}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
