*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.inset-0{inset:0}.-left-24{left:-6rem}.-right-20{right:-5rem}.bottom-0{bottom:0}.bottom-24{bottom:6rem}.top-10{top:2.5rem}.flex{display:flex}.hidden{display:none}.h-64{height:16rem}.h-72{height:18rem}.w-64{width:16rem}.w-72{width:18rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.border{border-width:1px}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.blur{--tw-blur:blur(8px)}.blur,.blur-3xl{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)}.blur-3xl{--tw-blur:blur(64px)}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--paper:#fbf6ec;--ink:#3f3026;--muted:#8e7a63;--accent:#ac612b;--line:#d9c5a74d;--serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a,button,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b37736;outline-offset:5px}.page-focus{outline:none}::-moz-selection{background:#e8cba2;color:#3f3026}::selection{background:#e8cba2;color:#3f3026}.experience{min-height:100svh;position:relative;isolation:isolate;overflow:clip}.experience-header{height:108px;padding:0 clamp(28px,5vw,88px);display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:20;border-bottom:1px solid var(--line)}.is-letter .experience-header{position:sticky;top:0;background:#fbf6eceb;backdrop-filter:blur(18px)}.brand-lockup{display:flex;align-items:center;gap:23px;text-align:left;background:none;border:0;padding:0;flex-shrink:0}.brand-lockup img{width:108px;max-height:57px;-o-object-fit:contain;object-fit:contain}.brand-divider{height:28px;width:1px;background:#b69b744f}.brand-note{font-size:13px;letter-spacing:.24em;color:#6f5b47;line-height:1.8}.brand-note small{font-size:8px;letter-spacing:.16em}.chapter-nav{display:flex;gap:36px;align-items:center}.chapter-nav button{padding:15px 0;border:0;background:none;font-size:13px;letter-spacing:.16em;color:#8c7965;position:relative;white-space:nowrap}.chapter-nav small{font-family:Georgia,serif;font-size:10px;letter-spacing:0;margin-right:9px;opacity:.6}.chapter-nav button[aria-current]{color:#875022}.chapter-nav button[aria-current]:after{content:"";position:absolute;bottom:4px;left:50%;width:15px;height:2px;background:#b37436}.music-player{position:relative}.music-button{gap:10px;border:1px solid #b59b7547;border-radius:30px;background:#fff9ef80;padding:11px 16px;color:#725a42;font-size:11px;white-space:nowrap;min-height:44px}.music-button,.sound-bars{display:flex;align-items:center}.sound-bars{height:16px;width:17px;gap:2px}.sound-bars i{width:2px;height:4px;background:currentColor;border-radius:2px}.sound-bars i:nth-child(2){height:13px}.sound-bars i:nth-child(3){height:9px}.sound-bars i:nth-child(4){height:6px}.playing .sound-bars i{animation:sound 1s ease-in-out infinite alternate}.playing .sound-bars i:nth-child(2){animation-delay:-.4s}.playing .sound-bars i:nth-child(3){animation-delay:-.7s}.music-error{position:absolute;right:0;top:100%;font-size:10px;white-space:nowrap;color:#9b4c26}.cover-page{position:relative;min-height:calc(100svh - 108px);display:flex;flex-direction:column}.cover-art{z-index:-2;top:-108px;left:0;width:100%;height:calc(100% + 108px);-o-object-fit:cover;object-fit:cover;-o-object-position:center 52%;object-position:center 52%}.cover-art,.cover-wash{position:absolute;pointer-events:none}.cover-wash{z-index:-1;inset:-108px 0 0;background:linear-gradient(90deg,#fcf8ef75,#fcf8ef15 44%,transparent 68%)}.cover-content{position:relative;width:100%;max-width:1540px;margin:auto;flex:1;display:grid;grid-template-columns:1.1fr 1fr;padding:clamp(50px,7vh,95px) clamp(32px,8.8vw,150px) 65px;gap:40px;align-items:center;min-height:610px}.cover-copy{position:relative;z-index:2;max-width:680px;animation:arrive .9s ease-out both}.eyebrow{display:flex;align-items:center;gap:14px;font-size:9px;font-weight:500;letter-spacing:.26em;color:#967648;line-height:1.8}.fine-line{display:inline-block;width:38px;height:1px;background:#b1976e}.cover-recipient{font-size:13px;letter-spacing:.16em;margin:36px 0 19px;color:#806c57;overflow-wrap:anywhere}.cover-recipient span{margin-left:8px;color:#65513e}.cover-copy h1{font-size:clamp(64px,6.4vw,104px);line-height:1.27;letter-spacing:.055em;margin:0 0 9px;overflow-wrap:anywhere}.cover-copy h1,.cover-greeting{font-family:var(--serif);font-weight:400}.cover-greeting{font-size:clamp(30px,3.2vw,50px);color:#b77536;letter-spacing:.15em;display:flex;align-items:center;gap:20px;margin:0}.tiny-seal{display:inline-flex;font-size:12px;line-height:1.25;writing-mode:vertical-rl;letter-spacing:.16em;color:#a75b30;border:1px solid #b57246aa;border-radius:3px;padding:6px 4px;transform:rotate(-5deg)}.cover-message{margin:25px 0 33px;font-size:14px;color:#88735b;line-height:2.1;letter-spacing:.07em}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;border-radius:3px;background:#9c612e;color:#fffaf2;border:1px solid #9c612e;padding:15px 26px;font-size:13px;letter-spacing:.1em;box-shadow:0 8px 24px #87522115;transition:background .2s,transform .2s}.primary-button:hover{background:#825026;transform:translateY(-2px)}.primary-button svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.3}.open-card>span{margin-left:22px;font-size:20px;line-height:1}.open-hint{font-size:10px;color:#958068;letter-spacing:.15em;margin-top:17px}.cover-keepsake{align-self:stretch;position:relative;min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;z-index:1}.cover-mascot{width:clamp(200px,22vw,335px);max-width:100%;filter:drop-shadow(0 18px 18px #b6793d15);animation:float 7s ease-in-out infinite}.moon-caption{position:absolute;top:8%;right:-20px;writing-mode:vertical-rl;font-family:var(--serif);font-size:14px;letter-spacing:.35em;color:#947546}.keepsake-caption{font-family:var(--serif);font-size:13px;letter-spacing:.17em;color:#806239;margin-top:8px}.cover-footer{position:relative;display:flex;justify-content:space-between;align-items:center;margin:0 clamp(28px,5vw,88px);padding:24px 0 27px;border-top:1px solid #b69b7433;font-size:10px;letter-spacing:.16em;color:#8e7556;gap:20px}.cover-footer>span{display:flex;align-items:center;gap:14px}.cover-footer i{height:9px;width:1px;background:#b69b7460}.letter-page{position:relative;padding:60px 24px 0}.letter-backdrop{position:absolute;top:0;left:0;right:0;height:850px;background-size:cover;background-position:50%;opacity:.3;z-index:-1;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}.letter-heading{text-align:center;margin:0 auto 48px}.letter-heading .eyebrow{justify-content:center}.letter-heading h1{font-family:var(--serif);font-size:clamp(29px,3.2vw,44px);font-weight:400;letter-spacing:.09em;margin:21px 0 17px}.letter-heading>p:last-child{font-size:12px;letter-spacing:.12em;color:#8a7359}.letter-paper{max-width:820px;margin:auto;padding:40px 72px 26px;background:#fffdf8f5;border:1px solid #d6bf984d;box-shadow:0 15px 65px #8b65230a;position:relative}.letter-paper:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#dfc7a0,#b58a50,#e9d8bd)}.paper-bottomline,.paper-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.1em;color:#998165}.paper-topline{padding-bottom:28px;border-bottom:1px solid var(--line)}.salutation{font-size:19px;font-weight:600;line-height:1.9;margin:36px 0 25px}.letter-body,.salutation{font-family:var(--serif);overflow-wrap:anywhere}.letter-body{font-size:16px;line-height:2.15;color:#645445;letter-spacing:.035em}.letter-body>p{margin-bottom:25px;white-space:pre-line}.letter-body>p:first-child:first-letter{font-size:37px;float:left;line-height:1.4;margin:2px 7px 0 0;color:#a9753b}.letter-body .letter-emphasis{font-size:20px;color:#9d622e;margin:34px 0}.letter-timeline{margin:30px 0;border-left:1px solid #d8bf984d;padding-left:22px}.timeline-row{display:grid;grid-template-columns:44px 1fr;gap:18px;position:relative;margin-bottom:20px}.timeline-row:before{content:"";width:5px;height:5px;background:#c4a074;position:absolute;left:-25px;top:14px;border-radius:50%}.timeline-row>span{font-family:inherit;font-size:15px;color:#a46f37;white-space:nowrap}.timeline-row>p{font-size:14px;line-height:2}.letter-signature{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:40px 0 35px}.letter-signature>div{text-align:right;font-size:13px;line-height:2;color:#6c5138}.letter-signature time{font-size:11px;color:#998165}.signature-mark{font-family:var(--serif);font-size:16px;letter-spacing:.2em;line-height:1.3;padding:9px 6px 7px 10px;border:1px solid #b67c536b;border-radius:3px;color:#ab7149;transform:rotate(-5deg)}.paper-bottomline{border-top:1px solid var(--line);padding-top:24px;font-size:9px;letter-spacing:.2em}.wishes-section{max-width:820px;margin:70px auto 0;scroll-margin-top:130px}.wishes-intro{display:flex;align-items:center;justify-content:center;gap:30px;margin-bottom:34px}.wishes-intro img{width:135px;filter:drop-shadow(0 10px 15px #95672812)}.wishes-intro h2{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:.08em;margin:10px 0}.wishes-intro>div>p:last-child{font-size:12px;color:#998165;line-height:1.9}.wish-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:30px 35px;background:#f4ead8;border:1px solid #dac49e55;margin-bottom:55px}.wish-number{font-size:10px;letter-spacing:.12em;color:#9c8058;writing-mode:vertical-rl;white-space:nowrap}.wish-card-copy{flex:1}.wish-card h3{font-family:var(--serif);font-size:25px;font-weight:400;color:#916334;margin-bottom:8px;letter-spacing:.12em}.wish-card p{font-size:12px;color:#927858;line-height:1.9}.text-button{border:0;background:none;padding:12px 0;font-size:12px;letter-spacing:.05em;color:#98652f;white-space:nowrap}.text-button:hover{color:#5f3c1f}.text-button span{margin-left:10px}.blessings-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.blessings-heading h3{font-family:var(--serif);font-size:24px;font-weight:400}.blessings-heading span{font-size:10px;color:#958068}.blessings-canvas{position:relative;height:300px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);background:radial-gradient(ellipse at center,#fff9ed8f,transparent 74%)}.danmaku-stage{position:absolute;inset:0;overflow:hidden}.danmaku-shot{position:absolute;left:100%;top:0;display:inline-flex;align-items:center;gap:7px;max-width:78vw;padding:6px 13px 6px 6px;border:1px solid #fff9efdb;border-radius:999px;background:linear-gradient(135deg,#fffdf7f0,#ffe8d7d4 58%,#ffd9dfcc);box-shadow:0 8px 20px #cc6f4129,inset 0 1px #fff;color:#713925;white-space:nowrap;will-change:transform;backdrop-filter:blur(9px) saturate(1.12)}.danmaku-shot>i{display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff9a7,#ffb023 48%,#ff6773 100%);box-shadow:0 3px 9px #ef713b3d;color:#fff;font-size:9px;font-style:normal;text-shadow:0 0 6px #fff}.danmaku-shot>span{display:flex;align-items:baseline;gap:8px;min-width:0}.danmaku-shot b{flex:0 0 auto;color:#d85b31;font-size:8px;font-weight:650;letter-spacing:.06em}.danmaku-shot em{max-width:62vw;overflow:hidden;color:#713925;font-size:11px;font-style:normal;line-height:1.2;text-overflow:ellipsis}.danmaku-shot.is-mine{border-color:#ff8a3d;background:linear-gradient(135deg,#fff4dff5,#ffd9b8e8 55%,#ffc3d4e0);box-shadow:0 0 0 1px #ff9a4d66,0 10px 26px #ef6a2e4d;animation:danmaku-mine 1.1s ease-in-out 3}.danmaku-empty{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:0 14px;color:#a46d55;font-size:11px;letter-spacing:.06em;text-align:center}.danmaku-static{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:7px;margin:0;padding:0 12px;list-style:none;overflow:hidden}.danmaku-static li{display:flex;align-items:baseline;gap:8px;min-width:0;padding:5px 11px;border-radius:999px;background:#fffaf2e0;box-shadow:0 4px 12px #cc6f411f}.danmaku-static b{flex:0 0 auto;color:#d85b31;font-size:9px;font-weight:650}.danmaku-static em{color:#713925;font-size:11px;font-style:normal;text-overflow:ellipsis}.danmaku-sr,.danmaku-static em{overflow:hidden;white-space:nowrap}.danmaku-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip-path:inset(50%);list-style:none}@keyframes danmaku-mine{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}blessing-form{display:grid;grid-template-columns:145px 1fr;gap:15px;margin-top:20px;padding:28px;background:#fffdf880;border:1px solid var(--line)}.blessing-form label{display:flex;flex-direction:column;gap:10px;color:#8b7155;font-size:11px;letter-spacing:.04em}.blessing-form input,.blessing-form textarea{width:100%;min-width:0;background:#fffdf8;border:1px solid #ddc9aa80;border-radius:3px;padding:13px 12px;font-size:14px;color:#5f4b35;resize:vertical}.blessing-form textarea{min-height:91px}.blessing-form input::-moz-placeholder,.blessing-form textarea::-moz-placeholder{color:#b3a28d;font-size:12px}.blessing-form input::placeholder,.blessing-form textarea::placeholder{color:#b3a28d;font-size:12px}.form-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.form-tip{font-size:11px;color:#9c6b3c;line-height:1.8;min-height:20px}.form-bottom .primary-button{min-height:44px;padding:12px 23px;font-size:12px}.field-count{font-size:10px;color:#aa9274}.blessings-toolbar,.field-count{text-align:right}.blessings-toolbar .text-button{font-size:10px;padding:0 0 8px}.letter-footer{text-align:center;margin:55px auto 0;padding:10px 0 38px}.letter-footer p{font-family:var(--serif);font-size:14px;color:#8f7658;letter-spacing:.14em;margin:26px 0 8px}.letter-footer>span{font-size:8px;letter-spacing:.22em;color:#ac9577}@keyframes sound{to{transform:scaleY(.35)}}@keyframes float{50%{transform:translateY(-9px)}}@keyframes arrive{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.cover-art{-o-object-position:center 46%;object-position:center 46%}.cover-content{padding-top:110px;padding-bottom:110px}.cover-keepsake{justify-content:flex-end}.cover-mascot{width:340px}}@media(max-width:1000px){.brand-divider,.brand-note{display:none}.chapter-nav{gap:25px}.cover-content{padding-left:7vw;padding-right:7vw;gap:10px}.cover-copy h1{font-size:7.2vw}.cover-keepsake{min-height:420px}.moon-caption{right:0}.letter-paper{padding:35px 50px}}@media(max-width:640px){html{scroll-padding-top:90px}.experience-header{height:80px;padding:0 22px;gap:14px}.brand-lockup img{width:84px;max-height:45px}.chapter-nav{gap:17px}.chapter-nav button{font-size:11px;letter-spacing:0;padding:14px 0}.chapter-nav small{display:none}.music-button{padding:10px;width:38px;min-height:38px;justify-content:center}.music-button>span:last-child{display:none}.music-error{font-size:9px}.cover-page{min-height:calc(100svh - 80px)}.cover-art{top:-80px;height:calc(100% + 80px);width:100%;-o-object-position:65% center;object-position:65% center;opacity:.78}.cover-wash{inset:-80px 0 0;background:linear-gradient(180deg,#fcf8efb0,#fcf8ef85 45%,transparent 75%)}.cover-content{display:block;min-height:650px;padding:40px 28px 210px}.cover-copy{max-width:100%;text-align:center}.cover-copy .eyebrow{justify-content:center;font-size:8px;letter-spacing:.18em}.fine-line{width:23px}.cover-recipient{font-size:11px;margin:28px 0 17px;line-height:1.8}.cover-copy h1{font-size:clamp(45px,13.7vw,75px);letter-spacing:.055em}.cover-greeting{font-size:28px;justify-content:center;gap:15px;margin-top:8px}.tiny-seal{font-size:9px;padding:4px 3px}.cover-message{font-size:12px;line-height:2;margin:21px 0 26px}.open-card{min-height:48px;padding:13px 20px;font-size:12px;gap:12px}.open-card>span{margin-left:15px}.open-hint{font-size:9px;margin-top:13px}.cover-keepsake{position:absolute;bottom:12px;left:0;right:0;min-height:0;height:190px;pointer-events:none}.cover-mascot{width:175px}.moon-caption{display:none}.keepsake-caption{font-size:10px;letter-spacing:.1em;margin-top:0}.cover-footer{margin:0 22px;padding:19px 0 22px;gap:10px;font-size:8px;letter-spacing:.04em}.cover-footer>span{gap:7px}.letter-page{padding:37px 17px 0}.letter-heading{margin-bottom:30px}.letter-heading .eyebrow{font-size:8px}.letter-heading h1{font-size:27px;letter-spacing:.02em;margin:15px 0}.letter-heading>p:last-child{font-size:10px}.letter-paper{padding:25px 23px 20px}.paper-topline{font-size:8px;gap:10px;padding-bottom:22px;letter-spacing:0}.salutation{font-size:17px;margin:26px 0 22px}.letter-body{font-size:15px;line-height:2.05;letter-spacing:.015em}.letter-body>p{margin-bottom:23px}.letter-body .letter-emphasis{font-size:18px}.letter-timeline{padding-left:16px}.timeline-row{grid-template-columns:34px 1fr;gap:12px}.timeline-row:before{left:-19px}.timeline-row>p,.timeline-row>span{font-size:13px}.letter-signature{gap:14px}.letter-signature>div{font-size:11px}.signature-mark{font-size:13px;flex-shrink:0}.paper-bottomline{font-size:8px;letter-spacing:.06em}.wishes-section{margin-top:38px;scroll-margin-top:100px}.wishes-intro{gap:14px;margin-bottom:25px}.wishes-intro img{width:95px}.wishes-intro .eyebrow{font-size:7px;letter-spacing:.1em}.wishes-intro h2{font-size:25px;margin:8px 0}.wishes-intro>div>p:last-child{font-size:10px}.wish-card{padding:24px 20px;gap:17px;flex-wrap:wrap;margin-bottom:35px}.wish-card h3{font-size:23px}.wish-card p{font-size:11px}.wish-card>.text-button{margin-left:auto;padding:0;font-size:11px}.blessings-heading{gap:10px}.blessings-heading h3{font-size:23px}.blessings-heading span{font-size:9px}.blessings-canvas{height:258px}.blessing-form{padding:20px;grid-template-columns:1fr;gap:17px}.blessing-form input,.blessing-form textarea{font-size:16px}.form-bottom{gap:13px}.form-tip{font-size:10px}.form-bottom .primary-button{white-space:nowrap;padding:12px 16px;font-size:11px}}@media(max-width:360px){.experience-header{padding:0 16px}.chapter-nav{gap:12px}.cover-content{padding-left:20px;padding-right:20px}.cover-footer{font-size:7px}.letter-paper{padding:23px 19px}.letter-heading h1{font-size:24px}}@media(min-width:641px) and (max-height:780px){.cover-content{min-height:530px;padding-top:36px;padding-bottom:40px}.cover-recipient{margin-top:24px}.cover-copy h1{font-size:clamp(60px,6vw,90px)}.cover-message{margin:20px 0 25px}.cover-mascot{width:240px}.cover-keepsake{min-height:410px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@font-face{font-family:"NotoSerifSCNames";src:url(/fonts/NotoSerifSC-Names.woff2?v=20260916a) format("woff2");font-style:normal;font-weight:400;font-display:swap}.mobile-cover,.mobile-letter-chapter,.mobile-letter-scenery,.mobile-stardust,.mobile-wishes-scenery{display:none}@media(max-width:640px){:root{--mobile-ink:#30251d;--mobile-orange:#f27a24;--mobile-coral:#ff4e72;--mobile-yellow:#ffc52d;--mobile-cream:#fff8ec}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.desktop-cover{display:none}.experience-header,.is-cover .experience-header,.is-letter .experience-header{position:absolute!important;top:0;left:0;width:100%;height:0;min-height:0;padding:0;border:0;background:transparent;backdrop-filter:none;pointer-events:none}.experience-header .brand-lockup,.experience-header .chapter-nav{display:none}.experience-header .music-player{display:block;position:fixed;z-index:90;top:max(14px,env(safe-area-inset-top));right:14px;pointer-events:auto}.experience-header .music-button{width:42px;height:42px;min-height:42px;padding:0;justify-content:center;border:1px solid #f0a16f73;background:#fff9eec7;color:#8d5a3d;box-shadow:0 5px 16px #ed784327;backdrop-filter:blur(12px)}.experience-header .music-button>span:last-child{display:none}.experience-header .music-error{top:45px;right:0;padding:3px 7px;border-radius:12px;background:#fff8edcf}.mobile-cover{display:grid;position:relative;min-height:max(720px,100svh);grid-template-rows:auto minmax(300px,1fr) auto auto;color:var(--mobile-ink);isolation:isolate;overflow:hidden}.mobile-sky{z-index:-3;background-image:var(--mobile-sky,url("/assets/mobile/card-matched-cover.webp"));background-size:100% 100%;background-position:50%}.mobile-aurora,.mobile-sky{position:absolute;inset:0;pointer-events:none}.mobile-aurora{z-index:-2;background:radial-gradient(circle at 15% 56%,#ffcd3345,transparent 21%),radial-gradient(circle at 88% 50%,#ff53764a,transparent 25%),linear-gradient(180deg,#fff9f040,transparent 45%,#ffb94010);mix-blend-mode:multiply;animation:brand-aurora 9s ease-in-out infinite alternate}.mobile-intro{position:relative;z-index:5;text-align:center;padding:max(31px,env(safe-area-inset-top)) 20px 0;animation:mobile-title-arrive .95s cubic-bezier(.2,.8,.2,1) both}.mobile-edition{display:flex;align-items:center;justify-content:center;gap:10px;font-size:8px;font-weight:600;letter-spacing:.23em;color:#9a6d4b}.mobile-edition>span{width:22px;height:1px;background:linear-gradient(90deg,transparent,#f28a46)}.mobile-edition>span:last-child{transform:rotate(180deg)}.mobile-to{margin:14px auto 7px;max-width:300px;font-size:10px;line-height:1.8;letter-spacing:.12em;color:#8f6c53;overflow-wrap:anywhere}.mobile-to span{margin-left:5px;color:#6a4d39;font-weight:600}.mobile-intro h1{margin:0;font-family:var(--serif);font-size:clamp(47px,14vw,65px);font-weight:500;line-height:1.25;letter-spacing:.055em;color:#211d1a;text-shadow:0 2px 14px #fff7e8;overflow-wrap:anywhere}.mobile-intro h1.has-theme-art{width:calc(100% + 28px);margin:-5px -14px -8px;line-height:0}.mobile-theme-art{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 12px #fff8e8) drop-shadow(0 4px 9px #e66c2520);animation:theme-ink-breathe 6.5s ease-in-out infinite}.mobile-greeting{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:4px;font-family:var(--serif);font-size:clamp(25px,7.8vw,34px);font-weight:700;line-height:1.5;letter-spacing:.1em;background:linear-gradient(100deg,#ffb20f,#ff8127 38%,#ff466f 72%,#ffc12c);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 10px #ff8b3430)}.mobile-seal{display:inline-flex;padding:5px 3px;border:1px solid #f56a3dcc;border-radius:3px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;font-size:8px;font-weight:500;line-height:1.25;letter-spacing:.1em;writing-mode:vertical-rl;color:#e95634;-webkit-text-fill-color:#e95634;transform:rotate(-5deg)}.mobile-poem{margin:8px 0 0;font-size:9px;line-height:1.9;letter-spacing:.09em;color:#9a745b}.mobile-scene{position:relative;z-index:2;align-self:stretch;width:100%;max-width:500px;min-height:300px;margin:auto;--parallax-x:0px;--parallax-y:0px;touch-action:pan-y}.mobile-scene picture{display:block;pointer-events:none}.mobile-scene picture img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.energy-core{top:1%;right:-22%;width:89%;aspect-ratio:1;background:radial-gradient(circle at 34% 30%,#fff9d5 0 10%,#ffd535 25%,#ff8c24 57%,#ff476e 80%,#ff2d7745 100%);box-shadow:inset 18px 20px 35px #fff58e9e,inset -22px -18px 40px #ff317658,0 0 52px #ff9a3f59;filter:saturate(1.05);transform:translate(var(--parallax-x),var(--parallax-y));transition:transform .8s ease-out;animation:energy-breathe 7s ease-in-out infinite}.energy-core,.energy-core:after{position:absolute;border-radius:50%}.energy-core:after{content:"";inset:4%;background:linear-gradient(125deg,#fff8b85c,transparent 35%,#ff3b7b26 70%);filter:blur(7px)}.energy-core i{position:absolute;border-radius:50%;background:linear-gradient(140deg,#fff37a,#ff7b24 55%,#ff3c76);box-shadow:inset 3px 4px 8px #fff59c9c,0 5px 15px #f9576230;animation:brand-sphere-float 7s ease-in-out infinite}.energy-core i:first-child{width:13%;height:13%;left:-5%;top:23%}.energy-core i:nth-child(2){width:7%;height:7%;left:7%;top:5%;animation-delay:-2s}.energy-core i:nth-child(3){width:5%;height:5%;right:16%;bottom:7%;animation-delay:-4s}.brand-orbit{z-index:1;top:2%;right:-17%;width:86%;aspect-ratio:1;border:2px solid #fffdf2d9;transform:rotate(-22deg);box-shadow:0 0 8px #fff}.brand-orbit,.brand-orbit:before{position:absolute;border-radius:50%}.brand-orbit:before{content:"";top:13%;left:12%;width:9px;height:9px;background:linear-gradient(135deg,#ffe93c,#ff6b29 60%,#ff4178);box-shadow:0 0 9px #ffb326}.orbit-one{animation:brand-orbit-turn 25s linear infinite}.orbit-two{top:9%;right:-25%;width:101%;border-width:1px;border-color:#fff8e7a6;animation:brand-orbit-turn-reverse 36s linear infinite}.orbit-two:before{width:6px;height:6px;top:72%;left:4%}.brand-bubble{position:absolute;z-index:3;border-radius:50%;background:linear-gradient(135deg,#fff66b,#ff7d22 50%,#ff3e7c);box-shadow:inset 5px 7px 12px #fffaa096,0 9px 18px #ee655734;animation:brand-bubble-wander 8s ease-in-out infinite}.bubble-left{left:4%;top:26%;width:62px;height:62px}.bubble-right{right:2%;top:59%;width:33px;height:33px;animation-delay:-3s}.bubble-small{left:19%;top:67%;width:19px;height:19px;animation-delay:-5s}.mascot-parallax{position:absolute;z-index:5;top:15%;right:-2%;width:64%;max-width:280px;aspect-ratio:1;transform:translate(calc(var(--parallax-x) * -.7),calc(var(--parallax-y) * -.7));transition:transform .8s ease-out}.mobile-hero-mascot{position:absolute;inset:0;filter:drop-shadow(0 14px 16px #df5c3b40);animation:brand-mascot-float 5.8s ease-in-out infinite}.mascot-glow{position:absolute;left:15%;right:7%;bottom:6%;height:24%;border-radius:50%;background:radial-gradient(ellipse,#fff6a8c4,#ffb63366 45%,transparent 72%);filter:blur(7px)}.mini-mascot{position:absolute;z-index:5;left:12%;top:49%;width:29%;max-width:125px;aspect-ratio:1;opacity:.93;filter:drop-shadow(0 8px 10px #de60443b);animation:brand-mini-run 6.8s ease-in-out infinite}.mini-mascot img,.mini-mascot picture{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.scene-side-note{position:absolute;z-index:6;font-family:var(--serif);font-size:9px;line-height:1.8;letter-spacing:.2em;writing-mode:vertical-rl;color:#a77857}.scene-note-left{left:4%;top:3%}.scene-note-right{right:2%;top:47%;color:#925244}.moon-touch{position:absolute;z-index:7;top:0;right:0;width:76%;height:90%;border:0;border-radius:50%;background:transparent;padding:0}.moon-touch:focus-visible{outline:1px dashed #e7683d;outline-offset:4px}.moon-burst{position:absolute;z-index:8;top:45%;right:34%;pointer-events:none}.moon-burst i{position:absolute;width:7px;height:7px;background:linear-gradient(135deg,#fff23c,#ff6e30);clip-path:polygon(50% 0,62% 37%,100% 50%,62% 62%,50% 100%,37% 62%,0 50%,37% 37%);filter:drop-shadow(0 0 5px #ffb62a);animation:brand-wish-burst 1.35s ease-out both}.mobile-stardust{display:block;position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.mobile-stardust i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:#ff8f24;box-shadow:0 0 7px #ffd338;opacity:.45;animation:brand-stardrift var(--duration) ease-in-out var(--delay) infinite}.mobile-stardust i:nth-child(4n){width:10px;height:10px;border-radius:0;clip-path:polygon(50% 0,62% 37%,100% 50%,62% 62%,50% 100%,37% 62%,0 50%,37% 37%);background:linear-gradient(135deg,#ffb91c,#ff4a6e)}.mobile-stardust.quiet{opacity:.35}.mobile-invitation{position:relative;z-index:10;padding:0 25px 15px;text-align:center}.moon-wish{min-height:22px;margin:0 0 11px;font-size:10px;line-height:1.8;letter-spacing:.07em;color:#966d50}.moon-wish.is-lit{font-weight:600;color:#e25c34}.mobile-open{position:relative;display:flex;align-items:center;justify-content:center;gap:13px;overflow:hidden;width:min(100%,292px);min-height:53px;margin:auto;padding:14px 23px;border:1px solid #ff8148;border-radius:30px;background:linear-gradient(105deg,#ffba18,#ff7b20 42%,#ff496e);box-shadow:0 10px 25px #f45f3d3d,inset 0 1px 0 #fff4a8;color:#fff;font-size:13px;font-weight:600;letter-spacing:.14em;text-shadow:0 1px 4px #dc552f80;transition:transform .2s}.mobile-open:active{transform:scale(.97)}.mobile-open svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4}.mobile-open>span:last-child{margin-left:18px;font-size:22px;line-height:1}.mobile-open:after{content:"";position:absolute;inset:-100% -30%;background:linear-gradient(110deg,transparent 35%,#fff9bd66 50%,transparent 65%);transform:translateX(-100%);animation:brand-button-shine 5.5s ease-in-out 1.8s infinite;pointer-events:none}.mobile-invitation-note{margin-top:11px;font-size:8px;letter-spacing:.15em;color:#9e806c}.mobile-footer{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;margin:0 22px;padding:9px 0 max(10px,env(safe-area-inset-bottom));border-top:1px solid #ed9e7140;color:#9c7257;font-size:8px;letter-spacing:.08em}.mobile-footer button{min-height:34px;padding:8px 0 8px 14px;border:0;background:transparent;color:#995f49;font-size:9px}.motion-paused *,.motion-paused :after,.motion-paused :before{animation-play-state:paused!important}.mobile-letter-scenery{display:block;position:absolute;inset:0 0 auto;height:980px;background:var(--mobile-letter,url("/assets/mobile/card-matched-letter.webp")) center top/100% auto no-repeat;-webkit-mask-image:linear-gradient(#000 0 78%,transparent);mask-image:linear-gradient(#000 0 78%,transparent);z-index:-1;pointer-events:none}.letter-page{padding-top:0;background:linear-gradient(180deg,transparent 520px,#fff8ed 1000px)}.letter-backdrop{display:none}.letter-heading{min-height:230px;margin-bottom:20px;padding:max(58px,calc(env(safe-area-inset-top) + 48px)) 0 5px}.mobile-letter-chapter{display:block;margin:0 0 12px;text-align:center;font-family:var(--serif);font-size:9px;letter-spacing:.28em;color:#ee7336}.letter-heading .eyebrow{font-size:7px;letter-spacing:.17em;color:#a67759}.letter-heading h1{margin:13px 0;font-size:29px;color:#30231c;text-shadow:0 1px 10px #fff8e5}.letter-heading>p:last-child{color:#9b7052}.letter-paper{overflow:hidden;padding:28px 22px 22px;border-color:#eea37166;border-radius:7px;background:linear-gradient(180deg,#fffdf8f0,#fffaf2e8);box-shadow:0 12px 38px #f0753011}.letter-paper:before{z-index:3;height:3px;border-radius:7px 7px 0 0;background:linear-gradient(90deg,#ffbc1e,#ff7a26 52%,#ff4b72)}.letter-festive-art{position:absolute;z-index:0;inset:0;background:url(/assets/mobile/letter-festive-overlay.png) top/135% auto repeat-y;opacity:.58;pointer-events:none;animation:letter-art-glow 8s ease-in-out infinite alternate}.letter-paper:after{content:"";position:absolute;z-index:1;inset:0 18px;background:linear-gradient(90deg,transparent,#fffaf2bf 8%,#fffaf2df 22% 78%,#fffaf2bf 92%,transparent);box-shadow:0 0 20px 12px #fffaf26b;pointer-events:none}.letter-paper>:not(.letter-festive-art){position:relative;z-index:2}.paper-topline{padding-bottom:20px}.salutation{margin:26px 0 28px;padding:14px 15px;border-radius:6px;background:linear-gradient(105deg,#fff0d7,#fff9ef 72%);font-size:17px;line-height:1.8;color:#4a3022;box-shadow:inset 3px 0 0 #f47734}.letter-body{font-size:15.5px;line-height:2.15;letter-spacing:.02em;color:#5c4a3d}.letter-body>p{margin-bottom:25px}.letter-body .letter-paragraph{text-align:justify;text-indent:2em}.letter-body .letter-opening{text-indent:0}.letter-body .letter-opening:first-letter{float:left;margin:2px 8px 0 0;font-size:40px;line-height:1.25;color:#f06f2e}.letter-section-marker{display:flex;align-items:center;justify-content:center;gap:10px;margin:40px -4px 22px;font-family:var(--serif);font-size:10px;font-weight:700;letter-spacing:.24em;color:#e75f31;text-shadow:0 1px 8px #fff}.letter-section-marker:after,.letter-section-marker:before{content:"";width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#fff56a,#ff8a24 52%,#ff4670);box-shadow:inset 2px 2px 4px #fff5a6,0 3px 8px #eb63343b;animation:marker-orb 4.6s ease-in-out infinite}.letter-section-marker:after{animation-delay:-2.3s}.letter-section-marker i{width:25px;height:1px;background:linear-gradient(90deg,transparent,#f18a50)}.letter-section-marker i:last-child{transform:rotate(180deg)}.letter-body .letter-emphasis{position:relative;margin:34px -5px;padding:20px 18px;border:0;border-radius:12px;background:linear-gradient(120deg,#fff0cfe8,#fff8ede8 48%,#ffe2e9dd);color:#d85f2c;font-size:18px;line-height:1.9;text-align:center;box-shadow:inset 0 0 0 1px #f4a87670,0 8px 22px #f06e3420}.letter-body .letter-emphasis:after,.letter-body .letter-emphasis:before{content:"✦";position:absolute;top:7px;color:#ff8a35;font-size:10px}.letter-body .letter-emphasis:before{left:9px}.letter-body .letter-emphasis:after{right:9px;color:#ff4f72}.quote-highlight{color:#d85b2f;font-weight:600;background:linear-gradient(transparent 72%,#ffd39d80 0)}.data-highlight{color:#ed642e;font-weight:700;white-space:nowrap}.signature-mark{border-color:#f2784d80;color:#dd633c}.paper-bottomline{border-color:#edaa7d4d}.letter-timeline{margin:28px -6px 36px;padding:18px 10px 3px 22px;border:0;border-radius:13px;background:linear-gradient(145deg,#fff1d8d6,#fff9eed6 55%,#ffe7ecd6);box-shadow:inset 0 0 0 1px #f0a87361,0 8px 22px #f5793e1a}.timeline-row{grid-template-columns:38px 1fr;gap:10px;margin-bottom:8px;padding:10px 8px;border-radius:8px}.timeline-row:nth-child(odd){background:#fffdf799}.timeline-row:before{left:-8px;top:20px;width:7px;height:7px;background:linear-gradient(135deg,#ffb419,#ff5669);box-shadow:0 0 0 4px #fff1db}.timeline-row>span{font-size:14px;font-weight:700;color:#ef6b2d}.timeline-row>p{font-size:13.5px;line-height:1.9;text-align:justify;color:#635044}.wishes-section{position:relative;isolation:isolate;margin-top:44px;padding-top:24px;scroll-margin-top:90px}.mobile-wishes-scenery{display:block;position:absolute;inset:-24px -17px 0;z-index:-1;overflow:hidden;background:linear-gradient(180deg,#fff7ed15,#fff8ed 520px),url(/assets/mobile/card-matched-cover.webp) top/100% auto no-repeat;pointer-events:none}.wish-orb{position:absolute;border-radius:50%;background:linear-gradient(135deg,#fff35a,#ff7e22 53%,#ff4577);box-shadow:inset 5px 6px 12px #fff49d99,0 8px 18px #ef6d5233;animation:brand-bubble-wander 8s ease-in-out infinite}.wish-orb-one{right:-22px;top:40px;width:72px;height:72px}.wish-orb-two{left:14px;top:160px;width:26px;height:26px;animation-delay:-3s}.wishes-intro{min-height:150px;margin-bottom:8px;padding:10px 8px 20px;gap:10px}.wishes-intro img{width:108px;flex-shrink:0;filter:drop-shadow(0 8px 12px #ed673b35);animation:brand-mascot-float 5.8s ease-in-out infinite}.wishes-intro>div{min-width:0}.wishes-intro .eyebrow{font-size:6px;color:#a87759}.wishes-intro h2{font-size:clamp(20px,5.9vw,25px);letter-spacing:.035em;color:#de602f;white-space:nowrap}.wishes-intro>div>p:last-child{font-size:10px;line-height:2;color:#9b6f56}.wish-card{position:relative;min-height:130px;margin-bottom:34px;padding:25px 20px;border-color:#f1a36a70;border-radius:10px;background:linear-gradient(135deg,#fff9eaf2,#ffe9d9e8);box-shadow:0 8px 25px #ef74351a}.wish-card:before{content:"";position:absolute;inset:5px;border:1px solid #f08a5255;border-radius:7px;pointer-events:none}.wish-card-copy{min-width:0}.wish-card h3{font-size:24px;color:#e36231}.wish-card>.text-button{font-size:10px;color:#e45d38}.blessings-heading{align-items:flex-start;flex-direction:column;gap:6px}.blessings-heading h3{font-size:24px;color:#3d2a21}.blessing-chip{border-color:#f0ab7b55;border-radius:30px;background:#fffaf2e8;box-shadow:0 3px 12px #f2703820}.blessing-chip b{color:#ec6f37}.blessing-form{border-color:#f0a67566;border-radius:10px;background:#fffdf8eb}.form-bottom .primary-button{background:linear-gradient(105deg,#ffad18,#ff7428 50%,#ff4d70);border-color:#ff8148}.letter-footer{padding-bottom:max(38px,env(safe-area-inset-bottom))}}@media(max-width:360px){.mobile-cover{min-height:690px}.mobile-intro{padding-top:17px}.mobile-intro h1{font-size:45px}.mobile-greeting{font-size:24px}.mobile-poem{font-size:8px}.mobile-to{margin-top:10px}.mobile-scene{min-height:270px}.energy-core{top:4%}.mascot-parallax{top:17%;width:66%}.mini-mascot{top:51%}.moon-wish{font-size:9px}.mobile-edition{font-size:7px}}@media(min-width:440px) and (max-width:640px){.mobile-cover{min-height:880px}.mobile-intro{padding-top:27px}.mobile-scene{min-height:390px}.mascot-parallax{max-width:305px}.mobile-open{max-width:315px}.mobile-poem{font-size:11px}}@keyframes energy-breathe{0%,to{transform:scale(.96) translate(var(--parallax-x),var(--parallax-y));filter:saturate(1)}50%{transform:scale(1.035) translate(var(--parallax-x),var(--parallax-y));filter:saturate(1.14)}}@keyframes brand-mascot-float{0%,to{transform:translateY(5px) rotate(-2deg)}50%{transform:translateY(-15px) rotate(2deg)}}@keyframes brand-mini-run{0%,to{transform:translateY(4px) rotate(-4deg)}50%{transform:translate(16px,-12px) rotate(4deg)}}@keyframes brand-bubble-wander{0%,to{transform:translateY(8px) rotate(-4deg)}50%{transform:translate(13px,-20px) rotate(5deg)}}@keyframes brand-sphere-float{0%,to{transform:translateY(5px)}50%{transform:translateY(-15px)}}@keyframes brand-orbit-turn{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes brand-orbit-turn-reverse{0%{transform:rotate(1turn)}to{transform:rotate(0)}}@keyframes brand-stardrift{0%,to{transform:translateY(20px) scale(.5);opacity:.12}50%{transform:translate(var(--drift),-42px) scale(1.15);opacity:.75}}@keyframes brand-aurora{to{transform:translate(3%,-2%);opacity:.6}}@keyframes brand-button-shine{0%,66%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes mobile-title-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes theme-ink-breathe{0%,to{transform:translateY(0) scale(.99)}50%{transform:translateY(-3px) scale(1.01)}}@keyframes letter-art-glow{0%{opacity:.48;filter:saturate(.92)}to{opacity:.64;filter:saturate(1.12)}}@keyframes marker-orb{0%,to{transform:translateY(2px) scale(.88)}50%{transform:translateY(-2px) scale(1.08)}}@keyframes brand-wish-burst{0%{transform:rotate(var(--angle)) translateX(25px) rotate(45deg) scale(.4);opacity:0}18%{opacity:1}to{transform:rotate(var(--angle)) translateX(var(--travel)) rotate(90deg) scale(.2);opacity:0}}@media(prefers-reduced-motion:reduce){.mobile-cover *,.mobile-letter-scenery *,.mobile-wishes-scenery *{animation:none!important;transition:none!important}.mobile-footer button,.moon-burst{display:none}}.mobile-story{display:none}@media(max-width:640px){body,html{overscroll-behavior:none}.experience.is-cover{height:100svh;min-height:0;overflow:hidden;background:#fff3de}.experience.is-cover .page-focus,.experience.is-cover .page-focus>div{height:100%;min-height:0}.mobile-story{display:block;position:fixed;inset:0;z-index:30;height:100svh;background:#fff3de;color:#74361f;isolation:isolate}.story-scroll{height:100%;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-width:none;transition:opacity .5s ease}.story-scroll[aria-hidden=true]{opacity:0;pointer-events:none}.story-scroll::-webkit-scrollbar{display:none}.story-page{position:relative;display:grid;place-items:center;width:100%;height:100svh;min-height:560px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:#fff0da;isolation:isolate}.story-ambient{position:absolute;z-index:-3;inset:-8%;background-position:50%;background-size:cover;filter:blur(28px) saturate(1.06);opacity:.74;transform:scale(1.15)}.story-page:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(180deg,#fff8eb54,#ffdbb23b 50%,#ff8b9f24),radial-gradient(circle at 50% 50%,transparent 45%,#ffce9e2e 100%);pointer-events:none}.story-frame{position:relative;z-index:2;width:100vw;height:100svh;overflow:hidden;box-shadow:0 0 38px #b9502a24;background:#fff6e7;transform:scale(.988);opacity:.88;transition:transform .85s cubic-bezier(.2,.8,.2,1),opacity .7s ease}.story-page.is-active .story-frame{transform:scale(1);opacity:1}.story-copy,.story-sheet{position:absolute;inset:0;display:block;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.story-copy img,.story-sheet img{display:block;width:100%;height:100%;-o-object-fit:fill;object-fit:fill}.story-sheet{z-index:1}.story-copy{z-index:2;opacity:0}.story-product-page{position:absolute;z-index:1;inset:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden;background:#a80712}.story-product-page img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.story-product-page img+img{border-top:2px solid #f5d18a;box-sizing:border-box}.story-product-page.is-single{display:block;background:#fff2df}.story-product-page.is-single img{-o-object-fit:fill;object-fit:fill}.story-page.is-active .story-title-copy{opacity:.58;mix-blend-mode:soft-light;animation:story-title-glow 4.8s ease-in-out infinite}.story-page.is-active .story-hero-copy{opacity:.25;mix-blend-mode:screen;transform-origin:70% 78%;animation:story-hero-breathe 5.5s ease-in-out infinite}.story-recipient-name{position:absolute;z-index:7;top:17.25%;left:17.2%;width:76%;margin:0;color:#f66e05;font-family:"NotoSerifSCNames",SimSun,宋体,Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(34px,11.2vw,55px);font-weight:400;line-height:1.05;letter-spacing:.015em;white-space:nowrap;text-shadow:0 2px 5px #d6531017;transform-origin:left center;animation:story-recipient-in .8s .32s both}.story-recipient-name.is-long{font-size:clamp(25px,8vw,40px);letter-spacing:0}.story-recipient-name.is-xlong{font-size:clamp(18px,5.8vw,29px);letter-spacing:0}.story-decor{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}.story-decor>img{position:absolute;height:auto;opacity:0;filter:drop-shadow(0 8px 16px #d8643830)}.story-page.is-active .decor-moon{top:-13vw;right:-17vw;width:46vw;opacity:.16;animation:story-moon 8s ease-in-out infinite}.story-page.is-active .decor-orbs{left:-31vw;bottom:-28vw;width:67vw;opacity:.3;animation:story-orbs 9s ease-in-out infinite}.story-page.is-active .decor-orbit{right:-18vw;top:43%;width:55vw;opacity:.23;animation:story-orbit 18s linear infinite}.story-page.is-active .decor-lanterns{left:-3vw;top:8%;width:31vw;opacity:.72;animation:story-lanterns 7s ease-in-out infinite}.story-page.is-active .decor-clouds{right:-8vw;bottom:-4vw;width:55vw;opacity:.28;animation:story-clouds 11s ease-in-out infinite}.story-page.is-active .decor-hearts{right:-5vw;top:49%;width:31vw;opacity:.54;animation:story-hearts 6s ease-in-out infinite}.decor-page-2 .decor-orbs,.decor-page-5 .decor-orbs,.decor-page-7 .decor-orbs{left:auto;right:-34vw}.decor-page-3 .decor-orbit,.decor-page-6 .decor-orbit,.decor-page-9 .decor-orbit{right:auto;left:-18vw;animation-direction:reverse}.story-decor .mobile-stardust{z-index:4;display:block;opacity:.32}.story-page.is-active .story-decor .mobile-stardust{animation:story-stars-in .8s both}.story-particles{position:absolute;z-index:4;inset:-3%;overflow:hidden;pointer-events:none;opacity:0;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 89%,transparent);mask-image:linear-gradient(180deg,transparent,#000 10%,#000 89%,transparent);transition:opacity 1.2s ease}.story-particles img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:sepia(.12) saturate(1.35) hue-rotate(-8deg) drop-shadow(0 0 8px #ffd673b8);will-change:transform,opacity}.story-particles img:nth-child(2){opacity:.26;transform:scale(1.22) rotate(180deg);filter:sepia(.35) saturate(1.7) hue-rotate(-20deg) blur(.7px) drop-shadow(0 0 12px #ff9c66a8)}.story-page.is-active .story-particles{opacity:.48;animation:story-particles-breathe 6.5s ease-in-out infinite}.story-page.is-active .story-particles img:first-child{animation:story-particles-drift 11s ease-in-out infinite}.story-page.is-active .story-particles img:nth-child(2){animation:story-particles-drift-alt 14s ease-in-out infinite}.story-title-float,.story-title-motion,.story-title-static{position:absolute;z-index:6;inset:0;width:100%;height:100%;pointer-events:none;transform-origin:38% 31%}.story-title-static .story-title-copy{opacity:1!important;mix-blend-mode:normal!important;animation:none!important;filter:none!important;transform:none!important}.story-title-motion .story-title-copy{z-index:1;opacity:1!important;mix-blend-mode:normal!important;animation:story-title-text-particle 2.2s ease-out both;filter:drop-shadow(0 8px 18px #ef782840)}.story-title-particles{position:absolute;z-index:5;left:-3%;top:10%;width:72%;height:38%;overflow:hidden;opacity:0;pointer-events:none;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse at 48% 48%,#000 0 48%,transparent 88%);mask-image:radial-gradient(ellipse at 48% 48%,#000 0 48%,transparent 88%)}.story-title-particles img{position:absolute;inset:-15%;width:130%;height:130%;-o-object-fit:cover;object-fit:cover;filter:sepia(.2) saturate(1.9) hue-rotate(-17deg) brightness(1.06) drop-shadow(0 0 10px #ffb73c);transform:scale(.72)}.story-title-particles i{position:absolute;width:8px;height:8px;background:linear-gradient(135deg,#fff6a5,#ff9b28 58%,#ff5870);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 7px #ffb12e)}.story-title-particles i:first-of-type{left:18%;top:31%}.story-title-particles i:nth-of-type(2){left:49%;top:16%;width:13px;height:13px}.story-title-particles i:nth-of-type(3){left:72%;top:58%;width:6px;height:6px}.story-title-particles i:nth-of-type(4){left:34%;top:76%;width:10px;height:10px}.story-page.is-active .story-title-particles{opacity:.72;animation:story-title-particles-in 2.2s ease-out both}.story-page.is-active .story-title-particles img{animation:story-title-particles-gather 2.4s cubic-bezier(.18,.78,.22,1) both}.story-page.is-active .story-title-particles i{animation:story-title-spark 1.5s ease-out both}.story-next{position:absolute;z-index:8;left:50%;bottom:max(9px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:4px;min-width:70px;padding:6px;border:0;background:transparent;color:#9b583e;font-size:8px;letter-spacing:.18em;transform:translateX(-50%);text-shadow:0 1px 8px #fff}.story-next i{display:block;width:8px;height:8px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);animation:story-arrow 1.6s ease-in-out infinite}.story-replay{position:absolute;z-index:8;left:50%;bottom:max(11px,env(safe-area-inset-bottom));min-height:32px;padding:7px 18px;border:1px solid #e977516b;border-radius:999px;background:#fff9edce;box-shadow:0 5px 18px #d45a2d20;color:#9a4a2f;font-size:10px;letter-spacing:.13em;transform:translateX(-50%);backdrop-filter:blur(9px)}.story-dots{position:fixed;z-index:80;right:5px;top:50%;display:flex;flex-direction:column;gap:2px;transform:translateY(-50%)}.story-dots button{display:grid;place-items:center;width:22px;height:18px;padding:0;border:0;background:transparent}.story-dots span{display:block;width:3px;height:3px;border-radius:99px;background:#a2553899;box-shadow:0 0 0 1px #fff9ef80;transition:.3s}.story-dots .is-current span{height:15px;background:#f16d3c;box-shadow:0 0 7px #ff9b5b}.story-blessing{position:absolute;z-index:9;left:26.8%;right:5.4%;bottom:6.7%;display:flex;align-items:center;height:4.9%;min-height:34px;padding:4px 5px 4px 13px;border:1px solid #fff;background:#fff8eee8;border-radius:999px;box-shadow:0 7px 20px #e55b4330;backdrop-filter:blur(8px)}.story-blessing input{min-width:0;flex:1;height:100%;padding:0;border:0;outline:0;background:transparent;color:#8c422d;font-size:clamp(11px,3vw,14px)}.story-blessing input::-moz-placeholder{color:#c68f76}.story-blessing input::placeholder{color:#c68f76}.story-blessing button{display:grid;place-items:center;width:31px;aspect-ratio:1;flex:0 0 auto;padding:0;border:0;border-radius:50%;background:linear-gradient(135deg,#ffb025,#ff5b78);color:#fff;font-size:14px;box-shadow:inset 0 1px #fff7}.story-blessing>span{position:absolute;right:5px;bottom:calc(100% + 5px);max-width:190px;padding:4px 8px;border-radius:10px;background:#fff9efdf;color:#9a4b32;font-size:8px;white-space:nowrap}.story-live-danmaku{position:absolute;z-index:7;top:33%;left:0;right:0;height:36%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);pointer-events:none}.story-live-danmaku:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at center,#fff9ed52,transparent 72%);backdrop-filter:blur(.7px)}.story-loader{position:fixed;z-index:200;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#fffaf0 0 17%,#ffe5c6 44%,#ffb68b 76%,#ff7892 115%);transition:opacity .6s ease,visibility .6s ease}.story-loader.is-leaving{opacity:0;visibility:hidden}.story-loader:after,.story-loader:before{content:"";position:absolute;border-radius:50%;background:linear-gradient(135deg,#fff36f,#ff9132 47%,#ff4f83);box-shadow:inset 12px 14px 25px #fff9a8aa,0 16px 35px #ef5b4d30;animation:loader-orb 7s ease-in-out infinite}.story-loader:before{left:-18vw;bottom:-8vw;width:54vw;aspect-ratio:1}.story-loader:after{right:-15vw;top:-8vw;width:42vw;aspect-ratio:1;animation-delay:-3.5s}.story-loader .loader-title{position:relative;z-index:2;width:min(88vw,540px);height:auto;filter:drop-shadow(0 8px 16px #e66b3930);clip-path:inset(0 100% 0 0);animation:loader-write 1.15s cubic-bezier(.22,.75,.18,1) .15s forwards}.story-loader .story-particles{z-index:1;inset:-5%;opacity:.54;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse at 50% 48%,#000 0 60%,transparent 94%);mask-image:radial-gradient(ellipse at 50% 48%,#000 0 60%,transparent 94%);animation:loader-particles-breathe 5.8s ease-in-out infinite}.story-loader .story-particles img:first-child{animation:loader-particles-rise 9s ease-in-out infinite}.story-loader .story-particles img:nth-child(2){opacity:.32;animation:loader-particles-rise-alt 12s ease-in-out infinite}.loader-halo{position:absolute;width:68vw;max-width:400px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff8cbd9 0 22%,#ffd8756b 48%,transparent 72%);filter:blur(4px);animation:loader-halo 4s ease-in-out infinite}.loader-stars{position:relative;z-index:3;width:min(72vw,430px);height:0}.loader-stars i{position:absolute;width:10px;height:10px;background:#f67832;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:loader-star 1.8s ease-in-out infinite}.loader-stars i:first-child{left:8%;bottom:38px}.loader-stars i:nth-child(2){right:13%;bottom:2px;animation-delay:-.7s}.loader-stars i:nth-child(3){left:55%;top:31px;width:6px;height:6px;animation-delay:-1.2s}.loader-progress{position:relative;z-index:2;width:min(62vw,280px);height:2px;margin-top:34px;overflow:hidden;border-radius:9px;background:#9a4b2d24}.loader-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f47a27,#ff476f,#ffb321);box-shadow:0 0 9px #ff794e;transition:width .35s ease}.story-loader p{position:relative;z-index:2;margin:15px 0 0;color:#985b40;font-family:var(--serif);font-size:10px;letter-spacing:.2em}}@media(max-width:640px) and (max-aspect-ratio:9/17){.story-recipient-name{top:23.05%}.story-blessing{bottom:13.4%;height:4.1%}.story-live-danmaku{top:37%;height:30%}}@keyframes story-title-glow{0%,to{filter:brightness(1);transform:translateY(0)}50%{filter:brightness(1.18) saturate(1.1);transform:translateY(-1px)}}@keyframes story-hero-breathe{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.17);transform:scale(1.006)}}@keyframes story-recipient-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes story-moon{0%,to{transform:scale(.96);filter:brightness(.95)}50%{transform:scale(1.05);filter:brightness(1.16)}}@keyframes story-orbs{0%,to{transform:translateY(9px) rotate(-2deg)}50%{transform:translate(14px,-14px) rotate(3deg)}}@keyframes story-orbit{to{transform:rotate(1turn)}}@keyframes story-lanterns{0%,to{transform:translateY(14px) rotate(-3deg)}50%{transform:translate(9px,-13px) rotate(3deg)}}@keyframes story-clouds{0%,to{transform:translateX(-8px);opacity:.22}50%{transform:translateX(16px);opacity:.34}}@keyframes story-hearts{0%,to{transform:translateY(8px) scale(.94)}50%{transform:translateY(-13px) scale(1.04)}}@keyframes story-particles-breathe{0%,to{opacity:.37}50%{opacity:.57}}@keyframes story-particles-drift{0%,to{transform:scale(1.04) translate3d(-2%,2%,0)}50%{transform:scale(1.1) translate3d(3%,-3%,0)}}@keyframes story-particles-drift-alt{0%,to{transform:scale(1.22) rotate(180deg) translate3d(2%,-2%,0)}50%{transform:scale(1.3) rotate(183deg) translate3d(-3%,3%,0)}}@keyframes story-title-arrive{0%{opacity:0;clip-path:circle(0 at 43% 42%);transform:translateY(18px) scale(.91);filter:blur(9px) brightness(1.7) drop-shadow(0 0 22px #ffbd42)}58%{opacity:1;clip-path:circle(44% at 43% 42%);filter:blur(1px) brightness(1.2) drop-shadow(0 0 16px #ff9c36)}to{opacity:1;clip-path:circle(82% at 43% 42%);transform:none;filter:blur(0) brightness(1) drop-shadow(0 8px 18px #ef782840)}}@keyframes story-title-alive{0%,to{transform:translateY(0) scale(1);filter:brightness(1) drop-shadow(0 8px 18px #ef782840)}50%{transform:translateY(-3px) scale(1.008);filter:brightness(1.08) drop-shadow(0 11px 23px #ef782854)}}@keyframes story-title-particles-in{0%{opacity:0}20%{opacity:.9}72%{opacity:.62}to{opacity:.18}}@keyframes story-title-particles-gather{0%{transform:scale(1.2);opacity:.05}45%{transform:scale(.84);opacity:.92}to{transform:scale(1.02);opacity:.28}}@keyframes story-title-text-particle{0%{filter:blur(7px) brightness(1.8) drop-shadow(0 0 18px #ffb642);opacity:.15}45%{filter:blur(1px) brightness(1.35) drop-shadow(0 0 12px #ff9d36);opacity:.82}to{filter:blur(0) brightness(1) drop-shadow(0 8px 18px #ef782840);opacity:1}}@keyframes story-title-spark{0%{opacity:0;transform:scale(.2) rotate(0)}35%{opacity:1;transform:scale(1.8) rotate(50deg)}to{opacity:0;transform:scale(.7) rotate(100deg)}}@keyframes story-stars-in{0%{opacity:0}to{opacity:.32}}@keyframes story-arrow{0%,to{opacity:.35;transform:translateY(-2px) rotate(45deg)}50%{opacity:1;transform:translateY(4px) rotate(45deg)}}@keyframes loader-write{to{clip-path:inset(0 0 0 0)}}@keyframes loader-halo{50%{transform:scale(1.09);opacity:.75}}@keyframes loader-orb{50%{transform:translate(13px,-18px) rotate(7deg)}}@keyframes loader-star{50%{transform:scale(1.65) rotate(45deg);opacity:.35}}@keyframes loader-particles-breathe{0%,to{opacity:.42}50%{opacity:.62}}@keyframes loader-particles-rise{0%,to{transform:scale(1.05) translate3d(-2%,3%,0)}50%{transform:scale(1.13) translate3d(3%,-4%,0)}}@keyframes loader-particles-rise-alt{0%,to{transform:scale(1.2) rotate(180deg) translate3d(2%,-2%,0)}50%{transform:scale(1.3) rotate(184deg) translate3d(-3%,4%,0)}}@media(max-width:640px) and (prefers-reduced-motion:reduce){.story-scroll{scroll-behavior:auto}.story-loader *,.story-page *{animation:none!important;transition:none!important}.story-loader .loader-title{clip-path:none}.story-copy{display:none}.story-next i{animation:none}}.friend-card{display:none}@media(max-width:640px){.friend-card{display:block;position:fixed;inset:0;z-index:30;height:100svh;background:#ffe9da;color:#6b261d;isolation:isolate}.friend-card-scroll{height:100%;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-width:none}.friend-card-scroll::-webkit-scrollbar{display:none}.friend-card-page{position:relative;width:100%;height:100svh;min-height:560px;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always;background:#ffe9da;isolation:isolate}.friend-card-art{position:absolute;z-index:1;inset:0;width:100%;height:100%;-o-object-fit:fill;object-fit:fill;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;transform:scale(.995);opacity:.94;transition:transform .85s cubic-bezier(.2,.8,.2,1),opacity .7s ease}.friend-card-page.is-active .friend-card-art{transform:scale(1);opacity:1}.friend-card-recipient{position:absolute;z-index:4;top:34.4%;left:10.1%;width:78%;margin:0;color:#59251f;font-family:"NotoSerifSCNames","Noto Serif SC",Songti SC,SimSun,serif;font-size:clamp(19px,5.5vw,28px);font-weight:500;line-height:1.25;letter-spacing:.08em;white-space:nowrap;text-shadow:0 1px 6px #fff9;overflow:hidden;text-overflow:ellipsis}.friend-card-recipient.is-long{font-size:clamp(16px,4.7vw,23px);letter-spacing:.03em}.friend-card-recipient.is-xlong{font-size:clamp(13px,3.8vw,19px);letter-spacing:0}.friend-card-next{position:absolute;z-index:8;left:50%;bottom:max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px;padding:7px;border:0;background:#fff8efd1;border-radius:99px;color:#9a3b28;font-size:9px;letter-spacing:.17em;transform:translateX(-50%);box-shadow:0 5px 17px #c74b2730;backdrop-filter:blur(8px)}.friend-card-next i{display:block;width:8px;height:8px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);animation:friend-arrow 1.6s ease-in-out infinite}.friend-danmaku-layer{position:absolute;z-index:4;inset:0;color:#6d291f}.friend-danmaku-kicker{top:16.2%;left:0;right:0;color:#d44c18;font-size:9px;letter-spacing:.24em}.friend-danmaku-kicker,.friend-danmaku-layer h2{position:absolute;margin:0;text-align:center;font-weight:600}.friend-danmaku-layer h2{top:19.2%;left:2%;right:2%;color:#ef4b0c;font-family:SimSun,宋体,Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(26px,8.4vw,42px);line-height:1.35;letter-spacing:.04em;white-space:nowrap;text-shadow:0 3px 12px #fff8}.friend-live-danmaku{position:absolute;top:34%;left:0;right:0;height:34%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.friend-live-danmaku:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse,#fff8e68f,transparent 72%);backdrop-filter:blur(1px)}.friend-blessing-form{position:absolute;left:10%;right:10%;bottom:12.2%;display:flex;align-items:center;min-height:46px;padding:5px 5px 5px 16px;border:1px solid #fff;background:#fff9f0e8;border-radius:999px;box-shadow:0 8px 24px #cf5f3a33;backdrop-filter:blur(10px)}.friend-blessing-form input{min-width:0;flex:1;height:36px;padding:0;border:0;outline:0;background:transparent;color:#7d3025;font-size:16px}.friend-blessing-form input::-moz-placeholder{color:#b47c6a}.friend-blessing-form input::placeholder{color:#b47c6a}.friend-blessing-form button{height:36px;min-width:60px;padding:0 13px;border:0;border-radius:999px;background:linear-gradient(135deg,#ff9b21,#f04e2b 65%,#f43b72);color:#fff;font-size:12px;font-weight:650;letter-spacing:.08em;box-shadow:inset 0 1px #fff8}.friend-blessing-form>span{position:absolute;right:9px;bottom:calc(100% + 6px);padding:4px 9px;border-radius:10px;background:#fff9efec;color:#9a4b32;font-size:9px;white-space:nowrap}.friend-page-number{position:absolute;right:5.5%;bottom:4.1%;font-family:Georgia,serif;font-size:13px;letter-spacing:.08em;color:#7b3027}.friend-card-replay{position:absolute;z-index:8;left:50%;bottom:max(22px,env(safe-area-inset-bottom));min-height:34px;padding:8px 19px;border:1px solid #d85d3c80;border-radius:999px;background:#fff9efdf;color:#9a3c29;font-size:10px;letter-spacing:.13em;transform:translateX(-50%);backdrop-filter:blur(9px)}.friend-card-dots{position:fixed;z-index:80;right:5px;top:50%;display:flex;flex-direction:column;gap:2px;transform:translateY(-50%)}.friend-card-dots button{display:grid;place-items:center;width:22px;height:18px;padding:0;border:0;background:transparent}.friend-card-dots span{display:block;width:3px;height:3px;border-radius:99px;background:#9c4b3280;box-shadow:0 0 0 1px #fff9ef80;transition:.3s}.friend-card-dots .is-current span{height:15px;background:#f16932;box-shadow:0 0 7px #ff9d4f}}@keyframes friend-arrow{0%,to{opacity:.4;transform:translateY(-2px) rotate(45deg)}50%{opacity:1;transform:translateY(4px) rotate(45deg)}}.desktop-gate{display:none}@media (min-width:641px){.experience{display:none!important}.desktop-gate{position:relative;display:grid;place-items:center;min-height:100vh;padding:56px 24px;overflow:hidden;background:linear-gradient(165deg,#fffdf8,#fdf1de 42%,#fbe2c4);font-family:var(--font-sans,"PingFang SC","Microsoft YaHei",system-ui,sans-serif);color:#7a3a15}.gate-glow{position:absolute;inset:-18% -12% auto -12%;height:82%;pointer-events:none;background:radial-gradient(52% 54% at 32% 34%,rgba(247,166,59,.38),transparent 68%),radial-gradient(40% 44% at 76% 18%,rgba(239,106,58,.3),transparent 70%),radial-gradient(34% 34% at 62% 78%,hsla(39,93%,73%,.42),transparent 72%);filter:blur(8px)}.gate-inner{position:relative;z-index:1;flex-direction:column;width:min(920px,100%);max-width:920px;text-align:center}.gate-head,.gate-inner{display:flex;align-items:center}.gate-head{gap:10px;margin-bottom:26px}.gate-logo{width:30px;height:30px;-o-object-fit:contain;object-fit:contain}.gate-brand{font-size:15px;font-weight:600;letter-spacing:.06em;color:#a1642c}.gate-title{margin:0 0 12px;font-size:30px;font-weight:700;line-height:1.35;letter-spacing:.02em;color:#7a3a15}.gate-sub{margin:0 0 28px;font-size:14px;line-height:1.9;color:#a8794c}.gate-content{display:flex;align-items:center;justify-content:center;gap:clamp(34px,6vw,76px);width:100%;padding:0 12px 30px}.gate-phone{position:relative;width:clamp(286px,31vw,340px);flex:0 0 auto;padding:11px;border-radius:44px;background:linear-gradient(155deg,#4a3628,#2f2118 46%,#584030);box-shadow:0 30px 60px -18px rgba(122,58,21,.42),inset 0 2px 0 0 hsla(0,0%,100%,.22),inset 0 -2px 0 0 rgba(0,0,0,.3)}.gate-speaker{position:absolute;top:22px;left:50%;transform:translateX(-50%);z-index:3;width:78px;height:6px;border-radius:999px;background:rgba(38,26,18,.85)}.gate-screen{position:relative;aspect-ratio:9/19.2;overflow:hidden;border-radius:34px;background:#fbf6ec;box-shadow:inset 0 0 0 1px rgba(0,0,0,.28)}.gate-preview{display:block;width:100%;height:100%;border:0;background:#fff3de}.gate-screen:after{display:none}.gate-swipe-hint{position:absolute;left:50%;bottom:-27px;transform:translateX(-50%);width:-moz-max-content;width:max-content;color:#9a6a43;font-size:11px;letter-spacing:.08em}.gate-side{flex:0 1 238px}.gate-qr-card,.gate-side{display:flex;flex-direction:column;align-items:center}.gate-qr-card{position:relative;gap:8px;width:196px;padding:16px 16px 13px;border-radius:20px;background:rgba(255,253,248,.96);box-shadow:0 14px 30px -10px rgba(60,30,8,.5);backdrop-filter:blur(3px)}.gate-qr{width:138px;height:138px;line-height:0}.gate-qr svg{display:block;width:100%;height:100%}.gate-qr-fallback{margin:6px 0;font-size:12px;line-height:1.6;color:#b06a3a}.gate-qr-tip{font-size:12px;font-weight:600;letter-spacing:.04em;color:#8a4b26}.gate-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:24px}.gate-copy{padding:11px 26px;border:1px solid rgba(191,79,28,.32);border-radius:999px;background:linear-gradient(135deg,#f7a63b,#ef6a3a);color:#fff;font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:0 12px 24px -12px rgba(239,106,58,.75);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.gate-copy:hover{transform:translateY(-1px);filter:brightness(1.03)}.gate-copy:active{transform:translateY(0)}.gate-copy:focus-visible{outline:2px solid #7a3a15;outline-offset:3px}.gate-hint{font-size:12.5px;line-height:1.8;color:#ad8258}@media (max-width:760px){.desktop-gate{padding-inline:14px}.gate-content{gap:24px;padding-inline:0}.gate-phone{width:286px}.gate-side{flex-basis:210px}}}