/* CBB Workbench — shared shell for interactive tools (Gatehouse, Shed, Command Centre, etc.) */
:root {
  --cbb-navy: #1B2A4A;
  --cbb-navy-deep: #0F1C36;
  --cbb-navy-mid: #16244a;
  --cbb-gold: #C9A84C;
  --cbb-gold-light: #e0bc60;
  --cbb-cream: #f5f0e8;
  --cbb-paper: #fffdf8;
  --cbb-ink: #28303d;
  --cbb-ink-soft: #54606f;
  --cbb-rust: #8b3a2a;
  --cbb-amber: #9c6b16;
  --cbb-green: #3f6b4a;
  --cbb-line: rgba(201, 168, 76, 0.22);
  --cbb-shadow: 0 16px 44px -28px rgba(21, 36, 63, 0.5);
  --cbb-topbar-h: 56px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

.cbb-workbench-body {
  font-family: Georgia, 'Times New Roman', serif;
  background: var(--cbb-cream);
  color: var(--cbb-ink);
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

.cbb-room-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 200;
  height: var(--cbb-topbar-h);
  background: rgba(15, 28, 54, 0.98);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--cbb-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(16px, 4vw, 40px);
}

.cbb-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  font-family: Arial, sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  flex-wrap: wrap;
}

.cbb-breadcrumb a {
  color: rgba(201, 168, 76, 0.65);
  text-decoration: none;
  transition: color 0.2s;
}

.cbb-breadcrumb a:hover { color: var(--cbb-gold); }
.cbb-breadcrumb .sep { color: rgba(201, 168, 76, 0.28); }
.cbb-breadcrumb .current { color: var(--cbb-gold); }

.cbb-topbar-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-style: italic;
  color: var(--cbb-gold);
  font-size: 0.95rem;
  white-space: nowrap;
  pointer-events: none;
}

.cbb-back-btn {
  font-family: Arial, sans-serif;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(245, 240, 232, 0.55);
  background: none;
  border: 1px solid rgba(201, 168, 76, 0.25);
  padding: 0.35rem 0.85rem;
  text-decoration: none;
  border-radius: 4px;
  transition: color 0.2s, border-color 0.2s;
  white-space: nowrap;
}

.cbb-back-btn:hover {
  color: var(--cbb-gold);
  border-color: var(--cbb-gold);
}

.cbb-workbench-main {
  padding-top: var(--cbb-topbar-h);
}

.cbb-alignment-strip {
  background: linear-gradient(90deg, var(--cbb-navy-deep), var(--cbb-navy-mid));
  border-bottom: 2px solid var(--cbb-gold);
  color: var(--cbb-cream);
  font-family: Arial, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 10px 16px;
  line-height: 1.5;
}

.cbb-alignment-strip a {
  color: var(--cbb-gold-light);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(224, 188, 96, 0.45);
}

.cbb-alignment-strip a:hover { color: #fff; border-bottom-color: #fff; }

.cbb-visitor-note {
  background: #fbf6ea;
  border: 1px solid var(--cbb-gold);
  border-radius: 6px;
  padding: 12px 16px;
  margin: 16px 0;
  font-family: Arial, sans-serif;
  font-size: 0.82rem;
  color: var(--cbb-ink-soft);
  line-height: 1.55;
}

.cbb-visitor-note strong { color: var(--cbb-navy); }

@media (max-width: 720px) {
  .cbb-topbar-title { display: none; }
}
