:root{--bg-base:#f8fbff;--bg-blue:#bde0fe;--bg-pink:#fcd5ce;--card-bg:#ffffffc7;--card-border:#a2c9ea59;--blue-light:#d0e1f9;--blue-mid:#76a5af;--blue-deep:#3b6e8c;--blue-accent:#4a82b8;--pink-light:#f8edeb;--pink-mid:#f4acb7;--pink-deep:#ca7185;--leaf-green:#5a784c;--leaf-soft:#8aa37b;--gold:#d4bd8a;--gold-light:#f3ebd9;--gold-deep:#9a814d;--text-main:#2b3a4a;--text-soft:#546a7b;--text-muted:#8da1b1;--white:#fff;--font-arabic:"Amiri", serif;--font-display:"Playfair Display", "Cormorant Garamond", serif;--font-serif:"Cormorant Garamond", serif;--font-body:"Montserrat", system-ui, sans-serif;--font-script:"Great Vibes", "Pinyon Script", cursive;--maxw:720px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text-main);background:radial-gradient(circle at 15% 15%, var(--bg-pink) 0%, transparent 40%), radial-gradient(circle at 85% 85%, var(--bg-blue) 0%, transparent 45%), linear-gradient(135deg, #f8fbff 0%, #f0f4f8 50%, #faf0f2 100%);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}.bg-video-wrap{z-index:-3;background:var(--bg-base);position:fixed;inset:0;overflow:hidden}.bg-video{object-fit:cover;filter:saturate(.9)brightness(.98);width:100%;height:100%;position:absolute;inset:0}.bg-overlay{background:radial-gradient(circle at 25% 20%,#fcd5ce99,#0000 55%),radial-gradient(circle at 75% 80%,#bde0fe99,#0000 55%),linear-gradient(#f8fbffbf 0%,#f0f4f899 50%,#faf0f2bf 100%);position:absolute;inset:0}.particles{position:absolute;inset:0;overflow:hidden}.particles span{bottom:-10px;left:calc((var(--i) + 1) * 6.5%);background:radial-gradient(circle, var(--pink-mid), var(--blue-accent));opacity:0;width:6px;height:6px;animation:15s linear infinite floatUp;animation-delay:calc(var(--i) * -1.15s);border-radius:50%;position:absolute}@keyframes floatUp{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:.6}85%{opacity:.4}to{opacity:0;transform:translateY(-104vh)scale(1.1)}}.door-overlay{z-index:1000;perspective:2400px;background:radial-gradient(circle at 50% 40%, var(--bg-pink), var(--bg-blue) 80%);transition:opacity .9s,visibility .9s;position:fixed;inset:0}.door-overlay.gone{opacity:0;visibility:hidden;pointer-events:none}.door-bloom{z-index:0;opacity:0;background:radial-gradient(circle at 50% 46%,#fffffff2,#bde0fe66 40%,#0000 75%);transition:opacity 1.5s .35s;position:absolute;inset:0}.door-overlay.opening .door-bloom{opacity:1}.door{z-index:2;backface-visibility:hidden;background:linear-gradient(160deg,#fff 0%,#f4f8fb 50%,#faf2f4 100%);width:50.2%;transition:transform 1.7s cubic-bezier(.55,.04,.16,1);position:absolute;top:0;bottom:0;overflow:hidden;box-shadow:inset 0 0 40px #a2c9ea26}.door:before{content:"";opacity:.6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%234a82b8' stroke-width='1' opacity='0.2'%3E%3Cpath d='M60 12 C42 30 42 48 60 60 C78 48 78 30 60 12 Z'/%3E%3Cpath d='M60 108 C42 90 42 72 60 60 C78 72 78 90 60 108 Z'/%3E%3Cpath d='M12 60 C30 42 48 42 60 60 C48 78 30 78 12 60 Z'/%3E%3Cpath d='M108 60 C90 42 72 42 60 60 C72 78 90 78 108 60 Z'/%3E%3Ccircle cx='60' cy='60' r='5'/%3E%3C/g%3E%3C/svg%3E");background-size:130px 130px;border:1px solid #4a82b840;border-radius:6px;position:absolute;inset:16px}.door-left{transform-origin:0;border-right:1px solid #4a82b84d;left:0}.door-right{transform-origin:100%;border-left:1px solid #4a82b84d;right:0}.door-overlay.opening .door-left{transform:rotateY(118deg);box-shadow:inset -20px 0 40px #0000000f}.door-overlay.opening .door-right{transform:rotateY(-118deg);box-shadow:inset 20px 0 40px #0000000f}.door-panel{border:1px solid #ca718533;border-radius:5px;position:absolute}.door-panel.top{height:44%;top:6%}.door-panel.bottom{height:40%;bottom:6%}.door-left .door-panel{left:26px;right:34px}.door-right .door-panel{left:34px;right:26px}.door-handle{background:linear-gradient(180deg, var(--gold-light), var(--gold) 50%, var(--gold-deep));border-radius:6px;width:6px;height:clamp(70px,14vh,110px);position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #0000001a}.door-left .door-handle{right:12px}.door-right .door-handle{left:12px}.door-crest{z-index:5;cursor:pointer;background:0 0;border:none;padding:0;transition:opacity .55s,transform .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crest-disc{background:radial-gradient(circle at 35% 35%, var(--white), var(--bg-pink) 65%, var(--bg-blue) 100%);border:2px solid var(--blue-accent);border-radius:50%;justify-content:center;align-items:center;width:min(32vw,138px);height:min(32vw,138px);display:flex;overflow:hidden;box-shadow:0 8px 25px #4a82b833,inset 0 2px 4px #ffffffe6}.crest-img{object-fit:cover;width:100%;height:100%}.crest-monogram{font-family:var(--font-script);color:var(--blue-deep);letter-spacing:2px;font-size:clamp(36px,9vw,46px);line-height:1}.door-crest:hover{transform:translate(-50%,-50%)scale(1.04)}.door-overlay.opening .door-crest{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.55)}.crest-hint{white-space:nowrap;letter-spacing:3px;text-transform:uppercase;color:var(--text-soft);opacity:.85;font-size:11px;position:absolute;bottom:-44px;left:50%;transform:translate(-50%)}.door-overlay.opening .crest-hint{opacity:0}.lang-switch{z-index:1200;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffd9;border-radius:30px;align-items:center;gap:6px;padding:7px 12px;display:flex;position:fixed;top:16px;right:16px;box-shadow:0 4px 12px #0000000a}.lang-switch button{cursor:pointer;font-family:var(--font-body);letter-spacing:1px;color:var(--text-soft);background:0 0;border:none;padding:2px 4px;font-size:13px;font-weight:600}.lang-switch button.active{color:var(--blue-deep)}.lang-sep{color:var(--pink-deep)}.music-toggle{z-index:1200;border:1px solid var(--blue-accent);width:44px;height:44px;color:var(--blue-deep);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#ffffffe0;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 12px #0000000f}.music-toggle:hover{transform:scale(1.06)}.music-toggle .ic-off,.music-toggle.muted .ic-on{display:none}.music-toggle.muted .ic-off{display:block}.music-toggle.playing{animation:2s ease-in-out infinite musicGlow}@keyframes musicGlow{0%,to{box-shadow:0 4px 12px #0000000f}50%{box-shadow:0 4px 18px #4a82b866}}.content{opacity:0;transition:opacity 1.1s .3s}.content.revealed{opacity:1}.slide{justify-content:center;align-items:center;min-height:100vh;padding:clamp(64px,10vh,110px) 22px;display:flex;position:relative}.slide-inner{width:100%;max-width:var(--maxw);text-align:center;margin:0 auto}.reveal .slide-inner,.footer.reveal .slide-inner{opacity:0;transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.3,1);transform:translateY(40px)scale(.98)}.reveal.in-view .slide-inner{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal .slide-inner{opacity:1;transition:none;transform:none}}.glass{border:1px solid var(--card-border);background:#ffffffe6;border-radius:20px;box-shadow:0 10px 30px #4a82b814,0 2px 8px #00000005}.section-title{font-family:var(--font-display);color:var(--blue-deep);letter-spacing:.5px;margin:0 0 6px;font-size:clamp(28px,5.5vw,42px);font-weight:500}.section-sub{font-family:var(--font-serif);color:var(--text-soft);margin:0 0 30px;font-size:clamp(16px,3vw,21px);font-style:italic}.ornament-divider{justify-content:center;align-items:center;gap:14px;width:min(240px,70%);margin:22px auto;display:flex}.ornament-divider span:not(.diamond){background:linear-gradient(90deg, transparent, var(--blue-accent), transparent);flex:1;height:1px}.ornament-divider .diamond{color:var(--pink-deep);font-size:14px}.ornament-divider.small{width:min(180px,60%);margin:14px auto 26px}.assalom{font-family:var(--font-body);letter-spacing:4px;text-transform:uppercase;color:var(--leaf-green);margin:0 0 8px;font-size:clamp(12px,2.6vw,14px);font-weight:600}.guest-name{font-family:var(--font-serif);color:var(--text-main);margin:0 0 18px;font-size:clamp(18px,3.6vw,25px);font-style:italic}.guest-name strong{color:var(--blue-deep);font-style:normal;font-weight:600}.bismillah{font-family:var(--font-arabic);color:var(--blue-deep);margin:0 0 6px;font-size:clamp(28px,7.5vw,48px);line-height:1.9}.couple-names{font-family:var(--font-script);color:var(--pink-deep);margin:6px 0 22px;font-size:clamp(52px,13vw,100px);font-weight:400;line-height:1}.couple-names .amp{color:var(--blue-accent);padding:0 .06em}.invite-text{font-family:var(--font-serif);color:var(--text-main);max-width:600px;margin:0 auto 16px;font-size:clamp(18px,3.6vw,23px);line-height:1.75}.scroll-hint{color:var(--text-soft);letter-spacing:3px;text-transform:uppercase;opacity:.85;flex-direction:column;align-items:center;gap:8px;margin-top:38px;font-size:11px;display:flex}.scroll-hint .arrow{color:var(--blue-accent);font-size:18px;animation:1.8s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.ayah-panel{border-radius:20px;padding:clamp(28px,5.5vw,50px)}.ayah-arabic{font-family:var(--font-arabic);color:var(--blue-deep);margin:0 0 22px;font-size:clamp(22px,5vw,32px);line-height:2.1}.ayah-arabic.large{font-size:clamp(28px,7.5vw,48px);line-height:1.8}.ayah-translation{font-family:var(--font-serif);color:var(--text-main);margin:0 0 10px;font-size:clamp(18px,3.6vw,24px);font-style:italic}.ayah-ref{letter-spacing:2px;text-transform:uppercase;color:var(--pink-deep);opacity:.95;margin:0;font-size:12px}.countdown{flex-wrap:wrap;justify-content:center;gap:clamp(10px,3vw,24px);margin-bottom:28px;display:flex}.cd-cell{flex-direction:column;align-items:center;gap:8px;display:flex}.ring{border:1.5px solid var(--blue-light);background:var(--white);border-radius:50%;justify-content:center;align-items:center;width:clamp(70px,17vw,100px);height:clamp(70px,17vw,100px);display:flex;box-shadow:0 4px 14px #a2c9ea40}.cd-num{font-family:var(--font-display);color:var(--blue-deep);font-size:clamp(24px,5.5vw,38px);font-weight:500}.cd-label{letter-spacing:2px;text-transform:uppercase;color:var(--text-soft);font-size:11px}.countdown-done{font-family:var(--font-display);color:var(--blue-deep);font-size:clamp(24px,5vw,34px)}.wedding-date{font-family:var(--font-serif);color:var(--text-main);margin:6px 0 20px;font-size:clamp(18px,3.4vw,22px);font-style:italic}.calendar-card{border-radius:18px;max-width:320px;margin:0 auto 24px;padding:20px}.calendar-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.cal-month{font-family:var(--font-display);color:var(--blue-deep);font-size:19px;font-weight:600}.cal-year{font-family:var(--font-serif);color:var(--text-soft);font-size:17px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-wd{letter-spacing:1px;text-transform:uppercase;color:var(--leaf-green);opacity:.9;padding-bottom:6px;font-size:11px}.cal-day{color:var(--text-main);border-radius:50%;padding:6px 0;font-size:14px}.cal-day.empty{visibility:hidden}.cal-day.is-wedding{background:linear-gradient(145deg, var(--blue-accent), var(--blue-deep));color:var(--white);font-weight:600;box-shadow:0 3px 10px #4a82b859}.venue-pin{color:var(--pink-deep);margin-bottom:8px}.venue-card{border-radius:16px;max-width:460px;margin:0 auto 26px;padding:22px 20px}.venue-name{font-family:var(--font-display);color:var(--blue-deep);margin:0 0 8px;font-size:clamp(22px,4.5vw,28px)}.venue-address{font-family:var(--font-serif);color:var(--text-main);margin:0;font-size:clamp(17px,3.4vw,20px)}.map-wrap{border:1.5px solid var(--card-border);aspect-ratio:16/10;border-radius:16px;max-width:600px;margin:0 auto 26px;overflow:hidden;box-shadow:0 8px 22px #4a82b81f}.map-wrap iframe{border:0;width:100%;height:100%;display:block}.btn-gold{font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;color:var(--white);cursor:pointer;background:linear-gradient(145deg, var(--blue-accent), var(--blue-deep));border:none;border-radius:40px;padding:12px 28px;font-size:12px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 5px 16px #4a82b84d}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 20px #4a82b866}.btn-gold:disabled{opacity:.6;cursor:default;transform:none}.contact-cards{flex-direction:column;gap:12px;max-width:420px;margin:0 auto 24px;display:flex}.contact-card{text-align:left;border-radius:16px;align-items:center;gap:16px;padding:14px 18px;text-decoration:none;transition:transform .2s;display:flex}.contact-card:hover{transform:translateY(-2px)}.contact-ic{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.contact-ic.phone{background:linear-gradient(145deg, var(--leaf-soft), var(--leaf-green))}.contact-ic.telegram{background:linear-gradient(145deg, var(--blue-accent), var(--blue-deep))}.contact-info{flex-direction:column;display:flex}.contact-label{letter-spacing:2px;text-transform:uppercase;color:var(--blue-deep);font-size:10px}.contact-value{font-family:var(--font-serif);color:var(--text-main);font-size:19px}.contact-family{font-family:var(--font-serif);color:var(--text-main);font-size:clamp(17px,3.4vw,20px)}.contact-family em{color:var(--pink-deep);font-style:italic}.wish-heart{color:var(--pink-deep);margin-bottom:10px}.wish-form{text-align:left;border-radius:18px;flex-direction:column;gap:12px;max-width:480px;margin:0 auto 14px;padding:20px;display:flex}.recommend{margin-bottom:4px}.recommend-label{letter-spacing:1px;text-transform:uppercase;color:var(--blue-deep);margin-bottom:8px;font-size:11px;display:block}.recommend-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font-family:var(--font-serif);color:var(--text-main);cursor:pointer;border:1px solid var(--blue-light);background:#ffffffe6;border-radius:20px;padding:6px 12px;font-size:14px;transition:all .2s}.chip:hover{background:var(--bg-blue);border-color:var(--blue-accent)}.wish-input,.wish-textarea{width:100%;font-family:var(--font-body);color:var(--text-main);border:1px solid var(--card-border);resize:vertical;background:#ffffffe6;border-radius:12px;padding:12px 14px;font-size:14px}.wish-input::placeholder,.wish-textarea::placeholder{color:var(--text-muted)}.wish-input:focus,.wish-textarea:focus{border-color:var(--blue-accent);outline:none;box-shadow:0 0 0 3px #4a82b82e}.wish-submit{align-self:center;margin-top:4px}.wish-list{text-align:left;flex-direction:column;gap:12px;max-width:500px;margin:0 auto;display:flex}.wish-note{font-family:var(--font-serif);color:var(--text-soft);font-style:italic}.wish-item{border-radius:16px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.wish-avatar{width:40px;height:40px;font-family:var(--font-display);color:var(--white);background:linear-gradient(145deg, var(--pink-mid), var(--blue-accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;display:flex}.wish-name{font-family:var(--font-display);color:var(--blue-deep);margin-bottom:2px;font-size:17px}.wish-text{font-family:var(--font-serif);color:var(--text-main);font-size:17px;line-height:1.4}.footer{min-height:65vh}.footer-seal{margin-bottom:12px}.footer-monogram{font-family:var(--font-script);color:var(--pink-deep);font-size:54px}.footer-text{font-family:var(--font-display);color:var(--blue-deep);margin:0 0 4px;font-size:clamp(22px,4.5vw,30px)}.footer-family{font-family:var(--font-serif);color:var(--text-main);margin:0 0 10px;font-size:18px;font-style:italic}.footer-date{letter-spacing:3px;color:var(--text-soft);margin:0;font-size:12px}.admin-gate{background:var(--bg-base);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.admin-gate-card{text-align:center;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-radius:20px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:36px 28px;display:flex;box-shadow:0 10px 30px #0000000d}.admin-lock{color:var(--blue-deep)}.admin-title{font-family:var(--font-display);color:var(--blue-deep);margin:0;font-size:26px}.admin-hint{font-family:var(--font-serif);color:var(--text-soft);margin:0}.admin-input{font-family:var(--font-body);color:var(--text-main);border:1px solid var(--card-border);text-align:center;letter-spacing:1px;background:#fff;border-radius:12px;padding:12px 14px;font-size:14px}.admin-input:focus{border-color:var(--blue-accent);outline:none}.admin-error{color:#d9534f;margin:0;font-size:13px}.admin-wrap{background:var(--bg-base);min-height:100vh;padding:24px clamp(16px,4vw,48px) 60px}.admin-header{border-bottom:1px solid var(--card-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;padding:10px 0 20px;display:flex}.admin-header .admin-title{font-size:24px}.admin-header-right{align-items:center;gap:16px;display:flex}.admin-header-right .lang-switch{position:static}.admin-count{color:var(--blue-deep);letter-spacing:1px;font-size:13px;font-weight:600}.admin-note{font-family:var(--font-serif);color:var(--text-soft);font-style:italic}.admin-table-wrap{border:1px solid var(--card-border);background:#ffffffe6;border-radius:16px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:720px;font-size:14px}.admin-table th{text-align:left;font-family:var(--font-body);text-transform:uppercase;letter-spacing:1px;color:var(--blue-deep);background:#bde0fe4d;padding:12px 14px;font-size:11px;font-weight:600}.admin-table td{color:var(--text-main);vertical-align:top;border-top:1px solid #a2c9ea4d;padding:12px 14px}.admin-table tr.busy{opacity:.5}.col-name{font-family:var(--font-display);color:var(--blue-deep);white-space:nowrap;font-size:15px;font-weight:600}.col-text{font-family:var(--font-serif);min-width:240px;font-size:16px}.device-badge{background:var(--bg-blue);border:1px solid var(--blue-light);color:var(--blue-deep);white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:11px;display:inline-block}.col-date{white-space:nowrap;color:var(--text-soft);font-size:12px}.col-actions{white-space:nowrap}.admin-table input,.admin-table textarea{width:100%;font-family:var(--font-body);color:var(--text-main);border:1px solid var(--card-border);background:#fff;border-radius:8px;padding:8px 10px;font-size:13px}.ta-btn{font-family:var(--font-body);letter-spacing:.5px;color:var(--text-main);border:1px solid var(--blue-light);cursor:pointer;background:#bde0fe4d;border-radius:6px;margin:0 2px;padding:5px 10px;font-size:11px;transition:background .15s}.ta-btn:hover{background:#bde0fe99}.ta-btn.save{background:linear-gradient(145deg, var(--blue-accent), var(--blue-deep));color:var(--white);border:none}.ta-btn.del{color:#d9534f;border-color:#d9534f4d}.ta-btn.del:hover{background:#d9534f1a}@media (width<=820px){:root{--maxw:620px}}@media (width<=560px){.slide{min-height:100svh;padding:78px 18px}.lang-switch{padding:6px 10px;top:12px;right:12px}.music-toggle{width:40px;height:40px;bottom:14px;right:14px}.assalom{letter-spacing:3px}.couple-names{font-size:clamp(46px,16vw,76px)}.bismillah{line-height:1.8}.invite-text{font-size:clamp(17px,4.4vw,21px)}.countdown{gap:10px}.ring{border-width:1px}.calendar-card{max-width:300px;padding:16px}.ayah-panel{padding:24px 18px}.ayah-arabic{line-height:2}.wish-form{padding:18px 14px}.recommend-chips{gap:5px}.chip{padding:5px 9px;font-size:13px}.door-panel.top{height:40%}.door-panel.bottom{height:36%}.door-left .door-panel{left:16px;right:22px}.door-right .door-panel{left:22px;right:16px}.door:before{background-size:100px 100px;inset:10px}.footer-monogram{font-size:46px}}@media (width<=360px){.couple-names{font-size:42px}.cd-num{font-size:22px}.ring{width:64px;height:64px}}@media (width>=1400px){:root{--maxw:780px}}@media (height<=620px){.slide{min-height:auto;padding:90px 22px}}.wish-suggest-row{justify-content:flex-end;margin:-4px 0 -2px;display:flex}.wand-btn{cursor:pointer;border:1px solid var(--card-border,#b4b4b466);background:#ffffff47;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;line-height:1;transition:transform .2s,background .2s,box-shadow .2s;display:flex;box-shadow:0 3px 10px #00000014}.wand-btn:hover{background:#ffffff73;transform:rotate(-14deg)scale(1.1);box-shadow:0 5px 16px #0000001f}.wand-btn:active{transform:scale(.92)}.map-wrap{max-width:600px;margin:0 auto 26px;aspect-ratio:auto!important;height:320px!important}.map-wrap iframe{border:0;min-height:260px;display:block;width:100%!important;height:100%!important}@media (width<=560px){.map-wrap{height:280px!important}}.lang-switch,.music-toggle,.admin-gate-card{-webkit-backdrop-filter:none}.reveal .slide-inner,.footer.reveal .slide-inner{will-change:opacity, transform;transition:opacity .6s,transform .7s cubic-bezier(.22,.61,.36,1);transform:translateY(34px)}.reveal.in-view .slide-inner{transform:none}.particles span:nth-child(2n){display:none}@media (width<=820px){.bg-video{display:none!important}.particles{display:none}}
