.memorial-container{min-height:100vh;width:100vw;position:relative;overflow-x:hidden;box-sizing:border-box;background:linear-gradient(180deg,#0a0a1a,#1a1a2e 30%,#0a0a0f 70%,#050508)}.memorial-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(110deg,transparent 28%,rgba(0,255,150,.35) 33%,rgba(0,255,200,.25) 38%,rgba(50,255,180,.2) 42%,transparent 47%),linear-gradient(70deg,transparent 55%,rgba(138,97,255,.3) 62%,rgba(100,50,255,.22) 68%,rgba(120,80,255,.15) 73%,transparent 78%),linear-gradient(130deg,transparent 15%,rgba(255,100,200,.25) 22%,rgba(255,150,220,.18) 28%,rgba(200,50,150,.12) 33%,transparent 38%);filter:blur(1.5px);z-index:1;animation:aurora-dance 20s ease-in-out infinite;will-change:transform,opacity}.memorial-container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(85deg,transparent 40%,rgba(50,255,150,.2) 47%,rgba(100,255,200,.15) 52%,rgba(80,255,180,.1) 57%,transparent 64%),linear-gradient(95deg,transparent 65%,rgba(200,100,255,.18) 72%,rgba(180,120,255,.12) 77%,rgba(150,50,200,.08) 82%,transparent 88%);filter:blur(1px);z-index:2;animation:aurora-flow 15s ease-in-out infinite reverse;will-change:transform,opacity}@keyframes aurora-dance{0%,to{opacity:.7;transform:translate(-12%) skew(6deg)}25%{opacity:1;transform:translate(8%) skew(-3deg)}50%{opacity:.8;transform:translate(-6%) skew(4deg)}75%{opacity:1.2;transform:translate(10%) skew(-5deg)}}@keyframes aurora-flow{0%,to{opacity:.6;transform:translate(7%) skew(-4deg)}33%{opacity:.9;transform:translate(-10%) skew(3deg)}66%{opacity:.7;transform:translate(5%) skew(-2deg)}}.stars-container{position:absolute;inset:0;overflow:hidden;z-index:3}.star{position:absolute;width:2px;height:2px;background:#fffc;border-radius:50%;animation:twinkle 4s ease-in-out infinite;will-change:opacity,transform}.star:before{content:"";position:absolute;top:-1px;left:-1px;width:4px;height:4px;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.4) 50%,transparent 60%),linear-gradient(-45deg,transparent 40%,rgba(255,255,255,.4) 50%,transparent 60%);opacity:0;animation:star-glow 4s ease-in-out infinite}.star:nth-child(odd){animation-duration:3s;background:#c8ffffb3}.star:nth-child(3n){animation-duration:5s;background:#ffc8ff99}.star:nth-child(4n){width:1px;height:1px;background:#c8ffc8e6}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}@keyframes star-glow{0%,to{opacity:0}50%{opacity:.8}}.content-wrapper{position:relative;z-index:10;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;box-sizing:border-box}.content-wrapper:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50%;height:70%;background:radial-gradient(ellipse,rgba(138,97,255,.05) 0%,transparent 60%);filter:blur(40px);opacity:.5;z-index:-1}.memorial-card{max-width:40rem;width:100%;margin:0 auto;padding:2rem;background:linear-gradient(135deg,#ffffff0d,#ffffff05);backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%);border:1px solid rgba(255,255,255,.1);border-radius:32px;box-shadow:0 25px 50px #0009,0 0 40px #00ff961a,0 0 80px #8a61ff14,inset 0 1px 2px #ffffff26;position:relative;overflow:hidden}.memorial-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.portrait-container{display:flex;justify-content:center;margin-bottom:2rem;padding:1rem 0}.portrait-frame{position:relative;width:16rem;height:16rem}.portrait-image{width:16rem;height:16rem;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.15);box-shadow:0 15px 40px #0009,0 0 40px #8a61ff1a;filter:sepia(.1) contrast(1.1)}.portrait-glow{position:absolute;inset:-15px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(0,255,150,.12) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(138,97,255,.08) 0%,transparent 50%),radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);filter:blur(20px);animation:aurora-portrait 8s ease-in-out infinite}@keyframes aurora-portrait{0%,to{opacity:.6;transform:scale(1)}33%{opacity:.9;transform:scale(1.05)}66%{opacity:.7;transform:scale(1.02)}}.heart-decoration{position:absolute;animation:pulsate-to-red 4s ease-in-out infinite;filter:drop-shadow(0 0 20px currentColor)}@keyframes pulsate-to-red{0%,to{color:#fff6;fill:#ffffff1a;transform:scale(1)}50%{color:#dc2626cc;fill:#dc26264d;transform:scale(1.1)}}.heart-1{top:-25px;left:50%;transform:translate(-50%);animation-delay:0s}.heart-2{top:20px;right:-15px;transform:rotate(30deg);animation-delay:.5s}.heart-3{top:50%;right:-20px;transform:translateY(-50%) rotate(45deg);animation-delay:1s}.heart-4{bottom:20px;right:-15px;transform:rotate(60deg);animation-delay:1.5s}.heart-5{bottom:-25px;left:50%;transform:translate(-50%) rotate(180deg);animation-delay:2s}.heart-6{bottom:20px;left:-15px;transform:rotate(-60deg);animation-delay:2.5s}.heart-7{top:50%;left:-20px;transform:translateY(-50%) rotate(-45deg);animation-delay:3s}.heart-8{top:20px;left:-15px;transform:rotate(-30deg);animation-delay:3.5s}.memorial-text{text-align:center;margin-bottom:2.5rem}.in-memoriam{font-size:1.125rem;font-weight:300;letter-spacing:.3em;text-transform:uppercase;margin-bottom:.5rem;color:#ffffff80}.name{font-size:3.75rem;font-weight:200;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.08em;text-shadow:0 0 40px rgba(255,255,255,.2)}.dates{font-size:1.25rem;font-weight:300;color:#fff9;letter-spacing:.1em}.divider{width:5rem;height:1px;margin:1.5rem auto;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.memorial-quote{font-size:1.125rem;font-style:italic;font-weight:300;color:#ffffff80;letter-spacing:.02em}.registration-section{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.registration-title{text-align:center;font-size:1.25rem;font-weight:300;margin-bottom:1.5rem;color:#fffc;letter-spacing:.05em}.deadline-notice{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#fbbf241a,#f59e0b14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(251,191,36,.25);border-radius:12px;box-shadow:0 4px 12px #fbbf241a,inset 0 1px 1px #ffffff0d}.deadline-notice svg{color:#fbbf24e6;flex-shrink:0}.deadline-notice p{color:#ffffffd9;font-size:.95rem;line-height:1.4;margin:0;font-weight:400}.error-message{margin-bottom:1.5rem;padding:1rem;background:linear-gradient(135deg,#dc26261a,#9a341214);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(220,38,38,.2);border-radius:12px;box-shadow:0 4px 12px #dc26261a,inset 0 1px 1px #ffffff0d}.error-content{display:flex;align-items:flex-start;gap:.75rem}.error-content svg{color:#f87171e6;flex-shrink:0;margin-top:.125rem}.error-content p{color:#f87171f2;font-size:.95rem;line-height:1.5;margin:0;font-weight:300}.registration-form{display:flex;flex-direction:column;gap:1.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 768px){.form-grid{grid-template-columns:1fr 1fr}}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:300;color:#fff9;letter-spacing:.05em}.form-input{width:100%;padding:.75rem 1rem;border-radius:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffffe6;transition:all .3s ease}.form-input:focus{background:#ffffff14;border-color:#fff3;outline:none;box-shadow:0 0 0 3px #ffffff0d}.form-input::placeholder{color:#ffffff4d}.submit-button{width:100%;padding:1.25rem 2rem;margin-top:2rem;margin-bottom:.5rem;border-radius:1rem;font-weight:400;letter-spacing:.2em;background:linear-gradient(135deg,#8a61ff66,#00ff964d,#fff3);border:2px solid rgba(255,255,255,.3);color:#fff;transition:all .4s cubic-bezier(.4,0,.2,1);text-transform:uppercase;font-size:1.125rem;position:relative;overflow:hidden;cursor:pointer;box-shadow:0 8px 20px #8a61ff4d,0 4px 10px #0000004d,inset 0 1px 2px #fff3;animation:buttonGlow 3s ease-in-out infinite}@keyframes buttonGlow{0%,to{box-shadow:0 8px 20px #8a61ff4d,0 4px 10px #0000004d,0 0 30px #8a61ff33,inset 0 1px 2px #fff3}50%{box-shadow:0 12px 30px #8a61ff80,0 6px 15px #0006,0 0 50px #00ff9666,inset 0 1px 3px #ffffff4d}}.submit-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:rotate(45deg);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.submit-button:after{content:"→";position:absolute;right:2rem;top:50%;transform:translateY(-50%);font-size:1.5rem;transition:transform .3s ease}.submit-button:hover{background:linear-gradient(135deg,#8a61ff99,#00ff9680,#ffffff4d);border-color:#ffffff80;transform:translateY(-3px) scale(1.02);box-shadow:0 15px 40px #8a61ff66,0 8px 20px #00000080,0 0 60px #00ff9680}.submit-button:hover:after{transform:translateY(-50%) translate(5px)}.submit-button:active{transform:translateY(-1px) scale(1)}.bottom-decoration{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.heart-icon{width:2rem;height:2rem;animation:pulsate-to-red 4s ease-in-out infinite;filter:drop-shadow(0 0 20px currentColor)}@media (max-width: 768px){.memorial-container{min-height:100vh;overflow-y:auto;position:relative}.content-wrapper{padding:1.5rem .75rem;min-height:auto;align-items:flex-start}.memorial-card{padding:1.25rem;margin:0;border-radius:20px;max-width:100%}.portrait-container{padding:.5rem 0;margin-bottom:1.5rem}.portrait-frame,.portrait-image{width:11rem;height:11rem}.name{font-size:2.25rem;line-height:1.1}.dates,.in-memoriam,.memorial-quote{font-size:1rem}.heart-decoration{transform:scale(.65)}.memorial-text{margin-bottom:1.5rem}.registration-section{margin-top:1.5rem;padding-top:1.25rem;padding-bottom:2rem}.registration-title{font-size:1.125rem}.submit-button{margin-top:1.5rem;margin-bottom:.75rem}.error-message{padding:.875rem;border-radius:10px}.error-content p{font-size:.9rem}}@media (max-width: 480px){.content-wrapper{padding:1rem .5rem}.memorial-card{padding:1rem;border-radius:16px}.portrait-container{margin-bottom:1.25rem}.portrait-frame,.portrait-image{width:9rem;height:9rem}.name{font-size:1.875rem;line-height:1.1}.dates,.in-memoriam,.memorial-quote{font-size:.95rem}.registration-title{font-size:1rem}.heart-decoration{transform:scale(.55)}.memorial-text{margin-bottom:1.25rem}.registration-section{margin-top:1.25rem;padding-top:1rem;padding-bottom:1.5rem}.submit-button{margin-top:1.75rem;margin-bottom:1rem}}.thank-you-balloon{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;animation:balloonFloat .5s ease-out}.balloon-content{background:linear-gradient(135deg,#8a61fff2,#00ff96f2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:30px;padding:3rem 4rem;box-shadow:0 25px 50px #00000080,0 0 100px #8a61ff66,inset 0 0 50px #ffffff1a;position:relative;text-align:center;min-width:400px;border:2px solid rgba(255,255,255,.2)}.balloon-close{position:absolute;top:1rem;right:1rem;background:#fff3;border:none;color:#fff;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;line-height:1}.balloon-close:hover{background:#ffffff4d;transform:rotate(90deg)}.balloon-icon{margin-bottom:1.5rem}.heart-pulse{width:4rem;height:4rem;color:#fff;animation:heartPulse 1.5s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(255,255,255,.5))}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.balloon-title{font-size:2.5rem;font-weight:200;color:#fff;margin-bottom:1rem;text-shadow:0 0 20px rgba(255,255,255,.5)}.balloon-message{font-size:1.125rem;color:#fffffff2;line-height:1.6;margin-bottom:1.5rem;max-width:500px}.balloon-stars{display:flex;justify-content:center;gap:.5rem}.balloon-star{font-size:1.5rem;animation:starTwinkle 2s ease-in-out infinite}.balloon-star:nth-child(odd){animation-delay:.5s}@keyframes starTwinkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes balloonFloat{0%{opacity:0;transform:translate(-50%,-40%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.balloon-enter-active{transition:all .5s ease-out}.balloon-leave-active{transition:all .3s ease-in}.balloon-enter-from{opacity:0;transform:translate(-50%,-40%) scale(.8)}.balloon-leave-to{opacity:0;transform:translate(-50%,-60%) scale(.8)}@media (max-width: 768px){.balloon-content{min-width:90vw;padding:2rem 1.5rem}.balloon-title{font-size:2rem}.heart-pulse{width:3rem;height:3rem}}
