:root{color:#31405b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#fff6f0f5,#fffbf8f0 42%,#f2f9fff5),#fff8f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100svh;margin:0}body:before{content:"";z-index:-4;pointer-events:none;background-image:radial-gradient(circle at 18px 18px,#4f93db14 1px,#0000 1.5px),radial-gradient(circle at 44px 38px,#e5458012 1px,#0000 1.5px);background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}button,input,textarea,select{font:inherit}a{color:inherit}img{max-width:100%}::selection{color:#fff;background:#e54580}#root{min-height:100svh}.page-shell{isolation:isolate;min-height:100svh;padding:clamp(24px,4vw,58px);position:relative;overflow:hidden}.page-shell:before,.page-shell:after{content:"";z-index:-3;aspect-ratio:1;filter:blur(8px);opacity:.5;pointer-events:none;border-radius:999px;width:42vmax;position:fixed}.page-shell:before{background:radial-gradient(circle,#ff8badb8,#ffdee700 66%);animation:18s ease-in-out infinite alternate watercolorDrift;top:-12vmax;right:-18vmax}.page-shell:after{background:radial-gradient(circle,#83b5e894,#dcecff00 68%);animation:22s ease-in-out infinite alternate-reverse watercolorDrift;bottom:-20vmax;left:25%}.floating-scene{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cloud,.cloud:before,.cloud:after{background:#d2eafcb8;border-radius:999px;display:block;position:absolute;box-shadow:0 14px 28px #4c84be1f}.cloud{width:116px;height:38px;animation:16s ease-in-out infinite cloudFloat}.cloud:before,.cloud:after{content:"";bottom:12px}.cloud:before{width:46px;height:46px;left:16px}.cloud:after{width:58px;height:58px;right:18px}.cloud-one{top:24%;left:-24px}.cloud-two{animation-delay:-7s;bottom:16%;right:6%;scale:.78}.star,.heart{opacity:.74;text-shadow:0 5px 16px #266fc22e;font-size:clamp(18px,2.4vw,34px);line-height:1;animation:4.6s ease-in-out infinite twinkle;position:absolute}.star{color:#4f93db}.heart{color:#f06297;animation-name:heartBeat}.star-one{top:9%;left:9%}.star-two{animation-delay:-1.8s;top:16%;left:47%}.star-three{animation-delay:-3s;top:34%;right:12%}.heart-one{top:7%;right:32%}.heart-two{animation-delay:-2.4s;bottom:23%;left:5%}.hero-section{grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);align-items:center;gap:clamp(28px,5vw,76px);min-height:calc(100svh - clamp(48px,8vw,116px));display:grid}.hero-copy{animation:.9s both riseIn}.eyebrow,.honoring{color:#3477c7;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:clamp(.78rem,1.5vw,1rem);font-weight:800}.hero-copy h1{margin:8px 0 0;font-family:Brush Script MT,Segoe Script,cursive;font-size:clamp(5rem,12vw,10.4rem);font-weight:400;line-height:.78}.hero-copy h1 span{display:block}.hero-copy h1 span:first-child{color:#e54580;animation:5.2s ease-in-out infinite floatWord}.hero-copy h1 span:last-child{color:#3578c9;animation:5.2s ease-in-out -2.6s infinite floatWord}.honoring{margin-top:clamp(18px,3vw,32px)}.guest-name{color:#e54580;margin:8px 0 0;font-family:Brush Script MT,Segoe Script,cursive;font-size:clamp(2.9rem,6vw,5.6rem);line-height:.92}.intro{color:#5c6880;max-width:570px;margin:clamp(22px,3vw,34px) 0 0;font-size:clamp(1rem,1.35vw,1.16rem)}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:clamp(24px,4vw,40px);display:flex}.primary-action,.secondary-action,.phone-link,.registry-link,.submit-button,.secondary-button{border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-weight:800;text-decoration:none;transition:transform .22s,box-shadow .22s,background .22s;display:inline-flex}.primary-action{color:#fff;background:linear-gradient(135deg,#e54580,#ff7aa8);box-shadow:0 18px 34px #e5458040}.secondary-action{color:#2f72c4;background:#ffffffb8;border:1px solid #488bd238}.primary-action:hover,.secondary-action:hover,.phone-link:hover,.submit-button:hover:not(:disabled),.secondary-button:hover{transform:translateY(-3px)}.invitation-card{background:linear-gradient(#fffaf7,#fffaf7) padding-box padding-box,linear-gradient(135deg,#ff9ab8,#8cb9ee,#f6b7cf) border-box;border:1px solid #5993d347;border-radius:34px;padding:clamp(8px,1.3vw,14px);animation:7s ease-in-out infinite invitationFloat,.9s .12s both riseIn;position:relative;box-shadow:0 28px 70px #4c68973d}.invitation-card:before,.invitation-card:after{content:"✿";z-index:2;color:#e86694;text-shadow:0 10px 22px #4470a629;font-size:clamp(3.2rem,7vw,7rem);animation:11s linear infinite petalSpin;position:absolute}.invitation-card:before{top:-30px;right:-20px}.invitation-card:after{color:#5c9cdc;animation-direction:reverse;bottom:-34px;left:-24px}.invitation-card img{border-radius:24px;width:100%;display:block}.details-section,.countdown-section,.storybook-section,.moments-section,.rsvp-section{margin-top:clamp(46px,7vw,86px)}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}h2{color:#263d63;margin:6px 0 0;font-family:Brush Script MT,Segoe Script,cursive;font-size:clamp(3rem,6vw,5.8rem);font-weight:400;line-height:.95}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.detail-card,.moment-card,.rsvp-section{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffad;border:1px solid #3f7dc529;box-shadow:0 18px 46px #5a719424}.detail-card{border-radius:24px;min-height:150px;padding:24px;animation:both riseIn;animation-timeline:view();animation-range:entry cover 34%}.detail-card p,.moment-card span{color:#e54580;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-weight:900}.detail-card h3,.moment-card h3{color:#3075c5;margin:0;font-size:clamp(1.28rem,2vw,1.72rem);line-height:1.16}.countdown-section{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(135deg,#ffffffd1,#fff0f6d1),radial-gradient(circle at 85% 18%,#8ebeed42,#0000 36%);border:1px solid #e5458029;border-radius:34px;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:clamp(22px,4vw,46px);padding:clamp(26px,5vw,54px);display:grid;box-shadow:0 20px 52px #5a719421}.countdown-section h2{color:#e54580}.countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.countdown-card{background:#ffffffb8;border:1px solid #3f7dc524;border-radius:22px;place-items:center;min-height:122px;padding:18px 10px;display:grid;box-shadow:inset 0 0 0 1px #ffffff85}.countdown-card strong{color:#3477c7;font-size:clamp(2rem,4vw,3.5rem);line-height:1}.countdown-card span{color:#e54580;letter-spacing:.08em;text-transform:uppercase;margin-top:8px;font-size:.76rem;font-weight:900}.storybook-section{background:linear-gradient(120deg,#ffffffbd,#fff2f7d6),radial-gradient(circle at 85% 20%,#8ebeed42,#0000 34%);border:1px solid #e5458029;border-radius:38px;grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(22px,5vw,70px);padding:clamp(28px,5vw,64px);display:grid}.balloon-wrap{justify-items:center;animation:5.5s ease-in-out infinite balloonBob;display:grid}.balloon{aspect-ratio:.82;background:linear-gradient(90deg,#ff93afd1 0 32%,#fff4f8ad 32% 50%,#6ca4e0d1 50% 100%);border-radius:50% 50% 46% 46%;width:min(230px,45vw);position:relative;box-shadow:inset 16px -20px 32px #3e6faf1f,0 24px 50px #476ea02e}.balloon:before,.balloon:after{content:"";background:#9c765575;width:1px;height:112px;position:absolute;bottom:-90px}.balloon:before{left:34%;rotate:10deg}.balloon:after{right:34%;rotate:-10deg}.balloon span{background:repeating-linear-gradient(90deg,#4d8ed6 0 18px,#f58aaa 18px 36px);border-radius:999px;width:84%;height:14px;position:absolute;bottom:18px;left:50%;translate:-50%}.basket{color:#e54580;background:linear-gradient(135deg,#d89a58,#f1c37f);border-radius:10px 10px 20px 20px;place-items:center;width:72px;height:54px;margin-top:82px;display:grid;box-shadow:inset 0 0 0 5px #8956231f}.storybook-copy p:not(.eyebrow),.rsvp-section p,.moment-card p{color:#627089;font-size:1.05rem}.moments-section{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.moment-card{border-radius:26px;padding:26px;animation:both riseIn;animation-timeline:view();animation-range:entry cover 32%}.moment-card span{color:#e54580;font-size:2.2rem;animation:3.8s ease-in-out infinite petalPulse;display:inline-block}.moment-card p{margin:12px 0 0}.rsvp-section{border-radius:34px;justify-content:space-between;align-items:center;gap:28px;margin-bottom:clamp(22px,4vw,42px);padding:clamp(28px,5vw,52px);display:flex}.rsvp-section h2{color:#e54580}.phone-link{color:#fff;background:#3477c7;flex:none;box-shadow:0 16px 34px #3477c738}.registry-link{color:#e54580;background:#ffffffb8;border:1px solid #e5458033;flex:none}.page-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc2;border:1px solid #3f7dc529;border-radius:34px;width:min(980px,100%);margin:0 auto;padding:clamp(22px,5vw,52px);animation:.7s both riseIn;box-shadow:0 24px 64px #5a719429}.form-page,.admin-page{margin-top:clamp(18px,4vw,44px)}.back-link{color:#3477c7;align-items:center;min-height:40px;font-weight:800;text-decoration:none;display:inline-flex}.centered-heading{text-align:center;max-width:760px;margin:12px auto 26px;display:block}.rsvp-form{gap:20px;max-width:680px;margin:0 auto;display:grid}.rsvp-form label,.rsvp-form fieldset{color:#263d63;gap:10px;min-width:0;margin:0;font-weight:850;display:grid}.rsvp-form fieldset{border:0;padding:0}.rsvp-form legend{color:#263d63;margin-bottom:10px;font-weight:850}.rsvp-form input[type=text],.rsvp-form input[type=password],.rsvp-form select{color:#31405b;background:#ffffffdb;border:1px solid #3f7dc53d;border-radius:16px;outline:none;width:100%;min-height:52px;padding:0 16px;transition:border-color .2s,box-shadow .2s,transform .2s}.rsvp-form input:focus,.rsvp-form select:focus{border-color:#e54580;box-shadow:0 0 0 4px #e545801f}.choice-card{cursor:pointer;background:linear-gradient(135deg,#ffffffdb,#fff2f7b8),#fff;border:1px solid #3f7dc529;border-radius:20px;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:18px;transition:transform .22s,border-color .22s,box-shadow .22s}.choice-card:hover{border-color:#e5458061;transform:translateY(-2px);box-shadow:0 14px 32px #e545801f}.choice-card:has(input:checked){border-color:#e5458061;transform:translateY(-2px);box-shadow:0 14px 32px #e545801f}.choice-card input{accent-color:#e54580;width:20px;height:20px}.choice-card span{gap:4px;display:grid}.choice-card strong{color:#3075c5;font-size:1.05rem}.choice-card small{color:#627089;font-weight:600}.submit-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#e54580,#ff7aa8);border:0;width:100%;box-shadow:0 18px 34px #e5458040}.submit-button:disabled{cursor:not-allowed;opacity:.68}.form-status{border-radius:16px;margin:0;padding:14px 16px;font-weight:800}.form-status.success{color:#23633a;background:#74cc932e}.form-status.error{color:#9e234b;background:#e545801f}.confirmation-card{text-align:center;background:linear-gradient(135deg,#ffffffdb,#fff2f7c7),#fff;border:1px solid #3f7dc529;border-radius:28px;justify-items:center;gap:16px;max-width:720px;margin:0 auto;padding:clamp(24px,5vw,46px);animation:.6s both riseIn;display:grid;box-shadow:0 20px 52px #5a719424}.confirmation-card span{color:#fff;background:linear-gradient(135deg,#e54580,#ff91b2);border-radius:999px;place-items:center;width:72px;height:72px;font-size:2.2rem;display:grid;box-shadow:0 14px 30px #e545803d}.confirmation-card.not-coming span{background:linear-gradient(135deg,#3477c7,#8cb9ee);box-shadow:0 14px 30px #3477c738}.confirmation-card h3{color:#263d63;margin:0;font-family:Brush Script MT,Segoe Script,cursive;font-size:clamp(2.5rem,5vw,4.4rem);font-weight:400;line-height:.98}.confirmation-card p{color:#627089;max-width:590px;margin:0;font-size:1.08rem}.confirmation-note{background:#74cc9329;border-radius:999px;padding:12px 16px;font-weight:850;color:#23633a!important}.secondary-button{color:#3477c7;cursor:pointer;background:#ffffffd6;border:1px solid #3477c733}.admin-content{gap:22px;display:grid}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.table-card{background:#ffffffb8;border:1px solid #3f7dc529;border-radius:24px;overflow:hidden}.table-heading{border-bottom:1px solid #3f7dc51f;justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.table-heading h3{color:#263d63;margin:0;font-size:1.35rem}.table-heading p{color:#627089;margin:4px 0 0;font-weight:750}.table-heading button,.delete-row-button,.admin-actions select{color:#3477c7;background:#fff;border:1px solid #3477c733;border-radius:999px;min-height:38px;padding:0 14px;font-weight:800}.table-heading button,.delete-row-button{cursor:pointer}.delete-row-button{color:#9e234b;border-color:#e5458042}.delete-row-button:disabled{cursor:not-allowed;opacity:.62}.table-message{color:#23633a;background:#74cc9324;border-bottom:1px solid #3f7dc51a;margin:0;padding:14px 20px;font-weight:850}.table-message.error{color:#9e234b;background:#e545801f}.admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.admin-actions label{color:#e54580;letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:.74rem;font-weight:900;display:grid}.admin-actions select{color:#31405b;text-transform:none;letter-spacing:0;outline:none;min-width:160px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:820px}th,td{color:#31405b;border-bottom:1px solid #3f7dc51a;padding:16px 20px}th{color:#e54580;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.empty-state{color:#627089;text-align:center;margin:0;padding:22px}@keyframes riseIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes invitationFloat{0%,to{transform:translateY(0)rotate(-.4deg)}50%{transform:translateY(-12px)rotate(.5deg)}}@keyframes floatWord{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes watercolorDrift{to{transform:translate(5vw,4vh)scale(1.08)}}@keyframes cloudFloat{0%,to{transform:translate(0)}50%{transform:translate(46px)}}@keyframes twinkle{0%,to{opacity:.45;transform:scale(.88)rotate(0)}50%{opacity:.95;transform:scale(1.18)rotate(12deg)}}@keyframes heartBeat{0%,to{transform:scale(.9)}35%{transform:scale(1.18)}}@keyframes petalSpin{to{transform:rotate(360deg)}}@keyframes balloonBob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-18px)rotate(1deg)}}@keyframes petalPulse{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.12)rotate(10deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=980px){.hero-section,.countdown-section,.storybook-section{grid-template-columns:1fr}.hero-section{min-height:auto}.hero-copy{text-align:center}.intro{margin-inline:auto}.hero-actions,.section-heading{justify-content:center}.section-heading{text-align:center;display:block}.detail-grid,.moments-section,.summary-grid{grid-template-columns:1fr}.storybook-copy,.countdown-section{text-align:center}.rsvp-section{text-align:center;flex-direction:column}}@media (width<=620px){.page-shell{padding:18px}.hero-copy h1{font-size:clamp(4.1rem,22vw,6.8rem)}.guest-name{font-size:clamp(2.4rem,13vw,4.1rem)}.hero-actions{flex-direction:column}.primary-action,.secondary-action,.phone-link,.submit-button,.secondary-button{box-sizing:border-box;width:100%}.choice-card{padding:16px}.table-heading{flex-direction:column;align-items:stretch}.admin-actions,.admin-actions label,.admin-actions select,.table-heading button{width:100%}.invitation-card{border-radius:22px}.invitation-card img{border-radius:16px}.storybook-section{border-radius:26px}.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.countdown-card{min-height:104px}.cloud-two,.star-three{display:none}}
