:root{--tk-aspect:.49897;--tk-frame-w:1.04728;--tk-frame-h:1.02359;--tk-frame-x:.02364;--tk-frame-y:.01179;--brand-blue:#014ab9;--brand-ink-blue:#0538f9;--brand-silver:#cfcdce;--brand-silver-back:#bcb9bb}.poster img{clip-path:polygon(95.24% 1.339%,96.322% 1.779%,96.909% 2.28%,97.234% 3.632%,97.412% 28.833%,97.126% 29.985%,96.749% 30.636%,95.927% 31.36%,94.016% 32.59%,93.943% 40.406%,94.209% 41.608%,96.812% 43.011%,97.417% 43.612%,97.614% 44.213%,97.63% 56.538%,97.012% 57.69%,95.32% 58.893%,95.539% 59.143%,97.166% 59.995%,97.633% 60.646%,97.732% 70.316%,97.399% 71.047%,96.066% 72.119%,95.945% 72.37%,97.399% 73.34%,97.733% 74.474%,97.742% 93.612%,97.499% 95.215%,96.577% 95.867%,95.24% 96.192%,83.759% 96.248%,82.738% 96.718%,80.913% 98.19%,80.029% 98.5%,78.95% 98.627%,42.934% 98.849%,13.886% 98.69%,12.414% 98.552%,10.696% 97.921%,3.187% 93.412%,2.473% 92.56%,2.265% 91.508%,2.452% 73.873%,2.823% 73.121%,4.25% 72.32%,3.74% 71.618%,2.697% 70.817%,2.337% 69.765%,2.453% 60.496%,2.895% 59.893%,4.092% 59.143%,3.864% 58.141%,2.845% 57.29%,2.458% 56.338%,2.581% 33.692%,2.718% 33.191%,3.091% 32.773%,5.913% 31.187%,6.047% 29.684%,5.875% 21.869%,5.445% 21.468%,3.091% 20.105%,2.724% 19.714%,2.525% 19.063%,2.462% 10.847%,2.578% 9.694%,2.856% 9.193%,3.55% 8.592%,4.367% 8.187%,11.898% 5.736%,16.615% 1.929%,17.419% 1.535%,18.793% 1.284%,42.051% 1.258%,43.131% 1.403%,44.15% 1.779%,46.467% 3.51%,48.234% 3.626%,53.337% 3.638%,65.604% 3.588%,66.4% 3.332%,68.389% 1.678%,69.235% 1.352%,70.02% 1.219%,93.376% 1.149%)}:root{--fit-w:.8;--fit-h:.86;--bg:#04060d;--bg-2:#070b1c;--text:#c9cfdb;--muted:#c9cfdb9e;--gutter:14px;--hint-space:52px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "WenQuanYi Micro Hei", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background-color:var(--bg);background-image:radial-gradient(ellipse 62% 48% at 50% 44%, color-mix(in srgb, var(--brand-blue,#0136b0) 58%, transparent) 0%, transparent 70%), radial-gradient(ellipse 120% 80% at 50% 40%, var(--bg-2) 0%, var(--bg) 70%);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:fixed;top:0;bottom:0;left:0;right:0}@supports not (background:color-mix(in srgb, red 50%, transparent)){body{background-image:radial-gradient(ellipse 62% 48% at 50% 44%, #0136b094 0%, transparent 70%), radial-gradient(ellipse 120% 80% at 50% 40%, var(--bg-2) 0%, var(--bg) 70%)}}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.wx-thumb{opacity:.01;pointer-events:none;z-index:-1;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.wx-thumb img{width:400px;height:400px;display:block}.stage{padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));outline:none;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.backdrop{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.orbits{color:#8fa6ff;opacity:.11;width:max(140vmin,720px);height:max(140vmin,720px);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.frame{--tk-h:min(calc((100vh - 2 * var(--gutter) - var(--hint-space)) * var(--fit-h)), calc((100vw - 2 * var(--gutter)) * var(--fit-w) / var(--tk-aspect)));flex:auto;min-height:0;position:relative}@supports (height:1cqh){.frame{--tk-h:min(calc(100cqh * var(--fit-h)), calc(100cqw * var(--fit-w) / var(--tk-aspect)));container-type:size}}.poster{height:var(--tk-h);width:calc(var(--tk-h) * var(--tk-aspect));pointer-events:none;transition:opacity .45s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.poster img{width:calc(100% * var(--tk-frame-w));height:calc(100% * var(--tk-frame-h));left:calc(-100% * var(--tk-frame-x));top:calc(-100% * var(--tk-frame-y));-webkit-user-drag:none;max-width:none;display:block;position:absolute}.poster{filter:drop-shadow(0 14px 24px #00000080)}.poster--static{display:block}.is-fallback .frame{perspective:1100px}.is-fallback .poster{transform:translate(-50%, -50%) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:opacity .45s,transform .25s ease-out}.ground{left:50%;top:calc(50% + var(--tk-h) * .5 + var(--tk-h) * .035);width:calc(var(--tk-h) * .62);height:calc(var(--tk-h) * .085);margin-left:calc(var(--tk-h) * -.31);margin-top:calc(var(--tk-h) * -.0425);pointer-events:none;will-change:transform, opacity;background:radial-gradient(closest-side,#0000009e,#00000052 45%,#0000 100%);border-radius:50%;position:absolute}.ground:after{content:"";background:radial-gradient(closest-side,#466eff29,#0000 100%);border-radius:50%;position:absolute;top:-60%;bottom:-60%;left:-15%;right:-15%}.scene{opacity:0;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;width:100%;height:100%;transition:opacity .45s;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.scene:active{cursor:grabbing}.is-3d .scene{opacity:1}.is-3d .poster{opacity:0}.is-fallback .scene{display:none}.below{min-height:var(--hint-space);pointer-events:none;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;gap:12px;display:flex;position:relative}.below .actions{pointer-events:auto}html:not(.has-rsvp) .actions{display:none}.hint{letter-spacing:.08em;color:var(--muted);text-align:center;opacity:0;flex-direction:column;align-items:center;gap:3px;margin:0 0 4px;font-size:12px;line-height:1.25;transition:opacity .6s,transform .6s;display:flex;transform:translateY(6px)}.hint [lang=zh-CN]{letter-spacing:.18em;font-size:11.5px}.hint.is-visible{opacity:1;transform:none}.hint.is-done{opacity:0;transition-duration:.9s;transform:translateY(4px)}@media (orientation:landscape) and (max-height:520px){:root{--hint-space:0px;--fit-h:.93;--gutter:8px}.below{right:max(var(--gutter), env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));align-items:flex-end;min-height:0;position:absolute}.hint{text-align:right;align-items:flex-end}.env-hint{text-align:center;align-items:center}}.is-capture .below{display:none}.is-capture .stage{padding:0}@media (prefers-reduced-motion:reduce){.poster,.scene,.hint{transition-duration:10ms}}:root{--vellum-opacity:.9;--vellum:236, 239, 244;--vellum-blur:12px;--seal:clamp(116px, 33vmin, 280px);--env-ink:#141a32bd;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .5 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--formation:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.035 .07' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .13 0 0 0 0 .25 0 0 0 .12 -.045'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E")}.envelope{display:none}.is-sealed .envelope{z-index:20;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:block;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.is-sealed .stage .hint{visibility:hidden}.env-blur{-webkit-backdrop-filter:blur(var(--vellum-blur)) saturate(.8);backdrop-filter:blur(var(--vellum-blur)) saturate(.8);position:absolute;top:0;bottom:0;left:0;right:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.envelope{--vellum-opacity:.965}}.env-flaps{perspective:calc(var(--seal) * 6.25);perspective-origin:50%;position:absolute;top:0;bottom:0;left:0;right:0}.flap{pointer-events:none;--lift:0;position:absolute;top:0;bottom:0;left:0;right:0}.flap__paper{background-color:rgba(var(--vellum), var(--vellum-opacity));background-image:var(--grain), var(--formation), var(--flap-light,none);background-size:160px 160px,300px 300px,100% 100%;position:absolute;top:0;bottom:0;left:0;right:0}.flap__paper:after{content:"";opacity:calc(var(--lift) * .12);background:#0e142c;position:absolute;top:0;bottom:0;left:0;right:0}.flap__edge{fill:none;stroke-linejoin:round;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.flap__edge .hi{stroke:#ffffff8c;stroke-width:1px;vector-effect:non-scaling-stroke}.flap--left{transform-origin:0}.flap--left .flap__paper{clip-path:polygon(0 0,50% 50%,0 100%);--flap-light:linear-gradient(90deg, #ffffff12, #fff0 45%)}.flap--right{transform-origin:100%}.flap--right .flap__paper{clip-path:polygon(100% 0,50% 50%,100% 100%);--flap-light:linear-gradient(270deg, #0a102809, #0a102800 50%)}.flap--bottom{transform-origin:50% 100%;filter:drop-shadow(0 -1px 1.5px #10183812)}.flap--bottom .flap__paper{clip-path:polygon(0 100%,0 95.5%,50% 45.5%,100% 95.5%,100% 100%);--flap-light:linear-gradient(0deg, #0a10280a, #0a102800 55%)}.flap--top{transform-origin:50% 0;filter:drop-shadow(0 1.5px 1.5px #10183817)drop-shadow(0 6px 12px #10183812)}.flap--top .flap__paper{clip-path:polygon(0 0,100% 0,100% 4.5%,50% 54.5%,0 4.5%);--flap-light:linear-gradient(180deg, #ffffff1f, #fff0 60%)}.env-press{pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%, #0c123233 calc(var(--seal) * .42), #0c123212 calc(var(--seal) * .62), #0c123200 calc(var(--seal) * 1.05));position:absolute;top:0;bottom:0;left:0;right:0}.envelope.is-pressed .env-press{animation:.32s ease-out env-press}.envelope.is-pressed .env-flaps{animation:.32s ease-out env-give}@keyframes env-press{18%{opacity:var(--press,.7)}}@keyframes env-give{18%{transform:scale(.9965)}}.seal{width:calc(var(--seal) * 1.4);height:calc(var(--seal) * 1.4);margin:calc(var(--seal) * -.7) 0 0 calc(var(--seal) * -.7);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background:0 0;border:0;border-radius:50%;outline:none;padding:0;position:absolute;top:50%;left:50%}.seal:before{content:"";background:radial-gradient(circle at 42% 36%,#3a46ff 0,#0b14e8 48%,#0710b4 100%);border-radius:50%;position:absolute;top:17%;bottom:17%;left:17%;right:17%;box-shadow:0 2px 5px #080c324d}.seal__still{pointer-events:none;-webkit-user-drag:none;width:100%;max-width:none;height:100%;transition:opacity .18s;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.seal:focus-visible:after{content:"";border-radius:50%;position:absolute;top:11%;bottom:11%;left:11%;right:11%;box-shadow:0 0 0 2px #fffffff2,0 0 0 4.5px #0b14e8d9}.seal-gl{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .16s;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.seal-gl.is-ready{opacity:1}.has-gl .seal__still,.has-gl .seal:before,.is-cut .seal__still,.is-cut .seal:before{opacity:0}.is-seal-fading .seal__still,.is-seal-fading .seal:before{opacity:0;transition:opacity .5s}.seal-2d{pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.seal-2d__core{fill:none;stroke:#040628d9;stroke-width:.17px;stroke-linecap:round;stroke-linejoin:round}.seal-2d__halo{fill:none;stroke:#96a5ff80;stroke-width:.55px;stroke-linecap:round;stroke-linejoin:round}.env-hint{left:max(var(--gutter), env(safe-area-inset-left));right:max(var(--gutter), env(safe-area-inset-right));bottom:calc(max(var(--gutter), env(safe-area-inset-bottom)) + 6px);color:var(--env-ink);text-shadow:0 0 6px #ffffffe6,0 1px #fff9;pointer-events:none;margin:0;animation:.45s ease-out both env-hint-in;position:absolute}.env-hint.is-done{animation:none}.env-hint.is-nudged{animation:.6s env-hint-nudge}@keyframes env-hint-in{0%{opacity:0;transform:translateY(6px)}}@keyframes env-hint-nudge{30%{opacity:1;color:#0b14a0d9}}.envelope.is-fading{opacity:0;transition:opacity .7s}.is-sealstill,.is-sealstill body{background:0 0!important}.is-sealstill .stage,.is-sealstill .env-blur,.is-sealstill .env-flaps,.is-sealstill .env-press,.is-sealstill .env-hint,.is-sealstill .seal:before,.is-sealstill .seal__still{display:none!important}.intro-debug{left:8px;top:max(8px, env(safe-area-inset-top));z-index:99;color:#7dff9a;pointer-events:none;white-space:pre;background:#000000b8;border-radius:4px;margin:0;padding:6px 8px;font:11px/1.35 ui-monospace,Menlo,Consolas,monospace;position:fixed}@media (prefers-reduced-motion:reduce){.env-hint{animation-duration:10ms}.envelope.is-pressed .env-press,.envelope.is-pressed .env-flaps{animation:none}}.has-rsvp{--hint-space:118px}.has-rsvp .below{gap:10px}.actions{flex-direction:column;order:-1;align-items:center;gap:8px;animation:.8s 1s both rsvp-in;display:flex}.is-sealed .actions{opacity:0;visibility:hidden;animation:none}@keyframes rsvp-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rsvp{-webkit-appearance:none;appearance:none;background:linear-gradient(180deg, #2456ff 0%, var(--brand-ink-blue,#0538f9) 52%, #0329c4 100%);color:#fff;min-width:min(292px,82vw);max-width:92vw;min-height:48px;font:600 14px/1.2 var(--font);letter-spacing:.06em;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:1px solid #a0b8ff57;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin:0;padding:0 26px;transition:transform .18s,filter .18s,background .4s,border-color .4s,box-shadow .4s,color .4s;display:inline-flex;box-shadow:inset 0 1px #ffffff38,0 10px 26px -10px #0538f9bf}.rsvp-text{align-items:baseline;gap:7px;display:inline-flex}.rsvp [lang=zh-CN]{letter-spacing:.14em}.rsvp-dot{opacity:.6}.rsvp-check{flex:none;display:none}@media (hover:hover){.rsvp[data-state=idle]:hover{filter:brightness(1.12)}}.rsvp[data-state=idle]:active{transform:scale(.975)}.rsvp:focus-visible{outline-offset:3px;outline:2px solid #b9c8ff}.rsvp[data-state=busy]{cursor:progress}.rsvp[data-state=busy] .rsvp-text{animation:1.1s ease-in-out infinite rsvp-busy}@keyframes rsvp-busy{50%{opacity:.55}}.rsvp[data-state=done]{cursor:default;box-shadow:none;color:var(--brand-silver,#cfcdce);background:#cfcdce0f;border-color:#cfcdce6b}.rsvp[data-state=done] .rsvp-check{display:block}.rsvp-note{letter-spacing:.04em;color:#ffb4a8;text-align:center;margin:0;font-size:12px;line-height:1.3;display:none}.rsvp-note.is-shown{display:block}.rsvp-note [lang=zh-CN]{margin-left:6px}@media (max-width:339px){.rsvp{padding:6px 20px}.rsvp-text{flex-direction:column;align-items:center;gap:2px}.rsvp-dot{display:none}}@media (orientation:landscape) and (max-height:520px){.has-rsvp{--hint-space:0px}.actions{align-items:flex-end}.rsvp{min-width:0;min-height:44px}}@media (prefers-reduced-motion:reduce){.actions{animation-duration:10ms;animation-delay:0s}.rsvp,.rsvp[data-state=busy] .rsvp-text{transition:none;animation:none}}
