[data-tower-chapter="tenses"] {
  --chapter: #e8b879;
  --chapter-deep: #7d4e23;
  --chapter-paper: #f5e5c8;
  --chapter-wash: #352b22;
}
[data-tower-chapter="grammar"] {
  --chapter: #a0bde4;
  --chapter-deep: #334c73;
  --chapter-paper: #e1eaf3;
  --chapter-wash: #253348;
}
/* K5 Runde 2: area III (Storm Ridge, Dragon Bridge, Crystal Heart) glows ember instead of green. */
[data-tower-chapter="mixed"] {
  --chapter: #f3a07c;
  --chapter-deep: #8a3b25;
  --chapter-paper: #f8e3d8;
  --chapter-wash: #3a2622;
}

.ck-tower-camera {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-width: 0;
  min-height: 400px;
  background: #203346;
  border-radius: 15px;
}

.ck-tower-camera:focus-visible {
  outline: 3px solid #b6d9f3;
  outline-offset: 3px;
}

.ck-tower-camera-canvas,
.ck-tower-camera-labels {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.ck-tower-camera-labels {
  pointer-events: none;
}

.ck-tower-camera-floor {
  position: absolute;
  left: var(--ck-tower-label-left);
  right: 13px;
  transform: translateY(-50%);
  display: grid;
  grid-template-columns: 29px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 7px 9px 7px 7px;
  border: 1px solid #c0cddd4c;
  border-inline-start: 3px solid var(--chapter);
  border-radius: 4px 8px 8px 4px;
  background: var(--chapter-wash);
  color: #fbf4e7;
  font: 720 clamp(13px, 1.24vw, 16px)/1.16 system-ui, sans-serif;
  text-align: left;
  box-shadow: 0 4px 10px #10151f6b;
  cursor: pointer;
  pointer-events: auto;
}

.ck-tower-camera-floor[hidden] { display: none; }
.ck-tower-camera-floor:hover:not(:disabled) { border-color: var(--chapter); }
.ck-tower-camera-floor[aria-pressed="true"] {
  background: var(--chapter-paper);
  color: #253040;
  border-color: var(--chapter);
  box-shadow: 0 4px 12px #10151f86;
}
.ck-tower-camera-floor:focus-visible {
  outline: 3px solid #d0e6ff;
  outline-offset: 2px;
  z-index: 1;
}
.ck-tower-camera-floor:disabled { cursor: default; opacity: .65; }
.ck-tower-camera-floor[data-chapter-start="true"] .ck-tower-camera-num {
  border-bottom: 1px solid currentColor;
}
.ck-tower-camera-num {
  color: var(--chapter);
  font-size: .86rem;
  font-weight: 850;
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
  justify-self: center;
}
.ck-tower-camera-floor[aria-pressed="true"] .ck-tower-camera-num { color: var(--chapter-deep); }
.ck-tower-camera-title { min-width: 0; overflow-wrap: anywhere; }
.ck-tower-camera[data-compact="true"] .ck-tower-camera-floor {
  right: 10px;
  grid-template-columns: 1fr;
  justify-items: center;
  padding: 5px 2px;
}
.ck-tower-camera[data-compact="true"] .ck-tower-camera-title { display: none; }
