.mask[data-v-a55dcd7a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;background:#23181580}.modal[data-v-a55dcd7a]{width:420px;max-width:100%;padding:28px 26px 22px;border-radius:20px;background:var(--color-bg, #faf4e8);box-shadow:0 24px 60px #2318153d}.eyebrow[data-v-a55dcd7a]{margin:0;font-size:11px;letter-spacing:.24em;color:var(--color-primary, #af542f)}.title[data-v-a55dcd7a]{margin:6px 0 0;font-family:var(--font-serif, serif);font-size:21px;letter-spacing:.04em;color:var(--color-text, #231815)}.body[data-v-a55dcd7a]{margin-top:16px}.body p[data-v-a55dcd7a]{margin:0 0 10px;font-size:13.5px;line-height:1.9;color:var(--color-text-secondary, #5c5347)}.body p.quiet[data-v-a55dcd7a]{margin-bottom:0;color:var(--color-text-tertiary, #9a9082)}.ops[data-v-a55dcd7a]{margin-top:22px;display:flex;gap:12px}.ops .btn[data-v-a55dcd7a]{flex:1;min-width:0}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}:root{--color-primary: #af542f;--color-primary-hover: #8a3f20;--color-primary-light: #f4e4da;--color-primary-text: #96502f;--color-text: #231815;--color-text-secondary: #5c5347;--color-text-tertiary: #9a9082;--color-bg: #faf4e8;--color-bg-section: #f2e8d2;--color-border: #e8dcc2;--color-accent: #f2b263;--color-accent-deep: #d88b3f;--color-accent-light: #fcebd2;--color-teal: #3a4c54;--color-teal-deep: #2e3d44;--color-teal-light: #e4e8e8;--color-coral: #e85a4c;--font-serif: "XiQueSong", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-title: "XiQueBeiWei", "XiQueSong", "Songti SC", serif;--font-note: "XiQueXiaoKai", "XiQueSong", "STKaiti", serif;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--fs-display: 2.5rem;--fs-h1: 2rem;--fs-h2: 1.5rem;--fs-h3: 1.125rem;--fs-body: 1rem;--fs-small: .875rem;--fs-caption: .75rem;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-pill: 999px;--space-page: 32px;--space-section: 96px;--shadow-soft: 0 8px 24px rgba(35, 24, 21, .08)}.page{min-height:100vh;padding:64px var(--space-page) 40px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;background:radial-gradient(circle at 20% 0%,rgba(242,178,99,.12),transparent 45%),var(--color-bg)}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:32px}.title{margin:28px 0 0;font-family:var(--font-serif);font-size:var(--fs-h1);font-weight:400;letter-spacing:.08em;line-height:1.4;color:var(--color-text)}.desc{margin:20px auto 0;width:100%;max-width:320px;font-family:var(--font-serif);font-size:var(--fs-body);line-height:1.85;color:var(--color-text-secondary)}.actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:48px}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:220px;padding:15px 32px;border:1px solid transparent;border-radius:var(--radius-pill);font-family:var(--font-serif);font-size:var(--fs-body);letter-spacing:.06em;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s}.btn-primary{background:var(--color-primary);color:#fffdf7}.btn-primary:hover{background:var(--color-primary-hover)}.btn-ghost{background:transparent;color:var(--color-primary);border-color:var(--color-border)}.btn-ghost:hover{border-color:var(--color-primary)}.text-note{margin:24px 0 0;text-align:center;font-size:var(--fs-small);line-height:1.8;color:var(--color-text-tertiary)}@font-face{font-family:XiQueSong;src:url(/fonts/XiQueSong.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:XiQueBeiWei;src:url(/fonts/XiQueBeiWei.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:XiQueXiaoKai;src:url(/fonts/XiQueXiaoKai.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--paper: #FAF4E8;--paper-deep: #F2E8D2;--paper-line: #E8DCC2;--ink: #231815;--ink-soft: #5C5347;--ink-faint: #9A9082;--ochre: #AF542F;--ochre-deep: #8A3F20;--ochre-text: #96502F;--persimmon: #E85A4C;--apricot: #F2B263;--apricot-deep: #D88B3F;--daiqing: #3A4C54;--daiqing-deep: #2E3D44;--font-body: "XiQueSong", "Songti SC", "STSong", "SimSun", serif;--font-display: "XiQueBeiWei", "XiQueSong", "Songti SC", serif;--font-hand: "XiQueXiaoKai", "Kaiti SC", "STKaiti", "KaiTi", serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--prose-width: 595px;--shadow-paper: 0 24px 70px rgba(35, 24, 21, .075), 0 2px 8px rgba(35, 24, 21, .04)}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}.letter-page{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:#f6eedf;font-family:var(--font-body);font-size:16px;line-height:1.8;letter-spacing:.02em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.letter-page.lightbox-open{overflow:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img,video,svg{display:block;max-width:100%}p,h1,h2,h3,figure{margin:0}::selection{color:var(--ink);background:#f2b26375}:focus-visible{outline:2px solid var(--daiqing);outline-offset:4px}.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}.paper-grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.page-shell{position:relative;z-index:1;width:min(940px,100%);margin:0 auto;padding:12px 32px 48px}.template-root{opacity:1;transform:translateY(0);transition:opacity .2s var(--ease-soft),transform .32s var(--ease-out)}.template-root.is-switching{opacity:0;transform:translateY(7px)}.loading-note{padding:80px 0;color:var(--ink-faint);text-align:center}.letter-sheet{position:relative;overflow:hidden;padding:clamp(44px,7vw,76px) clamp(38px,8vw,86px) 50px;background:var(--paper);border:1px solid rgba(216,200,168,.66);border-radius:12px;box-shadow:var(--shadow-paper)}.letter-sheet:after{content:"";position:absolute;right:0;bottom:0;width:42px;height:42px;background:linear-gradient(135deg,#e8dcc21f 48%,#e4d5b8,#f6eedf 52%);pointer-events:none}.template-hero{animation:hero-arrive .72s var(--ease-out) both}@keyframes hero-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.eyebrow{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--ochre-text);font-size:12px;letter-spacing:.32em;white-space:nowrap}.eyebrow:before,.eyebrow:after{content:"";width:34px;height:1px;background:var(--ochre);opacity:.52}.hero-title{max-width:var(--prose-width);margin:22px auto 0;font-family:var(--font-display);font-size:clamp(34px,5vw,52px);font-weight:400;line-height:1.35;letter-spacing:.075em;text-align:center;text-wrap:balance}.letter-body{max-width:var(--prose-width);margin:40px auto 0;font-size:17px;line-height:2.05;letter-spacing:.035em;text-align:left}.signature{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin:50px 8px 0 auto}.signature-copy{min-width:0;text-align:right}.signature-name{font-family:var(--font-hand);font-size:26px;line-height:1.35;letter-spacing:.08em}.signature-date{margin-top:5px;color:var(--ink-soft);font-size:13px;letter-spacing:.08em}.seal{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:68px;height:68px;padding-top:1px;color:var(--ochre);border:1.5px dashed currentColor;border-radius:50%;line-height:1;transform:rotate(-8deg);opacity:.9}.seal-main{padding-left:.12em;font-size:15px;line-height:1;letter-spacing:.12em}.seal-sub{margin-top:4px;padding-left:.04em;font-size:8px;line-height:1;letter-spacing:.04em;opacity:.8}.theme-qinglv{--paper: #FFF5F6;--paper-deep: #FBE3E7;--paper-line: #F0CDD4;--ochre: #B45263;--ochre-deep: #8E3A4A;--ochre-text: #A34757;--apricot: #E9B8C1;--apricot-deep: #D999A6;--persimmon: #E26D80;--ink: #43262F;--ink-soft: #7A5560;--ink-faint: #B48890;--daiqing: #7C3E4C;--daiqing-deep: #5E2E3A}.theme-shengri{--paper: #FFF8E9;--paper-deep: #FBE8C8;--paper-line: #F0D9AB;--ochre: #E18A3C;--ochre-deep: #B96A26;--ochre-text: #C8782F;--apricot: #F4C77C;--apricot-deep: #DCA854;--persimmon: #E76F51;--ink: #46321F;--ink-soft: #7C6648;--ink-faint: #B39A72;--daiqing: #5C4630;--daiqing-deep: #443322}.theme-qinzi{--paper: #FBFBF5;--paper-deep: #EAF3EC;--paper-line: #D7E7DB;--ochre: #5FA38A;--ochre-deep: #46846E;--ochre-text: #4E8E78;--apricot: #F0D69A;--apricot-deep: #D8B96F;--persimmon: #E79A6B;--ink: #34433B;--ink-soft: #6B7C72;--ink-faint: #9CAFA3;--daiqing: #5B7E8C;--daiqing-deep: #44636F}.theme-qinglv:after{background:linear-gradient(135deg,#f0cdd41f 48%,#f3d2d9,#fbf0f2 52%)}.theme-shengri:after{background:linear-gradient(135deg,#f0d9ab1f 48%,#f3ddb0,#fff6e4 52%)}.theme-qinzi:after{background:linear-gradient(135deg,#d7e7db1f 48%,#dcebe1,#fbfcf8 52%)}.sheet-ornament{position:absolute;top:8px;right:6px;z-index:0;width:224px;height:190px;pointer-events:none;opacity:.5}.sheet-ornament svg{width:100%;height:100%}.letter-sheet>:not(.sheet-ornament){position:relative;z-index:1}.letter-page[data-theme=qinglv]{background:#f6e9ec}.letter-page[data-theme=shengri]{background:#f9efda}.letter-page[data-theme=qinzi]{background:#eef3ee}.voice-player{position:relative;isolation:isolate;display:flex;align-items:center;gap:16px;max-width:610px;margin:38px auto 0;padding:16px 18px;overflow:hidden;color:var(--ink);background:linear-gradient(135deg,#ffffff8c,#ffffff42 55%,#faf4e852);border:1px solid rgba(255,255,255,.82);border-radius:18px;box-shadow:0 6px 16px #23181514;backdrop-filter:blur(26px) saturate(1.12);-webkit-backdrop-filter:blur(26px) saturate(1.12);transition:background-color .22s var(--ease-soft),box-shadow .22s var(--ease-soft)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.voice-player{background:#faf4e8f0}}.voice-player>*{position:relative;z-index:1}.audio-is-playing .voice-player{background:linear-gradient(135deg,#fff9,#ffffff4d 55%,#faf4e861);box-shadow:0 8px 18px #23181517}.voice-toggle{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:center;gap:8px;min-width:104px;height:42px;padding:0 16px;color:var(--paper);background:var(--ochre);border:1px solid rgba(255,255,255,.26);border-radius:12px;box-shadow:0 4px 10px #2318151a;transition:background-color .18s,transform .18s var(--ease-out),box-shadow .18s}.voice-toggle:hover{background:var(--ochre-deep);box-shadow:0 5px 12px #2318151f;transform:translateY(-1px)}.voice-toggle:active{transform:translateY(0) scale(.985)}.voice-toggle-icon{position:relative;display:grid;place-items:center;width:18px;height:18px}.voice-toggle-icon svg{width:18px;height:18px}.voice-toggle-label{position:relative;font-size:13px;line-height:1;letter-spacing:.03em;white-space:nowrap}.audio-is-playing .voice-toggle{background:var(--daiqing);border-color:#ffffff2e;box-shadow:0 4px 10px #2318151a}.voice-track{flex:1;min-width:0}.voice-track-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:22px;margin-bottom:4px}.audio-time{color:var(--ink-soft);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.voice-player .audio-time{color:var(--ink-soft)}.voice-bars{display:flex;align-items:flex-end;gap:3px;height:22px}.voice-bars span{display:block;width:4px;height:10px;background:linear-gradient(to top,var(--ochre),var(--apricot));border-radius:999px;opacity:.5;transform-origin:bottom;will-change:transform}.voice-bars span:nth-child(1){height:9px}.voice-bars span:nth-child(2){height:17px}.voice-bars span:nth-child(3){height:12px}.voice-bars span:nth-child(4){height:20px}.voice-progress{position:relative;display:flex;align-items:center;height:26px;margin:0 6px;cursor:pointer}.voice-progress:focus-within{outline:2px solid var(--daiqing);outline-offset:4px;border-radius:99px}.voice-progress-rail{position:absolute;right:0;left:0;height:4px;background:#ffffff7a;border:1px solid rgba(255,255,255,.62);border-radius:999px;box-shadow:none;transition:height .18s var(--ease-soft),background-color .18s}.voice-progress:hover .voice-progress-rail,.voice-progress:focus-within .voice-progress-rail{height:5px;background:#ffffff94;box-shadow:none}.voice-progress-fill{position:relative;display:block;width:0;height:100%;overflow:hidden;background:radial-gradient(18px 9px at 100% 50%,rgba(255,250,235,.88),transparent 72%),linear-gradient(90deg,var(--ochre-deep) 0%,var(--ochre) 58%,var(--apricot-deep) 100%);border-radius:inherit;box-shadow:0 0 6px #f2b2634d;transition:width .1s linear}.voice-progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 43%,rgba(250,244,232,.9) 50%,rgba(242,178,99,.24) 58%,transparent 70%);background-size:220% 100%;background-position:130% 0;opacity:0;transition:opacity .2s}.audio-is-playing .voice-progress-fill:after{opacity:1;animation:voice-shine 1.4s linear infinite}@keyframes voice-shine{0%{background-position:130% 0}to{background-position:-100% 0}}.voice-progress-head{position:absolute;top:50%;left:var(--audio-progress, 0%);width:3px;height:5px;background:var(--paper);border:0;border-radius:1px;box-shadow:0 0 5px #fffaebd9;transform:translate(-50%,-50%);transition:left .1s linear,background-color .18s,box-shadow .18s}.voice-progress:hover .voice-progress-head,.voice-progress:focus-within .voice-progress-head{box-shadow:0 0 6px #fffaebf2}.audio-is-playing .voice-progress-head{background:var(--paper);box-shadow:0 0 6px #fffaebf2}.voice-progress input[type=range]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.voice-progress input[type=range]:focus-visible{outline:none}input[type=range]{--range-progress: 0%;width:100%;height:24px;margin:0;padding:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,var(--ochre) 0 var(--range-progress),rgba(175,84,47,.18) var(--range-progress) 100%);border-radius:99px}input[type=range]::-moz-range-track{height:3px;background:#af542f2e;border-radius:99px}input[type=range]::-moz-range-progress{height:3px;background:var(--ochre);border-radius:99px}input[type=range]::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5.5px;background:var(--paper);border:2px solid var(--ochre);border-radius:50%;box-shadow:0 1px 4px #2318151f;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]::-moz-range-thumb{width:11px;height:11px;background:var(--paper);border:2px solid var(--ochre);border-radius:50%}.image-deck{max-width:640px;margin:48px auto 0}.photo-stage{padding:8px 26px 26px}.photo-deck{position:relative;aspect-ratio:100 / 84}.deck-card{position:absolute;top:50%;left:50%;display:block;width:100%;height:auto;aspect-ratio:4 / 3;margin:0;padding:0;overflow:hidden;background:#fffdf8;border:7px solid #FFFDF8;border-radius:9px;box-shadow:0 16px 35px #2318151c,0 3px 8px #2318150f;opacity:0;pointer-events:none;touch-action:pan-y;transform:translate(-50%,-50%) scale(.94);transition:transform .48s var(--ease-out),opacity .32s var(--ease-soft),box-shadow .3s}.deck-card[data-orientation=portrait]{width:64%;aspect-ratio:4 / 5}.deck-card[data-orientation=square]{width:84%;aspect-ratio:1}.deck-card img{width:100%;height:100%;object-fit:cover;border-radius:3px;pointer-events:none;-webkit-user-select:none;user-select:none;transition:transform .7s var(--ease-out),filter .3s var(--ease-soft)}.deck-card.is-current{z-index:6;opacity:1;pointer-events:auto;cursor:zoom-in;box-shadow:0 18px 42px #23181526,0 4px 10px #23181512;transform:translate(-50%,-50%)}.deck-card.is-prev{z-index:4;opacity:.58;transform:translate(-50%,-50%) translate(-17px,9px) rotate(-1.4deg) scale(.976)}.deck-card.is-next{z-index:4;opacity:.58;transform:translate(-50%,-50%) translate(17px,7px) rotate(1.4deg) scale(.976)}.deck-card.is-next-2{z-index:3;opacity:.3;transform:translate(-50%,-50%) translate(30px,16px) rotate(2.5deg) scale(.945)}.deck-card.is-hidden{z-index:1;opacity:0;transform:translate(-50%,-50%) scale(.92)}.deck-card.is-current:hover img{transform:scale(1.012);filter:saturate(.97)}.deck-card.is-dragging{z-index:8;cursor:grabbing;transition:none}.photo-deck.is-swiping-next .deck-card.is-next{opacity:.92;transform:translate(-50%,-50%) translate(9px,3px) rotate(.7deg) scale(.988)}.photo-deck.is-swiping-prev .deck-card.is-prev{opacity:.92;transform:translate(-50%,-50%) translate(-9px,3px) rotate(-.7deg) scale(.988)}.deck-expand{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;color:var(--ink);background:#faf4e8eb;border:1px solid rgba(255,255,255,.4);border-radius:50%;opacity:0;transform:translateY(3px);transition:opacity .22s,transform .28s var(--ease-out)}.deck-card.is-current .deck-expand{opacity:.92;transform:translateY(0)}.deck-expand svg{width:15px;height:15px}.image-deck.is-single .photo-stage{padding:0}.image-deck.is-single .deck-card{width:100%;border-width:6px}.image-deck.is-single[data-current-orientation=landscape] .photo-deck,.image-deck.is-single[data-current-orientation=landscape] .deck-card{aspect-ratio:4 / 3}.image-deck.is-single[data-current-orientation=portrait] .photo-deck,.image-deck.is-single[data-current-orientation=portrait] .deck-card{aspect-ratio:4 / 5}.image-deck.is-single[data-current-orientation=square] .photo-deck,.image-deck.is-single[data-current-orientation=square] .deck-card{aspect-ratio:1}.image-deck.is-single .deck-controls{display:none}.deck-controls{display:flex;align-items:center;justify-content:center;gap:9px;max-width:410px;margin:16px auto 0}.deck-nav{display:grid;flex:none;place-items:center;width:38px;height:38px;padding:0;color:var(--ink-soft);background:transparent;border:1px solid var(--paper-line);border-radius:50%;transition:color .2s,background-color .2s,border-color .2s,transform .2s var(--ease-out)}.deck-nav:hover{color:var(--ochre);background:var(--paper-deep);border-color:#af542f57;transform:scale(1.04)}.deck-nav:active{transform:scale(.97)}.deck-nav svg{width:16px;height:16px}.deck-dots{display:flex;flex:none;align-items:center;justify-content:center;gap:4px;min-width:38px}.deck-dot{width:6px;height:6px;padding:0;background:#af542f3d;border:0;border-radius:999px;transition:width .3s var(--ease-out),background-color .25s}.deck-dot.is-active{width:17px;background:var(--ochre)}.deck-dot:hover{background:var(--apricot-deep)}.deck-count{min-width:34px;color:var(--ink-faint);font-size:11px;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.video-presentation{--media-width: 100%;--media-max-height: min(62vh, 560px);max-width:680px;margin:48px auto 0}.video-presentation[data-orientation=portrait]{--media-width: min(70%, calc(var(--media-max-height) * var(--video-ratio)))}.video-presentation[data-orientation=square]{--media-width: min(84%, var(--media-max-height))}.video-unit{width:var(--media-width);max-width:100%;margin:0 auto;transition:width .32s var(--ease-out)}.video-surface{position:relative;overflow:hidden;aspect-ratio:var(--video-ratio, 1.7778);background:var(--ink);border:1px solid rgba(35,24,21,.12);border-radius:13px;box-shadow:0 12px 34px #2318151a}.video-slot{width:100%;height:100%}.video-slot video{width:100%;height:100%;object-fit:contain;background:var(--ink)}.video-center-button{position:absolute;top:50%;left:50%;z-index:3;display:grid;place-items:center;width:64px;height:64px;padding:0;color:var(--ink);background:var(--apricot);border:1px solid rgba(250,244,232,.55);border-radius:50%;box-shadow:0 8px 26px #2318153d;transform:translate(-50%,-50%);transition:opacity .25s,transform .3s var(--ease-out),background-color .25s}.video-center-button:hover{background:var(--paper);transform:translate(-50%,-50%) scale(1.05)}.video-center-button svg{width:25px;height:25px}.video-is-playing .video-center-button{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.84)}.video-controls{display:flex;align-items:center;gap:11px;margin-top:12px}.media-icon-button{display:grid;flex:none;place-items:center;width:40px;height:40px;padding:0;color:var(--daiqing);background:transparent;border:1px solid var(--paper-line);border-radius:50%;transition:color .2s,border-color .2s,background-color .2s}.media-icon-button:hover{color:var(--ochre);background:var(--paper-deep);border-color:var(--ochre)}.media-icon-button svg{width:17px;height:17px}.video-controls .range-row{flex:1;min-width:0}.range-row{display:flex;align-items:center;gap:12px;min-width:0}.video-time{min-width:82px;color:var(--ink-soft);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.recorder-stage{position:relative;max-width:650px;margin:42px auto 0;padding:28px 22px 0}.recorder-handle{position:absolute;top:0;left:50%;width:46%;height:42px;border:10px solid var(--daiqing-deep);border-bottom:0;border-radius:20px 20px 0 0;transform:translate(-50%)}.recorder{position:relative;padding:28px 28px 24px;color:var(--paper);background:var(--daiqing);border:1px solid var(--daiqing-deep);border-radius:27px;box-shadow:0 24px 42px #2318152b,inset 0 1px #faf4e81f}.recorder-face{display:grid;grid-template-columns:66px minmax(0,1fr) 66px;align-items:center;gap:18px}.speaker-grille{height:152px;border-radius:12px;background-image:radial-gradient(circle,rgba(250,244,232,.32) 1.5px,transparent 1.8px);background-size:10px 10px;background-position:center}.cassette{padding:12px 14px 14px;color:var(--ink);background:var(--paper-deep);border:6px solid var(--daiqing-deep);border-radius:15px;box-shadow:inset 0 0 0 1px #2318152e}.cassette-label{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 3px 9px;color:var(--ochre-text);font-size:11px;letter-spacing:.1em}.recorder-bars{height:16px;gap:2px}.recorder-bars span{width:2px;height:8px}.recorder-bars span:nth-child(1){height:7px}.recorder-bars span:nth-child(2){height:13px}.recorder-bars span:nth-child(3){height:10px}.recorder-bars span:nth-child(4){height:15px}.cassette-duration{color:var(--ochre-text);font-size:10px}.reel-window{display:flex;align-items:center;justify-content:space-around;min-height:105px;padding:10px 20px;background:var(--ink);border:3px solid #6F6352;border-radius:9px}.reel{position:relative;width:72px;height:72px;background:var(--paper);border:7px solid var(--ochre);border-radius:50%;box-shadow:inset 0 0 0 3px var(--paper-deep)}.reel:before,.reel:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:7px;background:var(--daiqing);border-radius:4px;transform:translate(-50%,-50%)}.reel:after{transform:translate(-50%,-50%) rotate(60deg)}.reel-spoke{position:absolute;top:50%;left:50%;width:44px;height:7px;background:var(--daiqing);border-radius:4px;transform:translate(-50%,-50%) rotate(120deg)}.reel-core{position:absolute;top:50%;left:50%;z-index:2;width:15px;height:15px;background:var(--apricot);border:4px solid var(--daiqing-deep);border-radius:50%;transform:translate(-50%,-50%)}.recorder.is-intro .reel{animation:reel-settle 1.15s var(--ease-out) both}.recorder.is-intro .reel:nth-child(2){animation-delay:.08s}@keyframes reel-settle{0%{transform:rotate(-12deg)}45%{transform:rotate(46deg)}72%{transform:rotate(28deg)}to{transform:rotate(0)}}.audio-is-playing .recorder .reel{animation:reel-turn 2.8s linear infinite}@keyframes reel-turn{to{transform:rotate(360deg)}}.cassette-ridge{height:10px;margin:9px 3px 0;background-image:repeating-linear-gradient(90deg,rgba(58,76,84,.28) 0 2px,transparent 2px 7px);opacity:.62}.recorder-controls{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:23px}.rec-key{display:grid;place-items:center;width:44px;height:42px;padding:0;color:var(--paper);background:var(--daiqing-deep);border:1px solid rgba(250,244,232,.15);border-radius:8px;box-shadow:0 3px 0 var(--ink);transition:transform .15s,box-shadow .15s,background-color .2s}.rec-key:hover{background:#415861}.rec-key:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.rec-key.primary{color:var(--ink);background:var(--apricot);border-color:#f7c780}.rec-key svg,.rec-key [data-audio-icon] svg{width:18px;height:18px}.rec-key [data-audio-icon]{display:grid;place-items:center}.recorder-progress{min-width:0}.recorder-time{min-width:76px;color:var(--paper-deep);font-size:11px;text-align:right}.recorder input[type=range]::-webkit-slider-runnable-track{height:3px;background-image:linear-gradient(90deg,rgba(242,178,99,.96) 0 var(--range-progress),rgba(250,244,232,.2) var(--range-progress)),linear-gradient(110deg,transparent 30%,rgba(255,255,255,.16) 43%,rgba(250,244,232,.88) 50%,transparent 64%);background-size:100% 100%,220% 100%;background-position:0 0,130% 0;border-radius:99px}.audio-is-playing .recorder input[type=range]::-webkit-slider-runnable-track{animation:recorder-shine 1.4s linear infinite}@keyframes recorder-shine{to{background-position:0 0,-100% 0}}.recorder input[type=range]::-moz-range-progress{height:3px;background:linear-gradient(90deg,var(--apricot),var(--paper));border-radius:99px}.recorder input[type=range]::-webkit-slider-thumb{border-color:var(--apricot);background:var(--daiqing-deep)}.television-stage{--media-width: 100%;max-width:720px;margin:44px auto 0;padding-top:38px}.television{position:relative;width:100%;max-width:720px;margin:0 auto;padding:25px 88px 25px 25px;background:var(--daiqing);border:1px solid var(--daiqing-deep);border-radius:31px 31px 25px 25px;box-shadow:0 25px 48px #2318152b,inset 0 1px #faf4e81f}.television[data-orientation=portrait]{max-width:420px}.television[data-orientation=square]{max-width:600px}.television:before,.television:after{content:"";position:absolute;top:-59px;width:4px;height:80px;background:var(--daiqing-deep);border-radius:4px;transform-origin:bottom}.television:before{left:42%;transform:rotate(-33deg)}.television:after{right:42%;transform:rotate(33deg)}.tv-antenna-tip{position:absolute;top:-61px;left:50%;width:12px;height:12px;background:var(--ochre);border-radius:50%;transform:translate(-50%)}.tv-screen{position:relative;overflow:hidden;aspect-ratio:var(--video-ratio, 1.7778);max-height:min(58vh,520px);background:var(--ink);border:6px solid var(--daiqing-deep);border-radius:17px;box-shadow:inset 0 0 24px #00000059}.tv-side{position:absolute;top:26px;right:17px;bottom:24px;display:flex;flex-direction:column;align-items:center;width:52px}.tv-knob{position:relative;width:39px;height:39px;margin-bottom:16px;background:var(--paper-deep);border:5px solid var(--daiqing-deep);border-radius:50%;box-shadow:0 2px #23181573}.tv-knob:after{content:"";position:absolute;top:3px;left:50%;width:2px;height:10px;background:var(--ochre);transform:translate(-50%)}.tv-knob.small{width:31px;height:31px;margin-top:1px;border-width:4px}.tv-speaker{width:38px;height:64px;margin-top:auto;background-image:linear-gradient(rgba(250,244,232,.28) 2px,transparent 2px);background-size:100% 9px}.power-light{width:7px;height:7px;margin-top:18px;background:#829095;border-radius:50%;transition:background-color .35s,box-shadow .35s}.video-is-playing .power-light{background:var(--apricot);box-shadow:0 0 0 4px #f2b2631f}.tv-feet{display:flex;justify-content:space-between;width:72%;height:15px;margin:0 auto}.television[data-orientation=portrait]~.tv-feet{width:300px}.television[data-orientation=square]~.tv-feet{width:420px}.tv-feet span{width:46px;height:12px;background:var(--daiqing-deep);border-radius:0 0 6px 6px}.tv-controls{max-width:620px;margin:19px auto 0}.television[data-orientation=portrait]~.tv-controls{max-width:480px}.television[data-orientation=square]~.tv-controls{max-width:600px}.floating-audio{position:fixed;top:var(--float-top, 50%);right:16px;z-index:60;width:56px;height:56px;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.86);transition:opacity .22s var(--ease-soft),transform .28s var(--ease-out)}.floating-audio.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}.floating-ball{position:relative;display:grid;place-items:center;width:56px;height:56px;padding:0;color:var(--ink);background:#ffffffb8;border:1px solid rgba(255,255,255,.85);border-radius:50%;box-shadow:0 6px 16px #23181524;overflow:hidden;cursor:grab;touch-action:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:box-shadow .18s}.floating-ball.is-dragging{cursor:grabbing;box-shadow:0 10px 22px #2318152e}.floating-ball:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;background:#ffffff9e;border-radius:50%;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.floating-ring{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:50%;background:conic-gradient(var(--apricot) 0 var(--float-progress, 0%),var(--paper-line) var(--float-progress, 0%) 100%);-webkit-mask:radial-gradient(circle,transparent 0 21px,#000 21.5px 28px);mask:radial-gradient(circle,transparent 0 21px,#000 21.5px 28px);transition:opacity .18s}.floating-audio.is-playing .floating-ring{filter:drop-shadow(0 0 3px var(--apricot))}.floating-audio.is-playing .floating-ball{background:var(--paper-deep);border-color:var(--ochre);box-shadow:0 6px 16px #23181524}.floating-audio.is-playing .floating-ball:before{background:var(--paper)}.floating-audio.is-playing .floating-icon{color:var(--ochre-deep)}.floating-icon{position:relative;z-index:1;display:grid;place-items:center;width:20px;height:20px}.floating-icon svg{width:20px;height:20px}.lightbox-open .floating-audio{opacity:0!important;pointer-events:none}.lightbox{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;color:var(--paper);background:#231815e6;border:0}.lightbox.is-open{display:grid;place-items:center}.lightbox-shell{position:relative;display:grid;place-items:center;width:100vw;height:100vh;height:100dvh;padding:62px 92px 70px;overflow:hidden;cursor:zoom-out}.lightbox-figure{display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;cursor:zoom-out}.lightbox-zoom-stage{display:grid;place-items:center;width:fit-content;height:fit-content;max-width:100%;max-height:100%;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;transform-origin:center;will-change:transform;transition:transform .22s var(--ease-out)}.lightbox-zoom-stage.is-gesturing{cursor:grabbing;transition:none}.lightbox-zoom-stage.is-zoomed{cursor:grab}.lightbox-figure img{width:auto;height:auto;max-width:min(88vw,1200px);max-height:calc(100vh - 132px);max-height:calc(100dvh - 132px);object-fit:contain;border-radius:5px;box-shadow:0 22px 70px #00000047;opacity:0;transform:translateY(4px);cursor:grab;transition:opacity .3s var(--ease-soft),transform .4s var(--ease-out)}.lightbox-figure img.is-loaded{opacity:1;transform:translateY(0)}.lightbox-close,.lightbox-nav{position:absolute;z-index:2;display:grid;place-items:center;padding:0;color:var(--paper);background:#faf4e817;border:1px solid rgba(250,244,232,.18);border-radius:50%;transition:background-color .2s,border-color .2s,transform .2s var(--ease-out)}.lightbox-close:hover,.lightbox-nav:hover{background:#faf4e829;border-color:#faf4e84d}.lightbox-close{top:20px;right:22px;width:44px;height:44px}.lightbox-close svg{width:19px;height:19px}.lightbox-nav{top:50%;width:48px;height:48px;transform:translateY(-50%)}.lightbox-nav:hover{transform:translateY(-50%) scale(1.04)}.lightbox-nav svg{width:22px;height:22px}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox.is-single .lightbox-nav{display:none}.lightbox-counter{position:absolute;bottom:24px;left:50%;color:#faf4e8bd;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.1em;transform:translate(-50%)}.toast{position:fixed;bottom:28px;left:50%;z-index:80;max-width:calc(100% - 40px);padding:11px 20px;color:var(--paper);background:var(--daiqing-deep);border-radius:999px;box-shadow:0 8px 24px #2318152e;font-size:13px;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .22s,transform .3s var(--ease-out)}.toast.is-visible{opacity:1;transform:translate(-50%)}.noscript-note{padding:20px;text-align:center}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox[open]{animation:lightbox-in .24s var(--ease-soft) both}@media (max-width: 760px){.page-shell{padding:10px 20px 38px}.letter-sheet{padding:44px 42px 40px}.recorder-face{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}.speaker-grille{height:138px}.lightbox-shell{padding:62px 62px 66px}.lightbox-prev{left:12px}.lightbox-next{right:12px}}@media (max-width: 560px){.page-shell{padding:6px 10px 30px}.letter-sheet:after{width:30px;height:30px}.hero-title{margin-top:18px;font-size:clamp(30px,9vw,39px);letter-spacing:.055em}.eyebrow{gap:11px;font-size:11px;letter-spacing:.22em}.eyebrow:before,.eyebrow:after{width:24px}.letter-sheet{padding:38px 28px 36px;border-radius:12px;box-shadow:0 12px 30px #23181514}.sheet-ornament{width:150px;height:128px;top:6px;right:0;opacity:.42}.voice-player{gap:12px;margin-top:30px;padding:13px}.voice-toggle{min-width:104px;height:42px;padding:0 13px}.voice-toggle-label{font-size:12px}.voice-track-top{gap:7px}.letter-body{margin-top:34px;font-size:16.5px;line-height:2}.signature{gap:14px;margin-top:44px}.signature-name{font-size:24px}.seal{width:62px;height:62px}.seal-main{font-size:14px}.seal-sub{font-size:7.5px}.image-deck,.video-presentation{margin-top:38px}.photo-stage{padding:6px 16px 19px}.deck-card{border-width:5px;border-radius:7px}.image-deck.is-single .deck-card{border-width:5px}.deck-expand{right:8px;bottom:8px;width:30px;height:30px}.deck-controls{gap:5px;margin-top:13px}.deck-nav{width:34px;height:34px}.deck-nav svg{width:14px;height:14px}.deck-dots{gap:4px;min-width:34px}.deck-dot{width:5px;height:5px}.deck-dot.is-active{width:14px}.deck-count{min-width:30px;font-size:10.5px}.video-presentation{--media-max-height: min(56vh, 440px)}.video-presentation[data-orientation=portrait]{--media-width: min(82%, calc(var(--media-max-height) * var(--video-ratio)))}.video-presentation[data-orientation=square]{--media-width: min(88%, var(--media-max-height))}.video-controls{gap:7px}.video-time{min-width:69px;font-size:11px}.video-controls .media-icon-button{width:36px;height:36px}.video-controls .optional-control{display:none}.video-center-button{width:54px;height:54px}.video-center-button svg{width:21px;height:21px}.recorder-stage{margin-top:34px;padding:22px 0 0}.recorder{padding:21px 18px 19px;border-radius:23px}.recorder-handle{height:34px;border-width:8px;border-bottom:0}.recorder-face{display:block}.speaker-grille{display:none}.cassette{padding:10px 11px 12px}.reel-window{min-height:93px;padding:8px 24px}.reel{width:62px;height:62px;border-width:6px}.reel:before,.reel:after,.reel-spoke{width:37px;height:6px}.recorder-controls{grid-template-columns:auto auto minmax(0,1fr);gap:9px}.recorder-time{grid-column:1 / 3;grid-row:2;text-align:left}.recorder-progress{grid-column:3;grid-row:1 / 3}.television-stage{margin-top:36px;padding-top:30px}.television{padding:16px 54px 18px 16px;border-radius:23px}.television:before,.television:after{top:-45px;height:60px;width:3px}.tv-antenna-tip{top:-47px;width:9px;height:9px}.tv-screen{border-width:5px;border-radius:13px}.tv-side{top:17px;right:8px;bottom:17px;width:37px}.tv-knob{width:29px;height:29px;margin-bottom:11px;border-width:4px}.tv-knob.small{width:24px;height:24px}.tv-speaker{width:29px;height:43px;background-size:100% 7px}.power-light{margin-top:11px}.tv-controls{margin-top:16px}.floating-audio{right:12px}.lightbox-shell{padding:66px 16px 68px}.lightbox-figure img{max-width:100%;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px)}.lightbox-close{top:14px;right:14px}.lightbox-nav{top:auto;bottom:14px;width:42px;height:42px;transform:none}.lightbox-nav:hover{transform:scale(1.04)}.lightbox-prev{left:14px}.lightbox-next{right:14px}.lightbox-counter{bottom:27px}}@media (hover: none){.deck-card.is-current:hover img{transform:none}.deck-card.is-current .deck-expand{opacity:.95}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
