@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;600;700&display=swap";.hud{z-index:100;pointer-events:none;align-items:center;gap:16px;padding:12px 16px;font-family:Noto Sans TC,Inter,system-ui,sans-serif;display:flex;position:fixed;top:0;left:0;right:0}.hud-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:auto;background:#0009;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:8px;padding:8px 14px;display:flex}.hud-icon{font-size:1.2rem}.hud-value{font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.hud-capacity{opacity:.6;font-size:.85rem;font-weight:400}.hud-bar{background:#ffffff26;border-radius:3px;width:60px;height:6px;overflow:hidden}.hud-bar-fill{border-radius:3px;height:100%;transition:width .2s,background-color .3s}.hud-upgrade-btn{color:#fff;cursor:pointer;pointer-events:auto;background:linear-gradient(135deg,#9c27b0,#7b1fa2);border:1px solid #fff3;border-radius:12px;margin-left:auto;padding:8px 18px;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s}.hud-upgrade-btn:hover{transform:scale(1.05);box-shadow:0 4px 20px #9c27b066}.hud-upgrade-btn:active{transform:scale(.97)}.upgrade-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#00000080;justify-content:center;align-items:center;font-family:Noto Sans TC,Inter,system-ui,sans-serif;display:flex;position:fixed;inset:0}.upgrade-panel{background:linear-gradient(145deg,#1e1e32f2,#141428fa);border:1px solid #ffd70033;border-radius:20px;width:340px;max-width:90vw;max-height:85vh;padding:24px 28px;overflow-y:auto;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff0d}.upgrade-title{text-align:center;color:#ffd54f;margin:0 0 20px;font-size:1.3rem}.upgrade-row{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;margin-bottom:12px;padding:14px}.upgrade-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.upgrade-icon{font-size:1.3rem}.upgrade-label{color:#fff;flex:1;font-weight:600}.upgrade-level{color:#ce93d8;background:#9c27b04d;border-radius:8px;padding:2px 10px;font-size:.8rem;font-weight:700}.upgrade-desc{color:#ffffff80;margin:4px 0 10px;font-size:.8rem}.upgrade-level-dots{gap:6px;margin-bottom:10px;display:flex}.upgrade-dot{background:#ffffff1f;border-radius:3px;width:24px;height:6px}.upgrade-dot.filled{background:linear-gradient(90deg,#9c27b0,#ce93d8)}.upgrade-buy-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4caf50,#388e3c);border:none;border-radius:10px;width:100%;padding:10px;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .12s,box-shadow .12s}.upgrade-buy-btn:hover:not(.disabled){transform:scale(1.02);box-shadow:0 4px 15px #4caf5066}.upgrade-buy-btn:active:not(.disabled){transform:scale(.97)}.upgrade-buy-btn.disabled{color:#ffffff4d;cursor:not-allowed;background:#ffffff1a}.upgrade-maxed{text-align:center;color:#ffd54f;font-size:.9rem;font-weight:600}.upgrade-close-btn{color:#fff9;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:10px;width:100%;margin-top:8px;padding:10px;font-family:inherit;font-size:.9rem;transition:background .15s}.upgrade-close-btn:hover{background:#ffffff14}.joystick-base{z-index:150;opacity:.4;touch-action:none;background:#ffffff14;border:2px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;transition:opacity .2s;display:flex;position:fixed;bottom:80px;left:40px}.joystick-knob{background:radial-gradient(circle,#ffffff80,#fff3);border:1px solid #ffffff4d;border-radius:50%;width:40px;height:40px;transition:transform 50ms ease-out}@media (hover:hover) and (pointer:fine){.joystick-base{display:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{color:#e0e0e0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:none;-webkit-user-select:none;user-select:none;background:#0a0a14;width:100%;height:100%;font-family:Noto Sans TC,Inter,system-ui,-apple-system,sans-serif;overflow:hidden}canvas{touch-action:none;display:block}*{-webkit-tap-highlight-color:transparent}
