.practice-home{margin:18px auto 0;background:#ecebef;color:#17171d;border:2px solid #ecebef;padding:12px 18px;font-size:10px;cursor:pointer;min-height:44px}#movement-buttons,.header-buttons{display:none}body.game-playing .header-buttons{display:flex}#results.practice-results #mint,#results.practice-results #view-album,#results.practice-results #reveal-stage,#results.practice-results #bonus-count,#results.practice-results dl div:has(#bonus-count),#results.practice-results .total,#results.practice-results #score-sync-status,#results.practice-results>a,#results.practice-results #perfect-run{display:none!important}#results.practice-results .round-actions{grid-template-columns:1fr}#results.practice-results #mint-note{font-size:8px}button,a{touch-action:manipulation}
body.mobile-arcade{overflow:hidden}body.mobile-arcade #game-container{height:100dvh}body.mobile-arcade #game-ui{left:var(--board-left,50%);top:calc(54px + env(safe-area-inset-top));height:var(--board-height,444px);justify-content:flex-start;transform:translateX(-50%) scale(var(--board-zoom,1));transform-origin:top center}body.mobile-arcade #maze{touch-action:none}body.mobile-arcade #logo{width:88%;max-width:650px;margin-top:clamp(90px,22dvh,190px)}body.mobile-arcade #game-start{font-size:30px;margin-top:28px;padding:12px 18px}body.mobile-arcade .concept-link{font-size:9px;margin-top:20px}body.mobile-arcade .opensea-link{bottom:calc(72px + env(safe-area-inset-bottom));right:14px}body.mobile-arcade #arcade-side-tabs{top:auto;bottom:calc(14px + env(safe-area-inset-bottom));left:12px;right:12px;transform:none;flex-direction:row;justify-content:center;gap:8px}body.mobile-arcade .arcade-side-tab{writing-mode:horizontal-tb;font-size:7px;letter-spacing:0;padding:10px 8px;min-height:44px;border-radius:8px!important;flex:1;max-width:180px}body.mobile-arcade.game-playing #arcade-side-tabs,body.mobile-arcade.game-playing .opensea-link,body.mobile-arcade.game-playing .fx-meter{display:none}body.mobile-arcade.game-playing #movement-buttons{display:flex;visibility:visible;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;width:180px;transform:translateX(-50%);gap:3px;z-index:25;touch-action:none}body.mobile-arcade #movement-buttons .row{gap:58px;margin:0}body.mobile-arcade #movement-buttons button{width:52px;height:48px;min-height:48px;margin:0;border:2px solid #c8c2e3;background:#23242d;color:#c8c2e3;box-shadow:2px 2px #555564!important;touch-action:none}body.mobile-arcade #movement-buttons button:active{background:#c8c2e3;color:#111217}body.mobile-arcade #movement-buttons i{font-size:38px;margin:0}body.mobile-arcade .header-buttons{position:fixed;top:calc(5px + env(safe-area-inset-top));right:12px;z-index:25}body.mobile-arcade .header-buttons button{width:44px;height:44px;padding:0}body.mobile-arcade .header-buttons button:has(#sound-button){display:none}body.mobile-arcade .header-buttons i{font-size:30px;padding:0}body.mobile-arcade #paused-text{font-size:24px;pointer-events:none}body.mobile-arcade dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto}body.mobile-arcade #wallet-dialog{padding:20px 14px}body.mobile-arcade #wallet-dialog h1{font-size:16px}body.mobile-arcade #wallet-dialog button{font-size:8px;min-height:48px;padding:12px 8px}body.mobile-arcade .arcade-side-drawer{left:10px;right:10px;width:calc(100vw - 20px)}body.mobile-arcade.mobile-landscape #logo{margin-top:38px;width:48%;max-height:25dvh;object-fit:contain}body.mobile-arcade.mobile-landscape #game-start{margin-top:12px;font-size:22px;padding:8px 18px}body.mobile-arcade.mobile-landscape .practice-home{margin-top:12px;padding:8px 14px;font-size:8px}body.mobile-arcade.mobile-landscape .concept-link{margin-top:10px}body.mobile-arcade.mobile-landscape.game-playing #movement-buttons{left:auto;right:10px;bottom:25px;transform:none}body.mobile-arcade.mobile-landscape #game-ui{top:20px}
@media(max-width:420px){#results dl{font-size:8px}.rank-guide{overflow-wrap:anywhere}.fx-entry{min-width:0;width:85vw}.fx-coin{margin-bottom:12px}}
body.game-playing .header-buttons{width:auto;margin:0;right:12px;top:8px;gap:8px}body.mobile-arcade .header-buttons{width:auto;margin:0}body.practice-mode #rare-alert,body.practice-mode .fx-toast{display:none!important}
body.mobile-arcade #game-container{overflow:clip}body.mobile-arcade #game-ui{image-rendering:pixelated}
@media(max-width:360px){body.mobile-arcade .arcade-side-tab{font-size:6px;white-space:nowrap;padding:10px 5px}body.mobile-arcade #arcade-side-tabs{gap:5px}}
#game-container{overflow:clip}

body.game-playing #maze{cursor:crosshair;user-select:none;-webkit-user-select:none;touch-action:none}body.game-playing #maze.steering{cursor:crosshair}
/* Phone controls and dialogs keep clear of browser and device edges. */
body.mobile-arcade{overscroll-behavior:none}body.mobile-arcade #movement-buttons{padding:4px;box-sizing:content-box}body.mobile-arcade #movement-buttons button{width:56px;height:52px;min-height:52px;-webkit-tap-highlight-color:transparent}body.mobile-arcade #movement-buttons .row{gap:54px}body.mobile-arcade dialog{width:min(560px,calc(100vw - 24px));box-sizing:border-box;overscroll-behavior:contain;scroll-padding:16px}body.mobile-arcade #wallet-dialog p,body.mobile-arcade #mint-note,body.mobile-arcade #claim-status{overflow-wrap:anywhere}body.mobile-arcade .uni-reveal-card h3,body.mobile-arcade .uni-reveal-card p{overflow-wrap:anywhere}body.mobile-arcade.mobile-landscape.game-playing #movement-buttons{right:calc(10px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}@media(max-width:360px){body.mobile-arcade #wallet-dialog h1{font-size:13px}body.mobile-arcade #logo{font-size:clamp(20px,7vw,26px)}body.mobile-arcade .practice-home{font-size:9px}}
body.mobile-arcade.game-playing #movement-buttons{display:none!important}.tap-destination{position:absolute;width:12px;height:12px;transform:translate(-50%,-50%);border:2px solid #c8c2e3;pointer-events:none;z-index:24;box-shadow:2px 2px #555564}.tap-destination[hidden]{display:none}
body.mobile-arcade.game-playing #game-ui{top:var(--board-top,54px)}body.mobile-arcade.mobile-landscape.game-playing #game-ui{top:var(--board-top,54px)}

/* Fit the complete score, maze and lives area on every viewport. */
body.board-fit #game-ui{left:var(--board-left,50%);top:var(--board-top,12px);height:var(--board-height);justify-content:flex-start;transform:translateX(-50%) scale(var(--board-zoom,1));transform-origin:top center}body.board-fit #game-ui>div{flex-shrink:0}
