@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amiri-arabic-400-normal-D0NIBXga.woff2) format("woff2"),url(/assets/amiri-arabic-400-normal-C_1DQziU.woff) format("woff")}@font-face{font-family:Amiri;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/amiri-arabic-700-normal-D8FrblyB.woff2) format("woff2"),url(/assets/amiri-arabic-700-normal-dUd6sHq-.woff) format("woff")}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-naskh-arabic-arabic-400-normal-U_i0HMfG.woff2) format("woff2"),url(/assets/noto-naskh-arabic-arabic-400-normal-1AoZhAAW.woff) format("woff")}@font-face{font-family:Allura;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/allura-latin-400-normal-4sUZKTf1.woff2) format("woff2"),url(/assets/allura-latin-400-normal-DcxZAN6k.woff) format("woff")}:root{font-family:Noto Naskh Arabic,serif;color:#554735;background:#f7f1e6;font-synthesis:none;font-weight:400;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#app{position:relative;display:grid;place-items:center;background:#f7f1e6}.ambient-light{display:none}.reading-space{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:0;gap:0}.book-stage{position:relative;flex-shrink:0;outline:none;filter:drop-shadow(0 24px 26px #151b1260);isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none}.mail-scene{position:relative;flex-shrink:0;perspective:1800px;isolation:isolate}.book-stage{z-index:2}.is-sealed .book-stage{opacity:1;transform:translateY(4%) scale(.9);filter:drop-shadow(0 5px 7px #53472d55)}.envelope{display:contents;pointer-events:none}.envelope-back{position:absolute;inset:0;background:#d9cbb0;border:1px solid #c5b897;border-radius:5px;z-index:0}.envelope-pocket{position:absolute;inset:0;z-index:4;filter:drop-shadow(0 -1px 1px #7b6b4930)}.envelope-fold{position:absolute;inset:0;background-size:100% 100%}.fold-left{clip-path:polygon(0 0,54% 48%,0 100%);background:linear-gradient(105deg,#e2d5bc,#f7eddb 53%)}.fold-right{clip-path:polygon(100% 0,46% 48%,100% 100%);background:linear-gradient(255deg,#e5d8bf,#f8efdd 53%)}.fold-bottom{clip-path:polygon(0 100%,0 95%,48% 43%,52% 43%,100% 95%,100% 100%);background-image:linear-gradient(#f5ead7ad,#f5ead745),url(/art/floral-courtyard.png);box-shadow:inset 0 -1px #b9a481}.envelope-flap{position:absolute;inset:0 0 auto;height:49%;z-index:6;transform-origin:50% 0;transform-style:preserve-3d;filter:drop-shadow(0 3px 2px #6b51322d)}.flap-paper{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,100% 3%,52% 100%,48% 100%,0 3%);background:linear-gradient(#f7efdf35,#f2e4cbae),url(/art/floral-garden.png) center top/100% auto;backface-visibility:visible}.wax-seal{position:absolute;z-index:7;top:calc(48% - 35px);left:calc(50% - 35px);width:70px;height:70px;padding:7px;border:3px solid #c09b5f;border-radius:47% 52% 48% 51%;background:radial-gradient(ellipse at 31% 24%,#eed4a0,#c9a366 56%,#a57e48);box-shadow:0 4px 9px #6c492c50,inset 0 2px 3px #fff0c8ab,inset 0 -2px 5px #8b623b66;color:#856234;cursor:pointer;pointer-events:auto;transition:scale .3s ease,box-shadow .3s ease;touch-action:manipulation}.wax-seal span{height:100%;width:100%;display:grid;place-items:center;border:1px solid #9c754a88;border-radius:50%;font:italic 16px/1 Georgia,Times New Roman,serif;letter-spacing:.3px;color:#65431e;white-space:nowrap;text-shadow:0 1px 0 #f6dfb0;box-shadow:0 1px #ffedbf88,inset 0 1px 2px #9f77434d}.wax-seal:disabled{cursor:wait}.wax-seal[aria-busy=true]{opacity:.7;pointer-events:none}.wax-seal:hover{scale:1.06;box-shadow:0 6px 13px #6c492c50,inset 0 2px 3px #fff0c8ab}.wax-seal:focus-visible{outline:2px solid #f5e2b1;outline-offset:6px}.is-opening .wax-seal{animation:break-seal .65s ease forwards;pointer-events:none}.is-opening .envelope-flap{animation:open-flap 1.35s cubic-bezier(.4,0,.2,1) .25s forwards}.is-opening .envelope-pocket,.is-opening .envelope-back{animation:leave-envelope 2.3s cubic-bezier(.42,0,.2,1) 2.2s forwards}.is-opening .book-stage{animation:extract-book 4.6s cubic-bezier(.25,.65,.25,1) forwards}.is-open .envelope{display:none}@keyframes break-seal{40%{scale:1.1;rotate:-9deg;opacity:1}to{translate:10px 80px;rotate:18deg;opacity:0}}@keyframes open-flap{0%{transform:rotateX(0);opacity:1}65%{opacity:1}to{transform:rotateX(178deg);opacity:0;visibility:hidden}}@keyframes leave-envelope{0%{transform:translateY(0);opacity:1}70%{opacity:.95}to{transform:translateY(115%);opacity:0;visibility:hidden}}@keyframes extract-book{0%,47%{transform:translateY(4%) scale(.9);filter:drop-shadow(0 5px 7px #53472d55)}70%{transform:translateY(-8%) scale(.92);filter:drop-shadow(0 14px 20px #151b1250)}to{transform:translateY(0) scale(1);filter:drop-shadow(0 24px 26px #151b1260)}}.paper-stack{position:absolute;inset:2px 0 -4px -5px;border-radius:3px;background:repeating-linear-gradient(0deg,#e0d6c1,#fff9ec,#bcb39d,#f0e7d4 3px);box-shadow:-2px 3px #887b5f,0 3px 12px #10160c50;transform:rotate(-.3deg);pointer-events:none}#book{width:100%;height:100%;direction:ltr;transform:scaleX(-1);touch-action:none;cursor:grab}#book .stf__wrapper{width:100%;height:100%;position:relative}.is-closed #book{pointer-events:none;cursor:default}.is-turning #book{cursor:grabbing}.page{background:#f6f0e5;overflow:hidden}.page-content{width:100%;height:100%;position:relative;overflow:hidden;direction:rtl;transform:scaleX(-1);background:#f6f0e5;text-align:center}.page-content:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset -8px 0 16px -9px #7a65474d,inset 0 0 2px #80633f30}.page-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none}h1,h2,p{margin:0}h1,h2{font-family:Amiri,serif;font-weight:400}.cover-title{position:absolute;top:33%;right:12%;left:12%;font-size:clamp(28px,calc(var(--page-width)*.08),36px);line-height:1.65;color:#685035;text-shadow:0 1px 0 #fff7dc;transform:rotate(-1deg)}.cover-title span{font-size:.9em}.invitation-paper,.countdown-paper{background-color:#f7f1e6;background-image:radial-gradient(ellipse at 30% 0%,#fbf8ef85,transparent 62%),repeating-linear-gradient(91deg,#9d875901 0,#9d875901 1px,transparent 1px,transparent 4px)}.invitation-paper:before,.countdown-paper:before{content:"";position:absolute;inset:3.3%;border:1px solid #b7a2784d;pointer-events:none;z-index:2}.floral-art{opacity:.72}.invitation-paper .floral-art{opacity:.62}.invitation-copy{position:relative;z-index:1;background:radial-gradient(ellipse at 50% 46%,#fbf5e8f2 0%,#fbf5e8de 43%,#fbf5e87d 65%,transparent 82%)}.countdown-paper>.floral-art{z-index:0}.countdown-paper>:not(.floral-art){position:relative;z-index:1}.countdown-paper:after{background:radial-gradient(ellipse at 50% 48%,#fbf5e8d9 0%,#fbf5e8a6 42%,transparent 73%)}.countdown-paper>.folio{position:absolute}.fiances-names{font-size:clamp(26px,calc(var(--page-width)*.07),30px);line-height:1.25;color:#6b7855}.fiances-names span{font-size:.6em;color:#a2844e;padding:0 3px}.invitation-copy{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:max(24px,env(safe-area-inset-top)) 8% max(48px,calc(env(safe-area-inset-bottom) + 36px));gap:clamp(5px,calc(var(--page-height)*.01),9px)}.invitation-introduction,.invitation-celebration{display:contents}.basmala{font-family:Amiri,serif;font-size:clamp(18px,calc(var(--page-width)*.05),21px);line-height:1.8;white-space:nowrap;color:#8a6c35}.verse{font-family:Amiri,serif;font-size:clamp(17px,calc(var(--page-width)*.047),19px);line-height:1.8;max-width:100%;text-wrap:pretty;color:#5f543c}.gold-divider{width:70px;height:8px;position:relative;flex-shrink:0;margin:2px 0}.gold-divider:before,.gold-divider:after{content:"";position:absolute;height:1px;background:#b59657;top:3px;width:27px}.gold-divider:before{left:0}.gold-divider:after{right:0}.gold-divider i{position:absolute;width:5px;height:5px;border:1px solid #b59657;transform:rotate(45deg);left:32px;top:1px}.gold-divider.small{transform:scale(.75);margin:0}.invitation-intro,.event-details,.closing,.prayer{font-size:clamp(16px,calc(var(--page-width)*.04),17px);line-height:1.55}.event-details{color:#745833;line-height:1.65;direction:rtl;position:relative;z-index:1;flex-shrink:0}.event-details .city{font-size:1em;margin-top:2px;color:#4b5940}.invitation-moment{position:relative;display:flex;align-items:center;justify-content:center;direction:ltr;width:112%;min-height:104px;height:min(200px,calc(var(--page-height)*.22));flex-shrink:1}.portrait{pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.character{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.invitation-moment .portrait{position:absolute;height:100%;aspect-ratio:2/3;bottom:0}.portrait-amine{left:0;transform:translate(-6px)}.portrait-wiem{right:-2%;transform:translate(6px)}.countdown-moment{display:flex;direction:ltr;align-items:center;justify-content:center;width:114%;gap:3%;min-height:0}.countdown-moment .portrait-couple{width:51%;aspect-ratio:2/3;transform-origin:50% 90%}.countdown-moment .clock-block{width:46%;min-width:0}.closing{color:#6a593b}.prayer{font-family:Amiri,serif;line-height:1.7;color:#806941}.folio{position:absolute;bottom:max(36px,calc(env(safe-area-inset-bottom) + 28px));left:0;right:0;color:#a68b60;font-size:12px}.countdown-paper{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,calc(var(--page-height)*.024),22px);padding:max(28px,env(safe-area-inset-top)) 9% max(56px,calc(env(safe-area-inset-bottom) + 44px))}.countdown-heading h2{font-size:clamp(26px,calc(var(--page-width)*.07),32px);line-height:1.5}.small-label{font-size:15px;line-height:1.8;color:#9b7e49}.clock-block{display:flex;flex-direction:column;align-items:center;gap:3px}.clock-face{width:100%;height:auto;overflow:visible}.dial-outer{fill:#fffaf044;stroke:#b59a63;stroke-width:1}.dial-inner{fill:none;stroke:#bea57166;stroke-width:.55}.minor-tick{stroke:#b5a27d;stroke-width:.6}.major-tick{stroke:#8c754c;stroke-width:1.2}.numerals text{font-family:Noto Naskh Arabic,serif;font-size:19px;fill:#85714d}.hour-hand{stroke:#58624b;stroke-width:4;stroke-linecap:round}.minute-hand{stroke:#58624b;stroke-width:2.5;stroke-linecap:round}.second-hand{stroke:#b58c48;stroke-width:1;stroke-linecap:round}.pin{fill:#a1844a;stroke:#f6efdd;stroke-width:1}.current-time{font-size:17px;color:#6c684e;font-variant-numeric:tabular-nums;direction:ltr}.timezone-label{font-size:14px;color:#8b7c5e}.countdown{display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:340px;direction:rtl}.countdown>div{display:flex;flex-direction:column;align-items:center;gap:1px;position:relative}.countdown>div+div:after{content:"";position:absolute;right:0;top:22%;height:42%;width:1px;background:#b7a17b55}.countdown span{font-size:clamp(27px,calc(var(--page-width)*.076),34px);line-height:1.25;color:#5b654f;font-variant-numeric:tabular-nums;direction:ltr}.countdown small{font-size:14px;color:#8d784f}.countdown-date{font-size:16px;line-height:1.8;color:#806c45}.countdown-date time{font-size:18px}.celebration-message{font-family:Amiri,serif;font-size:24px;color:#6a704e}.celebration-message[hidden]{display:none}.reading-hint{position:absolute;z-index:20;bottom:0;left:0;right:0;padding:6px 12px max(8px,env(safe-area-inset-bottom));font-size:14px;line-height:1.5;color:#786747;background:linear-gradient(transparent,#f7f1e6e8 45%);text-align:center;-webkit-user-select:none;user-select:none;pointer-events:none;min-height:30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes meet-on-paper{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0;transform:translate(0)}}@keyframes couple-arrives{0%{opacity:0;translate:0 12px;scale:.96}to{opacity:1;translate:0 0;scale:1}}@media(max-width:768px){.paper-stack{display:none}.book-stage{filter:none}.envelope-back{border-radius:0}.page-content:after{box-shadow:inset 0 0 2px #80633f30}}@media(max-height:650px){.invitation-copy{gap:4px;padding-top:18px;padding-bottom:42px}.verse{font-size:17px;line-height:1.65}.basmala{font-size:18px}.fiances-names{font-size:26px}.invitation-moment{height:110px}.gold-divider{height:5px;margin:0}.countdown-paper{gap:12px}.countdown-moment{max-width:330px}}@media(orientation:landscape)and (max-height:500px){.invitation-copy{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:18px 5% 42px}.invitation-introduction,.invitation-celebration{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0}.invitation-moment{height:125px;width:108%}.verse{font-size:17px;line-height:1.6}.invitation-intro,.closing,.prayer{line-height:1.45}.countdown-paper{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:5px 5%;padding:20px 7% 42px}.countdown-moment{grid-column:2;grid-row:1/4;width:100%;max-width:300px;justify-self:center}.countdown-heading,.countdown,.countdown-date{grid-column:1;width:100%}.countdown-heading h2{font-size:26px}.cover-title{top:28%;font-size:30px}.paper-stack{display:none}}
