.kad{--kad-vh:100dvh;background-color:var(--kad-bg);background-image:var(--kad-tile);min-height:100dvh;color:var(--kad-ink);font:18px/1.5 var(--inv-font);-webkit-font-smoothing:antialiased;padding-bottom:96px;position:relative;overflow-x:clip}.kad *,.kad :before,.kad :after{box-sizing:border-box}.kad.locked{height:100dvh;min-height:0;padding-bottom:0;overflow:hidden}.kad a{color:inherit}.kad-tools{justify-content:space-between;align-items:center;max-width:460px;margin:0 auto;padding:14px 18px 4px;display:flex}.kad-lang{border:1px solid var(--kad-accent);background:var(--kad-paper);border-radius:999px;display:inline-flex;overflow:hidden}.kad-lang button{color:var(--kad-ink);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;padding:6px 14px;font:700 13px system-ui,sans-serif}.kad-lang button.on{background:var(--kad-accent);color:var(--kad-paper)}.kad-music{border:1px solid var(--kad-accent);background:var(--kad-paper);width:40px;height:40px;color:var(--kad-accent);cursor:pointer;border-radius:50%;font-size:17px}.kad-music.playing{animation:2s ease-in-out infinite kad-pulse}@keyframes kad-pulse{50%{transform:scale(1.08)}}.kad-card{text-align:center;background:var(--kad-paper);border-radius:230px 230px 22px 22px/190px 190px 22px 22px;max-width:460px;margin:8px 12px 0;padding:46px 26px 34px;position:relative;box-shadow:0 18px 50px #0003}@media (width>=484px){.kad-card{margin:8px auto 0}}.kad-card:before,.kad-card:after{content:"";pointer-events:none;border:1px solid var(--kad-accent);position:absolute}.kad-card:before{opacity:.85;border-radius:222px 222px 14px 14px/182px 182px 14px 14px;inset:9px}.kad-card:after{display:none}.frame-arch_double .kad-card:after{opacity:.45;border-radius:216px 216px 10px 10px/176px 176px 10px 10px;display:block;inset:15px}.frame-square .kad-card{border-radius:20px;padding-top:38px}.frame-square .kad-card:before{border-radius:12px}.kad-card>*{position:relative}.kad-star{color:var(--kad-accent);margin:0 auto 6px;display:block}.kad-hero{aspect-ratio:3/4;border:3px solid var(--kad-accent);width:64%;box-shadow:0 0 0 5px var(--kad-paper), 0 0 0 6px var(--kad-accent);background-position:50%;background-size:cover;border-radius:999px 999px 14px 14px;margin:2px auto 18px}.kad-art{width:100%;height:auto;display:block}.kad-bismillah{color:var(--kad-ink);margin:6px 0 2px;font:400 30px/1.9 Amiri,Scheherazade New,serif}.kad-title{font:600 14px/1.4 var(--inv-font);letter-spacing:.34em;text-transform:uppercase;color:var(--kad-accent);margin:6px 0 0}.kad-divider{max-width:240px;color:var(--kad-accent);align-items:center;gap:10px;margin:16px auto;display:flex}.kad-divider span{opacity:.6;background:currentColor;flex:1;height:1px}.kad-divider .kad-star{margin:0}.kad-hormat{opacity:.85;margin:0 0 6px;font-style:italic}.kad-host{font:600 21px/1.35 var(--inv-font);margin:0}.kad-invite{opacity:.9;max-width:340px;margin:12px auto 0;font-size:17px}.kad-names{font:400 clamp(46px, 15vw, 66px)/1.05 var(--kad-script);overflow-wrap:anywhere;margin:20px 0 6px}.kad-name-line{display:block}.kad-amp-line{color:var(--kad-accent);margin:2px 0 -2px;font-size:.5em;line-height:1;display:block}.kad-fullnames{letter-spacing:.02em;flex-direction:column;gap:2px;margin:8px 0 0;font-size:18px;display:flex}.kad-amp{font:400 24px/1.2 var(--kad-script);color:var(--kad-accent)}.kad-majlis{margin:26px 0 0}.kad-majlis+.kad-majlis{border-top:1px solid color-mix(in srgb, var(--kad-accent) 40%, transparent);margin-top:30px;padding-top:26px}.kad-majlis-name{font:700 14px/1.4 var(--inv-font);letter-spacing:.26em;text-transform:uppercase;color:var(--kad-accent);margin:0 0 8px}.kad-date{font:600 24px/1.25 var(--inv-font);margin:0}.kad-hijri{color:var(--kad-accent);margin:2px 0 0;font-style:italic}.kad-time{font:600 19px/1.4 var(--inv-font);margin:8px 0 0}.kad-venue{font:700 20px/1.35 var(--inv-font);margin:14px 0 0}.kad-address{opacity:.85;margin:2px 0 0}.kad-maps{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.kad-btn{border:1px solid var(--kad-ink);background:var(--kad-ink);letter-spacing:.02em;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:10px 24px;font:700 15px system-ui,sans-serif;text-decoration:none;display:inline-flex;color:var(--kad-paper)!important}.kad-btn.ghost{background:0 0;color:var(--kad-ink)!important}.kad-btn.small{min-height:40px;padding:8px 18px;font-size:14px}.kad-btn:disabled{opacity:.6}.kad-link{color:var(--kad-accent);cursor:pointer;background:0 0;border:0;padding:0 4px;font:700 14px system-ui,sans-serif;text-decoration:underline}.kad-label{font:700 13px/1.4 var(--inv-font);letter-spacing:.3em;text-transform:uppercase;color:var(--kad-accent);margin:0 0 10px}.kad-muted{opacity:.8;margin:4px 0 10px;font-size:16px}.kad-countdown{margin-top:30px}.kad-aturcara{margin-top:32px}.kad-aturcara ol{margin:0;padding:0;list-style:none}.kad-aturcara li{grid-template-columns:1fr 1fr;align-items:baseline;margin:0 0 14px;display:grid}.kad-at-time{text-align:right;color:var(--kad-accent);padding-right:16px;font-weight:700}.kad-at-label{text-align:left;border-left:1px solid var(--kad-accent);padding-left:16px}.kad-verse{opacity:.92;margin:30px 0 0;padding:0 6px;font-style:italic;line-height:1.7}.kad-note{margin:22px 0 0;font-weight:600}.kad .inv-gallery{margin-top:28px}.kad-salam{background:var(--kad-soft);border-radius:18px;margin-top:32px;padding:20px 14px}.kad-salam img{background:#fff;border-radius:12px;max-width:100%;height:auto;margin:8px auto 12px;padding:8px;display:block}.kad-bank{gap:2px;margin:0;display:grid}.kad-bank dt{letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-top:8px;font-size:13px}.kad-bank dd{font:700 20px/1.3 var(--inv-font);margin:0}.kad-contacts{text-align:left;margin-top:32px}.kad-contacts .kad-label{text-align:center}.kad-contacts ul{margin:0;padding:0;list-style:none}.kad-contacts li{border-top:1px solid color-mix(in srgb, var(--kad-accent) 40%, transparent);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.kad-contacts small{opacity:.75;font-size:15px;display:block}.kad-rsvp-cta{margin-top:32px}.kad-thanks{color:var(--kad-accent);font-weight:700}.kad-summary{text-align:left;background:var(--kad-soft);border-radius:14px;margin:0 0 14px;padding:12px 16px}.kad-summary ul{margin:0 0 6px;padding:0;list-style:none}.kad-branding{opacity:.65;margin-top:26px;font:13px system-ui,sans-serif;text-decoration:none;display:inline-block}.kad-bar{z-index:20;width:calc(100% - 24px);max-width:440px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--kad-paper);border:1px solid var(--kad-accent);border-radius:26px;justify-content:space-around;gap:2px;margin:20px auto 0;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 30px #00000047}.kad-bar-btn{min-width:0;color:var(--kad-ink);cursor:pointer;background:0 0;border:0;border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:7px 2px 5px;font:700 11.5px/1.2 system-ui,sans-serif;display:flex}.kad-bar-btn.primary{background:var(--kad-ink);color:var(--kad-paper)}.kad-bar-btn:active{transform:scale(.96)}.kad.locked .kad-bar{display:none}.kad-sheet-wrap{z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.kad-backdrop{background:#00000080;position:absolute;inset:0}.kad-sheet{background:var(--kad-paper);width:100%;max-width:480px;max-height:88dvh;color:var(--kad-ink);padding:18px 22px calc(26px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.25s ease-out kad-up;position:relative;overflow-y:auto}@keyframes kad-up{0%{opacity:0;transform:translateY(40px)}}.kad-sheet-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.kad-sheet-head h2{font:700 14px var(--inv-font);letter-spacing:.26em;text-transform:uppercase;color:var(--kad-accent);margin:0}.kad-sheet-close{color:var(--kad-ink);cursor:pointer;background:0 0;border:0;padding:0 4px;font:400 30px/1 system-ui,sans-serif}.kad-sheet-list{margin:0;padding:0;list-style:none}.kad-sheet-list li{border-top:1px solid color-mix(in srgb, var(--kad-accent) 35%, transparent);gap:2px;padding:14px 0;display:grid}.kad-sheet-list li:first-child{border-top:0}.kad-sheet-list .kad-maps{justify-content:flex-start}.kad-doors{height:var(--kad-vh);z-index:50;place-items:center;display:grid;position:absolute;top:0;left:0;right:0;overflow:hidden}.kad.locked .kad-doors{height:100%}.kad-door{background-color:var(--kad-bg);background-image:var(--kad-tile);width:50.5%;transition:transform 1.2s cubic-bezier(.7,0,.2,1);position:absolute;top:0;bottom:0}.kad-door.left{border-right:1px solid var(--kad-accent);left:0;box-shadow:inset -22px 0 40px -22px #00000059}.kad-door.right{border-left:1px solid var(--kad-accent);right:0;box-shadow:inset 22px 0 40px -22px #00000059}.kad-doors.opening .kad-door.left{transform:translate(-100%)}.kad-doors.opening .kad-door.right{transform:translate(100%)}.kad-doors-center{z-index:1;text-align:center;background:var(--kad-paper);max-width:320px;color:var(--kad-ink);border:1px solid var(--kad-accent);box-shadow:0 0 0 6px color-mix(in srgb, var(--kad-paper) 55%, transparent), 0 14px 40px #0000004d;border-radius:160px 160px 18px 18px/130px 130px 18px 18px;padding:34px 28px 30px;transition:opacity .5s,transform 1s;position:relative}.kad-doors.opening .kad-doors-center{opacity:0;transform:scale(.92)}.kad-doors-kicker{font:600 12px/1.4 var(--inv-font);letter-spacing:.34em;text-transform:uppercase;color:var(--kad-accent);margin:4px 0 0}.kad-doors-names{font:400 clamp(40px, 13vw, 54px)/1.1 var(--kad-script);overflow-wrap:anywhere;margin:12px 0 20px}.kad-open{border:1px solid var(--kad-ink);background:var(--kad-ink);min-height:46px;color:var(--kad-paper);cursor:pointer;border-radius:999px;padding:10px 26px;font:700 15px system-ui,sans-serif}@media (prefers-reduced-motion:reduce){.kad-door,.kad-doors-center,.kad-sheet,.kad-music.playing{transition:none;animation:none}}.phone .kad{--kad-vh:var(--phone-h,640px);min-height:100%}.phone .kad.locked{height:100%}.phone .kad-sheet-wrap{height:var(--phone-h,640px);margin-top:calc(var(--phone-h,640px) * -1);position:sticky;top:auto;bottom:0}.inv-page,.inv-envelope,.inv-loading{-webkit-font-smoothing:antialiased;min-height:100dvh;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.inv-page *,.inv-envelope *{box-sizing:border-box}.inv-loading{background:#1d1a18}.inv-page{background-color:color-mix(in srgb, var(--inv-accent,#a31d1d) 22%, #141210);background-position:50%;background-size:cover;background-attachment:fixed;justify-content:center;align-items:flex-start;padding:24px 12px 48px;display:flex}.inv-page.plain{background:#f4efe9;align-items:center}.inv-frame{border-radius:18px;width:100%;max-width:480px;box-shadow:0 24px 60px #00000073}.inv-frame.image{background-position:50%;background-size:cover;padding:22px}.inv-card{background:var(--inv-bg,#fff);color:var(--inv-text,#222);border-radius:14px;padding:18px 22px 28px;overflow:hidden}.inv-frame.image .inv-card{border-radius:8px;box-shadow:0 6px 18px #0000004d}.inv-frame.minimal .inv-card{border:2px solid var(--inv-border)}.inv-frame.solid_thick .inv-card{border:6px solid var(--inv-border)}.inv-frame.double_line .inv-card{box-shadow:inset 0 0 0 8px var(--inv-bg), inset 0 0 0 9px var(--inv-border);border:1px solid var(--inv-border)}.inv-toolbar{justify-content:space-between;align-items:center;gap:8px;min-height:40px;display:flex}.inv-lang{border:1px solid var(--inv-border);border-radius:999px;display:inline-flex;overflow:hidden}.inv-lang button{color:var(--inv-text);cursor:pointer;background:0 0;border:0;padding:6px 14px;font:600 14px system-ui,sans-serif}.inv-lang button.on{background:var(--inv-accent);color:var(--inv-bg)}.inv-music{cursor:pointer;background:color-mix(in srgb, var(--inv-accent) 14%, transparent);width:40px;height:40px;color:var(--inv-accent);border:0;border-radius:50%;font-size:18px}.inv-music.playing{animation:2s ease-in-out infinite inv-pulse}@keyframes inv-pulse{50%{transform:scale(1.08)}}.inv-body{text-align:center;padding-top:8px}.inv-xi{font:52px/1 var(--inv-font-zh);color:var(--inv-accent);margin:8px 0 12px}.inv-intro{font:15px/1.5 var(--inv-font);letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin:0 0 18px}.inv-intro.zh{font-family:var(--inv-font-zh);letter-spacing:.3em;text-transform:none;font-size:18px}.inv-names{font:700 clamp(34px, 10vw, 44px)/1.15 var(--inv-font);overflow-wrap:anywhere;margin:0}.inv-names.zh{font-family:var(--inv-font-zh);font-weight:400}.inv-name-line{display:block}.inv-names-alt{font:20px/1.4 var(--inv-font);opacity:.85;margin:8px 0 0}.inv-names-alt.zh{font-family:var(--inv-font-zh);letter-spacing:.15em}.inv-heart{width:26px;height:26px;color:var(--inv-accent);margin:22px auto 6px;display:block}.inv-gallery{margin:18px 0 8px;position:relative}.inv-gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:10px;display:flex;overflow-x:auto}.inv-gallery-track::-webkit-scrollbar{display:none}.inv-gallery-track img{aspect-ratio:4/5;object-fit:cover;scroll-snap-align:center;-webkit-user-select:none;user-select:none;background:color-mix(in srgb, var(--inv-border) 25%, transparent);flex:0 0 100%;width:100%}.inv-gallery-arrow{color:#1a1411;cursor:pointer;opacity:.85;background:#fffc;border:0;border-radius:50%;width:36px;height:36px;font:600 22px/1 sans-serif;position:absolute;top:calc(50% - 22px)}.inv-gallery-arrow.prev{left:8px}.inv-gallery-arrow.next{right:8px}.inv-gallery-dots{justify-content:center;gap:6px;margin-top:10px;display:flex}.inv-gallery-dots span{background:var(--inv-accent);opacity:.3;border-radius:50%;width:6px;height:6px;transition:opacity .2s}.inv-gallery-dots span.on{opacity:1}@media (hover:none){.inv-gallery-arrow{display:none}}.inv-event{border-top:1px solid color-mix(in srgb, var(--inv-border) 70%, transparent);padding:18px 0}.inv-event:first-of-type{border-top:0}.inv-event-name{font:700 20px/1.3 var(--inv-font);color:var(--inv-accent);margin:0 0 6px}.inv-event-name.zh{font-family:var(--inv-font-zh);font-size:24px;font-weight:400}.inv-date{font:700 18px/1.4 var(--inv-font);margin:0}.inv-time{font:16px/1.4 var(--inv-font);margin:2px 0 8px}.inv-venue{font:17px/1.4 var(--inv-font);margin:0}.inv-address{opacity:.8;margin:2px 0 10px;font-size:14px}.inv-countdown{grid-template-columns:repeat(4,1fr);gap:4px;margin:18px 0 4px;display:grid}.inv-countdown>div{flex-direction:column;align-items:center;min-width:0;display:flex}.inv-count-num{font:700 clamp(22px, 7.5vw, 32px)/1.1 var(--inv-font);font-variant-numeric:tabular-nums}.inv-count-label{letter-spacing:.12em;text-transform:uppercase;opacity:.7;font-size:11px}.inv-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:22px;display:flex}.inv-thanks{color:var(--inv-accent);margin:0;font-weight:700}.inv-summary ul{margin:0 0 4px;padding:0;list-style:none}.inv-summary li{margin:2px 0}.inv-gift{border-top:1px solid color-mix(in srgb, var(--inv-border) 70%, transparent);margin-top:22px;padding-top:14px}.inv-gift summary{cursor:pointer;color:var(--inv-accent);font-weight:700;list-style:none}.inv-gift summary::-webkit-details-marker{display:none}.inv-actions .inv-gift.declined{margin-top:6px}.inv-gift img{background:#fff;border-radius:8px;max-width:100%;height:auto;margin:12px auto 6px;display:block}.inv-branding{color:inherit;opacity:.55;margin-top:26px;font-size:12px;display:inline-block}.inv-btn{border:2px solid var(--inv-accent);background:var(--inv-accent);min-height:52px;color:var(--inv-bg);letter-spacing:.02em;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:12px 22px;font:700 16px system-ui,sans-serif;text-decoration:none;display:inline-flex}.inv-btn.ghost{color:var(--inv-accent);background:0 0}.inv-btn.small{min-height:40px;padding:8px 16px;font-size:14px}.inv-btn.zh{font-family:var(--inv-font-zh);font-size:18px;font-weight:400}.inv-btn:disabled{opacity:.6;cursor:default}.inv-link{color:inherit;opacity:.8;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px;font:600 14px system-ui,sans-serif;text-decoration:underline}.inv-link.center{margin:8px auto 0;display:block}.inv-kicker{font:14px/1.4 var(--inv-font);letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin:0 0 6px}.inv-heading{font:700 26px/1.25 var(--inv-font);margin:0 0 8px}.inv-muted{opacity:.78;margin:0 0 8px;font-size:14px}.inv-error{color:#8a1c14;text-align:left;background:#fdecea;border-radius:8px;padding:10px 12px;font-size:14px}.inv-envelope{text-align:center;background:var(--inv-bg);color:var(--inv-text);flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;display:flex}.inv-envelope-icon{width:76px;height:76px;color:var(--inv-accent);margin-bottom:18px}.inv-env-names{font:700 clamp(32px, 9vw, 42px)/1.2 var(--inv-font);overflow-wrap:anywhere;margin:6px 0 4px}.inv-env-names-zh{font:22px/1.4 var(--inv-font-zh);letter-spacing:.2em;margin:0}.inv-env-buttons{flex-direction:column;gap:12px;width:100%;max-width:280px;margin-top:40px;display:flex}.inv-rsvp{text-align:left;padding-top:8px}.inv-rsvp .inv-heading,.inv-rsvp .inv-kicker,.inv-rsvp>.inv-muted{text-align:center}.inv-rsvp .inv-btn{width:100%;margin-top:8px}.inv-event-q{border:1px solid color-mix(in srgb, var(--inv-border) 80%, transparent);border-radius:12px;margin:16px 0;padding:12px 14px}.inv-event-q legend{font:700 17px var(--inv-font);color:var(--inv-accent);padding:0 6px}.inv-guest-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.inv-guest-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.inv-yesno{border:1px solid var(--inv-border);border-radius:10px;flex:none;display:inline-flex;overflow:hidden}.inv-yesno.three{display:flex}.inv-yesno.three button{flex:1}.inv-yesno button{color:var(--inv-text);cursor:pointer;background:0 0;border:0;min-height:44px;padding:10px 12px;font:600 14px system-ui,sans-serif}.inv-yesno button+button{border-left:1px solid var(--inv-border)}.inv-yesno button.on.yes{background:var(--inv-accent);color:var(--inv-bg)}.inv-yesno button.on.no{background:color-mix(in srgb, var(--inv-text) 16%, transparent)}.inv-plus{margin:16px 0}.inv-plus-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.inv-plus-row input.inv-input{flex:160px;width:auto;min-width:0}.inv-plus-row select.inv-age{flex:none;width:auto}.inv-field{margin:14px 0;display:block}.inv-field>span{margin-bottom:6px;font-size:14px;font-weight:600;display:block}.inv-input{color:#222;background:#fff;border:1px solid #cfc6bd;border-radius:8px;width:100%;padding:11px 12px;font:16px system-ui,sans-serif}.inv-input:focus{outline:2px solid var(--inv-accent);outline-offset:1px}.inv-details{margin:12px 0}.inv-details summary{cursor:pointer;font-size:14px;font-weight:600}.inv-notfound{text-align:center;max-width:420px;padding:32px 24px}.inv-majlis .inv-yesno{display:flex}.inv-majlis .inv-yesno button{flex:1}.inv-headcount{gap:8px;margin-top:10px;display:grid}.inv-stepper{align-items:center;gap:10px;display:flex}.inv-stepper>span{flex:1;font-size:14px;font-weight:600}.inv-stepper button{border:1px solid var(--inv-border);width:44px;height:44px;color:var(--inv-text);cursor:pointer;background:0 0;border-radius:50%;font:600 20px system-ui,sans-serif}.inv-stepper button:disabled{opacity:.35;cursor:default}.inv-stepper output{text-align:center;min-width:28px;font:700 18px system-ui,sans-serif}.inv-session{display:block}.inv-session>span{margin-bottom:6px;font-size:14px;font-weight:600;display:block}
