/* Native game dialogs share the approved pop panel; specialized scenes keep their own layout. */
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result){box-sizing:border-box;width:min(420px,calc(100vw - 36px));max-width:calc(100vw - 36px);max-height:calc(100svh - max(18px,env(safe-area-inset-top)) - max(18px,env(safe-area-inset-bottom)));overflow:auto;overscroll-behavior:contain;margin:auto;padding:23px;border:4px solid #111;border-radius:15px;background:#fff;color:#111;box-shadow:6px 6px 0 #ff00a8,10px 10px 0 #00dced;font-family:Arial,Helvetica,sans-serif;touch-action:pan-y}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result)::backdrop{background:#15121fb3;backdrop-filter:blur(3px)}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(h1,h2){color:#111;background:#fff000;border:3px solid #111;box-shadow:3px 3px 0 #00dced;padding:10px 12px;margin:0 0 18px;font-size:clamp(22px,6vw,29px);font-weight:900;font-style:italic;line-height:1.12;text-transform:uppercase;overflow-wrap:anywhere}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(p,label,strong,legend){color:#111;line-height:1.5}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) p{margin:12px 0 18px;font-size:15px;overflow-wrap:anywhere}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(button,a){box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;padding:11px 13px;margin:11px 0 0;border:3px solid #111;border-radius:9px;background:#fff;color:#111;box-shadow:3px 3px 0 #ff00a8;font:900 15px Arial,Helvetica,sans-serif;text-decoration:none;text-align:center;text-shadow:none;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation;cursor:pointer}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(.product-primary,.recording-keep,#stayGame,#fallback3d,#coopFallback3d,#closeNotice,#closeCoopNotice,#approve,#downloadVideo,#nameForm button[type=submit]){background:#fff000;color:#111}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(button,a):focus-visible{outline:3px solid #111;outline-offset:4px}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(button,a):active{transform:translate(2px,2px);box-shadow:1px 1px 0 #ff00a8}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) button:disabled{opacity:.55;cursor:wait;box-shadow:none}
dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(input:not([type=checkbox]):not([type=range]),textarea,select){box-sizing:border-box;width:100%;min-height:46px;padding:11px;border:2px solid #111;border-radius:8px;background:#fff;color:#111;font:16px Arial,Helvetica,sans-serif}
#nameDialog form{display:grid;gap:9px}#nameDialog label{font-weight:700}
#videoDialog{width:min(460px,calc(100vw - 36px));overflow-x:hidden}
#videoDialog video{box-sizing:border-box;display:block;width:100%;max-width:100%;height:auto;max-height:min(55svh,480px);object-fit:contain;background:#111;border:3px solid #111;border-radius:9px;margin:0 0 16px}
#videoDialog :is(a,button) svg{flex:0 0 23px;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#duelResultStatus{min-height:45px;text-align:center}
@media(max-height:480px){dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result){padding:15px;max-height:calc(100svh - 28px)}dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(h1,h2){font-size:21px;padding:7px 10px;margin-bottom:12px}dialog:not(.commerce-dialog,.victory-screen,.reward-fullscreen,.battle-result) :is(button,a){min-height:44px;padding:9px 11px}#videoDialog video{max-height:43svh}}
.victory-screen{box-sizing:border-box;position:fixed;inset:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;border:0;border-radius:0;padding:max(22px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:auto;background:radial-gradient(ellipse at 50% 35%,#ff00a83d,#15121f9c);color:#111;font-family:Arial,Helvetica,sans-serif}
.victory-screen[open]{display:grid;place-items:center}
.victory-screen::backdrop{background:#15121f66;backdrop-filter:blur(2px)}
.victory-screen .victory-card{box-sizing:border-box;position:relative;width:min(100%,450px);padding:24px 24px 27px;border:4px solid #111;border-radius:20px;background:#fff url('menu-preview/assets/background-clean.png') center/cover;box-shadow:7px 8px 0 #111;isolation:isolate;text-align:center;animation:victory-arrive .35s ease-out}
.victory-screen .victory-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:15px;background:#ffffffde}
.victory-screen .victory-logo{display:block;width:75%;height:95px;object-fit:contain;margin:0 auto 8px}
.victory-screen .victory-crown{display:block;width:84px;height:70px;margin:3px auto 10px;fill:#fff000;stroke:#111;stroke-width:2.2;stroke-linejoin:round;filter:drop-shadow(3px 3px 0 #ff00a8);transform:rotate(-7deg)}
.victory-screen h1{color:#111;margin:0 -9px 18px;padding:12px 9px;border:3px solid #111;background:#fff000;box-shadow:4px 4px 0 #ff00a8;font-size:clamp(25px,6.5vw,34px);line-height:1.04;font-style:italic;font-weight:1000;transform:rotate(-2deg);text-transform:uppercase}
.victory-screen .victory-subtitle{margin:20px 0 10px;font-size:clamp(23px,6vw,30px);font-weight:1000;font-style:italic;color:#111}
.victory-screen .victory-player{color:#111;overflow-wrap:anywhere;margin:8px 0;font-size:17px;font-weight:900}
.victory-screen .victory-thanks{color:#111;margin:15px auto 22px;max-width:280px;line-height:1.5;font-size:15px}
.victory-screen .victory-home{box-sizing:border-box;min-height:52px;width:100%;padding:13px 14px;border:3px solid #111;border-radius:10px;background:#00dfef;color:#111;box-shadow:4px 4px 0 #111;font:1000 italic 17px Arial,Helvetica,sans-serif;text-transform:uppercase;touch-action:manipulation;cursor:pointer}
.victory-screen .victory-home:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #111}
@keyframes victory-arrive{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(max-height:600px){.victory-screen .victory-card{padding:15px 22px 20px}.victory-screen .victory-logo{height:60px;margin-bottom:0}.victory-screen .victory-crown{width:57px;height:42px;margin:0 auto 7px}.victory-screen h1{font-size:25px;margin-bottom:11px}.victory-screen .victory-subtitle{font-size:23px;margin:12px 0 7px}.victory-screen .victory-thanks{margin:9px auto 15px;font-size:14px}.victory-screen .victory-home{min-height:46px;padding:10px}}
@media(prefers-reduced-motion:reduce){.victory-screen .victory-card{animation:none}}
/* Ground alignment keeps the existing vertical slider grid and live camera visible. */
.plane-picker{box-sizing:border-box;max-height:calc(100svh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)) - 20px);overflow:auto;overscroll-behavior:contain;padding:15px;background:#fff;color:#111;border:3px solid #111;border-radius:15px;box-shadow:5px 5px 0 #ff00a8,8px 8px 0 #111;font-family:Arial,Helvetica,sans-serif}
.plane-picker h2{color:#111;background:#fff000;border:2px solid #111;box-shadow:3px 3px 0 #00dfef;padding:8px 10px;margin:0 0 13px;font-style:italic;font-weight:1000;line-height:1.1;text-transform:uppercase}
.plane-picker p,.plane-picker label,.plane-picker output,.plane-picker .plane-height-title,.plane-picker .plane-height-up,.plane-picker .plane-height-down{color:#111}
.plane-picker p{line-height:1.4}.plane-picker output{font-weight:900;background:#00dfef;border:2px solid #111;border-radius:5px;padding:3px 5px;font-size:12px}
.plane-picker .limited-option{min-height:44px;gap:10px;padding:6px 0;font-size:12px;font-weight:700;cursor:pointer}
.plane-picker .limited-option input[type=checkbox]{box-sizing:border-box;width:28px;height:28px;min-width:28px;min-height:28px;flex:0 0 28px;margin:0;accent-color:#d0008c;cursor:pointer}
.plane-picker input[type=range]{accent-color:#d0008c}
.plane-picker button{background:#fff000;color:#111;border:3px solid #111;border-radius:8px;box-shadow:2px 2px 0 #111;font:900 italic 13px Arial,Helvetica,sans-serif;min-height:44px}
.plane-picker button.confirm-plane{background:#00dfef;color:#111}.plane-picker button:disabled{opacity:.45;box-shadow:none}.plane-picker button:focus-visible,.plane-picker input:focus-visible{outline:3px solid #d0008c;outline-offset:3px}
@media(max-height:480px){.plane-picker{max-height:calc(100svh - 30px);padding:10px}.plane-picker h2{font-size:16px;margin-bottom:7px;padding:6px 8px}.plane-picker .limited-option{min-height:44px}.plane-picker p{line-height:1.25}}
/* Solid backing keeps the final message readable over every camera/background. */
.victory-screen .victory-thanks{color:#111;background:#fff;font-weight:800;padding:10px 12px;border:2px solid #111;border-radius:9px;margin:15px auto 22px;line-height:1.45}
.victory-screen .victory-player{color:#111;background:#fff;font-weight:800;padding:8px 10px;border-radius:7px;margin:10px auto;max-width:100%;overflow-wrap:anywhere}
@media(max-height:600px){.victory-screen .victory-thanks{margin:9px auto 15px;padding:10px}.victory-screen .victory-player{margin:7px auto;padding:7px 9px}}
.recording-reopen{position:fixed;left:10px;bottom:max(12px,env(safe-area-inset-bottom));z-index:60;max-width:calc(100vw - 20px);min-height:44px;padding:9px 14px;border:3px solid #111;border-radius:9px;background:#fff000;color:#111;box-shadow:3px 3px 0 #00dfef;font:900 14px Arial,sans-serif;touch-action:manipulation}.recording-reopen[hidden]{display:none!important}
