[hidden]{display:none!important}.creator{position:absolute;top:8px;left:12px;z-index:6;color:white;background:#111d;padding:3px 7px;border-radius:3px;font-size:10px;letter-spacing:.2px}.brand{top:3%;height:24%}.actions{left:5%;width:90%;top:56%;height:35%;gap:0}.arcade,.arcade.primary{background:none;clip-path:none;padding:0;overflow:visible;flex:1;min-height:0;transform:none}.arcade:before,.arcade:after{display:none}.arcade img.button-art{display:block;width:100%;height:100%;object-fit:fill;transform:scaleY(1.3);pointer-events:none}.arcade:hover{filter:brightness(1.06)}.arcade:focus-visible{outline:3px dashed #111;outline-offset:-6px}.ad{bottom:3%;height:5%}.credits-link{position:absolute;bottom:0;left:0;right:0;height:24px;border:0;background:#101016;color:#fff;font-size:10px;z-index:5}.bottle{right:-1%;top:75%;width:13%;z-index:4}.low-star{top:79%;left:0}.bolt{top:73%;left:-1%}.page{position:absolute;inset:0;z-index:10;overflow:auto}.settings-page{background:#ff00a8 url('assets/background.png') center/cover;padding:15px}.page-heading{display:flex;align-items:center;gap:16px;padding:8px 0 20px}.page-heading h1{margin:0;background:#fff000;border:3px solid #111;padding:10px 22px;transform:rotate(-2deg);font-size:28px;font-style:italic;font-weight:1000}.settings-list{display:grid;gap:9px;padding-bottom:20px}.settings-list>label{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fffffff5;border:3px solid #111;border-radius:12px;padding:14px 12px;box-shadow:3px 3px 0 #00dbef;font-size:14px;font-weight:bold;min-height:62px}.settings-list select{max-width:145px;background:#00dfef;border:2px solid #111;padding:8px;font-weight:bold}.settings-list input[type=range]{width:44%;accent-color:#ef00a8}.settings-list input[type=checkbox]{width:25px;height:25px;accent-color:#ed00a8}.settings-note,.prototype-note{background:#fff;border:3px solid #111;padding:12px;border-radius:12px;font-size:13px;line-height:1.45;margin:0}.settings-note b{font-style:italic}.settings-note p{margin:5px 0}.prototype-note{font-size:11px;color:#555}.stage-page{overflow:hidden;background:#e9dccb}.arena-bg{position:absolute;inset:0;background:url('assets/creche.png') center/cover}.stage-toolbar{position:absolute;top:max(12px,env(safe-area-inset-top));left:10px;right:10px;display:flex;justify-content:space-between;gap:6px;z-index:3}.stage-toolbar .utility{width:38px;height:38px}.stage-logo{position:absolute;top:65px;left:32%;width:36%;height:85px;object-fit:contain}.stage-ad{position:absolute;top:155px;left:8%;width:84%;height:45px;display:grid;place-items:center;background:#ffffffe8;border:2px solid #111;color:#777;font-size:10px;letter-spacing:3px}.health-row{position:absolute;top:220px;left:6%;right:6%;display:flex;justify-content:space-between;gap:25px}.health-row>div{width:45%;font-size:16px;font-style:italic;font-weight:bold}.health-row b{color:white;background:#111;padding:4px 10px;text-shadow:1px 1px #ff00a8}.health-row meter{display:block;width:100%;height:24px;margin-top:7px}.mode-tag{position:absolute;left:50%;top:32%;transform:translateX(-50%);padding:7px 14px;background:#111b;color:white;border-radius:20px;font-size:11px;font-weight:bold;letter-spacing:1px;white-space:nowrap}.control-space{position:absolute;bottom:3%;left:0;width:100%;height:30%;--control-alpha:.65}.joystick{position:absolute;bottom:4%;left:5%;width:31%;aspect-ratio:1;border-radius:50%;background:rgb(18 18 28 / var(--control-alpha));border:4px solid #00e2f4;box-shadow:0 0 0 3px #111,0 0 0 5px white;touch-action:none;display:grid;place-items:center}.joystick span{width:45%;height:45%;border-radius:50%;background:#eee;border:3px solid white;box-shadow:0 2px 8px #1118;pointer-events:none}.game-action{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:rgb(10 10 20 / var(--control-alpha));border:4px solid var(--accent);box-shadow:0 0 0 3px #111,0 0 0 5px white;color:white;aspect-ratio:1;touch-action:manipulation}.game-action img{width:44%;height:44%;filter:invert(1)}.game-action b{font-size:12px;font-style:italic;margin-top:4px}.attack{width:28%;right:4%;bottom:3%;--accent:#ff00a8}.defense{width:21%;right:24%;bottom:53%;--accent:#00e9ff}.taunt{width:18%;right:3%;bottom:85%;--accent:#fff000}.taunt b{font-size:9px}.game-action:active{scale:.94}.stage-toast{position:absolute;left:8%;right:8%;top:49%;background:#111d;color:white;padding:12px;text-align:center;border-radius:10px;font-size:13px;opacity:0;transition:opacity .2s;pointer-events:none}.stage-toast.visible{opacity:1}.stage-watermark{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:1000;font-style:italic;color:white;text-shadow:1px 1px black;pointer-events:none}.show-hud{position:absolute;top:12px;right:12px}.stage-page.free .health-row,.stage-page.free .stage-ad{display:none}.stage-page.free .mode-tag{top:160px}.stage-page.free .stage-logo{top:65px}.stage-page.hud-hidden .stage-hud{visibility:hidden}.stage-page.hud-hidden .show-hud{display:grid}.stage-page .record.active{background:#f00058;animation:record-pulse 1s infinite}@keyframes record-pulse{50%{opacity:.65}}.credits-copy{font-size:12px;line-height:1.5}.credits-copy a{color:#59129d}
[hidden]{display:none!important}.camera-feed{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camera-start{position:absolute;top:44%;left:50%;transform:translateX(-50%);z-index:3;border:3px solid #111;background:#fff000;padding:12px 20px;font-weight:900;white-space:nowrap}
[hidden]{display:none!important}
/* Reference artwork uses one uniform design scale. No stretch on either axis. */
.phone{width:min(430px,calc((100svh - 24px)*853/1844));height:auto;aspect-ratio:853/1844;min-height:0}.actions{left:4.1%;width:90.86%;top:56.72%;height:auto;gap:0;display:block}.arcade,.arcade.primary{display:block;width:100%;height:auto;aspect-ratio:775/129;animation:button-breathe 5s ease-in-out infinite}.arcade.primary{aspect-ratio:775/184}.arcade:nth-child(3){aspect-ratio:775/128}.arcade:nth-child(5){aspect-ratio:775/135}.arcade img.button-art{width:100%;height:100%;object-fit:contain;transform:none}.arcade:hover{filter:none}.control-space{top:0;bottom:0;height:100%;--control-alpha:.65}.joystick{left:.5%;top:76.5%;bottom:auto;width:45.5%;height:20.5%;aspect-ratio:auto;border:0;box-shadow:none;border-radius:0;background:url('assets/approved-control-joystick.png') center/contain no-repeat}.joystick span{opacity:0}.game-action{border:0;box-shadow:none;border-radius:0;background:transparent;display:block;aspect-ratio:auto;padding:0}.game-action img,.game-action b{display:none}.game-action.attack{left:66%;top:82%;width:34%;height:15%;right:auto;bottom:auto;background:url('assets/approved-control-attack.png') center/contain no-repeat}.game-action.defense{left:57%;top:73%;width:26%;height:11.5%;right:auto;bottom:auto;background:url('assets/approved-control-defense.png') center/contain no-repeat}.game-action.taunt{left:82%;top:67.5%;width:18%;height:9.5%;right:auto;bottom:auto;background:url('assets/approved-control-taunt.png') center/contain no-repeat}.game-action:active{scale:1}.game-action:focus-visible{outline:2px dashed white}.stage-logo{top:1.5%;left:72%;width:27%;height:11%}.stage-toolbar{top:12%;left:24%;right:16%}.stage-toolbar .back{position:fixed;left:4%;top:2%}.stage-page.free .stage-logo{top:1.5%}.mode-tag{top:2%;left:44%;font-size:14px;font-style:italic;background:#fff000;color:#111}.stage-page.free .mode-tag{top:2%;left:40%}.stage-page:not(.free) .stage-toolbar{top:3%;left:4%;right:4%}.stage-page:not(.free) .stage-logo{top:0;left:28%;width:40%;height:12%}.stage-page:not(.free) .stage-toolbar .back{position:static}.stage-page:not(.free) .mode-tag{display:none}.health-row{top:22%;left:4%;right:4%}.health-row b{font-size:5cqw;font-weight:1000}.health-row meter{height:3cqw}.stage-ad{top:12%;height:7%}.creator{font-size:9px}.stage-watermark{font-size:12px}
@media(max-width:500px){.phone{width:min(100vw,calc(100svh*853/1844));height:auto;min-height:0;aspect-ratio:853/1844}body{align-items:center}}
.stage-page.free .stage-toolbar .back{position:absolute;left:-20cqw;top:-20cqw}.phone{box-sizing:content-box}.arcade img.button-art{filter:none}.game-action,.joystick{opacity:var(--control-alpha,1)}
.control-space{--control-alpha:1}.game-action,.joystick{opacity:var(--control-alpha,1)}
.brand{top:0;left:0;width:100%;height:56.7245%;animation:float 6s ease-in-out infinite}.brand img{width:100%;height:100%;object-fit:contain}.hero{display:none!important}
.stage-toolbar .utility{padding:0;border:0;box-shadow:none;background:transparent}.stage-toolbar .utility img{display:none}.stage-toolbar .back{background:url("assets/approved-utility-back.png") center/contain no-repeat}.stage-toolbar .stage-sound{background:url("assets/approved-utility-sound.png") center/contain no-repeat}.stage-toolbar .record{background:url("assets/approved-utility-record.png") center/contain no-repeat}.stage-toolbar .microphone{background:url("assets/approved-utility-mic.png") center/contain no-repeat}.stage-toolbar .hide-hud{background:url("assets/approved-utility-hide.png") center/contain no-repeat}.stage-page.free .mode-tag{left:24%;top:0;width:51.6%;height:11.93%;transform:none;background:url("assets/approved-camera-title.png") center/contain no-repeat;color:transparent;border:0;padding:0}.stage-page.free .stage-logo{left:74.1%;top:1.5%;width:25.9%;height:10.6%;object-fit:contain}.health-row>div{height:6.5cqh;background-size:contain;background-repeat:no-repeat;background-position:center}.health-row>div:first-child{background-image:url("assets/approved-bar-player.png")}.health-row>div:last-child{background-image:url("assets/approved-bar-rival.png")}.health-row b,.health-row meter{visibility:hidden}
.stage-page.free .stage-toolbar{left:24%;right:16%;gap:0}.stage-page.free .stage-toolbar .utility{width:11.3cqw;height:11.3cqw}.stage-page.free .stage-toolbar .record{width:13.4cqw;height:13.4cqw}.stage-page.free .stage-toolbar .back{width:14cqw;height:14cqw}
.stage-page:not(.free) .stage-toolbar{left:0;right:0;top:3%;height:8%}.stage-page:not(.free) .stage-toolbar .utility{position:absolute;width:10cqw;height:10cqw;top:0}.stage-page:not(.free) .stage-toolbar .back{left:5%}.stage-page:not(.free) .stage-toolbar .stage-sound{left:17%}.stage-page:not(.free) .stage-toolbar .record{left:69%}.stage-page:not(.free) .stage-toolbar .hide-hud{left:79%}.stage-page:not(.free) .stage-toolbar .microphone{left:89%}
/* Menu utilities and creator lettering are separate from the approved artwork. */
.creator-art{position:absolute;left:1.5%;top:1%;width:72%;height:4.5%;object-fit:contain;z-index:5;pointer-events:none}
.brand{top:5.3%;height:51.4245%}
.sound,.settings{position:absolute;top:max(12px,env(safe-area-inset-top));width:36px;height:36px;border:0;box-shadow:none;background:#0c0b11;padding:8px}
.sound{right:10px}.settings{right:54px}
.actions{top:56.72%}
/* Responsive visual reservation only: 320×50 mobile banner; future integration must select a supported format rather than scale a served ad. */
.ad{left:50%;right:auto;bottom:calc(24px + max(4px,env(safe-area-inset-bottom)));width:min(320px,calc(100% - 32px));height:auto;aspect-ratio:320/50;min-height:0;transform:translateX(-50%);outline:0;border-width:1px;border-radius:4px;background:#ffffffe8;font-size:8px;letter-spacing:2px}


.ad{box-sizing:content-box;width:320px;height:50px;aspect-ratio:auto}
@container(max-width:351px){.ad{width:234px;height:60px}}
@container(max-width:253px){.ad{width:120px;height:60px}}

/* Independent foreground elements over one continuous background. */
.decorations{display:none!important}
.brand{top:6%;left:3%;width:94%;height:24%;animation:none}
.hero{display:block!important;top:30%;left:2%;width:96%;height:26.5%;animation:none}
.hero img{width:100%;height:100%;object-fit:contain;filter:none}
.backdrop{inset:0;animation:none}

.backdrop{background-image:image-set(url('assets/background-clean.webp') type('image/webp'),url('assets/background-clean.png') type('image/png'))}
.arcade .button-art{display:block;width:100%;height:100%;overflow:hidden}
.arcade,.arcade.primary{aspect-ratio:1475/280}
.arcade.primary{aspect-ratio:2090/520}
.arcade:nth-child(3),.arcade:nth-child(4){aspect-ratio:1475/260}

.actions{height:30%;display:flex;flex-direction:column;gap:3px}
.arcade,.arcade.primary,.arcade:nth-child(3),.arcade:nth-child(4){flex:1;aspect-ratio:auto;min-height:0}
.arcade.primary{flex:1.3}
/* Independent, low-amplitude menu breathing; hit areas stay still. */
@keyframes menu-logo-breathe{0%,100%{transform:scale(1) rotate(-.15deg)}50%{transform:scale(1.012) rotate(.15deg)}}
@keyframes menu-babies-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.008)}}
@keyframes menu-background-breathe{0%,100%{transform:scale(1.012)}50%{transform:scale(1.025)}}
@keyframes menu-key-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.009)}}
.brand{animation:menu-logo-breathe 6.8s ease-in-out infinite;transform-origin:50% 55%}
.hero{animation:menu-babies-breathe 5.8s ease-in-out -1.4s infinite;transform-origin:50% 85%}
.backdrop{animation:menu-background-breathe 12s ease-in-out infinite;transform-origin:center}
.arcade,.arcade.primary{animation:none}
.arcade .button-art{animation:menu-key-breathe 4.8s ease-in-out infinite;transform-origin:center}
.arcade:nth-child(2) .button-art{animation-delay:-1.2s}.arcade:nth-child(3) .button-art{animation-delay:-2.4s}.arcade:nth-child(4) .button-art{animation-delay:-3.6s}
@media(prefers-reduced-motion:reduce){.brand,.hero,.backdrop,.arcade .button-art{animation:none!important}}

