@import "https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;600;700;800&family=Bebas+Neue&family=Great+Vibes&display=swap";body{background:#05060f;margin:0;padding:0;overflow:hidden}#root{width:100%;height:100vh}*{box-sizing:border-box;margin:0;padding:0}#stage{background:#05060f;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden auto}#stage.invitation-open{align-items:flex-start;padding:40px 0}canvas#bgCanvas{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}#entrance{z-index:100;isolation:isolate;background:linear-gradient(#ffffff12,#0000 18%),radial-gradient(at 50% 18%,#ffe59429,#0000 32%),radial-gradient(at 20% 72%,#7c5cff33,#0000 38%),radial-gradient(at 80% 70%,#38b6ff29,#0000 36%),linear-gradient(145deg,#03040c 0%,#09071d 42%,#06142d 100%);flex-direction:column;justify-content:center;align-items:center;transition:opacity .9s,transform .9s,filter .9s;display:flex;position:fixed;inset:0}#entrance.hidden{opacity:0;filter:blur(8px);pointer-events:none;transform:scale(1.04)}#entrance:before,#entrance:after{content:"";pointer-events:none;position:absolute;inset:0}#entrance:before{z-index:-2;background-image:linear-gradient(110deg,#ffffff14,#0000 18% 82%,#ffffff0a),repeating-linear-gradient(90deg,#ffffff07 0 1px,#0000 1px 90px);animation:18s ease-in-out infinite curtain-drift;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 14% 86%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 14% 86%,#0000 100%)}#entrance:after{z-index:-1;opacity:.82;background:linear-gradient(118deg,#0000 0 28%,#fff0be1f 36%,#0000 47% 100%),linear-gradient(62deg,#0000 0 54%,#38b6ff1c 64%,#0000 74% 100%),radial-gradient(at bottom,#0000005c,#0000 48%);animation:9s ease-in-out infinite realistic-light}.entrance-aura{aspect-ratio:1;pointer-events:none;z-index:0;width:min(78vw,560px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.aura-ring{border:1px solid #ffffff1a;border-radius:50%;animation:6s ease-in-out infinite breathe-ring;position:absolute;inset:0;box-shadow:inset 0 0 42px #7c5cff17,0 0 48px #38b6ff14}.ring-two{border-style:dashed;border-color:#38b6ff38;animation-duration:8s;animation-direction:reverse;inset:12%}.ring-three{border-color:#c084fc2e;animation-duration:5s;inset:24%}.sparkle-field{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.sparkle{opacity:0;background:#fff;border-radius:50%;width:5px;height:5px;animation:3.4s ease-in-out infinite twinkle;position:absolute;box-shadow:0 0 18px #ffffffe6,0 0 34px #38b6ffa6}.sparkle-1{animation-delay:.1s;top:18%;left:8%}.sparkle-2{animation-delay:1.3s;top:68%;left:17%;transform:scale(.7)}.sparkle-3{animation-delay:2s;top:28%;left:26%;transform:scale(1.3)}.sparkle-4{animation-delay:.7s;top:82%;left:34%}.sparkle-5{animation-delay:1.8s;top:14%;left:43%;transform:scale(.75)}.sparkle-6{animation-delay:2.6s;top:76%;left:52%}.sparkle-7{animation-delay:.4s;top:22%;left:61%;transform:scale(1.2)}.sparkle-8{animation-delay:1.1s;top:64%;left:72%}.sparkle-9{animation-delay:2.2s;top:18%;left:84%;transform:scale(.85)}.sparkle-10{animation-delay:.9s;top:78%;left:91%}.sparkle-11{animation-delay:2.9s;top:44%;left:12%;transform:scale(.55)}.sparkle-12{animation-delay:1.7s;top:9%;left:22%}.sparkle-13{animation-delay:.3s;top:56%;left:38%;transform:scale(.65)}.sparkle-14{animation-delay:2.4s;top:38%;left:48%}.sparkle-15{animation-delay:1.5s;top:88%;left:67%;transform:scale(.7)}.sparkle-16{animation-delay:.6s;top:36%;left:78%}.sparkle-17{animation-delay:2.8s;top:51%;left:88%;transform:scale(1.15)}.sparkle-18{animation-delay:1s;top:8%;left:57%;transform:scale(.6)}.entrance-balloons{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.balloon{aspect-ratio:.78;background:radial-gradient(circle at 32% 24%, #ffffffb8, #ffffff1f 16%, transparent 28%), linear-gradient(145deg, var(--balloon-top), var(--balloon-mid) 48%, var(--balloon-deep));opacity:.92;border-radius:52% 52% 48% 48%;width:clamp(42px,7vw,92px);animation:7s ease-in-out infinite balloon-float;position:absolute;box-shadow:inset -14px -20px 28px #0000003d,inset 9px 8px 18px #ffffff2e,0 26px 46px #00000047}.balloon:before{content:"";background:var(--balloon-deep);clip-path:polygon(50% 0,100% 100%,0 100%);width:16%;height:14%;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.balloon:after{content:"";background:linear-gradient(#ffffff70,#0000);width:1px;height:clamp(72px,12vw,150px);position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);box-shadow:8px 18px 0 -7px #ffffff40,-7px 44px 0 -7px #ffffff2e}.balloon-one{--balloon-top:#fff0a8;--balloon-mid:#d7b35d;--balloon-deep:#8d6818;top:13%;left:7%;transform:rotate(-9deg)}.balloon-two{--balloon-top:#91dcff;--balloon-mid:#38b6ff;--balloon-deep:#14669d;width:clamp(34px,5.6vw,72px);animation-delay:-2.3s;bottom:12%;left:15%}.balloon-three{--balloon-top:#b59cff;--balloon-mid:#7c5cff;--balloon-deep:#3f2a9d;animation-delay:-1.2s;top:10%;right:9%;transform:rotate(8deg)}.balloon-four{--balloon-top:#ffd3e0;--balloon-mid:#f472b6;--balloon-deep:#8b2b5c;width:clamp(36px,6vw,76px);animation-delay:-3.6s;bottom:15%;right:17%}.balloon-five{--balloon-top:#fff;--balloon-mid:#d8e2f2;--balloon-deep:#78839a;opacity:.68;width:clamp(30px,4.8vw,62px);animation-delay:-4.2s;top:6%;left:29%}.balloon-six{--balloon-top:#fff0a8;--balloon-mid:#d7b35d;--balloon-deep:#8d6818;opacity:.7;width:clamp(30px,4.8vw,62px);animation-delay:-5.1s;bottom:7%;right:29%}.e-bg-num{color:#0000;-webkit-text-stroke:1px #ffe1904d;letter-spacing:-12px;z-index:1;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;text-shadow:0 34px 80px #0000006b;justify-content:center;align-items:center;font-family:Bebas Neue,sans-serif;font-size:clamp(210px,42vw,520px);line-height:1;transition:opacity 1.5s,transform 1.5s;display:flex;position:absolute;transform:scale(.9)rotate(-5deg)}.e-bg-num.show{opacity:1;animation:10s ease-in-out infinite float-num;transform:scale(1)rotate(0)}.num-outline{z-index:1;filter:drop-shadow(0 0 28px #d7b35d47);background:linear-gradient(#fff0ae2e,#d7b35d0a);-webkit-background-clip:text;background-clip:text;position:relative}.num-glow{background:radial-gradient(#d7b35d26 0%,#0000 70%);width:120%;height:88%;animation:4s ease-in-out infinite pulse-glow;position:absolute}@keyframes float-num{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(2deg)}}@keyframes pulse-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.entrance-content{z-index:3;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#0d102ac2,#05081870),linear-gradient(135deg,#ffffff14,#0000 48%);border:1px solid #d7b35d38;border-radius:8px;flex-direction:column;align-items:center;width:min(92vw,620px);padding:clamp(28px,6vw,58px) clamp(18px,5vw,54px);display:flex;position:relative;overflow:hidden;box-shadow:0 34px 110px #0000007a,inset 0 1px #ffffff24,inset 0 -1px #d7b35d21}.entrance-content:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0 35%,#ffffff1f 45%,#0000 56% 100%);animation:5.5s ease-in-out 1.4s infinite panel-shine;position:absolute;inset:0;transform:translate(-110%)}.e-kicker{opacity:0;align-items:center;gap:16px;width:min(100%,470px);transition:all .6s .1s;display:flex;transform:translateY(12px)}.e-kicker.show{opacity:1;transform:translateY(0)}.e-kicker span{background:linear-gradient(90deg,#0000,#38b6ff80,#0000);flex:1;height:1px}.e-label{letter-spacing:8px;color:#7c5cff;text-transform:uppercase;z-index:2;white-space:nowrap;font-family:Barlow,sans-serif;font-size:11px;font-weight:600;position:relative}.e-name{letter-spacing:8px;color:#fff;text-align:center;opacity:0;z-index:2;text-shadow:0 0 28px #7c5cff59;margin-top:16px;font-family:Bebas Neue,sans-serif;font-size:clamp(40px,8vw,80px);line-height:1;transition:all .8s cubic-bezier(.22,1,.36,1) .25s;position:relative;transform:translateY(24px)}.e-name.show{opacity:1;animation:5s ease-in-out 1s infinite title-lift;transform:translateY(0)}.e-glow-line{background:#7c5cff1a;border-radius:999px;width:0;height:5px;margin:10px auto;transition:width 1s .5s;position:relative;overflow:hidden}.e-glow-line.show{width:280px}.e-progress-bar{background:linear-gradient(90deg,#7c5cff,#38b6ff);height:100%;transition:width .1s linear;position:absolute;top:0;left:0;box-shadow:0 0 10px #7c5cff80}.e-progress-bar:after{content:"";background:linear-gradient(90deg,#0000,#fffc,#0000);animation:1.3s linear infinite progress-glint;position:absolute;inset:0}.e-progress-container{flex-direction:column;align-items:center;gap:8px;margin:20px 0;display:flex}.e-count-text{color:#7c5cff;letter-spacing:2px;font-family:Barlow,sans-serif;font-size:10px;font-weight:700}.e-sub{letter-spacing:6px;color:#ffffff61;text-transform:uppercase;opacity:0;z-index:2;font-family:Barlow,sans-serif;font-size:12px;font-weight:300;transition:all .6s .75s;position:relative;transform:translateY(12px)}.e-sub.show{opacity:1;transform:translateY(0)}.open-btn{z-index:2;color:#7c5cff;letter-spacing:6px;text-transform:uppercase;cursor:pointer;opacity:0;background:#ffffff05;border:1.5px solid #7c5cffcc;border-radius:999px;margin-top:44px;padding:16px 54px;font-family:Barlow,sans-serif;font-size:11px;font-weight:700;transition:all .6s 1s,background .25s,color .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden;transform:translateY(14px);box-shadow:0 0 #7c5cff00}.open-btn.show{opacity:1;transform:translateY(0)}.open-btn.show.ready{animation:2.2s ease-in-out infinite button-pulse}.open-btn>span:not(.btn-shine){z-index:2;position:relative}.btn-shine{background:linear-gradient(90deg,#0000,#ffffffa6,#0000);width:40%;transition:left .55s;position:absolute;inset:-60% auto -60% -45%;transform:rotate(18deg)}.open-btn:hover{color:#fff;background:linear-gradient(90deg,#7c5cff,#38b6ff);border-color:#0000;box-shadow:0 18px 48px #38b6ff40}.open-btn:hover .btn-shine{left:108%}.open-btn:active{transform:scale(.97)}#invitation{z-index:10;opacity:0;pointer-events:none;width:min(94%,980px);max-width:980px;transition:all 1s cubic-bezier(.22,1,.36,1);position:relative;transform:translateY(50px)scale(.97)}#invitation.visible{opacity:1;pointer-events:all;animation:1.1s cubic-bezier(.22,1,.36,1) invitation-arrive;transform:translateY(0)scale(1)}@keyframes grid-drift{0%{background-position:0 0,0 0}to{background-position:72px 72px,72px 72px}}@keyframes cosmic-turn{0%{transform:rotate(0)scale(1.15)}to{transform:rotate(360deg)scale(1.15)}}@keyframes curtain-drift{0%,to{opacity:.8;transform:translate(-1.5%)scale(1.02)}50%{opacity:1;transform:translate(1.5%)scale(1.04)}}@keyframes realistic-light{0%,to{opacity:.72;transform:translate(-1%)scale(1.02)}50%{opacity:.95;transform:translate(1%,-1%)scale(1.05)}}@keyframes balloon-float{0%,to{translate:0}35%{translate:10px -18px}70%{translate:-8px 10px}}@keyframes breathe-ring{0%,to{opacity:.32;transform:scale(.95)}50%{opacity:.72;transform:scale(1.04)}}@keyframes twinkle{0%,to{opacity:0;transform:translateY(0)scale(.6)}40%{opacity:.95}70%{opacity:.25;transform:translateY(-18px)scale(1.2)}}@keyframes panel-shine{0%,58%{transform:translate(-115%)}78%,to{transform:translate(115%)}}@keyframes title-lift{0%,to{text-shadow:0 0 28px #7c5cff59}50%{text-shadow:0 0 44px #38b6ff8c}}@keyframes progress-glint{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes button-pulse{0%,to{box-shadow:0 0 #7c5cff00,0 0 20px #7c5cff1f}50%{box-shadow:0 0 0 8px #7c5cff14,0 0 34px #38b6ff47}}@keyframes invitation-arrive{0%{opacity:0;filter:blur(10px);transform:translateY(60px)scale(.94)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.card{background:linear-gradient(160deg,#0a0818 0%,#0c1230 55%,#080e28 100%);border:1px solid #7850ff33;border-top:none;border-radius:6px;width:min(100%,820px);margin:0 auto;padding:clamp(30px,5vw,50px) clamp(20px,4vw,46px);position:relative;overflow:visible;box-shadow:0 25px 50px -12px #00000080}.card-top-bar{background:linear-gradient(90deg,#7c5cff 0%,#38b6ff 50%,#7c5cff 100%);height:3px;position:absolute;top:0;left:0;right:0}.card-glow-left{pointer-events:none;background:radial-gradient(circle,#7c5cff1f 0%,#0000 70%);border-radius:50%;width:280px;height:280px;position:absolute;top:-80px;left:-80px}.card-glow-right{pointer-events:none;background:radial-gradient(circle,#38b6ff1a 0%,#0000 70%);border-radius:50%;width:260px;height:260px;position:absolute;bottom:-80px;right:-60px}.card-watermark{color:#6446ff0d;-webkit-user-select:none;user-select:none;pointer-events:none;letter-spacing:-4px;font-family:Bebas Neue,sans-serif;font-size:clamp(100px,25vw,200px);line-height:1;position:absolute;bottom:-20px;right:-10px}.msg-name-container{flex-direction:column;align-items:center;gap:5px;width:100%;min-width:0;margin:5px 0;display:flex}.age-badge-mini{letter-spacing:4px;text-transform:uppercase;color:#d7b35d;background:#d7b35d12;border:1px solid #d7b35d5c;border-radius:2px;padding:4px 15px;font-family:Barlow,sans-serif;font-size:11px;font-weight:700}.divider{align-items:center;gap:10px;margin:22px 0;display:flex}.dl{background:#7850ff26;flex:1;height:1px}.dd{background:linear-gradient(135deg,#7c5cff,#38b6ff);flex-shrink:0;width:5px;height:5px;transform:rotate(45deg)}.message-section{text-align:center;flex-direction:column;gap:25px;margin:40px 0;display:flex}.message-section.refined{text-align:center;flex-direction:column;align-items:center;gap:18px;margin:28px 0 34px;display:flex;overflow:visible}.msg-tag{color:#fff6;text-transform:uppercase;letter-spacing:6px;font-family:Barlow,sans-serif;font-size:14px;font-weight:600}.msg-title{color:#d7b35d;letter-spacing:0;background:linear-gradient(#fff3b5 0%,#d7b35d 42%,#8b6a1d 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 8px 10px #00000059);text-shadow:0 0 28px #d7b35d2e;-webkit-background-clip:text;background-clip:text;width:100%;max-width:440px;margin:10px auto 8px;padding:16px 8px 22px;font-family:Great Vibes,cursive;font-size:clamp(66px,12vw,116px);font-weight:400;line-height:.92;overflow:visible}.msg-divider{align-items:center;gap:12px;width:100%;max-width:300px;margin:10px 0;display:flex}.msg-name{background:linear-gradient(90deg,#fff3b5,#d7b35d,#8b6a1d);-webkit-text-fill-color:transparent;letter-spacing:0;text-shadow:0 0 30px #d7b35d33;text-align:center;white-space:nowrap;-webkit-background-clip:text;background-clip:text;width:100%;max-width:720px;margin:4px auto;padding:12px 42px 20px;font-family:Great Vibes,cursive;font-size:clamp(76px,13vw,122px);font-weight:400;line-height:.95;overflow:visible}.msg-sub-tag{color:#ffffff4d;text-transform:uppercase;letter-spacing:4px;justify-content:center;align-items:center;gap:15px;margin-bottom:10px;font-family:Barlow,sans-serif;font-size:12px;font-weight:600;display:flex}.diamond{background:#38b6ff;width:6px;height:6px;display:inline-block;transform:rotate(45deg);box-shadow:0 0 10px #38b6ff80}.msg-sentence{color:#fff;font-family:Barlow,sans-serif;font-size:18px;font-weight:500;line-height:1.4}.msg-note{color:#ffffff80;margin-top:5px;font-family:Barlow,sans-serif;font-size:14px;font-weight:300}.refined-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:center;align-items:center;gap:clamp(12px,4vw,30px);width:100%;margin:30px 0;padding:20px 0;display:grid}.rg-item{text-align:center;flex-direction:column;align-items:center;gap:5px;min-width:0;display:flex}.rg-label{color:#7c5cff;text-transform:uppercase;letter-spacing:4px;font-family:Barlow,sans-serif;font-size:10px;font-weight:700}.rg-val{color:#fff;letter-spacing:1px;font-family:Barlow,sans-serif;font-size:20px;font-weight:700}.rg-sub{color:#fff6;font-family:Barlow,sans-serif;font-size:13px;font-weight:300}.rg-map-link,.rg-map-sub{text-decoration:none;transition:color .2s,text-shadow .2s,transform .2s}.rg-map-link:hover,.rg-map-sub:hover{color:#d7b35d;text-shadow:0 0 18px #d7b35d52;transform:translateY(-1px)}.rg-map-sub{color:#38b6ffb8;font-weight:600}.rg-divider-v{background:linear-gradient(#0000,#7c5cff4d,#0000);width:1px;height:50px}@media (width<=600px){.refined-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;margin:24px 0;padding:16px 0}.rg-divider-v{background:linear-gradient(#0000,#7c5cff4d,#0000);width:1px;height:46px}.rg-label{letter-spacing:3px;font-size:9px}.rg-val{font-size:18px}.rg-sub{font-size:11px;line-height:1.25}}.rsvp{border-top:1px solid #6450ff26;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:25px;display:flex}.rsvp-actions{align-items:center;gap:18px;display:flex}.rsvp-left .rl{letter-spacing:4px;color:#ffffff38;text-transform:uppercase;margin-bottom:8px;font-family:Barlow,sans-serif;font-size:10px;font-weight:700}.rsvp-left .rv{background:linear-gradient(90deg,#7c5cff,#38b6ff);-webkit-text-fill-color:transparent;letter-spacing:1px;-webkit-background-clip:text;background-clip:text;font-family:Barlow,sans-serif;font-size:18px;font-weight:700}.rsvp-right{color:#ffffff40;letter-spacing:2px;text-align:right;font-family:Barlow,sans-serif;font-size:11px;font-weight:300;line-height:1.8}.rsvp-open-btn{color:#fff;cursor:pointer;letter-spacing:4px;text-transform:uppercase;background:linear-gradient(90deg,#7c5cff,#38b6ff);border:0;border-radius:999px;flex-shrink:0;min-height:44px;padding:0 22px;font-family:Barlow,sans-serif;font-size:11px;font-weight:800;transition:transform .2s,box-shadow .2s;box-shadow:0 16px 34px #38b6ff2e}.rsvp-open-btn:hover{transform:translateY(-2px);box-shadow:0 20px 44px #7c5cff47}.rsvp-form{z-index:2;background:linear-gradient(#070d22fa,#070a1cf0);border:1px solid #38b6ff3d;border-radius:8px;flex-direction:column;gap:18px;width:min(100%,720px);margin:28px auto 0;padding:clamp(18px,4vw,32px);animation:.35s both form-rise;display:flex;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff0f,0 28px 70px #00000057}.form-heading{text-align:left;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:2px;display:flex}.form-label{letter-spacing:4px;color:#ffffff4d;text-transform:uppercase;font-family:Barlow,sans-serif;font-size:10px;font-weight:700}.form-title{color:#fff;letter-spacing:5px;text-shadow:0 0 24px #38b6ff47;margin-top:6px;font-family:Bebas Neue,sans-serif;font-size:42px;line-height:1}.rsvp-close-btn{color:#fca5a5;cursor:pointer;background:#f871711f;border:1px solid #f8717147;border-radius:50%;flex:none;width:38px;height:38px;font-family:Barlow,sans-serif;font-size:18px;font-weight:800;line-height:1;transition:transform .2s,background .2s}.rsvp-close-btn:hover{background:#f8717133;transform:translateY(-2px)}.step-track{grid-template-columns:repeat(3,1fr);gap:10px;display:grid;position:relative}.step-dot{color:#ffffff6b;cursor:pointer;background:#ffffff0a;border:1px solid #7c5cff3d;border-radius:999px;min-height:38px;transition:all .2s}.step-dot span{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-family:Barlow,sans-serif;font-size:11px;font-weight:800;display:inline-flex}.step-dot.active{color:#fff;background:linear-gradient(90deg,#7c5cfff2,#38b6fff2);border-color:#0000;box-shadow:0 12px 30px #38b6ff29}.step-panel{flex-direction:column;gap:16px;animation:.3s both step-in;display:flex}.step-title{letter-spacing:4px;color:#ffffffb8;text-align:center;text-transform:uppercase;font-family:Barlow,sans-serif;font-size:12px;font-weight:800}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field span,.choice-label{letter-spacing:3px;color:#7c5cff;text-transform:uppercase;font-family:Barlow,sans-serif;font-size:10px;font-weight:700}.field input,.field select,.field textarea{color:#fff;background:#ffffff0e;border:1px solid #7c5cff40;border-radius:6px;outline:none;width:100%;padding:13px 14px;font-family:Barlow,sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.field textarea{resize:vertical;min-height:92px}.field select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.field input::placeholder,.field textarea::placeholder{color:#ffffff40}.field input:focus,.field select:focus,.field textarea:focus{background:#ffffff14;border-color:#38b6ffb3;box-shadow:0 0 0 3px #38b6ff1a}.choice-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.step-actions{grid-template-columns:.8fr 1.2fr;gap:12px;display:grid}.step-next,.step-back{cursor:pointer;letter-spacing:4px;text-transform:uppercase;border-radius:999px;min-height:46px;padding:0 18px;font-family:Barlow,sans-serif;font-size:11px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s}.step-next{color:#fff;background:linear-gradient(90deg,#7c5cff,#38b6ff);border:0;box-shadow:0 16px 34px #38b6ff29}.step-back{color:#ffffffb3;background:#ffffff0a;border:1px solid #7c5cff42}.step-next:hover,.step-back:hover{transform:translateY(-2px)}.choice-group{grid-template-columns:repeat(2,minmax(88px,1fr));gap:10px;display:grid}.choice{color:#ffffff94;cursor:pointer;letter-spacing:3px;text-transform:uppercase;background:#ffffff0b;border:1px solid #7c5cff40;border-radius:999px;justify-content:center;align-items:center;min-height:42px;font-family:Barlow,sans-serif;font-size:12px;font-weight:700;transition:all .2s;display:flex}.choice input{opacity:0;pointer-events:none;position:absolute}.choice.active,.choice:hover{color:#fff;background:linear-gradient(90deg,#7c5cff,#38b6ff);border-color:#0000;box-shadow:0 12px 30px #38b6ff29}.guest-panel{background:#38b6ff0b;border:1px solid #38b6ff29;border-radius:8px;grid-template-columns:1fr;gap:14px;padding:clamp(14px,3vw,22px);display:grid;overflow:visible}.guest-panel-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.field.compact{max-width:210px}.guest-count{letter-spacing:3px;color:#ffffff9e;text-transform:uppercase;font-family:Barlow,sans-serif;font-size:11px;font-weight:800}.guest-entry-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.add-guest-btn,.remove-guest-btn{cursor:pointer;letter-spacing:3px;text-transform:uppercase;border-radius:999px;min-height:40px;padding:0 14px;font-family:Barlow,sans-serif;font-size:10px;font-weight:800;transition:transform .2s,border-color .2s,background .2s}.add-guest-btn{color:#fff;background:linear-gradient(90deg,#7c5cff,#38b6ff);border:0;flex-shrink:0}.add-guest-btn:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.55}.remove-guest-btn{color:#fca5a5;letter-spacing:0;background:#f8717124;border:0;min-width:28px;min-height:28px;padding:0}.add-guest-btn:hover,.remove-guest-btn:hover{transform:translateY(-2px)}.guest-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.guest-chip{color:#fffc;background:#ffffff0e;border:1px solid #38b6ff3d;border-radius:999px;justify-content:space-between;align-items:center;gap:9px;width:100%;min-width:0;padding:7px 8px 7px 13px;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;display:inline-flex}.guest-chip span{overflow-wrap:anywhere;white-space:normal;min-width:0}.rsvp-status{text-align:center;border-radius:6px;padding:12px 14px;font-family:Barlow,sans-serif;font-size:13px;font-weight:600;line-height:1.4}.rsvp-status.success{color:#86efac;background:#22c55e21;border:1px solid #22c55e52}.rsvp-status.error{color:#fca5a5;background:#f871711f;border:1px solid #f8717159}.rsvp-submit{color:#fff;cursor:pointer;letter-spacing:5px;text-transform:uppercase;background:linear-gradient(90deg,#7c5cff,#38b6ff);border:0;border-radius:999px;min-height:50px;padding:0 22px;font-family:Barlow,sans-serif;font-size:12px;font-weight:800;transition:transform .2s,opacity .2s,box-shadow .2s;box-shadow:0 18px 42px #38b6ff2e}@keyframes form-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rsvp-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 22px 52px #7c5cff42}.rsvp-submit:disabled{cursor:wait;opacity:.6}.thank-you-card{text-align:center;background:radial-gradient(circle at top,#d7b35d2e,#0000 34%),linear-gradient(#0b112afa,#060a1cf5);border:1px solid #d7b35d4d;border-radius:8px;flex-direction:column;gap:18px;padding:clamp(28px,5vw,48px);animation:.35s both step-in;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 28px 70px #00000047}.thank-you-card:before{content:"";pointer-events:none;border:1px solid #d7b35d29;border-radius:8px;position:absolute;inset:18px}.thank-you-mark,.thank-you-card h3{background:linear-gradient(#fff3b0 0%,#d7b35d 48%,#9a7420 100%);color:#0000;filter:drop-shadow(0 10px 24px #d7b35d29);-webkit-background-clip:text;background-clip:text;margin:0;position:relative}.thank-you-mark{font-family:Great Vibes,cursive;font-size:clamp(76px,14vw,126px);line-height:.82}.thank-you-kicker{letter-spacing:5px;color:#d7b35d;text-transform:uppercase;font-family:Barlow,sans-serif;font-size:11px;font-weight:800;position:relative}.thank-you-card h3{overflow-wrap:anywhere;font-family:Great Vibes,cursive;font-size:clamp(48px,10vw,84px);line-height:.95}.thank-you-card p{color:#ffffffbd;max-width:520px;margin:0 auto;font-size:clamp(16px,2.8vw,20px);line-height:1.6;position:relative}.thank-you-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:relative}.thank-you-summary div{background:#ffffff0b;border:1px solid #38b6ff2e;border-radius:8px;min-width:0;padding:16px 12px}.thank-you-summary span{color:#ffffff61;letter-spacing:3px;text-transform:uppercase;font-family:Barlow,sans-serif;font-size:9px;font-weight:800;display:block}.thank-you-summary strong{color:#fff;overflow-wrap:anywhere;margin-top:7px;font-family:Barlow,sans-serif;font-size:15px;font-weight:700;display:block}.thank-you-guests{flex-wrap:wrap;justify-content:center;gap:8px;display:flex;position:relative}.thank-you-guests span{color:#ffffffd1;overflow-wrap:anywhere;background:#d7b35d14;border:1px solid #d7b35d40;border-radius:999px;padding:8px 12px;font-family:Barlow,sans-serif;font-size:13px;font-weight:700}.thank-you-actions{grid-template-columns:.8fr 1.2fr;gap:12px;margin-top:4px;display:grid;position:relative}@media (width<=600px){.card{width:calc(100% - 30px);margin:15px;padding:40px 25px}.msg-title{max-width:100%;padding:14px 4px 18px;font-size:clamp(58px,21vw,86px);line-height:.98}.msg-name{padding:10px 18px 16px;font-size:clamp(54px,17vw,74px)}.grid{grid-template-columns:1fr}.e-name{letter-spacing:4px;font-size:50px}.e-glow-line.show{width:200px}.form-grid{grid-template-columns:1fr}.choice-row{flex-direction:column;align-items:stretch}.choice-group{grid-template-columns:repeat(2,minmax(0,1fr))}.rsvp{align-items:stretch;gap:18px}.rsvp-actions{flex-direction:column;align-items:stretch;gap:14px;width:100%}.rsvp-right{text-align:left}.rsvp-open-btn{width:100%}.rsvp-form{width:100%;padding:20px 16px}.form-heading{align-items:center}.step-actions,.thank-you-summary,.thank-you-actions,.guest-panel-head,.guest-entry-row{grid-template-columns:1fr}.guest-panel-head{align-items:stretch}.add-guest-btn{width:100%}.remove-guest-btn{flex-shrink:0;width:28px}.guest-list{grid-template-columns:1fr}}@media (width<=400px){.rsvp{text-align:center;flex-direction:column;align-items:center;gap:15px}.rsvp-right{text-align:center}.msg-title{font-size:clamp(52px,19vw,72px)}.msg-name{padding-left:12px;padding-right:12px;font-size:clamp(48px,16vw,62px)}.refined-grid{gap:8px}.rg-val{font-size:16px}.rg-sub{font-size:10px}.honoree{font-size:45px}.main-message{font-size:16px}}.App{width:100%;height:100vh}
