/* One open celebration pass: no guest profiles or invitation gates. */
.open-reply-layout{display:grid;grid-template-columns:minmax(0,1fr) 294px;gap:34px;align-items:start}
.open-reply-main{min-width:0}.open-reply-page input,.open-reply-page textarea{font-size:13px;background:#fffef8;color:#334d37;border-color:#c7d1bd}
.open-name-panel{padding:30px 32px 33px;background:#eef1e3;border:1px solid #ccd6bd;box-shadow:inset 4px 0 #9cad85}
.open-name-panel>.eyebrow{font-size:9px;letter-spacing:.14em;color:#66765b;margin-bottom:20px}
.open-name-panel>label{font-family:Georgia,serif;font-size:31px;font-weight:400;letter-spacing:-.04em;line-height:1.2;display:block;margin-bottom:18px}
.open-name-panel>input{max-width:440px;min-height:50px}
.open-section-title{margin:40px 0 23px}.open-section-title>.eyebrow{font-size:9px;color:#65785a;letter-spacing:.14em;margin-bottom:15px}.open-section-title h2{font-size:38px;letter-spacing:-.045em;line-height:1.1}.open-section-title p{font-size:12px;color:#63745b;line-height:1.9;max-width:430px;margin-top:15px}
.open-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.open-event{min-width:0;border:1px solid #cdd7c2;background:#fdfbf3;transition:background .2s,border-color .2s}
.open-event-photo{height:143px;position:relative;overflow:hidden;background:#28392d}.open-event-photo>img{width:106%;max-width:none;height:100%;object-fit:cover;object-position:60% 50%;filter:brightness(.8);transition:transform .6s}.open-event:hover .open-event-photo>img{transform:translateX(-4%)}
.open-event-photo>span{position:absolute;top:17px;left:18px;font-family:Georgia,serif;font-size:26px;letter-spacing:-.04em;color:#f9edda;text-shadow:0 1px 12px #182319}
.open-event-paper{padding:22px 20px}.open-event h3{font-family:Georgia,serif;font-size:28px;letter-spacing:-.04em;font-weight:400;line-height:1.1;min-height:61px;overflow-wrap:anywhere}.open-event-paper>small{font-size:10px;color:#627459;display:block;margin-top:10px}
.open-event fieldset{padding:0;border:0;display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;min-width:0}
.open-event fieldset>label{min-height:44px;display:flex;align-items:center;gap:6px;padding:10px 8px;border:1px solid #cbd5be;border-radius:2px;background:#f2f5e9;font-size:10px;color:#526e43;font-weight:400;line-height:1.4;cursor:pointer}
.open-event fieldset input{width:12px;min-height:0;height:12px;margin:0;flex:0 0 12px;accent-color:#5d7a47}
.open-event label:has(input:checked){background:#dce8cd;border-color:#92aa79;color:#2f4c28}.open-event label:has(input[value=declined]:checked){background:#eee1ce;border-color:#b49a77;color:#694f35}
.open-event[data-answer=attending]{border-color:#9eaf88;background:#edf2e4}.open-event[data-answer=declined]{border-color:#c4b08d;background:#f5eddf}
.open-event:last-child{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr}.open-event:last-child .open-event-photo{height:100%;min-height:160px}.open-event:last-child h3{min-height:0}
.open-dietary{margin-top:26px;padding:26px 29px;border:1px solid #d4dcc8;background:#f8f8ed}.open-dietary>label{font-size:13px;color:#3d5835;font-weight:400;display:block;margin-bottom:13px}.open-dietary label>span{color:#68765f;font-size:11px}
.open-reply-summary{position:sticky;top:25px;overflow:hidden;border:1px solid #c6d2b5;background:#e9eeda;box-shadow:0 14px 35px #243a2610;min-width:0}
.open-summary-art{height:132px;position:relative;overflow:hidden}.open-summary-art>img{width:100%;height:100%;object-fit:cover;object-position:65% 45%;filter:brightness(.6)}.open-summary-art>span{position:absolute;bottom:19px;left:25px;font-size:9px;letter-spacing:.16em;line-height:1.7;color:#f9edcf}
.open-summary-paper{padding:27px 25px}.open-summary-paper>.eyebrow{font-size:9px;letter-spacing:.12em;color:#627652}.open-summary-paper h2{font-size:40px;letter-spacing:-.05em;line-height:1.05;margin-top:17px}.open-summary-paper h2 em{font-weight:400;color:#657b51}.open-summary-name{font-family:Georgia,serif;font-size:22px;letter-spacing:-.03em;line-height:1.25;overflow-wrap:anywhere;color:#526b41;margin:22px 0}
.open-summary-count{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #c2cfaf;padding:21px 0 15px}.open-summary-count>strong{font-family:Georgia,serif;font-size:53px;line-height:1;font-weight:400;color:#4c6b39}.open-summary-count>span{font-size:10px;color:#576c47;line-height:1.8}
.open-summary-moments{padding:0;list-style:none;margin:0}.open-summary-moments>li{display:flex;justify-content:space-between;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid #cbd5bb;font-size:11px;line-height:1.5;color:#637452}.open-summary-moments i{font-style:normal;font-size:15px;flex:0 0 16px;text-align:center}.open-summary-moments [data-answer=attending]{color:#3d5d2c}.open-summary-moments [data-answer=declined]{color:#836744}
.open-summary-flavour{font-family:Georgia,serif;font-style:italic;font-size:18px;line-height:1.45;letter-spacing:-.025em;color:#617649;margin:22px 0}
.open-save-state{font-size:10px;color:#536d41;line-height:1.7;margin:0 0 13px}.open-save-state[data-dirty=true]{color:#8a653f}.open-summary-paper>.button{width:100%;background:#536f3c;border-color:#536f3c;font-size:11px;gap:18px}.open-storage-note{display:block;font-size:10px;color:#607452;line-height:1.8;margin-top:16px}
.open-guestbook{margin-top:55px;background:#fdf9ef;border:1px solid #d8d3be;padding:40px 33px 10px;position:relative;box-shadow:inset 5px 0 #dac5a3}
.open-guestbook-heading{position:relative;padding-bottom:31px;border-bottom:1px solid #dbd6c3}.open-guestbook-heading>.eyebrow{font-size:9px;letter-spacing:.14em;color:#8b6e4c}.open-guestbook-heading h2{font-size:61px;letter-spacing:-.055em;line-height:1.02;margin-top:22px;max-width:440px}.open-guestbook-heading h2 em{font-weight:400;color:#a07c50}.open-guestbook-heading>p{font-size:12px;line-height:1.9;color:#78664d;max-width:330px;margin-top:23px}.open-guestbook-mark{display:block;font-family:Georgia,serif;font-style:italic;font-size:26px;letter-spacing:-.04em;color:#a27f50;margin-top:24px}
.open-vibes{padding:28px 0 29px;border:0;border-bottom:1px solid #dbd6c3;min-width:0}.open-vibes>legend{padding-top:28px;font-family:Georgia,serif;font-size:27px;letter-spacing:-.035em;line-height:1.2}.open-vibes>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.open-vibes label{padding:13px 12px;min-height:58px;display:flex;align-items:center;gap:9px;border:1px solid #d7cdb8;font-size:11px;font-weight:400;line-height:1.5;color:#786040;cursor:pointer}.open-vibes input{width:12px;height:12px;min-height:0;margin:0;flex:0 0 12px;accent-color:#9d7647}.open-vibes label>span{font-family:Georgia,serif;font-size:24px;color:#a18153}.open-vibes label:has(input:checked){background:#eee0c8;border-color:#b79b72;color:#5e482e}
.open-fun-question{display:grid;grid-template-columns:36px minmax(0,1fr);gap:15px;padding:29px 0;border-bottom:1px solid #dbd6c3}.open-fun-question:last-child{border:0}.open-question-number{font-family:Georgia,serif;font-size:27px;letter-spacing:-.05em;color:#a6906e;line-height:1.2}.open-fun-question label{font-family:Georgia,serif;font-size:28px;letter-spacing:-.035em;line-height:1.15;font-weight:400;display:block;color:#514a35}.open-fun-question p{font-size:12px;line-height:1.9;color:#7f6d51;margin:13px 0 19px}.open-fun-question input,.open-fun-question textarea{border-color:#d2c9b5;background:#fffdf6;color:#69583d;min-height:49px}
.open-idea-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.open-idea-chips>span{display:block;width:100%;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8a7554;margin-bottom:3px}.open-idea-chips>button{min-height:44px;font-size:10px;padding:11px 12px;display:flex;align-items:center;gap:12px;background:#f2e9d8;color:#78603b;border:1px solid #d8c9aa;border-radius:20px}
.open-reply-review{margin-top:24px}.open-review-name{background:#e9eedf;padding:23px 25px}.open-review-name>.eyebrow{font-size:9px;color:#647656;letter-spacing:.13em}.open-review-name>h3{font-family:Georgia,serif;font-size:33px;line-height:1.1;letter-spacing:-.04em;margin-top:13px;overflow-wrap:anywhere}
.open-review-events{list-style:none;padding:7px 0;margin:0}.open-review-events>li{padding:14px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d7ddce;font-size:12px;line-height:1.6}.open-review-events strong{font-size:10px;font-weight:400;padding:6px 9px;background:#e7eddb;color:#49603b;flex:0 0 auto;max-width:45%;text-align:center;border:1px solid #d1dac5;border-radius:3px}.open-review-events [data-answer=declined]{background:#f1e5d1;color:#806542;border-color:#ded0b8}.open-review-events [data-answer=unanswered]{background:#f2f2e9;color:#68725e;border-style:dashed}
.open-review-note{padding:18px 0;border-bottom:1px solid #d7ddce}.open-review-note>h4{font-family:Georgia,serif;font-size:23px;font-weight:400;letter-spacing:-.025em;margin-bottom:12px;line-height:1.2}.open-review-note>p{font-size:12px;color:#66775b;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.open-review-vibe{font-family:Georgia,serif;font-style:italic;color:#8a714b;margin:21px 0;font-size:23px;line-height:1.3}
.open-saved-letter{max-width:740px;margin:0 auto;padding:10px 0 30px}.open-saved-mark{display:block;font-size:50px;color:#8da474;margin-bottom:23px}.open-saved-letter>.eyebrow{font-size:9px;letter-spacing:.13em;color:#657b54}.open-saved-letter>h2{font-size:58px;letter-spacing:-.05em;line-height:1.05;margin:24px 0;overflow-wrap:anywhere}.open-saved-letter h2 em{font-weight:400;color:#7c8e65}.open-saved-letter>p{max-width:440px;font-size:13px;color:#637653;line-height:1.9}.open-saved-letter .actions{margin-top:30px}
.trivia-personalise{margin-top:30px;border-top:1px solid #cdd7c1;border-bottom:1px solid #cdd7c1}.trivia-personalise>summary{cursor:pointer;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:Georgia,serif;font-size:25px;letter-spacing:-.03em;list-style:none}.trivia-personalise>summary::-webkit-details-marker{display:none}.trivia-personalise>summary>span:last-child{font-size:24px;color:#748764}.trivia-personalise[open]>summary{margin-bottom:20px}.trivia-personalise .trivia-welcome-spread{margin-bottom:30px}.trivia-personalise .trivia-onboarding h2{font-size:31px}.trivia-personalise .trivia-onboarding .help-text{margin:19px 0 0}.trivia-personalise .play-pass{position:relative;top:auto}
.guest-still .open-event,.guest-still .open-event-photo>img{transition:none}.guest-still .open-event-photo>img{transform:none!important}
@media(max-width:1000px) and (min-width:761px){.open-reply-layout{grid-template-columns:minmax(0,1fr) 245px;gap:24px}.open-event-grid{grid-template-columns:1fr}.open-event,.open-event:last-child{display:grid;grid-template-columns:100px minmax(0,1fr)}.open-event-photo,.open-event:last-child .open-event-photo{height:100%;min-height:150px}.open-event-paper{padding:22px 18px}.open-event h3{font-size:26px;min-height:0}.open-event fieldset{gap:6px}.open-summary-paper{padding:25px 20px}.open-summary-paper h2{font-size:36px}.open-name-panel{padding:28px 25px}.open-guestbook{padding-left:26px;padding-right:26px}.open-vibes>div{grid-template-columns:1fr}.open-guestbook-heading h2{font-size:52px}.open-fun-question{grid-template-columns:27px minmax(0,1fr);gap:9px}.open-fun-question label{font-size:26px}}
@media(max-width:760px){.open-reply-layout{grid-template-columns:minmax(0,1fr);gap:30px}.open-name-panel{padding:27px 25px}.open-name-panel>label{font-size:30px}.open-section-title{margin-top:34px}.open-section-title h2{font-size:33px}.open-event-grid{grid-template-columns:1fr;gap:13px}.open-event,.open-event:last-child{display:grid;grid-template-columns:93px minmax(0,1fr)}.open-event-photo,.open-event:last-child .open-event-photo{height:100%;min-height:150px}.open-event-photo>span{top:14px;left:14px;font-size:24px}.open-event-paper{padding:21px 18px}.open-event h3{font-size:25px;min-height:0;overflow-wrap:normal}.open-event-paper>small{font-size:9px;margin-top:10px}.open-event fieldset{gap:7px;margin-top:15px}.open-event fieldset>label{padding:10px 8px;font-size:10px}.open-dietary{padding:25px 23px;margin-top:20px}.open-guestbook{padding:33px 24px 7px;margin-top:37px}.open-guestbook-heading h2{font-size:53px}.open-guestbook-mark{font-size:24px}.open-vibes>legend{font-size:26px}.open-vibes>div{grid-template-columns:1fr;gap:8px}.open-vibes label{min-height:53px}.open-fun-question{grid-template-columns:25px minmax(0,1fr);gap:10px;padding:26px 0}.open-question-number{font-size:24px}.open-fun-question label{font-size:27px}.open-fun-question p{font-size:11px}.open-fun-question input,.open-fun-question textarea{font-size:12px}.open-idea-chips{gap:7px}.open-idea-chips>button{font-size:9px;padding:10px 11px;gap:9px}.open-reply-summary{position:static}.open-summary-art{height:150px}.open-summary-paper{padding:29px 27px}.open-summary-paper h2{font-size:44px}.open-summary-paper h2 br{display:none}.open-summary-paper h2 em{margin-left:7px}.open-summary-name{font-size:26px}.open-summary-moments>li{font-size:12px;padding:12px 0}.open-summary-flavour{font-size:21px}.open-summary-paper>.button{font-size:12px}.open-review-events>li{font-size:11px;gap:13px}.open-review-events strong{font-size:9px;padding:6px 7px}.open-review-name{padding:22px}.open-review-name>h3{font-size:30px}.open-saved-letter>h2{font-size:45px}.trivia-personalise>summary{font-size:23px;gap:15px}.trivia-personalise .play-pass{transform:none;margin:0}.trivia-personalise .trivia-onboarding h2{font-size:30px}}
@media(max-width:360px){.open-name-panel{padding:24px 21px}.open-name-panel>label{font-size:27px}.open-section-title h2{font-size:30px}.open-event,.open-event:last-child{grid-template-columns:72px minmax(0,1fr)}.open-event-photo>span{font-size:22px;left:11px}.open-event-paper{padding:20px 14px}.open-event h3{font-size:22px}.open-event fieldset{gap:6px}.open-event fieldset>label{font-size:9px;padding:10px 7px}.open-guestbook{padding-left:20px;padding-right:19px}.open-guestbook-heading h2{font-size:46px}.open-fun-question{grid-template-columns:minmax(0,1fr);gap:13px}.open-fun-question label{font-size:27px}.open-question-number{font-size:22px}.open-summary-paper{padding:27px 24px}.open-summary-paper h2{font-size:38px}.open-review-events strong{max-width:43%}.open-saved-letter>h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.open-event,.open-event-photo>img{transition:none}.open-event:hover .open-event-photo>img{transform:none}}

.open-event-shortcuts{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:9px}.open-event-shortcuts .text-link{font-size:10px;background:transparent;color:#536d43;gap:15px;min-height:44px}
.open-reply-summary .open-summary-art{height:90px}.open-summary-paper{padding:23px 24px}.open-summary-paper h2{font-size:35px;margin-top:13px}.open-summary-name{font-size:19px;margin:15px 0}.open-summary-count{padding:14px 0 10px}.open-summary-count>strong{font-size:44px}.open-summary-moments>li{padding:7px 0;font-size:10px}.open-summary-flavour{font-size:16px;line-height:1.4;margin:15px 0}.open-save-state{font-size:9px;margin-bottom:10px}.open-storage-note{font-size:9px;line-height:1.7;margin-top:11px}
@media(max-width:760px){.open-reply-summary .open-summary-art{height:150px}.open-summary-paper{padding:29px 27px}.open-summary-paper h2{font-size:42px}.open-summary-name{font-size:25px;margin:23px 0}.open-summary-count{padding:22px 0 14px}.open-summary-count>strong{font-size:53px}.open-summary-moments>li{font-size:12px;padding:12px 0}.open-summary-flavour{font-size:21px;margin:23px 0}.open-save-state,.open-storage-note{font-size:10px}.open-storage-note{margin-top:16px}.open-event-shortcuts{gap:8px 20px;margin-top:13px}.open-event-shortcuts .text-link{font-size:10px}}
@media(max-width:360px){.open-summary-paper{padding:27px 24px}.open-summary-paper h2{font-size:38px}}
@media(min-width:761px) and (max-height:820px){.open-reply-summary{position:static}}

.open-event{position:relative}.open-clear-event{position:absolute;z-index:1;top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;border:1px solid #f4ebd76e;border-radius:50%;background:#14291ec9;color:#fff6e2;font-size:24px;font-weight:400}.open-clear-event[hidden]{display:none}
@media(max-width:1000px) and (min-width:761px){.open-clear-event{left:15px;right:auto}.open-event-photo>span{top:auto;bottom:14px}}
@media(max-width:760px){.open-clear-event{top:8px;left:14px;right:auto}.open-event-photo>span{top:auto;bottom:14px}}

@media(max-width:760px){dialog:has(.open-reply-review){padding:22px 20px}dialog:has(.open-reply-review) .dialog-actions{flex-direction:column;align-items:stretch}dialog:has(.open-reply-review) .dialog-actions .button{width:100%}}
