#rotate298{display:none}
.mobile298 body{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.mobile298 #game{width:min(100vw,177.78vh);top:50%}
.mobile298 #touch{position:fixed;inset:auto max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));display:flex;align-items:flex-end;z-index:1000;pointer-events:none;touch-action:none}
.mobile298 #touch[hidden]{display:none}
.mobile298 #stick298{display:block;position:relative;width:clamp(108px,25vh,148px);height:clamp(108px,25vh,148px);border-radius:50%;border:2px solid #75e3eeaa;background:radial-gradient(circle,#173a54bb,#071521b8);box-shadow:0 4px 18px #0008;pointer-events:auto;touch-action:none;color:#d7fcff}
#stick298 span{position:absolute;font:22px Arial;opacity:.85}#stick298 .up{top:5px;left:calc(50% - 10px)}#stick298 .down{bottom:5px;left:calc(50% - 10px)}#stick298 .left{left:7px;top:calc(50% - 12px)}#stick298 .right{right:7px;top:calc(50% - 12px)}#stick298 i{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);width:40px;height:40px;background:#9ff1f488;border:1px solid #dbffff;border-radius:50%;transform:translate(var(--dx,0px),var(--dy,0px));pointer-events:none}
.mobile298 #actions298{display:grid;grid-template-columns:repeat(2,64px);gap:8px;align-items:center}
.mobile298 #actions298 button{width:64px;height:54px;min-width:0;padding:0;border-radius:18px;font:bold 10px Arial;letter-spacing:.3px;border:2px solid #7beeffaa;background:#09263bd9;color:#fff;touch-action:none;box-shadow:0 3px 10px #0008}
.mobile298 #actions298 button:last-child{border-color:#ffcd6a;background:#553812dd}.mobile298 #actions298 button.pressed{background:#43a8b9;transform:scale(.94)}
@media(orientation:portrait){.mobile298 #rotate298{display:flex;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center;text-align:center;padding:40px;background:#090f1bf5;color:#fff;font:bold 24px Arial}}

@keyframes mobileLogo299{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-12px) rotate(.4deg)}}

