@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Inter:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";:root{--color-primary:#8b0000;--color-primary-light:#f5dcdc;--color-secondary:#4a0404;--color-background:#fbf8f5;--color-surface:#fff;--color-text:#333;--color-text-light:#777;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--font-accent:"Great Vibes", cursive;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:8rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text);height:100%;line-height:1.6;overflow-x:hidden}.app{scroll-behavior:smooth;min-height:100vh;overflow-y:auto}.snap-section{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-secondary);letter-spacing:2px;font-weight:400}.accent-text{font-family:var(--font-accent);color:var(--color-primary);letter-spacing:normal;font-size:clamp(2.5rem,8vw,4rem)}.reveal{opacity:0;transition:all 1s cubic-bezier(.25,.46,.45,.94);transform:translateY(40px)}.reveal.active{opacity:1;transform:translateY(0)}.reveal.delay-1{transition-delay:.1s}.reveal.delay-2{transition-delay:.2s}.reveal.delay-3{transition-delay:.3s}.reveal.delay-4{transition-delay:.4s}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-fade-in{animation:1s ease-out forwards fadeIn}.animate-float{animation:4s ease-in-out infinite float}.container{max-width:1200px;padding:0 var(--spacing-sm);margin:0 auto}.text-center{text-align:center}.section-padding{padding:var(--spacing-xl) 0}.welcome-screen{z-index:9999;perspective:1000px;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.door{z-index:1;width:50vw;height:100vh;transition:transform 1.5s cubic-bezier(.77,0,.175,1) 1.2s;position:absolute;top:0}.left-door{background:radial-gradient(circle at right center, #fff 0%, var(--color-background) 100%);border-right:2px solid #d4af374d;left:0}.right-door{background:radial-gradient(circle at left center, #fff 0%, var(--color-background) 100%);border-left:2px solid #d4af374d;right:0}.left-door.door-open{transform:translate(-100%)}.right-door.door-open{transform:translate(100%)}.fade-out-screen{visibility:hidden;transition:visibility 0s linear 3s}.envelope-wrapper.fade-out{opacity:0;transition:opacity .8s 1.2s}.envelope-wrapper{z-index:2;aspect-ratio:1.6;justify-content:center;align-items:center;width:90%;max-width:500px;height:auto;min-height:200px;animation:1s ease-out slideUp;display:flex;position:relative;transform:translateY(0)}.envelope{background:0 0;width:100%;height:100%;position:relative}:root{--env-base:#8b0000;--env-shadow:#5c0000;--env-highlight:#a81010;--gold:#d4af37}.env-back{background-color:#3b0000;border-radius:8px;position:absolute;inset:0;box-shadow:0 30px 60px #0006}.env-front-left,.env-front-right,.env-front-bottom,.env-flap-top{position:absolute}.env-front-left{background:linear-gradient(135deg, var(--env-highlight), var(--env-base));clip-path:polygon(0 0,100% 50%,0 100%);z-index:4;filter:drop-shadow(2px 0 4px #0006);border-radius:8px 0 0 8px;width:50.1%;top:0;bottom:0;left:0}.env-front-right{background:linear-gradient(-135deg, var(--env-highlight), var(--env-shadow));clip-path:polygon(100% 0,0 50%,100% 100%);z-index:4;filter:drop-shadow(-2px 0 4px #0006);border-radius:0 8px 8px 0;width:50.1%;top:0;bottom:0;right:0}.env-front-bottom{background:linear-gradient(0deg, var(--env-shadow), var(--env-base));clip-path:polygon(0 100%,50% 0,100% 100%);z-index:5;filter:drop-shadow(0 -4px 6px #0000004d);border-radius:0 0 8px 8px;height:60.1%;bottom:0;left:0;right:0}.env-flap-top{background:linear-gradient(180deg, var(--env-highlight), var(--env-base));clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:top;z-index:6;filter:drop-shadow(0 4px 6px #00000080);border-radius:8px 8px 0 0;height:60.1%;transition:transform .6s cubic-bezier(.175,.885,.32,1.275);top:0;left:0;right:0}.env-letter{z-index:3;background-color:#fdfbf7;border-radius:8px;justify-content:center;align-items:center;padding:1.5rem;transition:transform 1s cubic-bezier(.25,.46,.45,.94) .6s;display:flex;position:absolute;inset:15px;overflow:hidden;box-shadow:inset 0 0 20px #0000004d}.letter-content{background:linear-gradient(to right, var(--gold) 2px, transparent 2px) 0 0, linear-gradient(to bottom, var(--gold) 2px, transparent 2px) 0 0, linear-gradient(to left, var(--gold) 2px, transparent 2px) 100% 0, linear-gradient(to bottom, var(--gold) 2px, transparent 2px) 100% 0, linear-gradient(to right, var(--gold) 2px, transparent 2px) 0 100%, linear-gradient(to top, var(--gold) 2px, transparent 2px) 0 100%, linear-gradient(to left, var(--gold) 2px, transparent 2px) 100% 100%, linear-gradient(to top, var(--gold) 2px, transparent 2px) 100% 100%;background-repeat:no-repeat;background-size:30px 30px;border:1px solid #d4af374d;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:.5rem;display:flex}.chibi-couple{object-fit:cover;mix-blend-mode:multiply;opacity:.9;width:70px;height:70px;margin-bottom:5px}.env-seal{background-color:var(--color-primary-light);z-index:10;width:80px;height:80px;color:var(--color-primary);font-family:var(--font-heading);cursor:pointer;text-shadow:none;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;transition:opacity .3s,visibility .3s;animation:2s infinite pulseSeal;display:flex;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px #0000004d}.env-seal:hover{transform:translate(-50%,-50%)scale(1.05)}.envelope.is-open .env-flap-top{z-index:1;filter:drop-shadow(0 -4px 6px #00000080);transform:rotateX(180deg)}.envelope.is-open .env-letter{z-index:7;transform:translateY(-200px)}.envelope.is-open .env-seal{opacity:0;visibility:hidden;animation:none}@keyframes pulseSeal{0%{box-shadow:0 6px 15px #0009,inset 0 0 15px #000c,0 0 #d4af3766}70%{box-shadow:0 6px 15px #0009,inset 0 0 15px #000c,0 0 0 20px #d4af3700}to{box-shadow:0 6px 15px #0009,inset 0 0 15px #000c,0 0 #d4af3700}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.envelope-wrapper{aspect-ratio:1.6;width:85%;max-height:250px}.welcome-title{font-size:1.6rem!important}.chibi-couple{width:60px;height:60px}}.hero-section{background-color:var(--color-background);justify-content:center;align-items:center;min-height:100vh;padding:4rem 0;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:1;background-position:50% 30%;background-size:cover;position:absolute;inset:0}.hero-section:before{content:"";pointer-events:none;z-index:1;border:1px solid #8b000026;border-radius:12px;position:absolute;inset:20px}.hero-section:after{content:"";pointer-events:none;z-index:1;border:1px solid #8b000014;border-radius:8px;position:absolute;inset:28px}.hero-overlay{display:none}.hero-content{z-index:2;align-items:center;gap:var(--spacing-sm);flex-direction:column;width:100%;display:flex;position:relative}.hero-subtitle{font-family:var(--font-body);text-transform:uppercase;letter-spacing:4px;color:var(--color-text-light);margin-bottom:var(--spacing-sm);font-size:.9rem}.parents-section{justify-content:space-around;width:100%;max-width:800px;margin:2rem 0;display:flex}.parent-box{flex-direction:column;gap:4px;display:flex}.parent-label{font-family:var(--font-heading);color:var(--color-primary);border-bottom:1px solid var(--color-primary-light);margin:0 auto 12px;padding-bottom:4px;font-size:1.4rem;font-weight:600;display:inline-block}.parent-name{color:var(--color-secondary);font-size:.95rem}.hero-title{margin:var(--spacing-sm) 0;line-height:1.2}.hero-icon{color:var(--color-primary);margin:var(--spacing-sm) 0;display:inline-block}.hero-date{font-family:var(--font-heading);color:var(--color-secondary);font-size:1.5rem;font-weight:600}.hero-divider{background-color:var(--color-primary);width:50px;height:2px;margin:var(--spacing-sm) 0}.hero-location{font-family:var(--font-body);color:var(--color-text-light);letter-spacing:1px}@media (width<=600px){.parents-section{flex-direction:column;gap:1.5rem;margin:1.5rem 0}.hero-section:before{inset:10px}.hero-section:after{inset:14px}}.couple-section{background-color:var(--color-background);padding:8rem 0;position:relative;overflow:hidden}.couple-section:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#8b000008 0%,#0000 60%);position:absolute;inset:0}.couple-container{max-width:1000px;padding:0 var(--spacing-md);z-index:2;flex-direction:column;gap:6rem;margin:0 auto;display:flex;position:relative}@media (width>=900px){.couple-container{flex-direction:row;justify-content:space-around}}.person-card{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.person-image-container{margin-bottom:2.5rem;position:relative}.person-image{width:280px;height:380px;position:relative}.person-image img{object-fit:cover;border:5px solid var(--color-surface);width:100%;height:100%;box-shadow:var(--shadow-lg);z-index:2;border-radius:140px 140px 0 0;transition:transform .5s;position:relative}.person-image:before{content:"";z-index:1;border:1px solid #d4af37;border-radius:152px 152px 0 0;transition:all .5s;position:absolute;inset:-12px}.person-card:hover .person-image img{transform:scale(1.02)}.person-card:hover .person-image:before{border-color:var(--color-primary);box-shadow:0 0 20px #d4af374d}.couple-floral{mix-blend-mode:multiply;z-index:3;opacity:.9;pointer-events:none;background-image:url(/floral-corner.jpg);background-repeat:no-repeat;background-size:contain;width:140px;height:140px;transition:transform .5s;position:absolute}.couple-floral.left{bottom:-30px;left:-40px;transform:rotate(-10deg)}.couple-floral.right{top:-30px;right:-40px;transform:rotate(170deg)}.person-card:hover .couple-floral.left{transform:rotate(-15deg)scale(1.1)}.person-card:hover .couple-floral.right{transform:rotate(175deg)scale(1.1)}.person-title{font-family:var(--font-body);text-transform:uppercase;letter-spacing:4px;color:var(--color-text-light);margin-bottom:.8rem;font-size:.9rem;display:inline-block;position:relative}.person-title:after{content:"";background-color:var(--color-primary);width:30px;height:1px;margin:8px auto 0;display:block}.person-name{font-family:var(--font-accent);color:var(--color-primary);margin-bottom:.5rem;font-size:3.5rem;line-height:1.2}.person-detail{font-family:var(--font-body);color:#d4af37;letter-spacing:1px;margin-bottom:1.5rem;font-size:.9rem;font-weight:500}.person-desc{font-family:var(--font-body);color:var(--color-text);max-width:380px;margin:0 auto;font-size:1rem;line-height:1.8}@media (width<=600px){.person-image{width:240px;height:320px}.person-image img{border-radius:120px 120px 0 0}.person-image:before{border-radius:132px 132px 0 0}.couple-floral{width:100px;height:100px}.person-name{font-size:2.8rem}}.story-section{background-color:var(--color-surface);padding:6rem 0;position:relative}.story-wrapper{align-items:center;gap:var(--spacing-lg);flex-direction:column;max-width:1000px;margin:0 auto;display:flex}@media (width>=900px){.story-wrapper{flex-direction:row;align-items:stretch}}.story-image{flex:1;padding:1rem;position:relative}.story-image img{object-fit:cover;border-radius:var(--radius-md);z-index:2;width:100%;height:100%;box-shadow:var(--shadow-lg);position:relative}.story-frame{border-radius:var(--radius-md);z-index:1;border:2px solid #d4af37;position:absolute;inset:0 2rem 2rem 0}.story-content{padding:var(--spacing-md);flex-direction:column;flex:1;justify-content:center;display:flex}.story-title{margin-bottom:var(--spacing-md);font-size:3.5rem}.story-text{font-family:var(--font-heading);color:var(--color-text);margin-bottom:var(--spacing-md);text-align:justify;text-align-last:center;font-size:1.1rem;line-height:1.8}.story-text p{margin-bottom:1rem}.story-signatures{margin-top:var(--spacing-sm);justify-content:center;align-items:center;gap:1rem;display:flex}.signature{font-family:var(--font-accent);color:var(--color-primary);font-size:2.5rem}.and{font-family:var(--font-body);color:var(--color-text-light);font-size:1.2rem}.quotes-section{text-align:center;background-image:url(/assets/CTIN9430-jxU0uHo_.JPG);background-position:50%;background-size:cover;background-attachment:fixed;justify-content:center;align-items:center;padding:10rem 0;display:flex;position:relative}.quotes-section:before{content:"";z-index:1;background:#14000033;position:absolute;inset:0}.quotes-content{z-index:2;color:#fff;max-width:800px;padding:0 var(--spacing-md);position:relative}.quote-text{font-family:var(--font-accent);color:#fff;text-shadow:0 2px 10px #000c,0 4px 20px #0009;margin-bottom:2rem;font-size:clamp(2rem,5vw,4.5rem);line-height:1.3}.quote-author{font-family:var(--font-body);text-transform:uppercase;letter-spacing:5px;color:#d4af37;font-size:1.2rem}@media (width<=768px){.quotes-section{background-attachment:scroll;padding:5rem 0}.quote-text{font-size:2.2rem}.quote-author{letter-spacing:2px;font-size:.9rem}}.event-section{background-color:var(--color-background);padding:6rem 0;position:relative}.event-section .container{z-index:2;position:relative}.section-title{margin-bottom:var(--spacing-xl);color:var(--color-secondary);font-size:3.5rem;position:relative}.section-title:after{content:"";background-color:var(--color-primary);width:60px;height:2px;margin:var(--spacing-sm) auto 0;display:block}.event-cards{gap:var(--spacing-lg);padding:0 var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.event-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg) var(--spacing-md);box-shadow:var(--shadow-md);border:1px solid #d4af374d;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden}.event-card:before{content:"";border-radius:calc(var(--radius-lg) - 4px);pointer-events:none;border:1px solid #d4af3726;position:absolute;inset:6px}.event-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.event-card-inner{text-align:center;flex-direction:column;align-items:center;display:flex}.event-card h3{margin-bottom:var(--spacing-md);font-size:2rem}.event-info-table{text-align:left;flex-direction:column;gap:1.2rem;max-width:350px;margin-bottom:2rem;margin-left:auto;margin-right:auto;display:flex}.event-row{align-items:flex-start;gap:15px;display:flex}.event-text{color:var(--color-text-light);line-height:1.5}.time-line{margin-bottom:4px}.icon{color:var(--color-primary);flex-shrink:0;margin-top:2px}button{font-family:var(--font-body);border-radius:var(--radius-full);cursor:pointer;border:none;padding:10px 24px;font-weight:500;transition:all .3s}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:#b8962b}.btn-outline{border:1px solid var(--color-primary);color:var(--color-primary);background-color:#0000}.btn-outline:hover{background-color:var(--color-primary);color:#fff}.countdown-section{background-color:var(--color-primary-light);color:var(--color-secondary)}.countdown-title{margin-bottom:var(--spacing-lg);font-size:2.5rem}.countdown-wrapper{justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.countdown-item{background-color:var(--color-surface);border-radius:var(--radius-full);width:100px;height:100px;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;display:flex}.countdown-number{font-family:var(--font-heading);color:var(--color-primary);font-size:2rem;font-weight:600;line-height:1}.countdown-label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:1px;color:var(--color-text-light);margin-top:4px;font-size:.8rem}@media (width<=768px){.countdown-title{font-size:2rem}.countdown-item{width:80px;height:80px}.countdown-number{font-size:1.5rem}.countdown-label{letter-spacing:.5px;font-size:.7rem}.countdown-wrapper{gap:15px}}.rsvp-section{background-color:var(--color-background);padding:6rem 0;position:relative}.rsvp-section .container{z-index:2;position:relative}.rsvp-card{background:var(--color-surface);max-width:600px;padding:var(--spacing-lg) var(--spacing-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid #d4af374d;border-top:5px solid var(--color-primary);margin:0 auto}.rsvp-form{gap:var(--spacing-md);flex-direction:column;display:flex}.form-row{gap:var(--spacing-md);display:flex}.form-row .form-group{flex:1}.form-group{gap:var(--spacing-xs);text-align:left;flex-direction:column;display:flex}.form-group label{color:var(--color-secondary);font-size:.9rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);border-radius:var(--radius-md);background-color:#f8fafc;border:1px solid #e2e8f0;padding:12px 16px;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background-color:var(--color-surface);border-color:#d4af37;outline:none;box-shadow:0 0 0 3px #d4af371a}.submit-btn{width:100%;margin-top:var(--spacing-sm);padding:14px;font-size:1.1rem}.rsvp-success{padding:var(--spacing-lg) 0}.rsvp-success h3{margin-bottom:var(--spacing-sm)}@media (width<=600px){.form-row{gap:var(--spacing-md);flex-direction:column}}.gift-section{background-color:var(--color-surface)}.gift-cards{justify-content:center;gap:var(--spacing-xl);margin-top:var(--spacing-lg);flex-wrap:wrap;display:flex}.gift-card{padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;background:#fff;border:1px solid #d4af374d;width:100%;max-width:350px;transition:transform .3s}.gift-card:hover{transform:translateY(-5px)}.gift-role{font-family:var(--font-heading);color:var(--color-primary);margin-bottom:var(--spacing-md);font-size:1.8rem}.qr-container{width:200px;height:200px;margin:0 auto var(--spacing-md);border-radius:var(--radius-sm);border:2px solid #d4af3780;padding:10px}.qr-image{object-fit:contain;width:100%;height:100%}.bank-details p{color:var(--color-text);font-family:var(--font-body);margin:5px 0}.bank-name{font-size:1.1rem;font-weight:700;color:var(--color-secondary)!important}.bank-account{letter-spacing:1px;font-size:1.2rem;font-weight:600;font-family:monospace!important}.bank-owner{text-transform:uppercase}.gallery-section{background-color:var(--color-background)}.gallery-grid{columns:1;column-gap:var(--spacing-sm);padding:0 var(--spacing-sm)}@media (width>=600px){.gallery-grid{columns:2}}@media (width>=900px){.gallery-grid{columns:3}}.gallery-item{border-radius:var(--radius-sm);cursor:pointer;border:4px solid var(--color-surface);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-sm);width:100%;display:inline-block;position:relative;overflow:hidden}.gallery-item:after{content:"";z-index:2;pointer-events:none;border:1px solid #d4af3780;position:absolute;inset:0}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-overlay{background:rgba(var(--color-primary-rgb,139, 94, 60), .3);opacity:0;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.gallery-item:hover img{transform:scale(1.1)}.gallery-item:hover .gallery-overlay{opacity:1}.heart-icon{color:#fff;font-size:2rem;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform:scale(0)}.gallery-item:hover .heart-icon{transform:scale(1)}.gallery-tabs{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:2rem;display:flex}.gallery-tab{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;font-family:var(--font-main);background:0 0;border-radius:20px;padding:8px 20px;font-size:.95rem;transition:all .3s}.gallery-tab:hover,.gallery-tab.active{background:var(--color-primary);color:#fff}.guestbook-section{background-color:var(--color-surface);padding:8rem 0;position:relative}.guestbook-subtitle{font-family:var(--font-body);color:var(--color-text-light);margin-bottom:4rem;font-size:1.1rem;font-style:italic}.wishes-grid{padding:0 var(--spacing-sm);grid-template-columns:1fr;gap:2rem;margin-bottom:5rem;display:grid}@media (width>=600px){.wishes-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.wishes-grid{grid-template-columns:repeat(3,1fr)}}.wish-card{background:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;border:1px solid #d4af3733;padding:3rem 2rem 2rem;transition:transform .3s;position:relative}.wish-card:hover{box-shadow:var(--shadow-lg);border-color:#d4af3780;transform:translateY(-5px)}.wish-quote-icon{font-family:var(--font-accent);color:var(--color-primary);opacity:.1;font-size:6rem;line-height:1;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.wish-text{font-family:var(--font-body);color:var(--color-text);z-index:2;margin-bottom:1.5rem;font-size:.95rem;font-style:italic;line-height:1.6;position:relative}.wish-author{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:1px;font-size:1.2rem}.wish-form-container{border-radius:var(--radius-lg);max-width:600px;box-shadow:var(--shadow-lg);border-top:5px solid var(--color-primary);background:#fff;margin:0 auto;padding:3rem 2rem}.wish-form-title{text-align:center;font-family:var(--font-heading);color:var(--color-primary);margin-bottom:2rem;font-size:2rem}.wish-form{flex-direction:column;gap:1.5rem;display:flex}.wish-form input,.wish-form textarea{border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);background:var(--color-background);border:1px solid #e0e0e0;padding:1rem;font-size:1rem;transition:all .3s}.wish-form input:focus,.wish-form textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #8b00001a}.submit-wish-btn{background-color:var(--color-primary);color:#fff;font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:500;transition:all .3s;box-shadow:0 4px 15px #8b000033}.submit-wish-btn:hover{background-color:#600000;transform:translateY(-2px);box-shadow:0 6px 20px #8b00004d}.music-player{z-index:1000;opacity:0;visibility:hidden;cursor:pointer;transition:opacity .5s,visibility .5s;position:fixed;bottom:20px;left:20px}.music-player.visible{opacity:1;visibility:visible}.music-icon-wrapper{-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-primary-light);width:50px;height:50px;color:var(--color-primary);background:#fffc;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s,background .3s;display:flex;box-shadow:0 4px 15px #0000001a}.music-icon-wrapper:hover{background:#fff;transform:scale(1.05)}.music-icon-wrapper.spin{animation:4s linear infinite spinRecord}@keyframes spinRecord{to{transform:rotate(360deg)}}.text-primary{color:var(--color-primary)}.text-muted{color:#888}.petals-container{pointer-events:none;z-index:50;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.petal{background-color:var(--color-primary);transform-origin:50%;filter:drop-shadow(0 2px 4px #0000001a);border-radius:50% 0 50% 50%;animation:linear infinite fall;position:absolute;top:-10vh}@keyframes fall{0%{transform:translate(0,0)rotate(0)scale(.8)}50%{transform:translate(30px,55vh)rotate(180deg)scale(1)}to{transform:translate(-20px,110vh)rotate(360deg)scale(.8)}}.admin-container{min-height:100vh;font-family:var(--font-body);background-color:#f5f6fa}.admin-header{background-color:var(--color-primary);color:#fff;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.admin-content{max-width:1200px;margin:0 auto;padding:2rem}.admin-tabs{gap:1rem;margin-bottom:2rem;display:flex}.admin-tab{cursor:pointer;color:#333;background:#fff;border:none;border-radius:4px;padding:.8rem 1.5rem;font-weight:700;transition:all .3s;box-shadow:0 2px 5px #0000000d}.admin-tab:hover{background:#eee}.admin-tab.active{background:var(--color-primary);color:#fff}.admin-card{background:#fff;border-radius:8px;padding:2rem;overflow-x:auto;box-shadow:0 4px 15px #0000000d}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #eee;padding:1rem}.admin-table th{color:#333;background-color:#f8f9fa;font-weight:700}.btn-delete{color:#fff;cursor:pointer;background:#ff4757;border:none;border-radius:4px;padding:.5rem 1rem;transition:background .3s}.btn-delete:hover{background:#ff6b81}.admin-login{background-color:var(--color-background);justify-content:center;align-items:center;height:100vh;display:flex}.login-box{text-align:center;background:#fff;border-radius:8px;width:400px;padding:3rem;box-shadow:0 10px 25px #0000001a}.login-box input{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;margin-bottom:1rem;padding:1rem}.login-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:1rem;font-size:1.1rem;font-weight:700;transition:background .3s}.login-btn:hover{background:#600000}
