:root{--arena: #182630;--tile: #2b414b;--chalk: #e6ebe8;--player: #67d8c0;--coral: #df7765;--amber: #edbf68;--panel: rgba(24, 38, 48, .84);--panel-solid: #1d2d38;--muted: #9fb4b0;--slot: rgba(230, 235, 232, .12)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--arena);color:var(--chalk);font-family:Microsoft YaHei,system-ui,Segoe UI,sans-serif}[hidden]{display:none!important}button{font-family:inherit;color:inherit;touch-action:none;font-size:16px;min-width:48px;min-height:48px}button:focus-visible{outline:3px solid var(--player);outline-offset:2px}#app{position:fixed;inset:0;background:var(--arena);overflow:hidden}#app canvas{position:absolute;inset:0;display:block;touch-action:none;width:100%;height:100%}#hud{position:fixed;inset:0;pointer-events:none;z-index:20;font-size:13px}#minimap-wrap{position:absolute;left:calc(14px + env(safe-area-inset-left,0px));bottom:calc(238px + env(safe-area-inset-bottom,0px));background:var(--panel);border:1px solid var(--tile);border-radius:6px;padding:4px;line-height:0;pointer-events:none}#minimap{display:block;width:220px;height:150px;border-radius:4px}#hud-status{position:absolute;top:calc(64px + env(safe-area-inset-top,0px));left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));display:grid;grid-template-columns:repeat(2,minmax(0,180px));justify-content:space-between;align-items:start;gap:16px;font-size:12px}.status-panel{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px 12px;background:var(--panel);border:1px solid var(--tile);border-radius:6px;font-variant-numeric:tabular-nums}.status-vitals{text-align:center}.status-actions{align-items:flex-end;text-align:right;overflow-wrap:anywhere}.status-vitals #player-hp,.status-vitals #pressure-bar,.status-vitals #stamina-wrap,.status-vitals #skill2-heat-wrap{width:100%}.status-actions #run-label,.status-actions #dash-label,.status-actions #skill1-label,.status-actions #skill2-label,.status-actions #shield-label,.status-actions #skill4-label,.status-actions #nearby-label{padding:0}#player-hp{width:150px;height:16px;background:var(--slot);border:1px solid var(--tile);border-radius:4px;overflow:hidden;position:relative}#hp-fill{height:100%;width:100%;background:var(--player);transition:width .15s ease-out}#hp-text{position:absolute;inset:0;font-family:Consolas,monospace;font-size:10px;line-height:16px;color:var(--arena);font-weight:700}#pressure-bar{width:100px;height:10px;background:var(--slot);border:1px solid var(--tile);border-radius:4px;overflow:hidden}#pressure-fill{height:100%;width:0%;background:var(--coral);transition:width .1s linear}#stamina-wrap{width:150px;height:12px;background:var(--slot);border:1px solid var(--tile);border-radius:4px;overflow:hidden;position:relative}#stamina-fill{height:100%;width:100%;background:var(--amber);transition:width .1s linear}#stamina-label{position:absolute;inset:0;font-family:Consolas,monospace;font-size:9px;line-height:12px;color:var(--arena);font-weight:700;text-align:center}#skill2-heat-wrap{width:150px;height:10px;background:var(--slot);border:1px solid var(--tile);border-radius:4px;overflow:hidden}#skill2-heat-fill{height:100%;width:0%;background:var(--player);transition:width .1s linear}#skill2-heat-wrap.active #skill2-heat-fill{background:var(--player)}#skill2-heat-wrap.overheat{border-color:var(--coral)}#skill2-heat-wrap.overheat #skill2-heat-fill{background:var(--coral)}#run-label{font-family:Microsoft YaHei,sans-serif;font-weight:700;padding:3px 10px}#run-label.idle{color:var(--muted)}#run-label.running{color:var(--player);border-color:var(--player)}#run-label.exhausted{color:var(--coral);border-color:var(--coral)}#dash-label{font-family:Microsoft YaHei,sans-serif;font-weight:700;padding:3px 10px}#dash-label.ready{color:var(--player);border-color:var(--player)}#dash-label.loading{color:var(--amber);border-color:var(--amber)}#shield-label,#skill1-label{font-family:Microsoft YaHei,sans-serif;font-weight:700;padding:3px 10px}#skill1-label.ready{color:var(--player);border-color:var(--player)}#skill1-label.loading{color:var(--amber);border-color:var(--amber)}#skill2-label{font-family:Microsoft YaHei,sans-serif;font-weight:700;padding:3px 10px}#skill2-label.ready,#skill2-label.active{color:var(--player);border-color:var(--player)}#skill2-label.overheat{color:var(--coral);border-color:var(--coral)}#skill4-label{font-family:Microsoft YaHei,sans-serif;font-weight:700;padding:3px 10px}#skill4-label.ready,#skill4-label.active{color:var(--player);border-color:var(--player)}#skill4-label.cooldown{color:var(--amber);border-color:var(--amber)}#shield-label.ready{color:var(--player);border-color:var(--player)}#shield-label.active{color:var(--coral);border-color:var(--coral)}#shield-label.cooldown{color:var(--amber);border-color:var(--amber)}#nearby-label{font-family:Consolas,monospace;font-size:11px;color:var(--muted);padding:3px 8px}#dash-btn{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:84px;height:84px;border-radius:50%;border:2px solid var(--player);background:#67d8c038;color:var(--player);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:17px;z-index:30}#dash-btn:active{background:#67d8c073}#dash-btn.cooldown{border-color:var(--amber);color:var(--amber);background:#edbf6829}#dash-btn:disabled{opacity:.6}#run-btn{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(124px + env(safe-area-inset-bottom,0px));width:72px;height:72px;border-radius:50%;border:2px solid var(--amber);background:#edbf6833;color:var(--amber);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:16px;min-width:48px;min-height:48px;z-index:30}#run-btn:active{background:#edbf6873}#shield-btn{position:fixed;right:calc(110px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:72px;height:72px;border-radius:50%;border:2px solid var(--player);background:#67d8c02e;color:var(--player);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:16px;min-width:48px;min-height:48px;z-index:30}#skill1-btn{position:fixed;right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(212px + env(safe-area-inset-bottom,0px));width:72px;height:72px;border-radius:50%;border:2px solid var(--player);background:#67d8c02e;color:var(--player);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:16px;min-width:48px;min-height:48px;z-index:30}#skill2-btn{position:fixed;right:calc(110px + env(safe-area-inset-right,0px));bottom:calc(112px + env(safe-area-inset-bottom,0px));width:68px;height:68px;border-radius:50%;border:2px solid var(--player);background:#67d8c02e;color:var(--player);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:15px;min-width:48px;min-height:48px;z-index:30}#skill1-btn.cooldown{border-color:var(--amber);color:var(--amber);background:#edbf6824}#skill1-btn:active{background:#67d8c073}#skill1-btn:disabled{opacity:.6}#skill2-btn.active{border-color:var(--player);color:var(--player);background:#67d8c06b}#skill2-btn.overheat{border-color:var(--coral);color:var(--coral);background:#df776533}#skill2-btn:active{background:#67d8c073}#skill2-btn:disabled{opacity:.6}#skill4-btn{position:fixed;right:calc(110px + env(safe-area-inset-right,0px));bottom:calc(200px + env(safe-area-inset-bottom,0px));width:68px;height:68px;border-radius:50%;border:2px solid var(--player);background:#67d8c02e;color:var(--player);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:15px;min-width:48px;min-height:48px;z-index:30}#skill4-btn.active{border-color:var(--player);color:var(--player);background:#67d8c06b}#skill4-btn.cooldown{border-color:var(--amber);color:var(--amber);background:#edbf6824}#skill4-btn:active{background:#67d8c073}#skill4-btn:disabled{opacity:.6}#shield-btn.active{border-color:var(--coral);color:var(--coral);background:#df776533}#shield-btn.cooldown{border-color:var(--amber);color:var(--amber);background:#edbf6824}#shield-btn:active{background:#67d8c073}#shield-btn:disabled{opacity:.6}#zoom-controls{position:fixed;left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(172px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;z-index:30}.zoom-btn{width:56px;height:56px;border-radius:10px;border:2px solid var(--tile);background:var(--panel);color:var(--chalk);font-size:24px;font-family:Consolas,monospace;font-weight:700;line-height:1}.zoom-btn:active{background:var(--tile)}#mute-btn{position:fixed;top:calc(8px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));width:52px;height:48px;border-radius:8px;border:1px solid var(--tile);background:var(--panel);color:var(--muted);font-size:12px;z-index:31;line-height:1}#mute-btn.off{color:var(--coral);border-color:var(--coral)}#cam-btn{position:fixed;top:calc(8px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));min-width:76px;height:48px;border-radius:8px;border:1px solid var(--tile);background:var(--panel);color:var(--muted);font-size:12px;z-index:31;line-height:1}#cam-btn[aria-pressed=true]{color:var(--player);border-color:var(--player)}#cam-btn[aria-pressed=true]:before{content:"◉ "}#cam-btn[aria-pressed=false]:before{content:"○ "}.overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0c141adb;padding:20px}.panel{background:var(--panel-solid);border:1px solid var(--tile);border-radius:12px;padding:26px 28px;max-width:440px;width:100%;text-align:center;box-shadow:0 14px 50px #0000008c}.panel-fail{border-color:var(--coral)}.start-menu{display:flex;flex-direction:column;align-items:center;gap:36px;width:100%;text-align:center}.start-menu .title{font-family:Consolas,monospace;font-weight:700;font-size:clamp(28px,7vw,64px);line-height:1.1;letter-spacing:.04em;margin:0;color:var(--chalk)}#play-btn{font-family:Consolas,monospace;letter-spacing:.08em}.panel-title{font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:26px;margin:0 0 12px}.primary-btn{min-width:168px;padding:13px 28px;font-size:17px;font-family:Microsoft YaHei,sans-serif;font-weight:700;color:var(--arena);background:var(--player);border:none;border-radius:6px;cursor:pointer}.primary-btn:hover{background:#8be6d3}.primary-btn:disabled{background:var(--tile);color:var(--muted);cursor:wait}.terminal-reason{font-size:14px;color:#cfdcd9;margin:4px 0 16px}@media (prefers-reduced-motion: reduce){#hp-fill,#pressure-fill,#stamina-fill,#skill2-heat-fill{transition:none!important}}@media (max-width: 640px) and (orientation: portrait){#mute-btn{top:calc(6px + env(safe-area-inset-top,0px));right:calc(8px + env(safe-area-inset-right,0px));width:44px;height:44px;font-size:11px}#cam-btn{top:calc(6px + env(safe-area-inset-top,0px));left:calc(8px + env(safe-area-inset-left,0px));min-width:66px;height:44px;font-size:11px}#minimap-wrap{left:calc(10px + env(safe-area-inset-left,0px));bottom:calc(232px + env(safe-area-inset-bottom,0px))}#minimap{width:140px;height:96px}#zoom-controls{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(170px + env(safe-area-inset-bottom,0px));flex-direction:row}.zoom-btn{width:48px;height:48px;font-size:20px}}@media (prefers-reduced-motion: reduce){#dash-label{transition:none!important}}
