/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Cormorant Garamond", "Songti SC", "STSong", "SimSun", serif}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}::-webkit-file-upload-button{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:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::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-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.float-left{float:left}.m-1{margin:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.mx-1{margin-inline:var(--spacing)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.blur{--tw-blur:blur(8px);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, )}.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, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-latin.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-italic.woff2)format("woff2");font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:Great Vibes;src:url(/fonts/great-vibes-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--space:#080d22;--space-deep:#040714;--nebula:#1b1742;--violet:#8b7ed8;--pink:#f2c9da;--gold:#e9c98a;--ivory:#f7efe3;--fog:#c9c2de;--muted:#9d97b7;--line:#e9c98a33;--line-soft:#f2c9da1f;--font-display:"Cormorant Garamond", "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;--font-body:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-hand:"Kaiti SC", "STKaiti", "KaiTi", "FangSong", serif;--font-script:"Great Vibes", "Cormorant Garamond", cursive;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.4, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--page-x:clamp(1.25rem, 5vw, 5rem);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*,:before,:after{box-sizing:border-box}html{background:var(--space-deep);scroll-behavior:smooth;scrollbar-gutter:stable;min-width:320px}body{background:var(--space);min-width:320px;min-height:100vh;color:var(--ivory);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.8;overflow-x:hidden}body::selection{color:#1b1428;background:#e9c98ae0}body ::selection{color:#1b1428;background:#e9c98ae0}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}a{color:inherit}#app{isolation:isolate;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#080d22}::-webkit-scrollbar-thumb{background:#8b7ed86b;border-radius:999px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:200;color:#171326;background:var(--gold);border-radius:999px;padding:10px 18px;text-decoration:none;transition:top .2s;position:fixed;top:-100px;left:16px}.skip-link:focus{top:calc(12px + var(--safe-top))}.cosmos{z-index:-3;background:radial-gradient(120% 80% at 50% 118%,#49337b80,#0000 55%),radial-gradient(75% 60% at 92% 18%,#57408e47,#0000 62%),radial-gradient(50% 50% at 15% 12%,#26326966,#0000 70%),linear-gradient(168deg,#070a18 0%,#080d22 46%,#0b0c26 100%);position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.cosmos:after{content:"";pointer-events:none;background:radial-gradient(#0000 38%,#02040c75 100%),linear-gradient(#03050e1f,#0000 22% 78%,#03050e61);position:absolute;top:0;bottom:0;left:0;right:0}.cosmos__texture{opacity:.44;mix-blend-mode:screen;pointer-events:none;background:url(/images/backgrounds/nebula-texture.svg) 50%/cover no-repeat;position:absolute;top:0;bottom:0;left:0;right:0}.app[data-scene="4"] .cosmos__texture{opacity:.15;transition:opacity 1.2s var(--ease-soft)}.app[data-scene="6"] .cosmos__texture{opacity:.45}.cosmos__nebula{filter:blur(48px);opacity:.5;will-change:transform;border-radius:50%;position:absolute;transform:translate(0)}.nebula--one{aspect-ratio:1.2;background:radial-gradient(at 38% 46%,#6a4fad66,#0000 46%),radial-gradient(at 67%,#49519654,#0000 56%);width:clamp(420px,70vw,1100px);animation:28s ease-in-out infinite alternate nebula-breathe;top:-18%;left:-20%}.nebula--two{aspect-ratio:1;background:radial-gradient(at 46%,#854f8938,#0000 40%),radial-gradient(at 60% 46%,#3e4b8c4d,#0000 58%);width:clamp(480px,84vw,1320px);animation:36s ease-in-out 4s infinite alternate-reverse nebula-breathe;bottom:-22%;right:-28%}.nebula--three{aspect-ratio:1.6;background:radial-gradient(#8b7ed81f,#0000 62%);width:min(50vw,660px);animation:42s ease-in-out infinite alternate nebula-drift;top:25%;right:8%}.cosmos__moon{aspect-ratio:1;opacity:.58;background:radial-gradient(circle at 38% 32%,#fffcf2fa,#f7ebd6eb 20%,#dec9bdbd 42%,#a08eb25c 61%,#5a508414 70%,#0000 72%);border-radius:50%;width:clamp(64px,9.5vw,144px);position:absolute;top:clamp(90px,15vh,170px);right:clamp(5vw,10vw,11rem);box-shadow:0 0 42px #e9c98a1f,0 0 110px #8b7ed824}.cosmos__moon:before{content:"";border-radius:inherit;background:radial-gradient(circle at 69% 62%,#54456b57 0 3.4%,#54456b1a 4%,#0000 6.5%),radial-gradient(circle at 39% 57%,#54456b3d 0 2.2%,#0000 3.6%),radial-gradient(circle at 57% 30%,#fff3 0 6%,#0000 18%),radial-gradient(circle at 30% 72%,#54456b33 0 4%,#0000 5.5%);position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset -14px -10px 26px #46365f59}.grain{z-index:20;opacity:.055;pointer-events:none;mix-blend-mode:soft-light;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='.55'/%3E%3C/svg%3E");position:fixed;top:0;bottom:0;left:0;right:0}.starfield{z-index:-2;opacity:.92;pointer-events:none;width:100%;height:100%;transition:opacity 1.2s var(--ease-soft);position:fixed;top:0;bottom:0;left:0;right:0}.app[data-scene="4"] .starfield{opacity:.38}.app[data-scene="6"] .starfield{opacity:1}.app[data-scene="6"] .cosmos__nebula{opacity:.66}.app[data-scene="6"] .cosmos{transition:background 1.6s var(--ease-soft);background:radial-gradient(110% 74% at 50% 100%,#6d4f928a,#0000 62%),radial-gradient(70% 50% at 72% 16%,#744e8740,#0000 65%),radial-gradient(60% 55% at 18% 30%,#3f478261,#0000 70%),linear-gradient(170deg,#080d22 0%,#11102d 52%,#23163a 100%)}.app[data-scene="6"] .cosmos__moon{opacity:0}.site-header{z-index:60;padding:calc(1.1rem + var(--safe-top)) calc(var(--page-x) + var(--safe-right)) 0 calc(var(--page-x) + var(--safe-left));pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;bottom:auto;left:0;right:0}.site-header:before{content:"";height:calc(108px + var(--safe-top));z-index:-1;pointer-events:none;background:linear-gradient(#050814b8,#05081447 52%,#0000);position:absolute;top:0;bottom:auto;left:0;right:0}.site-header>*{pointer-events:auto}.brand{min-width:0;font:inherit;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;align-items:center;gap:.72rem;padding:0;text-decoration:none;display:flex}.brand__star{width:28px;height:28px;color:var(--gold);flex:none;place-items:center;display:grid;position:relative}.brand__star:before,.brand__star:after{content:"";opacity:.68;background:currentColor;position:absolute}.brand__star:before{width:1px;height:20px}.brand__star:after{width:20px;height:1px}.brand__star i{background:var(--gold);width:6px;height:6px;box-shadow:0 0 14px var(--gold);border-radius:50%}.brand__text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.brand__english{font-family:var(--font-display);letter-spacing:.22em;color:#e9c98abd;font-size:.63rem;line-height:1.2}.brand__name{color:#f7efe3e0;max-width:17rem;font-family:var(--font-display);letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.5;overflow:hidden}.audio-shell{flex:none;position:relative}.audio-trigger{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-height:44px;color:var(--ivory);cursor:pointer;transition:background .25s ease, border-color .25s ease, transform .25s var(--ease-out);background:#0a0c1f7a;border:1px solid #e9c98a33;border-radius:999px;align-items:center;gap:.6rem;padding:.32rem .82rem .32rem .4rem;display:flex}.audio-trigger:hover{background:#161631a8;border-color:#e9c98a7a}.audio-trigger:active{transform:scale(.97)}.audio-trigger__disc{background:radial-gradient(circle at 38% 32%,#f2c9da3d,#8b7ed833);border:1px solid #e9c98a38;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid;position:relative}.audio-trigger__disc:after{content:"";border:1px solid #e9c98a40;border-radius:50%;position:absolute;top:9px;bottom:9px;left:9px;right:9px}.audio-trigger.is-playing .audio-trigger__disc{animation:7s linear infinite disc-spin}.audio-trigger.is-playing .audio-trigger__disc svg{animation:7s linear infinite disc-counter-spin}.audio-trigger__meta{flex-direction:column;align-items:flex-start;line-height:1.25;display:none}.audio-trigger__title{color:#f7efe3db;font-family:var(--font-display);letter-spacing:.05em;font-size:.76rem}.audio-trigger__status{color:#e9c98a9e;letter-spacing:.08em;font-size:.58rem}.audio-panel{width:min(19rem, calc(100vw - 2.25rem - var(--safe-left) - var(--safe-right)));-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);background:linear-gradient(155deg,#151330f5,#090d21f7);border:1px solid #e9c98a38;border-radius:1.2rem;padding:1.1rem;position:absolute;top:calc(100% + .65rem);right:0;box-shadow:0 22px 70px #00000080}.audio-panel__head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.audio-panel__title{font-family:var(--font-display);color:var(--ivory);letter-spacing:.02em;font-size:1.12rem}.audio-panel__artist{color:var(--muted);font-family:var(--font-display);letter-spacing:.1em;font-size:.72rem}.audio-panel__controls{align-items:center;gap:.6rem;display:flex}.audio-icon-button{width:42px;height:42px;color:var(--ivory);cursor:pointer;background:#f7efe309;border:1px solid #e9c98a2e;border-radius:50%;flex:none;place-items:center;transition:border-color .2s,background .2s;display:grid}.audio-icon-button:hover{background:#e9c98a14;border-color:#e9c98a80}.audio-icon-button--primary{color:#161024;background:linear-gradient(140deg,#f1d7a0,#d6ad72);border-color:#0000;width:48px;height:48px;box-shadow:0 8px 30px #e9c98a2e}.audio-icon-button--primary:hover{background:linear-gradient(140deg,#f7e2b4,#e0ba7d)}.volume{flex:1;align-items:center;gap:.65rem;min-width:0;display:flex}.volume input[type=range]{width:100%;height:24px;accent-color:var(--gold);cursor:pointer;margin:0}.audio-error{color:#f2c9dacc;border-top:1px solid #f2c9da1a;margin-top:.85rem;padding-top:.8rem;font-size:.74rem;line-height:1.65}.audio-equalizer{align-items:flex-end;gap:2px;height:12px;display:flex}.audio-equalizer i{background:var(--pink);border-radius:2px;width:2px;animation:1s ease-in-out infinite alternate eq;display:block}.audio-equalizer i:first-child{height:6px;animation-delay:-.7s}.audio-equalizer i:nth-child(2){height:11px;animation-delay:-.2s}.audio-equalizer i:nth-child(3){height:8px;animation-delay:-.5s}@media (min-width:720px){.audio-trigger__meta{display:flex}.brand__english{font-size:.68rem}.brand__name{font-size:.94rem}}@media (max-width:390px){.brand__name{max-width:9.8rem;font-size:.72rem}.brand__english{font-size:.56rem}.brand{gap:.4rem}.audio-trigger{padding-right:.38rem}}.app{min-height:100svh;position:relative;overflow:clip}.main-stage{min-height:100svh;position:relative}.scene-shell{min-height:100svh;padding:calc(7.4rem + var(--safe-top)) calc(var(--page-x) + var(--safe-right)) calc(5.8rem + var(--safe-bottom)) calc(var(--page-x) + var(--safe-left));position:relative}.scene-shell--narrow{width:min(100%,1180px);margin-inline-start:auto;margin-inline-end:auto}.chapter-mark{color:var(--gold);font-family:var(--font-display);letter-spacing:.18em;align-items:center;gap:.9rem;font-size:.74rem;line-height:1.4;display:flex}.chapter-mark:before{content:"";background:linear-gradient(90deg,#0000,#e9c98acc);width:2.6rem;height:1px}.chapter-mark__name{color:#f2c9dac2;letter-spacing:.12em}.display-title{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;color:var(--ivory);font-size:clamp(2.25rem,6.4vw,4.9rem);font-weight:400;line-height:1.22}.display-title em{color:#f2c9daf0;font-style:normal}.lead{color:#c9c2ded1;max-width:42rem;font-size:clamp(.92rem,1.3vw,1.06rem);line-height:1.95}.section-head{gap:1.25rem;max-width:66rem;margin-bottom:clamp(2.4rem,6vw,5rem);display:grid}.section-head--center{text-align:center;justify-items:center;margin-inline-start:auto;margin-inline-end:auto}.section-head--center .chapter-mark:after{content:"";background:linear-gradient(90deg,#e9c98acc,#0000);width:2.6rem;height:1px}.section-head--center .lead{max-width:34rem}.section-number{color:#f2c9da6b;font-family:var(--font-display);letter-spacing:.18em;font-size:.76rem}.handwritten{font-family:var(--font-hand);color:#f2c9dacc;letter-spacing:.04em;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.9}.script{font-family:var(--font-script);font-weight:400}.gold{color:var(--gold)}.pink{color:var(--pink)}.muted{color:var(--muted)}.scene-footer{border-top:1px solid #e9c98a21;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;margin-top:clamp(3rem,8vw,6rem);padding-top:1.4rem;display:flex}.scene-footer__note{color:#c9c2de7a;max-width:20rem;font-size:.74rem;line-height:1.75}.btn{letter-spacing:.06em;text-align:center;cursor:pointer;min-height:50px;transition:transform .3s var(--ease-out), box-shadow .3s ease, background .3s ease, border-color .3s ease;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.65rem;padding:.75rem 1.35rem;font-size:.86rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.985)}.btn svg{flex:none}.btn--primary{color:#171125;background:linear-gradient(135deg,#f8e5bb 0%,#e9c98a 46%,#d9aa72 100%);box-shadow:0 12px 32px #e9c98a33,inset 0 1px #ffffff61}.btn--primary:after{content:"";width:45%;height:200%;transition:left .7s var(--ease-out);background:linear-gradient(90deg,#0000,#ffffff61,#0000);position:absolute;top:-50%;left:-80%;transform:skew(-18deg)}.btn--primary:hover:after{left:140%}.btn--primary:hover{box-shadow:0 16px 38px #e9c98a47,inset 0 1px #ffffff73}.btn--ghost{color:#f7efe3e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f11285c;border-color:#e9c98a40}.btn--ghost:hover{background:#e9c98a14;border-color:#e9c98a8f}.btn--quiet{color:#c9c2dea6;letter-spacing:.04em;text-underline-offset:6px;background:0 0;border:0;border-radius:0;min-height:44px;padding:.5rem .2rem;font-size:.78rem;-webkit-text-decoration:underline #c9c2de40;text-decoration:underline #c9c2de40}.btn--quiet:hover{color:var(--gold);text-decoration-color:#e9c98a80;transform:none}.btn--wide{width:100%}.icon-button{color:#f7efe3d1;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:44px;height:44px;transition:border-color .25s ease, background .25s ease, transform .25s var(--ease-out);background:#0c0e2273;border:1px solid #e9c98a30;border-radius:50%;place-items:center;display:inline-grid}.icon-button:hover{background:#e9c98a14;border-color:#e9c98a8c}.icon-button:active{transform:scale(.94)}.icon-button:disabled{opacity:.3;cursor:not-allowed}.scene-swap-enter-active,.scene-swap-leave-active{transition:opacity .55s var(--ease-soft), transform .65s var(--ease-out), filter .55s ease}.scene-swap-enter-from{opacity:0;filter:blur(8px);transform:translateY(16px)}.scene-swap-leave-to{opacity:0;filter:blur(6px);transform:translateY(-10px)}.opening{min-height:100svh;padding:calc(7.2rem + var(--safe-top)) calc(var(--page-x) + var(--safe-right)) calc(6.2rem + var(--safe-bottom)) calc(var(--page-x) + var(--safe-left));align-items:center;display:grid;position:relative;overflow:hidden}.opening__grid{z-index:2;width:min(100%,1240px);margin-inline-start:auto;margin-inline-end:auto;position:relative}.opening__copy{text-align:center;width:min(100%,39rem);margin-inline-start:auto;margin-inline-end:auto;position:relative}.opening__kicker{color:#e9c98ac2;font-family:var(--font-display);letter-spacing:.18em;align-items:center;gap:.75rem;font-size:.73rem;line-height:1.6;display:inline-flex}.opening__kicker:before,.opening__kicker:after{content:"";background:#e9c98a61;width:1.7rem;height:1px}.opening__title{color:var(--ivory);font-family:var(--font-display);letter-spacing:.12em;text-indent:.12em;text-shadow:0 0 40px #f2c9da1f,0 0 100px #8b7ed833;margin:1.4rem 0 1.25rem;font-size:clamp(5rem,17vw,11.5rem);font-weight:400;line-height:.98;display:inline-block;position:relative}.opening__title:before{content:"";aspect-ratio:1;z-index:-1;pointer-events:none;background:radial-gradient(circle,#8b7ed829,#0000 58%);width:140%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.opening__lead{color:#e5dcefd1;font-family:var(--font-display);letter-spacing:.08em;font-size:clamp(1.1rem,2.2vw,1.45rem);line-height:2}.opening__lead strong{color:#0000;text-shadow:0 0 36px #e9c98a26;background:linear-gradient(105deg,#f8e5bb 8%,#f2c9da 47%,#d5c6f4 94%);-webkit-background-clip:text;background-clip:text;font-weight:400;display:block}.opening__note{color:#dcd5ecb3;letter-spacing:.03em;max-width:28rem;margin:1.15rem auto 2rem;font-size:.82rem;line-height:1.9}.opening__cta{min-height:56px;padding-inline-start:1.8rem;padding-inline-end:1.5rem;font-size:.9rem}.opening__hint{color:#d2cbe499;letter-spacing:.07em;margin-top:1rem;font-size:.68rem}.opening__signature{color:#d2cbe48c;font-family:var(--font-display);letter-spacing:.16em;flex-direction:column;gap:.3rem;margin-top:clamp(2.8rem,8vh,5rem);font-size:.67rem;line-height:1.7;display:flex}.opening__signature span:last-child{color:#e9c98a8c}.opening__decor{z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.opening__orbit{aspect-ratio:1;border:1px solid #e9c98a1f;border-radius:50%;width:min(92vw,760px);position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)scaleY(.72)rotate(-12deg)}.opening__orbit:before{content:"";border-radius:inherit;border:1px solid #8b7ed81f;position:absolute;top:8%;bottom:8%;left:8%;right:8%}.opening__orbit:after{content:"";background:var(--gold);border-radius:50%;width:8px;height:8px;animation:16s linear infinite orbit-travel;position:absolute;top:49.4%;left:-4px;box-shadow:0 0 18px #e9c98acc}.opening__planet{aspect-ratio:1;opacity:.6;background:radial-gradient(circle at 32% 28%,#f2c9da80,#0000 22%),radial-gradient(circle at 58% 68%,#7667ba80,#0000 54%),linear-gradient(145deg,#443267d9,#11122ef5);border-radius:50%;width:clamp(64px,12vw,146px);position:absolute;bottom:17%;right:7%;box-shadow:inset -20px -16px 40px #040614bf,0 0 60px #8b7ed82e}.opening__planet:after{content:"";border:1px solid #e9c98a4d;border-radius:50%;width:170%;height:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-18deg);box-shadow:0 0 20px #e9c98a0d}.opening__meteor{opacity:0;background:#fffaeee6;width:1px;height:1px;animation:9s ease-in 3s infinite meteor-pass;position:absolute;top:17%;left:11%;transform:rotate(28deg);box-shadow:0 0 10px 2px #e9c98a85,28px -17px 22px -1px #f2c9da6b,58px -35px 32px -2px #f2c9da1f}.opening__constellation{opacity:.8;filter:drop-shadow(0 0 24px #8b7ed81f);width:min(31vw,400px);display:none;position:absolute;top:17%;right:4.2%}.opening__coords{right:calc(var(--page-x) + var(--safe-right));bottom:calc(6.2rem + var(--safe-bottom));writing-mode:vertical-rl;color:#e9c98a6b;font-family:var(--font-display);letter-spacing:.24em;font-size:.62rem;line-height:1;position:absolute}.opening__heart{z-index:120;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.heart-gate-canvas{width:100%;height:100%}@media (min-width:900px){.opening__copy{text-align:left;margin-inline-start:0;margin-inline-end:0}.opening__lead strong{display:inline}.opening__lead{line-height:1.9}.opening__kicker:before{display:none}.opening__note{margin-inline-start:0;margin-inline-end:0}.opening__title{letter-spacing:.16em}.opening__signature{align-items:flex-start}.opening__orbit{width:min(56vw,930px);left:69%;transform:translate(-50%,-46%)scaleY(.75)rotate(-12deg)}.opening__planet{width:clamp(92px,10vw,160px);bottom:21%;right:9%}.opening__constellation{display:block}}@media (max-height:700px) and (max-width:899px){.opening{padding-top:calc(6.3rem + var(--safe-top));padding-bottom:calc(5.3rem + var(--safe-bottom))}.opening__title{margin-block-start:1rem;margin-block-end:1rem;font-size:clamp(4.2rem,16vw,7rem)}.opening__note{margin-block-start:.8rem;margin-block-end:1.3rem}.opening__signature{margin-top:2rem}}.timeline{width:min(100%,1080px);margin-inline-start:auto;margin-inline-end:auto;position:relative}.timeline:before{content:"";background:linear-gradient(#0000,#e9c98a59 4%,#8b7ed852 50%,#f2c9da38 92%,#0000);width:1px;position:absolute;top:2rem;bottom:4rem;left:20px}.timeline:after{content:"";opacity:.48;background-image:radial-gradient(circle,#f2c9da70 0 1px,#0000 1.4px);background-size:100% 76px;width:7px;position:absolute;top:2rem;bottom:4rem;left:17px}.memory{gap:1.4rem;padding:0 0 clamp(3rem,8vw,5.8rem) 3.6rem;display:grid;position:relative}.memory__node{z-index:2;background:#0a0e23;border:1px solid #e9c98a57;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:.35rem;left:8px;box-shadow:0 0 0 6px #080d22e0}.memory__node:before{content:"";background:var(--gold);border-radius:50%;width:6px;height:6px;animation:3.8s ease-in-out infinite node-pulse;box-shadow:0 0 14px #e9c98ae6}.memory__photo{background:linear-gradient(145deg,#f2c9da17,#8b7ed80a);border:1px solid #e9c98a38;border-radius:.95rem;padding:.55rem .55rem 0;position:relative;overflow:hidden;box-shadow:0 18px 50px #02040e4d}.memory__photo:after{content:"";pointer-events:none;border-radius:.55rem;position:absolute;top:.55rem;bottom:0;left:.55rem;right:.55rem;box-shadow:inset 0 0 0 1px #f7efe314}.memory__image-button{cursor:zoom-in;background:#10132a;border:0;border-radius:.55rem;width:100%;padding:0;display:block;position:relative;overflow:hidden}.memory__image-button .art-image{aspect-ratio:4/3}.memory__image-button .art-image__img{transition:transform .9s var(--ease-out), filter .5s ease}.memory__image-button:hover .art-image__img{filter:saturate(1.06);transform:scale(1.025)}.memory__image-button:after{content:"↗";color:#f7efe3cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:32px;height:32px;font-family:var(--font-display);opacity:0;background:#05081673;border:1px solid #f7efe338;border-radius:50%;place-items:center;font-size:.9rem;transition:opacity .3s,transform .3s;display:grid;position:absolute;top:.7rem;right:.7rem;transform:translateY(-3px)}.memory__image-button:hover:after{opacity:1;transform:translateY(0)}.memory__image-button:focus-visible:after{opacity:1;transform:translateY(0)}.memory__caption{color:#e9c98a8c;font-family:var(--font-display);letter-spacing:.13em;justify-content:space-between;gap:1rem;padding:.6rem .2rem .65rem;font-size:.58rem;display:flex}.memory__body{position:relative}.memory__date{color:#f2c9da9e;letter-spacing:.05em;align-items:center;gap:.55rem;margin-bottom:.55rem;font-size:.72rem;display:inline-flex}.memory__date:before{content:"";background:#f2c9da8c;border-radius:50%;width:4px;height:4px}.memory__title{max-width:30rem;color:var(--ivory);font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.4rem,3.1vw,2rem);line-height:1.45}.memory__excerpt{color:#c9c2deb3;max-width:30rem;margin-top:.65rem;font-size:.86rem;line-height:1.9}.memory__toggle{color:#e9c98acc;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;min-height:44px;margin-top:.7rem;padding:0 .1rem;font-size:.74rem;display:inline-flex}.memory__toggle svg{transition:transform .3s var(--ease-out)}.memory__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.memory__more{transition:grid-template-rows .55s var(--ease-out), opacity .4s ease;opacity:0;grid-template-rows:0fr;display:grid}.memory__more.is-open{opacity:1;grid-template-rows:1fr}.memory__more-inner{overflow:hidden}.memory__story{color:#c9c2debd;max-width:34rem;font-family:var(--font-display);padding-top:.8rem;font-size:.95rem;line-height:2.05}.memory__postscript{color:#e9c98a8c;font-family:var(--font-hand);border-left:1px solid #e9c98a4d;margin-top:1rem;padding-left:.9rem;font-size:.84rem;display:inline-block}.timeline__end{text-align:center;flex-direction:column;align-items:center;gap:1rem;width:min(100%,34rem);margin:1.5rem auto 0;display:flex}.timeline__end p{color:#c9c2de80;font-family:var(--font-hand);font-size:.9rem}@media (min-width:820px){.timeline:before{left:50%}.timeline:after{left:calc(50% - 3px)}.memory{grid-template-columns:1fr 6rem 1fr;align-items:start;padding-left:0}.memory__node{grid-area:1/2;justify-self:center;margin-top:2rem;position:relative;top:auto;left:auto}.memory__photo{grid-area:1/1;margin-left:0;transform:rotate(-1.1deg)}.memory__body{grid-area:1/3;padding-top:1.6rem;padding-left:.5rem}.memory:nth-child(2n) .memory__photo{grid-column:3;transform:rotate(1.1deg)}.memory:nth-child(2n) .memory__body{text-align:right;grid-area:1/1;padding-top:1.6rem;padding-left:0;padding-right:.5rem}.memory:nth-child(2n) .memory__title,.memory:nth-child(2n) .memory__excerpt,.memory:nth-child(2n) .memory__story{margin-left:auto}.memory:nth-child(2n) .memory__postscript{border-left:0;border-right:1px solid #e9c98a4d;padding-left:0;padding-right:.9rem}}.art-image{background:radial-gradient(circle at 30% 20%,#8b7ed833,#0000 45%),linear-gradient(145deg,#171630,#090d21);width:100%;height:100%;position:relative;overflow:hidden}.art-image__img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s var(--ease-soft)}.art-image__img.is-loaded{opacity:1}.art-image__skeleton{background:linear-gradient(110deg,#0000 20%,#f2c9da0d 37%,#0000 56%) 0 0/250% 100%,radial-gradient(circle at 30% 30%,#8b7ed829,#0000 50%) 0 0/100% 100%,#0d1128 0 0/100% 100%;animation:2.5s ease-in-out infinite skeleton-sweep;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.art-image__fallback{color:#e9c98a99;text-align:center;background:radial-gradient(circle at 50% 34%,#f2c9da1f,#0000 30%),radial-gradient(circle at 80% 80%,#8b7ed833,#0000 50%),linear-gradient(160deg,#1a1838,#090d21 76%);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1.5rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.art-image__fallback svg{opacity:.7}.art-image__fallback span{max-width:14rem;font-family:var(--font-hand);font-size:.82rem;line-height:1.8}.gallery{position:relative}.gallery__toolbar{justify-content:space-between;align-items:center;gap:1rem;max-width:1180px;margin:0 auto 1.2rem;display:flex}.gallery__hint{color:#c9c2de7a;letter-spacing:.04em;align-items:center;gap:.55rem;font-size:.67rem;display:inline-flex}.gallery__hint svg{color:#e9c98a8f}.gallery__arrows{gap:.55rem;display:flex}.gallery-track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;max-width:1180px;scroll-padding-inline:var(--page-x);scrollbar-width:none;cursor:grab;gap:clamp(.9rem,2.5vw,1.6rem);margin-inline-start:auto;margin-inline-end:auto;padding:.7rem max(1.25rem,50vw - 590px) 1rem;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 3.5% 96.5%,#0000);mask-image:linear-gradient(90deg,#0000,#000 3.5% 96.5%,#0000)}.gallery-track::-webkit-scrollbar{display:none}.gallery-track:active{cursor:grabbing}.gallery-card{scroll-snap-align:center;color:#332a30;transform:rotate(var(--card-rotate,-1deg));transition:transform .55s var(--ease-out), box-shadow .55s ease;animation:gallery-card-in .75s var(--ease-soft) backwards;background:linear-gradient(145deg,#fffcf4fa,#efe7dbfa);border-radius:.65rem;flex:0 0 min(78vw,360px);padding:.8rem .8rem 1.2rem;position:relative;box-shadow:0 30px 60px #02040e5c,inset 0 1px #ffffffb3}.gallery-card:nth-child(2){animation-delay:80ms}.gallery-card:nth-child(3){animation-delay:.16s}.gallery-card:nth-child(4){animation-delay:.24s}.gallery-card:nth-child(5){animation-delay:.32s}.gallery-card:nth-child(3n+1){--card-rotate:-1.2deg}.gallery-card:nth-child(3n+2){--card-rotate:.8deg}.gallery-card:nth-child(3n){--card-rotate:-.4deg}.gallery-card:hover,.gallery-card.is-active{transform:rotate(0)translateY(-6px);box-shadow:0 38px 76px #02040e75,inset 0 1px #ffffffb3}.gallery-card--film{color:var(--ivory);background:linear-gradient(145deg,#212036,#111326 64%,#0d1022);border:1px solid #e9c98a2e;padding:.55rem .55rem 1rem}.gallery-card--film:before{display:none}.gallery-card--film .gallery-card__photo{border-radius:.1rem}.gallery-card--film .gallery-card__photo .art-image{aspect-ratio:4/5.1}.gallery-card--film .gallery-card__film-edge{color:#e9c98a6b;padding-block-start:.32rem;padding-block-end:.32rem}.gallery-card--film .gallery-card__caption{padding-inline-start:.45rem;padding-inline-end:.45rem}.gallery-card--film .gallery-card__title{color:#f7efe3eb}.gallery-card--film .gallery-card__text{color:#c9c2dead}.gallery-card--film .gallery-card__hand{color:#f2c9da9e}.gallery-card--postcard{background:linear-gradient(150deg,#faf1e2fc,#e7d9cbfc)}.gallery-card--postcard:after{content:"✦";color:#8c655257;font-size:1rem;position:absolute;top:.35rem;right:.5rem}.gallery-card:before{content:"";background:#e9c98a57;border-left:1px dashed #e9c98a2e;border-right:1px dashed #e9c98a2e;width:3.9rem;height:1.2rem;position:absolute;top:-.42rem;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 2px 5px #0f0a1914}.gallery-card__photo{cursor:zoom-in;background:#17152c;border:0;border-radius:.2rem;width:100%;padding:0;display:block;position:relative;overflow:hidden}.gallery-card__photo .art-image{aspect-ratio:4/4.7}.gallery-card__photo .art-image__img{transition:transform 1.1s var(--ease-out), filter .4s ease}.gallery-card__photo:hover .art-image__img{filter:saturate(1.08)brightness(1.02);transform:scale(1.035)}.gallery-card__shine{pointer-events:none;mix-blend-mode:screen;background:linear-gradient(118deg,#0000 30%,#ffffff21 44%,#0000 54%),radial-gradient(circle at 70% 20%,#f2c9da33,#0000 40%);position:absolute;top:0;bottom:0;left:0;right:0}.gallery-card__film-edge{color:#3a2c2f8c;font-family:var(--font-display);letter-spacing:.15em;justify-content:space-between;padding:.35rem .1rem .45rem;font-size:.56rem;display:flex}.gallery-card__caption{padding:.2rem .2rem 0}.gallery-card__title{color:#332a30;font-family:var(--font-display);letter-spacing:.01em;font-size:1.18rem;line-height:1.45}.gallery-card__text{color:#342a30a3;font-family:var(--font-hand);margin-top:.3rem;font-size:.77rem;line-height:1.75}.gallery-card__hand{color:#876657b8;font-family:var(--font-script);justify-content:flex-end;margin-top:.75rem;font-size:1.2rem;line-height:1;display:flex;transform:rotate(-2deg)}.gallery__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;max-width:1180px;margin:1.2rem auto 0;display:flex}.gallery__counter{color:#c9c2de80;font-family:var(--font-display);letter-spacing:.12em;align-items:center;gap:.7rem;font-size:.7rem;display:flex}.gallery__counter strong{color:var(--gold);font-weight:400}.gallery-dots{gap:.15rem;display:flex}.gallery-dot{cursor:pointer;background:0 0;border:0;width:24px;height:34px;padding:0;position:relative}.gallery-dot:after{content:"";width:5px;height:5px;transition:width .4s var(--ease-out), border-radius .4s ease, background .3s ease;background:#f2c9da42;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery-dot.is-active:after{background:var(--gold);border-radius:999px;width:18px;box-shadow:0 0 12px #e9c98a73}.gallery-training{text-align:center;color:#c9c2de59;letter-spacing:.06em;margin-top:1.6rem;font-size:.66rem}@media (min-width:768px){.gallery-card{flex-basis:350px}.gallery-card__photo .art-image{aspect-ratio:4/4.6}}.letter-scene{flex-direction:column;align-items:center;display:flex}.letter-scene__head{width:100%}.envelope-stage{place-items:center;width:100%;min-height:min(55svh,560px);padding:1rem 0 2rem;display:grid}.envelope-button{aspect-ratio:1.52;cursor:pointer;perspective:1200px;filter:drop-shadow(0 30px 55px #01030c8c);width:min(80vw,410px);transition:transform .6s var(--ease-out), filter .6s ease;background:0 0;border:0;border-radius:.25rem;padding:0;display:block;position:relative}.envelope-button:hover{filter:drop-shadow(0 36px 70px #01030ca6);transform:translateY(-6px)}.envelope-button:active{transform:translateY(-2px)scale(.99)}.envelope{background:linear-gradient(145deg,#362749f5,#191838fa 52%,#0f122bfc);border:1px solid #e9c98a59;border-radius:.3rem;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;box-shadow:inset 0 0 0 1px #f7efe30a,inset 0 -30px 60px #04061252}.envelope:before{content:"";background:radial-gradient(circle at 24% 22%,#f2c9da1a,#0000 30%),radial-gradient(circle at 80% 82%,#8b7ed829,#0000 34%),repeating-linear-gradient(135deg,#0000 0 26px,#f7efe305 26px 27px);position:absolute;top:0;bottom:0;left:0;right:0}.envelope__flap{z-index:4;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);width:100%;height:61%;transition:transform .8s var(--ease-out);background:linear-gradient(165deg,#4b3763fc,#241d49fc 68%,#1b183cfc);position:absolute;top:0;left:0;box-shadow:0 10px 22px #03051038}.envelope__flap:after{content:"";background:linear-gradient(#0000 55%,#e9c98a14);position:absolute;top:0;bottom:0;left:0;right:0}.envelope-button.is-opening .envelope__flap{opacity:.7;transform:rotateX(178deg)}.envelope__stamp{z-index:3;aspect-ratio:.9;color:#e9c98acc;width:clamp(58px,17%,78px);font-family:var(--font-display);letter-spacing:.12em;text-align:center;background:radial-gradient(circle at 45% 28%,#f2c9da38,#0000 34%),linear-gradient(145deg,#262353f7,#111431f7);border:1px solid #e9c98a6b;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;font-size:.46rem;display:flex;position:absolute;top:9%;right:7%;box-shadow:0 5px 14px #04061047}.envelope__stamp:before{content:"";border:1px dashed #e9c98a38;position:absolute;top:4px;bottom:4px;left:4px;right:4px}.envelope__stamp svg{opacity:.8;width:18px;height:18px}.envelope__stamp span{line-height:1.4}.envelope__address{z-index:3;color:#f7efe3c2;text-align:left;flex-direction:column;gap:.35rem;display:flex;position:absolute;bottom:22%;left:8%}.envelope__to{color:#e9c98ad1;font-family:var(--font-display);letter-spacing:.24em;font-size:clamp(.62rem,1.4vw,.74rem)}.envelope__line{background:#e9c98a3d;width:clamp(72px,30%,130px);height:1px}.envelope__name{color:#f7efe37a;font-family:var(--font-hand);letter-spacing:.08em;font-size:clamp(.8rem,1.7vw,.96rem)}.envelope__seal{z-index:5;color:#3c2334;background:radial-gradient(circle at 35% 30%,#efb7c4,#c88498 58%,#9d5f77);border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;display:grid;position:absolute;top:calc(61% - 1.25rem);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0406126b,inset 0 1px 3px #ffffff3d}.envelope__seal:after{content:"";border:1px solid #4d253666;border-radius:50%;position:absolute;top:5px;bottom:5px;left:5px;right:5px}.envelope__glow{z-index:1;opacity:0;background:radial-gradient(circle,#e9c98a1f,#0000 68%);transition:opacity .8s;position:absolute;top:12%;bottom:12%;left:12%;right:12%}.envelope-button:hover .envelope__glow{opacity:1}.envelope-hint{color:#c9c2de8a;letter-spacing:.06em;text-align:center;flex-direction:column;align-items:center;gap:.65rem;margin-top:1.8rem;font-size:.74rem;display:flex}.envelope-hint__pulse{background:var(--gold);width:4px;height:4px;box-shadow:0 0 10px var(--gold);border-radius:50%;animation:2.4s ease-in-out infinite node-pulse}.envelope-intro{color:#f2c9dab8;max-width:31rem;font-family:var(--font-hand);text-align:center;margin-top:.8rem;font-size:.94rem}.letter-wrap{width:min(100%,760px);margin:0 auto}.letter-paper{color:#3e3337;background:linear-gradient(105deg,#fffdf6eb,#f7efe3f7 48%,#efe5d6fa),repeating-linear-gradient(0deg,#0000 0 32px,#a4827012 32px 33px);border-radius:.25rem .25rem .45rem .45rem;width:100%;padding:clamp(1.5rem,5vw,3.5rem) clamp(1.25rem,5vw,3.8rem);position:relative;overflow:hidden;box-shadow:0 40px 100px #02040e80,inset 0 2px #ffffffb3,inset 0 0 80px #84614d0f}.letter-paper:before{content:"";pointer-events:none;opacity:.45;background-image:radial-gradient(circle at 12% 18%,#896d5614,#0000 1px),radial-gradient(circle at 74% 64%,#896d560f,#0000 1px);background-size:19px 21px,27px 24px;position:absolute;top:0;bottom:0;left:0;right:0}.letter-paper:after{content:"";pointer-events:none;border:1px solid #9a78562b;position:absolute;top:12px;bottom:12px;left:12px;right:12px}.letter-paper__head{border-bottom:1px solid #7757452e;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:clamp(1.2rem,4vw,2.2rem);padding-bottom:1rem;display:flex}.letter-paper__monogram{color:#8a6b56;font-family:var(--font-script);font-size:clamp(2rem,6vw,3rem);line-height:.85}.letter-paper__meta{color:#503f3980;font-family:var(--font-display);letter-spacing:.13em;font-size:.62rem}.letter-paper__scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#87654f3d transparent;max-height:min(51svh,430px);padding-right:.4rem;overflow-y:auto}.letter-paper__scroll::-webkit-scrollbar{width:4px}.letter-paper__scroll::-webkit-scrollbar-thumb{background:#87654f3d;border-radius:10px}.letter-text{white-space:pre-wrap;color:#46373a;font-family:var(--font-hand);letter-spacing:.045em;text-align:left;-webkit-user-select:text;user-select:text;min-height:12rem;font-size:clamp(1.02rem,2.4vw,1.22rem);line-height:2.2}.letter-text__cursor{vertical-align:-.12em;background:#684739b8;width:1px;height:1.1em;margin-left:2px;animation:1s step-end infinite cursor-blink;display:inline-block}.letter-paper__foot{border-top:1px solid #77574524;justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:1.4rem;padding-top:1rem;display:flex}.letter-paper__signature{color:#725342;font-family:var(--font-hand);text-align:right;font-size:1rem;line-height:1.7}.letter-paper__signature small{color:#503f397a;font-family:var(--font-display);letter-spacing:.1em;font-size:.58rem;display:block}.letter-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.letter-controls__left,.letter-controls__right{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.letter-status{color:#c9c2de73;letter-spacing:.04em;align-items:center;gap:.45rem;font-size:.68rem;display:flex}.letter-status__dot{background:var(--gold);border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #e9c98ab3}.letter-status__dot.is-typing{animation:1.2s ease-in-out infinite node-pulse}.letter-enter-active,.letter-leave-active{transition:opacity .65s var(--ease-soft), transform .7s var(--ease-out)}.letter-enter-from{opacity:0;transform:translateY(26px)scale(.985)}.letter-leave-to{opacity:0;transform:translateY(-12px)scale(.99)}@media (min-width:768px){.letter-scene{min-height:100svh}.letter-paper__scroll{max-height:43svh}}.game-scene{flex-direction:column;align-items:center;display:flex}.game-head{width:100%;margin-bottom:clamp(1.5rem,4vw,2.5rem)}.game-head__bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;display:flex}.progress-pill{color:#c9c2de94;letter-spacing:.04em;background:#0a0d2059;border:1px solid #e9c98a33;border-radius:999px;align-items:center;gap:.7rem;min-height:38px;padding:.3rem .8rem .3rem .4rem;font-size:.68rem;display:flex}.progress-pill__count{color:#181126;background:var(--gold);min-width:28px;height:28px;font-family:var(--font-display);letter-spacing:0;border-radius:999px;place-items:center;padding-inline-start:.3rem;padding-inline-end:.3rem;font-size:.85rem;display:grid}.progress-pill__stars{gap:.22rem;display:flex}.progress-pill__stars i{background:#f2c9da38;border-radius:50%;width:4px;height:4px;transition:background .4s,box-shadow .4s}.progress-pill__stars i.is-lit{background:var(--gold);box-shadow:0 0 7px #e9c98acc}.game-stage{aspect-ratio:4/4.75;touch-action:manipulation;background:radial-gradient(at 50% 112%,#8b7ed838,#0000 48%),radial-gradient(at 18% 12%,#f2c9da14,#0000 32%),radial-gradient(at 82% 58%,#3e4b8c33,#0000 52%),linear-gradient(170deg,#0a0e23ad,#0b0f26db);border:1px solid #e9c98a2e;border-radius:clamp(1.2rem,4vw,2rem);width:min(100%,650px);margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 80px #04071499,0 30px 80px #02040e38}.game-stage:before{content:"";opacity:.4;pointer-events:none;background-image:radial-gradient(circle at 15% 24%,#f7efe380 0 .7px,#0000 1px),radial-gradient(circle at 66% 12%,#f7efe361 0 .8px,#0000 1.1px),radial-gradient(circle at 82% 74%,#f2c9da59 0 .7px,#0000 1px),radial-gradient(circle at 30% 84%,#f7efe357 0 .6px,#0000 1px);background-size:120px 160px,180px 220px,220px 140px,170px 250px;position:absolute;top:0;bottom:0;left:0;right:0}.game-stage:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:inset 0 0 0 1px #f2c9da0d}.game-heart-svg{pointer-events:none;opacity:0;width:90%;height:90%;transition:opacity 1.2s var(--ease-soft);position:absolute;top:5%;bottom:5%;left:5%;right:5%}.game-heart-svg.is-visible{opacity:1}.game-heart-svg path.heart-outline{fill:none;stroke:url(#heartGradient);stroke-width:.55px;stroke-linecap:round;stroke-dasharray:280;stroke-dashoffset:280px;filter:drop-shadow(0 0 4px #e9c98a99);transition:stroke-dashoffset 2.4s var(--ease-out)}.game-heart-svg.is-visible path.heart-outline{stroke-dashoffset:0}.game-heart-svg .heart-fill{fill:url(#heartFill);opacity:0;transition:opacity 1s .6s}.game-heart-svg.is-visible .heart-fill{opacity:.3}.game-star{z-index:3;color:#f7efe3d1;cursor:pointer;touch-action:manipulation;background:0 0;border:0;place-items:center;width:58px;height:58px;margin:0;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.game-star:before{content:"";opacity:0;width:46px;height:46px;transition:opacity .3s ease, transform .5s var(--ease-out);border:1px solid #f2c9da21;border-radius:50%;position:absolute;transform:scale(.6)}.game-star:hover:before{opacity:1;transform:scale(1)}.game-star:focus-visible:before{opacity:1;transform:scale(1)}.game-star__core{width:26px;height:26px;transition:transform .5s var(--ease-spring), box-shadow .5s ease, background .5s ease;background:radial-gradient(circle at 38% 34%,#fffdf4,#e9c98ab8 36%,#8b7ed82e 68%,#0000 70%);border-radius:50%;place-items:center;animation:4s ease-in-out infinite star-breathe;display:grid;position:relative;box-shadow:0 0 12px #f7efe359,0 0 30px #e9c98a1f}.game-star__core:after{content:"";opacity:.7;background:#fffcebf2;border-radius:50%;width:9px;height:9px;box-shadow:0 0 18px #fffae6a6}.game-star__spark{opacity:0;background:#fff9e7e6;border-radius:50%;width:1px;height:1px;transition:opacity .25s;position:absolute;top:50%;bottom:50%;left:50%;right:50%;box-shadow:0 0 #e9c98a52,0 0 #f2c9da33}.game-star.is-collected .game-star__core{background:radial-gradient(circle at 38% 34%,#fffef7,#f6dda4 32%,#f2c9da8c 56%,#0000 72%);animation:none;transform:scale(1.36);box-shadow:0 0 15px #fff8e1c7,0 0 44px #e9c98a80,0 0 80px #f2c9da2e}.game-star.is-collected .game-star__spark{opacity:1;animation:spark-burst .8s var(--ease-out)}.game-star.is-collected:before{opacity:.7;border-color:#e9c98a6b;transform:scale(1.15)}.game-star__label{color:#f2c9da94;letter-spacing:.08em;white-space:nowrap;opacity:0;pointer-events:none;background:#080c1f99;border-radius:999px;padding:.15rem .45rem;font-size:.55rem;transition:opacity .3s,transform .3s;position:absolute;top:calc(100% + .15rem);left:50%;transform:translate(-50%,-2px)}.game-star.is-collected .game-star__label,.game-star:hover .game-star__label{opacity:1;transform:translate(-50%)}.game-star--secret{width:48px;height:48px;color:var(--pink)}.game-star--secret .game-star__core{background:radial-gradient(circle at 38% 34%,#fffdf6,#f8d7e4 36%,#f2c9da99 64%,#0000 72%);width:18px;height:18px;animation:3.2s ease-in-out infinite secret-pulse;box-shadow:0 0 10px #fff8eee6,0 0 26px #f2c9da85,0 0 48px #e9c98a2e}.game-star--secret .game-star__core:after{background:#fffdf7;width:5px;height:5px}.game-star--secret:after{content:"✦";color:#f2c9da94;font-size:.55rem;animation:2.4s ease-in-out infinite twinkle-star;position:absolute;top:1px;right:2px}.secret-ripple{pointer-events:none;width:24px;height:24px;animation:secret-ripple .9s var(--ease-out) forwards;border:1px solid #f2c9da80;border-radius:50%;position:absolute;top:13%;left:89%;transform:translate(-50%,-50%)}.game-message{z-index:4;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;pointer-events:none;background:#080b1d8f;border:1px solid #e9c98a2e;border-radius:.85rem;place-items:center;width:min(100%,650px);min-height:3.4rem;margin:.9rem auto 0;padding:.75rem 1rem;transition:border-color .5s,background .5s;display:grid;position:relative}.game-message.is-complete{background:#1c142cb3;border-color:#f2c9da59;box-shadow:0 0 40px #e9c98a1a}.game-message p{color:#f7efe3d1;font-family:var(--font-hand);letter-spacing:.04em;font-size:clamp(.84rem,2vw,.96rem);line-height:1.7}.game-message__title{letter-spacing:.04em;text-shadow:0 0 20px #e9c98a4d;margin-bottom:.25rem;color:var(--gold)!important;font-family:var(--font-display)!important;font-size:clamp(1rem,2.6vw,1.2rem)!important}.game-message__hint{color:#c9c2de75;font-family:var(--font-body);letter-spacing:.02em;margin-top:.18rem;font-size:.62rem;display:block}.game-complete{z-index:6;text-align:center;pointer-events:none;opacity:0;background:radial-gradient(circle,#23183852,#0000 68%);flex-direction:column;justify-content:center;align-items:center;padding:1.6rem;transition:opacity .8s 1.2s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.game-complete.is-visible{opacity:1}.game-complete__title{color:var(--ivory);font-family:var(--font-display);text-shadow:0 0 28px #e9c98a33;font-size:clamp(1.5rem,4.4vw,2.15rem);line-height:1.4}.game-complete__line{color:#f2c9dacc;max-width:22rem;font-family:var(--font-hand);margin-top:.8rem;font-size:clamp(.9rem,2.2vw,1.05rem);line-height:1.9}.game-complete__hint{color:#e9c98a8f;letter-spacing:.06em;margin-top:1.1rem;font-size:.64rem}.game-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:min(100%,650px);margin-top:1.4rem;display:flex}.game-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.game-secret-hint{color:#f2c9da66;font-family:var(--font-hand);letter-spacing:.04em;align-items:center;gap:.45rem;margin-top:1.2rem;font-size:.75rem;display:flex}.game-secret-hint svg{color:#f2c9da99}@media (min-width:768px){.game-stage{aspect-ratio:1.25;max-height:620px}.game-foot{width:min(100%,760px)}}.finale{min-height:100svh;padding:calc(6.7rem + var(--safe-top)) calc(var(--page-x) + var(--safe-right)) calc(5.7rem + var(--safe-bottom)) calc(var(--page-x) + var(--safe-left));text-align:center;flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden}.finale__canvas{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.finale__inner{z-index:2;flex-direction:column;align-items:center;width:min(100%,900px);margin-top:auto;display:flex;position:relative}.finale__chapter{color:#e9c98ab8;font-family:var(--font-display);letter-spacing:.2em;font-size:.7rem}.finale__art{width:min(84vw,640px);margin-top:clamp(.8rem,3vh,1.8rem);margin-bottom:clamp(.2rem,1.5vh,1rem);position:relative}.finale__art:before{content:"";filter:blur(24px);pointer-events:none;background:radial-gradient(#8b7ed852,#0000 68%);width:82%;height:46%;position:absolute;bottom:-8%;left:50%;transform:translate(-50%)}.finale__art img{filter:drop-shadow(0 20px 35px #02040e61);width:100%;position:relative}.finale__heart-glow{aspect-ratio:1;opacity:.45;filter:blur(22px);pointer-events:none;background:radial-gradient(circle,#f2c9da33,#0000 65%);width:42%;animation:6s ease-in-out infinite finale-heart-breathe;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.finale__title{color:var(--ivory);font-family:var(--font-display);letter-spacing:.14em;text-indent:.14em;text-shadow:0 0 50px #f2c9da38;font-size:clamp(3rem,8vw,5.2rem);line-height:1.1;position:relative}.finale__line{color:#f2c9dae0;font-family:var(--font-display);letter-spacing:.05em;margin-top:.7rem;font-size:clamp(1.08rem,2.9vw,1.5rem);line-height:1.9}.finale__line--first{color:#c9c2de99;letter-spacing:.14em;font-size:clamp(.86rem,2vw,1rem)}.finale__whisper{color:#c9c2de94;font-family:var(--font-hand);letter-spacing:.06em;margin-top:.65rem;font-size:.84rem}.finale__actions{flex-direction:column;gap:.7rem;width:min(100%,22rem);margin-top:clamp(1.6rem,4vh,2.5rem);display:flex}.finale__actions .btn{width:100%;min-height:52px}.finale__hug-message{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#34233f99,#11122db3);border:1px solid #f2c9da3d;border-radius:1.2rem;width:min(100%,25rem);margin-top:1.1rem;padding:1.1rem 1.4rem;box-shadow:0 20px 50px #03050f3d}.finale__hug-message p:first-child{color:var(--pink);font-family:var(--font-hand);font-size:1.05rem;line-height:1.9}.finale__hug-message p:last-child{color:#c9c2de80;margin-top:.3rem;font-size:.72rem}.finale__signature{color:#c9c2de5c;font-family:var(--font-hand);letter-spacing:.05em;margin-top:auto;padding-top:clamp(2rem,5vh,3.5rem);font-size:.76rem;line-height:1.8}.finale__signature span{color:#e9c98a6b;font-family:var(--font-display);letter-spacing:.18em;margin-top:.25rem;font-size:.6rem;display:block}@media (min-width:680px){.finale{justify-content:center}.finale__art{width:min(60vw,580px);margin-top:.8rem}.finale__actions{flex-direction:row;justify-content:center;width:auto}.finale__actions .btn{width:auto;min-width:10.8rem;padding-inline-start:1.55rem;padding-inline-end:1.55rem}}@media (min-width:1100px){.finale__inner{margin-top:0}.finale__title{margin-top:.2rem}}.scene-nav{bottom:calc(.8rem + var(--safe-bottom));z-index:55;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070a1b8f;border:1px solid #e9c98a24;border-radius:999px;align-items:center;gap:.15rem;padding:.32rem .55rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #01030a40}.scene-nav:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#0000,#f2c9da09,#0000);position:absolute;top:0;bottom:0;left:0;right:0}.scene-nav__button{cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:38px;height:40px;padding:0;display:grid;position:relative}.scene-nav__dot{width:5px;height:5px;transition:width .35s var(--ease-out), border-radius .35s ease, background .35s ease, box-shadow .35s ease;background:#f2c9da4d;border-radius:50%;position:relative}.scene-nav__button:hover .scene-nav__dot{background:#e9c98ab3}.scene-nav__button[aria-current=step] .scene-nav__dot{background:var(--gold);border-radius:999px;width:19px;box-shadow:0 0 13px #e9c98a80}.scene-nav__button:disabled{cursor:not-allowed}.scene-nav__button:disabled .scene-nav__dot{background:0 0;box-shadow:inset 0 0 0 1px #f2c9da2e}.scene-nav__button:before{content:attr(data-label);color:#f7efe3c2;letter-spacing:.04em;white-space:nowrap;opacity:0;pointer-events:none;background:#070a1beb;border:1px solid #e9c98a29;border-radius:.35rem;padding:.25rem .55rem;font-size:.6rem;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.scene-nav__button:hover:before{opacity:1;transform:translate(-50%)}.scene-nav__button:focus-visible:before{opacity:1;transform:translate(-50%)}@media (min-width:900px){.scene-nav{top:50%;right:calc(1.15rem + var(--safe-right));flex-direction:column;gap:.1rem;padding:.38rem .32rem;bottom:auto;left:auto;transform:translateY(-50%)}.scene-nav__button{width:30px;height:32px}.scene-nav__button[aria-current=step] .scene-nav__dot{width:5px;height:16px}.scene-nav__button:before{top:50%;bottom:auto;left:auto;right:calc(100% + 9px);transform:translate(4px,-50%)}.scene-nav__button:hover:before{transform:translateY(-50%)}.scene-nav__button:focus-visible:before{transform:translateY(-50%)}}.lightbox{z-index:100;padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#040613d1;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox__dialog{width:min(100%,880px);max-height:calc(100svh - 2rem - var(--safe-top) - var(--safe-bottom));background:linear-gradient(155deg,#191630fa,#080c20fc);border:1px solid #e9c98a3d;border-radius:1.1rem;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 40px 120px #0000008c}.lightbox__head{border-bottom:1px solid #e9c98a1a;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .7rem 1.25rem;display:flex}.lightbox__eyebrow{color:#e9c98a9e;font-family:var(--font-display);letter-spacing:.16em;font-size:.6rem}.lightbox__title{color:#f7efe3eb;font-family:var(--font-display);margin-top:.1rem;font-size:clamp(1.05rem,2.5vw,1.35rem);line-height:1.4}.lightbox__image-wrap{background:radial-gradient(#8b7ed81a,#0000 60%),#03061147;flex:1;place-items:center;min-height:0;padding:.8rem 1rem;display:grid;position:relative}.lightbox__image-wrap .art-image{aspect-ratio:4/4.5;border-radius:.55rem;width:min(100%,640px);max-height:min(60svh,570px);overflow:hidden}.lightbox__image-wrap .art-image__img{object-fit:contain;background:#090d20}.lightbox__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.7rem 1rem 1rem 1.25rem;display:flex}.lightbox__caption{color:#c9c2dea8;max-width:32rem;font-family:var(--font-hand);font-size:.85rem;line-height:1.8}.lightbox__nav{align-items:center;gap:.45rem;display:flex}.lightbox__count{color:#c9c2de6b;min-width:3.2rem;font-family:var(--font-display);letter-spacing:.1em;text-align:center;font-size:.7rem}.fade-enter-active,.fade-leave-active{transition:opacity .35s}.fade-enter-from,.fade-leave-to{opacity:0}.lightbox-enter-active,.lightbox-leave-active{transition:opacity .35s}.lightbox-enter-active .lightbox__dialog,.lightbox-leave-active .lightbox__dialog{transition:transform .45s var(--ease-out), opacity .3s ease}.lightbox-enter-from,.lightbox-leave-to{opacity:0}.lightbox-enter-from .lightbox__dialog{opacity:0;transform:translateY(18px)scale(.975)}.secret-modal{z-index:110;padding:calc(1rem + var(--safe-top)) calc(1rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#040613c7;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.secret-card{width:min(100%,580px);max-height:calc(100svh - 2rem - var(--safe-top) - var(--safe-bottom));text-align:center;background:linear-gradient(160deg,#261b37fa,#080c20fc);border:1px solid #e9c98a47;border-radius:1.25rem;padding:.75rem .75rem 1.8rem;position:relative;overflow-y:auto;box-shadow:0 40px 130px #00000094}.secret-card__close{z-index:2;position:absolute;top:.9rem;right:.9rem}.secret-card__image{aspect-ratio:1.36;background:#11132c;border-radius:.7rem;width:100%;overflow:hidden}.secret-card__kicker{color:#e9c98ab3;font-family:var(--font-display);letter-spacing:.2em;margin-top:1.25rem;font-size:.63rem}.secret-card__message{color:#f7efe3e6;max-width:26rem;font-family:var(--font-hand);letter-spacing:.03em;margin:.7rem auto 0;font-size:clamp(1.05rem,2.7vw,1.28rem);line-height:2}.secret-card__note{color:#f2c9da70;margin-top:.6rem;font-size:.66rem}.secret-card__close-btn{margin-top:1.3rem}.toast{left:50%;bottom:calc(4.8rem + var(--safe-bottom));z-index:130;color:#f7efe3d1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0e0e23f2;border:1px solid #e9c98a40;border-radius:.8rem;align-items:flex-start;gap:.65rem;width:max-content;max-width:calc(100vw - 2rem);padding:.8rem 1rem;font-size:.76rem;line-height:1.7;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 16px 44px #00000052}.toast svg{color:var(--gold);flex:none;margin-top:.15rem}.toast-enter-active,.toast-leave-active{transition:opacity .3s ease, transform .35s var(--ease-out)}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,8px)}@keyframes nebula-breathe{0%{transform:translate(-1.5%,-1%)scale(1)}to{transform:translate(2%,2.5%)scale(1.07)}}@keyframes nebula-drift{0%{transform:translate(-2%,1%)scale(.98)rotate(-2deg)}to{transform:translate(2%,-2%)scale(1.06)rotate(3deg)}}@keyframes disc-spin{to{transform:rotate(360deg)}}@keyframes disc-counter-spin{to{transform:rotate(-360deg)}}@keyframes eq{0%{opacity:.55;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}@keyframes node-pulse{0%,to{opacity:.62;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}@keyframes star-breathe{0%,to{opacity:.72;transform:scale(.95)}50%{opacity:1;transform:scale(1.04)}}@keyframes secret-pulse{0%,to{opacity:.62;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@keyframes spark-burst{0%{opacity:0;box-shadow:0 0 #fff8e2a6,0 0 #f2c9da59}28%{opacity:1;box-shadow:0 0 0 10px #fff8e229,0 0 0 22px #f2c9da17}to{opacity:0;box-shadow:0 0 0 30px #fff8e200,0 0 0 52px #f2c9da00}}@keyframes secret-ripple{0%{opacity:.8;transform:translate(-50%,-50%)scale(.4)}to{opacity:0;transform:translate(-50%,-50%)scale(2.8)}}@keyframes twinkle-star{0%,to{opacity:.25;transform:scale(.8)rotate(0)}50%{opacity:.9;transform:scale(1.06)rotate(20deg)}}@keyframes orbit-travel{to{transform:rotate(360deg)}}@keyframes meteor-pass{0%,80%{opacity:0;transform:translate(0)rotate(28deg)}84%{opacity:.9}to{opacity:0;transform:translate(280px,-150px)rotate(28deg)}}@keyframes gallery-card-in{0%{opacity:0;filter:blur(7px)saturate(.8)}to{opacity:1;filter:blur()saturate()}}@keyframes skeleton-sweep{0%{background-position:150% 0,0 0,0 0}to{background-position:-100% 0,0 0,0 0}}@keyframes cursor-blink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes finale-heart-breathe{0%,to{opacity:.34;transform:translate(-50%,-50%)scale(.92)}50%{opacity:.58;transform:translate(-50%,-50%)scale(1.06)}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width:479px){:root{--page-x:1.15rem}.scene-shell{padding-top:calc(6.7rem + var(--safe-top));padding-bottom:calc(5.7rem + var(--safe-bottom))}.display-title{font-size:clamp(2rem,8.8vw,2.8rem);line-height:1.3}.lead{font-size:.9rem;line-height:1.9}.section-head{gap:1rem;margin-bottom:2.4rem}.chapter-mark{font-size:.68rem}.site-header{padding-top:calc(.85rem + var(--safe-top))}.memory{padding-left:2.9rem}.timeline:before{left:17px}.timeline:after{left:14px}.memory__node{left:5px}.scene-nav{gap:0;padding-inline-start:.3rem;padding-inline-end:.3rem}.scene-nav__button{width:34px}.finale__art{width:min(94vw,460px)}.game-stage{aspect-ratio:4/5}.game-star{width:52px;height:52px}.game-star__label{font-size:.5rem}.game-message{width:86%}.letter-paper{padding:1.35rem 1.1rem}.letter-paper__monogram{font-size:2.4rem}.letter-paper__scroll{max-height:48svh}.letter-controls{gap:.5rem}.letter-controls__left,.letter-controls__right{gap:.3rem}.envelope-stage{min-height:min(48svh,440px)}.gallery-track{padding-inline-start:1.15rem;padding-inline-end:1.15rem;scroll-padding-inline:1.15rem}.gallery-card{flex-basis:79vw}}@media (min-width:1440px){:root{--page-x:6rem}.opening__grid{width:min(100%,1340px)}.scene-shell--narrow{max-width:1240px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,: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}.opening__meteor,.opening__orbit:after{display:none}.game-heart-svg path.heart-outline{stroke-dashoffset:0}.game-complete{transition-delay:0s}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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}