.mobile298 body{width:var(--mobile-width,100vw);height:var(--mobile-height,100dvh)}
.mobile298 #game{inset:0;width:var(--mobile-width,100vw);height:var(--mobile-height,100dvh);aspect-ratio:auto;transform:none}
.mobile298 #screen{position:absolute;left:50%;top:50%;width:min(var(--mobile-width,100vw),calc(var(--mobile-height,100dvh)*1.7777778));height:auto;transform:translate(-50%,-50%)}
#mobile-wide301{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.mobile298 #ui{z-index:3}
.mobile298 #touch{bottom:max(10px,env(safe-area-inset-bottom));}
.mobile-menu301{background:#10243a url('assets/ui71/background.png.webp') center/cover no-repeat}
.mobile-menu301::before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#07394a66,transparent 35%,transparent 65%,#59133466)}
.mobile298 #battle{width:var(--mobile-width,100vw);height:var(--mobile-height,100dvh)}

/* Physical-size controls remain readable even when the artwork stage is scaled down. */
.mobile298 #viewport,.mobile298 #stage{overflow:visible}
#mobile-background303{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.mobile-menu301{background:#08080d}
.mobile-menu301::before{display:none}
.mobile298 #viewport{z-index:1}
.mobile298 #stage > .backdrop71,.mobile298 [data-cover-art],.mobile298 .intro237-art,.mobile298 .anomaly-menu-background162{opacity:0!important}
.mobile298 .intro237{background:transparent;overflow:visible}
.mobile298 .intro239-edge{display:none}
.mobile298 .mobile-button302{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;z-index:20}
.mobile298 .mobile-button302 span{font-family:Jersey,Arial!important;font-size:var(--mobile-font302)!important;line-height:1!important;inset:0!important;width:100%!important;height:100%!important;display:flex!important;align-items:center;justify-content:center;padding:0 8px!important;white-space:normal;text-align:center;color:#161616!important;text-shadow:none!important}
.mobile298 #stage[data-screen=arenas] .team76{display:none}
.mobile298 #actions298{grid-template-columns:repeat(2,70px);gap:10px}
.mobile298 #actions298 button{width:70px;height:58px;font-size:12px;background:#09263bf0}
.mobile298 #stick298{min-width:116px;min-height:116px}
.mobile298 .pause-trigger71{min-width:44px;min-height:44px;font-size:24px!important}

.mobile298 #viewport{background:transparent}
.mobile298 #viewport::before{display:none}
.mobile298 .mobile-button302 .button-canvas71{visibility:visible!important}

.mobile298 .intro237-title{top:620px!important;height:70px!important;font-size:42px!important}
.mobile298 .intro237-copy{top:700px!important;height:105px!important;font-size:36px!important}

.mobile298 #actions298 .touch-paper303{position:relative;background:transparent;border:0;box-shadow:none;border-radius:0;color:#171717}
.touch-paper303 canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.touch-paper303 span{position:relative;z-index:1;font:17px Jersey,Arial;color:#171717;pointer-events:none}
.mobile298 #actions298 .touch-paper303.pressed{filter:brightness(.8)}
.mobile298 #stick298{border:3px solid #171717;outline:1px solid #fff1cd;background:radial-gradient(circle,#fff5d5db,#bfb8a6c9);color:#171717}
.mobile298 #stick298 i{background:#ffdf43cc;border:2px solid #171717}

.mobile298 #actions298 .touch-paper303,.touch-paper303 span{text-shadow:none!important}

/* Uniform scaling: no mobile HUD or button artwork is stretched. */
.mobile298 #release-hud{inset:0 auto auto 50%;width:min(var(--mobile-width,100vw),calc(var(--mobile-height,100dvh)*1.777777778));height:auto;aspect-ratio:16/9;transform:translateX(-50%)}
#stick298 .left{transform:rotate(-90deg)}#stick298 .right{transform:rotate(90deg)}
.mobile298 #actions298{grid-template-columns:repeat(2,88px);gap:8px}
.mobile298 #actions298 .touch-paper346{position:relative;width:88px;height:66px;border:0;box-shadow:none;padding:0;background:none;border-radius:0;color:#171717;display:grid;place-items:center}
.touch-paper346 img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.touch-paper346 span{position:relative;font:16px Jersey,Arial;pointer-events:none;text-shadow:none;padding:0 10px;transform:translateY(-1px)}
.mobile298 #actions298 .touch-paper346.pressed{background:none;transform:translateY(2px);filter:brightness(.88)}

.mobile298 #actions298 button.touch-paper346{background:none!important}

/* Game surface: fixed viewport, one continuous background, no browser gestures. */
html.mobile298,html.mobile298 body{touch-action:none;overscroll-behavior:none;overflow:hidden}
html.mobile298 body{position:fixed;inset:0;margin:0;width:100%;height:100%;}
.mobile298 #mobile-background303{inset:0;width:100vw;height:100dvh;object-fit:cover}
.mobile298 .mobile-button302 span{transform:translateY(var(--mobile-label-lift347,-2.5px))!important}

/* Touch feedback stays inside the artwork, never a browser highlight box. */
.mobile298 *{-webkit-tap-highlight-color:transparent}
.mobile298 button:focus:not(:focus-visible),.mobile298 a:focus:not(:focus-visible){outline:none}
@media(pointer:coarse){.mobile298 button:focus,.mobile298 a:focus{outline:none!important}}
/* Extend modal dimming beyond the scaled 16:9 stage. Keep dialog coordinates intact. */
.mobile298 .unlock155,.mobile298 .exit78{background:transparent!important;isolation:isolate}
.mobile298 .unlock155::before,.mobile298 .exit78::before{content:'';position:absolute;inset:-200vmax;background:rgba(0,0,0,.73);z-index:-1;pointer-events:auto}
html.mobile298{min-width:100%;min-height:100%;background-position:center;background-size:cover;background-repeat:no-repeat}

/* Pause is sized against height as well as width, above the HUD. */
.mobile298 .pause71{position:fixed;inset:0;z-index:1100;}
.mobile298 .pause71 .pause-panel71{left:50%;top:50%;transform:translate(-50%,-50%);width:min(70vw,calc((100dvh - 20px)*560/608));height:auto;aspect-ratio:560/608;}
.mobile298 .pause71 .settings-control71{background:transparent!important;}
.mobile298 .pause71 .settings-control71>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:0;}
.mobile298 .pause71 .settings-control71>span{z-index:1;font-size:7cqw;padding:0 0 3%;}
html.mobile298{background-size:cover;background-position:center;background-repeat:no-repeat;}
html.mobile298 body{background:transparent;}

#mobile-warning356{position:fixed;inset:0;z-index:9000;background:#080812e8;display:flex;align-items:center;justify-content:center;color:#161616;padding:12px}
#mobile-warning356 section{box-sizing:border-box;width:min(620px,90vw);max-height:calc(100dvh - 24px);overflow:auto;background:#fff3dc;border:5px solid #151515;outline:2px solid #fff3dc;border-radius:20px;padding:12px 24px;text-align:center}
#mobile-warning356 header{display:flex;align-items:center;justify-content:center;gap:12px}
#mobile-warning356 header img{width:58px;height:58px;object-fit:contain}
#mobile-warning356 h1{font:42px Jersey,Arial;margin:0}#mobile-warning356 p{font:16px/1.35 Arial;margin:12px 0}
#mobile-warning356 button{width:180px;height:48px;border:0;background:transparent url('assets/ui71/button-cream.png.webp') center/contain no-repeat;color:#111;font:28px Jersey,Arial;padding:0 0 4px}
@media(orientation:portrait){#mobile-warning356{visibility:hidden}}

.warning-rotate357{display:none}
.warning-pending357 #rotate298{display:none!important}
@media(orientation:portrait){#mobile-warning356{visibility:visible}#mobile-warning356 .warning-rotate357{display:block;font-weight:bold;margin-top:22px}#mobile-warning356 button{display:none}}

@media(orientation:portrait){#mobile-warning356 button{display:block;margin:0 auto}#mobile-warning356 .warning-rotate357{display:none}}

#mobile-warning356 button{background-image:url('assets/ui71/button-yellow.png.webp')}
.mobile298 .password-overlay165{background:transparent!important;isolation:isolate}
.mobile298 .password-overlay165::before{content:'';position:absolute;inset:-200vmax;background:#000b;z-index:-1;pointer-events:auto}
.mobile298 .exit-panel102{width:min(76vw,calc((100dvh - 20px)*1216/1280));max-height:none;aspect-ratio:1216/1280;flex:none}
.mobile298 .exit-panel102 .pause-hit71.settings-control71{height:auto!important;aspect-ratio:477/125;left:18%;width:64%}
.mobile298 .exit-panel102 .pause-hit71.settings-control71>span{font-size:4.5cqw;padding-bottom:3%}
.mobile298 .exit-panel102::before{left:16%;right:16%;top:53%;bottom:14%}

/* Password lives outside the scaled game, including while the keyboard is open. */
.mobile298 .password-mobile360{position:fixed!important;left:var(--pw-left,0px)!important;top:var(--pw-top,0px)!important;width:var(--pw-width,100vw)!important;height:var(--pw-height,100dvh)!important;z-index:10000;display:flex;align-items:center;justify-content:center;padding:10px 18px;box-sizing:border-box;background:#080616d9!important;overflow:auto}
.mobile298 .password-mobile360::before{display:none}
.mobile298 .password-mobile360 .password-panel165{position:relative!important;inset:auto!important;width:min(680px,94%)!important;height:auto!important;max-height:100%;overflow:auto;padding:8px 16px;display:grid;gap:5px;border-width:3px;border-radius:14px;box-shadow:0 0 0 2px #fff8e7,0 0 0 4px #111}
.mobile298 .password-mobile360 .password-panel165>*{position:static!important;width:100%!important;height:auto!important;inset:auto!important}
.mobile298 .password-mobile360 .password-title165{font-size:22px!important;min-height:27px;border-width:2px}
.mobile298 .password-mobile360 .password-label165{font-size:14px!important;text-align:center}
.mobile298 .password-mobile360 .password-input165{font-size:20px!important;min-height:34px;border-width:2px;letter-spacing:2px}
.mobile298 .password-mobile360 .password-message165{font-size:14px!important;text-align:center}
.mobile298 .password-mobile360 .password-message165:empty{display:none}
.mobile298 .password-mobile360 .password-actions360{display:flex;justify-content:center;gap:16px}
.mobile298 .password-mobile360 .paper-button{position:relative!important;inset:auto!important;width:170px!important;height:44px!important;flex:0 1 170px;font-size:18px!important}
.mobile298 .password-mobile360 .paper-button span{font-size:18px!important}
.mobile298 body{overscroll-behavior:none}

.mobile298 .password-mobile360 .button-canvas71{width:100%!important;height:100%!important}
.mobile298 .password-mobile360 .password-title165{flex-shrink:0}

.mobile298 .password-mobile360 .password-panel165{gap:8px;padding:10px 16px}
.mobile298 .password-mobile360 .password-input165{min-height:40px}

/* Mobile readability: proportional HUD enlargement and larger story copy. */
.mobile298 #release-hud{width:min(var(--mobile-width,100vw),calc(var(--mobile-height,100dvh)*2.1333333336))}
.mobile298 .intro237-title{top:590px!important;height:84px!important;font-size:50.4px!important}
.mobile298 .intro237-copy{top:680px!important;height:126px!important;font-size:43.2px!important}

.mobile298 #stick298::after{content:'';position:absolute;left:-18%;top:-14%;right:-38%;bottom:-14%;border-radius:40%;background:transparent;pointer-events:auto}
.mobile298 .exit-panel102::before{display:none!important}
.mobile298 .exit-panel102 .pause-hit71.settings-control71{left:7%!important;width:86%!important;height:19%!important;aspect-ratio:auto}
.mobile298 .exit-panel102 .pause-hit71.settings-control71>*{visibility:hidden!important}
.mobile298 .exit78{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:5000;background:#000b;display:grid;place-items:center}
.mobile298 .exit78 section{position:relative;width:min(82vw,calc((100dvh - 20px)*1216/1280));height:auto;aspect-ratio:1216/1280;background:url('assets/revision102/exit.png.webp') center/contain no-repeat!important;border:0!important;box-shadow:none!important;padding:0!important}
.mobile298 .exit78 h2,.mobile298 .exit78 p{visibility:hidden}
.mobile298 .exit78 button{position:absolute!important;left:7%!important;width:86%!important;height:19%!important;top:54%!important;background:transparent!important;border:0!important;color:transparent!important;box-shadow:none!important;font-size:0!important}
.mobile298 .exit78 button:last-child{top:72%!important}

.mobile298 .exit78 section{outline:none!important}
.mobile298 .exit78 button{margin:0!important;padding:0!important}

.mobile298 .pause71 .pause-panel71:not(.pause-settings71){aspect-ratio:560/520}
.mobile298 .pause-panel71:not(.pause-settings71)>img{visibility:hidden}
.mobile298 .pause-compact368{position:absolute;inset:0;width:100%;height:100%}
.mobile298 .pause-panel71:not(.pause-settings71)::before{top:28%;bottom:7%}
.mobile298 .pause-panel71:not(.pause-settings71) .pause-hit71{height:22%!important}
.mobile298 .pause-panel71:not(.pause-settings71) .pause-hit71:nth-of-type(1){top:29%!important}
.mobile298 .pause-panel71:not(.pause-settings71) .pause-hit71:nth-of-type(2){top:51%!important}
.mobile298 .pause-panel71:not(.pause-settings71) .pause-hit71:nth-of-type(3){top:73%!important}
.mobile298 .pause71 .pause-panel71 .settings-control71>span{padding:0;transform:translateY(1%)}

/* Pause shell remains visible even while bitmap assets are loading. */
.mobile298 .pause71 .pause-panel71:not(.pause-settings71){box-sizing:border-box;background:#fff3dc;border:6px solid #111;border-radius:25px;box-shadow:0 0 0 3px #fff3dc,0 0 0 7px #111,0 7px 0 7px #111;overflow:hidden}
.mobile298 .pause-panel71:not(.pause-settings71)::before{display:none}
.mobile298 .pause-title372{position:absolute;top:0;left:0;right:0;height:27%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-bottom:5px solid #111;color:#080808;font-family:Jersey,sans-serif;font-size:clamp(25px,5vw,58px);background:radial-gradient(#1118 .6px,transparent .8px) 0 0/6px 6px,#fff3dc}

.mobile298 .credit76{font-size:32px!important;line-height:40px;text-align:center;}

.mobile298 .exit78 p{visibility:visible!important;position:absolute;left:6%;right:6%;top:32%;height:20%;margin:0;padding:0 4%;background:#fff2da;color:#111;display:flex;align-items:center;justify-content:center;font:clamp(14px,2.2vw,26px) Jersey;box-sizing:border-box}
