:root{--bg-1:#040a08;--bg-2:#0c1a15;--card-bg:#040a08;--text:#eef4ea;--text-muted:#9db2a4;--border:#1e3229;--shadow:#00000080 0 10px 10px -14px, #00000059 0 4px 10px -2px;--navy:#0c1b2b;--green:#78bf2d;--green-dark:#4d861c;--gold:#f2b93b;--gold-dark:#d99a15;--blue:#2f9fd8;--blue-dark:#1c7fb3;--red:#d1543f;--red-dark:#b03e2b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg-1);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 Segoe UI,system-ui,Roboto,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:radial-gradient(ellipse at top, var(--bg-2), var(--bg-1) 70%);min-height:100svh;margin:0}#root{justify-content:center;min-height:100svh;display:flex}h1,h2,h3,p{margin:0}button{font:inherit}.rsvp-card{background:var(--card-bg);box-shadow:var(--shadow);text-align:left;border-top:4px solid #adff2f;border-right-color:#fff;border-radius:50px 0 20px 20px;flex-direction:column;gap:16px;padding:24px 22px 28px;display:flex}.rsvp-card h2{color:var(--green);font-size:22px}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.rsvp-subtitle{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:-8px;font-size:14px;display:flex}.rsvp-scroll-hint{color:var(--green);font-size:16px;font-weight:700;line-height:1}.rsvp-field{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.rsvp-field input{font:inherit;text-transform:none;letter-spacing:normal;border:1.5px solid var(--border);color:var(--text);background:0 0;border-radius:10px;padding:12px 14px;font-size:16px;font-weight:400}.rsvp-field input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2f9fd82e}.rsvp-field input[aria-invalid=true]{border-color:var(--red)}.rsvp-hint{text-transform:none;letter-spacing:normal;opacity:.85;font-size:12px;font-weight:400}.rsvp-error{text-transform:none;letter-spacing:normal;color:var(--red);font-size:12.5px;font-style:normal;font-weight:600}.rsvp-choices{flex-direction:column;gap:8px;margin-top:4px;display:flex}.rsvp-choice{border:1.5px solid var(--border);color:var(--text);text-transform:none;letter-spacing:normal;cursor:pointer;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;font-size:15px;font-weight:600;transition:transform 80ms,background .15s,border-color .15s;display:flex}.rsvp-choice:hover{transform:translateY(-1px)}.rsvp-choice-emoji{font-size:18px}.rsvp-choice-yes.is-selected{background:color-mix(in srgb, var(--green) 16%, transparent);border-color:var(--green-dark);color:var(--green-dark)}.rsvp-choice-maybe.is-selected{background:color-mix(in srgb, var(--gold) 20%, transparent);border-color:var(--gold-dark);color:var(--gold-dark)}.rsvp-choice-no.is-selected{background:color-mix(in srgb, var(--red) 14%, transparent);border-color:var(--red-dark);color:var(--red-dark)}.rsvp-banner{background:color-mix(in srgb, var(--red) 12%, transparent);border:1px solid var(--red);color:var(--red-dark);border-radius:8px;padding:10px 12px;font-size:13.5px;font-weight:600}.rsvp-submit{background:linear-gradient(135deg, var(--blue), var(--blue-dark));color:#fff;letter-spacing:.02em;cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:14px;font-size:16px;font-weight:700;transition:transform 80ms,opacity .15s;box-shadow:0 8px 18px -8px #2f9fd899}.rsvp-submit:hover:not(:disabled){transform:translateY(-1px)}.rsvp-submit:disabled{opacity:.7;cursor:wait}.rsvp-success{text-align:center;align-items:center;gap:10px;padding:40px 24px 44px}.rsvp-success-emoji{font-size:42px}.rsvp-success h2{color:var(--green)}.rsvp-success p{color:var(--text-muted);max-width:34ch}.page{flex-direction:column;align-items:stretch;gap:18px;width:100%;max-width:460px;display:flex}.jump-link{z-index:10;color:#adff2f;letter-spacing:.02em;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:8px;align-items:center;padding:4px 6px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;position:fixed;top:2px;right:2px}.jump-link:hover{background:#000000b3}.hero{box-shadow:var(--shadow);background:var(--card-bg);border-radius:20px;overflow:hidden}.invite-image{width:100%;height:auto;display:block}.page-footer{text-align:center;color:var(--text-muted);padding-bottom:8px;font-size:13px}
