* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { background: #111; overflow: hidden; font-family: 'Microsoft YaHei', sans-serif; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; overscroll-behavior: none; touch-action: none; }
#gameCanvas { display: block; width: 100vw; height: 100vh; touch-action: none; }
#hud { pointer-events: none; }
img { -webkit-user-drag: none; user-drag: none; pointer-events: none; }

.tab {
  background: #2a3a5a; color: #fff; padding: 6px 18px; border-radius: 6px;
  cursor: pointer; font: bold 15px sans-serif; user-select: none;
}
.tab:hover { background: #3a4a6a; }

button {
  background: #4a6ea9; color: #fff; border: none; padding: 6px 12px;
  border-radius: 6px; cursor: pointer; font: 14px sans-serif;
}
button:disabled { background: #555; color: #999; cursor: default; }
button:hover:not(:disabled) { background: #5a7eb9; }

/* 移动端适配 */
@media (max-width: 1280px) {
  .tab { padding: 4px 10px; font-size: 13px; }
  button { font-size: 12px; padding: 4px 8px; }
}
