/* Barcha taklifnomalar uchun yagona joylashuv va animatsiya qoidalari. */
html:has(body.view-invitation){scrollbar-gutter:auto;scrollbar-width:none}
html:has(body.view-invitation)::-webkit-scrollbar,body.view-invitation::-webkit-scrollbar{display:none}
.theme-rose{--art:url('assets/rose.webp');--ink:#70283c;--sheet:#fff7ef;--foil:#f1d7a3;--envelope:#722d40;--opening-time:1850ms}
.theme-silk{--art:url('assets/silk.webp');--ink:#695139;--sheet:#fffdf7;--foil:#695139;--envelope:#efe5d7;--opening-time:2300ms}
.theme-lace{--art:url('assets/lace.webp');--ink:#3e5039;--sheet:#fafbf6;--foil:#3e5039;--envelope:#a4af99;--opening-time:2300ms}
.theme-lilac{--art:url('assets/lilac.webp');--ink:#806239;--sheet:#fffaf1;--foil:#806239;--envelope:#eee3d0;--opening-time:1900ms}
.theme-butterfly{--art:url('assets/olive.webp');--ink:#606044;--sheet:#faf7ed;--foil:#dfc992;--envelope:#9da78f;--opening-time:2200ms}
.theme-porcelain{--art:url('assets/porcelain.webp');--ink:#284d79;--sheet:#f8fafc;--foil:#284d79;--envelope:#e8edf2;--opening-time:2300ms}
.botanical{display:block;width:100px;height:120px;overflow:visible}

/* Katalog kartochkalari: ichki foizli padding tufayli siljish bo‘lmaydi. */
.new-art{container-type:inline-size;padding:14px;gap:12px;background:#e9e4df}
.scene-thumbnail,.letter-thumbnail{position:relative;aspect-ratio:2/3;min-width:0;overflow:hidden;border-radius:3px;box-shadow:0 4px 12px #32231730;isolation:isolate}
.scene-thumbnail{background:var(--envelope);color:var(--foil)}
.letter-thumbnail{background:var(--art) center/100% 100%;color:var(--ink);text-align:center}
.letter-thumbnail .botanical{display:none}
.letter-mini-label{font:8px/1.6 'IBM Plex Sans',sans-serif;text-transform:uppercase;letter-spacing:1.5px}
.letter-thumbnail>.letter-mini-label{position:absolute;top:29%;left:15%;right:15%;font-size:clamp(5px,1.5cqw,9px)}
.sample-names{position:absolute;inset:38% 15% auto;font:clamp(18px,7cqw,38px)/1.1 'Great Vibes',cursive;overflow-wrap:anywhere}
.sample-names em{font:italic .5em/1.4 'Cormorant Garamond',serif}
.letter-mini-date{position:absolute;top:73%;left:10%;right:10%;white-space:nowrap;font:clamp(8px,2.7cqw,15px)/1.4 'Cormorant Garamond',serif;letter-spacing:.4px}
.letter-mini-footer{position:absolute;top:83%;left:12%;right:12%;font:clamp(5px,1.5cqw,8px)/1.5 'IBM Plex Sans',sans-serif}
.scene-tiny-label{position:absolute;z-index:5;top:22%;left:15%;right:15%;text-align:center;font:italic clamp(8px,2.5cqw,13px)/1.4 'Cormorant Garamond',serif}
.scene-bottom{position:absolute;z-index:5;bottom:10%;left:10%;right:10%;text-align:center;font:7px/1.5 'IBM Plex Sans',sans-serif;letter-spacing:2px}
.scene-thumbnail .scene-bottom{font-size:clamp(4px,1.3cqw,7px);bottom:11%}
.theme-rose.letter-thumbnail{color:#f5dfb5}
.theme-silk .sample-names,.theme-porcelain .sample-names,.theme-butterfly .sample-names{font-family:'Cormorant Garamond',serif;text-transform:uppercase;font-size:clamp(16px,5.8cqw,32px)}
.theme-butterfly.letter-thumbnail>.letter-mini-label{top:30%}
.theme-butterfly .scene-tiny-label{display:none}
.scene-thumbnail .scene-badge{width:27%;height:auto;aspect-ratio:1;top:52%;min-height:0;padding:3px;border-width:2px}
.scene-thumbnail .wax-initial{font-size:clamp(10px,3.8cqw,23px)}
.scene-thumbnail.theme-silk .scene-badge,.scene-thumbnail.theme-porcelain .scene-badge{display:none}
.scene-thumbnail .atelier-bow{width:70%;height:37%;top:52%}
.new-art .number{z-index:8;top:21px;left:21px}

/* Muhr, bant va to‘liq yopiladigan qatlamlar. */
.scene-badge{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);z-index:7;display:grid;place-items:center;width:82px;height:82px;padding:7px;border-radius:46%;border:4px double #d5b170;background:radial-gradient(ellipse at 30% 20%,#ffe7b6,#bc914f 65%,#e6bd79 70%,#a17437 82%,#ead3a0);color:#6a4622;box-shadow:2px 5px 12px #23150655,inset 0 0 0 2px #ffe0a6;transition:opacity .3s,transform .4s}
.wax-initial{font:italic 27px/1 'Cormorant Garamond',serif;white-space:nowrap;letter-spacing:-1px;text-shadow:0 1px #f5d699}
.wax-initial>span{font-size:.65em}
.themed-opening .scene-badge:focus-visible{outline:3px solid var(--ink);outline-offset:7px}
.theme-lace .scene-badge{width:clamp(128px,36cqw,196px);height:auto;aspect-ratio:200/140;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;perspective:700px}
.scene-thumbnail.theme-lace .scene-badge{width:46%;padding:0;border:0;min-height:0;top:52%}
/* Sadaf qanotlar tekis belgi o‘rniga o‘z o‘qi atrofida bukiladi. */
.pearl-butterfly{position:relative;display:block;width:100%;aspect-ratio:200/140;transform-style:preserve-3d;isolation:isolate}
.pearl-wing{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d;filter:drop-shadow(2px 5px 2px #463e3040)}
.pearl-wing>svg{display:block;width:100%;height:100%;overflow:visible}
.pearl-wing-left{left:0;transform-origin:100% 52%;transform:rotateY(-24deg) rotateZ(-2deg);animation:pearl-left 4.8s ease-in-out infinite}
.pearl-wing-right{right:0;transform-origin:0 52%;transform:rotateY(24deg) rotateZ(2deg);animation:pearl-right 4.8s ease-in-out infinite}
.pearl-wing-right>svg{transform:scaleX(-1)}
.pearl-body{position:absolute;top:0;left:43%;width:14%;height:100%;overflow:visible;transform:translateZ(7px);filter:drop-shadow(1px 2px 1px #38281366)}
.pearl-shadow{position:absolute;left:17%;right:9%;top:32%;bottom:4%;border-radius:50%;background:radial-gradient(ellipse,#3e382c50,transparent 66%);filter:blur(5px);transform:translate(5%,8%) scale(.95);animation:pearl-shadow 4.8s ease-in-out infinite}
.scene-thumbnail .pearl-wing,.scene-thumbnail .pearl-shadow,.letter-thumbnail .pearl-wing,.letter-thumbnail .pearl-shadow{animation:none}
.letter-butterfly{position:absolute;top:11%;left:33%;width:34%;perspective:500px}
@keyframes pearl-left{0%,100%{transform:rotateY(-24deg) rotateZ(-2deg)}45%{transform:rotateY(-54deg) rotateZ(-3deg)}65%{transform:rotateY(-16deg) rotateZ(-1deg)}}
@keyframes pearl-right{0%,100%{transform:rotateY(24deg) rotateZ(2deg)}45%{transform:rotateY(54deg) rotateZ(3deg)}65%{transform:rotateY(16deg) rotateZ(1deg)}}
@keyframes pearl-shadow{0%,100%{opacity:.8;transform:translate(5%,8%) scale(.95)}45%{opacity:.48;transform:translate(9%,13%) scale(.74)}65%{opacity:.9;transform:translate(4%,6%) scale(1)}}
.atelier-panel,.fold-panel,.olive-flap{position:absolute;inset:0;background:var(--art) center/100% 100%;backface-visibility:hidden;transition:transform 1.25s cubic-bezier(.3,.05,.15,1);z-index:2;filter:drop-shadow(0 2px 3px #0003);pointer-events:none}
.atelier-left,.fold-left{clip-path:polygon(0 0,50.2% 0,50.2% 100%,0 100%);transform-origin:left center}
.atelier-right,.fold-right{clip-path:polygon(49.8% 0,100% 0,100% 100%,49.8% 100%);transform-origin:right center}
.atelier-seam{position:absolute;left:50%;top:0;height:100%;width:1px;background:linear-gradient(transparent,#48321c55,transparent);z-index:3;pointer-events:none;transition:opacity .3s}
.atelier-bow{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:65%;height:34%;object-fit:contain;pointer-events:none;z-index:6;filter:drop-shadow(0 5px 3px #5c452733);transition:transform .85s ease-in,opacity .75s}
.theme-silk.themed-opening .scene-badge,.theme-porcelain.themed-opening .scene-badge{width:44%;height:30%;min-width:44px;min-height:44px;border:0;border-radius:10px;background:transparent;box-shadow:none;color:transparent}
.theme-silk.themed-opening .scene-badge>* ,.theme-porcelain.themed-opening .scene-badge>*{visibility:hidden}
.theme-silk .fold-top{clip-path:polygon(0 0,100% 0,100% 19%,0 19%);transform-origin:center top;z-index:3}
.theme-silk .fold-bottom{clip-path:polygon(0 81%,100% 81%,100% 100%,0 100%);transform-origin:center bottom;z-index:3}
.theme-silk .fold-left,.theme-silk .fold-right{z-index:4}
.theme-rose .atelier-left{clip-path:polygon(0 0,51% 0,53% 50%,51% 100%,0 100%)}
.theme-rose .atelier-right{clip-path:polygon(49% 0,100% 0,100% 100%,49% 100%,53% 50%)}
.theme-lace .atelier-left{clip-path:polygon(0 0,100% 0,50% 56%);transform-origin:center top;z-index:4}
.theme-lace .atelier-right{clip-path:polygon(0 0,50% 55.8%,100% 0,100% 100%,0 100%);transform-origin:center bottom}
.theme-lace .atelier-seam{display:none}
.olive-flap:after{content:'';position:absolute;inset:0;background:var(--art) center/100% 100%;mix-blend-mode:luminosity;opacity:.16}
.olive-left{clip-path:polygon(0 0,50.5% 50%,0 100%);transform-origin:left center;z-index:5;background:linear-gradient(100deg,#a4ad98,#929d87)}
.olive-right{clip-path:polygon(100% 0,49.5% 50%,100% 100%);transform-origin:right center;z-index:4;background:linear-gradient(260deg,#b7bfaa,#9da78f)}
.olive-top{clip-path:polygon(0 0,100% 0,50% 50.5%);transform-origin:center top;z-index:3;background:linear-gradient(#bfc6b3,#a2ac94)}
.olive-bottom{clip-path:polygon(0 100%,50% 49.5%,100% 100%);transform-origin:center bottom;z-index:2;background:linear-gradient(#8b967f,#b4bca6)}

/* Konvert va maktub kengligi doimo bir xil. */
body.invitation-locked{overflow:hidden;overscroll-behavior:none}
.themed-invitation{background:#e8e3da;min-height:100svh;color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;--reveal-duration:.85s;--names-delay:.35s}
.themed-opening{position:fixed;inset:0;width:100%;max-width:600px;height:100svh;margin:0 auto;z-index:9;background:var(--sheet);color:var(--foil);perspective:1400px;overflow:hidden;isolation:isolate;container-type:inline-size;box-shadow:0 0 0 100vmax #302d27ed}
.themed-opening[hidden]{display:none}
.opening-heading{position:absolute;top:16%;left:16%;right:16%;z-index:5;text-align:center;pointer-events:none;transition:opacity .25s}
.opening-heading>.letter-mini-label{font-size:9px;letter-spacing:1.7px}
.personal-names{font:clamp(28px,8cqw,44px)/1.16 'Great Vibes',cursive;margin-top:16px;overflow-wrap:anywhere}
.personal-names>span{display:block}
.personal-names>i{display:block;font:italic 17px/1 'Cormorant Garamond',serif;margin:7px 0}
.names-long .personal-names{font-size:clamp(22px,6.3cqw,35px)}
.opening-hint{position:absolute;z-index:6;bottom:15%;left:15%;right:15%;text-align:center;font:11px/1.7 'IBM Plex Sans',sans-serif;color:var(--foil);transition:opacity .25s}
.themed-opening>.scene-bottom{bottom:8%;transition:opacity .25s}
/* Pastki yozuvlar gul va hoshiyalarning yuqorisidagi ochiq maydonda. */
.themed-opening.theme-porcelain .opening-hint{bottom:26%}
.themed-opening.theme-porcelain>.scene-bottom{bottom:21%}
.themed-opening.theme-lilac .opening-hint{bottom:29%}
.themed-opening.theme-lilac>.scene-bottom{bottom:24%}
.themed-opening.theme-lace .opening-hint{bottom:31%}
.themed-opening.theme-lace>.scene-bottom{bottom:27%}
.themed-opening:is(.theme-porcelain,.theme-lilac,.theme-lace) .opening-hint{font-size:12px;letter-spacing:.15px}
.themed-opening:is(.theme-porcelain,.theme-lilac,.theme-lace)>.scene-bottom{font-size:8px;letter-spacing:1.5px}
.theme-butterfly.themed-opening .opening-heading{display:none}
.theme-butterfly .opening-hint{color:#fff8e6}
.is-open .scene-badge{opacity:0;transform:translate(-50%,-50%) scale(.8);pointer-events:none}
.is-open .opening-heading,.is-open .opening-hint,.is-open>.scene-bottom,.is-open .atelier-seam{opacity:0}
.is-open .atelier-left,.is-open .fold-left{transform:rotateY(-115deg);transition-delay:.3s}
.is-open .atelier-right,.is-open .fold-right{transform:rotateY(115deg);transition-delay:.45s}
.theme-rose.is-open .atelier-right{transition-delay:.55s}
.theme-lilac.is-open .atelier-left{transition-duration:1.35s}
.theme-lilac.is-open .atelier-right{transition-duration:1.35s}
.is-open .atelier-bow{transform:translate(-50%,90%) rotate(10deg) scale(.85);opacity:0}
.theme-silk.is-open .fold-left,.theme-porcelain.is-open .atelier-left{transition-delay:.75s}
.theme-silk.is-open .fold-right,.theme-porcelain.is-open .atelier-right{transition-delay:.9s}
.theme-silk.is-open .fold-top{transform:rotateX(140deg);transition-delay:.9s;transition-duration:1.1s}
.theme-silk.is-open .fold-bottom{transform:rotateX(-140deg);transition-delay:1.05s;transition-duration:1.1s}
.theme-lace.is-open .atelier-left{transform:rotateX(150deg);transition-delay:.55s}
.theme-lace.is-open .atelier-right{transform:translateY(105%);transition-delay:.85s}
.theme-lace.is-open .scene-badge{animation:lace-clasp-flight 1.2s cubic-bezier(.45,0,.3,1) both;transition:none}
.theme-lace.is-open .pearl-wing-left{animation:pearl-left .34s ease-in-out infinite}
.theme-lace.is-open .pearl-wing-right{animation:pearl-right .34s ease-in-out infinite}
@keyframes lace-clasp-flight{0%{opacity:1;transform:translate(-50%,-50%) rotate(0)}30%{opacity:1;transform:translate(-50%,-65%) rotate(-6deg) scale(1.06)}100%{opacity:0;transform:translate(5%,-195%) rotate(-18deg) scale(.68)}}
.theme-butterfly.is-open .olive-left{transform:rotateY(-140deg);transition-delay:.3s}
.theme-butterfly.is-open .olive-right{transform:rotateY(140deg);transition-delay:.45s}
.theme-butterfly.is-open .olive-top{transform:rotateX(150deg);transition-delay:.6s}
.theme-butterfly.is-open .olive-bottom{transform:rotateX(-150deg);transition-delay:.8s}
.is-resetting,.is-resetting *{transition:none!important;animation:none!important}

/* Jonli matnlar fonning bo‘sh markaziga sig‘adi. */
.themed-content{max-width:600px;margin:auto;background:var(--sheet);box-shadow:0 0 45px #2a211a18;container-type:inline-size}
.themed-content .letter-hero{position:relative;isolation:isolate;min-height:max(100svh,150cqw);padding:25cqw 18cqw 18cqw;background:var(--art) center/100% 100%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;color:var(--ink)}
.letter-hero>.letter-flower{display:none}
.letter-hero>.eyebrow{font:10px/1.8 'IBM Plex Sans',sans-serif;letter-spacing:1.7px;max-width:100%;text-wrap:balance}
.letter-hero .invite-names{max-width:100%;font:clamp(40px,12cqw,72px)/1.25 'Great Vibes',cursive;letter-spacing:0;overflow-wrap:anywhere;margin:24px 0;padding:4px 6px;font-weight:400}
.letter-hero .invite-names>span{display:block;font:italic 18px/1.4 'Cormorant Garamond',serif;margin:7px 0}
.names-long .letter-hero .invite-names{font-size:clamp(32px,9cqw,54px);line-height:1.2}
.hero-event-date>span{font:38px/1.2 'Cormorant Garamond',serif}
.hero-event-date>p{font:14px/1.6 'Cormorant Garamond',serif;margin-top:5px;letter-spacing:1px}
.letter-sign{font:8px/1.6 'IBM Plex Sans',sans-serif;letter-spacing:2.5px;margin-top:22px}
.theme-rose .letter-hero{color:#f5dfb5;padding-inline:20cqw}
.theme-silk .letter-hero .invite-names,.theme-porcelain .letter-hero .invite-names{font-family:'Cormorant Garamond',serif;font-size:clamp(33px,9.5cqw,57px);text-transform:uppercase;letter-spacing:1px}
.theme-silk.names-long .invite-names,.theme-porcelain.names-long .invite-names{font-size:clamp(27px,7.5cqw,45px)}
.theme-lace .letter-hero{padding-block:24cqw}
.wing-visitor{flex:0 0 auto;width:clamp(108px,30cqw,164px);aspect-ratio:200/140;margin:0 auto 18px;perspective:700px}
.theme-butterfly .letter-hero{padding:max(45cqw,32svh) 15cqw 13cqw;justify-content:flex-start}
.theme-butterfly .letter-hero>.eyebrow{font:clamp(31px,9cqw,48px)/1.35 'Great Vibes',cursive;letter-spacing:0;text-transform:none}
.theme-butterfly .letter-hero .invite-names{font:clamp(30px,9cqw,48px)/1.14 'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:1px;margin:17px 0 13px}
.theme-butterfly.names-long .letter-hero .invite-names{font-size:clamp(25px,7cqw,39px)}
.olive-subtitle{font:9px/1.6 'IBM Plex Sans',sans-serif;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px}
.olive-message{font:italic clamp(17px,4.7cqw,22px)/1.45 'Cormorant Garamond',serif;max-width:290px;margin-bottom:19px;text-wrap:balance}
.theme-butterfly .hero-event-date>span{font-size:29px}
.olive-place{font:11px/1.6 'IBM Plex Sans',sans-serif;margin-top:12px}
.themed-content[inert] .letter-hero>*{opacity:0}
.themed-content:not([inert]) .letter-hero>*{animation:invite-rise var(--reveal-duration) both;animation-delay:0s}
.themed-content:not([inert]) .letter-hero>.invite-names{animation-delay:var(--names-delay)}
.themed-content:not([inert]) .letter-hero>.hero-event-date{animation-delay:calc(var(--names-delay) + .45s)}
.themed-content:not([inert]) .letter-hero>.letter-sign{animation-delay:calc(var(--names-delay) + .65s)}
.theme-rose .themed-content:not([inert]) .invite-names{animation-name:invite-ink;animation-duration:1.15s}
.theme-porcelain{--names-delay:.45s}
.theme-porcelain .themed-content:not([inert]) .invite-names{animation-name:invite-focus;animation-duration:1.1s}
.theme-lilac .themed-content:not([inert]) .invite-names{animation-name:invite-ink}
.theme-lace{--names-delay:.65s}
.theme-lace .themed-content:not([inert]) .wing-visitor{animation:invite-flight 1.4s both}
.themed-content[inert] .pearl-wing,.themed-content[inert] .pearl-shadow{animation-play-state:paused}
.theme-lace .themed-content:not([inert]) .invite-names{animation-name:invite-focus}
.theme-butterfly{--names-delay:.5s}
.theme-butterfly .themed-content:not([inert]) .olive-subtitle{animation-delay:1s}
.theme-butterfly .themed-content:not([inert]) .olive-message{animation-delay:1.3s}
.theme-butterfly .themed-content:not([inert]) .hero-event-date{animation-delay:1.65s}
.theme-butterfly .themed-content:not([inert]) .olive-place,.theme-butterfly .themed-content:not([inert]) .letter-sign{animation-delay:1.9s}
@keyframes invite-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes invite-ink{from{opacity:0;transform:translateY(5px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes invite-focus{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}
@keyframes invite-flight{from{opacity:0;transform:translate(-25px,20px) rotate(-12deg)}to{opacity:1;transform:none}}

/* Ichki bo‘limlarda bir xil oraliq va o‘qiladigan o‘lchamlar. */
.letter-message,.letter-date,.letter-venue,.letter-countdown,.letter-actions{text-align:center;margin:0;padding:54px 28px;background:var(--sheet)}
.letter-message .eyebrow,.letter-date .eyebrow,.letter-venue .eyebrow,.letter-countdown .eyebrow{font:10px/1.8 'IBM Plex Sans',sans-serif;letter-spacing:1.7px}
.letter-message h2{font-size:38px;line-height:1.15;margin:18px 0 25px}
.letter-message>p:not(.eyebrow){font-size:20px;line-height:1.75;max-width:470px;margin:18px auto}
.message-flower{width:58px;height:70px;margin:25px auto 0;opacity:.45}
.letter-date h2{font-size:32px;margin:14px 0;line-height:1.2}
.letter-date .calendar{font-family:'IBM Plex Sans',sans-serif;max-width:350px;margin:28px auto 0;font-size:12px}
.date-decoration{display:none}
.letter-venue{background:color-mix(in srgb,var(--ink) 7%,var(--sheet))}
.venue-number{display:block;font:42px/1.2 'Cormorant Garamond',serif;margin-bottom:18px}
.letter-venue h2{font-size:34px;line-height:1.15;margin:15px 0;overflow-wrap:anywhere}
.letter-venue p{font-size:19px;margin-bottom:5px}
.letter-venue small{font:10px 'IBM Plex Sans',sans-serif;opacity:.65}
.letter-venue .map-links{justify-content:center;flex-wrap:wrap;gap:10px 18px;font:11px/1.5 'IBM Plex Sans',sans-serif}
.letter-venue .map-links a{padding:10px 0}
.letter-countdown .countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:370px;gap:8px;margin:25px auto}
.letter-countdown .countdown b{font:clamp(32px,9cqw,48px)/1.2 'Cormorant Garamond',serif}
.letter-countdown .countdown small{display:block;font:9px/1.6 'IBM Plex Sans',sans-serif}
.letter-countdown>p:last-child{font-size:21px}
.letter-actions{display:flex;flex-direction:column;align-items:center;gap:12px;padding-block:28px;font-family:'IBM Plex Sans',sans-serif}
.letter-actions p{font-size:8px;line-height:1.8;letter-spacing:1.3px;opacity:.65;margin-top:8px}
.letter-actions .replay{margin:0;max-width:100%;white-space:normal;font-size:12px;padding:13px 20px}
.theme-lace .letter-date{background:#e9eddf}
.theme-lilac .letter-date{border-block:1px solid #dac9aa}
.theme-porcelain .letter-message{border-bottom:3px double #9cabc1}
.theme-butterfly .letter-countdown{background:#46533e;color:#fff7e2}
.themed-invitation .guest-switch,.invitation-page .guest-switch{position:fixed;z-index:12;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));background:#fffdf4f2;border:1px solid #cec4ad55;box-shadow:0 2px 12px #302a2712;color:#355340}
.guest-switch .language-control button{min-width:35px;min-height:32px}

/* Klassik taklifnomaning qayta ochilishi va kichik ekranlari. */
.invitation-page .opening{height:100svh;padding-top:65px}
.invitation-page .opening[hidden]{display:none}
.invitation-page .opening.opened{transition:transform 1.05s cubic-bezier(.22,1,.36,1),opacity .8s}
.invitation-page .invite-inner{overflow-wrap:anywhere}
.invitation-page .invite-border .invite-names{line-height:1.3;padding:5px 8px}
.invitation-page.names-long .invite-names{font-size:clamp(35px,9vw,56px)}
.invitation-page .opening>p{max-width:90%;overflow-wrap:anywhere}
.invitation-page .invite-inner:not([inert]) .invite-names{animation:invite-ink 1s .2s both}
.motion-reveal{opacity:1;transform:none}
.motion-pending{opacity:0;transform:translateY(18px)}
.motion-visible{opacity:1;transform:none;transition:opacity .7s,transform .8s}
@media(max-height:650px){.opening-heading{top:13%}.personal-names{font-size:28px;margin-top:10px}.names-long .personal-names{font-size:22px}.opening-hint{bottom:12%}.themed-opening>.scene-bottom{bottom:5%}.invitation-page .opening{padding-top:55px;padding-bottom:30px}}
@media(max-width:380px){.letter-message,.letter-date,.letter-venue,.letter-countdown{padding-inline:23px}.letter-message h2{font-size:34px}.themed-content .letter-hero{padding-inline:17cqw}.theme-butterfly .letter-hero{padding-inline:14cqw}.opening-heading{left:13%;right:13%}}
@media(prefers-reduced-motion:reduce){.atelier-panel,.atelier-bow,.fold-panel,.olive-flap,.scene-badge,.opening-heading,.opening-hint,.scene-bottom,.opening{transition:none!important}.themed-content .letter-hero>*,.wing-visitor .botanical,.invite-inner .invite-names{animation:none!important}.motion-pending{opacity:1;transform:none}.motion-visible{transition:none}.themed-content:not([inert]) .letter-hero>*{opacity:1}}
@media(prefers-reduced-motion:reduce){.pearl-wing,.pearl-shadow,.theme-lace.is-open .scene-badge{animation:none!important}}
