@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=DM+Sans:wght@400;500;600&display=swap";:root{font-family:DM Sans,Microsoft JhengHei,sans-serif;color:#f5eee5;background:#080d19;font-synthesis:none}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;width:100%}button,select{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,select:focus-visible{outline:2px solid #f1cf91;outline-offset:4px}button:disabled{opacity:.3;cursor:default}.app{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#090d19}.atmosphere{position:absolute;inset:0;z-index:-3;overflow:hidden;background:radial-gradient(ellipse at 50% 36%,#3a304f,#17172b 32%,#0a0e1a 76%);transition:background 1s}.scene-gallery .atmosphere{background:radial-gradient(ellipse at 55% 30%,#392e4b,#151424 49%,#090d19 85%)}.scene-secrets .atmosphere{background:radial-gradient(ellipse at 50% 50%,#383058,#171326 51%,#090c17 87%)}.scene-gift .atmosphere{background:radial-gradient(ellipse at 50% 46%,#45334e,#171528 40%,#090c18 80%)}.moon{position:absolute;width:clamp(210px,27vw,390px);aspect-ratio:1;border-radius:50%;left:50%;top:9%;transform:translate(-50%);background:radial-gradient(circle at 40% 35%,#eee1c6,#9b92a1 69%,#726d84);opacity:.21;box-shadow:0 0 90px 22px #b0a2c31c}.scene-gallery .moon,.scene-secrets .moon,.scene-gift .moon{opacity:.08;top:4%}.horizon{position:absolute;bottom:-2%;left:-5%;width:110%;height:35%;background:radial-gradient(ellipse at 50% 100%,#362a3b 0%,#11131f 45%,transparent 72%)}.horizon:before,.horizon:after{content:"";position:absolute;bottom:0;width:24%;height:100%;background:#080c15;clip-path:polygon(0 100%,0 15%,11% 35%,15% 7%,25% 41%,30% 20%,40% 50%,50% 32%,55% 62%,65% 45%,75% 79%,100% 100%);opacity:.9}.horizon:after{right:0;transform:scaleX(-1)}.mist{position:absolute;width:90%;height:20%;left:5%;bottom:8%;filter:blur(32px);border-radius:50%;background:#b3a0bb12}.mist-two{bottom:20%;left:-30%;background:#e1b8840a}.stars-css{position:absolute;inset:0;background-image:radial-gradient(#f9dfb7 1px,transparent 1px),radial-gradient(#d4c9ee 1px,transparent 1px);background-size:119px 123px,193px 191px;background-position:32px 51px,65px 24px;opacity:.33;-webkit-mask-image:linear-gradient(#000,transparent 83%);mask-image:linear-gradient(#000,transparent 83%)}.world{position:absolute;inset:9% 0 7%;z-index:-2;opacity:.58;pointer-events:none}.scene-intro .world{opacity:.42}.scene-gallery .world,.scene-secrets .world{opacity:.13}.scene-gift .world{inset:25% 0 17%;opacity:1}.topbar{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:27px clamp(22px,5.2vw,82px);border-bottom:1px solid #e9bd771a}.brand{display:flex;align-items:center;gap:12px;border:0;background:none;padding:0;text-align:left;font-family:Cormorant Garamond,serif;font-size:17px;letter-spacing:.22em;color:#f1dfc5}.brand-symbol{font-size:24px;color:#e9bd77}.brand small{display:block;font:8px DM Sans,sans-serif;letter-spacing:.2em;color:#a59aaa;margin-top:3px}.top-controls{display:flex;align-items:center;gap:19px;color:#beb0ba;font-size:10px;letter-spacing:.12em}.top-controls button,.top-controls select{border:0;background:transparent;color:inherit}.quality select{margin-left:4px;cursor:pointer}.quality option{background:#171422}.chapter{min-height:calc(100svh - 84px);display:flex;flex-direction:column}.intro-content{text-align:center;margin:auto;padding:55px 20px 80px;max-width:950px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.25em;color:#d8b985;font-weight:600}.eyebrow span,.section-kicker span{color:#e9bd77;margin:0 10px}.intro-content h1{font-family:Cormorant Garamond,Georgia,serif;font-weight:400;font-size:clamp(60px,12.7vw,155px);letter-spacing:.055em;line-height:.82;margin:34px 0 20px;color:#f6ede1;text-shadow:0 5px 35px #0008}.intro-content h1 span{color:#e6c797}.intro-subtitle{font-size:clamp(10px,1.4vw,13px);letter-spacing:.58em;color:#ddd0c9;margin:0 0 29px}.divider{display:flex;align-items:center;justify-content:center;gap:14px;color:#e9bd77;font-size:18px}.divider i{display:block;width:55px;height:1px;background:linear-gradient(90deg,transparent,#c9a777)}.divider i:last-child{transform:scaleX(-1)}.intro-message{font:italic clamp(21px,2.5vw,29px) "Cormorant Garamond",serif;color:#eee0d0;margin:24px 0 6px}.intro-zh{color:#b6abb1;font-size:13px;letter-spacing:.15em;margin:0 0 28px}.button{min-height:50px;padding:0 23px;border:1px solid #b99b75;background:transparent;color:#f4e7d3;letter-spacing:.1em;font-size:12px;transition:background .25s,transform .25s,border-color .25s}.button:hover{background:#e7bd7820;transform:translateY(-2px);border-color:#e9bd77}.button.primary{background:#d5b17d;color:#1c1720;border-color:#d5b17d;font-weight:600;box-shadow:0 5px 35px #e9bd7720}.button.primary:hover{background:#f0cf9b}.button span{font-size:9px;letter-spacing:.17em;margin-left:18px;opacity:.8}.intro-foot{margin:30px 0 0;font-size:9px;letter-spacing:.19em;color:#a999a2}.intro-foot span{color:#d6ae76;margin:0 8px}.side-label{position:absolute;left:28px;bottom:10%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.2em;color:#8b818a}.side-label span{margin:12px 0;color:#e9bd77}.content{width:min(1100px,calc(100% - 64px));margin:auto;padding:66px 0 110px}.content h1{font-family:Cormorant Garamond,Microsoft JhengHei,serif;font-size:clamp(38px,6vw,72px);font-weight:400;letter-spacing:.04em;margin:20px 0 16px;line-height:1.25}.content h1 span{color:#e6c491}.lead{font-size:14px;line-height:2;color:#c4b9bf;letter-spacing:.04em;margin:0 0 30px}.gate-content,.secrets-content,.gift-content{text-align:center;max-width:850px}.gate-interactions{display:flex;justify-content:center;gap:14px;margin:35px auto 30px}.gate-interactions button{width:105px;height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#191726c9;border:1px solid #dbc29c45;transition:.3s}.gate-interactions button:hover,.secret-item:hover{border-color:#e9bd77;background:#4b385255;transform:translateY(-4px)}.gate-interactions button span{font:32px Georgia,serif;color:#e4c18a}.gate-interactions button small{font-size:11px;color:#d6c6b4}.section-head{display:flex;justify-content:space-between;align-items:end}.aside-note{font-size:10px;letter-spacing:.18em;line-height:1.6;color:#d7b98d;border-left:1px solid #bc9b6d;padding-left:18px;margin-bottom:30px}.aside-note em{font:italic 17px Cormorant Garamond,serif;letter-spacing:0;color:#e7ded0}.portrait-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:8px 0 36px}.portrait-card{padding:0;text-align:left;border:0;background:none;min-width:0}.portrait-image{position:relative;aspect-ratio:3/4;overflow:hidden;border:1px solid #c1a47a80;background:linear-gradient(145deg,#43374e,#171725 75%);box-shadow:0 14px 40px #0006;transition:transform .3s,border-color .3s}.portrait-card:hover .portrait-image{transform:translateY(-5px);border-color:#e9bd77}.portrait-image img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}.portrait-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 32%,#837083,#3d354b 35%,#1b1b2a 80%)}.placeholder-moon{font:55px Georgia,serif;color:#dbc09a70;position:absolute;top:14%}.silhouette{position:absolute;bottom:-10%;height:51%;width:57%;background:#191723bd;border-radius:48% 48% 0 0}.silhouette:before{content:"";position:absolute;top:-35%;left:25%;width:50%;aspect-ratio:1;border-radius:50%;background:#191723bd}.frame-shine{pointer-events:none;position:absolute;inset:8px;border:1px solid #e6c8987a;z-index:2}.portrait-index{display:block;margin-top:14px;color:#c7a97b;font-size:9px;letter-spacing:.16em}.portrait-index span{float:right}.portrait-name{display:block;font:23px Cormorant Garamond,serif;margin-top:4px}.secret-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:32px 0 18px}.secret-item{position:relative;min-height:155px;border:1px solid #e1c5993c;background:#1c1929a6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:.25s;font-size:13px}.secret-item small{font-size:8px;letter-spacing:.13em;color:#b4a4aa}.secret-item b{position:absolute;top:8px;right:10px;font-size:12px;color:#e9bd77}.secret-icon{color:#e7c28e;font:40px Georgia,serif}.found{border-color:#cda76e99}.discoveries{font-size:12px;color:#b8aab1;min-height:20px;margin:18px 0 25px}.discoveries span{color:#e9bd77}.gift-content{padding-top:60px}.gift-space{height:210px;position:relative;margin:0 auto 10px}.gift-hit{position:absolute;inset:0;width:100%;border:0;background:transparent;color:transparent}.gift-fallback{display:none;font-size:90px}.app:not(:has(.world)) .gift-fallback{display:block}.snow{position:absolute;left:0;right:0;top:25%;color:#f5e8ca;letter-spacing:2em;pointer-events:none;animation:fall 3s ease-in-out infinite alternate}@keyframes fall{0%{transform:translateY(-10px);opacity:.5}to{transform:translateY(20px);opacity:1}}.ending{max-width:600px;margin:auto}.ending p{font:italic 20px/1.45 Cormorant Garamond,serif;color:#e0cdbb}.ending .ending-zh{font:14px/1.8 DM Sans,Microsoft JhengHei,sans-serif;color:#c6b6bc}.ending-actions{display:flex;justify-content:center;gap:12px;margin-top:20px}.bottom-nav{position:absolute;bottom:0;left:0;right:0;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:20px clamp(22px,5.2vw,82px);border-top:1px solid #e9bd7720;background:#0c0e19a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bottom-nav>button{background:transparent;border:0;color:#d7c0a0;font-size:11px;letter-spacing:.12em}.progress{display:flex;align-items:center;gap:12px;color:#aa9a9f;font-size:10px}.progress>div{display:flex;gap:5px}.progress>div button{width:26px;height:2px;padding:0;border:0;background:#726676}.progress>div button.active{background:#dfb77f}.progress small{margin-left:8px}.modal-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:#060712bb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{position:relative;text-align:center;width:min(440px,100%);padding:50px 38px 40px;border:1px solid #b59a7880;background:radial-gradient(circle at top,#3b3047,#171724 68%);box-shadow:0 25px 100px #000b}.close{position:absolute;right:15px;top:10px;background:none;border:0;font:29px Georgia;color:#d7c2ac}.modal-star{font-size:25px;color:#e9bd77}.modal h2{font:35px Cormorant Garamond,Microsoft JhengHei,serif;color:#f4e7d7;margin:22px 0 15px}.modal>p:not(.section-kicker){font-size:14px;color:#ded1ca;line-height:2;margin-bottom:25px}.effect-window .atmosphere{background:radial-gradient(ellipse at 50% 30%,#484977,#1a1937,#090d19)}.effect-candle .stars-css,.effect-box .stars-css{opacity:.8}.reduced *,.reduced *:before,.reduced *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}@media(max-width:700px){.topbar{padding:18px 20px}.brand{font-size:13px;letter-spacing:.14em}.brand-symbol{font-size:20px}.brand small{font-size:7px}.top-controls{gap:9px;font-size:9px}.quality{font-size:0}.quality select{font-size:9px}.intro-content{padding:40px 14px 90px}.intro-content h1{font-size:clamp(48px,13.5vw,86px);letter-spacing:0;margin-top:32px}.intro-subtitle{letter-spacing:.35em}.eyebrow,.section-kicker{font-size:9px;letter-spacing:.15em}.eyebrow span{margin:0 3px}.intro-message{font-size:21px}.side-label{display:none}.content{width:calc(100% - 36px);padding:47px 0 100px}.content h1{font-size:38px}.lead{font-size:13px}.gate-interactions{gap:8px}.gate-interactions button{width:23%;max-width:92px;height:85px}.gate-interactions button span{font-size:26px}.portrait-grid{grid-template-columns:repeat(2,1fr);gap:16px 12px}.portrait-name{font-size:20px}.section-head .aside-note{display:none}.secret-grid{grid-template-columns:repeat(3,1fr);gap:8px}.secret-item{min-height:112px}.secret-icon{font-size:29px}.secret-item small{font-size:7px}.gift-space{height:170px}.gift-content{padding-top:40px}.bottom-nav{padding:17px 20px}.progress{gap:6px}.progress>div button{width:19px}.progress small{display:none}.modal{padding:40px 25px 30px}.world{inset:12% -20% 7%}.scene-gift .world{inset:31% -20% 22%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.surprise-effect{position:fixed;inset:0;z-index:11;pointer-events:none;overflow:hidden}.surprise-effect span{position:absolute;left:50%;top:55%;color:#f4d39a;font-size:40px;white-space:nowrap;text-shadow:0 0 24px #ffdba7;animation:surprise-flight 3.5s ease-out forwards}.surprise-ghost span{animation:ghost-flight 2.5s ease-out forwards}.surprise-window span{left:25%;top:12%;font-size:56px;letter-spacing:1em}.surprise-box span{font-size:55px;letter-spacing:.4em}@keyframes surprise-flight{0%{opacity:0;transform:translate(-50%,60px) scale(.3)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-190px) scale(1.3)}}@keyframes ghost-flight{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(150px,-200px)}}.modal-portrait{height:min(28vh,220px);max-width:100%;object-fit:cover;object-position:50% 25%;border:1px solid #c6aa80;margin:0 auto 5px}.gift-portraits{display:flex;justify-content:center;gap:9px}.gift-portraits div{position:relative;width:56px;height:68px;border:1px solid #c5a77f;background:#49394c;overflow:hidden;transform:rotate(-5deg)}.gift-portraits div:nth-child(2){transform:translateY(-7px)}.gift-portraits div:nth-child(3){transform:rotate(5deg)}.gift-portraits img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}.gift-portraits span{position:absolute;inset:20px 0;color:#dfbd86}.ending p{margin:12px 0}.modal{max-height:90vh;overflow:auto}.top-controls button,.top-controls select{min-height:44px}.bottom-nav>button{min-height:44px}.progress>div button{height:24px;position:relative;background:transparent}.progress>div button:after{content:"";position:absolute;left:0;right:0;top:11px;height:2px;background:#726676}.progress>div button.active:after{background:#dfb77f}.atmosphere:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0d1980,#0b0c1a24 45%,#090c19bb),url(/assets/backgrounds/midnight-courtyard.webp) center center / cover no-repeat;opacity:.58;transition:opacity .8s}.scene-gallery .atmosphere:before,.scene-secrets .atmosphere:before{opacity:.2}.scene-gift .atmosphere:before{opacity:.25}.progress>div button.active{background:transparent}.portrait-video{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover}.frame-shine{z-index:3}.ambient-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48;filter:brightness(.72);pointer-events:none}
