/* Canvas-first presentation. Native game HUD and menus are untouched. */
html,body{margin:0!important;padding:0!important;width:100%;height:100%;overflow:hidden!important;background:#000!important}
body>header,body>footer,body>#controls,body>#help,body>#game-credits,body>#orientation{display:none!important}
body>canvas{margin:0!important;padding:0!important;max-width:100vw;max-height:100dvh;display:block;width:100vw;height:100dvh;object-fit:contain}
#stage{height:100dvh!important;width:100vw!important}
#game-tools-toggle{position:fixed;right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));z-index:2147483646;width:36px;height:36px;min-width:0;padding:0;border:1px solid #ffffff38;border-radius:50%;background:#171b24a6;color:#fff;font:24px/1 system-ui;cursor:pointer;opacity:.65}
#game-tools-toggle:hover,#game-tools-toggle:focus-visible{opacity:1}
#game-tools{position:fixed;right:10px;top:54px;z-index:2147483646;box-sizing:border-box;width:min(340px,calc(100vw - 20px));max-height:calc(100dvh - 74px);overflow:auto;padding:14px;background:#171b24f5;color:white;border:1px solid #ffffff30;border-radius:12px;box-shadow:0 8px 32px #0008;font:13px/1.5 system-ui}
#game-tools[hidden],.game-error[hidden]{display:none!important}
#game-tools .game-tool-group{display:flex!important;flex-wrap:wrap;gap:8px;position:static!important;inset:auto!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:none!important;white-space:normal!important;z-index:auto!important;font:inherit!important}
#game-tools #notice,#game-tools #status{position:static!important;flex:1 0 100%;white-space:normal;overflow:visible;min-width:0}
#game-tools button,#game-tools a{font:13px system-ui;padding:8px 10px;border:1px solid #ffffff25;border-radius:6px;background:#ffffff12;color:#fff;text-decoration:none;cursor:pointer}
#game-tools .keys:empty{display:none}
#game-touch{display:none;position:fixed;bottom:max(8px,env(safe-area-inset-bottom));left:8px;right:8px;z-index:10;justify-content:center;gap:5px;flex-wrap:wrap;pointer-events:none}
#game-touch button{pointer-events:auto;touch-action:none;min-width:38px;min-height:38px;padding:6px 9px;background:#18202bb3;color:#fff;border:1px solid #ffffff40;border-radius:9px;font:13px system-ui}
@media(pointer:coarse){#game-touch{display:flex}}
.game-error{position:fixed;top:12px;left:12px;right:60px;z-index:2147483645;background:#491e25f2;color:#fff;padding:12px;border-radius:8px;font:14px system-ui}
body>main.container{padding:0!important;margin:0!important;max-width:none!important}
body>main.container>:not(#canvas-wrapper){display:none!important}
#canvas-wrapper{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important}

/* Startup is the original game, with only a minimal load indicator. */
.description-only{display:none!important}
.minimal-loading:not(.loading-error){position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;display:block!important;width:32px!important;height:32px!important;min-width:0!important;padding:0!important;margin:0!important;background:none!important;border:0!important;font-size:0!important;line-height:0!important;color:transparent!important;pointer-events:none;z-index:30!important}
.minimal-loading:not(.loading-error)>*{display:none!important}
.minimal-loading:not(.loading-error)::after{content:'';display:block;width:26px;height:26px;border:3px solid #ffffff35;border-top-color:#fff;border-radius:50%;animation:game-load-spin .8s linear infinite}
.minimal-loading[hidden],.minimal-loading:empty{display:none!important}
.minimal-loading.loading-error{font:14px/1.5 system-ui!important;color:#fff!important;border:0;border-radius:10px;background:#3c1d25!important;padding:18px!important;z-index:40!important}
@keyframes game-load-spin{to{transform:rotate(360deg)}}
