*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0)}:root{--ui-bottom-offset: 20px;--ui-side-offset: 20px;--carousel-height: 40vh;--carousel-min-height: 280px;--button-container-bottom: 100px;--coaching-text-top: 20%;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--prop-font-xs: clamp(10px, 2.5vmin, 14px);--prop-font-sm: clamp(12px, 3vmin, 16px);--prop-font-md: clamp(14px, 3.5vmin, 20px);--prop-font-lg: clamp(16px, 4vmin, 24px);--prop-font-xl: clamp(20px, 5vmin, 32px);--prop-font-2xl: clamp(24px, 6vmin, 40px);--prop-font-3xl: clamp(32px, 8vmin, 56px);--prop-space-xs: 1vmin;--prop-space-sm: 2vmin;--prop-space-md: 3vmin;--prop-space-lg: 4vmin;--prop-space-xl: 6vmin;--prop-space-2xl: 8vmin;--prop-touch-min: clamp(44px, 11vmin, 80px);--prop-touch-md: clamp(48px, 12vmin, 88px);--prop-touch-lg: clamp(40px, 11vmin, 65px);--prop-icon-sm: clamp(16px, 4vmin, 28px);--prop-icon-md: clamp(20px, 5vmin, 36px);--prop-icon-lg: clamp(24px, 6vmin, 44px);--prop-icon-xl: clamp(32px, 8vmin, 56px);--prop-radius-sm: 1vmin;--prop-radius-md: 2vmin;--prop-radius-lg: 3vmin;--prop-radius-xl: 4vmin;--prop-bottom-offset: calc(var(--safe-bottom) + 3vh);--prop-side-left: calc(var(--safe-left) + 3vw);--prop-side-right: calc(var(--safe-right) + 3vw);--prop-card-width: 28vw;--prop-card-gap: 5vw;--prop-panel-width: 45vw;--prop-panel-max: 200px}html,body{width:100%;height:100%;height:100vh;height:100dvh;overflow:hidden;font-family:Arial,sans-serif;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;touch-action:none}a,button,input,select,textarea,[role=button],[tabindex]:not([tabindex="-1"]){-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0);outline:none}button:active:not(.carousel-nav),.btn:active,.primary-button:active,.secondary-button:active,.btn-primary:active,.btn-secondary:active,.btn-feature:active,.position-pill-option:active,#age-confirm:active,#under-age:active,#camera-permission:active,#motion-permission:active{transition:none!important;transform:scale(.95)!important}.character-item{-webkit-tap-highlight-color:transparent}.btn-primary:active,#age-confirm:active{transform:scale(.98)!important;box-shadow:inset 0 2px 3px #0003,0 2px 8px #ff2e9340!important}.btn-secondary:active,#under-age:active{background:#ff69b44d!important;border-color:#ff69b4cc!important}.btn-feature:active,#camera-permission:active,#motion-permission:active{background:#ff69b426!important;border-color:#ff69b4b3!important}body{color:#fff;position:relative;background:linear-gradient(135deg,#4a1c40,#2d0e3d,#1a0520)}#camerafeed{position:fixed;top:0;left:0;z-index:1;background:transparent;opacity:0;transition:opacity .25s ease-in-out;pointer-events:none}#camera-feed{display:none}.screen{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease;z-index:2}#age-gate-screen.camera-active,#character-selection.camera-active{background:linear-gradient(135deg,#4a1c40e6,#2d0e3de6,#1a0520e6)}.screen.active{opacity:1;visibility:visible}html.from-payment #welcome-screen{display:none!important;opacity:0!important;visibility:hidden!important}.container{text-align:center;color:#fff;max-width:min(90vw,700px);width:90%;height:100vh;height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:1rem;padding-top:calc(1rem + var(--safe-top));padding-bottom:calc(1rem + var(--safe-bottom));padding-left:calc(1rem + var(--safe-left));padding-right:calc(1rem + var(--safe-right));position:relative;margin:0 auto}.content-wrapper{flex:1;display:flex;flex-direction:column;justify-content:center;max-height:100%}.logo-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.logo-wrapper{position:relative;width:clamp(260px,70vmin,500px);height:clamp(260px,70vmin,500px);animation:dropIn 1.2s cubic-bezier(.25,.46,.45,.94) forwards}.logo{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4)) drop-shadow(0 4px 8px rgba(0,0,0,.2));position:relative;display:block}.logo-bottom{display:none}@keyframes dropIn{0%{opacity:0;transform:translateY(-100vh) scale(.8)}60%{opacity:1;transform:translateY(10px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.header-section{display:flex;align-items:center;justify-content:space-between;width:100%;position:relative;margin-bottom:clamp(1.5rem,4vh,3rem)}.title{color:#fff;text-shadow:0 0 15px rgba(255,105,180,.8);animation:glow 2s ease-in-out infinite alternate;flex:0 0 auto;text-align:left;line-height:.9;font-weight:700;position:relative;z-index:2;padding-right:clamp(150px,30vmin,400px)}.title .are-you{font-size:clamp(3.5rem,8vmin,7rem);display:block}.title .eighteen{font-size:clamp(6rem,14vmin,14rem);display:block;margin-top:.3rem}@keyframes glow{0%{text-shadow:0 0 15px rgba(255,105,180,.8)}to{text-shadow:0 0 25px rgba(255,105,180,1)}}.figure{position:absolute;top:-10%;right:10px;z-index:1;display:flex;justify-content:flex-end;align-items:flex-start}.figure img{width:clamp(220px,35vmin,500px);height:clamp(220px,35vmin,500px);object-fit:contain;filter:drop-shadow(0 0 20px rgba(255,105,180,1)) drop-shadow(0 0 40px rgba(255,105,180,.8))}.description-text,.subtitle{font-size:clamp(.95rem,2.5vmin,1.5rem);color:#ffffffb3;line-height:1.4;max-width:min(90%,600px);margin:0 auto;margin-bottom:clamp(1.5rem,4vh,2.5rem);padding:0 1rem}.button-group,.button-container{display:flex;flex-direction:column;gap:clamp(.6rem,2vh,1rem);margin-bottom:clamp(1rem,3vh,2rem);position:relative;z-index:10;width:100%;box-sizing:border-box}.age-buttons{display:flex;gap:.8rem;margin-bottom:clamp(.3rem,1.5vh,.5rem);width:100%;box-sizing:border-box}.btn,.primary-button,.secondary-button{padding:clamp(.9rem,2.5vmin,1.5rem) clamp(1rem,3vmin,2.5rem);border:none;border-radius:clamp(20px,4vmin,35px);font-size:clamp(.85rem,2.5vmin,1.3rem);font-weight:700;cursor:pointer;transition:all .15s ease;text-transform:uppercase;position:relative;overflow:hidden;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;text-align:center;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;user-select:none;outline:none}.btn:before,.primary-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn:hover:before,.primary-button:not(:disabled):hover:before{left:100%}.btn-primary,#age-confirm{background:linear-gradient(90deg,#e91e7e,#ff2e93,#ff6bcd,#ff2e93,#e91e7e);background-size:200% 100%;animation:btnPrimaryGradientFlow 4s ease-in-out infinite;color:#fff;box-shadow:inset 0 1px #fff3,inset 0 -1px 2px #00000026,0 4px 15px #ff2e934d;flex:2.2;width:auto;white-space:nowrap;min-width:0;font-size:clamp(.9rem,2.7vmin,1.4rem);text-shadow:0 1px 2px rgba(0,0,0,.25)}@keyframes btnPrimaryGradientFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.btn-primary:hover,#age-confirm:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff40,inset 0 -1px 2px #00000026,0 6px 20px #ff2e9366}.btn-secondary,#under-age{background:#ffffff1a;color:#ffffff80;border:2px solid rgba(255,105,180,.3);flex:.9;width:auto;min-width:0;padding:clamp(.9rem,2.5vh,1.2rem) clamp(.65rem,1.6vw,1.05rem);white-space:nowrap;font-size:clamp(.75rem,2vw,.9rem);text-transform:capitalize}.btn-secondary:hover,#under-age:hover{background:#ff69b433;color:#fff;transform:translateY(-2px)}.btn-feature,#camera-permission,#motion-permission{background:#ffffff05;color:#ffffff4d;border:1px solid rgba(255,105,180,.1);transition:all .5s ease;width:100%;display:flex;align-items:center;justify-content:center;text-align:center}.btn-feature:hover{background:#ff69b40d;color:#fff6}.btn-feature:disabled,#camera-permission:disabled,#motion-permission:disabled{cursor:not-allowed;opacity:.5}.btn-feature.enabled,.primary-button.confirmed{background:#ff69b426;color:#ffffffe6;border:1px solid rgba(255,105,180,.4);box-shadow:0 0 15px #ff69b44d;text-shadow:0 0 10px rgba(255,105,180,.5)}.btn-feature.shine,.primary-button.pulse{background:#ff69b440;color:#fff;border:1px solid rgba(255,105,180,.6);box-shadow:0 0 25px #ff69b499;text-shadow:0 0 15px rgba(255,105,180,.8);animation:pulse 2s ease-in-out infinite alternate}@keyframes pulse{0%{box-shadow:0 0 25px #ff69b499;text-shadow:0 0 15px rgba(255,105,180,.8)}to{box-shadow:0 0 35px #ff69b4cc;text-shadow:0 0 20px rgba(255,105,180,1)}}.camera-hint,.disclaimer{color:#fffc;font-size:clamp(.85rem,2.5vw,.9rem);margin-bottom:clamp(.8rem,2vh,1.2rem)}.camera-hint .camera-hint-ios,html.ios .camera-hint .camera-hint-default{display:none}html.ios .camera-hint .camera-hint-ios{display:inline}.privacy-text{font-size:clamp(.85rem,2.5vw,.9rem);color:#fff9}.privacy-text a{color:#ff69b4;text-decoration:none;-webkit-tap-highlight-color:transparent;outline:none}.privacy-text a:hover{text-decoration:underline}.selection-title{font-size:clamp(1.8rem,6vmin,2.8rem);font-weight:300;text-align:center;margin-bottom:0;margin-top:.5rem;color:#fffffff2;text-transform:none;letter-spacing:1px;position:relative;z-index:30}.selection-title .tm{font-size:.4em;vertical-align:super;opacity:.7;margin-left:.1em;text-shadow:0 0 20px rgba(255,105,180,.6);animation:subtle-glow 3s ease-in-out infinite alternate}@keyframes subtle-glow{0%{text-shadow:0 0 20px rgba(255,105,180,.6)}to{text-shadow:0 0 30px rgba(255,105,180,.8),0 0 10px rgba(255,255,255,.2)}}.character-carousel-container{position:relative;width:100%;height:clamp(200px,35vh,320px);min-height:180px;display:flex;align-items:center;justify-content:center;margin-top:5rem;margin-bottom:1rem;z-index:10}.carousel-nav{position:absolute;top:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:clamp(32px,8vmin,40px);height:clamp(32px,8vmin,40px);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:20;transition:background .15s ease,border-color .15s ease,color .15s ease,scale .15s ease;color:#fff9;-webkit-tap-highlight-color:transparent;touch-action:manipulation;padding:0}.carousel-nav:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.carousel-nav svg{width:clamp(14px,4vmin,18px);height:clamp(14px,4vmin,18px);pointer-events:none}.carousel-nav-left{left:calc(50% - 21vw);margin-left:calc(-1*clamp(16px,4vmin,20px));margin-top:calc(-1*clamp(16px,4vmin,20px))}.carousel-nav-right{right:calc(50% - 21vw);margin-right:calc(-1*clamp(16px,4vmin,20px));margin-top:calc(-1*clamp(16px,4vmin,20px))}.carousel-nav:hover{background:#ffffff26;border-color:#ffffff4d;color:#ffffffe6}.carousel-nav:active,.carousel-nav.pressed{background:#ff69b466;border-color:#ff69b499;color:#fff;scale:1.5}.character-carousel{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none}.character-item{position:absolute;cursor:pointer;display:flex;flex-direction:column;align-items:center;bottom:0;left:50%;transform:translate(-50%);transition:all .2s cubic-bezier(.4,0,.2,1);will-change:transform,opacity;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;outline:none}.character-item.coming-soon{cursor:default}.character-item.coming-soon .character-img{filter:grayscale(.3) saturate(.7)}.character-img{height:280px;width:auto;position:relative;z-index:4;margin-bottom:30px}.character-item.center .character-img{height:320px;filter:drop-shadow(0 0 25px rgba(255,105,180,.35));margin-bottom:30px}.character-item.side .character-img{height:240px}.spotlight-cone{position:absolute;bottom:50px;left:50%;transform:translate(-50%);width:220px;height:320px;background:linear-gradient(to bottom,transparent 0%,rgba(255,200,220,.02) 20%,rgba(255,150,200,.05) 50%,rgba(255,105,180,.1) 80%,rgba(255,105,180,.15) 100%);clip-path:polygon(38% 0%,62% 0%,100% 100%,0% 100%);pointer-events:none;z-index:0;filter:blur(25px)}.spotlight-core{position:absolute;bottom:50px;left:50%;transform:translate(-50%);width:140px;height:300px;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.02) 25%,rgba(255,200,220,.06) 55%,rgba(255,150,190,.12) 85%,rgba(255,120,180,.18) 100%);clip-path:polygon(35% 0%,65% 0%,95% 100%,5% 100%);pointer-events:none;z-index:1;filter:blur(12px)}.spotlight-outer{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:240px;height:120px;background:radial-gradient(ellipse 100% 80% at 50% 20%,rgba(255,105,180,.25) 0%,rgba(255,105,180,.15) 40%,rgba(255,105,180,.05) 70%,transparent 100%);pointer-events:none;z-index:2;filter:blur(20px)}.spotlight-hot{position:absolute;bottom:40px;left:50%;transform:translate(-50%);width:180px;height:60px;background:radial-gradient(ellipse 100% 100% at 50% 50%,rgba(255,180,210,.2) 0%,rgba(255,105,180,.1) 50%,transparent 100%);pointer-events:none;z-index:3;filter:blur(10px)}.character-item.side .spotlight-cone{bottom:45px;width:150px;height:240px;background:linear-gradient(to bottom,transparent 0%,rgba(180,180,220,.02) 30%,rgba(180,180,220,.05) 70%,rgba(180,180,220,.08) 100%);filter:blur(20px)}.character-item.side .spotlight-core{bottom:45px;width:100px;height:220px;background:linear-gradient(to bottom,transparent 0%,rgba(200,200,255,.02) 40%,rgba(180,180,220,.06) 80%,rgba(180,180,220,.1) 100%);filter:blur(10px)}.character-item.side .spotlight-outer{bottom:15px;width:160px;height:80px;background:radial-gradient(ellipse 100% 80% at 50% 20%,rgba(180,180,220,.12) 0%,rgba(180,180,220,.05) 60%,transparent 100%);filter:blur(15px)}.character-item.side .spotlight-hot{bottom:30px;width:120px;height:40px;background:radial-gradient(ellipse 100% 100% at 50% 50%,rgba(200,200,230,.1) 0%,transparent 80%);filter:blur(8px)}.character-item.center .spotlight-outer{animation:spotlightBreath 4s ease-in-out infinite}@keyframes spotlightBreath{0%,to{opacity:1}50%{opacity:.7}}.stage-wrapper{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:190px;height:70px;z-index:2}.stage-top{position:absolute;top:0;left:50%;transform:translate(-50%);width:170px;height:32px;background:linear-gradient(135deg,#502846e6,#3c1937f2,#2d142d);border-radius:50%;box-shadow:inset 0 -8px 20px #00000080,inset 0 8px 15px #ff69b41f,0 0 25px #ff69b433;border:1px solid rgba(255,105,180,.3)}.stage-side{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:170px;height:42px;background:linear-gradient(to bottom,#2d142d,#230f23 40%,#190a19);border-radius:0 0 85px 85px/0 0 25px 25px;border-left:1px solid rgba(255,105,180,.25);border-right:1px solid rgba(255,105,180,.25);border-bottom:2px solid rgba(255,105,180,.4);box-shadow:inset 0 -10px 30px #0006,0 10px 30px #00000080}.stage-glow{position:absolute;top:3px;left:50%;transform:translate(-50%);width:165px;height:28px;border:2px solid rgba(255,105,180,.8);border-radius:50%;box-shadow:0 0 12px #ff69b499,0 0 25px #ff69b459,inset 0 0 12px #ff69b440;z-index:3}.character-item.center .stage-glow{animation:stageGlowPulse 3s ease-in-out infinite}@keyframes stageGlowPulse{0%,to{box-shadow:0 0 12px #ff69b499,0 0 25px #ff69b459,inset 0 0 12px #ff69b440}50%{box-shadow:0 0 20px #ff69b4e6,0 0 45px #ff69b480,inset 0 0 18px #ff69b459}}.curved-text-wrapper{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:160px;height:35px;z-index:5}.curved-text-wrapper svg{width:100%;height:100%;overflow:visible}.curved-text-wrapper text{font-family:Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:3px;text-transform:uppercase;fill:#fffffff2;filter:drop-shadow(0 0 8px rgba(255,105,180,.9)) drop-shadow(0 0 15px rgba(255,105,180,.5))}.character-item.center .curved-text-wrapper{bottom:-3px}.character-item.center .curved-text-wrapper text{font-size:16px;fill:#fff;filter:drop-shadow(0 0 10px rgba(255,105,180,1)) drop-shadow(0 0 20px rgba(255,105,180,.7))}.character-item.side .stage-wrapper{width:130px;height:60px}.character-item.side .stage-top{width:115px;height:28px;background:linear-gradient(135deg,#3c3250b3,#2d233ccc);box-shadow:inset 0 -5px 12px #0006,0 0 12px #b4b4dc1f;border-color:#b4b4dc33}.character-item.side .stage-side{width:115px;height:36px;background:linear-gradient(to bottom,#231932e6,#191223);border-color:#b4b4dc26;border-bottom-color:#b4b4dc40}.character-item.side .stage-glow{width:110px;height:25px;border:1.5px solid rgba(180,180,220,.45);box-shadow:0 0 8px #b4b4dc59,0 0 18px #b4b4dc2e}.character-item.side .curved-text-wrapper{width:110px;height:32px;bottom:-2px}.character-item.side .curved-text-wrapper text{font-size:11px;letter-spacing:2px;fill:#ffffffb3;filter:drop-shadow(0 0 6px rgba(180,180,220,.6))}.floor-glow{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);width:220px;height:55px;background:radial-gradient(ellipse,rgba(255,105,180,.4) 0%,transparent 70%);filter:blur(14px);z-index:0}.character-item.side .floor-glow{width:130px;height:32px;background:radial-gradient(ellipse,rgba(180,180,220,.18) 0%,transparent 70%)}.character-item.selected .character-img{animation:selectionBurst .6s ease-out forwards}.character-item.selected .curved-text-wrapper text{fill:#ff69b4;filter:drop-shadow(0 0 8px rgba(255,105,180,.8)) drop-shadow(0 0 12px rgba(255,105,180,.5))}@keyframes selectionBurst{0%{filter:drop-shadow(0 0 20px rgba(255,105,180,.5));transform:scale(1)}30%{filter:drop-shadow(0 0 40px rgba(255,105,180,1)) drop-shadow(0 0 60px rgba(255,255,255,.5));transform:scale(1.05)}to{filter:drop-shadow(0 0 25px rgba(255,105,180,.6));transform:scale(1)}}.selection-area{position:relative;width:100%;text-align:center}.selection-hint{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;opacity:1;transition:opacity .4s cubic-bezier(.4,0,.2,1);z-index:15}.selection-hint.hidden{opacity:0;pointer-events:none}.selection-hint .hint-icon{font-size:1.2rem;animation:hint-bounce 2s ease-in-out infinite}.selection-hint .hint-text{font-size:.9rem;color:#ffffffb3;letter-spacing:.5px}@keyframes hint-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.position-selection{text-align:center;margin-bottom:1rem;position:relative;opacity:0;pointer-events:none;transition:opacity .5s ease}.position-selection.revealed{opacity:1;pointer-events:auto}.position-label{font-size:.85rem;color:#fffc;letter-spacing:1px;margin-bottom:12px;font-weight:400;opacity:0;transform:translateY(10px);transition:all .4s cubic-bezier(.4,0,.2,1) .2s}.position-selection.revealed .position-label{opacity:1;transform:translateY(0)}.position-pill-selector{display:inline-flex;background:#1e1428d9;border-radius:25px;padding:4px;border:1px solid rgba(255,255,255,.15);gap:0}.position-pill-option{padding:12px 28px;font-size:14px;font-weight:500;letter-spacing:1px;cursor:not-allowed;transition:all .3s ease;color:#fff6;background:transparent;border:none;display:flex;align-items:center;gap:8px;font-family:inherit;opacity:.6;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;outline:none}.position-pill-option[data-position=laying]{border-radius:21px 0 0 21px}.position-pill-option[data-position=sitting]{border-radius:0 21px 21px 0}.position-pill-option .pill-icon{font-size:16px}.position-pill-option.enabled{cursor:pointer;color:#ffffffe6;opacity:1;animation:pillFlash 3s ease-in-out infinite}.position-pill-option.enabled[data-position=sitting]{animation-delay:1.5s}.position-selection:not(.revealed) .position-pill-option,.position-pill-option.disabled,.position-pill-option:disabled{pointer-events:none;cursor:not-allowed;opacity:.45;filter:grayscale(.4);animation:none}@keyframes pillFlash{0%,to{background:#ff69b426;box-shadow:0 0 8px #ff69b433}50%{background:#ff69b473;box-shadow:0 0 20px #ff69b480}}.position-pill-option.enabled:hover{animation:none;background:#ff69b499;box-shadow:0 0 20px #ff69b480}.position-pill-option.selected{background:linear-gradient(135deg,#ff69b4,#ff1493);color:#fff;box-shadow:0 4px 15px #ff69b466;cursor:pointer;opacity:1;animation:none}.position-pill-option.selected:active{box-shadow:0 2px 8px #ff69b466}.position-btn,.position-buttons{display:none}.sound-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;opacity:.8}.coming-soon-modal{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);background:#05010cd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10002}.coming-soon-modal.show{display:flex}.coming-soon-modal-content{position:relative;width:min(420px,90vw);background:linear-gradient(135deg,#200a28f2,#0f0418f2);border:1px solid rgba(255,105,180,.4);border-radius:20px;padding:clamp(20px,5vw,32px);box-shadow:0 16px 40px #00000073;text-align:center;color:#fff;font-family:Inter,sans-serif}.coming-soon-modal-content h2{margin-top:0;margin-bottom:12px;font-size:clamp(1.25rem,3.5vmin,1.8rem);letter-spacing:.05em;text-transform:uppercase}.coming-soon-message{font-size:clamp(.95rem,2.5vmin,1.1rem);color:#ffffffd9;line-height:1.6;margin-bottom:20px}.coming-soon-dismiss{border:none;border-radius:999px;padding:12px 28px;font-size:.95rem;font-weight:600;color:#0d0214;cursor:pointer;background:linear-gradient(120deg,#ff69b4,#ffc371);box-shadow:0 8px 20px #ff69b459;transition:transform .2s ease,box-shadow .2s ease}.coming-soon-dismiss:hover{transform:translateY(-2px);box-shadow:0 12px 24px #ff69b466}.coming-soon-modal .modal-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#ffffff0d;color:#fff;font-size:20px;cursor:pointer;transition:opacity .2s ease}.coming-soon-modal .modal-close:hover{opacity:.7}.sound-hint .sound-icon{font-size:clamp(.9rem,2.5vmin,1.1rem);filter:drop-shadow(0 0 4px rgba(255,105,180,.6))}.sound-hint .sound-text{color:#ff69b4;font-size:clamp(.7rem,2vmin,.85rem);font-weight:400;font-style:italic;letter-spacing:.3px;text-shadow:0 0 8px rgba(255,105,180,.4)}.reminder-popup{position:absolute;bottom:120%;left:50%;transform:translate(-50%);background:#0009;border:1px solid rgba(255,105,180,.4);border-radius:15px;padding:1rem 1.5rem;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;box-shadow:0 0 20px #ff69b44d;white-space:nowrap}.reminder-popup.show{opacity:1;visibility:visible}.reminder-content p{color:#fffffff2;font-size:1.1rem;margin:0;letter-spacing:.5px;text-shadow:0 0 10px rgba(255,105,180,.4)}.ios-only{display:none}html.ios .ios-only{display:flex}#fpsDisplay{position:fixed;top:10px;left:10px;z-index:1000;background:#000000b3;color:#ff69b4;padding:10px;border-radius:5px;font-family:monospace;font-size:16px;border:1px solid rgba(255,105,180,.3);text-shadow:0 0 5px rgba(255,105,180,.5)}@media (max-width: 430px){.title{padding-right:clamp(100px,20vw,180px)}.figure{right:-10px;top:-5%}.figure img{width:clamp(180px,25vw,250px);height:clamp(180px,25vw,250px)}}@media (max-width: 380px){.title{padding-right:clamp(80px,18vw,150px)}.figure{right:-20px;top:0}.figure img{width:clamp(160px,22vw,220px);height:clamp(160px,22vw,220px)}}@media (max-height: 750px){.header-section{margin-bottom:1.2rem}.title{padding-right:clamp(120px,20vw,200px)}.description-text{margin-bottom:1.2rem}.button-group{gap:.5rem;margin-bottom:1rem}.btn,.primary-button{padding:.8rem 1.2rem}.camera-hint{margin-bottom:.6rem}}@media (max-height: 650px){.title .are-you{font-size:3rem}.title .eighteen{font-size:5.5rem}.title{padding-right:clamp(100px,18vw,180px)}.figure img{width:200px;height:200px}.description-text{font-size:.9rem;margin-bottom:1rem}.btn,.primary-button,.secondary-button{padding:.7rem .9rem;font-size:.8rem}.age-buttons{margin-bottom:.2rem}}.mute-button-container{position:fixed;bottom:var(--prop-bottom-offset);right:var(--prop-side-right);z-index:10100;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease,transform .3s ease;display:flex;flex-direction:column;align-items:center}.mute-button-container.visible{opacity:1;visibility:visible}.mute-button{position:relative;width:var(--prop-touch-lg);height:var(--prop-touch-lg);border-radius:50%;background:#0006;border:2px solid rgba(255,105,180,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-tap-highlight-color:transparent;outline:none}.mute-subtext-label,.hamburger-subtext-label{position:absolute;bottom:calc(100% + 70px);padding:0;background:transparent;border:none;font-family:Shadows Into Light,cursive;font-size:18px;font-weight:400;color:#fffffff2;line-height:1.35;width:120px;pointer-events:none;z-index:10101;text-shadow:0 0 15px rgba(255,105,180,.6),0 2px 4px rgba(0,0,0,.5)}.hamburger-subtext-label{left:0;right:auto;text-align:center;opacity:0;animation:fadeInText .5s ease-out .2s forwards}.mute-subtext-label{right:0;left:auto;text-align:center;opacity:0;animation:fadeInText .5s ease-out .4s forwards}@keyframes fadeInText{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hamburger-subtext-label:after,.mute-subtext-label:after{content:"";position:absolute;width:25px;height:50px;border:2.5px solid rgba(255,105,180,.8);border-top:none;background:transparent;pointer-events:none;opacity:0;animation:drawArrowLine .6s ease-out .6s forwards}.hamburger-subtext-label:after{left:calc(50% - 25px);bottom:-55px;border-left:none;border-bottom-right-radius:25px}.mute-subtext-label:after{left:50%;bottom:-55px;border-right:none;border-bottom-left-radius:25px}.hamburger-subtext-label:before,.mute-subtext-label:before{content:"";position:absolute;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:12px solid rgba(255,105,180,.8);pointer-events:none;opacity:0}.hamburger-subtext-label:before{left:calc(50% - 30px);bottom:-61px;animation:drawArrowTipLeft .4s ease-out .9s forwards}.mute-subtext-label:before{left:calc(50% + 20px);bottom:-61px;animation:drawArrowTipRight .4s ease-out .9s forwards}@keyframes drawArrowLine{0%{opacity:0}to{opacity:1}}@keyframes drawArrowTipLeft{0%{opacity:0;transform:rotate(35deg) scale(0)}60%{transform:rotate(35deg) scale(1.15)}to{opacity:1;transform:rotate(35deg) scale(1)}}@keyframes drawArrowTipRight{0%{opacity:0;transform:rotate(-35deg) scale(0)}60%{transform:rotate(-35deg) scale(1.15)}to{opacity:1;transform:rotate(-35deg) scale(1)}}.mute-button:hover{background:#00000080;border-color:#ff69b480;transform:scale(1.05)}.mute-button:active{transform:scale(.95)}.mute-button-ring{position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:50%;border:2px solid rgba(255,105,180,.2);pointer-events:none}.mute-icon{width:var(--prop-icon-md);height:var(--prop-icon-md);color:#ffffffb3;transition:color .2s ease}.mute-button:hover .mute-icon{color:#ffffffe6}.mute-button-container.muted .mute-icon-off{display:block}.mute-button-container.muted .mute-icon-on,.mute-button-container.unmuted .mute-icon-off{display:none}.mute-button-container.unmuted .mute-icon-on{display:block}.mute-button-container.glowing .mute-button{animation:muteButtonGlow 1.5s ease-in-out infinite}.mute-button-container.glowing .mute-button-ring{animation:muteRingPulse 1.5s ease-in-out infinite}@keyframes muteButtonGlow{0%,to{border-color:#ff69b44d;box-shadow:0 0 10px #ff69b433}50%{border-color:#ff69b4b3;box-shadow:0 0 20px #ff69b480,0 0 30px #ff69b44d}}@keyframes muteRingPulse{0%,to{border-color:#ff69b41a;transform:scale(1);opacity:1}50%{border-color:#ff69b480;transform:scale(1.15);opacity:.6}}.mute-button-container.unmuted .mute-button{border-color:#ff69b426;background:#00000040;animation:none;box-shadow:none}.mute-button-container.unmuted .mute-button-ring{border-color:#ff69b41a;animation:none;opacity:.5}.mute-button-container.unmuted .mute-icon{color:#ffffff80}.mute-button-container.coaching-mode .mute-button{animation:coachingButtonGlow 1s ease-in-out infinite;border-color:#ff69b499;background:#00000080}.mute-button-container.coaching-mode .mute-button-ring{animation:coachingRingPulse 1s ease-in-out infinite}.mute-button-container.coaching-mode .mute-icon{color:#ffffffe6}@keyframes coachingButtonGlow{0%,to{border-color:#ff69b480;box-shadow:0 0 15px #ff69b44d}50%{border-color:#ff69b4e6;box-shadow:0 0 25px #ff69b499,0 0 40px #ff69b466}}@keyframes coachingRingPulse{0%,to{border-color:#ff69b44d;transform:scale(1);opacity:1}50%{border-color:#ff69b4b3;transform:scale(1.2);opacity:.7}}.mute-button-container.subtle-mode{opacity:.5!important}.mute-button-container.subtle-mode .mute-button{background:#00000040;border-color:#ff69b426;animation:none;box-shadow:none}.mute-button-container.subtle-mode .mute-button-ring{opacity:.3;animation:none}.mute-button-container.subtle-mode .mute-icon{color:#ffffff80}@keyframes subtextGlow{0%,to{border-color:#ff69b466;box-shadow:0 4px 20px #0006,0 0 15px #ff69b41a,inset 0 1px #ffffff1a}50%{border-color:#ff69b4b3;box-shadow:0 4px 20px #0006,0 0 25px #ff69b440,inset 0 1px #ffffff1a}}@keyframes tooltipFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes arrowSketch{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(2px) scale(1.02)}}.bottom-menu-hamburger.coaching-mode{animation:coachingButtonGlow 1s ease-in-out infinite;border-color:#ff69b499!important;background:#00000080!important}.bottom-menu-hamburger.subtle-mode{opacity:.5!important;background:#00000040!important;border-color:#ff69b426!important;animation:none;box-shadow:none!important;transition:opacity .5s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease!important}.bottom-menu-hamburger{position:fixed!important;transition:opacity .5s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease}#resetButtonContainer.subtle-mode #resetModelButton,#resetModelButton.subtle-mode{opacity:.5!important;background:#00000026!important;border-color:#ffffff1a!important;color:#ffffff80!important;box-shadow:none!important;transition:all .5s ease}#resetButtonContainer.subtle-mode #resetModelButton:hover,#resetModelButton.subtle-mode:hover{opacity:1!important;background:#fff3!important;border-color:#ffffff4d!important;color:#ffffffe6!important}.bottom-menu-profile-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.bottom-menu-profile-item.disabled:hover{transform:none;background:inherit}@media (orientation: landscape) and (max-height: 500px){:root{--carousel-height: 55vh;--carousel-min-height: 200px;--button-container-bottom: 60px;--coaching-text-top: 10%}.container{padding:.5vh 1vw;padding-top:calc(.5vh + var(--safe-top));padding-bottom:calc(.5vh + var(--safe-bottom))}.header-section{margin-bottom:2vh}.title .are-you{font-size:8vh}.title .eighteen{font-size:18vh;margin-top:0}.title{padding-right:25vw}.figure{position:absolute;top:0;right:2vw}.figure img{width:22vh;height:22vh}.description-text,.subtitle{font-size:2.5vh;margin-bottom:2vh}.button-group,.button-container{gap:1.5vh;margin-bottom:2vh}.age-buttons{margin-bottom:1vh}.btn,.primary-button,.secondary-button,.btn-feature,#camera-permission,#motion-permission{padding:2vh 3vw;font-size:2.5vh}#age-gate-screen .container{padding-top:1vh;padding-bottom:3vh}#age-gate-screen .content-wrapper{justify-content:flex-start;padding-top:6vh}#age-gate-screen .title .are-you{display:inline;font-size:17vh}#age-gate-screen .title .eighteen{display:inline;font-size:17vh;margin-top:0;margin-left:1.5vw}#age-gate-screen .title{padding-right:28vw}#age-gate-screen .header-section{margin-bottom:4vh}#age-gate-screen .figure{top:0;right:3vw}#age-gate-screen .figure img{width:26vh;height:26vh}#age-gate-screen .description-text{font-size:4vh;margin-bottom:4vh}#age-gate-screen .btn,#age-gate-screen .btn-primary,#age-gate-screen .btn-secondary{padding:3.5vh 4vw!important;font-size:4vh!important}#age-gate-screen #camera-permission,#age-gate-screen #motion-permission{padding:3vh 3vw!important;font-size:3.5vh!important}#age-gate-screen .button-group{margin-bottom:3vh}#age-gate-screen .camera-hint{font-size:3.2vh;margin-bottom:2.5vh}#age-gate-screen .privacy-text{font-size:3vh;margin-bottom:3vh;padding-bottom:2vh}body.ios-device #age-gate-screen .button-group{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2vh 3vw!important;width:100%!important}body.ios-device #age-gate-screen .button-group .age-buttons{grid-column:1 / -1;display:flex;width:100%}body.ios-device #age-gate-screen #camera-permission,body.ios-device #age-gate-screen #motion-permission{width:100%!important;margin:0!important}.camera-hint,.disclaimer{font-size:2.2vh;margin-bottom:1.5vh}.privacy-text{font-size:2vh}.selection-title{font-size:4vh;margin-bottom:3vh;margin-top:.5vh}.character-carousel-container{height:38vh;min-height:35vh;margin-bottom:1vh}.character-img{height:32vh;max-width:20vh}.character-item.center .character-img{height:38vh;max-width:25vh}.curved-text-wrapper text{font-size:2.5vh}.character-item.center .curved-text-wrapper text{font-size:3vh}.selection-hint{padding:1vh 2vw}.selection-hint .hint-icon{font-size:2.5vh}.selection-hint .hint-text{font-size:2vh}.position-label{font-size:2vh;margin-bottom:1vh}.sound-warning{padding:1vh 2vw;margin-bottom:1vh;border-radius:1vh}.sound-warning span{font-size:2.2vh}.position-selection{margin-top:1vh;margin-bottom:0}.position-pill-selector{padding:3px;border-radius:3vh}.position-pill-option{padding:1.5vh 3vw;border-radius:2.5vh;font-size:2vh}.position-pill-option .pill-icon{font-size:2.2vh}.mute-button-container{bottom:calc(2vh + var(--safe-bottom));right:calc(2vw + var(--safe-right))}.mute-button{width:8vh;height:8vh}.mute-icon{width:4vh;height:4vh}.coaching-text-container{top:5%!important}.coaching-button-container{bottom:calc(12vh + env(safe-area-inset-bottom,0px))!important}#coachingStartButton{padding:3vh 6vw!important;font-size:3.5vh!important}#resetButtonContainer{bottom:calc(2vh + env(safe-area-inset-bottom,0px))!important}#resetModelButton{padding:1.5vh 4vw!important;font-size:3vh!important}#coachingOverlay>img{max-height:85vh!important;max-width:60vw!important}#profile-switcher{flex-direction:row!important;bottom:calc(2vh + env(safe-area-inset-bottom,0px))!important;right:auto!important;left:50%!important;transform:translate(-50%);gap:1vh!important;padding:1.5vh!important;border-radius:6vh!important}#profile-switcher button{padding:1.5vh 2.5vw!important;font-size:2.8vh!important;min-width:9vh!important;border-radius:3vh!important}}@media (orientation: landscape) and (min-height: 501px){:root{--carousel-height: 50vh;--carousel-min-height: 350px}.header-section{margin-bottom:1.5rem}.character-img{height:280px}.character-item.center .character-img{height:350px}}@media (min-width: 768px) and (min-height: 600px){.container{max-width:700px}.title .are-you{font-size:5rem}.title .eighteen{font-size:10rem}.figure img{width:350px;height:350px}.description-text,.subtitle{font-size:1.1rem;max-width:600px}.btn,.primary-button,.secondary-button{padding:1.2rem 2rem;font-size:1.1rem}.selection-title{font-size:2.2rem}.character-carousel-container{min-height:400px}.character-img{height:320px;max-width:200px}.character-item.center .character-img{height:400px;max-width:250px}.position-pill-selector{padding:5px}.position-pill-option{padding:14px 32px;font-size:16px}.position-pill-option .pill-icon{font-size:18px}#profile-switcher{bottom:calc(30px + env(safe-area-inset-bottom,0px))!important;right:calc(20px + env(safe-area-inset-right,0px))!important;gap:10px!important;padding:12px!important}#profile-switcher button{padding:14px 20px!important;font-size:15px!important;min-width:60px!important}}@media (min-width: 800px) and (max-width: 920px) and (min-height: 750px){.container{max-width:600px}.character-carousel-container{height:35vh;min-height:300px}}
