: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}#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-vitals #player-hp,.status-vitals #pressure-bar,.status-vitals #stamina-wrap{width:100%}#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}#dash-btn{position:fixed;right:calc(120px + env(safe-area-inset-right,0px));bottom:calc(28px + env(safe-area-inset-bottom,0px));width:76px;height:76px;border-radius:50%;border:2px solid var(--player);background:#67d8c038;color:var(--player);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:16px;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(24px + env(safe-area-inset-bottom,0px));width:92px;height:92px;border-radius:50%;border:2px solid var(--amber);background:#edbf6833;color:var(--amber);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:18px;min-width:48px;min-height:48px;z-index:30}#run-btn:active{background:#edbf6873}#skill-list{position:fixed;right:calc(12px + env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:30;pointer-events:none}.skill-btn{pointer-events:auto;position:relative;width:84px;height:64px;border-radius:12px;border:2px solid var(--player);background:#67d8c02e;color:var(--player);font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:15px;line-height:1.1;min-width:48px;min-height:48px;touch-action:none;display:flex;align-items:center;justify-content:center;text-align:center;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.skill-btn:after{content:attr(data-cost);position:absolute;bottom:4px;left:0;right:0;font-size:10px;font-weight:400;letter-spacing:1px;opacity:.85}.skill-btn{border-color:var(--player);color:var(--player);background:#67d8c033}#skill1-btn.active,#skill2-btn.active,#skill4-btn.active,#shield-btn.active{border-color:var(--coral);color:#fff;background:#df77654d}#skill1-btn.cooldown,#skill2-btn.cooldown,#skill4-btn.cooldown,#shield-btn.cooldown{border-color:var(--muted);color:var(--muted);background:#9fb4b01a;opacity:.62}.skill-btn:active{background:#67d8c073}.skill-btn:disabled{opacity:.62}#skill1-btn:disabled,#skill2-btn:disabled,#skill4-btn:disabled,#shield-btn:disabled{opacity:.62}#heal-btn{position:fixed;left:calc(14px + env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%);min-width:148px;height:52px;border-radius:26px;border:2px solid #4dd07e;background:#4dd07e29;color:#4dd07e;font-family:Microsoft YaHei,sans-serif;font-weight:700;font-size:15px;z-index:30;line-height:1;transition:background .15s ease,border-color .15s ease,opacity .15s ease,transform .1s ease}#heal-btn:active{background:#4dd07e66;transform:translateY(-50%) scale(.97)}#heal-btn{border-color:#4dd07e;color:#4dd07e;background:#4dd07e33;opacity:1}#heal-btn.cooldown{border-color:var(--muted);color:var(--muted);background:#9fb4b01a;opacity:.62}#heal-btn:disabled{opacity:.62}#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{transition:none!important}}#combo-ui{position:absolute;top:calc(70px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;pointer-events:none;will-change:transform,filter;--lv-shake-x: 0px;--lv-shake-y: 0px;--lv-glow: 0px}#combo-count{font-family:Arial Black,Impact,Microsoft YaHei,sans-serif;color:var(--chalk);font-size:46px;font-weight:900;line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.55);transition:color .2s ease}#combo-level{font-family:Microsoft YaHei,sans-serif;color:var(--muted);font-size:13px;letter-spacing:4px;text-transform:uppercase;transition:color .2s ease}#gear-banner{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:4px}.gear-seg{width:26px;height:6px;border-radius:2px;background:var(--slot);border:1px solid var(--tile);transition:background .25s ease,box-shadow .25s ease}.gear-seg.lit-1{background:#67d8c0}.gear-seg.lit-2{background:#edbf68}.gear-seg.lit-3{background:#df7765}.gear-seg.lit-4{background:#ff5a3c}#gear-name{font-family:Microsoft YaHei,sans-serif;font-size:12px;color:var(--muted);letter-spacing:2px;margin-left:4px;transition:color .25s ease}@keyframes gear-burst{0%{filter:brightness(1);transform:scale(1)}35%{filter:brightness(2.2);transform:scale(1.18)}to{filter:brightness(1);transform:scale(1)}}#gear-banner.gear-burst{animation:gear-burst .4s ease-out}@keyframes combo-pop{0%{transform:scale(1)}40%{transform:scale(1.28)}to{transform:scale(1)}}#combo-count.combo-pop{animation:combo-pop .22s cubic-bezier(.34,1.56,.64,1)}#combo-ui.lv-1 #combo-count{color:var(--chalk)}#combo-ui.lv-1{animation:combo-bob-1 .9s ease-in-out infinite}@keyframes combo-bob-1{0%,to{transform:translate(-50%) translate(0)}50%{transform:translate(-50%) translate(var(--lv-shake-x),var(--lv-shake-y))}}#combo-ui.lv-2 #combo-count{color:var(--amber)}#combo-ui.lv-2{animation:combo-bob-2 .55s ease-in-out infinite}@keyframes combo-bob-2{0%,to{transform:translate(-50%) translate(0)}25%{transform:translate(-50%) translate(var(--lv-shake-x),var(--lv-shake-y))}50%{transform:translate(-50%) translate(calc(var(--lv-shake-x) * -1),calc(var(--lv-shake-y) * .6))}75%{transform:translate(-50%) translate(calc(var(--lv-shake-x) * .6),calc(var(--lv-shake-y) * -1))}}#combo-ui.lv-3 #combo-count{color:var(--coral)}#combo-ui.lv-3{animation:combo-bob-3 .32s linear infinite;filter:drop-shadow(0 0 calc(6px + var(--lv-glow)) var(--coral))}@keyframes combo-bob-3{0%,to{transform:translate(-50%) translate(0)}20%{transform:translate(-50%) translate(var(--lv-shake-x),var(--lv-shake-y))}40%{transform:translate(-50%) translate(calc(var(--lv-shake-x) * -1),calc(var(--lv-shake-y) * .8))}60%{transform:translate(-50%) translate(calc(var(--lv-shake-x) * .7),calc(var(--lv-shake-y) * -.8))}80%{transform:translate(-50%) translate(calc(var(--lv-shake-x) * -.7),calc(var(--lv-shake-y) * .7))}}#combo-ui.lv-4 #combo-count{color:#ff5a3c}#combo-ui.lv-4{animation:combo-bob-4 .16s linear infinite;filter:drop-shadow(0 0 calc(10px + var(--lv-glow)) #ff5a3c)}@keyframes combo-bob-4{0%,to{transform:translate(-50%) translate(0)}15%{transform:translate(-50%) translate(var(--lv-shake-x),var(--lv-shake-y))}30%{transform:translate(-50%) translate(calc(var(--lv-shake-x) * -1),var(--lv-shake-y))}45%{transform:translate(-50%) translate(var(--lv-shake-x),calc(var(--lv-shake-y) * -1))}60%{transform:translate(-50%) translate(calc(var(--lv-shake-x) * -1),calc(var(--lv-shake-y) * -1))}75%{transform:translate(-50%) translate(calc(var(--lv-shake-x) * .7),var(--lv-shake-y))}90%{transform:translate(-50%) translate(var(--lv-shake-x),calc(var(--lv-shake-y) * -.7))}}#drop-layer{position:fixed;inset:0;pointer-events:none;z-index:30;overflow:hidden}.drop-orb{position:absolute;width:14px;height:14px;border-radius:50%;pointer-events:none;will-change:transform,opacity;background:radial-gradient(circle at 35% 35%,#fff 0%,var(--orb, #67d8c0) 38%,transparent 70%);box-shadow:0 0 8px 2px var(--orb, #67d8c0),0 0 18px 6px color-mix(in srgb,var(--orb, #67d8c0) 55%,transparent)}.drop-trail{position:absolute;width:42px;height:10px;border-radius:5px;pointer-events:none;will-change:transform,opacity;transform-origin:0 50%;background:linear-gradient(90deg,color-mix(in srgb,var(--orb, #67d8c0) 90%,white) 0%,color-mix(in srgb,var(--orb, #67d8c0) 55%,transparent) 40%,transparent 100%);filter:blur(1px);box-shadow:0 0 10px 2px color-mix(in srgb,var(--orb, #67d8c0) 60%,transparent)}@keyframes drop-orb-pop{0%{transform:scale(.5);opacity:0}20%{transform:scale(1.25);opacity:1}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){#combo-ui,.drop-orb{animation: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}}#core-guide{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:7px;padding:4px 12px;background:var(--panel);border:1px solid var(--amber);border-radius:6px;color:var(--amber);pointer-events:none;z-index:21}#core-guide-arrow{width:16px;height:24px;flex:none;transform-origin:50% 50%;filter:drop-shadow(0 0 3px rgba(237,191,104,.6));transition:transform .08s linear}#core-guide-label{font-size:11px;color:var(--muted);letter-spacing:1px;white-space:nowrap}#core-guide-dist{min-width:34px;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;color:var(--amber);text-align:right}@media (max-width: 640px) and (orientation: portrait){#core-guide{top:calc(6px + env(safe-area-inset-top,0px));padding:3px 9px;gap:5px}#core-guide-arrow{width:14px;height:20px}#core-guide-label{font-size:10px}#core-guide-dist{font-size:12px}}