.fullscreen,.user{position:absolute;top:max(12px,env(safe-area-inset-top));width:36px;height:36px;border:0;box-shadow:none;background:#0c0b11;padding:8px}.fullscreen{right:98px}.user{right:142px}.utility svg{width:100%;height:100%;fill:none;stroke:white;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.creator-art{width:calc(100% - 196px)}
.settings-list fieldset{min-width:0;margin:0;padding:10px;border:2px solid #111;border-radius:12px;background:#ffffffc9;display:grid;gap:9px}.settings-list legend{font-size:12px;font-weight:900;background:#fff000;border:2px solid #111;padding:4px 9px}.settings-list fieldset label{display:flex;align-items:center;justify-content:space-between;gap:10px;background:white;border:2px solid #111;border-radius:9px;padding:12px 9px;font-size:13px;font-weight:bold;min-height:52px}.group-note{font-size:12px;line-height:1.4;margin:0}.profile-form{display:grid;gap:10px}.profile-form label{font-weight:bold}.profile-form input{min-width:0;width:100%;padding:12px;border:2px solid #111;font:inherit}.profile-form button{padding:12px;border:2px solid #111;background:#00dfef;font-weight:bold}.profile-status{font-size:12px;margin:0}

/* Only a requested in-game panel is isolated; game=1 also hosts the normal home menu. */
body.panel-only{padding:0;background:#16131d}body.panel-only .phone{width:100%;max-width:480px;height:100svh;aspect-ratio:auto;box-sizing:border-box;background:#16131d}body.panel-only .phone> :not(.settings-page):not(dialog){display:none!important}body.panel-only .settings-page{position:absolute;inset:0;background:#ff00a8 image-set(url('assets/background-clean.webp') type('image/webp'),url('assets/background-clean.png') type('image/png')) center/cover;padding:max(15px,env(safe-area-inset-top)) 15px max(15px,env(safe-area-inset-bottom))}body.panel-only dialog::backdrop{background:#16131d}

/* Settings borrows only the approved utility geometry; home remains untouched. */
.settings-page .page-heading{position:relative;min-height:56px;padding:0 0 20px;gap:16px;align-items:flex-start}
.settings-page .page-heading .back{position:static;width:36px;height:36px;min-width:36px;flex:0 0 36px;padding:8px;border:0;border-radius:50%;background:#0c0b11;box-shadow:none}
.settings-page .page-heading h1{font-size:24px;line-height:24px;min-height:36px;padding:3px 14px;margin:0}
.settings-page{padding: max(12px,env(safe-area-inset-top)) 10px max(15px,env(safe-area-inset-bottom))}
body.panel-only .settings-page{padding:max(12px,env(safe-area-inset-top)) 10px max(15px,env(safe-area-inset-bottom))}
/* Stable menu reservations: a fixed ad slot and a clear gap below the actions. */
.phone{--menu-ad-height:50px}.actions{height:auto;bottom:calc(var(--menu-ad-height) + 20px + 24px + max(8px,env(safe-area-inset-bottom)))}.ad{bottom:calc(24px + max(8px,env(safe-area-inset-bottom)))}
@container(max-width:351px){.phone .actions{bottom:calc(60px + 20px + 24px + max(8px,env(safe-area-inset-bottom)))}}
.creator-art{border:0;background:none;padding:0;cursor:pointer;pointer-events:auto;width:calc(100% - 188px);height:5.5%;top:.4%;left:1.5%}.creator-art img{width:100%;height:100%;object-fit:contain;pointer-events:none}.creator-art:focus-visible{outline:2px dashed #111;outline-offset:1px}

.language-dialog{transform:none;width:calc(100% - 28px);max-width:420px;max-height:calc(100svh - 36px);overflow:auto;border-radius:14px;padding:20px}.language-dialog h1{font-size:25px;margin:0 0 10px;background:#fff000;border:2px solid #111;padding:9px}.language-dialog p{font-size:13px}.language-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.language-options label{display:flex;align-items:center;gap:8px;min-height:48px;border:2px solid #111;background:#fff;padding:9px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer}.language-options label:has(input:checked){background:#00dfef;box-shadow:2px 2px #111}.language-options input{width:19px;height:19px;accent-color:#d0008c;flex:none}.save-language{width:100%;min-height:48px;padding:12px;background:#fff000;border:3px solid #111;border-radius:8px;margin-top:16px;font-weight:900}.language-setting{grid-column:1/-1}.language-setting select{max-width:65%}
.user-panel{display:grid;gap:15px}.profile-badge{display:grid;place-items:center;width:58px;height:58px;margin:0 auto;background:#fff000;border:3px solid #111;border-radius:50%;box-shadow:3px 3px #ff00a8;font-size:33px}.future-options{min-width:0;margin:0;border:2px solid #111;border-radius:10px;padding:10px;display:grid;gap:9px}.future-options legend{font-size:12px;font-weight:900;background:#00dfef;padding:4px 8px;border:2px solid #111}.future-options button,.future-options input{width:100%;min-height:42px;padding:9px;border:2px solid #777;border-radius:7px;color:#555;background:#eee;font:inherit}.future-options label{font-size:12px;font-weight:bold}.future-options input{display:block;margin-top:5px}.clear-data,.clear-confirm button{min-height:44px;padding:10px;border:2px solid #111;border-radius:7px;background:#fff000;color:#111;font-weight:900}.clear-data{background:#fff;color:#a00060}.clear-confirm{padding:12px;border:3px solid #111;border-radius:9px;background:#fff}.clear-confirm p{margin:0 0 12px;font-size:13px}.clear-confirm button{width:100%;margin-top:8px}.clear-confirm .confirm-clear{background:#ff00a8;color:white}.user-panel~.dismiss{margin-top:18px}dialog:has(.user-panel:not([hidden])){max-height:calc(100svh - 28px);overflow:auto;border-radius:14px;transform:none}.shop-empty{min-height:70px}
@media(max-width:300px){.language-options{grid-template-columns:1fr}.creator-art{width:calc(100% - 180px)}}
/* Dialog bodies stay readable for About, empty store, notices and the user panel. */
.phone>dialog{color:#111;background:#fff;max-height:calc(100svh - 28px);overflow:auto;border-radius:14px}.phone>dialog :is(h1,p,label){color:#111}.phone>dialog h1{background:#fff000;border:3px solid #111;box-shadow:3px 3px 0 #00dfef;padding:9px 11px;font-size:clamp(22px,6cqw,30px)}.phone>dialog .close{border:0;box-shadow:none;width:32px;height:32px;background:#0c0b11}.phone>dialog .dismiss{border-radius:8px;box-shadow:3px 3px #111}

.creator-localized{display:none}.creator-translated img{display:none}.creator-translated .creator-localized{display:block;color:#fff000;font:900 italic clamp(8px,2.6cqw,12px)/1.15 Arial,sans-serif;-webkit-text-stroke:.3px #111;text-shadow:1px 1px 0 #111;white-space:nowrap}.vibration-note{font-size:11px;line-height:1.35;color:#333;padding:0 7px}

.creator-art{height:40px;top:max(9px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:flex-start}.creator-translated .creator-localized{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:11px;line-height:1;white-space:nowrap;color:#fff000;-webkit-text-stroke:.4px #111;text-shadow:1px 1px 0 #111}.creator-localized strong{font:900 italic clamp(11px,3.8cqw,16px)/1 Arial,sans-serif}.creator-localized>span{font-size:clamp(9px,2.7cqw,12px)}

/* Recording quality labels stay readable in every language and narrow view. */
.settings-list fieldset label.recording-quality-setting{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;justify-content:stretch}
.settings-list .recording-quality-setting select{box-sizing:border-box;min-width:0;max-width:100%;width:100%}
