:root{--ivory:#f7f4ec;--paper:#fffdf8;--gold:#b3924f;--gold-deep:#96793c;--gold-pale:#e6d9bd;--ink:#2b2b2b;--muted:#7a7466;--serif:"Lora", "Heebo", Georgia, "Times New Roman", serif;--script:"Great Vibes", "Heebo", cursive;--hebrew:"Heebo", "Arial Hebrew", sans-serif;--shadow-card:0 24px 60px #3c30142e;--shadow-soft:0 8px 30px #3c30141a}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{background:var(--ivory);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;font-size:18px;line-height:1.55}[dir=rtl],[dir=rtl] .serif{font-family:var(--hebrew)}.script{font-family:var(--script);color:var(--gold);font-weight:400}.smallcaps{font-family:var(--serif);text-transform:uppercase;letter-spacing:.22em;font-weight:500}.btn{font-family:var(--serif);text-transform:uppercase;letter-spacing:.18em;border:1px solid var(--gold);background:var(--gold);color:#fff;cursor:pointer;text-align:center;border-radius:999px;padding:12px 28px;font-size:14px;text-decoration:none;transition:all .25s;display:inline-block}.btn:hover{background:var(--gold-deep);border-color:var(--gold-deep)}.btn.outline{color:var(--gold-deep);background:0 0}.btn.outline:hover{background:#b3924f1a}.btn:disabled{opacity:.5;cursor:default}.btn.small{letter-spacing:.12em;padding:7px 16px;font-size:12px}.scene{background:radial-gradient(ellipse at 50% 30%, #fffdf6 0%, var(--ivory) 60%, #efe9db 100%);z-index:50;opacity:1;flex-direction:column;justify-content:center;align-items:center;padding:24px;transition:opacity .9s;display:flex;position:fixed;inset:0}.scene.fading{opacity:0;pointer-events:none}.scene-names{font-family:var(--script);color:var(--gold);text-align:center;margin-bottom:6px;font-size:clamp(34px,6vw,54px)}.scene-date{font-family:var(--serif);text-transform:uppercase;letter-spacing:.28em;color:var(--muted);text-align:center;margin-bottom:42px;font-size:clamp(10px,2vw,13px)}.envelope-wrap{perspective:1400px;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:center}.envelope{aspect-ratio:1.42;width:min(86vw,500px);transform-style:preserve-3d;transition:transform .8s;position:relative}.envelope-wrap:hover .envelope{transform:translateY(-4px)}.env-back{box-shadow:var(--shadow-card);background:linear-gradient(#e5d9bc,#efe5cd);border-radius:8px;position:absolute;inset:0}.env-card{background:var(--paper) center / 100% no-repeat;border:1px solid #eee5d2;border-radius:4px;width:88%;height:90%;transition:transform 1.5s cubic-bezier(.22,.9,.35,1) .85s;position:absolute;top:5%;left:6%;box-shadow:0 4px 18px #3c301438}.env-pocket{clip-path:polygon(0 0,50% 46%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 -2px 3px #7862322e);background:linear-gradient(#f5eedd 0%,#eadfc6 100%);border-radius:8px;position:absolute;inset:0}.env-flap{transform-origin:top;transform-style:preserve-3d;z-index:4;transition:transform 1.15s cubic-bezier(.55,.06,.35,1);position:absolute;inset:0}.env-flap:before{content:"";clip-path:polygon(0 0,50% 62%,100% 0);backface-visibility:hidden;background:linear-gradient(190deg,#f9f3e4,#eadfc4);border-radius:8px 8px 0 0;position:absolute;inset:0;box-shadow:0 2px 5px #78623229}.env-seal{filter:drop-shadow(0 3px 6px #5a461973);z-index:5;width:92px;height:92px;transition:opacity .4s,transform .4s;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.env-seal svg{width:100%;height:100%;display:block}.env-name{text-align:center;font-family:var(--script);color:var(--gold-deep);z-index:6;pointer-events:none;font-size:clamp(22px,4.6vw,32px);position:absolute;top:66%;left:8%;right:8%}.tap-hint{font-family:var(--serif);text-transform:uppercase;letter-spacing:.3em;color:var(--muted);margin-top:36px;font-size:12px;animation:2.4s infinite pulse}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.scene.opening .scene-names,.scene.opening .scene-date{opacity:0;transition:opacity .45s}.envelope.opening .env-flap{z-index:1;transform:rotateX(178deg)}.envelope.opening .env-seal{opacity:0;transform:translate(-50%,-50%)scale(.6)}.envelope.opening .env-card{transform:translateY(-74%)scale(1.02)}.envelope.opening+.tap-hint{opacity:0;transition:opacity .3s;animation:none}.envelope.opening .env-name{opacity:0;transition:opacity .4s}.content{opacity:0;transition:opacity 1s}.content.visible{opacity:1}.hero{text-align:center;padding:64px 20px 8px}.hero .script{font-size:clamp(40px,7vw,64px);display:block}.hero .sub{text-transform:uppercase;letter-spacing:.3em;color:var(--muted);margin-top:10px;font-size:clamp(11px,2vw,14px)}.hero .hosted{color:var(--muted);margin-top:14px;font-size:16.5px;font-style:italic}.quick-rsvp{justify-content:center;gap:14px;margin:0 16px 10px;display:flex}.quick-rsvp .btn{white-space:nowrap}.gift-icon{width:44px;height:44px;color:var(--gold);margin-bottom:2px}.besh{z-index:60;font-family:var(--hebrew);color:var(--gold-deep);-webkit-user-select:none;user-select:none;pointer-events:none;font-size:16px;position:fixed;top:10px;right:16px}.lang-toggle{z-index:40;border:1px solid var(--gold-pale);font-family:var(--serif);cursor:pointer;color:var(--gold-deep);box-shadow:var(--shadow-soft);background:#fffdf8e6;border-radius:999px;padding:7px 18px;font-size:15px;position:fixed;top:16px;left:16px}.section{max-width:860px;margin:0 auto;padding:40px 20px}.section-title{text-align:center;font-family:var(--script);color:var(--gold);margin:0 0 6px;font-size:clamp(32px,5vw,44px)}.section-sub{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.22em;margin:0 0 32px;font-size:13px}.ornament{text-align:center;color:var(--gold);letter-spacing:.5em;-webkit-user-select:none;user-select:none;margin:10px 0;font-size:22px}.viewer{flex-direction:column;align-items:center;display:flex}.viewer-tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px;display:flex}.viewer-tab{font-family:var(--serif);letter-spacing:.08em;border:1px solid var(--gold-pale);background:var(--paper);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 20px;font-size:15px;transition:all .2s}.viewer-tab.active{background:var(--gold);border-color:var(--gold);color:#fff}.viewer-stage{justify-content:center;align-items:center;gap:10px;width:100%;display:flex;position:relative}.viewer-img{width:min(100%,560px);box-shadow:var(--shadow-card);cursor:zoom-in;background:#fff;border-radius:6px;animation:.5s fadein}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.viewer-arrow{background:var(--paper);border:none;border:1px solid var(--gold-pale);color:var(--gold-deep);cursor:pointer;width:42px;height:42px;box-shadow:var(--shadow-soft);border-radius:50%;flex-shrink:0;font-size:18px}.viewer-arrow:hover{background:var(--gold);color:#fff}.viewer-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px;display:flex}.lightbox{z-index:100;cursor:zoom-out;background:#141008eb;justify-content:center;align-items:center;animation:.25s fadein;display:flex;position:fixed;inset:0}.lightbox img{border-radius:4px;max-width:96vw;max-height:96vh}.details-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.detail-card{background:var(--paper);border:1px solid var(--gold-pale);text-align:center;box-shadow:var(--shadow-soft);border-radius:10px;padding:28px 22px}.detail-card .when{font-family:var(--script);color:var(--gold);margin-bottom:4px;font-size:30px}.detail-card .what{text-transform:uppercase;letter-spacing:.2em;margin-bottom:10px;font-size:14px;font-weight:600}.detail-card .where{color:var(--muted);font-size:16px}.detail-card a{color:var(--gold-deep)}.rsvp-card{background:var(--paper);border:1px solid var(--gold-pale);box-shadow:var(--shadow-soft);border-radius:12px;max-width:560px;margin:0 auto;padding:40px 28px}.field{margin-bottom:20px}.field label{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:7px;font-size:12.5px;display:block}.field input[type=text],.field input[type=number],.field textarea,.field select{border:1px solid var(--gold-pale);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:11px 14px;font-family:inherit;font-size:17px}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);outline:none}.choice-row{flex-wrap:wrap;gap:10px;display:flex}.choice{border:1px solid var(--gold-pale);text-align:center;cursor:pointer;font-family:var(--serif);background:#fff;border-radius:10px;flex:180px;padding:14px;font-size:17px;transition:all .2s}.choice.selected{border-color:var(--gold);color:var(--gold-deep);background:#b3924f14}.counts{gap:16px;display:flex}.counts .field{flex:1}.form-error{color:#a33;text-align:center;margin-bottom:14px}.thanks{text-align:center;color:var(--gold-deep);padding:30px 10px;font-size:21px}.footer{text-align:center;color:var(--muted);padding:40px 20px 60px;font-size:14px}.footer .script{margin-bottom:6px;font-size:30px;display:block}.pk-script{font-family:var(--script);color:var(--gold);text-align:center;margin:12px 0}.pk-heading{text-align:center;text-transform:uppercase;letter-spacing:.2em;margin:14px 0;font-weight:600}.pk-para{text-align:center;white-space:pre-wrap;max-width:640px;margin:12px auto}.pk-btn-row{justify-content:center;margin:14px 0;display:flex}.pk-img{max-width:100%;box-shadow:var(--shadow-soft);border-radius:8px;margin:16px auto;display:block}.manage{font-family:var(--serif);max-width:1080px;margin:0 auto;padding:28px 20px 80px}.manage h1{font-family:var(--script);color:var(--gold);margin:0;font-size:40px;font-weight:400}.manage-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.manage-tabs{border-bottom:1px solid var(--gold-pale);flex-wrap:wrap;gap:6px;margin-bottom:28px;display:flex}.manage-tab{font-family:var(--serif);cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2.5px solid #0000;padding:10px 18px;font-size:17px}.manage-tab.active{color:var(--gold-deep);border-bottom-color:var(--gold);font-weight:600}.panel{background:var(--paper);border:1px solid var(--gold-pale);box-shadow:var(--shadow-soft);border-radius:12px;margin-bottom:22px;padding:24px}.panel h3{letter-spacing:.06em;margin-top:0}.mtable{border-collapse:collapse;width:100%;font-size:16px}.mtable th{text-align:left;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);border-bottom:1px solid var(--gold-pale);padding:8px 10px;font-size:12px}.mtable td{vertical-align:top;border-bottom:1px solid #f0ead9;padding:10px}.mtable tr:hover td{background:#fbf8f0}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.row .field{flex:180px;margin-bottom:10px}.pill{color:var(--gold-deep);background:#b3924f1f;border-radius:999px;padding:3px 12px;font-size:13px;display:inline-block}.pill.green{color:#3c6e34;background:#508c4624}.pill.red{color:#a33;background:#aa3c321a}.stat-row{flex-wrap:wrap;gap:14px;margin-bottom:22px;display:flex}.stat{background:var(--paper);border:1px solid var(--gold-pale);text-align:center;box-shadow:var(--shadow-soft);border-radius:12px;flex:140px;padding:18px}.stat .num{color:var(--gold-deep);font-size:34px;font-weight:600}.stat .lbl{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:11.5px}.auth-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px;display:flex}.editor-shell{z-index:60;background:#fff;flex-direction:column;display:flex;position:fixed;inset:0}.editor-bar{border-bottom:1px solid var(--gold-pale);background:var(--paper);font-family:var(--serif);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.editor-main{flex:1;min-height:0}@media (width<=640px){.viewer-arrow{display:none}.counts{flex-direction:column;gap:0}.quick-rsvp{gap:8px}.quick-rsvp .btn{letter-spacing:.1em;padding:10px 14px;font-size:12px}}
