@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(./great-vibes-latin-400-normal-q5-78SH_.woff2) format("woff2"),url(./great-vibes-latin-400-normal-BAZ173uY.woff) format("woff")}@font-face{font-family:Allura;font-style:normal;font-display:swap;font-weight:400;src:url(./allura-latin-400-normal-4sUZKTf1.woff2) format("woff2"),url(./allura-latin-400-normal-DcxZAN6k.woff) format("woff")}.cover{padding-top:36px}.env-scene{position:relative;z-index:3;width:100%;display:flex;flex-direction:column;align-items:center;gap:38px}.envelope{position:relative;width:min(300px,100%);height:226px;cursor:pointer;perspective:900px;transition:transform .8s cubic-bezier(.22,.61,.36,1);outline:none}.envelope.is-open{transform:translateY(-8px)}.envelope:focus-visible{outline:2px solid rgba(248,244,235,.7);outline-offset:6px;border-radius:10px}.env-body{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;background:linear-gradient(166deg,#fdfaf4,#f5eee0 52%,#eadfcb);box-shadow:0 20px 46px #1c000475,0 1px #ffffffbf inset}.env-flap{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#f0e7d6,#e6dbc4);clip-path:polygon(0 0,100% 0,50% 41%);transform-origin:50% 0;transform:rotateX(0);transition:transform .9s cubic-bezier(.6,.05,.3,1);filter:drop-shadow(0 5px 6px rgba(95,65,40,.28));z-index:4}.envelope.is-open .env-flap{transform:rotateX(-172deg)}.env-seal{position:absolute;left:50%;top:41%;width:52px;height:52px;transform:translate(-50%,-50%);z-index:5;transition:opacity .5s ease,transform .65s ease;pointer-events:none}.env-seal svg{display:block;width:100%;height:100%}.envelope.is-open .env-seal{opacity:0;transform:translate(-50%,-50%) scale(.78)}.env-front{position:absolute;left:0;right:0;top:54%;bottom:5%;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:0 16px;color:var(--ink)}.env-chengyao{font-size:12.5px;letter-spacing:.34em;text-indent:.34em;color:var(--ink-faint);line-height:1.2}.env-title{font-size:20px;font-weight:600;letter-spacing:.24em;text-indent:.24em;color:var(--ink);line-height:1.15}.env-to{display:flex;align-items:baseline;justify-content:center;gap:9px;max-width:100%}.env-to-name{font-family:var(--font-num);font-size:21px;font-weight:600;letter-spacing:.1em;word-break:break-all;max-width:100%}.env-to-label{font-size:12.5px;letter-spacing:.16em;color:var(--ink-faint);flex:none}.env-to-generic{font-size:13px;letter-spacing:.42em;text-indent:.42em;color:var(--ink-soft)}.env-hint{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;letter-spacing:.34em;text-indent:.34em;color:#f8f4ebb8;transition:opacity .4s ease;animation:envFloat 2.4s ease-in-out infinite}.env-hint.is-gone{opacity:0}.env-hint-line{width:1px;height:26px;background:linear-gradient(180deg,#f8f4eb99,#f8f4eb00)}@keyframes envFloat{0%,to{transform:translateY(0);opacity:.9}50%{transform:translateY(6px);opacity:.45}}.card-section{padding:46px 24px}.card-wrap{position:relative;width:100%;display:flex;justify-content:center}.card-bow-reveal{position:absolute;top:-23px;left:0;right:0;display:flex;justify-content:center;z-index:6}.card-bow{filter:drop-shadow(0 4px 8px rgba(30,0,10,.35))}.card-card{position:relative;width:min(330px,100%);height:512px}.lace-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;filter:drop-shadow(0 18px 34px rgba(25,0,3,.5))}.card-inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 34px;text-align:center;color:var(--ink)}.card-script{font-family:var(--font-script);font-size:26px;line-height:1.15;color:var(--ink)}.card-title{margin-top:5px;font-size:24px;font-weight:500;letter-spacing:.22em;text-indent:.22em;color:var(--ink)}.card-illus{margin:13px 0 9px;display:flex;justify-content:center}.card-lead{font-size:14px;letter-spacing:.05em;line-height:1.6;color:var(--ink)}.card-names{margin-top:19px;display:flex;align-items:center;justify-content:center;gap:13px}.card-name{font-size:21px;font-weight:500;letter-spacing:.1em;text-indent:.1em;color:var(--ink);white-space:nowrap}.card-names-bow{display:flex;flex:none}.card-date{margin-top:14px;font-family:var(--font-dec);font-size:17px;letter-spacing:.01em;color:var(--ink);padding-bottom:7px;border-bottom:1px solid rgba(139,21,32,.5)}.card-time{margin-top:6px;font-family:var(--font-dec);font-size:17px;letter-spacing:.01em;color:var(--ink)}.card-lunar{margin-top:10px;font-size:12.5px;letter-spacing:.05em;color:var(--ink-soft)}.card-venue{margin-top:8px;font-size:13px;letter-spacing:.05em;color:var(--ink)}.nav-section{padding:46px 24px}.nav-card{position:relative;width:min(322px,100%);padding:42px 26px 30px;border-radius:10px;background:linear-gradient(170deg,#fdfaf4,#f4ecdd);box-shadow:0 18px 42px #1900036b,0 1px #ffffffb3 inset}.nav-bow{position:absolute;top:-20px;left:50%;transform:translate(-50%);filter:drop-shadow(0 3px 6px rgba(30,0,10,.3))}.nav-inner{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--ink)}.nav-label{font-size:11px;letter-spacing:.32em;text-indent:.32em;color:var(--ink-faint)}.nav-venue{margin-top:12px;font-size:21px;font-weight:600;letter-spacing:.06em;line-height:1.45;color:var(--ink)}.nav-addr{margin-top:8px;font-size:12.5px;letter-spacing:.04em;color:var(--ink-soft)}.nav-divider{margin:20px 0;width:122px;border-top:1px dashed rgba(139,21,32,.32)}.nav-main{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border-radius:3px;background:linear-gradient(180deg,#6e2242,#4a1834);color:#f8f4eb;font-size:14px;letter-spacing:.2em;text-indent:.2em;text-decoration:none;box-shadow:0 7px 20px #3c0f2d57;transition:transform .22s ease,box-shadow .22s ease;white-space:nowrap}.nav-main:active{transform:scale(.97);box-shadow:0 4px 12px #3c0f2d4d}.nav-main svg{flex:none}.nav-apps{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.nav-app{position:relative;padding:7px 14px;border:1px solid rgba(139,21,32,.32);border-radius:3px;color:var(--ink-soft);font-size:12px;letter-spacing:.1em;text-indent:.1em;text-decoration:none;transition:background .22s ease,border-color .22s ease,color .22s ease}.nav-app:active{background:#8b152014;border-color:#8b152099;color:var(--ink)}.nav-app-hint{position:absolute;top:-8px;right:-6px;font-style:normal;font-size:9px;letter-spacing:0;text-indent:0;color:#f8f4eb;background:linear-gradient(180deg,#7a3d62,#5c2a4a);padding:1px 5px;border-radius:2px}.nav-copy{margin-top:16px;display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border:1px dashed rgba(139,21,32,.42);border-radius:3px;background:transparent;color:var(--ink-soft);font-size:12.5px;letter-spacing:.16em;text-indent:.16em;font-family:inherit;cursor:pointer;transition:color .22s ease,border-color .22s ease,background .22s ease}.nav-copy:active,.nav-copy.copied{color:var(--ink);border-color:#8b1520bf;background:#8b152012}.nav-copy svg{flex:none}.nav-guest{margin-top:20px;font-size:12px;letter-spacing:.22em;text-indent:.22em;color:var(--ink-faint);word-break:break-all}.nav-wx-hint{margin-top:12px;font-size:11.5px;line-height:1.6;letter-spacing:.02em;color:#8b15209e;max-width:15em}.wx-guide{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;justify-content:flex-end}.wx-guide-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#180004b8;animation:wxFade .25s ease both}@keyframes wxFade{0%{opacity:0}to{opacity:1}}.wx-guide-arrow{position:absolute;top:6px;right:10px;width:116px;height:126px;color:#f8f4ebeb;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45));animation:wxArrow 1.6s ease-in-out infinite}.wx-guide-arrow svg{display:block;width:100%;height:100%}@keyframes wxArrow{0%,to{transform:translate(0);opacity:.92}50%{transform:translate(5px,-5px);opacity:.55}}.wx-guide-card{position:relative;margin:0 auto;width:100%;max-width:480px;background:linear-gradient(170deg,#fdfaf4,#f4ecdd);border-radius:14px 14px 0 0;padding:22px 22px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 40px #14000380;animation:wxUp .32s cubic-bezier(.22,.61,.36,1) both;color:var(--ink)}@keyframes wxUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.wx-guide-close{position:absolute;top:10px;right:12px;width:30px;height:30px;border:none;background:transparent;color:var(--ink-faint);font-size:21px;line-height:1;cursor:pointer;font-family:inherit}.wx-guide-title{font-size:16px;font-weight:600;letter-spacing:.04em;text-align:center}.wx-guide-sub{margin-top:6px;font-size:12px;color:var(--ink-soft);text-align:center}.wx-guide-step{display:flex;align-items:flex-start;gap:10px;margin-top:16px;text-align:left}.wx-guide-step-no{flex:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(180deg,#b2904c,#8a6c31);color:#fdfaf4;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-top:1px}.wx-guide-step-txt{font-size:13px;line-height:1.55;color:var(--ink)}.wx-guide-step-txt b{font-weight:600;color:#6b3455}.wx-guide-step-txt em{display:block;margin-top:3px;font-style:normal;font-size:11.5px;color:var(--ink-faint);line-height:1.5}.wx-guide-or{margin:14px 0 -2px 30px;font-size:11px;color:var(--ink-faint);letter-spacing:.1em}.wx-guide-actions{margin-top:20px;display:flex;flex-direction:column;align-items:center;gap:10px}.wx-guide-copy{display:inline-flex;align-items:center;gap:7px;width:100%;justify-content:center;padding:13px 20px;border:none;border-radius:4px;background:linear-gradient(180deg,#6e2242,#4a1834);color:#f8f4eb;font-size:14px;letter-spacing:.16em;text-indent:.16em;font-family:inherit;cursor:pointer;box-shadow:0 7px 20px #3c0f2d4d;transition:transform .22s ease,background .22s ease}.wx-guide-copy:active,.wx-guide-copy.copied{transform:scale(.98);background:linear-gradient(180deg,#8b1520,#630d16)}.wx-guide-continue{border:none;background:transparent;color:var(--ink-faint);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px 8px}@media(max-width:360px){.section{padding-left:20px;padding-right:20px}.card-inner{padding:36px 26px}.card-script{font-size:23px}.card-title{font-size:21px}.card-name,.nav-venue{font-size:19px}.nav-main{padding:12px 24px;font-size:13px}.env-title{font-size:18px}.env-to-name{font-size:19px}}@media(max-height:700px){.section{padding-top:32px;padding-bottom:32px}.envelope{width:min(268px,100%);height:202px}.env-seal{width:46px;height:46px}.env-chengyao{font-size:11.5px}.env-title{font-size:18px}.env-to-name{font-size:19px}.card-card{height:482px}.card-inner{padding:30px}.card-illus{margin:9px 0 6px}.card-date,.card-time{font-size:16px}}:root{--wine: #7E0C18;--wine-deep: #55060E;--wine-light: #9A1220;--cream: #F8F4EB;--cream-2: #F1EADB;--cream-3: #E4DAC6;--ink: #8B1520;--ink-soft: rgba(139, 21, 32, .74);--ink-faint: rgba(139, 21, 32, .5);--plum: #5C2A4A;--plum-light: #8A4970;--plum-deep: #3E1C33;--font-script: "Great Vibes", "Snell Roundhand", "Segoe Script", "Brush Script MT", cursive;--font-dec: "Allura", "Snell Roundhand", "Brush Script MT", cursive;--font-cn: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", sans-serif;--font-num: "Songti SC", "STSong", "SimSun", Georgia, serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;background:var(--wine-deep);color:var(--ink);font-family:var(--font-cn);overscroll-behavior-y:none}body{overflow-x:hidden}#root{width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden}.stage{position:relative;width:100%;max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;overflow:hidden;background:radial-gradient(120% 62% at 50% 6%,#8e1220,#730b17 46%,#530610);box-shadow:0 0 60px #0000008c}.section{position:relative;width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 26px;text-align:center}.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}.reveal.d1{transition-delay:.1s}.reveal.d2{transition-delay:.22s}.reveal.d3{transition-delay:.34s}.reveal.d4{transition-delay:.46s}.reveal.d5{transition-delay:.58s}.reveal.d6{transition-delay:.7s}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.label{font-size:12px;letter-spacing:.34em;text-indent:.34em;color:#f8f4ebad}.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;color:#f8f4eb9e;font-size:11px;letter-spacing:.3em;text-indent:.3em;animation:hintFloat 2.3s ease-in-out infinite;z-index:5}.scroll-hint .arrow{width:11px;height:11px;border-right:1.4px solid rgba(248,244,235,.7);border-bottom:1.4px solid rgba(248,244,235,.7);transform:rotate(45deg)}@keyframes hintFloat{0%,to{transform:translate(-50%) translateY(0);opacity:.85}50%{transform:translate(-50%) translateY(7px);opacity:.4}}.petal-dust{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.petal-dust span{position:absolute;top:-8%;border-radius:50%;background:radial-gradient(circle,#fff6ec,#fff0e280 55%,#fff0e200);animation-name:dustFall;animation-timing-function:linear;animation-iteration-count:infinite;opacity:.42}@keyframes dustFall{0%{transform:translateY(-10vh) translate(0) scale(.7);opacity:0}12%{opacity:.55}50%{transform:translateY(45vh) translate(8px) scale(1)}88%{opacity:.42}to{transform:translateY(102vh) translate(-5px) scale(.65);opacity:0}}@media(prefers-reduced-motion:reduce){.petal-dust{display:none}}
