:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.app{min-height:100vh;padding:2rem 1.5rem;max-width:960px;margin:0 auto}.header{text-align:center;margin-bottom:2.5rem}.header h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header p{color:#ffffff80;margin-top:.25rem;font-size:.95rem}.template-row{display:flex;gap:.75rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.template-btn{padding:.5rem 1.25rem;border-radius:2rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#fff9;font-size:.85rem;cursor:pointer;transition:all .2s}.template-btn:hover{border-color:#ffffff40;color:#fff}.template-btn.active{border-color:#a78bfa;background:#a78bfa1f;color:#a78bfa}.layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}@media(max-width:700px){.layout{grid-template-columns:1fr}}.form-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1.5rem}.form-panel h2{font-size:1rem;font-weight:600;margin-bottom:1.25rem;color:#fffc}.field{margin-bottom:1rem}.field label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#fff6;margin-bottom:.35rem}.field input,.field textarea,.field select{width:100%;padding:.6rem .75rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#fafafa;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#a78bfa}.field textarea{resize:vertical;min-height:70px}.field select option{background:#1a1a1a}.rsvp-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.06)}.rsvp-section h3{font-size:.85rem;font-weight:600;color:#ffffffb3;margin-bottom:1rem}.rsvp-row{display:flex;gap:.75rem;align-items:end}.rsvp-row .field{flex:1;margin-bottom:0}.rsvp-add-btn{padding:.6rem 1rem;border-radius:.5rem;border:1px solid rgba(167,139,250,.3);background:#a78bfa14;color:#a78bfa;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:all .2s}.rsvp-add-btn:hover{background:#a78bfa26}.guest-list{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.guest-chip{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:2rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);font-size:.8rem;color:#ffffffb3}.guest-chip button{background:none;border:none;color:#ffffff59;cursor:pointer;font-size:1rem;line-height:1;padding:0}.guest-chip button:hover{color:#f472b6}.preview-panel{position:sticky;top:2rem}.invitation{border-radius:1rem;padding:2.5rem 2rem;text-align:center;position:relative;overflow:hidden;min-height:420px;display:flex;flex-direction:column;justify-content:center}.invitation .ornament{position:absolute;font-size:3rem;opacity:.15;pointer-events:none}.invitation .ornament.top-left{top:1rem;left:1.25rem}.invitation .ornament.top-right{top:1rem;right:1.25rem}.invitation .ornament.bottom-left{bottom:1rem;left:1.25rem}.invitation .ornament.bottom-right{bottom:1rem;right:1.25rem}.invitation .type-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;margin-bottom:.75rem;opacity:.7}.invitation .title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem}.invitation .subtitle{font-size:1rem;opacity:.7;margin-bottom:1.5rem}.invitation .details{font-size:.85rem;opacity:.6;line-height:1.8}.invitation .details strong{opacity:1;font-weight:600}.invitation .divider{width:3rem;height:1px;margin:1.25rem auto;opacity:.3}.invitation .guest-count{margin-top:1.25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;opacity:.5}.invitation.elegant{background:linear-gradient(160deg,#1a1020,#0d0d1a);border:1px solid rgba(167,139,250,.2);color:#e8e0f0;font-family:Georgia,Times New Roman,serif}.invitation.elegant .divider{background:#a78bfa}.invitation.tropical{background:linear-gradient(160deg,#0a2018,#0a1520);border:1px solid rgba(52,211,153,.2);color:#d1fae5;font-family:ui-sans-serif,system-ui,sans-serif}.invitation.tropical .divider{background:#34d399}.invitation.sunset{background:linear-gradient(160deg,#2a0a10,#1a0a20);border:1px solid rgba(251,146,60,.2);color:#fef3c7;font-family:ui-sans-serif,system-ui,sans-serif}.invitation.sunset .divider{background:#fb923c}.invitation.minimal{background:#111;border:1px solid rgba(255,255,255,.15);color:#fafafa;font-family:ui-sans-serif,system-ui,sans-serif}.invitation.minimal .divider{background:#fff}.actions{margin-top:1.25rem;display:flex;gap:.75rem;justify-content:center}.action-btn{padding:.55rem 1.25rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffffb3;font-size:.8rem;cursor:pointer;transition:all .2s}.action-btn:hover{background:#ffffff1a;color:#fff}.action-btn.primary{background:#a78bfa26;border-color:#a78bfa4d;color:#a78bfa}.action-btn.primary:hover{background:#a78bfa40}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:.65rem 1.25rem;border-radius:.5rem;background:#a78bfa26;border:1px solid rgba(167,139,250,.25);color:#a78bfa;font-size:.85rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:toast-in .3s ease;z-index:100}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}
