:root{font-family:Microsoft YaHei,PingFang SC,sans-serif;color:#e4e7e7;background:#081723;font-synthesis:none;-webkit-font-smoothing:antialiased;font-weight:300;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #e3c792;outline-offset:7px}.winter-page{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:flex;flex-direction:column}.landscape,.scene-shade,.snow,.night-atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.landscape{z-index:-4;opacity:.8}.scene-shade{z-index:-3;background:linear-gradient(180deg,#06121d55,transparent 55%,#061522a6),radial-gradient(ellipse at 50% 25%,#07192777,transparent 70%)}.night-atmosphere{z-index:-2;overflow:hidden}.snow{z-index:-1}.distant-glow{position:absolute;width:360px;height:220px;right:8%;top:56%;background:radial-gradient(ellipse,#e4bd7129,transparent 67%)}.winter-mist{position:absolute;top:50%;right:-10%;bottom:16%;left:-10%;background:radial-gradient(ellipse at 22% 50%,#c1d1db13,transparent 50%),radial-gradient(ellipse at 85% 60%,#c1d1db17,transparent 50%);animation:mist-drift 36s ease-in-out infinite alternate}.star{position:absolute;width:2px;height:2px;background:#e4d7b5;border-radius:50%;box-shadow:0 0 8px #e4d7b588;animation:twinkle 8s ease-in-out infinite}.star-one{left:22%;top:18%}.star-two{left:76%;top:13%;animation-delay:-3s}.star-three{left:60%;top:8%;animation-delay:-6s}.meteor{position:absolute;left:73%;top:12%;width:120px;height:1px;background:linear-gradient(90deg,transparent,#d8e4e7aa);opacity:0;transform:rotate(145deg);animation:meteor 27s linear infinite;animation-delay:7s}.atmosphere-paused .night-atmosphere *{animation-play-state:paused}.site-header{display:flex;justify-content:space-between;align-items:center;padding:30px 4.5vw}.brand{display:flex;align-items:center;gap:13px;font-family:Songti SC,SimSun,serif;letter-spacing:4px;font-size:17px}.brand-icon{font-size:34px;color:#ccb98f}.brand small{display:block;font:8px/2.4 Georgia,serif;letter-spacing:2.1px;color:#95a5af}.season-mark{display:flex;align-items:center;gap:19px}.season-mark span{font-size:10px;letter-spacing:2.5px;color:#9eafb9}.season-mark b{font: 18px SimSun,serif;letter-spacing:5px;border-left:1px solid #82939c55;padding-left:22px;color:#d2c5a7}.hero{text-align:center;position:relative;width:100%;padding:24px 20px 32px;animation:arrive 1.6s both}.eyebrow{display:flex;justify-content:center;align-items:center;gap:19px;color:#c4b595;font:10px Georgia,serif;letter-spacing:5px}.eyebrow span{width:35px;height:1px;background:linear-gradient(90deg,transparent,#b9ab86)}.eyebrow span:last-child{transform:rotate(180deg)}.title-group{position:relative;display:table;margin:auto}h1{font:normal clamp(64px,6vw,88px)/1.35 "STSong","Songti SC","Noto Serif CJK SC","SimSun",serif;letter-spacing:.2em;margin:20px 0 18px;padding-left:.2em;color:#f0eee7;text-shadow:0 3px 35px #b5c6d21a}.title-seal{position:absolute;left:calc(100% + 13px);top:31px;writing-mode:vertical-rl;padding:7px 4px;border:1px solid #bba78366;font:11px SimSun,serif;color:#c6b284;letter-spacing:4px}h2{font: 18px/1.8 Songti SC,SimSun,serif;letter-spacing:4px;margin:0 0 12px}.subtitle{font-size:11px;line-height:2;letter-spacing:2px;color:#aabac5;margin:0}.envelope-area{position:relative;max-width:620px;margin:54px auto 0;perspective:1400px}.envelope-halo{position:absolute;top:-70px;left:50%;width:550px;max-width:100vw;height:330px;transform:translate(-50%);background:radial-gradient(ellipse,#e7c58c14,transparent 65%);pointer-events:none}.envelope{position:relative;display:block;width:318px;height:195px;margin:auto;border:0;padding:0;background:transparent;transform:rotate(-5deg);filter:drop-shadow(0 20px 24px #0006);transition:transform .7s;isolation:isolate;perspective:1000px}@media(hover:hover){.envelope:hover{transform:rotate(-2deg) translateY(-6px)}.envelope:hover .wax-seal{box-shadow:0 0 0 1px #ccb17c,2px 5px 8px #57442655}}.envelope-back{position:absolute;top:0;right:0;bottom:0;left:0;background:#c9bda6;border-radius:3px;box-shadow:inset 0 0 0 1px #f4edd333}.envelope-inside{position:absolute;top:10px;right:14px;bottom:14px;left:14px;background:#f4eddf;color:#9b8969;font:8px Georgia,serif;letter-spacing:2px;padding-top:29px;border:1px solid #c5b48b66;transition:transform .7s .35s;z-index:1}.envelope-inside span{display:block;font:18px SimSun,serif;letter-spacing:5px;margin-top:23px;color:#897653}.envelope-front{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(150deg,#e1d8c5,#f0e7d5);clip-path:polygon(0 0,50% 57%,100% 0,100% 100%,0 100%);border-radius:3px;z-index:2}.envelope-front:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(32deg,transparent 49.7%,#b4a99366 50%,transparent 50.5%),linear-gradient(-32deg,transparent 49.7%,#b4a99366 50%,transparent 50.5%);opacity:.55}.envelope-flap{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(170deg,#e9e1d0,#cec2aa);clip-path:polygon(0 0,100% 0,52% 60%,48% 60%);transform-origin:50% 0;backface-visibility:visible;z-index:3;transition:transform .8s cubic-bezier(.35,.05,.25,1),opacity .4s}.wax-seal{position:absolute;left:calc(50% - 24px);top:78px;display:grid;place-items:center;width:48px;height:48px;border-radius:47% 51% 45% 48%;background:radial-gradient(ellipse at 32% 25%,#c4a56a,#94713c 65%,#70562f);border:4px double #d4b983;color:#e8d6ad;font:20px SimSun,serif;box-shadow:inset 0 0 0 2px #876632,2px 5px 8px #57442655;text-shadow:1px 1px #5c452a;z-index:4;transition:opacity .3s,transform .4s}.envelope-address{position:absolute;bottom:24px;left:0;right:0;font:11px SimSun,serif;color:#857459;letter-spacing:3px;z-index:3}.envelope-postmark{position:absolute;right:14px;bottom:15px;width:39px;height:39px;border:1px solid #9f8d6633;border-radius:50%;display:grid;align-content:center;font:5px/1.7 Georgia,serif;letter-spacing:.6px;color:#9f8d6677;transform:rotate(-12deg);z-index:3}.is-open .envelope{transform:rotate(0) translateY(14px)}.is-open .wax-seal{opacity:0;transform:translateY(12px) rotate(15deg);pointer-events:none}.is-open .envelope-flap{transform:rotateX(180deg);opacity:.8;z-index:0}.is-open .envelope-inside{transform:translateY(-70px)}.letter-reveal{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .85s cubic-bezier(.25,.6,.25,1),visibility 0s .85s;position:relative;z-index:5;margin-top:-135px;pointer-events:none}.letter-reveal-inner{min-height:0;overflow:hidden;padding:0 10px}.letter-paper{position:relative;text-align:left;color:#555448;max-width:540px;margin:0 auto;padding:44px 42px 26px;background:#f1ebdf;background-image:repeating-linear-gradient(0deg,#b9a57c07 0px,#b9a57c07 1px,transparent 1px,transparent 3px),linear-gradient(100deg,#fffcf2aa,transparent 40%,#c7b69011);border:1px solid #d1c3a5;box-shadow:0 15px 35px #020a1255;transform:translateY(-55px) scale(.72);transform-origin:50% 0;opacity:0;transition:transform .8s,opacity .4s;outline:none}.is-open .letter-reveal{grid-template-rows:1fr;visibility:visible;pointer-events:auto;transition:grid-template-rows 1s .65s cubic-bezier(.25,.6,.25,1),visibility 0s}.is-open .letter-paper{opacity:1;transform:translateY(0) scale(1);transition:transform 1s .65s cubic-bezier(.25,.6,.25,1),opacity .55s .65s}.letter-paper:focus-visible{outline:1px solid #d1bc87;outline-offset:-7px}.letter-overline{font:8px Georgia,serif;letter-spacing:2.5px;color:#95815d}.letter-heading{font: 24px/1.6 Songti SC,SimSun,serif;margin:22px 0 0;letter-spacing:2px}.letter-rule{height:1px;background:#bbaa894d;margin:21px 0 22px}.letter-paper p{font:15px/2.1 Songti SC,SimSun,serif;margin:0 0 19px;letter-spacing:1px}.letter-sign{font:11px/2 SimSun,serif;text-align:right;margin:27px 0;color:#887c65}.letter-bottom{border-top:1px solid #bbaa894d;padding-top:18px;display:flex;justify-content:space-between;align-items:center;font:9px SimSun,serif;letter-spacing:2px;color:#9b8b6e}.letter-bottom span{font-size:20px}.mobile-break{display:none}.close{position:absolute;right:14px;top:10px;border:0;background:none;font:25px Georgia,serif;color:#958465;padding:5px 10px}.open-hint{position:relative;border:0;background:none;color:#d0bd95;font-size:10px;letter-spacing:2px;margin-top:160px;padding:14px;transition:margin-top .85s}.open-hint span{margin-left:10px;font-size:16px}.is-open .open-hint{margin-top:18px;transition:margin-top 1s .65s}.verse{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:20px;color:#a9b9c1;font:11px SimSun,serif;letter-spacing:3px}.verse span{height:1px;width:22px;background:#9badb044}.side-note{position:absolute;right:4.8vw;top:40vh;writing-mode:vertical-rl;font:10px SimSun,serif;letter-spacing:4px;color:#9aaeb76b}footer{margin-top:auto;padding:22px 4.5vw 23px;text-align:center}footer p{font:11px/1.8 SimSun,serif;letter-spacing:2px;color:#c2c7c7;margin:0 0 24px}.footer-bottom{border-top:1px solid #a7b8bf20;padding-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px;color:#879ca9}.footer-symbol{color:#c6b386;font-size:17px}.footer-bottom button{background:none;border:0;color:#9db0bb;font-size:9px;letter-spacing:1px;display:flex;align-items:center;gap:8px;padding:8px}.snow-status{width:4px;height:4px;border-radius:100%;background:#637786}.snow-status.active{background:#d3bc88;box-shadow:0 0 7px #d3bc8877}@keyframes arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes mist-drift{0%{transform:translate(-2%)}to{transform:translate(3%)}}@keyframes twinkle{0%,to{opacity:.18}50%{opacity:.7}}@keyframes meteor{0%,4%,to{opacity:0;transform:translate(0) rotate(145deg)}.5%{opacity:.65}3.5%{opacity:0;transform:translate(-240px,170px) rotate(145deg)}}@media(min-height:900px){.hero{padding-top:5vh}.envelope-area{margin-top:65px}.verse{margin-top:28px}}@media(max-width:600px){.site-header{padding:24px}.brand{font-size:14px;letter-spacing:3px}.brand-icon{font-size:28px}.brand small{font-size:6px;letter-spacing:1.5px}.season-mark span{display:none}.season-mark b{font-size:15px;padding-left:15px}.hero{padding:30px 16px 28px}.eyebrow{font-size:8px;letter-spacing:3px;gap:12px}.eyebrow span{width:22px}h1{font-size:clamp(44px,13.5vw,66px);letter-spacing:.14em;padding-left:.14em;margin:24px 0}.title-seal{left:calc(100% + 9px);top:30px;font-size:9px;padding:5px 2px}h2{font-size:16px;letter-spacing:2px}.subtitle{font-size:10px;letter-spacing:.8px;max-width:310px;margin:auto;text-wrap:balance}.envelope-area{margin-top:53px}.envelope{width:270px;height:168px}.wax-seal{top:66px;width:44px;height:44px;left:calc(50% - 22px)}.envelope-address{font-size:10px;bottom:20px}.envelope-postmark{width:30px;height:30px;right:10px;bottom:10px;font-size:4px}.letter-reveal{margin-top:-115px}.open-hint{margin-top:140px;font-size:9px;letter-spacing:1.5px}.letter-reveal-inner{padding:0 1px}.letter-paper{padding:39px 23px 24px}.letter-heading{font-size:20px;letter-spacing:1px}.letter-overline{font-size:7px;letter-spacing:1.7px}.letter-paper p{font-size:13px;letter-spacing:.4px;line-height:2.15}.letter-sign{font-size:10px}.letter-bottom{font-size:8px;letter-spacing:1px}.verse{font-size:10px;letter-spacing:1.5px;margin-top:15px}.side-note{display:none}footer{padding:28px 22px 17px}footer p{font-size:10px;letter-spacing:1px;margin-bottom:23px}.footer-bottom{font-size:8px;letter-spacing:.6px}.landscape{width:180%;left:-66%}.distant-glow{right:-70px;top:62%;width:240px}.winter-mist{top:55%;right:-10%;bottom:5%;left:-10%}.meteor{width:80px}}@media(max-width:350px){.mobile-break{display:block}.letter-paper{padding-left:18px;padding-right:18px}.letter-paper p{font-size:12px}.title-seal{left:calc(100% + 5px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.meteor{display:none}}.envelope-area{padding-top:0;transition:padding-top .8s}.is-open.envelope-area{padding-top:65px}.is-open .envelope-inside{opacity:0;transition:transform .7s .35s,opacity .4s 1s}.envelope-area,.is-open.envelope-area{padding-top:0;transition:none}.is-open .envelope,.is-closing .envelope{transform:rotate(0)}.envelope .wax-seal{transition:opacity .45s 1.15s,transform .55s 1.15s}.is-open .wax-seal{opacity:0;transform:translateY(5px) scale(1.08) rotate(7deg);transition:opacity .5s,transform .6s}.envelope .envelope-flap{transition:transform .95s .65s cubic-bezier(.35,.05,.25,1),opacity .95s .65s}.is-open .envelope-flap{transform:rotateX(180deg);opacity:.85;transition:transform 1.1s .35s cubic-bezier(.35,.05,.25,1),opacity 1.1s .35s}.envelope .envelope-inside{opacity:1;transform:translateY(0);transition:transform .7s,opacity .4s}.is-open .envelope-inside{transform:translateY(-85px);opacity:0;transition:transform 1s .95s cubic-bezier(.25,.6,.25,1),opacity .45s 1.7s}.is-closing .envelope-inside{opacity:0}.is-open .open-hint{margin-top:160px;transition:none}.letter-reader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));visibility:hidden;pointer-events:none;overflow:hidden;overscroll-behavior:none}.letter-reader.reader-active{visibility:visible;pointer-events:auto}.letter-reader .letter-paper{display:flex;flex-direction:column;width:min(540px,100%);max-width:100%;height:min(720px,100%);max-height:100%;min-height:0;margin:0;padding:48px 34px 25px;overflow:hidden;opacity:0;transform:translate(var(--letter-x, 0px),var(--letter-y, 80px)) scale(.52,.18);transform-origin:center;transition:transform .85s cubic-bezier(.4,0,.3,1),opacity .6s .1s;pointer-events:none}.reader-open .letter-paper{opacity:1;transform:translate(0) scale(1);transition:transform 1.15s 1s cubic-bezier(.22,.65,.3,1),opacity .65s 1s;pointer-events:auto}.letter-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#bba77f #e8dfcf;padding:0 8px;outline-offset:-2px}.letter-reader .close{z-index:2;top:6px;right:9px;width:44px;height:44px;padding:0;display:grid;place-items:center;color:#786649;background:#f1ebdf;border-radius:50%;touch-action:manipulation}.letter-reader .close:focus-visible{outline-offset:-5px}@media(max-width:600px){.letter-reader .letter-paper{padding:48px 16px 20px}.is-open .open-hint{margin-top:140px}}@media(prefers-reduced-motion:reduce){.letter-reader .letter-paper,.envelope .envelope-flap,.envelope .envelope-inside,.envelope .wax-seal{transition:none}}.envelope-area>.open-hint{margin-top:25px;transition:none}.letter-scroll:focus-visible{outline:1px solid #baa47b;outline-offset:-2px}.secret-stars{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none}.secret-star-place{position:absolute;width:44px;height:44px}.secret-star-1{left:17%;top:20%}.secret-star-2{right:16%;top:32%}.secret-star-3{left:11%;top:55%}.secret-star-hit{position:relative;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;pointer-events:auto;touch-action:manipulation}.secret-star-hit:focus-visible{outline:1px solid #d4bd85;outline-offset:-3px}.secret-star-light{position:relative;width:3px;height:3px;background:#e5d7b6;border-radius:50%;box-shadow:0 0 7px 2px #ead3a33d;animation:secret-breathe 6s ease-in-out infinite}.secret-star-2 .secret-star-light{animation-delay:-2s}.secret-star-3 .secret-star-light{animation-delay:-4s}.secret-star-light:before,.secret-star-light:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:9px;transform:translate(-50%,-50%);background:linear-gradient(transparent,#e5d7b6b3,transparent)}.secret-star-light:after{transform:translate(-50%,-50%) rotate(90deg)}.secret-visible .secret-star-light{background:#ffe1a3;box-shadow:0 0 13px 4px #e9c47970}.secret-star-bloom{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,#f8d59166,#deb66b18 40%,transparent 70%);animation:secret-bloom 1.8s ease-out both;pointer-events:none}.star-whisper{position:absolute;left:30px;top:33px;width:235px;margin:0;padding:12px 15px;color:#ead8b5;font:13px/2 Songti SC,SimSun,serif;letter-spacing:1.5px;text-wrap:pretty;background:radial-gradient(ellipse at center,#091c2dea 45%,#091c2d00 75%);text-shadow:0 2px 8px #000;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .65s,transform .65s,visibility 0s .65s;pointer-events:none}.secret-star-2 .star-whisper{left:auto;right:30px;text-align:right}.secret-visible .star-whisper{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .8s .3s,transform .8s .3s,visibility 0s}.secret-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.atmosphere-paused .secret-star-light{animation-play-state:paused}@keyframes secret-breathe{0%,to{opacity:.45}50%{opacity:.95}}@keyframes secret-bloom{0%{opacity:0;transform:scale(.25)}28%{opacity:.85}50%{opacity:.4}70%{opacity:.65}to{opacity:0;transform:scale(1.5)}}@media(max-width:600px){.secret-star-1{left:2px;top:17%}.secret-star-2{right:2px;top:35%}.secret-star-3{left:2px;top:67%}.star-whisper{left:22px;top:35px;width:min(235px,calc(100vw - 52px));font-size:12px}.secret-star-2 .star-whisper{right:22px}}@media(max-height:450px){.star-whisper{top:auto;bottom:33px}}@media(prefers-reduced-motion:reduce){.secret-stars *,.secret-stars *:before,.secret-stars *:after{animation:none;transition:none}.secret-star-bloom{display:none}}
