:root{--primary-color: #1B3B86;--secondary-color: #2850A0;--accent-gold: #D4AF37;--accent-silver: #C0C0C0;--accent-snow: #F8F9FA;--text-color: #1a1a2e;--text-light: #6c757d;--bg-gradient-start: #E8EAF6;--bg-gradient-end: #F5F7FA;--font-serif: "Playfair Display", "Georgia", serif;--font-sans: "Roboto", "Arial", sans-serif;--shadow-soft: 0 10px 40px rgba(27, 59, 134, .15);--shadow-hover: 0 15px 50px rgba(27, 59, 134, .25);--shadow-gold: 0 5px 25px rgba(212, 175, 55, .4)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-sans);background:linear-gradient(135deg,#0f1c3f,#1b3b86,#0f1c3f);display:flex;justify-content:center;min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20% 30%,rgba(212,175,55,.8),transparent),radial-gradient(2px 2px at 60% 70%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 50% 50%,rgba(212,175,55,.6),transparent),radial-gradient(1px 1px at 80% 10%,rgba(192,192,192,.7),transparent),radial-gradient(2px 2px at 90% 60%,rgba(212,175,55,.9),transparent);background-size:250px 250px,350px 350px,180px 180px,280px 280px,220px 220px;animation:sparkle-fall 25s linear infinite;opacity:.7;pointer-events:none;z-index:1}@keyframes sparkle-fall{0%{background-position:0 0,0 0,0 0,0 0,0 0}to{background-position:0 250px,0 350px,0 180px,0 280px,0 220px}}.screen{width:100%;max-width:420px;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);min-height:100vh;position:relative;overflow-x:hidden;box-shadow:0 0 60px #00000080;z-index:2}.envelope-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8eaf6,#f5f7fa);position:relative;overflow:hidden}.envelope-screen:before{content:"✦";position:absolute;top:30px;left:50%;transform:translate(-50%);font-size:3rem;color:var(--accent-gold);opacity:.3;animation:float-gold 6s ease-in-out infinite;text-shadow:0 0 20px rgba(212,175,55,.6)}.envelope-screen:after{content:"✦";position:absolute;bottom:40px;font-size:4rem;color:var(--accent-silver);opacity:.25;animation:rotate-slow 20s linear infinite;filter:drop-shadow(0 0 15px rgba(192,192,192,.5))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes float-gold{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-25px)}}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.instruction-text{margin-bottom:30px;color:var(--primary-color);font-size:1.2rem;font-weight:600;animation:pulse-glow 2s infinite;text-shadow:0 2px 15px rgba(27,59,134,.5);font-family:var(--font-sans);display:flex;align-items:center;gap:10px}.instruction-text i{color:var(--accent-gold);filter:drop-shadow(0 0 8px rgba(212,175,55,.6))}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.envelope-wrapper{width:320px;height:220px;position:relative;cursor:pointer;transition:transform .3s ease;filter:drop-shadow(var(--shadow-soft))}.envelope-wrapper:hover{transform:scale(1.05)}.envelope-svg{width:100%;height:100%;position:relative;z-index:10;filter:drop-shadow(0 4px 20px rgba(0,0,0,.15))}.envelope-svg path:nth-child(1){fill:var(--primary-color);filter:drop-shadow(0 4px 8px rgba(27,59,134,.3))}.envelope-svg path:nth-child(2){fill:#0f1c3f}.envelope-svg path:nth-child(3),.envelope-svg path:nth-child(4),.envelope-svg path:nth-child(5){fill:var(--secondary-color);stroke:var(--accent-gold);stroke-width:.5}.flap{transform-origin:150px 0;transition:transform .8s cubic-bezier(.68,-.55,.265,1.55)}.flap path{fill:var(--secondary-color)!important;stroke:var(--accent-gold);stroke-width:.5}.envelope-wrapper.open .flap{transform:rotateX(180deg);z-index:1}.card-stack{position:absolute;top:15px;left:30px;width:260px;height:180px;z-index:5;transition:all .8s cubic-bezier(.68,-.55,.265,1.55);opacity:0}.envelope-wrapper.open .card-stack{opacity:1}.card{position:absolute;width:100%;height:100%;background:#fff;border:3px solid var(--accent-gold);box-shadow:var(--shadow-gold);padding:25px;box-sizing:border-box;text-align:center;display:flex;flex-direction:column;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#fff);position:relative}.card-icon-top{position:absolute;top:15px;right:15px}.card-icon-top i{font-size:1.8rem;color:var(--accent-gold);animation:spin-slow 8s linear infinite;filter:drop-shadow(0 0 10px rgba(212,175,55,.6))}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sheet-1{z-index:2;transform:rotate(-3deg)}.sheet-1 #card-title{font-family:var(--font-serif);font-size:1.4rem;color:var(--primary-color);margin-bottom:15px;font-weight:700}.sheet-1 #card-msg{font-size:.95rem;color:var(--text-color);line-height:1.6;margin-bottom:10px}.sheet-1 small{color:var(--text-light);font-style:italic}.sheet-2{background:linear-gradient(135deg,#e8eaf6,#f5f7fa);z-index:1;transform:rotate(3deg);border:3px solid var(--accent-silver);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px}.card-preview-img{width:100%;height:100%;object-fit:cover;border-radius:8px;opacity:.4}.envelope-wrapper.open .card-stack.visible{transform:translateY(-140px) scale(1.05);z-index:20;cursor:pointer}.envelope-wrapper.open .card-stack.visible:hover{transform:translateY(-140px) scale(1.1)}.content-screen{padding-bottom:40px;position:relative}.content-screen:before{content:"";position:absolute;top:0;left:0;right:0;height:180px;background:linear-gradient(180deg,rgba(27,59,134,.08) 0%,transparent 100%);pointer-events:none}.invitation-header{text-align:center;padding:50px 20px 30px;position:relative}.header-decoration{margin-bottom:20px;display:flex;justify-content:center;gap:25px}.header-decoration i{font-size:1.8rem;color:var(--accent-gold);animation:twinkle-gold 2s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(212,175,55,.7))}.header-decoration i:nth-child(2){animation-delay:.3s;font-size:2.2rem}.header-decoration i:nth-child(3){animation-delay:.6s}@keyframes twinkle-gold{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}.invitation-header h1{font-family:var(--font-serif);font-size:2.8rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:20px;text-shadow:0 2px 20px rgba(200,90,84,.3);animation:title-glow 3s ease-in-out infinite}@keyframes title-glow{0%,to{filter:drop-shadow(0 0 8px rgba(27,59,134,.5))}50%{filter:drop-shadow(0 0 20px rgba(40,80,160,.8))}}.photo-frame{position:relative;display:inline-block;padding:8px;background:linear-gradient(135deg,var(--accent-gold) 0%,var(--accent-silver) 50%,var(--accent-gold) 100%);border-radius:25px;box-shadow:var(--shadow-gold)}.hero-img{width:100%;max-width:350px;height:auto;aspect-ratio:1;object-fit:cover;border-radius:20px;margin:0 auto;display:block;box-shadow:inset 0 0 20px #0000001a;border:5px solid white;position:relative;transition:all .4s ease}.photo-frame:hover .hero-img{transform:scale(1.03)}.photo-frame:hover{box-shadow:var(--shadow-gold),0 0 30px #d4af3780}.section{padding:40px 25px;text-align:center;position:relative;margin:20px 0}.section:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80%;height:1px;background:linear-gradient(90deg,transparent,var(--accent-gold),transparent)}.quote-section{background:#fff;margin:20px 15px;border-radius:20px;box-shadow:var(--shadow-soft);border-left:5px solid var(--accent-gold);position:relative;overflow:hidden}.quote-section:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent-gold),var(--primary-color),var(--accent-gold))}.quote-icon{font-size:2.5rem;color:var(--accent-gold);opacity:.3;position:absolute;top:20px;left:20px}.quote-text{font-style:italic;color:var(--text-color);font-family:var(--font-serif);font-size:1.15rem;line-height:1.9;position:relative;padding-left:40px}.countdown-section{background:#fff;margin:20px 15px;border-radius:20px;box-shadow:var(--shadow-soft)}.countdown-section h3{color:var(--primary-color);font-family:var(--font-serif);font-size:1.8rem;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:12px}.countdown-section h3 i{color:var(--accent-gold);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.timer-grid{display:flex;justify-content:space-around;margin:30px 0;gap:10px}.timer-grid>div{display:flex;flex-direction:column;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);padding:20px 15px;border-radius:15px;box-shadow:0 4px 15px #0000001a;flex:1;transition:transform .3s ease}.timer-grid>div:hover{transform:translateY(-5px)}.timer-grid span{font-weight:700;font-size:2rem;color:var(--primary-color);font-family:var(--font-serif)}.timer-grid small{font-weight:400;font-size:.75rem;color:var(--text-light);text-transform:uppercase;margin-top:5px}.date-text{font-size:1.2rem;color:var(--text-color);margin:20px 0;font-weight:600}.calendar-widget{margin:40px auto;max-width:360px;background:#fff;border:3px solid var(--accent-gold);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft)}.calendar-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;padding:25px 20px;text-align:center;position:relative;box-shadow:0 4px 15px #1b3b864d}.calendar-icon{font-size:2.5rem;color:var(--accent-gold);margin-bottom:10px;display:block;animation:bounce-subtle 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(212,175,55,.6))}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.calendar-month{font-weight:700;font-size:1.4rem;margin-bottom:5px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.calendar-year{font-size:1rem;opacity:.95}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:linear-gradient(135deg,#e8eaf6,#f5f7fa);padding:15px 5px;gap:5px;text-align:center;font-weight:700;font-size:.85rem;color:var(--primary-color)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:15px}.calendar-day-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.95rem;color:var(--text-color);transition:all .3s ease;cursor:pointer}.calendar-day-cell:hover:not(.empty){background:var(--accent-snow);transform:scale(1.1)}.calendar-day-cell.empty{visibility:hidden}.calendar-day-cell.event-day{background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-gold) 100%);color:#fff;font-weight:700;box-shadow:var(--shadow-gold);animation:highlight-gold 2s infinite;position:relative;border:2px solid var(--accent-gold)}@keyframes highlight-gold{0%,to{transform:scale(1);box-shadow:0 4px 15px #d4af3799}50%{transform:scale(1.15);box-shadow:0 6px 25px #d4af37e6}}.calendar-day-cell.today{border:2px solid var(--secondary-color);font-weight:700}.location-section{background:#fff;margin:20px 15px;border-radius:20px;box-shadow:var(--shadow-soft);padding:40px 25px!important}.location-block{margin-bottom:40px;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);padding:30px;border-radius:15px;box-shadow:0 4px 15px #00000014}.location-block:last-child{margin-bottom:0}.location-block h3{font-family:var(--font-serif);font-size:1.6rem;color:var(--primary-color);margin-bottom:15px;display:flex;align-items:center;justify-content:center;gap:12px}.location-block h3 i{color:var(--accent-gold);filter:drop-shadow(0 0 8px rgba(212,175,55,.5))}.location-block p{color:var(--text-color);font-size:1.1rem;margin-bottom:20px;line-height:1.6}.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;text-decoration:none;border-radius:30px;margin-top:10px;font-size:1rem;font-weight:600;box-shadow:var(--shadow-soft);transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,175,55,.3),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover),0 0 20px #d4af3766;background:linear-gradient(135deg,var(--secondary-color) 0%,var(--primary-color) 100%)}.btn i{font-size:1.1rem;animation:bounce-icon 2s ease-in-out infinite}@keyframes bounce-icon{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.btn:active{transform:translateY(-1px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section{animation:fadeInUp .6s ease-out forwards}.section:nth-child(1){animation-delay:.1s}.section:nth-child(2){animation-delay:.2s}.section:nth-child(3){animation-delay:.3s}.section:nth-child(4){animation-delay:.4s}@media(max-width:420px){.invitation-header h1{font-size:2.2rem}.timer-grid span{font-size:1.5rem}.envelope-wrapper{width:280px;height:200px}}
