:root{color:#f5eee6;background:#140d08;font-family:Georgia,Times New Roman,serif;color-scheme:dark}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:#140d08}body{margin:0;min-width:320px;min-height:100svh;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root,.concept-page{min-height:100svh}.concept-page{position:relative;isolation:isolate;display:grid;place-items:center;overflow:hidden;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#140d08}.ambient-backdrop{position:fixed;z-index:-1;top:-42px;right:-42px;bottom:-42px;left:-42px;overflow:hidden;opacity:.5;filter:blur(28px) brightness(.52) saturate(.72);transform:scale(1.12);pointer-events:none}.ambient-backdrop picture,.ambient-backdrop img{display:block;width:100%;height:100%}.ambient-backdrop img{object-fit:cover}.card-frame{position:relative;width:min(calc(100vw - 16px),calc((100svh - 16px)*.5628),720px);aspect-ratio:941 / 1672;margin:0;overflow:hidden;background:#4a2d18;box-shadow:0 2px 4px #00000038,0 24px 64px #0000007a}.card-frame picture,.card-frame img{display:block;width:100%;height:100%}.card-frame img{object-fit:contain}.calendar-hit-area{position:absolute;z-index:1;top:24.2%;left:21.7%;display:block;width:57.8%;height:48.3%;background:transparent;clip-path:polygon(13% 0,43% 0,50% 2%,57% 0,87% 0,100% 5%,97% 20%,100% 50%,97% 80%,100% 95%,87% 100%,57% 99%,50% 97%,43% 99%,13% 100%,0 95%,3% 80%,0 50%,3% 20%,0 5%);cursor:pointer;-webkit-tap-highlight-color:transparent}.calendar-hit-area:focus-visible{outline:2px solid #f5d692;outline-offset:-3px;background:#ffffff14}.calendar-hit-area:active{background:#ffffff0d}@media(min-width:720px){.concept-page{padding:18px}.card-frame{width:min(calc(100vw - 36px),calc((100svh - 36px)*.5628),720px)}}@media(prefers-reduced-motion:reduce){.ambient-backdrop{filter:brightness(.46) saturate(.72);transform:none}}.rsvp-page{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100svh;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden auto;background:linear-gradient(#22160ec2,#22160ee0),url(/assets/save-the-date-concept-2.webp?v=concept-2) center / cover no-repeat;color:#33231a}.rsvp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(circle at 50% 18%,rgba(245,214,146,.16),transparent 32%),linear-gradient(90deg,rgba(20,13,8,.18),transparent 40%,rgba(20,13,8,.2));pointer-events:none}.rsvp-paper{position:relative;width:min(100%,500px);margin:0 auto;padding:46px 24px 30px;overflow:hidden;border:1px solid rgba(121,81,52,.2);border-radius:10px;background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.66),transparent 22%),linear-gradient(#fbf7edf5,#fbf7edfa);box-shadow:0 24px 58px #0000006b,inset 0 0 0 1px #ffffff9e;text-align:center}.rsvp-paper-rule{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(191,151,83,.44);border-radius:6px;pointer-events:none}.rsvp-monogram,.rsvp-eyebrow,.rsvp-paper h1,.rsvp-intro,.rsvp-form,.rsvp-confirmation{position:relative;z-index:1}.rsvp-monogram{margin:0 0 16px;color:#6044316b;font-size:12px;font-weight:700;letter-spacing:.16em}.rsvp-eyebrow{margin:0;font-family:Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.rsvp-paper h1{margin:9px 0 0;font-size:clamp(38px,12vw,56px);font-weight:700;line-height:1}.rsvp-intro{width:min(270px,88%);margin:18px auto 26px;padding:13px 0;border-top:1px solid rgba(191,151,83,.56);border-bottom:1px solid rgba(191,151,83,.56);color:#604431;font-family:Arial,sans-serif;font-size:11px;font-weight:800;letter-spacing:.06em;line-height:1.65;text-transform:uppercase}.rsvp-form{display:grid;gap:15px;text-align:left}.rsvp-field{display:grid;gap:7px}.rsvp-field span,.rsvp-choice legend{color:#33231a;font-family:Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.04em}.rsvp-choice{margin:0;border:0;padding:0}.rsvp-choice label{display:flex;align-items:center;gap:9px;min-height:38px;color:#33231a;font-family:Arial,sans-serif;cursor:pointer}.rsvp-choice input{width:17px;height:17px;accent-color:#33231a}.rsvp-field input:not([type=radio]){width:100%;min-height:48px;border:1px solid rgba(96,68,49,.34);border-radius:7px;background:#ffffff94;color:#33231a;font:16px Arial,sans-serif;padding:10px 12px}.rsvp-field input:not([type=radio]):disabled{cursor:not-allowed;opacity:.58}.rsvp-field input:not([type=radio]):focus-visible{outline:2px solid #604431;outline-offset:2px;background:#ffffffc7}.rsvp-submit{min-height:52px;margin-top:8px;border:1px solid #33231a;border-radius:8px;background:#33231a;color:#f7f0e3;font-family:Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.rsvp-submit:disabled{cursor:not-allowed;opacity:.58}.rsvp-submit:focus-visible{outline:3px solid rgba(228,191,90,.7);outline-offset:3px}.rsvp-submit:active{transform:scale(.99)}.calendar-button{display:grid;place-items:center;min-height:46px;border:1px solid rgba(96,68,49,.44);border-radius:8px;color:#33231a;font-family:Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.08em;text-align:center;text-decoration:none;text-transform:uppercase}.calendar-button:focus-visible{outline:3px solid rgba(228,191,90,.7);outline-offset:3px}.form-status{position:relative;z-index:1;margin:0 0 18px;border-radius:7px;padding:12px 14px;font-family:Arial,sans-serif;font-size:13px;font-weight:700;line-height:1.45;text-align:left}.form-status.success{border:1px solid rgba(59,105,70,.24);background:#e5f2e2eb;color:#315f39}.form-status.error{border:1px solid rgba(137,47,37,.22);background:#fce8e4eb;color:#8b2f25}@media(min-width:720px){.rsvp-page{padding:36px}.rsvp-paper{padding:58px 48px 42px}.rsvp-form{gap:17px}}.admin-page{min-height:100svh;padding:28px max(16px,env(safe-area-inset-right)) 40px max(16px,env(safe-area-inset-left));background:#f7f0e3;color:#33231a;font-family:Arial,sans-serif}.admin-login-page{display:grid;place-items:center;background:linear-gradient(#22160ec2,#22160ee0),url(/assets/save-the-date-concept-2.webp?v=concept-2) center / cover no-repeat}.admin-login-panel,.admin-panel{border:1px solid rgba(96,68,49,.14);border-radius:8px;background:#fffcf6eb;box-shadow:0 12px 28px #33231a14}.admin-login-panel{width:min(100%,420px);padding:30px 24px}.admin-kicker{margin:0 0 7px;color:#604431;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.admin-page h1,.admin-page h2{margin:0;font-family:Georgia,Times New Roman,serif;line-height:1.05}.admin-page h1{font-size:clamp(34px,7vw,52px)}.admin-page h2{font-size:25px}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto 22px}.admin-secondary-button,.admin-export-link,.admin-text-button{border-radius:7px;font-family:Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.04em}.admin-secondary-button,.admin-export-link{min-height:40px;padding:0 14px;border:1px solid rgba(51,35,26,.74);background:#ffffff7a;color:#33231a;text-decoration:none}.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1120px;margin:0 auto 18px}.admin-stats div{border:1px solid rgba(96,68,49,.14);border-radius:8px;padding:16px;background:#fffaf2}.admin-stats span{display:block;font-size:30px;font-weight:800}.admin-stats p{margin:3px 0 0;color:#604431;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.admin-panel{max-width:1120px;margin:0 auto 18px;padding:20px}.admin-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-export-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-form{display:grid;gap:15px}.admin-form-grid{margin-top:18px}.guest-table-wrap{overflow-x:auto}.guest-table{width:100%;min-width:760px;border-collapse:collapse;font-size:14px}.guest-table th,.guest-table td{border-bottom:1px solid rgba(96,68,49,.14);padding:11px 10px;text-align:left;vertical-align:top}.guest-table th{color:#604431;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-text-button{border:0;background:transparent;color:#8b2f25;cursor:pointer}.admin-loading{margin:0;font-size:16px;font-weight:700}@media(min-width:760px){.admin-form-grid{grid-template-columns:1.2fr 1.2fr 1fr 1fr 1fr auto;align-items:end}}@media(max-width:620px){.admin-header,.admin-panel-heading{display:grid}.admin-stats{grid-template-columns:1fr}.admin-export-actions{justify-content:stretch}.admin-export-link{display:grid;place-items:center}}
