:root{--main-background: #f5f4f0;--dark-green-theme: #2a4a53;--main-text: #555555;--white: #ffffff;--container-width: 500px;--container-aspect-ratio: 604 / 574;--container-max-width: min(760px, 95vw);--fish-rotation: 7.52deg;--strip-rotation: 16.52deg;--bubble-rotation: -16.52deg}body{background-color:var(--main-background);display:flex;flex-direction:column;align-items:center;height:100%;padding:1rem 0 2rem;gap:0}body.menu-page{background-image:var(--menu-body-background-image, none);background-size:contain;background-position:center;background-repeat:no-repeat}.logo{position:relative;width:80px;margin:1rem auto;display:flex;justify-content:center}.home-container{display:flex;flex-direction:column;align-items:center;max-width:48rem;width:100%;gap:.5rem;margin-top:0;padding-top:0;justify-content:center;min-height:calc(100vh - 8rem)}.photobooth-container{position:relative;width:100%;max-width:var(--container-max-width);aspect-ratio:var(--container-aspect-ratio);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;margin-top:2vh}.home-container .button-container,.home-container .button-container button,button{pointer-events:auto}.home-animations{position:relative;width:100%;height:min(56vh,520px)}.home-animations,.home-animations .photobooth-mock,.home-animations .photostrip-mock,.home-animations .bubbles-mock,.home-animations .fish-mock-1,.home-animations .fish-mock-2,.home-animations .fish-mock-3{pointer-events:none}.home-animations .button-container,.home-animations .button-container button{pointer-events:auto}@media screen and (max-width: 768px){.photobooth-container{width:90vw}.home-container,.menu-container{width:95%}}.menu-container{display:flex;flex-direction:column;align-items:center;justify-content:top;max-width:48rem;width:100%;height:100vh;gap:.75rem;padding:0}.menu-container{justify-content:center;min-height:100vh;padding:1.5rem 1rem 2rem;gap:1.25rem}.menu-buttons{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:-6vh;width:100%}.button-container{margin-top:0}button{color:var(--main-text);font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:400;background-color:var(--white);border:1px solid #1e1e1e;border-radius:.5rem;text-align:center;transition:transform .2s ease-in-out}#select-button{display:flex;justify-content:center;align-items:center;gap:.56rem;width:min(12.5rem,48vw);height:auto;padding:.75rem 1.2rem}#menu-camera-button,#menu-upload-button{display:flex;justify-content:center;align-items:center;gap:.56rem;width:min(24rem,90%);height:auto;padding:1.1rem 1.4rem;font-size:1.5rem;border-radius:.8rem;box-shadow:0 6px 18px #00000014;background:#fffc}@media screen and (max-width: 768px){#select-button{width:min(8rem,36vw);height:auto;font-size:1.1rem;padding:.45rem .6rem;gap:.4rem}button{font-size:1.5rem}.menu-buttons{margin-top:-20vh}}.landing{width:100%;max-width:1040px;min-height:calc(100vh - 9rem);min-height:calc(100dvh - 9rem);margin:0 auto;padding:1rem 20px 2rem;display:flex;align-items:center;justify-content:center;gap:clamp(2rem,6vw,5rem)}.landing-copy{flex:1 1 26rem;max-width:30rem}.landing-kicker{display:inline-block;padding:4px 12px;border-radius:999px;background:#e3f0f3;color:#2a4a53;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.landing h1{margin-top:.8rem;font-family:Pacifico,cursive;font-weight:400;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.2;color:#2a4a53;text-wrap:balance}.landing-tagline{margin-top:.9rem;font-family:Outfit,sans-serif;font-size:clamp(1rem,2.4vw,1.15rem);line-height:1.55;color:#5d6b70}.landing-cta{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.6rem;padding:.9rem 2.2rem;border:none;border-radius:999px;background:#2a4a53;color:#fff;font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:600;cursor:pointer;box-shadow:0 8px 22px #2a4a5359;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.landing-cta:hover{background:#365f6b;transform:translateY(-2px);box-shadow:0 12px 28px #2a4a5366}.landing-cta svg{transition:transform .2s ease}.landing-cta:hover svg{transform:translate(4px)}.landing-features{margin-top:1.4rem;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.landing-features li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #e3eaec;color:#47626a;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:500}.landing-features li svg{font-size:1rem;color:#2a4a53}.landing-features li.pink{border-color:#ffd0de;color:#c2255c}.landing-features li.pink svg{color:#ff5c8a}.landing-art{position:relative;flex:0 0 auto;width:min(360px,42vw);aspect-ratio:1 / 1.08}.landing-strip{position:absolute;top:6%;left:50%;width:34%;padding:4% 4% 0;background:#fff;border-radius:8px;box-shadow:0 14px 34px #2a4a5338;display:flex;flex-direction:column;gap:6px;transform-origin:50% 110%;animation:landingSway 6s ease-in-out infinite}.landing-strip.left{--r: -16deg;--x: -118%;animation-delay:-2s}.landing-strip.middle{--r: 0deg;--x: -50%;z-index:2;top:0}.landing-strip.right{--r: 16deg;--x: 18%;animation-delay:-4s}.landing-strip{transform:translate(var(--x)) rotate(var(--r))}@keyframes landingSway{0%,to{transform:translate(var(--x)) rotate(var(--r)) translateY(0)}50%{transform:translate(var(--x)) rotate(calc(var(--r) + 2deg)) translateY(-6px)}}.landing-frame{aspect-ratio:5 / 4;border-radius:4px;overflow:hidden;display:flex;align-items:flex-end}.landing-frame svg{width:100%;height:100%;fill:#ffffffd9}.landing-frame .landing-heart{fill:#ff5c8a}.landing-strip-caption{padding:4px 0 8px;text-align:center;font-family:Pacifico,cursive;font-size:clamp(.6rem,1.4vw,.85rem);color:#2a4a53;white-space:nowrap}.landing-strip.middle .landing-strip-caption{color:#d6336c}@media (max-width: 768px){.landing{flex-direction:column-reverse;text-align:center;gap:1.5rem;padding-top:.5rem}.landing-copy{flex:0 0 auto}.landing-features{justify-content:center}.landing-art{width:min(250px,62vw)}}.couple-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:12px;border:2px solid #e6ecee;background:#fff;color:#2a4a53;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;pointer-events:auto;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.couple-btn:hover:not(:disabled){transform:translateY(-2px);border-color:#2a4a53;box-shadow:0 6px 18px #2a4a531f}.couple-btn.primary{background:#2a4a53;border-color:#2a4a53;color:#fff}.couple-btn.large{width:100%;padding:14px 20px;font-size:1.1rem;border-radius:50px}.couple-lobby{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:90px 16px 32px}.couple-lobby-card{width:100%;max-width:420px;padding:2rem 1.5rem;background:#ffffffeb;border-radius:24px;box-shadow:0 15px 45px #2a4a5326;text-align:center;display:flex;flex-direction:column;gap:1rem}.couple-lobby-icon{width:64px;height:64px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;background:linear-gradient(135deg,#f59e0b,#ef6f8f)}.couple-lobby-card h1{font-family:Outfit,sans-serif;font-size:1.8rem;font-weight:700;color:#2a4a53;margin:0}.couple-lobby-card p{font-family:Outfit,sans-serif;color:#555;line-height:1.5}.couple-lobby-divider{display:flex;align-items:center;gap:12px;color:#999;font-family:Outfit,sans-serif;font-size:.85rem}.couple-lobby-divider:before,.couple-lobby-divider:after{content:"";flex:1;height:1px;background:#e2e8ea}.couple-join{display:flex;gap:8px}.couple-join input{flex:1;min-width:0;padding:10px 14px;border:2px solid #e6ecee;border-radius:12px;font-family:Outfit,sans-serif;font-size:1rem;letter-spacing:.08em;color:#2a4a53;background:#fff}.couple-join input:focus{outline:none;border-color:#2a4a53}.couple-status{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;margin-bottom:12px;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid #e6ecee;color:#6b5a2a;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:500;text-align:center}.couple-status-dot{width:9px;height:9px;flex-shrink:0;border-radius:50%;background:#f59e0b;animation:coupleBlink 1.2s ease-in-out infinite}.couple-status.is-connected{color:#1c6b4a}.couple-status.is-connected .couple-status-dot{background:#10b981;animation:none}@keyframes coupleBlink{0%,to{opacity:1}50%{opacity:.3}}.couple-invite{flex-shrink:0;width:588px;max-width:90vw;margin-bottom:14px;padding:14px 16px;background:#fff;border-radius:16px;box-shadow:0 6px 24px #2a4a531f;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.couple-invite-title{font-family:Outfit,sans-serif;color:#555}.couple-invite-code{font-family:Outfit,sans-serif;font-size:1.8rem;font-weight:700;letter-spacing:.3em;padding-left:.3em;color:#2a4a53}.couple-invite-link{max-width:100%;font-family:Outfit,sans-serif;font-size:.8rem;color:#888;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.couple-invite-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.couple-invite-qr{padding:10px;background:#fff;line-height:0}.couple-booth .couple-canvas{position:absolute;top:0;left:0;z-index:0}.couple-booth .couple-overlay{z-index:7}.couple-video,.couple-placeholder{position:absolute;width:50%;z-index:6}.couple-video{object-fit:cover;transform:scaleX(-1);background:#1d3138}.couple-video.left,.couple-placeholder.left{left:0}.couple-video.right,.couple-placeholder.right{left:50%}.couple-placeholder{display:flex;align-items:center;justify-content:center;padding:1rem;background:repeating-linear-gradient(45deg,#eef3f4,#eef3f4 12px,#e4ecee 12px,#e4ecee 24px);color:#5a7078;font-family:Outfit,sans-serif;font-size:.95rem;text-align:center}.couple-you-tag{position:absolute;z-index:8;margin:12px;padding:2px 10px;border-radius:999px;background:#0000008c;color:#fff;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:600}.couple-you-tag.left{left:0}.couple-you-tag.right{right:0}#menu-couple-button{display:flex;justify-content:center;align-items:center;gap:.56rem;width:min(24rem,90%);height:auto;padding:1.1rem 1.4rem;font-size:1.5rem;border-radius:.8rem;box-shadow:0 6px 18px #00000014;background:#fffc}@media (max-width: 768px){.couple-invite-code{font-size:1.5rem}.couple-placeholder{font-size:.8rem}#menu-couple-button{font-size:1.25rem}}.couple-btn{color:#c2255c;border-color:#ffd6e4}.couple-btn:hover:not(:disabled){border-color:#ff6b9d;box-shadow:0 6px 18px #ff6b9d40}.couple-btn.primary{background:linear-gradient(135deg,#ff8fab,#ff5c8a);border-color:transparent;color:#fff;box-shadow:0 6px 18px #ff5c8a59}.couple-lobby{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;min-height:0;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at 20% 15%,#ffe3ec 0,transparent 45%),radial-gradient(circle at 85% 85%,#ffe9d6 0,transparent 45%),#fff7fa}.couple-lobby-card{position:relative;z-index:1;border:2px solid #ffe0ea;box-shadow:0 18px 50px #ff6b9d38}.couple-lobby-icon{background:linear-gradient(135deg,#ff9ebb,#ff5c8a);box-shadow:0 8px 20px #ff5c8a66;animation:coupleBeat 1.4s ease-in-out infinite}.couple-lobby-card h1{font-family:Pacifico,cursive;font-weight:400;font-size:2.2rem;color:#d6336c}.couple-join input,.couple-name-input{border:2px solid #ffd6e4;border-radius:14px;color:#a61e4d}.couple-join input:focus,.couple-name-input:focus{outline:none;border-color:#ff6b9d;box-shadow:0 0 0 4px #ff6b9d2e}.couple-name-input{width:150px;padding:10px 14px;background:#fff;font-family:Outfit,sans-serif;font-size:1rem;pointer-events:auto}.couple-name-input.wide{width:100%;text-align:center}.couple-name-input::placeholder,.couple-join input::placeholder{color:#e3a3b8;letter-spacing:0}@keyframes coupleBeat{0%,to{transform:scale(1)}15%{transform:scale(1.14)}30%{transform:scale(1)}45%{transform:scale(1.1)}}.couple-hearts{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.couple-hearts span{position:absolute;bottom:-3rem;opacity:0;animation:coupleFloat 9s linear infinite}@keyframes coupleFloat{0%{transform:translateY(0) rotate(-8deg);opacity:0}10%{opacity:.85}50%{transform:translateY(-55vh) rotate(8deg)}90%{opacity:.6}to{transform:translateY(-115vh) rotate(-8deg);opacity:0}}.camera-page-wrapper-v6.couple-room{background:radial-gradient(circle at 10% 10%,#ffe3ec 0,transparent 40%),radial-gradient(circle at 90% 90%,#ffeedd 0,transparent 40%),#fff7fa}.couple-room .couple-status{border-color:#ffd6e4;color:#a8506b}.couple-room .couple-status-dot{background:#ff8fab}.couple-room .couple-status.is-connected{color:#c2255c}.couple-room .couple-status.is-connected .couple-status-dot{background:#ff4d6d;animation:coupleBeat 1.4s ease-in-out infinite}.couple-room .couple-invite{border:2px solid #ffe0ea;box-shadow:0 8px 26px #ff6b9d2e}.couple-room .couple-invite-code{color:#d6336c}.couple-room .slot-indicator.captured{background:#ff5c8a;border-color:#ff5c8a}.couple-room .slot-indicator.current{border-color:#ff8fab;box-shadow:0 0 0 4px #ff8fab40}.couple-room .photobooth-container#booth{border-radius:20px;box-shadow:0 14px 44px #ff6b9d47}.couple-room .primary-capture-btn{background:linear-gradient(135deg,#ff8fab,#ff4d6d)!important;box-shadow:0 6px 20px #ff4d6d66!important}.couple-room .retake-btn-v6{background:#fff;color:#c2255c;border:2px solid #ffd6e4;box-shadow:0 4px #ffd6e4}.couple-room .retake-btn-v6:hover{background:#fff0f5;box-shadow:0 6px #ffd6e4}.couple-room .dropdown-trigger{border-color:#ffd6e4;color:#c2255c}.couple-room .select-icon{color:#ff5c8a}.couple-room .dropdown-item.active{background:#ff5c8a}.couple-room .dropdown-item:hover:not(.active){background:#fff0f5;color:#c2255c}.countdown-timer.countdown-large.couple-countdown{border-color:#ff6b9d!important;color:#d6336c!important;font-family:Pacifico,cursive!important;box-shadow:0 20px 60px #ff5c8a73!important}.couple-placeholder{background:repeating-linear-gradient(45deg,#fff0f5,#fff0f5 12px,#ffe3ec 12px,#ffe3ec 24px);color:#c2255c}.couple-you-tag{background:#ff5c8ae6;margin:16px}.couple-settings{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.couple-themes{display:flex;gap:8px;padding:8px 12px;background:#fff;border:2px solid #ffd6e4;border-radius:999px}.couple-theme-swatch{width:28px;height:28px;padding:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #e8c9d3;cursor:pointer;pointer-events:auto;transition:transform .2s ease,box-shadow .2s ease}.couple-theme-swatch:hover{transform:scale(1.15)}.couple-theme-swatch.selected{box-shadow:0 0 0 3px #ff5c8a;transform:scale(1.1)}.couple-burst{position:absolute;left:0;width:100%;z-index:9;overflow:hidden}.couple-burst span{position:absolute;bottom:8%;font-size:1.8rem;opacity:0;animation:couplePop 1.3s ease-out forwards}@keyframes couplePop{0%{transform:translateY(0) scale(.4);opacity:0}20%{opacity:1}to{transform:translateY(-260%) scale(1.3);opacity:0}}#menu-couple-button{background:linear-gradient(135deg,#fff0f5,#ffe3ec);border-color:#ff8fab;color:#c2255c}.sticker-item-btn.emoji-sticker span{font-size:2rem;line-height:1}@media (prefers-reduced-motion: reduce){.couple-hearts span,.couple-burst span,.couple-lobby-icon,.couple-status-dot{animation:none!important}}@media (max-width: 768px){.couple-name-input{width:120px;padding:8px 12px}.couple-theme-swatch{width:24px;height:24px}.couple-room.camera-page-wrapper-v6 .camera-controls-v6{gap:8px}}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.loading-spinner.small{padding:1rem}.loading-spinner.large{padding:3rem}.spinner-fish{animation:swim 2s ease-in-out infinite}.fish-body{font-size:3rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.loading-spinner.small .fish-body{font-size:2rem}.loading-spinner.large .fish-body{font-size:4rem}@keyframes swim{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(10px) rotate(5deg)}75%{transform:translate(-10px) rotate(-5deg)}}.loading-message{font-family:Outfit,sans-serif;font-size:1rem;color:#555;margin:0}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#f5f4f0f2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:9999}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#fff;border-radius:1rem;padding:2rem;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-title{font-family:Outfit,sans-serif;font-size:1.5rem;color:#2a4a53;margin:0 0 1rem}.confirm-message{font-family:Outfit,sans-serif;font-size:1rem;color:#555;line-height:1.5;margin:0 0 1.5rem}.confirm-buttons{display:flex;gap:1rem;justify-content:flex-end}.confirm-button{padding:.75rem 1.5rem;border-radius:.5rem;font-family:Outfit,sans-serif;font-size:1rem;cursor:pointer;transition:all .2s ease;border:1px solid #1e1e1e}.confirm-button.cancel{background:#fff;color:#555}.confirm-button.cancel:hover{background:#f5f5f5}.confirm-button.confirm{background:#2a4a53;color:#fff;border-color:#2a4a53}.confirm-button.confirm:hover{background:#1e3740;transform:scale(1.05)}.confirm-button.confirm.warning{background:#f59e0b;border-color:#f59e0b}.confirm-button.confirm.warning:hover{background:#d97706}.confirm-button.confirm.danger{background:#ef4444;border-color:#ef4444}.confirm-button.confirm.danger:hover{background:#dc2626}@media (max-width: 768px){.confirm-dialog{padding:1.5rem}.confirm-buttons{flex-direction:column-reverse}.confirm-button{width:100%}}.countdown-timer.countdown-large{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:200px!important;height:200px!important;border-radius:50%!important;background:#fffffff2!important;border:8px solid #2a4a53!important;font-size:6rem!important;z-index:9999!important;box-shadow:0 20px 60px #0000004d!important;animation:countdownPulse 1s ease-in-out infinite!important}@keyframes countdownPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.camera-flash{position:absolute;top:0;left:0;width:100%;height:100%;background:#fff;opacity:0;pointer-events:none;z-index:9998;transition:opacity .1s ease}.camera-flash.flash-active{opacity:.9;animation:flashEffect .3s ease}@keyframes flashEffect{0%{opacity:0}50%{opacity:.9}to{opacity:0}}.retake-btn-v6{background:#f59e0b;border:1px solid #d97706;color:#fff;display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-family:Outfit,sans-serif;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px #d97706}.retake-btn-v6:hover{transform:translateY(-2px);box-shadow:0 6px #d97706;background:#fbbf24}.retake-btn-v6:active{transform:translateY(2px);box-shadow:0 0 #d97706}.retake-btn-v6 svg{font-size:1.2rem}.slot-indicator{width:40px;height:40px;border-radius:50%;background:#ffffffe6;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;font-family:Outfit,sans-serif;font-size:1rem;color:#999;font-weight:500;transition:all .3s ease}.slot-indicator.captured{background:#2a4a53;border-color:#2a4a53;color:#fff;z-index:10}.slot-indicator.current{border-color:#f59e0b;border-width:3px;box-shadow:0 0 0 4px #f59e0b33;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.camera-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;max-width:500px;margin:2rem auto}.error-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.camera-error h2{font-family:Outfit,sans-serif;font-size:1.5rem;color:#2a4a53;margin-bottom:1rem}.camera-error p{font-family:Outfit,sans-serif;font-size:1rem;color:#555;line-height:1.6;margin-bottom:2rem}.camera-error button{padding:.75rem 2rem;font-size:1.1rem}button.disabled,button:disabled{opacity:.5;cursor:not-allowed}button.disabled:hover,button:disabled:hover{transform:none}body.camera-page-active{margin:0;padding:0;overflow:hidden;display:block;height:100vh;width:100vw}.camera-page-wrapper-v6{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;padding:70px 1rem 10px;box-sizing:border-box;background:#f5f5f5}.camera-main-layout{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;margin:20px 0 10px;min-height:0;position:relative;overflow-y:auto;padding-bottom:20px}.photo-slots-indicator-v7{display:flex;gap:.8rem;z-index:20;margin-bottom:15px;flex-shrink:0}.photobooth-container#booth{flex:0 0 auto;height:auto;width:588px;max-width:90vw;box-shadow:0 10px 40px #2a4a5333;border-radius:12px;background:#fff;position:relative;overflow:hidden;border:4px solid white}.photobooth-container#booth canvas{width:100%!important;height:100%!important;display:block}#liveVideo{width:100%!important;left:0!important;transform:scaleX(-1)!important}.camera-controls-v6{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:15px;padding:10px 0 20px}.control-group{display:flex;align-items:center;gap:15px}#takePhoto.primary-capture-btn{background:#2a4a53!important;color:#fff!important}.primary-capture-btn{background:#2a4a53!important;color:#fff!important;border:none!important;padding:14px 40px!important;border-radius:50px!important;font-size:1.25rem!important;display:flex!important;align-items:center!important;gap:12px!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 4px 15px #2a4a5366!important;min-width:180px!important;justify-content:center!important}.primary-capture-btn span{color:#fff!important;display:block!important;opacity:1!important;visibility:visible!important}.primary-capture-btn:not(:disabled):hover{background:#365f6b;transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #2a4a5366}.primary-capture-btn svg{font-size:1.5rem}.custom-dropdown-v7{position:relative;min-width:180px;z-index:1000}.dropdown-trigger{display:flex;align-items:center;background:#fff;border:2px solid #eee;border-radius:15px;padding:12px 15px;cursor:pointer;transition:all .3s ease;font-family:Outfit,sans-serif;color:#2a4a53;gap:12px;box-shadow:0 4px 15px #0000000d}.custom-dropdown-v7:not(.disabled) .dropdown-trigger:hover{border-color:#2a4a53;transform:translateY(-2px);box-shadow:0 6px 20px #2a4a531a}.dropdown-trigger span{flex:1;font-size:1.1rem}.select-icon{color:#2a4a53;font-size:1.4rem}.select-arrow{color:#888;transition:transform .3s ease}.select-arrow.open{transform:rotate(180deg)}.dropdown-list{position:absolute;bottom:calc(100% + 10px);left:0;width:100%;background:#fff;border-radius:15px;box-shadow:0 10px 30px #00000026;border:1px solid #eee;overflow:hidden;animation:slideUp .3s cubic-bezier(.175,.885,.32,1.275)}.dropdown-item{padding:12px 15px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease;font-family:Outfit,sans-serif;color:#555}.dropdown-item:hover{background:#f0f7f9;color:#2a4a53;padding-left:20px}.dropdown-item.active{background:#2a4a53;color:#fff}.item-check{font-weight:700}.custom-dropdown-v7.disabled{opacity:.6;cursor:not-allowed}.custom-dropdown-v7.disabled .dropdown-trigger{pointer-events:none}@media (max-width: 768px){.camera-page-wrapper-v6{padding:60px .5rem .5rem}.camera-controls-v6{gap:10px;padding-bottom:1rem}.primary-capture-btn{padding:10px 20px;font-size:1.1rem}.custom-dropdown-v7{min-width:150px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:sans-serif;background:#eee;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding-top:1rem;padding-bottom:2rem}.logo{position:relative;width:80px;padding-bottom:1vh;margin:1rem auto;display:flex;justify-content:center}.logo img{width:100%;height:auto}.photobooth-container{position:relative;overflow:hidden}.photobooth-container{width:100%;max-width:min(900px,95vw);aspect-ratio:588 / 735}.photobooth-container,.photobooth-container *{pointer-events:none}.controls,.controls button,button{pointer-events:auto}@media (max-width: 768px){.photobooth-container{width:90vw;max-width:none;aspect-ratio:588 / 735}}.countdown-timer{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;justify-content:center;width:4.66669rem;height:2.8rem;padding:.8485rem;border-radius:.75rem;border:1.358px solid #1E1E1E;background:#fff;color:#1e1e1e;text-align:center;font-family:Outfit,sans-serif;font-size:1.697rem;font-weight:400;line-height:1;pointer-events:none;transition:none}#finalCanvas{width:100%;height:auto;max-width:100%;display:block}#liveVideo{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);z-index:6;display:none}.frame-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.slot-overlay{width:100%;height:100%;object-fit:contain}.controls{margin-top:20px;display:flex;gap:12px;justify-content:center}button{padding:12px 18px;font-size:18px;cursor:pointer;color:var(--main-text);font-family:Outfit,sans-serif;font-weight:400;background-color:var(--white);border:1px solid #1e1e1e;border-radius:.5rem;text-align:center;transition:transform .2s ease-in-out}button:hover{transform:scale(1.05)}#takePhoto{display:flex;justify-content:center;align-items:center;gap:.75rem;width:min(12rem,42vw);height:auto;padding:.8rem 1.2rem;background-color:#fff}.bubble-container{position:absolute;top:0;left:0;width:100%;aspect-ratio:588 / 735;overflow:hidden;pointer-events:none;z-index:100}.bubble{position:absolute;bottom:-100px;opacity:1;transform-origin:center;animation-name:riseSpin;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes riseSpin{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}80%{opacity:1}to{transform:translateY(-110vh) rotate(360deg) scale(.5);opacity:0}}.editor-tabs{display:flex;gap:.5rem;margin:1.5rem 0;background:#ffffff80;padding:.5rem;border-radius:1rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);width:100%}.editor-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .5rem;border:none;background:none;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:500;color:#777;cursor:pointer;border-radius:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.editor-tab svg{font-size:1.4rem}.editor-tab:hover{background:#fffc;color:#2a4a53;transform:translateY(-2px)}.editor-tab.active{background:#2a4a53;color:#fff;box-shadow:0 4px 15px #2a4a534d}.tool-panel-v2{width:100%;padding:1.5rem;background:#fff;border-radius:1.5rem;box-shadow:0 10px 40px #0000000d;margin-bottom:1.5rem;animation:slideUp .4s ease-out}.panel-title-v2{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700;color:#2a4a53;margin-bottom:1.25rem;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sticker-panel-content{width:100%;padding:1rem;background:#fff;border-radius:1.5rem;box-shadow:0 10px 40px #0000000d;margin-bottom:1.5rem}.sticker-grid-v2{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.sticker-item-btn{width:70px;height:70px;background:#f9f9f9;border:1px solid #eee;border-radius:1rem;padding:10px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.sticker-item-btn img{max-width:100%;max-height:100%;object-fit:contain}.sticker-item-btn:hover{background:#fff;border-color:#2a4a53;transform:scale(1.1) rotate(5deg);box-shadow:0 10px 20px #00000014}.sticker-item-btn.reset-btn{display:flex;flex-direction:column;color:#555;font-size:.75rem;gap:4px}.sticker-item-btn.reset-btn svg{font-size:1.2rem}.sticker-panel-content,.filter-panel-v2,.text-tool-content-v2{width:100%}.filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.filter-button{padding:1rem .5rem;border:2px solid #f0f0f0;border-radius:1rem;background:#fff;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:500;color:#555;cursor:pointer;transition:all .3s ease}.filter-button:hover{border-color:#ddd;background:#f9f9f9}.filter-button.active{background:#2a4a53;color:#fff;border-color:#2a4a53;box-shadow:0 4px 15px #2a4a5333}.undo-redo-controls{display:flex;gap:.75rem;margin-bottom:1rem;width:100%}.undo-redo-btn{padding:.6rem 1rem;border:1px solid #ddd;border-radius:.75rem;background:#fff;font-family:Outfit,sans-serif;font-size:.9rem;color:#555;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 5px #00000005}.undo-redo-btn:hover:not(:disabled){background:#fcfcfc;border-color:#2a4a53;color:#2a4a53}.undo-redo-btn:disabled{opacity:.3;cursor:not-allowed}.undo-redo-btn.delete-btn{color:#ef4444;border-color:#fee2e2;background:snow}.undo-redo-btn.delete-btn:hover{background:#fee2e2;border-color:#ef4444}.text-tool-field{margin-bottom:1.25rem;text-align:left}.text-tool-field label{display:flex;align-items:center;gap:.5rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;color:#555;margin-bottom:.75rem}.text-tool-field label svg{color:#2a4a53;font-size:1.1rem}.text-tool-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;margin-bottom:1.5rem}.font-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.font-option{padding:.6rem .4rem;border:1px solid #eee;border-radius:.75rem;background:#fff;cursor:pointer;transition:all .2s ease;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-option:hover{background:#f9f9f9;border-color:#2a4a53}.font-option.active{background:#2a4a53;color:#fff;border-color:#2a4a53;box-shadow:0 4px 10px #2a4a5333}.color-picker-v2{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}.color-swatch-v2{width:100%;aspect-ratio:1;border-radius:50%;border:2px solid #fff;cursor:pointer;transition:transform .2s ease;box-shadow:0 2px 5px #0000001a;display:flex;align-items:center;justify-content:center;padding:0}.color-swatch-v2:hover{transform:scale(1.1)}.color-swatch-v2.selected{transform:scale(1.2);box-shadow:0 0 0 2px #fff,0 0 0 4px #2a4a53}.color-check{width:8px;height:8px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0000004d}.custom-color-input{grid-column:span 5;width:100%;height:35px;padding:0;border:1px solid #eee;border-radius:.5rem;background:none;cursor:pointer;margin-top:.5rem}.styled-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:#eee;border-radius:5px;outline:none;margin:1rem 0}.styled-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:#2a4a53;cursor:pointer;border-radius:50%;box-shadow:0 2px 6px #2a4a534d}.text-tool-preview-area{background:#fcfcfc;border:2px dashed #eee;border-radius:1.25rem;padding:1.5rem;margin-bottom:1.5rem;position:relative;box-shadow:inset 0 2px 10px #00000005;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:all .3s ease}.text-tool-preview-area.has-text{border-color:#2a4a53;background:#fff}.preview-label{position:absolute;top:10px;left:10px;font-size:.7rem;text-transform:uppercase;color:#bbb;font-weight:700;letter-spacing:1px}.text-tool-preview-box{min-height:80px;display:flex;align-items:center;justify-content:center;text-align:center;word-break:break-word}.text-tool-actions{display:flex;gap:1rem}.text-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem;border-radius:1.25rem;font-family:Outfit,sans-serif;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.text-action-btn.cancel{background:#f5f5f5;color:#666}.text-action-btn.add{background:#2a4a53;color:#fff;box-shadow:0 4px 15px #2a4a5333}.text-action-btn.add:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.text-action-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05)}@media (max-width: 768px){.text-tool-grid{grid-template-columns:1fr;gap:1.5rem}.font-grid{grid-template-columns:repeat(3,1fr)}.text-tool-actions{flex-direction:column-reverse}}.frame-picker{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.frame-thumb{width:80px;height:80px;border:2px solid #eee;border-radius:12px;background:#fff;padding:5px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;overflow:hidden}.frame-thumb img{max-width:100%;max-height:100%;object-fit:contain}.frame-thumb:hover{border-color:#bbd;background:#f9f9f9;transform:translateY(-2px)}.frame-thumb.selected{border-color:#2a4a53;box-shadow:0 0 0 2px #fff,0 0 0 4px #2a4a53;background:#fff;transform:scale(1.05)}.frame-none{font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;color:#aaa;text-transform:uppercase}.sharing-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#2a4a5366;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .4s cubic-bezier(.16,1,.3,1)}.sharing-panel-content{background:#fffffff2;padding:3rem;border-radius:2.5rem;width:90%;max-width:480px;display:flex;flex-direction:column;align-items:center;box-shadow:0 10px 50px #0000001a,0 0 0 1px #ffffff80;animation:slideUpShare .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUpShare{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}.sharing-title{font-family:Outfit,sans-serif;font-weight:700;font-size:2.2rem;color:#2a4a53;margin-bottom:2.5rem;text-align:center}.sharing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;width:100%;margin-bottom:2.5rem}.sharing-main-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1.5rem .5rem;border-radius:1.5rem;border:1px solid #f0f0f0;background:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 10px #00000005}.sharing-main-btn:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000014;border-color:#2a4a53}.sharing-main-btn svg{font-size:2.2rem;color:#2a4a53}.sharing-main-btn span{font-family:Outfit,sans-serif;font-size:.85rem;font-weight:600;color:#666}.qr-container{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin:0 0 2.5rem;padding:2rem;background:#fcfcfc;border-radius:1.5rem;border:2px dashed #eee;width:100%}.qr-container p{font-family:Outfit,sans-serif;font-weight:500;font-size:1rem;color:#555}.social-links-container{width:100%;text-align:center;margin-bottom:2rem;padding-top:2rem;border-top:1px solid #f0f0f0}.social-links-container p{font-family:Outfit,sans-serif;font-weight:500;color:#999;font-size:.9rem;margin-bottom:1.25rem}.social-links{display:flex;justify-content:center;gap:2rem}.social-links button{background:none;border:none!important;font-size:2.5rem;color:#2a4a53;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex}.social-links button:hover{transform:scale(1.3) rotate(8deg);color:#f59e0b}.sharing-close-btn{background:#eee;border:none!important;font-family:Outfit,sans-serif;font-weight:600;font-size:.95rem;color:#555;cursor:pointer;padding:.8rem 2rem;border-radius:2rem;transition:all .3s ease}.sharing-close-btn:hover{background:#e0e0e0;color:#333}@media (max-width: 480px){.sharing-panel-content{padding:2rem 1.5rem}.sharing-grid{gap:.75rem}}body{background-color:#f7f9fa;background-image:radial-gradient(at 0% 0%,rgba(42,74,83,.05) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(245,158,11,.05) 0px,transparent 50%);display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:85px 1rem 40px;margin:0;overflow-x:hidden}.heading-content{width:100%;max-width:500px;display:flex;flex-direction:column;gap:0;margin-bottom:1rem}#canvasContainer{position:relative;width:100%;max-width:450px;margin:1.5rem auto;padding:15px;background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a,0 10px 40px #0000001a,inset 0 0 100px #00000005;transform:rotate(-1.5deg);transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}#canvasContainer:hover{transform:rotate(0) scale(1.02)}#canvasContainer:before{content:"";position:absolute;top:-10px;bottom:-10px;left:-10px;right:-10px;border:2px dashed rgba(42,74,83,.1);border-radius:12px;z-index:-1;pointer-events:none}canvas{width:100%;height:auto;border:1px solid #eee;display:block;cursor:crosshair}.editor-actions{display:flex;width:100%;max-width:500px;gap:1rem;margin-top:1rem;padding:1.25rem;background:#fffc;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:2.5rem;border:1px solid rgba(255,255,255,.5);box-shadow:0 15px 35px #0000000f}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.9rem 1.2rem;border:1px solid #eee;border-radius:1.5rem;background:#fff;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;color:#555;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.action-btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000014;border-color:#2a4a53;color:#2a4a53}.action-btn.primary{background:#2a4a53;color:#fff;border-color:#2a4a53;flex:1.8;box-shadow:0 8px 25px #2a4a534d}.action-btn.primary:hover{background:#365f6b;box-shadow:0 12px 35px #2a4a5366}.action-btn.primary svg{font-size:1.3rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.heading-content,#canvasContainer,.editor-actions{animation:fadeIn .8s cubic-bezier(.16,1,.3,1) forwards}h1{font-family:Outfit,sans-serif;color:#2a4a53;margin-bottom:.5rem;font-weight:700}@media (max-width: 768px){body{padding-top:75px}.editor-actions{flex-wrap:wrap;gap:.8rem;padding:1rem;border-radius:1.5rem}.action-btn{min-width:calc(50% - .4rem);padding:.8rem}.action-btn.primary{min-width:100%;order:-1}.action-btn span{font-size:.85rem}#canvasContainer{max-width:85vw;padding:10px}}.upload-page-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1200px;margin:0 auto;padding:1rem}.upload-main-content{display:flex;flex-direction:column;align-items:center;width:100%;gap:2rem;margin-top:2rem}.photobooth-container.upload-mode{border:4px dashed #2a4a53;border-radius:1.5rem;background:#ffffff80;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;max-width:var(--container-max-width, 500px);width:100%}.photobooth-container.upload-mode.dragging{border-color:#f59e0b;background:#f59e0b1a;transform:scale(1.02);box-shadow:0 10px 30px #0000001a}.photobooth-container.upload-mode.finished{border:4px solid #1e1e1e;background:#fff}.upload-overlay-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:80%;z-index:5;pointer-events:none;color:#2a4a53;transition:opacity .3s ease}.dragging .upload-overlay-hint{color:#f59e0b}.upload-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.upload-overlay-hint p{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:500;margin-bottom:.5rem}.upload-overlay-hint span{font-family:Outfit,sans-serif;font-size:1rem;opacity:.7}.upload-controls{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.photo-count-selector{display:flex;align-items:center;gap:1rem;background:#fff;padding:.5rem 1rem;border-radius:.75rem;border:1px solid #ddd;box-shadow:0 2px 5px #0000000d}.photo-count-selector label{font-family:Outfit,sans-serif;font-size:1rem;color:#555}.photo-count-selector select{padding:.5rem;border:none;background:none;font-family:Outfit,sans-serif;font-size:1rem;color:#2a4a53;font-weight:600;cursor:pointer;outline:none}.action-buttons{display:flex;flex-direction:column;align-items:center;width:100%}.upload-btn{padding:1rem 2.5rem;border-radius:.75rem;font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;box-shadow:0 4px 15px #0000001a}.upload-btn.primary{background:#2a4a53;color:#fff}.upload-btn.primary:hover{background:#1e3740;transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.upload-btn.ready{background:#f59e0b;color:#fff}.upload-btn.ready:hover{background:#d97706;transform:translateY(-2px) scale(1.05)}.upload-status-text{font-family:Outfit,sans-serif;font-size:1rem;color:#666;text-align:center}.pulse{animation:buttonPulse 2s infinite}@keyframes buttonPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width: 768px){.upload-overlay-hint p{font-size:1.25rem}.upload-icon{font-size:3rem}.upload-btn{width:100%;max-width:300px}}.navigation-bar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#f5f4f0f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 12px #00000014;height:70px}.nav-left,.nav-right{display:flex;align-items:center;min-width:80px;flex:1}.nav-right{justify-content:flex-end}.mute-toggle{background:#2a4a53;border:2px solid rgba(255,255,255,.5);border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 12px #2a4a5340;position:relative;z-index:1001}.mute-icon{font-size:22px;line-height:1;display:block;-webkit-user-select:none;user-select:none}.mute-toggle:hover{transform:scale(1.15) rotate(15deg);box-shadow:0 6px 20px #2a4a5366;background:#fff;color:#2a4a53;border-color:#2a4a53}.mute-toggle:active{transform:scale(.95)}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #1e1e1e;border-radius:.5rem;font-family:Outfit,sans-serif;font-size:1rem;color:#555;cursor:pointer;transition:all .2s ease}.back-button:hover{transform:translate(-3px);box-shadow:0 4px 12px #0000001a}.back-button svg{font-size:1.2rem}.progress-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:400px;flex-shrink:0}.progress-steps{display:flex;align-items:center;justify-content:center;width:100%}.progress-step{display:flex;align-items:center;position:relative}.step-circle{width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid #ddd;display:flex;align-items:center;justify-content:center;font-family:Outfit,sans-serif;font-size:.875rem;color:#999;transition:all .3s ease;position:relative;z-index:2}.progress-step.active .step-circle{border-color:#2a4a53;background:#2a4a53;color:#fff}.progress-step.current .step-circle{box-shadow:0 0 0 4px #2a4a5333;transform:scale(1.1)}.step-line{width:60px;height:2px;background:#ddd;transition:all .3s ease}.progress-step.active .step-line{background:#2a4a53}.progress-label{font-family:Outfit,sans-serif;font-size:.875rem;color:#555;font-weight:500}@media (max-width: 768px){.navigation-bar{padding:.5rem 1rem}.back-button span{display:none}.back-button{padding:.5rem;min-width:40px;justify-content:center}.progress-indicator{max-width:180px}.step-circle{width:20px;height:20px;font-size:.7rem}.step-line{width:25px}.progress-label{font-size:.7rem}.mute-toggle{width:32px;height:32px;font-size:1rem}}body{padding-top:80px}@media (max-width: 768px){body{padding-top:70px}}.global-bubbles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.global-bubble{position:absolute;bottom:-100px;background:radial-gradient(circle at 30% 30%,#fffc,#add8e666);border-radius:50%;opacity:.6;animation:floatUp linear infinite;box-shadow:inset 0 0 10px #ffffff80,0 0 20px #add8e64d}@keyframes floatUp{0%{transform:translateY(0) translate(0) scale(1);opacity:0}10%{opacity:.6}50%{transform:translateY(-50vh) translate(20px) scale(1.1)}90%{opacity:.6}to{transform:translateY(-110vh) translate(-20px) scale(.8);opacity:0}}.global-bubble{pointer-events:none}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{font-size:112.5%}body{margin:0;font-family:sans-serif;background:#f5f4f0;overflow-x:hidden;width:100%}#root{width:100%}html{-webkit-text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}button{touch-action:manipulation}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.mute-toggle .mute-icon{font-size:1.3rem}.mute-toggle[aria-pressed=false]{background:#fff;color:#7b8a8f;border-color:#dfe5e7;box-shadow:none}.mute-toggle:hover{transform:scale(1.08)}@media (max-width: 768px){.mute-toggle{width:40px;height:40px}.back-button{min-width:44px;min-height:44px}}body.menu-page{background-image:radial-gradient(circle at 12% 18%,rgba(255,255,255,.7) 0 28px,transparent 30px),radial-gradient(circle at 84% 12%,rgba(255,255,255,.55) 0 18px,transparent 20px),radial-gradient(circle at 76% 72%,rgba(255,255,255,.5) 0 36px,transparent 38px),radial-gradient(circle at 20% 82%,rgba(255,255,255,.45) 0 14px,transparent 16px),linear-gradient(180deg,#d8f1f6,#b5e0ea 55%,#ffe3ea);background-size:cover;background-attachment:fixed}.menu-container{margin:0 auto;height:auto;min-height:calc(100vh - 7rem);min-height:calc(100dvh - 7rem);padding:1rem 16px 2rem}.menu-card{width:100%;max-width:27rem;padding:1.5rem 1.25rem;background:#ffffffdb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);border-radius:28px;box-shadow:0 20px 50px #2a4a5340}.menu-title{font-family:Pacifico,cursive;font-weight:400;font-size:clamp(1.5rem,5vw,1.9rem);color:#2a4a53;text-align:center;margin-bottom:1.1rem}.menu-card .menu-buttons{margin-top:0;gap:.75rem}.menu-card .menu-option{display:flex;align-items:center;justify-content:flex-start;gap:.9rem;width:100%;padding:.9rem 1rem;border:2px solid #e3eaec;border-radius:18px;background:#fff;box-shadow:0 3px #e3eaec;text-align:left;font-size:1rem;color:#2a4a53;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.menu-card .menu-option:hover{transform:translateY(-2px);border-color:#2a4a53;box-shadow:0 5px #2a4a53}.menu-card .menu-option:active{transform:translateY(2px);box-shadow:0 1px #2a4a53}.menu-option-icon{flex-shrink:0;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#e8f1f3;color:#2a4a53}.menu-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.menu-option-text strong{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:600}.menu-option-text small{font-family:Outfit,sans-serif;font-size:.85rem;font-weight:400;color:#6b7a80;line-height:1.3}.menu-option-arrow{flex-shrink:0;color:#a9b6ba;font-size:1.1rem}.menu-card #menu-couple-button{border-color:#ffc2d4;box-shadow:0 3px #ffc2d4;background:linear-gradient(135deg,#fff,#fff0f5);color:#c2255c}.menu-card #menu-couple-button:hover{border-color:#ff5c8a;box-shadow:0 5px #ff5c8a}.menu-card #menu-couple-button .menu-option-icon{background:linear-gradient(135deg,#ff9ebb,#ff5c8a);color:#fff}.menu-card #menu-couple-button small{color:#b3607a}.camera-page-wrapper-v6{height:100vh;height:100dvh}.primary-capture-btn{white-space:nowrap}.camera-error{background:#fff;border-radius:24px;box-shadow:0 12px 40px #2a4a531f}.camera-error button{border-radius:999px;background:#2a4a53;color:#fff;border:none}#booth.upload-drop,#booth.upload-drop *{pointer-events:none}#booth.upload-drop{pointer-events:auto;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}#booth.upload-drop.finished{cursor:default}#booth.upload-drop.dragging{transform:scale(1.02);box-shadow:0 0 0 4px #f59e0b,0 10px 40px #f59e0b4d}#booth.upload-drop .upload-overlay-hint{width:86%}#booth.upload-drop .upload-icon{font-size:3rem;margin-bottom:.4rem;opacity:.75;color:#2a4a53}#booth.upload-drop .upload-overlay-hint p{font-family:Outfit,sans-serif;font-size:1.15rem;font-weight:600;margin-bottom:.2rem}#booth.upload-drop .upload-overlay-hint span{font-family:Outfit,sans-serif;font-size:.9rem}#booth.upload-drop.dragging .upload-icon{color:#f59e0b}.editor-layout{width:100%;max-width:500px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.5rem}.editor-stage,.editor-side{width:100%;display:flex;flex-direction:column;align-items:center}.editor-layout #canvasContainer{width:auto;max-width:100%;margin:.75rem auto .5rem;padding:12px;transform:none}.editor-layout #canvasContainer:hover{transform:none}.canvas-stage{position:relative;line-height:0}.editor-layout #finalCanvas{width:auto;height:auto;max-width:100%;max-height:58vh;cursor:grab;touch-action:none}.editor-layout #finalCanvas:active{cursor:grabbing}.selection-box{position:absolute;border:2px dashed #f59e0b;border-radius:6px;box-shadow:0 0 0 1px #ffffffe6;pointer-events:none}.editor-hint{font-family:Outfit,sans-serif;font-size:.85rem;color:#6b7a80;text-align:center;min-height:1.3em}.editor-layout .heading-content{max-width:none}.editor-layout .editor-tabs{margin:.75rem 0;background:#fff;box-shadow:0 4px 16px #0000000d}.editor-layout .undo-redo-controls{gap:.5rem;margin-bottom:0;flex-wrap:wrap}.editor-layout .undo-redo-btn{min-height:42px}.editor-layout .undo-redo-btn:disabled{opacity:.45}.editor-layout .editor-actions{max-width:none;margin-top:0;border-radius:1.75rem;padding:.9rem;gap:.75rem}.editor-layout .tool-panel-v2{margin-bottom:1rem;padding:1.25rem}.editor-layout .tool-panel-v2>button{border-radius:999px;background:#2a4a53;color:#fff;border:none;font-family:Outfit,sans-serif}@media (min-width: 960px){.editor-layout{max-width:1040px;flex-direction:row;align-items:flex-start;justify-content:center;gap:2.5rem}.editor-stage{flex:0 1 auto;width:auto;position:sticky;top:90px}.editor-side{flex:0 0 460px;width:460px}.editor-layout #finalCanvas{max-height:calc(100vh - 190px)}.editor-layout #canvasContainer{margin-top:0}}@media (max-width: 480px){.editor-layout .undo-redo-btn{padding:.5rem .7rem;font-size:.85rem}.editor-layout .sticker-grid-v2{gap:.6rem}.editor-layout .sticker-item-btn{width:58px;height:58px;padding:8px}.editor-layout #finalCanvas{max-height:50vh}}.mute-toggle{padding:0;flex-shrink:0}.mute-toggle svg.mute-icon{width:22px;height:22px;display:block}.editor-layout .action-btn{white-space:nowrap;padding:.85rem .6rem;font-size:.9rem}.editor-layout .action-btn.primary{flex:1.5}@media (max-width: 768px){.primary-capture-btn{font-size:1.1rem!important;padding:12px 22px!important;min-width:0!important}.retake-btn-v6{font-size:.95rem;padding:10px 14px}.control-group{flex-wrap:wrap;justify-content:center;gap:10px}.menu-card{padding:1.1rem .9rem;border-radius:24px}.menu-card .menu-option{padding:.75rem .8rem;gap:.7rem}.menu-option-icon{width:42px;height:42px;font-size:1.3rem}.menu-option-text strong{font-size:1rem}.menu-option-text small{font-size:.8rem}.menu-option-arrow{display:none}}@media (max-width: 480px){.editor-layout .undo-redo-controls{flex-wrap:nowrap;gap:.35rem}.editor-layout .undo-redo-btn{padding:.45rem .55rem;font-size:.8rem;gap:.3rem}.editor-layout .action-btn{min-width:0}}#takePhoto.primary-capture-btn{width:auto}.nav-brand{display:inline-flex;align-items:center;gap:10px;padding:0;border:none;background:none;cursor:pointer;color:#2a4a53;font-family:Pacifico,cursive;font-size:1.05rem;white-space:nowrap}.nav-brand:hover{transform:none}.nav-brand img{width:38px;height:38px;display:block}@media (max-width: 768px){.nav-brand span{display:none}}body,button,input,select,textarea{font-family:Outfit,sans-serif}.primary-capture-btn,.retake-btn-v6,.back-button{font-weight:600}.progress-label{font-weight:500;letter-spacing:.02em}.sharing-title,.confirm-title,.panel-title-v2{font-family:Outfit,sans-serif}.bubble.css-bubble{border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffffe6,#add8e659);box-shadow:inset 0 0 6px #fff9}.frame-thumb{flex-direction:column;gap:4px;height:auto;width:76px;padding:8px 4px 6px}.frame-swatch{width:34px;height:46px;border-radius:5px;border:3px solid;display:block}.frame-label{font-family:Outfit,sans-serif;font-size:.72rem;font-weight:600;color:#47626a}
