@font-face{font-family:Europa;src:url(/assets/Europa-Light%20Light-CvSmW57X.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Europa;src:url(/assets/Europa-regular-BXf1fklM.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Europa;src:url(/assets/Europa-Bold%20Bold-BuFsLfyH.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--sw-gold: #b29c82;--sw-black: #131718;--sw-white: #ffffff;--sw-cream: #f5f3ef;--env-width: 600px;--env-height: 400px;--bg-color: #f4f4f0;--paper-color: #e6e2d8;--card-color: #ffffff;--flap-color: #e6e2d8;--liner-color: var(--sw-black);--accent-color: var(--sw-gold);--shadow-color: rgba(0, 0, 0, .2);--primary-color: #4a6fa5}.theme-modern{--primary-color: #4a6fa5;--bg-color: #f4f4f0;font-family:Inter,system-ui,sans-serif}.theme-modern .card-container{border:none;background:#fff;box-shadow:0 15px 35px #0000001a}.theme-modern .card-content h1{font-weight:600;letter-spacing:1px;text-transform:none;color:#333}.theme-modern .card-content h2{font-family:Inter,sans-serif;font-weight:300;letter-spacing:-.5px}.theme-rustic{--primary-color: #8b5a2b;--bg-color: #e8e6e1;--paper-color: #d8d3c5;--card-color: #fdfbf7;font-family:Georgia,serif}.theme-rustic .card-container{background-color:#fdfbf7;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");border:1px dashed #c0b8a0;box-shadow:0 5px 15px #00000014}.theme-rustic .card-content h1{font-family:Courier New,Courier,monospace;letter-spacing:2px;color:#8b5a2b;font-size:.8rem}.theme-rustic .card-content h2{font-family:Georgia,serif;font-style:italic;color:#5d4037}.theme-rustic .btn-rsvp{border-radius:2px;font-family:Courier New,Courier,monospace;font-weight:700}.theme-classic{--primary-color: #1a1a1a;--bg-color: #ffffff;--paper-color: #fcfcfc;font-family:Times New Roman,serif}.theme-classic .card-container{border:6px double #c5a065;background:#fff;box-shadow:0 10px 40px #00000026;padding:45px}.theme-classic .card-content h1{font-family:Times New Roman,serif;text-transform:uppercase;letter-spacing:4px;color:#c5a065;font-size:.75rem;border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:20px;width:60%;margin-left:auto;margin-right:auto}.theme-classic .card-content h2{font-family:Times New Roman,serif;font-weight:400;font-size:3rem;letter-spacing:-1px}.theme-classic button,.theme-classic .btn-rsvp.confirm{background:var(--primary-color);color:#fff;border-radius:0;letter-spacing:2px}.theme-scottweber{--primary-color: var(--sw-gold);--bg-color: var(--sw-cream);--paper-color: #ebe7df;--card-color: var(--sw-white);--liner-color: var(--sw-black);font-family:Europa,system-ui,sans-serif}.theme-scottweber .card-container{background:var(--sw-white);border:1px solid rgba(178,156,130,.3);box-shadow:0 20px 50px #1317181a}.theme-scottweber .card-content h1{font-family:Europa,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:3px;font-size:.75rem;color:var(--sw-gold)}.theme-scottweber .card-content h2{font-family:Europa,sans-serif;font-weight:300;font-size:2.8rem;color:var(--sw-black);letter-spacing:-1px}.theme-scottweber .card-content p{font-family:Europa,sans-serif;font-weight:400;color:#555}.theme-scottweber .btn-rsvp.confirm{background:var(--sw-gold);color:var(--sw-black);font-family:Europa,sans-serif;font-weight:700}.theme-scottweber .btn-rsvp.confirm:hover{background:#a08970}.theme-scottweber button{background:var(--primary-color, var(--sw-gold));color:#fff;font-family:Europa,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:inherit;background-color:var(--bg-color);width:100vw;height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:center;overflow:hidden;place-items:center;color:#333}button{background-color:var(--primary-color);color:#fff}.scene-viewport{width:100%;height:100%;perspective:1200px;display:flex;justify-content:center;align-items:center;position:relative}.envelope-assembly{width:var(--env-width);height:var(--env-height);position:relative;transform-style:preserve-3d;transform:rotateX(10deg);cursor:pointer}.env-layer{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.env-flap-wrapper,.card-container,.envelope-assembly{will-change:transform}@media(prefers-reduced-motion:reduce){.envelope-assembly,.env-flap-wrapper,.card-container{transition:none!important;animation:none!important}}.env-back{background-color:var(--paper-color);transform:translateZ(0);border-radius:4px}svg{width:100%;height:100%;display:block}.card-container{position:absolute;top:10px;left:10px;width:calc(100% - 20px);height:calc(100% - 20px);background-color:var(--card-color);transform:translateZ(.5px);padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 10px 30px #00000026;color:#1a1a1a;border:1px solid rgba(0,0,0,.05)}.card-content h1{font-family:Inter,sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:4px;font-size:.9rem;letter-spacing:3px;color:#666}.card-content h2{font-family:Georgia,serif;font-size:2.5rem;font-weight:400;margin:10px 0;color:#000}.card-content p{font-family:Inter,sans-serif;font-size:.9rem;color:#555;line-height:1.6}.env-front-composite{transform:translateZ(2px);pointer-events:none}.env-flap-wrapper{height:220px;transform-origin:top center;transform:translateZ(3px) rotateX(0);z-index:10;transform-style:preserve-3d;top:0}@media(max-width:600px){.envelope-assembly{transform:scale(.85) rotateX(10deg);transform-origin:center center}.card-container{max-height:480px}.card-content{overflow-y:auto;max-height:100%;padding:1.5rem 1.5rem 3rem}.card-content h1{font-size:1.1rem;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.card-content h2{font-size:1.3rem}.card-content p{font-size:1rem}.controls{bottom:10px}.controls button{padding:.6rem 1.2rem;font-size:.9rem}}@media(max-width:400px){.card-content h1{font-size:1.2rem}}.env-flap-face{position:absolute;width:100%;height:100%;top:0;left:0;backface-visibility:hidden}.env-flap-outside{transform:rotateY(0);z-index:2}.env-flap-inside{transform:rotateY(180deg)}.controls{position:absolute;bottom:20px;display:flex;gap:10px;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;background:var(--primary-color, var(--accent-color));color:#fff;font-family:Europa,Inter,sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:600;font-size:.85rem;box-shadow:0 4px 10px #00000026;transition:all .3s ease}button:hover{transform:translateY(-2px);box-shadow:0 6px 15px #c5a06566;filter:brightness(1.1)}.btn-rsvp{padding:8px 16px;margin:0 5px;font-size:.8rem;border-radius:4px;border:none;cursor:pointer;background:#eee;color:#333;box-shadow:none;transition:all .2s;text-transform:uppercase;letter-spacing:1px;font-family:Inter,sans-serif}.btn-rsvp:hover{transform:translateY(-1px);background:#e0e0e0}.btn-rsvp.confirm{background:#4a6fa5;color:#fff}.btn-rsvp.confirm:hover{background:#3b5b88}.btn-rsvp.decline{background:transparent;border:1px solid #999;color:#666}.btn-rsvp.decline:hover{background:#f0f0f0;color:#333}.texture-overlay{opacity:.05;mix-blend-mode:multiply;pointer-events:none}body.read-mode{background-color:#e8e8e5;transition:background-color 1s ease}body.read-mode .card-container{pointer-events:auto;cursor:text}body.read-mode .envelope-assembly{cursor:default}@media(hover:hover){body:not(.read-mode) .envelope-assembly:hover{transform:rotateX(5deg) translateY(-10px);transition:transform .4s ease-out}}.wizard-container{width:100%;position:relative;min-height:300px;overflow:hidden;font-family:Europa,Inter,sans-serif}.wizard-step{display:none;flex-direction:column;align-items:center;width:100%;opacity:0;transform:translate(20px);transition:opacity .3s ease,transform .3s ease}.wizard-step.active{display:flex;opacity:1;transform:translate(0)}.wizard-title{font-size:1.5rem;margin-bottom:1.5rem;color:var(--primary-color, #333)}.wizard-subtitle{font-size:1rem;color:#666;margin-bottom:1.5rem;text-align:center}.wizard-actions.vertical{display:flex;flex-direction:column;gap:15px;width:100%;max-width:280px}.btn-rsvp.confirm-xl{padding:15px 20px;font-size:1.1rem;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--primary-color, #c5a065);color:#fff;width:100%}.btn-rsvp.decline-text{background:transparent;color:#666;box-shadow:none;font-size:.9rem;text-decoration:underline;padding:10px}.wizard-form-group{width:100%;margin-bottom:20px;text-align:left}.wizard-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:1rem;background:#fffc}.wizard-input:focus{border-color:var(--primary-color, #c5a065);outline:none}.toggle-group{display:flex;align-items:center;gap:15px;background:#ffffff80;padding:15px;border-radius:12px}.toggle-switch{position:relative;display:inline-block;width:50px;height:28px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s}.slider.round{border-radius:34px}.slider.round:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:var(--primary-color, #c5a065)}input:checked+.slider:before{transform:translate(22px)}.toggle-label{font-size:1rem;font-weight:500}.wizard-nav{display:flex;justify-content:space-between;width:100%;margin-top:20px;gap:15px}.btn-nav{padding:12px 20px;border-radius:8px;border:none;font-weight:600;cursor:pointer;flex:1}.btn-nav.back{background:transparent;color:#666;border:1px solid #ddd}.btn-nav.next,.btn-nav.submit{background:linear-gradient(135deg,var(--primary-color, #333),#444);color:#fff;box-shadow:0 4px 6px #0000001a;transition:transform .2s,box-shadow .2s}.btn-nav.next:hover,.btn-nav.submit:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.btn-nav.back{background:transparent;color:#666;border:1px solid #ddd;transition:background .2s}.btn-nav.back:hover{background:#f5f5f5}#btn-reset{font-size:.85rem;color:#888;background:transparent!important;border:none!important;box-shadow:none!important;text-decoration:underline;opacity:.7;transition:opacity .3s;margin-top:2rem}#btn-reset:hover{opacity:1;color:#555;transform:none}.success-icon{font-size:4rem;margin-bottom:1rem;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.btn-secondary{background:#fff;color:#333;border:1px solid #ddd;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500}.wizard-progress{display:flex;justify-content:center;gap:10px;margin-bottom:1.5rem}.progress-dot{width:10px;height:10px;border-radius:50%;background:#ddd;transition:background .3s ease,transform .3s ease}.progress-dot.active{background:var(--primary-color, #c5a065);transform:scale(1.2)}.progress-dot.completed{background:var(--primary-color, #c5a065);opacity:.6}
