:root{--paper:#fbf3e3;--ink:#102d2f;--muted:#5d6b69;--olive:#0f5a55;--line:#ead9b8;--teal:#0b4f4c;--teal-deep:#082f31;--gold:#c9952c;--gold-soft:#f0d28a;--raya:#c2273d;--maroon:#5a1020;--indigo:#1c2759}body{color:#1d3b3a;background:radial-gradient(circle at 12% 8%, #c9952c24, transparent 32%), radial-gradient(circle at 92% 30%, #c2273d12, transparent 30%), var(--paper)}::selection{background:var(--gold);color:var(--teal-deep)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--raya)}.site-header{border-bottom:1px solid var(--line);background:#fbf3e3e6;box-shadow:0 1px #c9952c40}.site-header:after{content:"";background:repeating-linear-gradient(90deg, var(--gold) 0 10px, transparent 10px 14px, var(--raya) 14px 18px, transparent 18px 22px);opacity:.75;height:3px;position:absolute;bottom:-1px;left:0;right:0}.brand-mark{background:conic-gradient(from 45deg, var(--teal), var(--raya), var(--gold), var(--teal));color:#fff;border-radius:50% 50% 50% 8px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}.brand:hover .brand-mark{transform:rotate(180deg)scale(1.08)}.brand-light{color:var(--raya)}.main-nav a{position:relative}.main-nav a:after{content:"";background:var(--raya);height:2px;transition:right .3s;position:absolute;bottom:4px;left:0;right:100%}.main-nav a:hover:after{right:0}.button{transition:transform .25s,box-shadow .25s,background .25s;position:relative;overflow:hidden}.button:before{content:"";background:linear-gradient(105deg,#0000 30%,#ffffff59 50%,#0000 70%);transition:transform .7s;position:absolute;inset:0;transform:translate(-120%)}.button:hover:before{transform:translate(120%)}.button:hover{transform:translateY(-2px)}.button-dark{background:linear-gradient(135deg, var(--teal) 0%, #0d6b62 100%);color:#fff7df;box-shadow:0 8px 22px #0b4f4c47}.button-dark:hover{box-shadow:0 12px 28px #0b4f4c61}.button-outline,.button-price{border-color:var(--teal);color:var(--teal)}.button-outline:hover,.button-price:hover{background:var(--teal);color:#fff7df}.text-link{color:var(--raya)}.language-switcher{background:#fffaf0e6;border:1px solid #082f3129;border-radius:999px;flex:none;align-items:center;gap:3px;padding:3px;display:inline-flex}.language-switcher button{min-width:39px;min-height:32px;color:var(--teal-deep);font:700 11px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 9px;transition:background .2s,color .2s}.language-switcher button[aria-pressed=true]{background:var(--teal-deep);color:#fffaf0}.language-switcher button:focus-visible{outline:2px solid var(--raya);outline-offset:2px}.language-switcher-compact button{min-width:34px;min-height:29px;padding:0 7px}.mobile-language-row{display:none}.eyebrow{color:var(--raya);letter-spacing:.2em}.eyebrow-line{background:var(--gold)}.hero h1 em,h2 em{color:var(--raya);background:linear-gradient(90deg, var(--raya), var(--gold) 120%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic}.hero h1,.section h2,.pricing-heading h2,.closing-cta h2{color:var(--teal-deep)}.hero-description{color:#4f6361}.hero-proof span i{color:var(--raya);font-style:normal}.hero{isolation:isolate}.hero:before{content:"";z-index:-1;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M40 6 L74 40 L40 74 L6 40Z' fill='none' stroke='%23c9952c' stroke-width='.8' opacity='.45'/%3E%3Ccircle cx='40' cy='40' r='3' fill='%23c2273d' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 75%,#000 0,#0000 70%);mask-image:radial-gradient(at 75%,#000 0,#0000 70%)}.art-glow{background:radial-gradient(circle,#c9952c73,#c2273d29 55%,#0000 72%);animation:6s ease-in-out infinite breathe}.invite-card{border-radius:4px}.invite-card-back{background:linear-gradient(150deg, var(--indigo), #121a40);color:var(--gold-soft);border:1px solid var(--gold)}.invite-card-front{color:var(--gold-soft);animation:7s ease-in-out infinite floaty}.invite-card-front .invite-ornament,.invite-card-front .invite-divider{display:none}.invite-card-front .invite-stamp{background:var(--raya);color:#fff;border-color:var(--gold)}.invite-card-front>:not(.motif){z-index:1;position:relative}.floating-note{border:1px solid var(--line);background:#fffaf0;animation:6s ease-in-out infinite reverse floaty;box-shadow:0 14px 30px #082f3124}.note-icon,.note-check{color:var(--raya)}.hero-bottom{color:var(--teal)}.trust-strip{background:var(--teal-deep);color:var(--gold-soft);border:0;position:relative}.trust-strip i{color:var(--raya);background:var(--gold-soft);border-radius:50%;margin-right:6px;padding:2px 6px;font-style:normal}.trust-strip:before,.trust-strip:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='8'%3E%3Cpath d='M0 8 L8 0 L16 8Z' fill='%23c9952c'/%3E%3C/svg%3E") repeat-x;height:8px;position:absolute;left:0;right:0}.trust-strip:before{top:0;transform:scaleY(-1)}.trust-strip:after{bottom:0}.collection-section{position:relative}.how-section{background:linear-gradient(#f6e8c9,#fbf3e3)}.step{border:1px solid var(--line);background:#fffaf0;border-radius:14px;transition:transform .3s,box-shadow .3s,border-color .3s}.step:hover{border-color:var(--gold);transform:translate(8px);box-shadow:0 12px 26px #c9952c2e}.step-number{color:var(--raya)}.price-card{border:1px solid var(--line);background:#fffaf0;border-radius:16px;transition:transform .35s,box-shadow .35s}.price-card:hover{transform:translateY(-8px);box-shadow:0 22px 44px #082f3129}.price-featured{background:linear-gradient(160deg, var(--teal), var(--teal-deep));color:#fff2cf;border-color:var(--gold)}.price-featured h3,.price-featured .price-amount,.price-featured p,.price-featured li{color:#fff2cf}.popular-tag{background:var(--gold);color:var(--teal-deep)}.pricing-demo-note{color:var(--raya)}.closing-cta{background:radial-gradient(circle at 50% 0, #0f6a62, var(--teal-deep) 70%);color:var(--gold-soft);position:relative;overflow:hidden}.closing-cta:before{content:"";opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M40 6 L74 40 L40 74 L6 40Z' fill='none' stroke='%23f0d28a' stroke-width='.8'/%3E%3C/svg%3E");position:absolute;inset:0}.closing-cta>*{position:relative}.closing-cta h2,.closing-cta .eyebrow,.closing-cta .cta-note{color:var(--gold-soft)}.closing-cta .button-dark{background:linear-gradient(135deg, var(--raya), #a5162b)}.cta-flower{color:var(--gold);animation:22s linear infinite spin}.site-footer{color:#d7c79a;border-top:4px solid var(--gold);background:#061f21}.site-footer a{color:#e9d9aa}.site-footer .brand-light{color:var(--gold)}.filter-button{border:1px solid var(--gold);color:var(--teal);background:#fffaf0;border-radius:999px;transition:all .25s}.filter-button:hover{background:var(--gold-soft);transform:translateY(-2px)}.filter-button.active{background:var(--teal);color:var(--gold-soft);border-color:var(--teal)}.template-count{color:var(--raya)}.template-tile,.template-preview{transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.template-tile:hover,.template-preview:hover{transform:translateY(-10px)rotate(-.6deg)}.template-tile .preview-visual,.template-preview .preview-visual{min-height:340px;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:box-shadow .35s,transform .2s ease-out}.template-tile:hover .preview-visual,.template-preview:hover .preview-visual{box-shadow:0 28px 50px #082f314d}.preview-label{color:var(--raya);font-weight:700}.premium-chip{background:var(--gold);color:var(--teal-deep);border-radius:999px;padding:2px 7px;font-size:9px}.preview-caption b{color:var(--teal-deep)}.editor-page{background:#f6ead0}.editor-topbar,.editor-panel{border-color:var(--line);background:#fffaf0}.editor-panel h1{color:var(--teal-deep)}.form-field input,.form-field textarea,.form-field select{border:1.5px solid var(--line);background:#fff;border-radius:10px;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #c9952c47}.editor-preview{background:radial-gradient(#fff3d2 0,#f0dcae 70%)}.dashboard-invite-art{border-radius:14px;position:relative;overflow:hidden}.dashboard-invite-art .theme-seal{opacity:.9;width:84px;animation:40s linear infinite spin;position:absolute;top:-14px;right:-14px}.dashboard-invite-art.theme-raya{color:var(--maroon);background:linear-gradient(145deg,#fff0e2,#ffd6cf)}.dashboard-invite-art.theme-moden{color:var(--gold-soft);background:linear-gradient(145deg,#0f3d3e,#0a2a2e)}.dashboard-invite-art.theme-songket{color:var(--gold-soft);background:linear-gradient(145deg,#5c0f22,#3d0914)}.dashboard-invite-art.theme-melur{color:#0e4a3a;background:linear-gradient(145deg,#f4fbf4,#d8eedd)}.dashboard-invite-art.theme-batik{color:var(--gold-soft);background:linear-gradient(145deg,#1c2759,#131a40)}.dashboard-invite-art.theme-wau{color:#5a1536;background:linear-gradient(145deg,#ffe3b3,#ffb785)}[data-theme]{--bg:#fff;--fg:#222;--accent:var(--gold);--petal:var(--gold);--vein:#fff;--core:var(--raya);--band:none;--pattern:none;--frame:var(--gold)}.preview-visual[data-theme],.preview-phone[data-theme],.public-card[data-theme],.invite-card-front[data-theme]{isolation:isolate;background:var(--bg);color:var(--fg);border-radius:6px;position:relative;overflow:hidden}.preview-phone[data-theme],.public-card[data-theme]{border:0;animation:.8s cubic-bezier(.2,.8,.2,1) both cardIn;box-shadow:0 24px 60px #082f3147}.preview-phone:hover,.public-card:hover{transition:transform .4s;transform:translateY(-4px)scale(1.01)}.preview-phone h2,.public-card h1,.preview-visual strong,.invite-card-front .invite-names{color:var(--name-color,var(--fg));font-family:var(--serif)}.preview-phone h2 em,.public-card h1 em,.preview-visual i,.invite-card-front i{color:var(--accent);-webkit-text-fill-color:currentColor;background:0 0}.preview-phone .phone-message,.public-card .phone-message{color:var(--fg);opacity:.85}.phone-top,.phone-bottom,.public-foot,.preview-visual small{color:var(--accent);letter-spacing:.2em;font-weight:600}.phone-line{background:var(--accent)!important}.preview-phone>:not(.motif):not(.phone-bottom),.public-card>:not(.motif):not(.public-foot),.preview-visual>:not(.motif){z-index:2;position:relative}.preview-phone .phone-bottom,.public-card .public-foot{z-index:2}.public-actions a{color:var(--accent);border-color:var(--accent);align-items:center;gap:7px;display:inline-flex}.preview-visual span:not(.motif):not(.motif *){color:var(--fg);opacity:.85}.motif{z-index:0;pointer-events:none;position:absolute;inset:0}.motif>*{position:absolute}.motif-glow{background-image:var(--pattern);background-size:var(--pattern-size,60px);opacity:var(--pattern-opacity,.12);inset:0}.motif-frame{border:1px solid color-mix(in srgb, var(--frame) calc(var(--frame-opacity,1) * 100%), transparent);outline:1px solid color-mix(in srgb, var(--frame) calc(var(--frame-opacity,1) * 100%), transparent);outline-offset:-6px;opacity:.8;border-radius:var(--frame-radius,3px);inset:14px}.motif-band{background-image:var(--band);background-repeat:repeat-x;background-size:auto 100%;height:16px;left:14px;right:14px}.motif-band-top{top:22px}.motif-band-bottom{bottom:22px;transform:scaleY(-1)}.motif-corner{aspect-ratio:1;width:34%;max-width:130px}.motif-tl{transform-origin:20% 20%;animation:7s ease-in-out infinite sway;top:-3%;left:-3%}.motif-br{animation:8s ease-in-out infinite reverse sway;bottom:-3%;right:-3%;transform:rotate(180deg)}.motif-flower{filter:drop-shadow(0 2px 3px #0003);width:100%;height:100%;overflow:visible}.motif-flower .petal{fill:var(--petal);stroke:var(--core);stroke-width:.8px}.motif-flower .vein{fill:var(--vein);opacity:.55;stroke:none}.motif-flower .core,.motif-flower .bud{fill:var(--core)}.motif-flower .stamen{fill:none;stroke:var(--core);stroke-width:2.5px;stroke-linecap:round}.theme-seal{aspect-ratio:1;width:64px;display:block}.theme-seal .motif-flower{--petal:var(--gold);--vein:#fff;--core:var(--raya)}[data-theme=raya]{--bg:radial-gradient(circle at 20% 15%, #fff7ea, #ffe0d3 90%);--fg:#6b1020;--accent:#c2273d;--petal:#e23a52;--vein:#ffb3bd;--core:#8f1230;--frame:#c9952c;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cpath d='M30 8 C38 18 38 28 30 36 C22 28 22 18 30 8Z' fill='%23c2273d'/%3E%3C/svg%3E");--pattern-size:60px;--pattern-opacity:.07;--band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='16'%3E%3Cpath d='M0 8 C7 0 7 16 14 8 C21 0 21 16 28 8' fill='none' stroke='%23c2273d' stroke-width='1.6'/%3E%3Ccircle cx='14' cy='8' r='2' fill='%23c9952c'/%3E%3C/svg%3E")}[data-theme=moden]{--bg:linear-gradient(160deg, #0f4a48, #082a2d 85%);--fg:#f7ebcf;--accent:#e6bd5c;--petal:transparent;--vein:#e6bd5c;--core:#e6bd5c;--frame:#e6bd5c;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M24 0 L48 24 L24 48 L0 24Z M24 12 L36 24 L24 36 L12 24Z' fill='none' stroke='%23e6bd5c' stroke-width='.8'/%3E%3C/svg%3E");--pattern-size:48px;--pattern-opacity:.16;--band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='16'%3E%3Cpath d='M10 2 L18 8 L10 14 L2 8Z' fill='none' stroke='%23e6bd5c' stroke-width='1.2'/%3E%3C/svg%3E")}[data-theme=moden] .motif-flower .petal{fill:none;stroke:var(--accent);stroke-width:1.6px}[data-theme=songket]{--bg:linear-gradient(160deg, #6e1428, #3a0813 90%);--fg:#fbe9bf;--accent:#efc25a;--petal:#efc25a;--vein:#a8761a;--core:#6e1428;--frame:#efc25a;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 4 L36 20 L20 36 L4 20Z' fill='none' stroke='%23efc25a' stroke-width='1'/%3E%3Cpath d='M20 12 L28 20 L20 28 L12 20Z' fill='%23efc25a' opacity='.5'/%3E%3C/svg%3E");--pattern-size:40px;--pattern-opacity:.2;--band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='16'%3E%3Cpath d='M0 16 L10 0 L20 16Z' fill='%23efc25a'/%3E%3Cpath d='M10 16 L10 7' stroke='%236e1428' stroke-width='1.5'/%3E%3C/svg%3E")}[data-theme=melur]{--bg:linear-gradient(160deg, #fbfff8, #d6ecda 95%);--fg:#0e4a3a;--accent:#1f8a64;--petal:#fff;--vein:#cfe9d6;--core:#e0a82e;--frame:#1f8a64;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Ccircle cx='28' cy='14' r='5' fill='%231f8a64'/%3E%3Ccircle cx='28' cy='42' r='5' fill='%231f8a64'/%3E%3Ccircle cx='14' cy='28' r='5' fill='%231f8a64'/%3E%3Ccircle cx='42' cy='28' r='5' fill='%231f8a64'/%3E%3C/svg%3E");--pattern-size:56px;--pattern-opacity:.09;--band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16'%3E%3Ccircle cx='12' cy='8' r='4' fill='%23fff' stroke='%231f8a64' stroke-width='1'/%3E%3Ccircle cx='12' cy='8' r='1.4' fill='%23e0a82e'/%3E%3Cpath d='M0 8 H6 M18 8 H24' stroke='%231f8a64'/%3E%3C/svg%3E")}[data-theme=melur] .motif-flower .petal{stroke:#1f8a64}[data-theme=batik]{--bg:linear-gradient(160deg, #26337a, #121a40 95%);--fg:#f5e8c6;--accent:#e8b952;--petal:#e8b952;--vein:#7a4e0e;--core:#1c2759;--frame:#e8b952;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cg fill='none' stroke='%23e8b952' stroke-width='1'%3E%3Cellipse cx='22' cy='11' rx='6' ry='11'/%3E%3Cellipse cx='22' cy='33' rx='6' ry='11'/%3E%3Cellipse cx='11' cy='22' rx='11' ry='6'/%3E%3Cellipse cx='33' cy='22' rx='11' ry='6'/%3E%3C/g%3E%3Ccircle cx='22' cy='22' r='2' fill='%23e8b952'/%3E%3C/svg%3E");--pattern-size:44px;--pattern-opacity:.32;--band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='16'%3E%3Ccircle cx='11' cy='8' r='5' fill='none' stroke='%23e8b952' stroke-width='1.2'/%3E%3Ccircle cx='11' cy='8' r='1.6' fill='%23e8b952'/%3E%3C/svg%3E")}[data-theme=wau]{--bg:linear-gradient(170deg, #ffeab8 0%, #ffb585 55%, #f58aa0 100%);--fg:#561234;--accent:#d1306b;--petal:#0f7a74;--vein:#ffe3a3;--core:#d1306b;--frame:#0f7a74;--pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpath d='M32 6 L52 30 L32 58 L12 30Z' fill='none' stroke='%230f7a74' stroke-width='1.2'/%3E%3C/svg%3E");--pattern-size:64px;--pattern-opacity:.14;--band:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='16'%3E%3Cpath d='M13 1 L23 8 L13 15 L3 8Z' fill='%230f7a74'/%3E%3Ccircle cx='13' cy='8' r='2' fill='%23ffe3a3'/%3E%3C/svg%3E")}[data-theme=wau] .motif-glow{background-image:var(--pattern), radial-gradient(circle at 80% 12%, #fff5c8e6 0, #fff5c800 38%);opacity:.6;background-size:64px,100% 100%}[data-theme=bunga]{--bg:linear-gradient(160deg, #fff0f4, #ffd3df 95%);--fg:#5a1631;--accent:#c2336a;--petal:#f08bab;--vein:#fff0f4;--core:#e0a526;--frame:#c2336a;--pattern:radial-gradient(circle, #f08bab 1.5px, transparent 2px);--pattern-size:26px;--pattern-opacity:.3;--band:radial-gradient(circle, #c2336a 3px, transparent 4px)}[data-theme=ketupat]{--bg:linear-gradient(160deg, #1b6b3f, #0d3d24 95%);--fg:#fbeec0;--accent:#f0c14b;--petal:#f0c14b;--vein:#0d3d24;--core:#fbeec0;--frame:#f0c14b;--pattern:repeating-linear-gradient(45deg, #f0c14b80 0 1px, transparent 1px 14px), repeating-linear-gradient(-45deg, #f0c14b80 0 1px, transparent 1px 14px);--pattern-size:auto;--pattern-opacity:.35;--band:radial-gradient(circle, #f0c14b 3px, transparent 4px)}[data-theme=pelita]{--bg:linear-gradient(160deg, #3b1f66, #1a0d38 95%);--fg:#fde9b4;--accent:#ffc23d;--petal:#ffc23d;--vein:#3b1f66;--core:#fff3c4;--frame:#ffc23d;--pattern:radial-gradient(circle, #ffc23dcc 1.5px, transparent 2px);--pattern-size:30px;--pattern-opacity:.4;--band:radial-gradient(circle, #ffc23d 3px, transparent 4px)}[data-theme=masjid]{--bg:linear-gradient(160deg, #0f6b5c, #07352d 95%);--fg:#fff6dd;--accent:#e6c36a;--petal:#e6c36a;--vein:#07352d;--core:#fff6dd;--frame:#e6c36a;--pattern:repeating-linear-gradient(45deg, #e6c36a66 0 1px, transparent 1px 18px), repeating-linear-gradient(-45deg, #e6c36a66 0 1px, transparent 1px 18px);--pattern-size:auto;--pattern-opacity:.3;--band:radial-gradient(circle, #e6c36a 3px, transparent 4px)}[data-theme=bahagia]{--bg:linear-gradient(160deg, #fff4c2, #ffc9a0 95%);--fg:#5b1d3a;--accent:#e8472f;--petal:#ff8a3d;--vein:#fff4c2;--core:#2a9d8f;--frame:#e8472f;--pattern:radial-gradient(circle at 20% 30%, #2a9d8f 3px, transparent 4px), radial-gradient(circle at 70% 70%, #e8472f 3px, transparent 4px), radial-gradient(circle at 50% 10%, #ff8a3d 2px, transparent 3px);--pattern-size:48px;--pattern-opacity:.35;--band:radial-gradient(circle, #e8472f 3px, transparent 4px)}[data-theme=formal]{--bg:linear-gradient(160deg, #1e2f4f, #0e1830 95%);--fg:#eef2fa;--accent:#c9d3e6;--petal:#c9d3e6;--vein:#0e1830;--core:#eef2fa;--frame:#c9d3e6;--pattern:repeating-linear-gradient(0deg, #c9d3e640 0 1px, transparent 1px 16px);--pattern-size:auto;--pattern-opacity:.3;--band:radial-gradient(circle, #c9d3e6 2px, transparent 3px)}[data-theme=gala]{--bg:linear-gradient(160deg, #1a1a1a, #050505 95%);--fg:#f6e3a8;--accent:#d9b44a;--petal:#d9b44a;--vein:#050505;--core:#f6e3a8;--frame:#d9b44a;--pattern:repeating-linear-gradient(60deg, #d9b44a4d 0 1px, transparent 1px 20px), repeating-linear-gradient(-60deg, #d9b44a4d 0 1px, transparent 1px 20px);--pattern-size:auto;--pattern-opacity:.35;--band:radial-gradient(circle, #d9b44a 3px, transparent 4px)}[data-theme=bunga] .phone-chip,[data-theme=bahagia] .phone-chip{color:#fff}[data-theme=ketupat] .phone-chip,[data-theme=pelita] .phone-chip,[data-theme=masjid] .phone-chip,[data-theme=formal] .phone-chip,[data-theme=gala] .phone-chip{color:#111}[data-theme=baby]{--bg:linear-gradient(160deg, #e9f6ff, #ffe6ef 95%);--fg:#4a5d86;--accent:#f08fb0;--petal:#f9b6cb;--vein:#e9f6ff;--core:#ffd96b;--frame:#f08fb0;--pattern:radial-gradient(circle, #f08fb080 2px, transparent 3px);--pattern-size:34px;--pattern-opacity:.35;--band:radial-gradient(circle, #f08fb0 3px, transparent 4px)}[data-theme=party]{--bg:linear-gradient(160deg, #fff3b8, #ffc2dd 55%, #bfe9ff 100%);--fg:#5b1d5f;--accent:#e8368f;--petal:#ff8a3d;--vein:#fff3b8;--core:#1fa8d6;--frame:#e8368f;--pattern:radial-gradient(circle at 20% 30%, #1fa8d6 3px, transparent 4px), radial-gradient(circle at 70% 70%, #e8368f 3px, transparent 4px), radial-gradient(circle at 50% 10%, #ff8a3d 2px, transparent 3px);--pattern-size:60px;--pattern-opacity:.55;--band:radial-gradient(circle, #e8368f 3px, transparent 4px)}[data-theme=ramadan]{--bg:linear-gradient(160deg, #1b2a5c, #0b1230 95%);--fg:#fbeec0;--accent:#f2c14e;--petal:#f2c14e;--vein:#0b1230;--core:#fff3c4;--frame:#f2c14e;--pattern:radial-gradient(circle, #f2c14ecc 1.2px, transparent 2px);--pattern-size:28px;--pattern-opacity:.35;--band:radial-gradient(circle, #f2c14e 3px, transparent 4px)}[data-theme=islamic]{--bg:linear-gradient(160deg, #0d5c4d, #06302a 95%);--fg:#f8f1d4;--accent:#d8b765;--petal:#d8b765;--vein:#06302a;--core:#f8f1d4;--frame:#d8b765;--pattern:repeating-linear-gradient(45deg, #d8b76559 0 1px, transparent 1px 20px), repeating-linear-gradient(-45deg, #d8b76559 0 1px, transparent 1px 20px);--pattern-size:auto;--pattern-opacity:.35;--band:radial-gradient(circle, #d8b765 3px, transparent 4px)}[data-theme=rustic]{--bg:linear-gradient(160deg, #f3e6d0, #e0c9a6 95%);--fg:#5a3d24;--accent:#8a5a32;--petal:#a9794a;--vein:#f3e6d0;--core:#6b7a45;--frame:#8a5a32;--pattern:repeating-linear-gradient(90deg, #8a5a321f 0 1px, transparent 1px 14px);--pattern-size:auto;--pattern-opacity:.6;--band:radial-gradient(circle, #8a5a32 2px, transparent 3px)}[data-theme=vintage]{--bg:linear-gradient(160deg, #f6ecd6, #e6d3ac 95%);--fg:#6a4a2e;--accent:#9c6b3f;--petal:#b78a5a;--vein:#f6ecd6;--core:#8c3b3b;--frame:#9c6b3f;--pattern:radial-gradient(circle, #6a4a2e33 1px, transparent 2px);--pattern-size:18px;--pattern-opacity:.5;--band:radial-gradient(circle, #9c6b3f 2px, transparent 3px)}[data-theme=watercolor]{--bg:radial-gradient(ellipse at 20% 15%, #d9ecff, transparent 55%), radial-gradient(ellipse at 85% 85%, #ffd9e4, transparent 55%), #fffaf4;--fg:#4b5878;--accent:#7f9bd1;--petal:#f2a7c0;--vein:#fffaf4;--core:#f5d37a;--frame:#a9bde3;--pattern:none;--band:none}[data-theme=corporate]{--bg:linear-gradient(160deg, #f4f7fb, #dbe4f0 95%);--fg:#1e2f4f;--accent:#2f5fa8;--petal:#2f5fa8;--vein:#f4f7fb;--core:#1e2f4f;--frame:#2f5fa8;--pattern:repeating-linear-gradient(0deg, #2f5fa81f 0 1px, transparent 1px 16px);--pattern-size:auto;--pattern-opacity:.6;--band:radial-gradient(circle, #2f5fa8 2px, transparent 3px)}[data-theme=minimal]{--bg:linear-gradient(180deg, #fff, #f4f2ee 100%);--fg:#2f2f2f;--accent:#8a8a8a;--petal:#b5b5b5;--vein:#fff;--core:#2f2f2f;--frame:#cfcac1;--pattern:none;--band:none}[data-theme=arch]{--bg:linear-gradient(170deg, #fbf3ea, #f0dcd0 100%);--fg:#6b3f3a;--accent:#b9776b;--petal:#d9a597;--vein:#fbf3ea;--core:#b9776b;--frame:#c99a8c;--pattern:none;--band:none}[data-theme=ramadan] .phone-chip,[data-theme=islamic] .phone-chip{color:#111}[data-theme=baby] .phone-chip,[data-theme=party] .phone-chip,[data-theme=rustic] .phone-chip,[data-theme=vintage] .phone-chip,[data-theme=watercolor] .phone-chip,[data-theme=corporate] .phone-chip,[data-theme=arch] .phone-chip{color:#fff;background:var(--accent)}[data-theme=minimal] .phone-chip{color:#fff;background:#2f2f2f}.dashboard-invite-art.theme-baby{color:#4a5d86;background:linear-gradient(145deg,#e9f6ff,#ffe6ef)}.dashboard-invite-art.theme-party{color:#5b1d5f;background:linear-gradient(145deg,#fff3b8,#ffc2dd)}.dashboard-invite-art.theme-ramadan{color:#fbeec0;background:linear-gradient(145deg,#1b2a5c,#0b1230)}.dashboard-invite-art.theme-islamic{color:#f8f1d4;background:linear-gradient(145deg,#0d5c4d,#06302a)}.dashboard-invite-art.theme-rustic{color:#5a3d24;background:linear-gradient(145deg,#f3e6d0,#e0c9a6)}.dashboard-invite-art.theme-vintage{color:#6a4a2e;background:linear-gradient(145deg,#f6ecd6,#e6d3ac)}.dashboard-invite-art.theme-watercolor{color:#4b5878;background:linear-gradient(145deg,#d9ecff,#ffd9e4)}.dashboard-invite-art.theme-corporate{color:#1e2f4f;background:linear-gradient(145deg,#f4f7fb,#dbe4f0)}.dashboard-invite-art.theme-minimal{color:#2f2f2f;background:linear-gradient(145deg,#fff,#f4f2ee)}.dashboard-invite-art.theme-arch{color:#6b3f3a;background:linear-gradient(145deg,#fbf3ea,#f0dcd0)}.dashboard-invite-art.theme-bunga{color:#5a1631;background:linear-gradient(145deg,#ffd3df,#f08bab)}.dashboard-invite-art.theme-ketupat{color:#fbeec0;background:linear-gradient(145deg,#1b6b3f,#0d3d24)}.dashboard-invite-art.theme-pelita{color:#fde9b4;background:linear-gradient(145deg,#3b1f66,#1a0d38)}.dashboard-invite-art.theme-masjid{color:#fff6dd;background:linear-gradient(145deg,#0f6b5c,#07352d)}.dashboard-invite-art.theme-bahagia{color:#5b1d3a;background:linear-gradient(145deg,#fff4c2,#ffc9a0)}.dashboard-invite-art.theme-formal{color:#eef2fa;background:linear-gradient(145deg,#1e2f4f,#0e1830)}.dashboard-invite-art.theme-gala{color:#f6e3a8;background:linear-gradient(145deg,#1a1a1a,#050505)}.extras-card{background:var(--bg);width:min(100%,420px);color:var(--fg);border-radius:22px;gap:18px;margin:16px auto 0;padding:20px;display:grid;position:relative;box-shadow:0 12px 30px #0000002e}.extra-countdown{z-index:2;border:1px solid var(--accent);text-align:center;border-radius:16px;flex-direction:column;align-items:center;margin-top:14px;padding:10px 18px;display:inline-flex;position:relative}.extra-countdown strong{color:var(--accent);font-size:34px;line-height:1}.extra-countdown .extra-countdown-word{font-size:18px}.extra-countdown span{letter-spacing:.1em;text-transform:uppercase;font-size:11px}.extra-calendar,.extra-wishes,.extra-gift{z-index:2;text-align:center;gap:8px;display:grid;position:relative}.extra-calendar>div{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.extra-calendar h3,.extra-wishes h3,.extra-gift h3{margin:0;font-size:15px}.extra-note{opacity:.8;margin:0;font-size:11px;line-height:1.5}.phone-chip{cursor:pointer;border:0;font-family:inherit}.phone-chip:disabled{opacity:.55;cursor:default}.extra-wishes form{gap:6px;display:grid}.extra-wishes input,.extra-wishes textarea{border:1px solid var(--accent);color:#222;width:100%;font:inherit;background:#ffffffe6;border-radius:10px;padding:8px 10px;font-size:12px}.wish-list{text-align:left;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.wish-list li{background:#ffffff24;border-radius:10px;padding:8px 10px;font-size:12px}.wish-list li strong{color:var(--accent);font-size:11px;display:block}.wish-sample-tag{opacity:.7;font-size:10px;background:0 0!important}.qr-image{object-fit:contain;background:#fff;border-radius:12px;width:160px;height:160px;margin:0 auto;padding:8px}.qr-upload{gap:8px;display:grid}.qr-file-button{position:relative}.qr-file-input{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.qr-placeholder{border:2px dashed var(--line,#c9b98a);cursor:pointer;text-align:center;border-radius:14px;place-items:center;min-height:120px;padding:12px;font-size:13px;display:grid}.qr-remove{color:#b3261e;cursor:pointer;font:inherit;background:0 0;border:0;font-size:12px;text-decoration:underline}.toggle-list{gap:8px;display:grid}.toggle-row{align-items:flex-start;gap:10px;display:flex}.toggle-row small{opacity:.7;display:block}.preview-phone-body,.preview-phone .phone-scroll{max-height:100%;overflow-y:auto}.preview-phone .phone-screen,.preview-phone{overflow-y:auto}.theme-picker{z-index:3;justify-content:center;gap:10px;display:flex;position:absolute;top:48px;left:0;right:0}.theme-swatch{background:var(--bg);width:30px;height:30px;box-shadow:0 0 0 1px var(--gold), 0 4px 10px #082f3133;cursor:pointer;border:2px solid #fffaf0;border-radius:50%;padding:0;transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s}.theme-swatch:hover{transform:translateY(-3px)scale(1.12)}.theme-swatch.active{box-shadow:0 0 0 3px var(--raya), 0 6px 14px #082f314d;transform:scale(1.22)}.editor-preview{padding-top:70px}@media (min-width:901px){.editor-preview{align-self:start;height:calc(100vh - 67px);top:67px;overflow:hidden}}@keyframes sway{0%,to{rotate:-3deg;scale:1}50%{rotate:4deg;scale:1.06}}@keyframes floaty{0%,to{translate:0}50%{translate:0 -10px}}@keyframes breathe{0%,to{opacity:.85;scale:1}50%{opacity:1;scale:1.08}}@keyframes spin{to{rotate:360deg}}@keyframes cardIn{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:none}}@keyframes reveal{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){.section,.template-tile,.template-preview,.step,.price-card,.closing-cta>*{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 40%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.studio{background:#fbf3e3;min-height:100vh;display:block}.studio-top{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fbf3e3f0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(10px,1.8vw,24px);min-height:64px;padding:0 clamp(14px,2.2vw,28px);display:grid;position:sticky;top:0}.studio-tools{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.studio-progress{z-index:19;border-bottom:1px solid var(--line);scrollbar-width:thin;background:#fbf3e3f5;justify-content:center;padding:6px clamp(14px,2.2vw,28px);display:flex;position:sticky;top:64px;overflow-x:auto}.studio-tag{letter-spacing:.25em;color:var(--muted);margin-left:8px;font-size:9px}.stepper{justify-content:center;gap:6px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.stepper li{align-items:center;display:flex}.stepper li:not(:last-child):after{content:"";background:var(--line);width:34px;height:1px;margin-left:6px}.step-dot{color:var(--muted);font:600 12px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 8px 4px 4px;transition:background .2s,color .2s;display:flex}.step-dot b{border:1.5px solid var(--line);background:#fffaf0;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;transition:all .3s;display:grid}.step-dot.current{color:var(--teal-deep);background:#f6e5bd}.step-dot.current b{border-color:var(--raya);color:var(--raya);box-shadow:0 0 0 4px #c2273d24}.step-dot.done b{background:var(--teal);border-color:var(--teal);color:#fff7df}.studio-body{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);max-width:1440px;margin:0 auto;display:grid}.studio-panel{padding:44px clamp(20px,4vw,56px) 80px;animation:.5s both reveal}.studio-panel h1{font:400 clamp(30px, 3.4vw, 40px) var(--serif);color:var(--teal-deep);margin:14px 0 8px}.studio-panel .form-field span{color:var(--teal-deep);font-size:12px;font-weight:600}.studio-panel .form-field input,.studio-panel .form-field textarea{min-height:48px;font-size:14px}.studio-panel .field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.hint{color:var(--raya);font-size:12px}.studio-nav{justify-content:space-between;gap:12px;margin-top:30px;display:flex}.studio-nav .button:disabled{opacity:.4;cursor:not-allowed;transform:none}.lang-card{border:1px solid var(--line);background:#fffaf0;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 22px;padding:16px 18px;display:flex}.lang-card strong{font-size:14px;display:block}.lang-card small{color:var(--muted);font-size:12px}.lang-toggle{background:#f1e3bf;border-radius:999px;padding:4px;display:inline-flex}.lang-toggle button{font:600 12px var(--sans);color:var(--teal-deep);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 16px;transition:all .25s}.lang-toggle button.on{background:var(--maroon);color:#fff3d4;box-shadow:0 4px 10px #5a10204d}.template-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.template-count{margin-left:auto}.theme-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.theme-phone{text-align:left;cursor:pointer;font-family:var(--sans);color:var(--teal-deep);background:0 0;border:0;padding:0;display:block}.theme-phone-screen{aspect-ratio:9/17;background:var(--bg);border:4px solid #2a2a26;border-radius:22px;place-items:center;transition:transform .35s cubic-bezier(.3,1.5,.5,1),box-shadow .3s;display:grid;position:relative;overflow:hidden}.theme-phone-screen:before{content:"";z-index:3;background:#2a2a26;border-radius:6px;width:34%;height:7px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.theme-phone:hover .theme-phone-screen{transform:translateY(-6px)rotate(-1.5deg);box-shadow:0 16px 28px #082f3147}.theme-phone.active .theme-phone-screen{border-color:var(--raya);box-shadow:0 0 0 3px #fffaf0, 0 0 0 6px var(--raya), 0 16px 30px #c2273d4d}.mini-name{z-index:2;font:700 italic 22px var(--serif);color:var(--fg);position:relative}.theme-phone-name{margin-top:10px;font-size:13px;font-weight:700;display:block}.theme-phone-name em{color:var(--gold);font-style:normal}.theme-phone small{color:var(--muted);font-size:10.5px;display:block}.theme-phone .motif-frame{inset:8px}.theme-phone .motif-band{display:none}.summary-list{border:1px solid var(--line);background:#fffaf0;border-radius:16px;margin:18px 0;padding:0;list-style:none}.summary-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding:13px 18px;font-size:13px;display:flex}.summary-list li:last-child{border:0}.summary-list span{color:var(--muted)}.studio-preview{background:radial-gradient(#fff3d2 0,#f3e0b2 75%);align-self:start;place-items:center;height:calc(100vh - 64px);padding:20px;display:grid;position:sticky;top:64px}.phone-frame{background:#1b1b19;border-radius:44px;flex-direction:column;width:min(320px,100%);height:min(640px,100vh - 110px);padding:11px;display:flex;position:relative;box-shadow:0 30px 60px #082f3166,inset 0 0 0 2px #444}.phone-notch{z-index:6;background:#000;border-radius:14px;width:90px;height:24px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.phone-status{z-index:5;color:#fff;text-shadow:0 1px 3px #0009;justify-content:space-between;font-size:11px;display:flex;position:absolute;top:18px;left:28px;right:28px}.phone-frame .preview-phone{width:100%;min-height:0;box-shadow:none;border-radius:34px 34px 0 0;flex:1;padding:60px 22px 20px;animation:.5s both cardIn}.phone-frame .preview-phone:hover{transform:none}.preview-phone .wedding-names,.public-card .wedding-names{font-family:var(--name-font,var(--serif));font-weight:var(--name-weight,400)}.floral-card .wedding-names{font-family:var(--name-font,var(--script))}.preview-controls{background:#fffaf0eb;border:1px solid #7850282e;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:min(720px,100%);padding:10px 12px;display:flex}.preview-mode-switch{background:#f1e3bf;border-radius:999px;gap:4px;padding:3px;display:inline-flex}.preview-mode-switch button,.preview-fullscreen{color:var(--teal-deep);font:600 12px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 12px}.preview-mode-switch button[aria-pressed=true],.preview-fullscreen{background:var(--teal-deep);color:#fffaf0}.preview-controls label{color:var(--teal-deep);align-items:center;gap:8px;font-size:12px;display:flex}.preview-controls input{width:92px;accent-color:var(--teal)}.studio-preview[data-preview-mode=desktop] .phone-frame{background:#fffaf0;border:1px solid #503c1e2e;border-radius:18px;width:min(720px,100%);height:min(700px,100vh - 180px);padding:12px}.studio-preview[data-preview-mode=desktop] .phone-notch,.studio-preview[data-preview-mode=desktop] .phone-status{display:none}.studio-preview[data-preview-mode=desktop] .phone-frame .preview-phone{border-radius:10px;padding-top:24px}.studio-preview:fullscreen{box-sizing:border-box;background:#f3e0b2;width:100vw;height:100vh;padding:24px;overflow:auto}.studio-preview:fullscreen .phone-frame{max-height:calc(100vh - 150px)}.studio-preview:fullscreen .phone-frame .preview-phone{min-height:0}.studio-preview:fullscreen[data-preview-mode=desktop] .phone-frame{height:min(780px,100vh - 150px)}.wedding-names{overflow-wrap:anywhere;max-width:100%;color:var(--name-color,var(--fg));font-family:var(--name-font,var(--script));font-size:clamp(31px,9vw,56px);font-weight:var(--name-weight,400);letter-spacing:0;text-align:center;zoom:var(--name-scale,1);flex-direction:column;justify-content:center;align-items:center;gap:0;margin:12px 0;line-height:1.02;display:flex}.wedding-name{overflow-wrap:anywhere;max-width:100%}.wedding-name small{font:500 .32em/1.3 var(--body-font,var(--serif));letter-spacing:.12em;margin-top:4px;display:block}.wedding-names em{color:var(--accent);font:400 .6em/1.1 var(--serif)}.preview-phone .wedding-names{font-size:clamp(30px,8vw,43px)}.wedding-names.names-inline{flex-flow:wrap;gap:0 .22em}.wedding-names.names-inline em{flex-basis:auto}.wedding-schedule-item time{min-width:0}.schedule-map-link{color:var(--accent);align-items:center;gap:5px;margin-top:8px;font-size:12px;display:inline-flex}.floral-card{font-family:var(--body-font,var(--serif));font-size:var(--text-scale,100%);letter-spacing:var(--text-tracking,0);line-height:var(--text-leading,1.45);text-align:var(--text-align,center)}.floral-card .wedding-names{font-size:clamp(31px,9vw,56px);line-height:1.02}.preview-phone.floral-card .wedding-names{font-size:clamp(30px,8vw,43px)}.floral-card:before{content:"";z-index:1;border:1px solid color-mix(in srgb, var(--frame) 48%, transparent);background:var(--bg);pointer-events:none;border-radius:48% 48% 8px 8px/7% 7% 8px 8px;position:absolute;inset:12px 10%}.floral-card>:not(.motif):not(.public-foot):not(.phone-bottom){padding-inline:12px}.phone-of{z-index:2;letter-spacing:.22em;color:var(--accent);margin:12px 0 0;font-size:8px;position:relative}.phone-chip{z-index:2;background:var(--accent);color:var(--bg-ink,#fff);border-radius:999px;justify-content:center;align-items:center;gap:6px;margin-top:14px;padding:9px 16px;font-size:11px;font-weight:700;text-decoration:none;transition:transform .2s;display:inline-flex;position:relative}[data-theme=raya] .phone-chip,[data-theme=melur] .phone-chip,[data-theme=wau] .phone-chip{color:#fff}[data-theme=moden] .phone-chip,[data-theme=songket] .phone-chip,[data-theme=batik] .phone-chip{color:#1c1c1c}.phone-chip:hover{transform:scale(1.06)}.phone-bottom-copy{z-index:2;letter-spacing:.16em;color:var(--accent);margin-top:18px;font-size:7px;position:relative}.phone-dock,.public-card{--nav-solid:var(--nav-color,color-mix(in srgb, var(--accent) 14%, var(--vein,#fffaf0)));--nav-bg:color-mix(in srgb, var(--nav-solid) var(--nav-opacity,100%), transparent);--nav-fg:var(--nav-text,var(--fg,#2a1d17))}.phone-dock{background:var(--nav-bg);color:var(--nav-fg);border-radius:0 0 34px 34px;flex:none;overflow:hidden}.music-player.docked{background:var(--nav-bg,#fffffff2);color:var(--nav-fg,#333)}.music-player.docked .music-toggle{background:var(--nav-fg,#333);color:var(--nav-solid,#fff)}.phone-dock .phone-tabs{background:0 0;border-radius:0}.phone-dock .phone-tabs button{color:color-mix(in srgb, var(--nav-fg) 78%, var(--nav-solid));font-family:var(--nav-font,inherit)}.phone-dock{zoom:var(--nav-scale,1)}.phone-dock .phone-tabs button.on{background:color-mix(in srgb, var(--accent) 28%, transparent);color:var(--nav-fg);opacity:1}.phone-tabs{background:#fffaf0;border-radius:0 0 34px 34px;padding:8px 8px 12px;display:flex}.phone-tabs button{color:#8a8372;font:600 10px var(--sans);cursor:pointer;background:0 0;border:0;border-radius:14px;flex:1;justify-items:center;gap:2px;padding:6px;transition:all .25s;display:grid}.phone-tabs button span{font-size:16px}.phone-tabs button.on{color:var(--raya);background:#f6e5bd}@media (max-width:900px){.studio-top{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;height:auto;padding:10px 16px}.studio-progress{justify-content:flex-start;padding-inline:16px;top:64px}.stepper{justify-content:flex-start}.stepper li:not(:last-child):after{width:12px}.step-dot span{display:none}.step-dot.current span{display:inline}.studio-tools{gap:8px}.save-status{text-overflow:ellipsis;white-space:nowrap;justify-self:end;max-width:150px;overflow:hidden}.studio-body{grid-template-columns:1fr}.studio-preview{height:auto;padding:30px 16px 60px;position:static}.phone-frame{height:600px}.theme-grid{grid-template-columns:repeat(2,1fr)}.preview-controls{z-index:8;position:sticky;top:8px}.studio-preview[data-preview-mode=desktop] .phone-frame{height:580px}}@media (min-width:721px) and (max-width:1050px){.guest-table{overflow-x:auto}.guest-row{min-width:900px}}.checkout-panel{border:1.5px solid var(--gold);background:#fffaf0;border-radius:18px;gap:14px;margin-top:22px;padding:22px;display:grid}.checkout-panel h2{margin:0}.package-picker{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.package-option{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;gap:4px;padding:14px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid;position:relative}.package-option:hover{transform:translateY(-2px)}.package-option.active{border-color:var(--teal);box-shadow:0 0 0 3px #c9952c59}.package-option.disabled{opacity:.45;cursor:not-allowed}.package-option input{opacity:0;position:absolute}.package-option strong{color:var(--maroon);font-size:1.25rem}.package-option small{color:var(--muted);line-height:1.4}.check-row{color:var(--muted);align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.45;display:flex}.check-row input{accent-color:var(--teal);margin-top:3px}.checkout-account{border-top:1px dashed var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;font-size:.9rem;display:flex}.checkout-account a,.auth-switch a,.status-card a:not(.button),.admin-table a{color:var(--teal);font-weight:600}.auth-wrap,.status-wrap{place-items:center;min-height:70vh;padding:40px 16px;display:grid}.auth-card,.status-card{border:1.5px solid var(--line);background:#fffaf0;border-radius:22px;gap:14px;width:min(100%,460px);padding:32px;display:grid;box-shadow:0 24px 60px -30px #5a102059}.status-card{text-align:center;justify-items:center;width:min(100%,560px)}.auth-card h1,.status-card h1{margin:0}.auth-switch{text-align:center;color:var(--muted);margin:0}.field-error{color:var(--raya)}.status-icon{border-radius:50%;place-items:center;width:64px;height:64px;font-size:1.8rem;display:grid}.status-icon.ok{color:#fff;background:#1f8a64}.status-icon.wait{background:var(--gold-soft)}.share-link{gap:8px;width:100%;display:flex}.share-link input,.link-input{border:1.5px solid var(--line);min-width:0;font:inherit;background:#fff;border-radius:10px;flex:1;padding:10px 12px;font-size:.85rem}.status-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.status-meta{color:var(--muted);line-height:1.5}.link-button{color:var(--teal);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.account-cards{gap:14px;display:grid}.claim-form{border:1.5px dashed var(--line);border-radius:14px;gap:10px;max-width:480px;margin-top:20px;padding:16px;display:grid}.account-card{border:1.5px solid var(--line);background:#fffaf0;border-radius:18px;gap:14px;padding:20px;display:grid}.account-card h3{margin:6px 0 2px}.account-card p{color:var(--muted);margin:0 0 6px}.account-card-actions{flex-wrap:wrap;gap:8px;display:flex}.status-published,.status-paid{color:#0e4a3a;background:#d8f0e3}.status-pending_payment,.status-pending{color:#7a4e0e;background:#fff0c7}.status-draft,.status-failed{color:#444;background:#eee}.admin-wrap{max-width:1200px;margin:0 auto;padding:32px 16px 80px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-user{color:var(--muted);margin-right:10px;font-size:.9rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:24px 0;display:grid}.stat-card{border:1.5px solid var(--line);background:#fffaf0;border-radius:16px;gap:6px;padding:16px;display:grid}.stat-card small{color:var(--muted)}.stat-card strong{color:var(--maroon);font-size:1.5rem}.admin-tabs{border-bottom:1.5px solid var(--line);gap:6px;display:flex}.admin-tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:10px 16px;font-weight:600}.admin-tabs button.active{color:var(--teal);border-bottom-color:var(--gold)}.admin-toolbar{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.admin-toolbar input,.admin-toolbar select{border:1.5px solid var(--line);font:inherit;background:#fff;border-radius:10px;padding:10px 12px}.admin-toolbar input{flex:1;min-width:220px}.admin-table-wrap{border:1.5px solid var(--line);background:#fff;border-radius:14px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.88rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}.admin-table th{white-space:nowrap;background:#fbf3e3}.admin-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.voucher-box{gap:8px;display:grid}.voucher-label{color:var(--muted);font-size:.82rem;font-weight:700}.voucher-row{gap:8px;display:flex}.voucher-row input{border:1.5px dashed var(--gold);min-width:0;font:inherit;letter-spacing:.08em;text-transform:uppercase;background:#fff;border-radius:12px;flex:1;padding:11px 14px}.voucher-applied{color:#1f6b4a;background:#e8f5ef;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:.92rem;display:flex}.voucher-admin{gap:22px;display:grid}.voucher-form{border:1.5px solid var(--gold);background:#fffaf0;border-radius:18px;gap:14px;padding:22px;display:grid}.voucher-form h2{margin:0}.voucher-form .field-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.voucher-actions{flex-wrap:wrap;gap:10px;display:flex}.voucher-row-actions{white-space:nowrap}.card-admin-chips{flex-wrap:wrap;gap:8px;display:flex}.card-admin-chip{border:1.5px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.card-admin-name{align-items:center;gap:10px;display:flex}.card-admin-thumb{aspect-ratio:9/16;object-fit:cover;border:1px solid var(--line);border-radius:6px;width:36px}.card-admin .status-pill{cursor:pointer;font:inherit;border:0}.studio-nav{z-index:20;background:linear-gradient(#fffaf000,#fffaf0 30%);padding:12px 0;position:sticky;bottom:0}[data-theme=sakura]{--bg:linear-gradient(170deg, #fff6f2, #ffe3e8 100%);--fg:#b3202f;--accent:#c8283a;--frame:#e8a3b3;--pattern:none;--band:none}[data-theme=peony]{--bg:radial-gradient(ellipse at 50% 30%, #fffaf3, #fbe9e4 100%);--fg:#b3202f;--accent:#c8283a;--frame:#e0b1a8;--pattern:none;--band:none}[data-theme=botani]{--bg:linear-gradient(180deg, #fffdf8, #fdeff0 100%);--fg:#c0243a;--accent:#d33a52;--frame:#f2b5c1;--pattern:none;--band:none}[data-theme=mawar]{--bg:radial-gradient(ellipse at 50% 42%, #fffdf9 12%, #f8eee8 100%);--fg:#8d4b52;--accent:#b95665;--frame:#c5a27e;--pattern:none;--band:none;--fl-1:#f1b6bb;--fl-1-line:#d98991;--fl-core:#b85b68;--fl-rose-a:#edacb1;--fl-rose-b:#f3c7b9;--fl-rose-mid:#d9808b;--fl-rose-line:#a9525d;--fl-rose-in:#bf6570;--fl-line:#bd7d79;--fl-arch:#c5a27e;--fl-arch-in:#e1cbb2;--fl-fallen:#e7a5ad}[data-theme=embun]{--bg:linear-gradient(175deg, #fffdf7, #edf2e8 100%);--fg:#526653;--accent:#71866a;--frame:#9bab89;--pattern:none;--band:none;--fl-1:#f2e3a8;--fl-1-line:#d0bd7d;--fl-core:#c5a34d;--fl-rose-a:#e5dfb9;--fl-rose-b:#f2e9c9;--fl-rose-mid:#d5c887;--fl-rose-line:#a9a16f;--fl-rose-in:#bca657;--fl-line:#809575;--fl-leaf-a:#87a17d;--fl-leaf-b:#b6c4a0;--fl-leaf-line:#71886c;--fl-twig:#93a27e;--fl-arch:#9bab89;--fl-arch-in:#d4dfcb}[data-theme=senja]{--bg:radial-gradient(ellipse at 50% 45%, #fffaf5 10%, #f8e6e2 100%);--fg:#8e4b59;--accent:#c26171;--frame:#d9b4a1;--pattern:none;--band:none;--fl-1:#f6c4ca;--fl-1-line:#df929f;--fl-core:#c26171;--fl-rose-a:#efadb5;--fl-rose-b:#f4c9bd;--fl-rose-mid:#df8796;--fl-rose-line:#b45565;--fl-rose-in:#cb687a;--fl-line:#c9777e;--fl-fallen:#efaeb6}[data-theme=burgundy]{--bg:radial-gradient(ellipse at 50% 43%, #fffdf8 8%, #f6eee3 100%);--fg:#512535;--accent:#8d3348;--frame:#c2a16a;--pattern:none;--band:none;--fl-1:#873448;--fl-1-line:#682438;--fl-core:#e1bd78;--fl-rose-a:#783044;--fl-rose-b:#a34555;--fl-rose-mid:#b45b63;--fl-rose-line:#642538;--fl-rose-in:#e1bd78;--fl-line:#b89762;--fl-leaf-a:#66745b;--fl-leaf-b:#a0a17b;--fl-leaf-line:#687251;--fl-twig:#9a7956;--fl-arch:#b9975e;--fl-arch-in:#e4d1aa;--fl-fallen:#ad5363}[data-theme=wildflower]{--bg:linear-gradient(170deg, #fffdf6, #f5f0e5 100%);--fg:#58644f;--accent:#9a8064;--frame:#c5b394;--pattern:none;--band:none;--fl-1:#e7b5b5;--fl-1-line:#c98e91;--fl-core:#d5b56d;--fl-rose-a:#e8b3a5;--fl-rose-b:#d9c6a0;--fl-rose-mid:#cc8e7c;--fl-rose-line:#a66a60;--fl-rose-in:#b87968;--fl-line:#a89570;--fl-leaf-a:#839573;--fl-leaf-b:#b3b998;--fl-leaf-line:#718060;--fl-twig:#a39370;--fl-arch:#c5b394;--fl-arch-in:#e6deca;--fl-fallen:#dfb2ad}[data-theme=sakura] .phone-chip,[data-theme=peony] .phone-chip,[data-theme=botani] .phone-chip,[data-theme=mawar] .phone-chip,[data-theme=embun] .phone-chip,[data-theme=senja] .phone-chip,[data-theme=burgundy] .phone-chip,[data-theme=wildflower] .phone-chip{color:#fff;background:var(--accent)}[data-theme=sakura] h2,[data-theme=peony] h2,[data-theme=botani] h2,[data-theme=sakura] h1,[data-theme=peony] h1,[data-theme=botani] h1,[data-theme=sakura] .mini-name,[data-theme=peony] .mini-name,[data-theme=botani] .mini-name,[data-theme=mawar] h2,[data-theme=embun] h2,[data-theme=senja] h2,[data-theme=burgundy] h2,[data-theme=wildflower] h2,[data-theme=mawar] h1,[data-theme=embun] h1,[data-theme=senja] h1,[data-theme=burgundy] h1,[data-theme=wildflower] h1,[data-theme=mawar] .mini-name,[data-theme=embun] .mini-name,[data-theme=senja] .mini-name,[data-theme=burgundy] .mini-name,[data-theme=wildflower] .mini-name,[data-theme=mawar] .preview-visual strong,[data-theme=embun] .preview-visual strong,[data-theme=senja] .preview-visual strong,[data-theme=burgundy] .preview-visual strong,[data-theme=wildflower] .preview-visual strong{font-family:var(--script,"Snell Roundhand", "Segoe Script", "Brush Script MT", cursive);letter-spacing:0;font-style:normal;font-weight:400}.motif-floral{overflow:hidden}.motif-floral>*{position:static}.floral{z-index:var(--floral-z-index,0);width:100%;height:100%;transform:translate(var(--floral-offset-x,0%), var(--floral-offset-y,0%)) rotate(var(--floral-rotation,0deg)) scale(var(--floral-scale,1));transform-origin:50%;opacity:var(--floral-opacity,1);position:absolute;inset:0}:root{--fl-1:#f7b6c6;--fl-1-line:#e98aa3;--fl-core:#d9577a;--fl-rose-a:#f4a9b3;--fl-rose-b:#f9c9bf;--fl-rose-mid:#ee8397;--fl-rose-line:#b94a62;--fl-rose-in:#d8566f;--fl-line:#e0657d}.floral .fl-blossom{fill:var(--fl-1);stroke:var(--fl-1-line);stroke-width:.7px;filter:drop-shadow(0 1px 1.2px #78283c59)}.floral .fl-core{fill:var(--fl-core)}.floral .fl-stamen{fill:#f4d37a}.floral .fl-rose-out{fill:var(--fl-rose-a);stroke:var(--fl-rose-line);stroke-width:.8px;filter:drop-shadow(0 1.5px 1.5px #78283c59)}.floral .fl-rose-b .fl-rose-out{fill:var(--fl-rose-b)}.floral .fl-rose-mid{fill:var(--fl-rose-mid);opacity:.9}.floral .fl-rose-b .fl-rose-mid{fill:var(--fl-rose-mid)}.floral .fl-rose-line{fill:none;stroke:var(--fl-rose-line);stroke-width:1.3px;stroke-linecap:round}.floral .fl-rose-in{fill:var(--fl-rose-in)}.floral .fl-leaf{stroke:var(--fl-leaf-line,#5f8f5a);stroke-width:.6px}.floral .fl-leaf-1{fill:var(--fl-leaf-a,#8bb383)}.floral .fl-leaf-2{fill:var(--fl-leaf-b,#b5cf9f)}.floral .fl-twig{fill:none;stroke:var(--fl-twig,#8a5a4a);stroke-width:2.2px;stroke-linecap:round}.floral .fl-stem{fill:none;stroke:#c9ab84;stroke-width:2px;stroke-linecap:round}.floral .fl-plume{fill:#e9d5b4;opacity:.7;stroke:#d7bd96;stroke-width:.5px}.floral .fl-arch{fill:none;stroke:var(--fl-arch,#e9a6b2);stroke-width:2px}.floral .fl-arch-in{fill:#ffffff59;stroke:var(--fl-arch-in,#f1c4cb);stroke-width:1px}.floral .fl-lace{fill:none;stroke:#e8a3b3;stroke-width:1.4px;stroke-dasharray:1 5;stroke-linecap:round}.floral .fl-lace-in{fill:none;stroke:#f0bcc8;stroke-width:1px}.floral .fl-line-frame{fill:none;stroke:#f2b5c1;stroke-width:1px}.floral .fl-line{fill:none;stroke:var(--fl-line);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.floral .fl-fallen{fill:var(--fl-fallen,#f5aebd);opacity:.85;animation:linear infinite petalFall}.floral .fl-branch-a,.floral .fl-branch-b,.floral .fl-side-l,.floral .fl-side-r{transform-box:fill-box;transform-origin:50% 0;animation:9s ease-in-out infinite sway}@keyframes petalFall{0%{opacity:0;transform:translateY(-20px)translate(0)}15%{opacity:.9}to{opacity:0;transform:translateY(120px)translate(22px)}}@media (prefers-reduced-motion:reduce){.floral *{animation:none!important}}.theme-phone .floral .fl-fall,.motif-floral[data-motion=off] .floral .fl-fall{display:none}.motif-floral[data-motion=off] .floral *{animation:none!important}.public-card h1,.preview-phone h2{overflow-wrap:anywhere;max-width:100%;font-size:clamp(31px,9vw,56px)}.preview-phone h2{font-size:clamp(30px,10vw,43px)}.phone-location{overflow-wrap:anywhere;max-width:100%}.couple-photo{object-fit:cover;aspect-ratio:4/5;border:3px solid #ffffffd1;border-radius:48% 48% 42% 42%;width:min(42%,190px);max-height:210px;margin:4px auto 13px;box-shadow:0 8px 26px #502d322e}.preview-phone .couple-photo{width:min(38%,115px);max-height:140px}.wedding-hashtag{color:var(--accent);font:16px var(--serif);letter-spacing:.04em;overflow-wrap:anywhere;margin:7px 0}.wedding-schedule{background:#fffdf8f0;border:1px solid #96785a38;width:min(600px,100%);margin-top:18px;padding:26px clamp(18px,5vw,40px)}.wedding-schedule h2{color:var(--fg);font:26px var(--serif);text-align:center;margin:0 0 18px}.wedding-schedule-list{gap:0;display:grid}.wedding-schedule-item{border-top:1px solid #96785a2e;grid-template-columns:72px 1fr;gap:15px;padding:14px 0;display:grid}.wedding-schedule-item time{color:var(--accent);font-size:13px;font-weight:650}.wedding-schedule-item strong{color:var(--fg);font:18px var(--serif);display:block}.wedding-schedule-item p{color:var(--muted);margin:5px 0 0;font-size:13px;line-height:1.65}.wedding-contact{text-align:center;background:#fffdf8e6;justify-items:center;gap:10px;width:min(600px,100%);margin-top:18px;padding:22px;display:grid}.wedding-contact-person{justify-items:center;gap:8px;display:grid}.wedding-contact strong{color:var(--fg);font:21px var(--serif)}.wedding-contact a{background:var(--accent);color:#fff;border-radius:99px;justify-content:center;align-items:center;gap:7px;padding:11px 18px;font-size:13px;font-weight:650;display:inline-flex}.preview-contact-actions{flex-wrap:wrap;justify-content:center;gap:0 8px;display:flex}.action-icon{vertical-align:-.2em;flex:none;width:1.15em;height:1.15em;display:inline-block}.wedding-audio{width:min(420px,100%);margin:18px auto 0}.music-player{z-index:60;color:#333;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#fffffff2;border-radius:50%;width:48px;height:48px;margin:0;padding:0;display:block;position:absolute;bottom:96px;right:16px;box-shadow:0 6px 22px #00000047}.music-player:active{cursor:grabbing}.music-player.docked{position:fixed;bottom:16px;right:16px}.music-toggle{color:#fff;width:100%;height:100%;cursor:inherit;background:#333;border:0;border-radius:50%;place-items:center;font-size:14px;display:grid}.music-player.playing .music-toggle{animation:2.4s ease-in-out infinite musicPulse}@keyframes musicPulse{50%{box-shadow:0 0 0 7px #0000001f}}.music-toggle:disabled{opacity:.5;cursor:wait}.music-frame{pointer-events:none;border:0;width:200px;height:113px;position:absolute;top:0;left:-9999px}.couple-photo-upload{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.couple-photo-upload img{object-fit:cover;border-radius:12px;width:76px;height:96px}.couple-photo-upload small{color:var(--muted);flex-basis:100%;font-size:11px;line-height:1.5}.schedule-editor{gap:12px;display:grid}.schedule-editor-item{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px}.schedule-editor-item .button{margin-top:6px}.pz-floral-controls{background:#ffffff8c;border:1px solid #78502833;border-radius:12px;gap:12px;padding:15px;display:grid}.pz-floral-controls>.pz-hint{color:var(--teal-deep);font-weight:650}.pz-floral-controls .pz-color{flex:1;min-width:min(100%,190px)}.pz-floral-controls input[type=range]{width:100%;accent-color:var(--teal)}.public-invite{padding-top:max(28px, env(safe-area-inset-top));padding-bottom:max(32px, env(safe-area-inset-bottom));overflow-x:clip}@media (max-width:430px){.public-invite{padding-left:10px;padding-right:10px}.public-card{padding-left:23px;padding-right:23px}.wedding-schedule-item{grid-template-columns:58px 1fr;gap:10px}.wedding-schedule-item strong{font-size:16px}}[data-theme=custom]{--bg:linear-gradient(160deg, #fffaf0, #f3e3c8 95%);--fg:#3a2a1c;--accent:#b8893a;--frame:#b8893a;--petal:#b8893a;--vein:#fffaf0;--core:#b8893a}.public-card h1,.preview-phone h2,.mini-name{zoom:var(--name-scale,1)}[data-custom-font] h1,[data-custom-font] h2,[data-custom-font] .mini-name,[data-custom-font] .invite-names{letter-spacing:0;font-style:normal;font-weight:400;font-family:var(--name-font)!important}.motif-photo-wrap{overflow:hidden}.motif-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.motif-veil{background:0 0;position:absolute;inset:0}[data-tone=light] .motif-veil{background:linear-gradient(#00000047,#00000073)}[data-tone=dark] .motif-veil{background:linear-gradient(#fff6,#ffffff8c)}.motif-petals{pointer-events:none;position:absolute;inset:0;overflow:hidden}.motif-petals i{background:radial-gradient(circle at 30% 30%, #fff, var(--accent) 80%);opacity:0;border-radius:80% 0;animation:linear infinite petalDrift;position:absolute;top:-8%}@keyframes petalDrift{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:.85}to{opacity:0;transform:translate(40px,640px)rotate(540deg)}}.theme-phone .motif-petals{display:none}.pz{background:#fff9;border:1px solid #7850282e;border-radius:18px;gap:14px;margin-top:18px;padding:16px;display:grid}.pz h3{margin:0;font-size:1rem}.pz-fonts{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}.pz-font{cursor:pointer;text-align:center;background:#fff;border:1.5px solid #78502840;border-radius:12px;gap:2px;padding:8px;display:grid}.pz-font b{font-size:1.6rem;font-weight:400;line-height:1.2}.pz-font small{opacity:.7;font-size:.68rem}.pz-font[aria-pressed=true]{border-color:#b8893a;box-shadow:0 0 0 2px #b8893a59}.pz-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.pz-color{gap:4px;font-size:.78rem;display:grid}.pz-type-controls{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;display:grid}.pz-type-controls>.pz-hint{color:var(--teal-deep);grid-column:1/-1;font-weight:650}.pz-type-controls .pz-color:focus-within{color:var(--teal-deep)}.pz-type-controls .pz-color select{appearance:none;color:#29231e;cursor:pointer;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#6f5c48 50%),linear-gradient(135deg,#6f5c48 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;border:1px solid #78502847;border-radius:10px;width:100%;min-height:42px;padding:9px 38px 9px 12px;font-family:inherit;font-size:.9rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.pz-type-controls .pz-color select:hover{border-color:#7850288c}.pz-type-controls .pz-color select:focus-visible{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #25736929}.pz-color span{align-items:center;gap:8px;display:flex}.pz-color input[type=color]{cursor:pointer;background:0 0;border:1px solid #0003;border-radius:8px;width:44px;height:34px;padding:0}.pz-tone{border:1.5px solid #7850284d;border-radius:999px;display:inline-flex;overflow:hidden}.pz-tone button{cursor:pointer;background:#fff;border:0;padding:6px 14px}.pz-tone button[aria-pressed=true]{color:#fff;background:#3a2a1c}.pz-check{align-items:center;gap:8px;font-size:.9rem;display:flex}.pz-actions{flex-wrap:wrap;gap:8px;display:flex}.pz-action-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.pz-hint{opacity:.7;margin:0;font-size:.78rem}.pz-bg-thumb{object-fit:cover;border:1px solid #0003;border-radius:8px;width:54px;height:90px}.intro-overlay{z-index:80;background:radial-gradient(circle at 50% 40%, var(--intro-bg-a,#fff6ee), var(--intro-bg-b,#f6d9c8));text-align:center;place-items:center;padding:24px;transition:opacity .9s .5s,visibility 0s linear 1.4s;display:grid;position:fixed;inset:0}.intro-overlay.open{opacity:0;visibility:hidden;pointer-events:none}.intro-stage{aspect-ratio:1;place-items:center;width:min(86vw,380px);display:grid;position:relative}.intro-wreath{width:100%;height:100%;transition:transform 1.2s cubic-bezier(.6,.05,.3,1),opacity 1s .2s;position:absolute;inset:0}.intro-overlay.open .intro-wreath{opacity:0;transform:scale(2.6)rotate(12deg)}.intro-bloom{transform-box:fill-box;transform-origin:50%;animation:1.1s cubic-bezier(.2,.9,.3,1.3) both bloom}.intro-leaf{transform-box:fill-box;transform-origin:50% 100%;animation:.9s ease-out both bloom}@keyframes bloom{0%{opacity:0;transform:scale(0)rotate(-40deg)}to{opacity:1;transform:scale(1)rotate(0)}}.intro-wreath-spin{transform-origin:50%;animation:40s linear infinite wreathSpin}@keyframes wreathSpin{to{transform:rotate(360deg)}}.intro-copy{z-index:1;justify-items:center;gap:10px;transition:opacity .5s,transform .8s;animation:1s .9s both riseIn;display:grid;position:relative}.intro-overlay.open .intro-copy{opacity:0;transform:scale(.9)}.intro-copy small{letter-spacing:.3em;text-transform:uppercase;color:#7a4a3a;font-size:.7rem}.intro-names{font-family:var(--name-font,var(--script));color:var(--name-color,#7a2a3c);margin:0;font-size:clamp(2rem,9vw,3rem);line-height:1.1}.intro-btn{color:#fff;background:var(--accent,#b8893a);cursor:pointer;border:0;border-radius:999px;margin-top:8px;padding:10px 24px;font-weight:600;box-shadow:0 8px 20px #0003}.intro-burst{pointer-events:none;position:absolute;inset:0}.intro-burst i{background:var(--accent,#e98aa3);opacity:0;border-radius:80% 0;width:14px;height:18px;position:absolute;top:50%;left:50%}.intro-overlay.open .intro-burst i{animation:1.3s ease-out forwards burst}@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(.6)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(420deg) scale(1.2)}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(26px)}.reveal.in{opacity:1;transform:none}.public-card.rise>:not(.motif){animation:.9s both riseIn}.public-card.rise>:nth-child(3){animation-delay:.15s}.public-card.rise>:nth-child(4){animation-delay:.3s}.public-card.rise>:nth-child(5){animation-delay:.45s}.public-card.rise>:nth-child(6){animation-delay:.6s}@media (prefers-reduced-motion:reduce){.intro-overlay *,.reveal,.public-card.rise>*,.motif-petals i{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.dash-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.dash-hero h1{margin:6px 0}.dash-hero p{opacity:.75;margin:0}.dash-hero-actions{align-items:center;gap:14px;display:flex}.dash-login{border:1px dashed #0003;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:22px;display:flex}.dash-login h2{margin:0 0 6px;font-size:1.2rem}.dash-login p{opacity:.75;max-width:56ch;margin:0}.dash-section{margin-top:36px}.dash-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.dash-section-head h2{margin:0}.dash-section-head p{opacity:.7;margin:4px 0 0}.dash-empty{text-align:center;border:1px dashed #0003;border-radius:16px;justify-items:center;gap:8px;padding:40px 20px;display:grid}.dash-empty>span{font-size:2rem}.dash-empty h3,.dash-empty p{margin:0}.dash-empty p{opacity:.7;max-width:44ch}.chip-row,.responses-picker{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.chip{color:inherit;font:inherit;cursor:pointer;background:#fff;border:1px solid #0000002e;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:.9rem;transition:background .2s,color .2s;display:inline-flex}.chip b{background:#00000014;border-radius:999px;padding:0 8px;font-size:.78rem}.chip.on{color:#fff;background:#1b1b1b;border-color:#1b1b1b}.chip.on b{background:#fff3}.board-group{margin-top:26px}.board-group>header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.board-group h3{margin:0}.board-group header p{opacity:.65;margin:0;font-size:.9rem}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.tile{background:#fff;border:1px solid #0000001a;border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 6px 20px #0000000d}.tile-art{text-align:center;border-radius:0;place-items:center;height:120px;padding:12px;display:grid}.tile-art strong{font-family:Georgia,serif;font-size:1.1rem;position:relative}.tile-body{flex:1;align-content:start;gap:6px;padding:16px;display:grid}.tile-body h4{margin:0;font-size:1.05rem}.tile-body p{opacity:.8;margin:0;font-size:.9rem}.tile-body small{opacity:.6}.tile-body .status-pill{justify-self:start}.tile-actions{flex-wrap:wrap;gap:8px;padding:0 16px 16px;display:flex}.tile-link{gap:6px;margin-top:6px;display:flex}.tile-link input{background:#faf7f2;border:1px solid #00000026;border-radius:8px;flex:1;min-width:0;padding:6px 10px;font-size:.78rem}.responses{margin-top:44px}.responses-actions{flex-wrap:wrap;gap:8px;display:flex}.response-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:18px;display:grid}.response-stats>div{background:#faf7f2;border:1px solid #00000014;border-radius:14px;gap:2px;padding:14px;display:grid}.response-stats strong{font-family:Georgia,serif;font-size:1.6rem}.response-stats span{opacity:.7;font-size:.82rem}.seg{background:#0000000f;border-radius:999px;margin-bottom:16px;padding:4px;display:inline-flex}.seg button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:999px;padding:8px 16px;font-size:.9rem}.seg button.on{background:#fff;box-shadow:0 2px 8px #0000001f}.guest-table{background:#fff;border:1px solid #0000001a;border-radius:14px;overflow:hidden}.guest-row{border-top:1px solid #00000012;grid-template-columns:2fr 1.1fr .6fr 1.3fr 1.2fr 1.2fr;align-items:center;gap:12px;padding:12px 16px;font-size:.92rem;display:grid}.guest-row:first-child{border-top:0}.guest-row small{opacity:.65;font-style:italic;display:block}.guest-head{text-transform:uppercase;letter-spacing:.05em;background:#faf7f2;font-size:.78rem;font-weight:700}.att{border-radius:999px;padding:3px 10px;font-size:.8rem;font-style:normal}.att.yes{color:#14532d;background:#dff3e4}.att.no{color:#7f1d1d;background:#fde2e2}.wish-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.wish-cards li{background:#faf7f2;border:1px solid #00000014;border-radius:14px;gap:6px;padding:16px;display:grid}.wish-cards q{font-family:Georgia,serif;font-size:1.02rem}.wish-cards b{font-size:.9rem}.wish-cards small{opacity:.55}@media (max-width:720px){.guest-head{display:none}.guest-row{grid-template-columns:1fr 1fr}.guest-row>span:first-child{grid-column:1/-1}.guest-row>span[data-label]:not(:first-child):before{content:attr(data-label) ": ";opacity:.55;font-size:.78rem}}@media (max-width:680px){.language-switcher button{min-width:36px;min-height:34px}.language-switcher-compact button{min-width:31px;min-height:29px}.mobile-language-row{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 0 4px;font-size:12px;display:flex}.studio-left{gap:8px}.studio-back{max-width:126px}.studio-top{padding:9px 12px}.studio-tools{gap:7px}.save-status{max-width:112px;font-size:10px}.studio-panel{padding:28px 16px 74px}.studio-panel .field-row{grid-template-columns:minmax(0,1fr);gap:0}.lang-card{align-items:flex-start}.lang-toggle{width:100%}.lang-toggle button{flex:1;padding-inline:8px}.theme-grid{gap:12px}.studio-preview{padding-inline:10px}.phone-frame{width:min(320px,100%);height:min(600px,74vh);min-height:470px}.preview-controls{gap:8px;padding:9px}.preview-controls label{font-size:11px}.preview-controls input{width:70px}.studio-preview[data-preview-mode=desktop] .phone-frame{width:100%;height:min(580px,74vh);min-height:470px}.studio-nav .button{min-width:0;padding-inline:16px}}@media (max-width:390px){.studio-left .brand{gap:6px;font-size:16px}.studio-tag{margin-left:3px;font-size:8px}.studio-back{padding-inline:8px;font-size:11px}.studio-tools{gap:4px}.save-status{max-width:85px;font-size:9px}.theme-grid{gap:9px}.theme-phone-screen{border-width:3px;border-radius:17px}.theme-phone-name{font-size:12px}.theme-phone small{font-size:10px}.summary-list li{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width:360px){.header-actions .button{display:none}}.studio-left{align-items:center;gap:14px;min-width:0;display:flex}.studio-back{color:inherit;white-space:nowrap;background:#fff;border:1px solid #0003;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.85rem;text-decoration:none;display:inline-flex}.studio-back:hover{color:#fff;background:#1b1b1b}@media (max-width:640px){.studio-back{padding:6px 10px;font-size:.78rem}}.wish-list{text-align:center}.wish-list li{text-align:center;justify-items:center;gap:6px;display:grid}.wish-list .wish-text{quotes:"“" "”";font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-style:italic;line-height:1.5}.wish-list .wish-name{letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-size:.85rem}.studio-preview{box-sizing:border-box;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;gap:clamp(12px,2vh,20px);min-width:0}.preview-controls{box-sizing:border-box;min-width:0;max-width:100%}.phone-frame{transform-origin:50%;flex-shrink:0;min-width:0;max-width:100%;container:studio-phone/inline-size}.phone-frame .preview-phone{--pattern-size:clamp(24px, 20cqi, 60px);flex-direction:column;min-width:0;max-width:100%;padding:0;font-size:clamp(11px,4.2cqi,15px);display:flex;overflow:hidden}.phone-frame .preview-phone-content{z-index:2;overscroll-behavior:contain;flex:1;min-width:0;min-height:0;padding:clamp(42px,23cqi,60px) clamp(14px,7cqi,22px) clamp(14px,7.5cqi,20px);position:relative;overflow:hidden auto}.phone-frame .preview-phone-content-inner{z-index:2;box-sizing:border-box;border:1px solid color-mix(in srgb, var(--frame) calc(var(--frame-opacity,1) * 100%), transparent);outline:1px solid color-mix(in srgb, var(--frame) calc(65% * var(--frame-opacity,1)), transparent);outline-offset:-6px;border-radius:var(--frame-radius,0px);background:rgba(255, 250, 240, calc(.82 * var(--frame-opacity,1)));text-align:center;flex-direction:column;align-items:center;min-height:100%;padding:clamp(14px,7cqi,22px) clamp(8px,4cqi,13px);display:flex;position:relative}.phone-frame .preview-phone-content-inner>*{max-width:100%}.phone-frame .preview-phone .motif-frame{display:none}.phone-frame .preview-phone[data-tone=light] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=moden] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=songket] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=batik] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=ketupat] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=pelita] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=masjid] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=formal] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=ramadan] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=islamic] .preview-phone-content-inner,.phone-frame .preview-phone[data-theme=gala] .preview-phone-content-inner{background:rgba(8, 20, 28, calc(.76 * var(--frame-opacity,1)))}.phone-frame .preview-phone[data-tone=dark] .preview-phone-content-inner{background:rgba(255, 250, 240, calc(.86 * var(--frame-opacity,1)))}.phone-frame .preview-phone.floral-card:before{display:none}.phone-frame .preview-phone-content::-webkit-scrollbar{width:4px}.phone-frame .preview-phone-content::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 45%, transparent);border-radius:99px}.phone-frame .preview-phone .motif-glow{background-size:var(--pattern-size)}.phone-frame .preview-phone[data-theme=wau] .motif-glow{background-size:var(--pattern-size), 100% 100%}.phone-frame .preview-phone .motif-frame{outline-offset:clamp(-6px, -2cqi, -4px);inset:clamp(10px,4.5cqi,14px)}.phone-frame .preview-phone .motif-band{height:clamp(12px,5cqi,16px);left:clamp(10px,4.5cqi,14px);right:clamp(10px,4.5cqi,14px)}.phone-frame .preview-phone .motif-band-top{top:clamp(16px,7cqi,22px)}.phone-frame .preview-phone .motif-band-bottom{bottom:clamp(16px,7cqi,22px)}.phone-frame .preview-phone .motif-corner{width:34%}.phone-frame .preview-phone .phone-top{font-size:clamp(6px,2.8cqi,9px)}.phone-frame .preview-phone .phone-of{margin-top:clamp(8px,4.5cqi,12px);font-size:clamp(7px,2.8cqi,8px)}.phone-frame .preview-phone .phone-message{margin-block:clamp(10px,6cqi,16px);font-size:clamp(11px,4.5cqi,13px)}.phone-frame .preview-phone .phone-event,.phone-frame .preview-phone .phone-location{font-size:clamp(8px,3cqi,10px)}.phone-frame .preview-phone h2{font-size:clamp(26px,12cqi,38px)}.phone-frame .preview-phone h2.phone-h-small{font-size:clamp(20px,7.5cqi,28px)}.phone-frame .preview-phone .wedding-names,.phone-frame .preview-phone.floral-card .wedding-names{font-size:clamp(30px,11cqi,43px)}.phone-frame .preview-phone .couple-photo{width:clamp(84px,38cqi,115px);max-height:44cqi;margin-block:4px clamp(8px,4.5cqi,13px)}.phone-frame .preview-phone img,.phone-frame .preview-phone audio,.phone-frame .preview-phone video{max-width:100%}.phone-frame .preview-phone .wedding-hashtag{margin-block:clamp(4px,2.5cqi,7px);font-size:clamp(12px,5.2cqi,16px)}.phone-frame .preview-phone .phone-chip{margin-top:clamp(8px,4.5cqi,14px);padding:clamp(7px,3cqi,9px) clamp(10px,5cqi,16px);font-size:clamp(9px,3.6cqi,11px)}.phone-frame .preview-phone .extra-countdown{box-sizing:border-box;max-width:100%;margin-top:clamp(8px,4.5cqi,14px);padding:clamp(8px,3.5cqi,10px) clamp(8px,5cqi,18px)}.phone-frame .preview-phone .extra-countdown strong{font-size:clamp(24px,10.6cqi,34px)}.phone-frame .preview-phone .extra-countdown .extra-countdown-word{font-size:clamp(15px,5.6cqi,18px)}.phone-frame .preview-phone .extra-countdown small,.phone-frame .preview-phone .extra-countdown span,.phone-frame .preview-phone .extra-calendar small{font-size:clamp(8px,3cqi,11px)}.phone-frame .preview-phone .extra-calendar>div{gap:clamp(4px,2.5cqi,8px);max-width:100%}.phone-frame .preview-phone .extra-gift h3,.phone-frame .preview-phone .extra-calendar h3,.phone-frame .preview-phone .extra-wishes h3{font-size:clamp(12px,5cqi,15px)}.phone-frame .preview-phone .extra-note,.phone-frame .preview-phone .extra-wishes input,.phone-frame .preview-phone .extra-wishes textarea{font-size:clamp(9px,3.6cqi,12px)}.phone-frame .preview-phone .wish-list{max-height:42cqi}.phone-frame .preview-phone .wish-list li{font-size:clamp(9px,3.6cqi,12px)}.phone-frame .preview-phone .wish-list li strong{font-size:clamp(9px,3.4cqi,11px)}.phone-frame .preview-phone .qr-image{aspect-ratio:1;width:clamp(96px,48cqi,160px);height:auto}.phone-frame .preview-phone .phone-bottom-copy{margin-top:clamp(10px,6cqi,18px);font-size:clamp(6px,2.6cqi,8px)}.phone-frame .preview-phone .phone-chip{overflow-wrap:anywhere;max-width:100%}.phone-frame .preview-phone>:not(.motif){max-width:100%}.phone-frame .phone-tabs{flex:none;min-width:0}.phone-frame .phone-tabs button{overflow-wrap:anywhere;min-width:0;padding:clamp(4px,2cqi,6px);font-size:clamp(8px,3cqi,10px)}.phone-frame .phone-tabs button span{font-size:clamp(13px,5cqi,16px)}@media (min-width:901px){.studio-preview{grid-template-rows:auto minmax(0,1fr)}.studio-preview .phone-frame{height:min(640px, calc(100dvh - 190px), calc((100dvh - 190px) / var(--preview-scale,1)))}.studio-preview[data-preview-mode=desktop] .phone-frame{height:min(700px, calc(100dvh - 190px), calc((100dvh - 190px) / var(--preview-scale,1)))}}@media (max-width:900px){.studio-preview{grid-template-rows:auto auto;align-content:start}}@media (max-width:680px){.phone-frame{height:min(600px, 74dvh, calc(74dvh / var(--preview-scale,1)));min-height:min(470px, calc(470px / var(--preview-scale,1)))}.studio-preview[data-preview-mode=desktop] .phone-frame{height:min(580px, 74dvh, calc(74dvh / var(--preview-scale,1)));min-height:min(470px, calc(470px / var(--preview-scale,1)))}}.page-edit{color:#2a1d17;background:#fff;border:1px solid #0000001f;border-radius:16px;gap:10px;width:min(100%,360px);margin:14px auto 0;padding:14px;display:grid}.page-edit-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.page-edit-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.page-edit .form-field input,.page-edit .form-field textarea{box-sizing:border-box;width:100%}.page-edit .form-check{align-items:center;gap:8px;display:flex}.page-edit .form-check input{width:auto}.preview-phone-content-inner :is(p,h2,small,address,a,strong){overflow-wrap:anywhere;word-break:break-word;max-width:100%}.preview-phone-content-inner .phone-message{white-space:pre-line}.public-card :is(p,h2,small,address,a,strong),.wedding-schedule :is(p,h2,strong),.wedding-contact :is(p,a){overflow-wrap:anywhere;word-break:break-word;max-width:100%}.public-card .phone-message{white-space:pre-line}.page-edit{width:100%;margin:18px 0 0}.page-edit-tabs{flex-wrap:wrap;gap:6px;display:flex}.page-edit-tabs button{font:inherit;cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:999px;padding:6px 12px}.page-edit-tabs button.on{color:#fff;background:#1d3b3a;border-color:#1d3b3a}.preview-phone-content-inner[data-view=home]>:not(.couple-photo){zoom:var(--pz-home,1)}.preview-phone-content-inner[data-view=events]>*{zoom:var(--pz-events,1)}.preview-phone-content-inner[data-view=wishes]>*{zoom:var(--pz-wishes,1)}.preview-phone-content-inner[data-view=contact]>*{zoom:var(--pz-contact,1)}.public-card>:is(.phone-top,.phone-of,.phone-line,.wedding-names,.extra-countdown,.wedding-hashtag),.public-card>:is(.phone-message,.phone-event,.phone-location){zoom:var(--pz-home,1)}.wedding-schedule{zoom:var(--pz-events,1)}.wedding-contact{zoom:var(--pz-contact,1)}.extras-card .extra-wishes{zoom:var(--pz-wishes,1)}.couple-photo{zoom:var(--photo-scale,1)}.extra-wishes :is(input,textarea),.phone-chip,.rsvp-card :is(input,select,textarea,button){zoom:var(--field-scale,1)}.admin-table tr[draggable=true]{cursor:grab}.admin-table tr.dragging{opacity:.4}.admin-table tr.drag-over td{box-shadow:inset 0 3px 0 var(--accent,#c2273d)}.drag-handle{cursor:grab;color:#8a8372;-webkit-user-select:none;user-select:none;letter-spacing:-2px}
