:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff;background:#07111f;font-synthesis:none;text-rendering:optimizeLegibility;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body{width:100%;height:100%;height:100dvh;margin:0;overflow:hidden;background:#07111f;overscroll-behavior:none}body{cursor:url(../assets/ui/cursor-default.png) 4 2,auto;-webkit-text-size-adjust:100%}button{font:inherit}#game-shell{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 0%,#1d3557,#090d18 72%);isolation:isolate}#game{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}canvas{display:block;margin:0 auto;max-width:100%;max-height:100%;image-rendering:auto;touch-action:none;cursor:url(../assets/ui/cursor-default.png) 4 2,auto;-webkit-tap-highlight-color:transparent}.mobile-controls{--control-scale: 1;position:fixed;z-index:10000;overflow:visible;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none;opacity:0;visibility:hidden;transition:opacity .14s ease}.mobile-controls[hidden]{display:none!important}.mobile-controls[data-mode=gameplay]{opacity:1;visibility:visible}.mobile-pad,.mobile-top-actions{position:absolute;display:flex;align-items:center;gap:calc(10px * var(--control-scale));pointer-events:none}.mobile-pad--move{left:max(calc(14px * var(--control-scale)),var(--safe-left));bottom:max(calc(14px * var(--control-scale)),var(--safe-bottom))}.mobile-pad--actions{right:max(calc(14px * var(--control-scale)),var(--safe-right));bottom:max(calc(14px * var(--control-scale)),var(--safe-bottom));align-items:flex-end}.mobile-top-actions{right:max(calc(14px * var(--control-scale)),var(--safe-right));top:clamp(62px,15%,108px);align-items:flex-start}.mobile-control{position:relative;display:grid;place-items:center;width:calc(68px * var(--control-scale));height:calc(68px * var(--control-scale));min-width:54px;min-height:54px;padding:0;border:calc(3px * var(--control-scale)) solid rgba(224,242,254,.9);border-radius:50%;outline:none;background:#07111fc7;color:#f8fafc;box-shadow:0 6px 18px #02061761,inset 0 0 0 4px #22d3ee24;font-family:Arial Black,Arial,sans-serif;font-size:calc(29px * var(--control-scale));line-height:1;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;cursor:pointer;transition:transform 70ms ease,background-color 90ms ease,filter 90ms ease}.mobile-control>span{position:absolute;left:50%;bottom:calc(7px * var(--control-scale));transform:translate(-50%);font-family:Arial,sans-serif;font-size:calc(8px * var(--control-scale));font-weight:900;letter-spacing:.04em;white-space:nowrap}.mobile-control.is-active,.mobile-control:active{transform:scale(.9);filter:brightness(1.18);background:#0891b2f0}.mobile-control--move{background:#0f2338d6}.mobile-control--jump{width:calc(64px * var(--control-scale));height:calc(64px * var(--control-scale));border-color:#a5f3fcf2;background:#0891b2d1;padding-bottom:calc(9px * var(--control-scale))}.mobile-control--mine{width:calc(82px * var(--control-scale));height:calc(82px * var(--control-scale));border-color:#fde68afa;background:#b45309e6;box-shadow:0 7px 22px #78350f6b,inset 0 0 0 5px #fde68a24;font-size:calc(34px * var(--control-scale));padding-bottom:calc(10px * var(--control-scale))}.mobile-control--system{width:calc(54px * var(--control-scale));height:calc(54px * var(--control-scale));min-width:48px;min-height:48px;font-size:calc(24px * var(--control-scale));background:#0f1d31eb}.mobile-control--evac{width:calc(64px * var(--control-scale));height:calc(64px * var(--control-scale));border-color:#a5f3fcfa;background:#0891b2e6;font-size:calc(26px * var(--control-scale));padding-bottom:calc(8px * var(--control-scale))}.orientation-tip{position:fixed;z-index:11000;left:50%;top:max(10px,var(--safe-top));max-width:min(88vw,420px);padding:9px 14px;border:1px solid rgba(103,232,249,.54);border-radius:999px;background:#07111fe0;color:#cffafe;text-align:center;font-size:13px;font-weight:800;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .18s ease,transform .18s ease}.touch-device .orientation-tip[data-visible=true]{opacity:.96;visibility:visible;transform:translate(-50%)}.mobile-controls.is-portrait .mobile-pad--move,.mobile-controls.is-portrait .mobile-pad--actions{bottom:max(18px,var(--safe-bottom))}.mobile-controls.is-portrait .mobile-top-actions{top:max(58px,calc(var(--safe-top) + 44px))}.mobile-controls.is-portrait .mobile-control{--control-scale: 1}.touch-device body,.touch-device canvas{cursor:default}@media(max-height:480px)and (orientation:landscape){.mobile-controls{--control-scale: .86 !important}.mobile-top-actions{top:58px}}@media(max-width:390px)and (orientation:portrait){.mobile-control--move{width:62px;height:62px}.mobile-control--mine{width:76px;height:76px}.mobile-pad,.mobile-top-actions{gap:8px}}@media(prefers-reduced-motion:reduce){.mobile-controls,.mobile-control,.orientation-tip{transition:none}}.touch-device.portrait-device #game{opacity:.08;filter:blur(2px);transition:opacity .16s ease}.touch-device.portrait-device .mobile-controls[data-mode=gameplay]{opacity:0;visibility:hidden;pointer-events:none}.touch-device.portrait-device .orientation-tip[data-visible=true]{inset:0;display:flex;width:100vw;max-width:none;min-height:100vh;min-height:100dvh;align-items:center;justify-content:center;padding:max(28px,var(--safe-top)) max(28px,var(--safe-right)) max(28px,var(--safe-bottom)) max(28px,var(--safe-left));border:0;border-radius:0;background:radial-gradient(circle at 50% 35%,rgba(8,145,178,.22),transparent 36%),#07111ffb;color:#ecfeff;font-family:Arial Black,Arial,sans-serif;font-size:clamp(22px,7vw,34px);line-height:1.3;letter-spacing:.01em;opacity:1;visibility:visible;transform:none}@media(orientation:landscape)and (pointer:coarse){.touch-device #game{opacity:1;filter:none}}@media(prefers-reduced-motion:reduce){.touch-device.portrait-device #game{transition:none}}
