@import "https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap";
@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&display=swap";
:root{--paper:#f7f1ea;--rose:#e4c9b8;--gold:#cda38b;--brown:#9f7964}img{content-visibility:auto}.photo-img{animation:.6s ease-in-out fadeInImage}@keyframes fadeInImage{0%{opacity:.8;filter:blur(2px)}to{opacity:1;filter:blur()}}.invitation-container{background-image:url(../media/template-base.5b637c9a.png);background-position:50%;background-repeat:repeat;background-size:cover;background-attachment:scroll;justify-content:center;align-items:flex-start;width:100%;min-height:100vh;display:flex}.invitation-page{-webkit-overflow-scrolling:touch;background-color:#0000;justify-content:center;align-items:flex-start;width:100%;min-height:100vh;padding:22px 14px;display:flex;position:relative;overflow:hidden auto}html,body{overflow-x:hidden}body{overflow-y:auto}.floating-layer{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.floating-flower{filter:blur(.1px);position:absolute}.invitation-shell{z-index:2;flex-direction:column;align-items:center;width:100%;max-width:820px;margin:0 auto;display:flex}.invitation-paper{background-position:top;background-repeat:no-repeat;background-size:100% 100%;border:none;border-radius:16px;outline:none;width:100%;padding:52px 36px;box-shadow:0 18px 50px #0000001a}.greeting{text-align:center;margin-bottom:26px;top:6%}.border-initial{width:100%;max-width:700px;height:auto;margin:0 auto 10px;display:block}.border-final{width:100%;max-width:700px;height:auto;margin:20px auto 0;display:block}.greeting-wrapper{text-align:center;width:100%;margin-bottom:20px;position:relative;top:15px;left:0}.greeting-small{color:var(--brown);letter-spacing:1px;text-align:center;font-family:Great Vibes,cursive;font-size:30px;display:block}.family-name{color:var(--brown);text-align:center;margin:8px auto 6px;font-family:Great Vibes,cursive;font-size:45px;font-weight:400}.greeting-line{color:var(--brown);opacity:.9;text-align:center;margin:0 auto 16px;font-family:Great Vibes,cursive;font-size:30px}@media (max-width:768px){.greeting-wrapper{top:20px}.greeting-small{font-size:25px}.family-name{font-size:40px}.greeting-line{font-size:26px}}@media (max-width:480px){.greeting-wrapper{top:10px}.greeting-small{font-size:25px}.family-name{font-size:30px}.greeting-line{font-size:25px}}.scroll-animate{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(30px)}.scroll-animate.animate-in{opacity:1;transform:translateY(0)}.scroll-animate.animate-out{opacity:0;transform:translateY(-20px)}.scroll-fade-up{opacity:0;transition:opacity .7s ease-out,transform .7s ease-out;transform:translateY(40px)}.scroll-fade-up.animate-in{opacity:1;transform:translateY(0)}.scroll-fade-left{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translate(-40px)}.scroll-fade-left.animate-in{opacity:1;transform:translate(0)}.scroll-fade-right{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translate(40px)}.scroll-fade-right.animate-in{opacity:1;transform:translate(0)}.scroll-scale{opacity:0;transition:opacity .5s ease-out,transform .5s ease-out;transform:scale(.9)}.scroll-scale.animate-in{opacity:1;transform:scale(1)}.title-image{width:min(5000px,100%);height:auto;margin:0 auto 10px;display:block;position:relative;top:10px}@media (max-width:768px){.title-image{width:min(600px,100%);margin:0 auto 8px;top:20px}}@media (max-width:480px){.title-image{width:min(500px,100%);margin:0 auto 6px;top:15px}}@media (max-width:375px){.title-image{width:min(500px,100%);margin:0 auto 4px;top:20px}}.we-are-getting-married{color:var(--brown);text-align:center;margin:10px 0;font-family:Great Vibes,cursive;font-size:100px}.initials{color:var(--gold);letter-spacing:10px;text-align:center;margin:6px 0 10px;font-family:Playfair Display,serif;font-size:42px;font-weight:700}.names{color:var(--brown);text-align:center;margin:0 0 10px;font-family:Playfair Display,serif;font-size:34px;font-weight:700}.intro{color:var(--brown);text-align:center;margin:10px 100px;font-family:Playfair Display,serif;font-size:14px;line-height:1.6}.photo-block{perspective:1000px;justify-content:center;margin:0 0 20px;display:flex}@media (max-width:768px){.photo-block{margin:20px 0 30px}}@media (max-width:480px){.photo-block{margin:70px 0 40px}}@media (max-width:375px){.photo-block{margin:80px 0 50px}}.photo-frame{aspect-ratio:4/5;width:min(420px,100%);transform-style:preserve-3d;border-radius:12px;transition:transform 5s,box-shadow 5s;position:relative;overflow:hidden;box-shadow:0 18px 38px #0000001f}.photo-frame:hover{transform:rotateY(2deg)rotateX(1deg)scale(1.02);box-shadow:0 25px 50px #9f796440}.photo-img{object-fit:cover;object-position:center 30%;border-radius:12px;width:100%;height:100%;transition:transform 8s ease-out;animation:20s ease-in-out infinite alternate kenBurns;display:block}@media (max-width:768px){.photo-frame{width:min(350px,90%);margin:0 auto}}@media (max-width:480px){.photo-frame{width:min(300px,85%);margin:0 auto}}@keyframes kenBurns{0%{transform:scale(1)translate(0)}to{transform:scale(1.08)translate(-1%,-1%)}}.photo-frame:after{content:"";pointer-events:none;z-index:5;background:linear-gradient(45deg,#0000 40%,#ffffff26 50%,#0000 60%);width:200%;height:200%;animation:6s ease-in-out infinite photoShine;position:absolute;top:-50%;left:-50%;transform:translate(-100%)rotate(45deg)}@keyframes photoShine{0%,to{transform:translate(-100%)rotate(45deg)}50%{transform:translate(100%)rotate(45deg)}}.photo-frame:before{content:"";z-index:-1;background:linear-gradient(135deg,#cda38b66,#e4c9b833,#cda38b66);border-radius:14px;animation:4s ease-in-out infinite alternate goldenGlow;position:absolute;inset:-2px}@keyframes goldenGlow{0%{opacity:.5;filter:blur(8px)}to{opacity:.8;filter:blur(12px)}}.carousel-indicators{z-index:10;gap:10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.carousel-dot{cursor:pointer;background:0 0;border:2px solid #fffc;border-radius:50%;width:10px;height:10px;transition:all .3s;box-shadow:0 2px 8px #0003}.carousel-dot:hover{background:#ffffff80;transform:scale(1.2)}.carousel-dot.active{background:#ffffffe6;transform:scale(1.1);box-shadow:0 2px 12px #cda38b99}.photo-fade-border{pointer-events:none;filter:blur(.2px);border-radius:12px;position:absolute;inset:0;box-shadow:inset 0 0 0 12px #f7f1eae6,inset 0 0 30px #e4c9b88c,0 0 0 1px #cda38b59}.photo-inner-frame{pointer-events:none;border:none;border-radius:10px;position:absolute;inset:14px}.date-block{text-align:center;margin:16px 0 20px}.date{color:var(--brown);margin:10px 0;font-family:Playfair Display,serif;font-size:22px;font-weight:600}.divider{background:linear-gradient(90deg,#0000,#9f7964e6,#0000);width:86px;height:2px;margin:12px auto;position:relative}.divider:before,.divider:after{content:"✦";color:#9f7964f2;font-size:11px;position:absolute;top:50%;transform:translateY(-50%)}.divider:before{left:-18px}.divider:after{right:-18px}.section{margin:22px 0;padding:18px 0}.section-bordered{border-top:none;border-bottom:none}.section-title{text-transform:none;letter-spacing:1px;color:var(--brown);text-align:center;margin:20px 0 14px;font-family:Great Vibes,cursive;font-size:32px;font-weight:400}.section-icon{opacity:.85;width:100px;height:auto;margin:0 auto 10px;display:block}.location-venue{color:#9f7964e6;text-align:center;margin:10px 20px;font-family:Playfair Display,serif;font-size:15px;font-weight:600}.location-icon{opacity:.85;width:80px;height:auto;margin:10px auto 16px;display:block}.btn-location{letter-spacing:.5px;cursor:pointer;color:var(--brown);background:0 0;border:2px solid #9f7964c9;border-radius:12px;padding:12px 24px;font-family:Playfair Display,serif;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-location:hover{border-color:var(--brown);color:#422c20;background:#fcb8b8b6;transform:scale(1.02)}.parents-grid{grid-template-columns:1fr auto 1fr;place-items:center;gap:18px;display:grid}.parents-icon{opacity:.8;align-self:center;width:100px;height:auto}.parents-col{text-align:center}.parents-label{color:#9f7964e6;margin:0 0 10px;font-family:Playfair Display,serif;font-size:15px;font-weight:600}.parents-name{color:var(--brown);margin:0;font-family:Playfair Display,serif;font-size:15px;line-height:1.55}.cards-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.info-card{background:#ffffff8c;border:none;border-radius:12px;padding:14px;box-shadow:0 10px 24px #0000000f}.card-head{justify-content:center;align-items:center;gap:10px;margin-bottom:8px;display:flex}.card-icon{opacity:.92;width:22px;height:22px}.card-title{text-transform:uppercase;letter-spacing:1px;color:var(--brown);margin:0;font-family:Playfair Display,serif;font-size:12px;font-weight:600}.card-big{color:var(--brown);text-align:center;margin:8px 0;font-family:Playfair Display,serif;font-size:16px;font-weight:600}.card-soft{color:#9f7964eb;text-align:center;margin:0;font-family:Playfair Display,serif;font-size:12px;line-height:1.5}.btn-link{text-align:center;color:var(--brown);border-bottom:1px solid #9f796473;width:fit-content;margin-top:10px;margin-left:auto;margin-right:auto;padding-bottom:2px;font-family:Playfair Display,serif;font-size:12px;font-weight:600;text-decoration:none;display:block}.footnotes{text-align:center;margin-top:14px}.footnote{color:#9f7964eb;margin:6px 0 0;font-family:Playfair Display,serif;font-size:12px}.schedule-icon{order:1;width:120px;margin:10px auto}.timeline{border-collapse:separate;border-spacing:0 8px;text-align:center;background:#fff0;border-radius:12px;margin:10px auto;padding:16px 24px;display:table}.timeline-row{display:table-row}.time{color:var(--gold);text-align:right;vertical-align:middle;border-right:1px solid #9f796440;padding:8px 20px 8px 0;font-family:Playfair Display,serif;font-size:14px;font-weight:700;display:table-cell}.label{color:var(--brown);text-align:left;vertical-align:middle;padding:8px 0 8px 20px;font-family:Great Vibes,cursive;font-size:20px;display:table-cell}.music-icon{opacity:.85;width:80px;height:auto;margin:10px auto 16px;display:block}.music-message{color:#9f7964e6;text-align:center;margin:0 20px 16px;font-family:Playfair Display,serif;font-size:14px;line-height:1.5}.dresscode-text{color:var(--brown);text-align:center;text-transform:uppercase;letter-spacing:2px;margin:0 0 12px;font-family:Playfair Display,serif;font-size:22px;font-weight:600}.dresscode-icon{opacity:.9;width:90px;height:auto;margin:0 auto 30px;display:block}.calendar-wrap{justify-content:center;margin-top:10px;display:flex}.calendar-card{border:none;width:min(520px,50%);height:auto;transition:transform .3s;animation:4s ease-in-out infinite calendarFloat}.calendar-card:hover{transform:scale(1.02)}.event-time-icon{opacity:.85;width:60px;height:auto;margin:0 auto;display:block}.event-time-label{color:var(--brown);text-align:center;margin:0;font-family:Great Vibes,cursive;font-size:24px}.event-time-hour{color:var(--gold);text-align:center;margin:0 0 20px;font-family:Playfair Display,serif;font-size:20px;font-weight:600}@keyframes calendarFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width:768px){.calendar-card{width:min(450px,95%)}}@media (max-width:480px){.calendar-card{width:min(350px,90%)}}@media (max-width:375px){.calendar-card{width:min(300px,85%)}}.rsvp-text{color:#9f7964eb;text-align:center;margin:0 0 14px;font-family:Playfair Display,serif;font-size:13px;line-height:1.6}.rsvp-quote{color:var(--brown);font-weight:600}.rsvp-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.btn-primary,.btn-secondary{letter-spacing:.5px;cursor:pointer;text-transform:uppercase;border:1px solid #cda38b99;border-radius:12px;padding:12px 18px;font-family:Playfair Display,serif;font-size:12px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}.btn-primary{color:#fff;background:linear-gradient(135deg,#cda38be6,#9f7964d9);box-shadow:0 10px 18px #9f796429}.btn-primary:hover{transform:translateY(-1px)}.btn-rsvp{cursor:pointer;color:#330b0b88;width:200px;height:45px;box-shadow:none;background:url(../media/rsvConfirmButton.c9e1c2e1.png) 50%/cover no-repeat;border:none;border-radius:15px;justify-content:center;align-items:center;padding:14px 28px;font-family:Great Vibes,cursive;font-size:23.5px;font-weight:700;transition:transform .2s,opacity .2s;display:flex;box-shadow:0 8px 15px -3px #3f2b1fab}.btn-rsvp:hover{opacity:.9;transform:translateY(-2px)scale(1.02)}.btn-secondary{color:var(--brown);background:#ffffff8c}.btn-secondary:hover{transform:translateY(-1px)}.btn-reject{cursor:pointer;color:#7e5f4ee6;letter-spacing:.5px;text-transform:uppercase;background:#cda38b76;border:none;border-radius:12px;padding:12px 18px;font-family:Playfair Display,serif;font-size:14px;font-weight:600;transition:all .3s}.btn-reject:hover{color:var(--brown);background:#cda38b76;transform:translateY(-1px)}.policies-title{color:var(--brown);text-align:center;margin:30px 0 16px;font-family:Great Vibes,cursive;font-size:28px;font-weight:400}.policy-item{color:#4c392fe6;text-align:center;background:#ffffff59;border-left:3px solid #cda38b99;border-radius:8px;margin:8px 20px;padding:8px 16px;font-family:Playfair Display,serif;font-size:13px;line-height:1.5}.closing{text-align:center;color:var(--brown);margin:30px 0 0;font-family:Great Vibes,cursive;font-size:26px}.modal-backdrop{z-index:99999;background:#281c18b3;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translateZ(0)}.modal-card{background-color:#f7f1ea;background-image:url(../media/background-floral-vintage.acd20939.png);background-position:50%;background-repeat:no-repeat;background-size:cover;border:none;border-radius:16px;outline:none;width:min(540px,95vw);max-height:85vh;padding:24px 20px;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0000004d}.modal-policies{background:#ffffff80;border-left:3px solid #cda38b99;border-radius:12px;margin:14px 0;padding:14px 16px}.modal-policies-title{color:#3d2817;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-family:Playfair Display,serif;font-size:14px;font-weight:700}.modal-policy-item{color:#3d2817;margin:6px 0;font-family:Playfair Display,serif;font-size:12px;font-weight:500;line-height:1.4}.modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-title-wrap{align-items:center;gap:10px;display:flex}.modal-icon{width:22px;height:22px}.modal-title{color:#3d2817;letter-spacing:1px;text-transform:uppercase;margin:0;font-family:Playfair Display,serif;font-size:14px;font-weight:700}.modal-close{cursor:pointer;color:#9f7964e6;background:0 0;border:none;font-size:18px}.modal-message{color:#4a3728;margin:10px 0 14px;font-family:Playfair Display,serif;font-size:13px;font-weight:500;line-height:1.6}.modal-list{gap:10px;display:grid}.member-row{cursor:pointer;text-align:left;background:#ffffff8c;border:none;border-radius:12px;align-items:center;gap:10px;width:100%;padding:12px;display:flex}.member-row.checked{background:#e4c9b859;border-color:#0000}.member-check{width:18px;height:18px;color:var(--brown);border:none;border-radius:6px;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:12px;font-weight:800;display:inline-flex}.member-name{color:var(--brown);font-family:Playfair Display,serif;font-size:13px;font-weight:600}.modal-notes{background:#e4c9b826;border-radius:8px;margin-top:20px;padding:12px}.notes-label{color:#3d2817;margin-bottom:8px;font-family:Playfair Display,serif;font-size:14px;font-weight:700;display:block}.notes-input{border:1px solid var(--gold);width:100%;color:var(--brown);resize:vertical;background:#fffc;border-radius:6px;padding:10px;font-family:Playfair Display,serif;font-size:13px}.notes-input::placeholder{color:#9f796499}.notes-input:focus{border-color:var(--brown);background:#fffffff2;outline:none}.modal-footnotes{margin-top:12px}.modal-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;margin-bottom:14px;padding:6px 16px;font-family:Playfair Display,serif;font-size:12px;font-weight:600;display:inline-block}.modal-status-badge.pending{color:var(--brown);background:#e4c9b84d;border:1px solid #cda38b80}.modal-status-badge.accepted{color:#2d5016;background:#90ee9033;border:1px solid #90ee9080}.modal-status-badge.rejected{color:#8b3a3a;background:#ffb6c133;border:1px solid #ffb6c180}.modal-actions{flex-direction:column;gap:10px;width:100%;margin-top:14px;display:flex}.modal-actions button{text-align:center;width:100%;line-height:normal}.modal-hint{color:#9f7964cc;margin:10px 0 0;font-family:Playfair Display,serif;font-size:11px}@media (max-width:768px){.modal-card{width:min(95vw,540px);padding:20px 16px}.modal-actions{flex-direction:column!important;align-items:stretch!important;gap:12px!important;display:flex!important}.modal-actions button{flex:1;width:100%!important}}@media (max-width:720px){.invitation-paper{outline-offset:-10px;border-radius:14px;padding:42px 22px}.modal-actions{flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:12px!important;display:flex!important}.modal-actions button{width:100%!important;padding:12px 16px!important}.parents-grid{grid-template-columns:1fr;align-items:center;gap:10px}.parents-icon{order:1;width:120px;height:120px;margin:10px auto!important}.parents-col:first-child{order:0}.parents-col:last-child{order:2}.cards-grid{grid-template-columns:1fr}.names{font-size:28px}.initials{letter-spacing:8px;font-size:34px}}@media (max-width:480px){.modal-actions{flex-direction:column!important;align-items:stretch!important;gap:12px!important;width:100%!important;display:flex!important}.modal-actions button{width:100%!important;padding:12px 16px!important;font-size:14px!important}.parents-icon{width:100px;height:100px;margin:8px auto!important}.invitation-page{padding:16px 10px}.invitation-paper{outline-offset:-8px;padding:34px 16px}.family-name{font-size:22px}.date{font-size:18px}.label{font-size:16px}}@media (max-width:420px){.invitation-page{padding:16px 10px}.invitation-paper{outline-offset:-8px;padding:34px 16px}.family-name{font-size:22px}.date{font-size:18px}.label{font-size:16px}.modal-actions{flex-direction:column!important;align-items:stretch!important;gap:12px!important;display:flex!important}.modal-actions button{width:100%!important}}.loading-spinner{border:2px solid #d4c5b9;border-top-color:#6b5344;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rsvp-confirmation-section{border-top:2px solid #cda38b66;margin-top:1.8rem;padding-top:1.8rem}.rsvp-confirmation-message{text-align:center;color:#42342cec;letter-spacing:.2px;margin-bottom:1.2rem;font-family:Playfair Display,serif;font-size:14px;font-weight:500;line-height:1.8}.rsvp-bank-info{text-align:center;color:#34251de6;letter-spacing:.3px;background:#e4c9b814;border-radius:8px;margin-top:1rem;padding:1rem;font-family:Playfair Display,serif;font-size:13px;font-weight:600;line-height:2}button:disabled{opacity:.7;cursor:not-allowed}button:disabled:hover{background-color:inherit}
.vr-music.bgm-overlay{z-index:1200;-webkit-backdrop-filter:blur(6px)saturate(.9);background:radial-gradient(120% 90% at 50% 40%,#5c302a6b 0%,#341916b8 100%);padding:16px}.vr-music .bgm-card{background:radial-gradient(80% 60% at 50% 0,#fffcfae6,#0000 70%),linear-gradient(160deg,#f8efe9 0%,#f1e2d9 55%,#e9d5ca 100%);border:1px solid #8c463f47;border-radius:6px;width:100%;max-width:380px;padding:38px 32px 32px;position:relative;box-shadow:0 30px 70px -25px #381a16bf,inset 0 0 0 1px #ffffff80}.vr-music .bgm-card:before{content:"";pointer-events:none;border:1px solid #8c463f38;border-radius:3px;position:absolute;inset:9px}.vr-music .bgm-icon{opacity:.9;width:54px;height:auto;margin:0 auto 14px;display:block}.vr-music .bgm-icon-fallback{margin-bottom:12px;font-size:34px}.vr-music .bgm-title{color:#7d3c36;margin:0 0 10px;font-family:Great Vibes,cursive;font-size:38px;font-weight:400;line-height:1.15}.vr-music .bgm-rule{background:linear-gradient(90deg,#0000,#8c463f73,#0000) 50%/100% 1px no-repeat;width:132px;height:9px;margin:0 auto 16px;display:block;position:relative}.vr-music .bgm-rule:after{content:"";background:#b0564e;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.vr-music .bgm-message{color:#6b4a45;margin:0 0 26px;font-family:Times New Roman,Georgia,serif;font-size:16px;line-height:1.65}.vr-music .bgm-actions{flex-direction:column;gap:11px;display:flex}.vr-music .bgm-btn{letter-spacing:.06em;cursor:pointer;border-radius:4px;width:100%;padding:13px 20px;font-family:Times New Roman,Georgia,serif;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .2s,background-color .2s}.vr-music .bgm-btn:active{transform:scale(.98)}.vr-music .bgm-btn-primary{color:#fff;background:linear-gradient(#b0564e,#97403a);border:none;box-shadow:0 8px 18px -8px #57211cd9,inset 0 1px #ffffff47}.vr-music .bgm-btn-primary:hover{background:linear-gradient(#ba5f57,#8c463f)}.vr-music .bgm-btn-ghost{color:#7d3c36;background:0 0;border:1px solid #8c463f66}.vr-music .bgm-btn-ghost:hover{background:#8c463f14}.vr-music.bgm-controls{z-index:1100}.vr-music .bgm-controls-tray{-webkit-backdrop-filter:blur(8px);background:linear-gradient(160deg,#f8efe9f0,#e9d5caf0);border:1px solid #8c463f40;border-radius:999px;gap:8px;padding:9px;display:flex;box-shadow:0 10px 26px -12px #381a16a6}.vr-music .bgm-ctrl{color:#fdf6f2;cursor:pointer;background:linear-gradient(#b0564e,#97403a);border:1px solid #8c463f4d;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .2s,box-shadow .2s;display:flex;box-shadow:inset 0 1px #ffffff40}.vr-music .bgm-ctrl:hover{background:linear-gradient(#ba5f57,#8c463f)}.vr-music .bgm-pulse{border:2px solid #b0564e}@media (max-width:480px){.vr-music .bgm-card{padding:32px 24px 26px}.vr-music .bgm-title{font-size:32px}.vr-music .bgm-message{font-size:15px}}.vr-page{background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.vr-page.vr-reveal{background-attachment:scroll;justify-content:flex-start;align-items:flex-start;height:auto;min-height:100vh;overflow:hidden auto}.vr-family-name{color:#8c463f;letter-spacing:1px;text-align:center;z-index:50;text-shadow:1px 1px 2px #ffffff4d;margin:0;font-family:Great Vibes,cursive;font-size:65px;font-weight:400;position:absolute;top:80px}.vr-layer{aspect-ratio:13/9;perspective:1200px;opacity:1;background-position:50%;background-repeat:no-repeat;background-size:contain;justify-content:center;align-items:center;width:90%;max-width:1000px;transition:opacity .3s;display:flex;position:relative}.vr-layer-open{opacity:0;pointer-events:none}.vr-img{width:auto;max-width:100%;height:auto;max-height:100%}.vr-flap{transform-origin:top;width:900px;max-width:100%;height:250px;max-height:90%;transform-style:preserve-3d;position:absolute}.vr-pocket{z-index:5;width:auto;max-width:100%;height:auto;max-height:100%;position:absolute}.vr-seal{cursor:pointer;width:190px;position:absolute;top:38%;left:41%;transform:translate(-50%,-50%)scale(1)}.vr-pin-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;z-index:1000;background:#f2e4dffa;border-radius:12px;min-width:320px;padding:20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #0000004d}.vr-pin-card h2{color:#8c463f;margin-bottom:20px;font-family:Times New Roman,serif;font-size:24px}.vr-pin-input{text-align:center;letter-spacing:10px;color:#8c463f;border:2px solid #e0968f;border-radius:8px;width:100%;margin-bottom:20px;padding:12px;font-size:25px;font-weight:700}.vr-pin-input::placeholder{color:#d98484}.vr-pin-input:focus{border-color:#d98484;outline:none;box-shadow:0 0 0 3px #d984841a}.vr-pin-label-image{color:#8c463f;z-index:114;white-space:nowrap;text-align:center;margin:0;font-family:Great Vibes,cursive;font-size:32px;font-weight:400;position:fixed;top:28%;left:36%;transform:translate(-50%,-50%)}@media (max-width:1018px) and (min-width:551px){.vr-pin-label-image{font-size:26px;top:28%;left:35%}}@media (max-width:768px){.vr-pin-label-image{font-size:20px;top:28%;left:33%}}.vr-pin-input-container{z-index:115;flex-direction:column;justify-content:center;align-items:center;gap:0;width:min(500px,75%);display:flex;position:fixed;top:36%;left:24%;transform:translate(-50%,-50%)}@media (max-width:1018px) and (min-width:551px){.vr-pin-input-container{width:300px;top:37%;left:29%}}@media (max-width:768px){.vr-pin-input-container{width:55%;max-width:280px;top:39%}}.vr-pin-wrapper{flex-direction:column;justify-content:center;align-items:center;gap:10px;width:40%;display:flex}@media (max-width:768px){.vr-pin-wrapper{flex-direction:column;gap:10px}}.vr-pin-input-small{text-align:center;letter-spacing:6px;color:#cf8b85b8;cursor:text;z-index:20;pointer-events:auto;background:0 0;border:2px solid #a7626274;border-radius:6px;width:90%;max-width:170px;height:20%;max-height:90px;padding:8px 10px;font-family:Great Vibes,cursive;font-size:12px;font-weight:700;transition:background-color .2s;position:relative;top:4px;left:-10px}@media (max-width:768px){.vr-pin-input-small{max-width:150px;padding:6px 8px;font-size:12px}}.vr-pin-submit-btn{color:#a55b5b;text-align:center;cursor:pointer;z-index:120;pointer-events:auto;background-image:url(../media/textute_ping_button.5d16135e.png);background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-radius:8px;width:100%;max-width:140px;max-height:50px;padding:6px 10px;font-family:Times New Roman,serif;font-size:16px;font-weight:700;transition:opacity .2s,transform .1s;position:relative;top:15px;left:-11px;box-shadow:0 4px 5px 3px #68080859}@media (max-width:768px){.vr-pin-submit-btn{max-width:100px;padding:5px 8px;font-size:11px;top:15px;left:-11px}}.vr-pin-submit-btn:hover{opacity:.9}.vr-pin-submit-btn:active{transform:scale(.95)}.vr-pin-input-small::placeholder{color:#d98484}.vr-pin-input-small:focus{background:#ffffff68;border-color:#9b4e4764;outline:none;box-shadow:0 0 0 2px #8c463f26}.vr-error-small{color:#d98484;text-align:center;margin-top:10px;font-size:12px;animation:.5s ease-in-out shake}.vr-error{color:#d98484;margin-bottom:15px;font-size:14px;animation:.5s ease-in-out shake}.vr-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#d98484,#e0968f);border:none;border-radius:8px;width:100%;padding:12px 20px;font-family:Times New Roman,serif;font-size:16px;font-weight:700;transition:opacity .2s}.vr-btn:hover{opacity:.9}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (max-width:375px){*{box-sizing:border-box}.vr-page{width:100%;min-width:375px;height:100%;min-height:100vh}.vr-layer{aspect-ratio:13/9;width:90%;max-width:100%}.vr-family-name{letter-spacing:0;font-size:28px;top:20px}.vr-seal{width:100px;height:100px;top:45%!important;left:50%!important;transform:translate(-50%,-50%)scale(1)!important}.vr-pin-input-container{z-index:15;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.vr-pin-input-small{letter-spacing:6px;width:160px;padding:12px 15px;font-size:16px}.vr-pin-card{min-width:280px;padding:20px}.vr-pin-input{letter-spacing:8px;font-size:24px}}@media (max-width:768px){.vr-page{background-position:50%;background-size:cover;background-image:url(../media/background-floral-vintage.acd20939.png)!important}.vr-layer{aspect-ratio:13/9;width:95%;max-width:600px}.vr-family-name{letter-spacing:0;font-size:45px;top:20%}.vr-seal{width:125px;height:160px;top:55%!important;left:50%!important;transform:translate(-50%,-50%)scale(1)!important}.vr-flap{width:100%;height:auto;top:-20px!important}.vr-pin-card{min-width:280px;padding:20px}.vr-pin-input{letter-spacing:8px;font-size:24px}}
