/* ============================================================
 * 3D 棋盘视角
 * ============================================================ */
body.mode-3d #canvas {
  filter: saturate(1.05) contrast(1.03);
}
body.mode-3d .stage {
  background:
    radial-gradient(ellipse at 50% 40%, rgba(30, 41, 59, 0.35), rgba(2, 6, 23, 0.7)),
    #0b1220;
}
body.mode-3d .empty-stage { color: #cbd5e1; }

.stage-3d-controls {
  position: absolute;
  left: 14px;
  top: 52px;
  width: 216px;
  padding: 10px 11px;
  border-radius: 12px;
  background: rgba(2, 6, 23, 0.78);
  border: 1px solid rgba(96, 165, 250, 0.28);
  color: #cbd5e1;
  box-shadow: 0 12px 30px rgba(2, 6, 23, 0.35);
  backdrop-filter: blur(10px);
  z-index: 8;
  font-size: 11px;
}
.stage-3d-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.5px;
  color: #93c5fd;
  margin-bottom: 8px;
}
.stage-3d-controls label {
  display: grid;
  grid-template-columns: 34px 1fr 38px;
  align-items: center;
  gap: 6px;
  margin: 7px 0;
  color: #94a3b8;
}
.stage-3d-controls input[type="range"] {
  width: 100%;
  accent-color: #3b82f6;
  height: 3px;
}
.stage-3d-controls span { text-align: right; font-family: ui-monospace, Consolas, monospace; color: #e2e8f0; }
.stage-3d-actions { display: flex; gap: 6px; margin-top: 8px; }
.stage-3d-actions .btn {
  flex: 1;
  background: rgba(148, 163, 184, 0.16);
  border: 1px solid rgba(148, 163, 184, 0.32);
  color: #e2e8f0;
}
.stage-3d-actions .btn:hover { background: rgba(96, 165, 250, 0.25); color: #fff; }
.stage-3d-controls .hint-tip { color: #64748b; font-size: 10px; margin: 8px 0 0; line-height: 1.45; }

/* 3D 模式下的选中框 / 缩放条颜色 */
body.mode-3d .zoom-indicator,
body.mode-3d .coord-indicator {
  background: rgba(2, 6, 23, 0.78);
  color: #cbd5e1;
  border-color: rgba(96, 165, 250, 0.28);
}
body.mode-3d .btn-view3d { color: #60a5fa; }

@media (max-width: 900px) {
  .stage-3d-controls { width: 180px; left: 8px; top: 44px; padding: 8px; }
}
