@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Montserrat:wght@400;500;600&family=Playfair+Display:wght@400;500;600&display=swap";*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{min-width:320px;font-family:Montserrat,sans-serif;overflow-x:hidden}button,a{font-family:inherit}.app{width:100%;min-height:100vh}.cover{background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100dvh;position:relative}.cover-overlay{background:linear-gradient(#0000,#0000000d,#00000080);justify-content:center;align-items:flex-end;padding:40px 20px 9vh;display:flex;position:absolute;inset:0}.cover-content{text-align:center;color:#fff;width:100%;max-width:500px;animation:1.2s coverAppear}.cover-small{text-shadow:0 3px 8px #00000080;margin:0 0 4px;font-family:Playfair Display,serif;font-size:17px}.cover-name{text-shadow:0 4px 12px #00000080;margin:5px 0 25px;font-family:Great Vibes,cursive;font-size:clamp(70px,18vw,110px);font-weight:400}.open-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);background:#ffffff29;border:1px solid #ffffffe6;border-radius:50px;padding:15px 38px;font-size:16px;animation:2s infinite pulse}@keyframes coverAppear{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.video-screen{background:#000;width:100%;height:100dvh;position:relative;overflow:hidden}.opening-video{object-fit:cover;width:100%;height:100%;display:block}.video-screen:after{content:"";z-index:5;pointer-events:none;background:radial-gradient(circle,#fff0,#0000001a);position:absolute;inset:0}.video-fade-out .opening-video{animation:3s forwards videoFinish}@keyframes videoFinish{0%{filter:brightness();transform:scale(1)}50%{filter:brightness(.88);transform:scale(1.02)}to{filter:brightness(.4);transform:scale(1.05)}}.confetti-layer{z-index:20;background:radial-gradient(circle,#ffffff14,#00000047);justify-content:center;align-items:center;animation:.7s forwards confettiFade;display:flex;position:absolute;inset:0;overflow:hidden}.confetti-text{z-index:30;text-align:center;color:#fff;text-shadow:0 4px 18px #0000008c;width:100%;padding:20px;animation:1.1s forwards magicText;position:relative}.little-magic{letter-spacing:2px;margin-bottom:8px;font-family:Playfair Display,serif;font-size:15px;display:block}.confetti-text h2{margin:0;font-family:Great Vibes,cursive;font-size:clamp(90px,23vw,150px);font-weight:400;line-height:1}.confetti-text p{margin:8px 0 0;font-family:Playfair Display,serif;font-size:clamp(24px,6vw,38px)}.transition-star{margin-top:18px;font-size:25px;animation:1.2s infinite starPulse}@keyframes confettiFade{0%{opacity:0}to{opacity:1}}@keyframes magicText{0%{opacity:0;transform:translateY(25px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes starPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.invitation{color:#493d34;background-position:top;background-repeat:repeat-y;background-size:cover;width:100%;min-height:100vh;animation:1.5s forwards invitationReveal}@keyframes invitationReveal{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.hero{justify-content:center;align-items:center;min-height:100dvh;padding:70px 20px;display:flex}.card{text-align:center;-webkit-backdrop-filter:blur(5px);background:#fffc;border:1px solid #ffffffe6;border-radius:35px;width:100%;max-width:620px;padding:55px 25px;box-shadow:0 15px 45px #503c281f}.small-title{margin:0;font-family:Playfair Display,serif;font-size:15px}.main-name{color:#9a7447;margin:15px 0 5px;font-family:Great Vibes,cursive;font-size:clamp(90px,23vw,145px);font-weight:400;line-height:.9}.hero-card h2{margin:15px 0 5px;font-family:Playfair Display,serif;font-size:clamp(25px,7vw,40px);font-weight:500}.birthday-date{letter-spacing:4px;color:#9a7447;margin-top:15px;font-family:Playfair Display,serif;font-size:18px}.decorative-star{color:#b88e5a;margin:25px 0;font-size:25px}.description{max-width:500px;margin:0 auto 18px;font-family:Playfair Display,serif;font-size:16px;line-height:1.9}.invite-text{color:#84633f;max-width:500px;margin:30px auto 0;font-size:17px;font-weight:600;line-height:1.8}.details{flex-wrap:wrap;justify-content:center;gap:20px;padding:20px 20px 70px;display:flex}.detail-card{text-align:center;background:#ffffffd1;border-radius:30px;width:min(100%,300px);padding:35px 25px;box-shadow:0 12px 35px #503c281f}.detail-icon{margin-bottom:15px;font-size:32px}.detail-label{letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;font-size:11px}.detail-card h3{margin:0 0 7px;font-family:Playfair Display,serif;font-size:30px;font-weight:500}.location-button{color:#fff;background:#9b784f;border-radius:50px;margin-top:20px;padding:13px 25px;text-decoration:none;display:inline-block}.gif-section{justify-content:center;width:100%;padding:30px 20px 70px;display:flex}.birthday-gif{object-fit:contain;width:min(430px,95vw);height:auto;display:block}.countdown-section{text-align:center;background:#ffffff9e;padding:70px 15px}.countdown-small{letter-spacing:4px;text-transform:uppercase;margin:0;font-size:11px}.countdown-title{color:#997348;margin:12px 0 0;font-family:Great Vibes,cursive;font-size:clamp(48px,12vw,75px);font-weight:400}.countdown{grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:720px;margin:35px auto 0;display:grid}.countdown-box{background:#ffffffe6;border-radius:22px;padding:22px 5px;box-shadow:0 10px 25px #503c281a}.countdown-box strong{color:#8d6942;font-family:Playfair Display,serif;font-size:clamp(27px,7vw,45px);font-weight:500;display:block}.countdown-box span{text-transform:uppercase;margin-top:7px;font-size:9px;display:block}.ending-section{justify-content:center;padding:30px 20px 50px;display:flex}.ending-card{text-align:center;background:#ffffffd1;border-radius:35px;width:100%;max-width:600px;padding:50px 25px;box-shadow:0 15px 40px #503c281a}.with-love{color:#987148;margin:25px 0 0;font-family:Great Vibes,cursive;font-size:42px}.ending-card h2{margin:8px 0;font-family:Playfair Display,serif;font-size:25px;font-weight:500}.ending-heart{color:#aa8052;margin-top:20px;font-size:35px;display:block}footer{text-align:center;padding:30px 20px 45px}footer a{color:#57483c;letter-spacing:2px;font-size:14px;font-weight:600;text-decoration:none}@media (width<=600px){.cover{background-position:50%}.hero{padding:55px 16px}.card{border-radius:28px;padding:45px 18px}.description{font-size:15px}.details{padding-left:16px;padding-right:16px}.detail-card{width:100%}.countdown{gap:6px}.countdown-box{border-radius:16px;padding:17px 2px}.countdown-box strong{font-size:27px}.countdown-box span{font-size:8px}.birthday-gif{width:100%}.opening-video{object-fit:cover}}
