:root{--gold:#c7a56a;--cream:#f8f3ea;--ink:#252525;--glass:rgba(17,19,22,.48);--line:rgba(199,165,106,.45)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#111;color:#fff;font-family:"Noto Naskh Arabic","Amiri","Tahoma",Arial,sans-serif}button,a,input,textarea{font:inherit}.opening{position:fixed;inset:0;z-index:1000;background:radial-gradient(circle at 50% 35%,#4b3a2d 0,#201915 45%,#080807 100%);display:grid;place-items:center;overflow:hidden;transition:opacity .9s ease,visibility .9s}.opening.opened{opacity:0;visibility:hidden;pointer-events:none}.door-frame{width:min(88vw,430px);height:min(88vh,720px);position:relative;perspective:1200px;filter:drop-shadow(0 30px 45px rgba(0,0,0,.7))}.door{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#26170f,#6b452b 45%,#321f14);border:5px solid #9d7447;box-shadow:inset 0 0 0 4px #2b190f,inset 0 0 35px #120b07;transition:transform 1.6s cubic-bezier(.7,0,.2,1)}.door-left{left:0;transform-origin:left center;border-radius:20px 3px 3px 20px}.door-right{right:0;transform-origin:right center;border-radius:3px 20px 20px 3px}.door-frame.open .door-left{transform:rotateY(-105deg)}.door-frame.open .door-right{transform:rotateY(105deg)}.door-panel{position:absolute;left:12%;right:12%;border:2px solid rgba(202,160,102,.65);border-radius:12px;box-shadow:inset 0 0 18px rgba(0,0,0,.45)}.panel-top{top:9%;height:30%}.panel-mid{top:43%;height:22%}.panel-bottom{top:69%;height:21%}.ornament{position:absolute;top:48%;font-size:42px;color:#d6b57d;left:50%;transform:translate(-50%,-50%);opacity:.7}.door-glow{position:absolute;inset:7% 28%;background:radial-gradient(circle,#f5e7c7 0,rgba(245,231,199,.2) 28%,transparent 70%);opacity:.12}.seal{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:135px;height:135px;border-radius:50%;border:3px solid #d9b779;background:radial-gradient(circle at 35% 25%,#f5dfb0,#9f723f 42%,#5b3822 75%);box-shadow:0 0 0 7px rgba(214,178,119,.18),0 12px 35px rgba(0,0,0,.6);color:#fff;cursor:pointer;transition:transform .35s}.seal:hover{transform:translate(-50%,-50%) scale(1.04)}.seal-ring{display:block;border:1px solid rgba(255,255,255,.65);border-radius:50%;padding:25px 12px;line-height:1.05;font-size:22px;text-shadow:0 2px 3px #402719}.seal-ring small{font-size:14px;color:#f6dba6}.couple-line{position:absolute;bottom:9%;left:50%;transform:translateX(-50%);color:#e1c38c;display:flex;gap:24px;font-size:22px}.heart{font-size:30px}.open-hint{position:absolute;bottom:2%;left:0;right:0;text-align:center;font-size:13px;color:#ead7b5;opacity:.8}.invitation{position:relative;min-height:100vh;overflow:hidden;isolation:isolate}.invitation[aria-hidden="true"]{visibility:hidden}.bg-layer,.bg-overlay{position:fixed;inset:-24px;z-index:-2;background-image:url('assets/background.jpg');background-size:cover;background-position:center top;filter:blur(5px);transform:scale(1.04)}.bg-overlay{z-index:-1;background:linear-gradient(to bottom,rgba(8,10,12,.5),rgba(8,10,12,.7) 40%,rgba(8,10,12,.78));filter:none}.content{width:min(100%,680px);margin:auto;padding:28px 16px 80px}.section-card{margin:0 auto 24px;padding:28px 20px;border:1px solid var(--line);border-radius:24px;background:rgba(18,20,22,.48);backdrop-filter:blur(5px);box-shadow:0 14px 40px rgba(0,0,0,.2)}.hero{text-align:center;padding-top:46px}.flourish{color:var(--gold);opacity:.85;font-size:14px}.hero h1{margin:10px 0 14px;font-size:clamp(44px,12vw,74px);font-weight:500;line-height:1.15;text-shadow:0 4px 20px #000}.hero h1 span{color:var(--gold);font-family:serif;font-size:.7em}.heart-rule{color:var(--gold);font-size:28px}.ayah{font-size:clamp(19px,4.5vw,25px);line-height:2.05;margin:8px auto 0}.surah{color:#dfc08a;margin:4px 0 30px}.hero p{font-size:18px;line-height:2.05;margin:10px auto;max-width:590px}.invite-title{font-size:22px!important}.date-section{text-align:center}.date-week,.date-month{color:var(--gold);font-size:26px;font-weight:600}.date-day{font-family:Georgia,serif;font-size:110px;line-height:.9;margin:8px 0}.date-year{font-family:Georgia,serif;font-size:52px;margin-bottom:25px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.countdown>div{border:1px solid rgba(255,255,255,.18);border-radius:15px;padding:11px 5px;background:rgba(0,0,0,.18)}.countdown strong{display:block;font-family:Georgia,serif;font-size:26px}.countdown span{display:block;font-size:12px;color:#ddd;margin-top:4px}.venue{text-align:center}.mini-icon{font-size:28px;color:var(--gold)}h2{margin:5px 0 8px;font-size:28px;font-weight:500}.venue p{font-size:18px;margin:0 0 18px}.map-btn{display:inline-block;text-decoration:none;color:#fff;border:1px solid var(--gold);padding:11px 18px;border-radius:999px;background:rgba(199,165,106,.12);transition:.25s}.map-btn:hover{background:rgba(199,165,106,.25)}.section-title{text-align:center;color:var(--gold);font-size:24px;margin-bottom:18px}.gallery-grid{display:flex;flex-direction:column;gap:16px}.gallery figure{margin:0;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.18);box-shadow:0 15px 30px rgba(0,0,0,.28)}.gallery img{display:block;width:100%;height:auto}.message{text-align:center;font-size:20px;line-height:2.1}.heart-big{font-size:52px;color:var(--gold)}.names-end{color:var(--gold);font-size:24px;margin-top:16px}.rsvp{text-align:center}.subtle{opacity:.82;margin:0 0 18px}.rsvp-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.rsvp-btn,.send-btn{border:0;border-radius:999px;padding:12px 22px;cursor:pointer;transition:transform .2s,filter .2s}.rsvp-btn:hover,.send-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.yes{background:#f1f1ed;color:#333}.no{background:#493c3c;color:#fff}.guest-message h2 span{font-size:15px;opacity:.7}.guest-message textarea,.guest-message input{display:block;width:100%;margin:10px 0;padding:13px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.2);color:#fff;outline:none}.guest-message textarea:focus,.guest-message input:focus{border-color:var(--gold)}.guest-message textarea::placeholder,.guest-message input::placeholder{color:#ddd;opacity:.75}.send-btn{width:100%;background:var(--gold);color:#241b12;font-weight:700}.status{min-height:24px;margin-top:12px;font-size:14px;color:#f2d39b}.floating-actions{position:fixed;z-index:20;bottom:max(18px,env(safe-area-inset-bottom));left:18px;display:flex;gap:10px;direction:ltr}.float-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(20,20,20,.5);backdrop-filter:blur(8px);color:#fff;text-decoration:none;display:grid;place-items:center;cursor:pointer;font-size:23px;box-shadow:0 8px 22px rgba(0,0,0,.3)}.save-btn{font-size:18px}.footer{text-align:center;padding:34px 20px}.by{font-size:14px;letter-spacing:2px}.signature{font-family:"Brush Script MT","Segoe Script",cursive;font-size:38px;color:#e0c18b;margin:2px 0 12px}.love{color:#e0c18b;font-size:17px}.toast{position:fixed;z-index:50;top:18px;left:50%;transform:translateX(-50%);background:rgba(15,15,15,.9);border:1px solid var(--gold);padding:10px 16px;border-radius:999px;font-size:14px;box-shadow:0 8px 30px rgba(0,0,0,.3)}@media (max-width:520px){.content{padding:14px 10px 82px}.section-card{padding:23px 15px;border-radius:20px}.hero{padding-top:34px}.hero p{font-size:16px}.ayah{font-size:18px}.date-day{font-size:94px}.date-year{font-size:44px}.countdown strong{font-size:22px}.float-btn{width:45px;height:45px}}
