:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131016;--panel:#1d1922;--line:#ffffff17;--text:#efeae3;--muted:#a29b92;--accent:#ff7a59;--on-accent:#1c0f0a;--danger:#ff5c38}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--text);min-height:100dvh;font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}#root{min-height:100dvh}button{font:inherit}input,textarea{font:inherit;color:var(--text);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;width:100%;padding:11px 13px}input:focus,textarea:focus{border-color:var(--accent);outline:none}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.page{max-width:640px;margin:0 auto;padding:18px 18px 48px}header{justify-content:space-between;align-items:center;padding:4px 0 18px;display:flex}.brand{letter-spacing:-.02em;font-size:34px;font-weight:800}.brand-sm{font-size:19px;font-weight:800}.who{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.center-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px;display:flex}.tagline{color:var(--muted);max-width:360px;line-height:1.6}.hint{color:var(--muted);max-width:320px;font-size:12.5px}.btn{cursor:pointer;text-align:center;color:var(--text);background:#ffffff12;border:none;border-radius:13px;padding:13px 20px;font-size:15px;font-weight:700;text-decoration:none;display:inline-block}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-ghost{border:1px solid var(--line);background:0 0}.btn-ghost.danger{color:var(--danger);border-color:#ff5c3866}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:default}.link{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}.form{flex-direction:column;gap:8px;display:flex}.form h2{margin-bottom:8px}.form label{color:var(--muted);margin-top:6px;font-size:12.5px}.form .row{gap:10px;margin-top:8px;display:flex}.form .row>*{flex:1}.error{color:var(--danger);font-size:13.5px;font-weight:600}.list-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.list-head h1{font-size:22px}.empty{text-align:center;padding:26px 8px;line-height:1.6}.events{flex-direction:column;gap:10px;display:flex}.event-row{text-align:left;cursor:pointer;color:var(--text);flex-direction:column;gap:3px;display:flex}.event-row:hover{border-color:#ff7a5973}.event-name{font-size:16px;font-weight:700}.muted{color:var(--muted);font-size:13px}.event-head{justify-content:space-between;gap:12px;display:flex}.event-head h2{margin-bottom:4px;font-size:20px}.event-actions{flex:none;align-items:flex-start;gap:8px;display:flex}.notes{white-space:pre-wrap;margin-top:10px;font-size:14px;line-height:1.55}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:18px 0 0;display:flex;overflow-x:auto}.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 13px;font-weight:600}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:800}.tab-body{padding:22px 4px;line-height:1.6}.guests{flex-direction:column;gap:10px;display:flex}.counters{background:#ff7a5917;border:1px solid #ff7a594d;border-radius:12px;padding:10px 14px;font-size:14px}.guest-row{border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:5px;padding:11px 13px;display:flex}.guest-main{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.guest-sub{font-size:12.5px}.guest-actions{gap:8px;display:flex}.btn.sm{padding:7px 12px;font-size:12.5px}.chip{border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.chip.yes{color:#b8e34d;background:#b8e34d1f;border-color:#b8e34d66}.chip.no{color:var(--danger);background:#ff5c381a;border-color:#ff5c3859}.chip.wait{color:var(--muted);border-color:var(--line);background:#ffffff0f}.guest-add{gap:8px;margin-top:4px;display:flex}.guest-add input{flex:1;min-width:0}.guest-add select{font:inherit;color:var(--text);background:var(--panel);border:1px solid #ffffff1f;border-radius:12px;padding:0 10px}.regen{text-align:left;margin-top:6px}.rsvp{max-width:460px;padding-top:40px}.rsvp-choice{gap:10px;margin-bottom:6px;display:flex}.rsvp-choice .btn{flex:1}.rsvp-details{flex-direction:column;gap:8px;margin-top:14px;display:flex}.rsvp-details label{color:var(--muted);margin-top:6px;font-size:12.5px}.rsvp-details .row{align-items:center;gap:8px;display:flex}.center-page h1{font-size:22px}
