@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;1,700&display=swap";:root{font-family:DM Sans,sans-serif;color:#472c35;background:#f9e8eb;font-synthesis:none;--ink: #472c35;--berry: #a83f5f;--berry-dark: #7c2945;--rose: #e99ab0;--blush: #f9e8eb;--cream: #fffaf2;--gold: #d5984e;--green: #829b7a;--shadow: 0 18px 45px rgba(98, 44, 62, .13)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.85) 0 2px,transparent 3px),radial-gradient(circle at 82% 38%,rgba(255,255,255,.75) 0 2px,transparent 3px),linear-gradient(155deg,#fceef0,#f8dde5 48%,#f6e7dc);background-size:55px 55px,70px 70px,auto}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Playfair Display,serif;line-height:1.05}.page{position:relative;z-index:1;width:min(100% - 32px,940px);margin:0 auto;padding:72px 0 56px}.center-page{display:grid;min-height:100vh;place-items:center}.paper-card{position:relative;border:1px solid rgba(125,64,82,.13);border-radius:28px 24px 30px 22px;background:#fffaf2f0;box-shadow:var(--shadow)}.paper-card:after{position:absolute;z-index:-1;top:7px;right:-6px;bottom:-7px;left:6px;border:1px solid rgba(125,64,82,.09);border-radius:inherit;content:"";transform:rotate(.3deg)}.eyebrow{display:block;margin-bottom:10px;color:var(--berry);font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero{max-width:690px;margin:0 auto 36px;text-align:center}.hero h1{margin:0 0 18px;color:var(--berry-dark);font-size:clamp(4rem,13vw,7.5rem);font-style:italic;letter-spacing:-.06em;text-shadow:3px 3px 0 rgba(255,255,255,.72)}.hero-copy{max-width:590px;margin:0 auto;font-family:Playfair Display,serif;font-size:clamp(1.15rem,3vw,1.45rem);line-height:1.5}.wiggle-arrow{margin-top:24px;color:var(--berry);font-size:2rem;animation:bob 2.2s ease-in-out infinite}.invite-form{padding:clamp(24px,6vw,56px)}.form-section{position:relative;display:grid;grid-template-columns:52px 1fr;gap:8px 18px;padding:8px 0 42px}.form-section+.form-section{padding-top:42px;border-top:1px dashed rgba(71,44,53,.22)}.step-number{display:inline-grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:48% 52% 45% 55%;color:#fff;background:var(--berry);font-family:Playfair Display,serif;font-weight:700;transform:rotate(-5deg)}.form-section h2,.section-heading h2{margin-bottom:7px;color:var(--berry-dark);font-size:clamp(1.65rem,4vw,2.25rem)}.form-section p,.section-heading p{color:#7d626b}.option-grid,.field,.agreed-plan{grid-column:2}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 20px}.choice-card{position:relative;display:flex;min-height:68px;align-items:center;gap:12px;padding:14px 16px;overflow:hidden;border:1.5px solid #e8cbd3;border-radius:15px 17px 14px 18px;background:#fffdf8;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.choice-card:hover{border-color:var(--rose);transform:translateY(-2px) rotate(-.3deg)}.choice-card.selected{border-color:var(--berry);background:#fcedf1;box-shadow:0 5px #a83f5f1a}.choice-card input{position:absolute;opacity:0}.choice-mark{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border:1.5px solid #dbaeb9;border-radius:50%;color:transparent;background:#fff;font-size:.8rem;transition:all .16s ease}.selected .choice-mark{border-color:var(--berry);color:#fff;background:var(--berry);transform:rotate(-8deg) scale(1.08)}.field{display:grid;gap:8px;margin-top:8px}.field>span,fieldset legend{color:#6b4653;font-size:.84rem;font-weight:700}input,textarea,select{width:100%;border:1.5px solid #e2c7cf;border-radius:12px;outline:none;color:var(--ink);background:#fffdf9;transition:border-color .16s ease,box-shadow .16s ease}input{min-height:46px;padding:10px 13px}textarea{padding:12px 13px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--berry);box-shadow:0 0 0 4px #a83f5f17}.agreed-plan{display:grid;gap:5px;margin-top:14px;padding:22px;border:1px dashed var(--gold);border-radius:18px;background:#fff7df;text-align:center;transform:rotate(-.4deg)}.agreed-plan span{color:#9a6c34;font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.agreed-plan strong{font-family:Playfair Display,serif;font-size:1.4rem}.primary-button,.secondary-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:0;border-radius:13px 16px 12px 15px;cursor:pointer;font-weight:700;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.primary-button{padding:12px 22px;color:#fff;background:var(--berry);box-shadow:0 6px 0 var(--berry-dark)}.primary-button:hover{transform:translateY(-2px) rotate(-.4deg);box-shadow:0 8px 0 var(--berry-dark)}.primary-button:active{transform:translateY(4px);box-shadow:0 2px 0 var(--berry-dark)}.primary-button:disabled{cursor:wait;opacity:.7}.submit-button{display:flex;min-width:min(100%,350px);margin:0 auto}.success-message,.error-message{margin:20px auto 0;text-align:center;font-weight:600}.success-message{color:#587052}.error-message{color:#a32e40}.tiny-note{margin:28px 0 0;color:#896c76;font-size:.76rem;text-align:center}.small-card,.login-card{max-width:560px;padding:clamp(28px,7vw,56px);text-align:center}.small-card h1,.login-card h1{color:var(--berry-dark);font-size:clamp(2.4rem,8vw,4.6rem)}.login-card .primary-button{margin-top:14px}.loading-heart{color:var(--berry);font-size:3.4rem;animation:heartbeat 1.4s ease-in-out infinite}.admin-page{width:min(100% - 32px,1080px)}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px}.admin-header h1{margin:0;color:var(--berry-dark);font-size:clamp(3rem,8vw,5.5rem)}.text-button,.danger-button,.remove-button{border:0;cursor:pointer;background:transparent;font-weight:700}.text-button{padding:8px 0;color:var(--berry);text-decoration:underline;text-decoration-style:wavy;text-underline-offset:4px}.admin-form-card{padding:clamp(24px,5vw,46px)}.section-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.admin-form .field{grid-column:auto;margin:0}.admin-form .field:nth-child(2),.admin-form .field:nth-child(3),.admin-form fieldset,.admin-form .primary-button,.admin-form .error-message{grid-column:1 / -1}fieldset{display:grid;gap:10px;min-width:0;margin:0;padding:18px;border:1px dashed #d8aeba;border-radius:14px}fieldset legend{padding:0 8px}.repeat-row{display:flex;gap:8px}.availability-row{align-items:flex-end;padding:12px;border-radius:12px;background:#ffffff7a}.availability-fields{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.availability-fields label{display:grid;gap:6px}.availability-fields label>span{color:#6b4653;font-size:.75rem;font-weight:700}select{min-height:46px;padding:10px 13px}.suggested-availability{padding:15px;border:1px dashed #d8aeba;border-radius:14px}.suggestion-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.remove-button{width:42px;flex:0 0 auto;color:#ad3e55;font-size:1.6rem}.admin-form .primary-button{justify-self:start}.created-link{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:26px;padding:18px;border-radius:14px;background:#edf3e7}.created-link strong{grid-column:1 / -1;color:#587052}.secondary-button{padding:10px 18px;color:var(--berry);background:#f7dfe6}.dashboard-section{margin-top:60px}.invite-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-card{display:flex;min-height:250px;flex-direction:column;padding:25px}.dashboard-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-card h3{margin:0 0 18px;color:var(--berry-dark);font-size:2rem}.status-pill{padding:6px 9px;border-radius:100px;color:#896c35;background:#fff0c8;font-size:.68rem;font-weight:700;white-space:nowrap}.status-pill.replied{color:#4c6847;background:#e1eddb}.response-details{font-size:.9rem}.response-details p{margin-bottom:9px}.muted,.empty-state{color:#896f78}.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px}.danger-button{color:#a32e40}.decorations{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.doodle{position:absolute;color:#a83f5f61;font-family:serif}.doodle-heart{top:12%;left:7%;font-size:2.6rem;animation:float 5s ease-in-out infinite}.doodle-flower{right:6%;bottom:13%;color:#d5984e80;font-size:3.7rem;animation:spin 14s linear infinite}.doodle-star{top:20%;right:9%;font-size:2.4rem;animation:twinkle 2.5s ease-in-out infinite}.doodle-spark{bottom:21%;left:5%;color:#829b7ab3;font-size:3rem;animation:twinkle 3s .4s ease-in-out infinite}.cloud{position:absolute;width:130px;height:36px;border-radius:50%;opacity:.28;background:#fff;filter:blur(1px)}.cloud:before,.cloud:after{position:absolute;border-radius:50%;background:#fff;content:""}.cloud:before{width:60px;height:60px;left:18px;bottom:4px}.cloud:after{width:78px;height:78px;right:11px;bottom:0}.cloud-one{top:8%;left:-25px;animation:cloud-drift 28s linear infinite}.cloud-two{right:-10px;bottom:28%;transform:scale(.7);animation:cloud-drift-reverse 34s linear infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(8px) rotate(5deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.1)}}@keyframes float{0%,to{transform:translateY(0) rotate(-9deg)}50%{transform:translateY(-14px) rotate(7deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:.9;transform:scale(1.2) rotate(15deg)}}@keyframes cloud-drift{50%{transform:translate(55px)}}@keyframes cloud-drift-reverse{50%{transform:translate(-65px) scale(.7)}}@media(max-width:680px){.page{width:min(100% - 20px,940px);padding-top:44px}.form-section{grid-template-columns:40px 1fr;gap:7px 10px}.step-number{width:35px;height:35px}.option-grid,.admin-form,.invite-list{grid-template-columns:1fr}.admin-form .field{grid-column:1 / -1}.created-link,.availability-fields{grid-template-columns:1fr}.suggestion-heading{align-items:flex-start;flex-direction:column}.created-link strong{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
