*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{max-width:100%}[data-photo]{position:relative;overflow:hidden}[data-photo]>img.loaded-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.photo-ready>*:not(.loaded-photo){visibility:hidden}.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}.shared-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);z-index:99;width:max-content;max-width:calc(100% - 36px);padding:13px 20px;background:#262521;color:#fff;border-radius:4px;text-align:center;font:13px/1.6 'Microsoft YaHei',sans-serif;box-shadow:0 8px 30px #0002}.shared-sheet{position:fixed;inset:0;background:#0007;z-index:100;display:grid;place-items:center;padding:22px}.shared-sheet[hidden],.shared-toast[hidden]{display:none}.sheet-card{width:min(420px,100%);padding:30px;background:#faf8f2;color:#34312b;border:1px solid #d8d0be;font:14px/1.85 'Microsoft YaHei',sans-serif}.sheet-card h2{font:24px/1.4 'SimSun',serif;margin:0 0 14px}.sheet-card textarea{display:block;width:100%;height:125px;resize:none;border:1px solid #cfc7b5;padding:12px;background:#fff;color:#333;font:14px/1.8 inherit}.sheet-card button{margin-top:18px;background:#34312b;color:white;border:0;padding:12px 18px;width:100%}.sheet-card p{margin:12px 0}.photo-viewer{position:fixed;inset:0;background:#131313ef;z-index:100;display:grid;place-items:center;padding:20px}.photo-viewer[hidden]{display:none}.photo-viewer img{max-width:100%;max-height:88vh;object-fit:contain}.photo-viewer button{position:absolute;right:20px;top:20px;border:1px solid #fff5;background:#111;color:white;border-radius:50%;width:44px;height:44px;font-size:24px}.photo-ready{cursor:zoom-in}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.photo-ready:focus-visible{outline:2px solid currentColor;outline-offset:5px}.photo-viewer img{max-height:85vh;max-height:85dvh}

/* Entry moves focus to a heading; keep control focus rings visible. */
.invite h1[tabindex="-1"]:focus,.invite h2[tabindex="-1"]:focus,.invite h3[tabindex="-1"]:focus{outline:none}

/* Cream invitation sharing card. */
.shared-sheet,.shared-sheet.wechat-share-guide{display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(25,35,29,.74);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);overflow:auto;overscroll-behavior:contain}
.shared-sheet[hidden],.shared-sheet.wechat-share-guide[hidden]{display:none}
.shared-sheet.wechat-share-guide{padding:100px 20px 24px}
.sheet-card,.wechat-share-guide .sheet-card{position:relative;width:min(380px,100%);min-height:0;max-height:calc(100dvh - 44px);margin:auto;padding:24px;background:#faf7ee;color:#31483d;border:1px solid #e1d8c5;border-radius:14px;text-align:left;box-shadow:0 24px 70px #08180c35;overflow:auto;font:14px/1.8 -apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif}
.wechat-share-guide .sheet-card{max-height:calc(100dvh - 124px)}
.sheet-card .share-kicker{margin:0 0 9px;color:#9b875f;font:10px/1.4 Georgia,serif;letter-spacing:2.8px}
.sheet-card h2,.wechat-share-guide .sheet-card h2{font:normal 23px/1.5 'Songti SC','STSong','SimSun',serif;letter-spacing:1px;margin:0;color:#31483d}
.sheet-card h2:focus{outline:none}
.share-card-preview,.wechat-share-guide .share-card-preview{display:flex;align-items:center;gap:12px;padding:0 0 16px;margin:18px 0 14px;border-bottom:1px solid #e3dccb;background:transparent}
.share-card-preview img{width:56px;height:64px;object-fit:cover;border-radius:5px;flex:none}
.share-card-preview strong{display:block;font-size:13px;line-height:1.7;font-weight:500}
.sheet-card .share-card-preview p{font-size:11px;line-height:1.7;color:#8a7d65;margin:5px 0 0}
.sheet-card .sheet-message,.wechat-share-guide .sheet-message{display:block;margin:0 0 10px;font-size:12px;line-height:1.8;color:#7a7d6c;text-align:left}
.sheet-card textarea,.wechat-share-guide textarea,.wechat-share-guide.show-copy-link textarea{display:block;width:100%;height:clamp(130px,25dvh,210px);min-height:0;resize:none;padding:14px 15px;margin:0;border:1px solid #e5ddcc;border-radius:8px;background:#f1ede2;color:#4d584a;text-align:left;font:13px/1.9 -apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;letter-spacing:.2px;-webkit-appearance:none;scrollbar-width:thin;scrollbar-color:#c9c2ad transparent}
.sheet-card textarea:focus-visible{outline:2px solid #a9b29a;outline-offset:2px}
.share-actions{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:10px;margin-top:18px}
.sheet-card .share-actions button,.wechat-share-guide .sheet-card .share-actions button{display:block;width:100%;min-width:0;min-height:46px;margin:0;padding:11px 8px;border:1px solid #d6d0bf;border-radius:7px;background:transparent;color:#69725f;font:13px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;letter-spacing:.5px}
.sheet-card .share-actions .share-copy-link,.wechat-share-guide .sheet-card .share-actions .share-copy-link{background:#31483d;border-color:#31483d;color:#fffaf0}
.sheet-card .share-copy-status,.wechat-share-guide .share-copy-status{margin:12px 0 0;font-size:12px;line-height:1.7;color:#647455}
.sheet-card .share-copy-status[hidden]{display:none}
.share-guide-arrow,.share-guide-steps{display:none}
.wechat-share-guide .share-guide-arrow{display:block;position:fixed;right:max(17px,env(safe-area-inset-right));top:10px;width:63px;height:60px;color:#ead9b5;pointer-events:none}
.wechat-share-guide .share-guide-steps{display:block;position:fixed;right:88px;top:17px;max-width:calc(100% - 108px);text-align:right;color:#fff8e9;font-size:13px;line-height:1.7;letter-spacing:.3px}
.wechat-share-guide .share-guide-steps p{margin:0}
.wechat-share-guide .share-guide-steps p+p{font-size:11px;color:#ddd8c7;margin-top:3px}
.wechat-share-guide .share-guide-steps strong{font:600 16px/1 sans-serif;margin:0 3px}
@media(max-width:360px){.sheet-card,.wechat-share-guide .sheet-card{padding:20px}.sheet-card h2,.wechat-share-guide .sheet-card h2{font-size:21px}.shared-sheet,.shared-sheet.wechat-share-guide{padding-left:16px;padding-right:16px}}
@media(max-height:580px){.shared-sheet.wechat-share-guide{padding-top:84px;padding-bottom:16px}.wechat-share-guide .sheet-card{max-height:calc(100dvh - 100px)}.sheet-card textarea,.wechat-share-guide textarea,.wechat-share-guide.show-copy-link textarea{height:110px}.sheet-card,.wechat-share-guide .sheet-card{padding:18px}.share-card-preview,.wechat-share-guide .share-card-preview{margin-top:12px;padding-bottom:12px}.share-actions{margin-top:12px}}
