.site-fullscreen{display:none}
/* Mobile is one landscape, edge-to-edge application. Insets protect controls, not the scenery. */
html[data-mobile-game=touch] body{min-width:0;min-height:100dvh;margin:0}
@media(orientation:landscape){
 html[data-mobile-game=touch] .site-fullscreen{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:40;width:44px;height:44px;padding:10px;display:grid;place-items:center;background:#081238c9;border:1px solid #e5ce8e;color:#f4df9e;cursor:pointer}
 .site-fullscreen svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
 html:fullscreen .site-fullscreen{display:none}

 html[data-mobile-game=touch],html[data-mobile-game=touch] body{width:100%;min-height:100dvh}
 html[data-mobile-game=touch][data-site-page=home] body{height:100dvh;overflow:hidden}
 html[data-mobile-game=touch] .shell{position:fixed;inset:0;min-height:0;height:100dvh;width:100%;padding:0;display:block}
 html[data-mobile-game=touch] .shell .scene{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;max-width:none}
 html[data-mobile-game=touch] .scene-canvas{width:100%;height:100%}
 html[data-mobile-game=touch] .scene-art{width:100%;height:100%;object-fit:cover;object-position:center 18%}
 html[data-mobile-game=touch] .scene-menu{pointer-events:auto;left:50%;top:auto;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);width:clamp(300px,42vw,510px);height:138px;padding:4px;border:3px double #eed795;box-shadow:0 0 0 3px #081135,0 18px 0 3px #081135;gap:0}
 html[data-mobile-game=touch] .scene-menu:after{display:none}
 html[data-mobile-game=touch] .scene-menu .menu-button{visibility:visible;font-size:clamp(8px,1.3vw,12px);min-height:42px;flex:1}
 html[data-mobile-game=touch] .mobile-menu{display:none}
 html[data-mobile-game=touch] .home-player-access{position:fixed;z-index:4;top:max(8px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:auto;width:auto;margin:0;padding:0;max-width:48%}
 html[data-mobile-game=touch] .home-player-access a{min-height:44px;background:#081238e8;color:#f4df9e}
 html[data-mobile-game=touch] .panel{width:calc(100% - 32px);max-height:calc(100dvh - 26px);margin:auto}
 html[data-mobile-game=touch] .panel-heading{padding:8px 15px}
 html[data-mobile-game=touch] .panel-heading h2{font-size:11px}
 html[data-mobile-game=touch] .game-cards{grid-template-columns:repeat(2,minmax(0,260px));gap:18px;padding:14px 20px}
 html[data-mobile-game=touch] .game-card>img,html[data-mobile-game=touch] .marathon-card-art{height:clamp(95px,35dvh,170px);aspect-ratio:auto;object-fit:cover}
 html[data-mobile-game=touch] .game-card-title{min-height:44px;padding:8px;font-size:8px}
 html[data-mobile-game=touch][data-site-page=marathon] body,html[data-mobile-game=touch][data-site-page=cerfa] body{height:100dvh;overflow:hidden}
 html[data-mobile-game=touch][data-site-page=marathon] body main,html[data-mobile-game=touch][data-site-page=cerfa] body main{position:fixed;inset:0;left:0;top:0;bottom:0;width:100%;height:100dvh;max-width:none;margin:0;padding:0;transform:none;display:block}
 html[data-mobile-game=touch][data-site-page=marathon] .cabinet,html[data-mobile-game=touch][data-site-page=cerfa] .arena{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;min-height:0;border:0;outline:0;box-shadow:none;margin:0}
 html[data-mobile-game=touch][data-site-page=marathon] .cabinet canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;background:transparent}
 html[data-mobile-game=touch][data-site-page=marathon] .topbar{background:linear-gradient(#071233d9,transparent);pointer-events:none}
 html[data-mobile-game=touch][data-site-page=marathon] .topbar>*{pointer-events:auto}
 html[data-mobile-game=touch][data-site-page=marathon] .menu-copy{padding-top:32px}
 html[data-mobile-game=touch][data-site-page=marathon] .pause-button{right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom))}
 html[data-mobile-game=touch][data-site-page=marathon] body .controls{right:calc(max(12px,env(safe-area-inset-right)) + 54px);bottom:max(10px,env(safe-area-inset-bottom))}
 html[data-mobile-game=touch][data-site-page=shop] .arcade-cabinet{width:100%;min-height:100dvh;max-width:none;margin:0;border:0;box-shadow:none;padding:18px max(22px,env(safe-area-inset-right)) 24px max(22px,env(safe-area-inset-left))}
 html[data-mobile-game=touch][data-site-page=ranking] .ranking-shell{width:100%;min-height:100dvh;margin:0;padding:12px max(18px,env(safe-area-inset-right)) 24px max(18px,env(safe-area-inset-left))}
 html[data-mobile-game=touch][data-site-page=ranking] .ranking-controls{flex-direction:row;align-items:center;padding-top:12px}
 html[data-mobile-game=touch][data-site-page=ranking] .ranking-header{margin-bottom:12px}
 html[data-mobile-game=touch][data-site-page=other] main{box-sizing:border-box;width:100%;max-width:none;min-height:100dvh;margin:0;padding:18px max(22px,env(safe-area-inset-right)) 24px max(22px,env(safe-area-inset-left))}
 html[data-mobile-game=touch][data-site-page=score] .score-page{min-height:100dvh;padding:16px max(18px,env(safe-area-inset-right)) 20px max(18px,env(safe-area-inset-left))}
 html[data-mobile-game=touch] dialog:not(.mobile-landscape-gate){max-height:calc(100dvh - 24px);overflow:auto}
}
@media(orientation:landscape){
 html[data-mobile-game=touch][data-site-page=shop] .shop-player-access{position:absolute;top:max(8px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));width:auto;margin:0;z-index:30}
 html[data-mobile-game=touch][data-site-page=shop] .shop-player-access a{min-height:36px;padding:8px;font-size:7px}
 html[data-mobile-game=touch][data-site-page=shop] .site-header{height:40px;min-height:0;padding:0;border:0;position:relative}
 html[data-mobile-game=touch][data-site-page=shop] .site-header .arcade-logo{width:180px}
 html[data-mobile-game=touch][data-site-page=shop] .site-header nav{position:absolute;right:180px;top:0}
 html[data-mobile-game=touch][data-site-page=shop] .site-header nav>a{display:none}
 html[data-mobile-game=touch][data-site-page=shop] .screen-heading{margin:8px 0;min-height:30px}
 html[data-mobile-game=touch][data-site-page=shop] .screen-heading h1{font-size:12px}
 html[data-mobile-game=touch][data-site-page=shop] .game-filter{position:absolute;right:0;top:0;margin:0}
 html[data-mobile-game=touch][data-site-page=shop] .game-option{min-height:32px;font-size:6px;padding:3px 8px;gap:6px}
 html[data-mobile-game=touch][data-site-page=shop] .game-option img{width:40px;height:26px}
 html[data-mobile-game=touch][data-site-page=shop] .selection-stage{display:grid;grid-template-columns:42% minmax(0,1fr);min-height:0;gap:22px;padding:0;align-items:center}
 html[data-mobile-game=touch][data-site-page=shop] .character-zone{display:none}
 html[data-mobile-game=touch][data-site-page=shop] .edition-frame{height:clamp(100px,calc(100dvh - 152px),260px)}
 html[data-mobile-game=touch][data-site-page=shop] .book-object{height:calc(100% - 12px)}
 html[data-mobile-game=touch][data-site-page=shop] .edition-navigation{height:40px;margin:4px 0;gap:16px}
 html[data-mobile-game=touch][data-site-page=shop] .edition-navigation button{min-height:36px;min-width:36px}
 html[data-mobile-game=touch][data-site-page=shop] .edition-details h2{font-size:9px;margin-bottom:8px}
 html[data-mobile-game=touch][data-site-page=shop] .book-author,html[data-mobile-game=touch][data-site-page=shop] .product-compatibility{font-size:10px;margin-bottom:6px}
 html[data-mobile-game=touch][data-site-page=shop] .edition-purchase{padding-top:6px}
 html[data-mobile-game=touch][data-site-page=shop] .book-price{font-size:10px;margin-bottom:6px}
 html[data-mobile-game=touch][data-site-page=shop] .edition-links{margin-top:8px}
}
