.app{min-height:100vh;width:100%;display:flex;flex-direction:column}.app-header{text-align:center;padding:1.5rem 2rem;background:linear-gradient(180deg,#1a1a1a,#2a2a2a);border-bottom:2px solid #444}.app-header h1{font-size:2.5rem;margin:0;background:linear-gradient(90deg,#fec538,#ff4002,#193d90);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-main{flex:1}@media(max-width:768px){.app-header{padding:1rem}.app-header h1{font-size:1.8rem}}.birthday-invite-page{padding:2rem;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.birthday-hero{text-align:center;margin-bottom:3rem;padding:2rem 0}.birthday-logo{max-width:500px;width:100%;height:auto;margin-bottom:2rem;filter:drop-shadow(0 0 20px rgba(255,215,0,.3))}.birthday-title{font-size:3.5rem;font-weight:800;margin:1rem 0 .5rem;background:linear-gradient(135deg,gold,orange,tomato);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));text-transform:uppercase;letter-spacing:2px}.birthday-subtitle{font-size:2rem;font-weight:700;color:#ceffff;text-shadow:0 0 10px rgba(206,255,255,.5);margin:0 0 2rem}.hero-header-image{width:100%;max-width:700px;height:auto;border-radius:20px;box-shadow:0 6px 30px #ffd70066,0 0 40px #ffd70033;border:4px solid rgba(255,215,0,.6);margin-top:2rem}.content-image-break{margin:3rem 0;text-align:center}.content-break-image{width:100%;max-width:600px;height:auto;border-radius:15px;box-shadow:0 4px 20px #ffd7004d,0 0 30px #ffd70033;border:3px solid rgba(255,215,0,.5);transition:transform .3s ease,box-shadow .3s ease}.content-break-image:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 8px 30px #ffd70080,0 0 40px #ffd7004d}.birthday-card-container{max-width:900px;margin:0 auto;perspective:1000px}.birthday-card{background:linear-gradient(135deg,#2d1b4e,#1a0f2e);border:4px solid #FFD700;border-radius:20px;padding:3rem;box-shadow:0 0 30px #ffd70066,0 0 60px #f0f3,inset 0 0 100px #ffd7001a;position:relative;overflow:hidden}.birthday-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,215,0,.1) 0%,transparent 70%);animation:rotate 20s linear infinite;pointer-events:none}.card-content{position:relative;z-index:1;color:#fff}.invite-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:2px solid rgba(255,215,0,.2)}.invite-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.invite-section h2{font-size:2rem;font-weight:800;margin:0 0 1rem;background:linear-gradient(135deg,gold,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-transform:uppercase;letter-spacing:1px}.intro-text{font-size:1.25rem;line-height:1.8;margin:0}.invite-section p{font-size:1.1rem;line-height:1.7;margin:.75rem 0;color:#e0e0e0}.invite-section ul{margin:1rem 0;padding-left:2rem}.invite-section li{font-size:1.1rem;line-height:1.7;margin:.5rem 0;color:#e0e0e0}.no-requirements li{list-style:none;position:relative;padding-left:1.5rem}.no-requirements li:before{content:"✗";position:absolute;left:0;color:gold;font-weight:700}.activity-list li{list-style:none;position:relative;padding-left:2rem}.activity-list li:before{content:"⚡";position:absolute;left:0;font-size:1.2rem}.winners-note{background:#ffd7001a;padding:1rem;border-radius:10px;border-left:4px solid #FFD700;margin:1rem 0!important;text-align:center}.oneshot-note{font-style:italic;color:#ceffff;text-align:center}.robomon-showcase{background:#ffd7000d;padding:2rem;border-radius:15px}.carousel-wrapper{display:flex;align-items:center;gap:1rem;position:relative;padding:2rem 0}.robomon-cards-container{flex:1;overflow:hidden;position:relative}.carousel-track{display:flex;transition:transform .5s ease-in-out}.carousel-slide{flex:0 0 100%;width:100%;display:flex;justify-content:center;align-items:center}.robomon-starter-card{width:100%;max-width:400px;height:auto;display:block;border-radius:15px;transition:transform .3s ease;position:relative;object-fit:contain}.robomon-starter-card:before{content:"";position:absolute;inset:0;border-radius:15px;background:linear-gradient(135deg,#fff0,#ffffff26,#fff6,#ffffff26,#fff0);background-size:200% 200%;animation:foil-shimmer 4s ease-in-out infinite;pointer-events:none}.robomon-starter-card:hover{transform:translateY(-10px) scale(1.05)}.carousel-button{background:#ffd70033;border:2px solid rgba(255,215,0,.6);color:gold;font-size:3rem;width:60px;height:60px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0;z-index:10}.carousel-button:hover{background:#ffd70066;border-color:gold;transform:scale(1.1)}.carousel-button:active{transform:scale(.95)}.carousel-dots{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.carousel-dot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,215,0,.5);background:transparent;cursor:pointer;transition:all .3s ease;padding:0}.carousel-dot:hover{background:#ffd70080;transform:scale(1.2)}.carousel-dot.active{background:gold;border-color:gold;transform:scale(1.3)}.rewards-section{background:#ffd7000d;padding:2rem;border-radius:15px}.reward-cards-grid{display:flex;flex-direction:row;gap:1rem;margin-top:1.5rem;justify-content:center;flex-wrap:nowrap;width:100%}.reward-carousel-wrapper,.reward-dots{display:none}.reward-card{display:flex;justify-content:center;align-items:center;flex:1 1 25%;position:relative;max-width:25%}.reward-card:before{content:"";position:absolute;inset:0;border-radius:15px;background:linear-gradient(135deg,#fff0,#ffffff1a,#ffffff4d,#ffffff1a,#fff0);background-size:200% 200%;animation:foil-shimmer 3s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes foil-shimmer{0%,to{background-position:0% 50%;opacity:.4}50%{background-position:100% 50%;opacity:.8}}.reward-card img{width:100%;height:auto;border-radius:15px;box-shadow:0 4px 15px #ffd7004d,0 0 20px #ffd7001a,inset 0 0 60px #ffffff1a;transition:transform .3s ease,box-shadow .3s ease;position:relative;filter:brightness(1.1) contrast(1.1)}.reward-card img:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 8px 25px #ffd70080,0 0 30px #ffd7004d,inset 0 0 80px #fff3;filter:brightness(1.2) contrast(1.15)}.event-details{background:#ffd7000d;padding:2rem;border-radius:15px;border:2px solid rgba(255,215,0,.3)}.details-grid{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.detail-item{display:flex;gap:1rem;align-items:flex-start}.detail-item.location{flex-direction:column;gap:.25rem}.detail-label{font-weight:700;color:gold;min-width:100px;font-size:1.2rem}.detail-value{font-size:1.2rem;color:#fff;font-weight:600}.timing-note{background:#ff634733;padding:1rem;border-radius:10px;border-left:4px solid #FF6347;margin-top:1.5rem!important;text-align:center}.age-note,.instructions-note,.followup-note{font-size:1rem;color:#ceffff;font-style:italic;margin-top:1rem!important}.rsvp-section{text-align:center;background:#ffd7000d;padding:2rem;border-radius:15px}.rsvp-button{display:inline-block;background:linear-gradient(135deg,gold,orange);color:#1a0f2e;font-size:1.5rem;font-weight:800;padding:1.25rem 3rem;border-radius:50px;text-decoration:none;text-transform:uppercase;letter-spacing:2px;margin:2rem 0;box-shadow:0 4px 15px #ffd70066,0 0 30px #ffd70033;transition:all .3s ease;border:3px solid #FFD700}.rsvp-button:hover{transform:translateY(-3px);box-shadow:0 6px 20px #ffd70099,0 0 40px #ffd70066;background:linear-gradient(135deg,orange,gold)}.final-note{text-align:center;font-size:1.2rem}.closing{font-size:1.5rem;color:gold;margin-top:1.5rem!important}@media(max-width:768px){.birthday-invite-page{padding:1rem}.birthday-logo{max-width:300px}.birthday-title{font-size:2rem;letter-spacing:1px}.birthday-subtitle{font-size:1.5rem}.hero-header-image{max-width:500px}.content-break-image{max-width:450px}.birthday-card{padding:1.5rem;border-width:3px}.invite-section h2{font-size:1.5rem}.intro-text{font-size:1.1rem}.invite-section p,.invite-section li,.detail-label,.detail-value{font-size:1rem}.rsvp-button{font-size:1.2rem;padding:1rem 2rem;letter-spacing:1px}.closing{font-size:1.2rem}.carousel-slide{padding:0 1rem}.robomon-starter-card{max-width:320px}.carousel-button{width:50px;height:50px;font-size:2.5rem}}@media(max-width:480px){.birthday-title{font-size:1.5rem}.birthday-subtitle{font-size:1.2rem}.hero-header-image,.content-break-image{max-width:100%}.content-image-break{margin:2rem 0}.birthday-card{padding:1rem}.invite-section{margin-bottom:1.5rem;padding-bottom:1.5rem}.rsvp-button{font-size:1rem;padding:.875rem 1.5rem}.carousel-wrapper{gap:.5rem;padding:1rem 0}.carousel-slide{padding:0}.robomon-starter-card{max-width:240px}.carousel-button{width:40px;height:40px;font-size:2rem;flex-shrink:0}.carousel-dots{gap:.5rem}.carousel-dot{width:10px;height:10px}.reward-cards-grid{display:none}.reward-carousel-wrapper{display:flex;align-items:center;gap:.5rem;position:relative;padding:2rem 0 1rem}.reward-carousel-container{flex:1;overflow:hidden;position:relative}.reward-carousel-card{width:100%;max-width:240px;height:auto;display:block;border-radius:15px;transition:transform .3s ease;position:relative;object-fit:contain}.reward-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}}.birthday-rsvp-page{padding:2rem;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.birthday-rsvp-page *{box-sizing:border-box}.rsvp-hero{text-align:center;margin-bottom:3rem;padding:2rem 0}.rsvp-logo{max-width:400px;width:100%;height:auto;margin-bottom:1.5rem;filter:drop-shadow(0 0 20px rgba(255,215,0,.3))}.rsvp-title{font-size:3rem;font-weight:800;margin:1rem 0 .5rem;background:linear-gradient(135deg,gold,orange,tomato);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));text-transform:uppercase;letter-spacing:2px}.rsvp-subtitle{font-size:1.5rem;font-weight:700;color:#ceffff;text-shadow:0 0 10px rgba(206,255,255,.5);margin:0}.rsvp-form-container{max-width:800px;margin:0 auto}.rsvp-card{background:linear-gradient(135deg,#2d1b4e,#1a0f2e);border:4px solid #FFD700;border-radius:20px;padding:3rem;box-shadow:0 0 30px #ffd70066,0 0 60px #f0f3,inset 0 0 100px #ffd7001a;position:relative;overflow:hidden}.rsvp-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,215,0,.1) 0%,transparent 70%);animation:rotate 20s linear infinite;pointer-events:none}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.survey-intro{margin-bottom:2rem;padding:1.5rem;background:#ffd7001a;border-radius:10px;border-left:4px solid #FFD700;position:relative;z-index:1}.survey-intro p{color:#e0e0e0;line-height:1.7;margin:0}.rsvp-form{position:relative;z-index:1}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:2px solid rgba(255,215,0,.2)}.form-section:last-of-type{border-bottom:none}.section-intro{font-size:1.05rem;color:#ceffff;margin-bottom:1.5rem;line-height:1.6}.section-title{display:none}.form-group{margin-bottom:1.5rem;width:100%;box-sizing:border-box}.form-label{display:block;font-size:1.1rem;font-weight:600;color:#ceffff;margin-bottom:.5rem}.required{color:tomato;font-weight:700}.form-input,.form-select,.form-textarea{width:100%;max-width:100%;padding:.875rem 1rem;font-size:1rem;background:#ffffff1a;border:2px solid rgba(255,215,0,.3);border-radius:10px;color:#fff;transition:all .3s ease;font-family:inherit;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:gold;background:#ffffff26;box-shadow:0 0 15px #ffd7004d}.form-input::placeholder,.form-textarea::placeholder{color:#ceffff80}.form-select{cursor:pointer}.form-select option{background:#1a0f2e;color:#fff}.form-textarea{resize:vertical;min-height:100px}.form-help-text{font-size:.9rem;color:#ceffffb3;margin-top:.5rem;font-style:italic}.range-container{display:flex;align-items:center;gap:1rem}.form-range{flex:1;height:8px;background:#ffd70033;border-radius:5px;outline:none;-webkit-appearance:none}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;background:linear-gradient(135deg,gold,orange);border-radius:50%;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 10px #ffd70080}.form-range::-moz-range-thumb{width:24px;height:24px;background:linear-gradient(135deg,gold,orange);border-radius:50%;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 10px #ffd70080}.range-value{font-size:1.5rem;font-weight:700;color:gold;min-width:40px;text-align:center}.checkbox-group{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:8px;transition:background .2s ease}.checkbox-label:hover{background:#ffd7000d}.checkbox-label input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;flex-shrink:0}.checkbox-label span,.checkbox-label>div{color:#e0e0e0;line-height:1.6}.checkbox-label.with-description{align-items:flex-start}.checkbox-label.with-description strong{color:gold;display:block;margin-bottom:.25rem}.role-description{font-size:.95rem;color:#b0b0b0;margin:.25rem 0 0;line-height:1.5}.role-category{font-size:1.3rem;font-weight:700;color:orange;margin:2rem 0 1rem;text-transform:uppercase;letter-spacing:.5px}.role-category:first-child{margin-top:0}.clans-section{background:#ffd70005;padding:2rem;border-radius:15px}.clan-card{margin:2.5rem 0;padding:0;border-radius:12px;border:2px solid rgba(255,215,0,.3);background:#fff;overflow:hidden;max-width:720px;margin-left:auto;margin-right:auto;box-shadow:0 4px 12px #0000001a}.clan-card:first-of-type{margin-top:2rem}.clan-card:last-of-type{margin-bottom:2rem}.clan-card-header{background:linear-gradient(180deg,#00000005,#00000003);padding:1.5rem 2rem 1.25rem;text-align:center;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}.clan-card.ironbound .clan-card-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(220,53,69,.6) 50%,transparent 100%)}.clan-card.url .clan-card-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(76,175,80,.6) 50%,transparent 100%)}.clan-card.deep-maw .clan-card-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,rgba(33,150,243,.6) 50%,transparent 100%)}.clan-logo{width:100%;max-width:480px;height:auto;margin:0 auto .5rem;display:block;border-radius:6px;opacity:.95}.clan-tagline{font-size:.875rem;font-style:italic;font-weight:400;color:#00000080;margin:0;letter-spacing:.3px;text-transform:lowercase}.clan-card-body{padding:2rem 2.5rem 2.25rem;max-width:580px;margin:0 auto;border-top:1px solid rgba(0,0,0,.08)}.clan-description{font-size:1rem;line-height:1.7;color:#333;margin:0 0 1rem;text-align:left;font-weight:400}.clan-description:first-of-type{margin-top:0}.clan-description:last-of-type{margin-bottom:1.75rem}.clan-motto{font-size:.95rem;font-weight:600;font-style:italic;color:#06c;margin:1.75rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.1);text-align:center;letter-spacing:.3px;line-height:1.5}@media(max-width:768px){.clan-card{max-width:100%}.clan-card-body{padding:1.75rem 2rem 2rem;max-width:100%}.clan-card-header{padding:1.25rem 1.5rem 1rem}.clan-logo{max-width:400px;margin-bottom:.5rem}.clan-tagline{font-size:.8125rem}.clan-description{font-size:.9375rem;line-height:1.65}.clan-motto{font-size:.875rem}}@media(max-width:480px){.clan-card-body{padding:1.5rem 1.25rem 1.75rem}.clan-card-header{padding:1rem 1rem .875rem}.clan-logo{max-width:340px;margin-bottom:.375rem}.clan-tagline{font-size:.75rem}.clan-description{font-size:.875rem;line-height:1.6;margin-bottom:.875rem}.clan-motto{font-size:.8125rem;padding-top:1.25rem;margin-top:1.5rem}}.paypal-section{text-align:center;background:#ffd7000d;padding:1.5rem;border-radius:10px;border:1px solid rgba(255,215,0,.2);margin-bottom:0}.paypal-text{color:#ceffff;font-size:1rem;line-height:1.6;margin:0}.paypal-link{color:gold;font-weight:600;text-decoration:underline;transition:all .2s ease}.paypal-link:hover{color:orange;text-decoration:none}.form-actions{margin-top:2rem;text-align:center}.submit-button{display:inline-block;background:linear-gradient(135deg,gold,orange);color:#1a0f2e;font-size:1.5rem;font-weight:800;padding:1.25rem 4rem;border-radius:50px;text-transform:uppercase;letter-spacing:2px;border:3px solid #FFD700;cursor:pointer;box-shadow:0 4px 15px #ffd70066,0 0 30px #ffd70033;transition:all .3s ease}.submit-button:hover{transform:translateY(-3px);box-shadow:0 6px 20px #ffd70099,0 0 40px #ffd70066;background:linear-gradient(135deg,orange,gold)}.submit-button:active{transform:translateY(-1px)}.rsvp-success-container{max-width:700px;margin:0 auto;padding-top:4rem}.success-card{background:linear-gradient(135deg,#2d1b4e,#1a0f2e);border:4px solid #FFD700;border-radius:20px;padding:4rem 3rem;text-align:center;box-shadow:0 0 30px #ffd70066,0 0 60px #f0f3,inset 0 0 100px #ffd7001a;position:relative;overflow:hidden}.success-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(255,215,0,.1) 0%,transparent 70%);animation:rotate 20s linear infinite;pointer-events:none}.success-logo{max-width:300px;width:100%;height:auto;margin-bottom:2rem;filter:drop-shadow(0 0 20px rgba(255,215,0,.3));position:relative;z-index:1}.success-title{font-size:3.5rem;font-weight:800;margin:1rem 0;background:linear-gradient(135deg,gold,orange,tomato);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-transform:uppercase;letter-spacing:2px;position:relative;z-index:1}.success-message{font-size:1.3rem;line-height:1.8;color:#fff;margin:1.5rem 0;position:relative;z-index:1}.success-note{font-size:1.2rem;color:#ceffff;font-weight:600;margin:2rem 0;position:relative;z-index:1}.success-button{display:inline-block;background:linear-gradient(135deg,gold,orange);color:#1a0f2e;font-size:1.1rem;font-weight:700;padding:.875rem 2rem;border-radius:50px;text-transform:uppercase;letter-spacing:1px;border:2px solid #FFD700;cursor:pointer;box-shadow:0 4px 15px #ffd70066,0 0 30px #ffd70033;transition:all .3s ease;margin-top:1rem;position:relative;z-index:1}.success-button:hover{transform:translateY(-3px);box-shadow:0 6px 20px #ffd70099,0 0 40px #ffd70066;background:linear-gradient(135deg,orange,gold)}@media(max-width:768px){.birthday-rsvp-page{padding:.75rem}.rsvp-logo{max-width:300px}.rsvp-title{font-size:2rem;letter-spacing:1px}.rsvp-subtitle{font-size:1.2rem}.rsvp-card{padding:1.5rem 1rem;border-width:3px}.section-title{font-size:1.5rem}.submit-button{font-size:1.2rem;padding:1rem 2.5rem;letter-spacing:1px}.success-logo{max-width:200px}.success-title{font-size:2.5rem}.success-message{font-size:1.1rem}.success-note{font-size:1rem}}@media(max-width:480px){.rsvp-title{font-size:1.5rem}.rsvp-subtitle{font-size:1rem}.rsvp-card{padding:1.25rem .75rem}.section-title{font-size:1.25rem}.form-input,.form-select,.form-textarea{padding:.75rem;font-size:.95rem}.submit-button{font-size:1rem;padding:.875rem 2rem}.success-card{padding:2rem 1.5rem}.success-title{font-size:2rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%}
