/* Endicott Command beta palette: black stone, warm ivory, restrained gold. */
:root { --bg:#030303; --panel:#0b0a08; --panel2:#14100a; --line:#5f4822; --text:#fbf5e7; --muted:#c8bda6; --gold:#d8ad55; --gold2:#f3d78b; --green:#d8ad55; }
body { background:radial-gradient(circle at 50% -20%,#251a09 0,#080604 34rem,#030303 72rem); }
.sidebar { background:#050403; border-right-color:#7d5d28; }
.topbar { background:#070604; border-bottom-color:#5f4822; box-shadow:0 8px 28px #0008; }
.nav-link { color:#d8ccb4; }
.nav-link:hover,.nav-link:focus-visible { background:#1b1409; color:#fff5d8; }
.nav-link.active { border-color:#b98b3d; background:#201608; color:#f7d98d; box-shadow:inset 3px 0 #d8ad55; }
.sidebar-foot { border-top-color:#5f4822; color:#f0cf7b; }
.status-dot { background:#d8ad55; box-shadow:0 0 10px #d8ad5588; }
.image-stage { background:#020202; }
.scene-image { object-fit:contain; }
.visual-card { border-color:#7d5d28; background:#050403; box-shadow:0 22px 60px #000b,0 0 0 1px #d8ad5512; }
.visual-caption { background:#0b0906; color:#d4c9b4; border-top:1px solid #4d391d; }
.panel { border-color:#5f4822; background:#0b0a08; box-shadow:0 12px 30px #0005; }
.doorway { border-color:#6d5228; color:#f1e7d2; background:#161008; }
.doorway:hover,.doorway:focus-visible { border-color:#d8ad55; background:#24190a; color:#fff3d0; }
.doorway.inactive { border-color:#493a23; color:#ac9c7f; background:#0b0906; }
.doorway.unified-route { min-width:min(100%,310px); flex:1 1 260px; padding:14px 16px; }
.doorway.unified-route strong { display:block; color:#f0d38f; font:500 16px/1.2 Georgia,serif; }
.doorway.unified-route span { display:block; margin-top:7px; color:#bbae96; font-size:10px; line-height:1.45; }
.notice { border-left-color:#d8ad55; background:#181107; color:#f0d28a; }
.quiet-button,.menu-button { background:#090704; border-color:#5f4822; color:#e8ddc8; }
.quiet-button:hover:not(:disabled),.quiet-button:focus-visible,.menu-button:hover { border-color:#d8ad55; background:#1b1308; color:#f7d98d; }
.gallery button { border-color:#5f4822; background:#0d0a06; }
.gallery button:hover { border-color:#d8ad55; }
footer { border-top-color:#5f4822; color:#9e927b; }
.nav-group-title,.sidebar-foot small,.breadcrumbs,.note-panel p,footer { color:#a99c82; }
.breadcrumbs strong { color:#eee4d0; }
.brand-mark { box-shadow:0 0 0 3px #d8ad5520; }
.quiet-button,.menu-button { border-color:#5f4822; }
.hotspot-layer { overflow:hidden; pointer-events:none; }
.hotspot-layer a { pointer-events:all; touch-action:manipulation; }
.hotspot-layer .hotspot-hit-area {
  fill:#000001 !important;
  fill-opacity:.001 !important;
  stroke:transparent !important;
  pointer-events:all;
}
.hotspot-layer .hotspot-outline {
  /* Public hotspots keep their geometry but never paint over the art. */
  fill:transparent !important;
  stroke:transparent !important;
  vector-effect:non-scaling-stroke;
  pointer-events:all;
}
.hotspot-layer a:focus-visible { outline:none; }
.hotspot-layer .hotspot-focus-marker {
  fill:transparent;
  stroke:transparent;
  pointer-events:none;
}
.hotspot-layer a:focus-visible .hotspot-focus-marker {
  fill:#d8ad55;
  stroke:#050403;
  stroke-width:3;
  vector-effect:non-scaling-stroke;
}

/* Leland Rowan's approved Back + four-direction EKS control. */
.nav-control-rail {
  position: sticky;
  bottom: 0.75rem;
  z-index: 8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid #6d5228;
  border-radius: 0.75rem;
  background: #070604ed;
  box-shadow: 0 12px 34px #000b, inset 0 0 0 1px #d8ad5510;
  backdrop-filter: blur(12px);
}
.back-cluster,.navigation-cluster { display:flex; align-items:center; gap:0.65rem; }
.navigation-cluster { margin-left:auto; }
.control-caption { color:#a58b62; font-size:0.65rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; }
.back-button,.direction-button {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #6d5228;
  color:#f6d79a;
  background:#171109;
}
.back-button { min-width:104px; padding:0.6rem 0.75rem; border-radius:0.4rem; }
.back-button:hover:not(:disabled),.direction-button:hover:not(:disabled) { border-color:#d8ad55; background:#2a1d0a; }
.back-button:disabled,.direction-button:disabled { opacity:0.34; cursor:not-allowed; color:#75684f; border-color:#3f3322; background:#0b0906; }
.direction-pad {
  position:relative;
  width:110px;
  height:110px;
  flex:0 0 110px;
  border:1px solid #8b6831;
  border-radius:50%;
  background:radial-gradient(circle at 50% 45%,#d8ad5527,transparent 51%),#080705;
  box-shadow:0 10px 26px #0009,inset 0 0 0 4px #d8ad550d;
}
.direction-button { position:absolute; min-height:0; width:32px; height:32px; padding:0; border-radius:50%; font-size:1.15rem; line-height:1; }
.direction-up { top:5px; left:50%; translate:-50% 0; }
.direction-left { top:50%; left:5px; translate:0 -50%; }
.direction-right { top:50%; right:5px; translate:0 -50%; }
.direction-down { bottom:5px; left:50%; translate:-50% 0; }
.direction-center {
  position:absolute;
  top:50%;
  left:50%;
  width:34px;
  height:34px;
  translate:-50% -50%;
  display:grid;
  place-items:center;
  border:1px solid #d8ad5585;
  border-radius:50%;
  color:#e7bd72;
  background:radial-gradient(circle at 42% 35%,#44301b,#0b0906 72%);
  box-shadow:inset 0 0 0 3px #d8ad5512;
}
.direction-center { cursor:pointer; }
.direction-center:hover,.direction-center:focus-visible { border-color:#f5ca78; background:#2a1d0a; box-shadow:0 0 18px #d8ad5540; }
.direction-center span { font:700 0.48rem/1 Georgia,serif; letter-spacing:0.08em; translate:0.04em 0; }
.direction-button:focus-visible,.back-button:focus-visible { outline:3px solid #f5ca78; outline-offset:3px; }
@media(max-width:600px) {
  .nav-control-rail { gap:0.55rem; padding:0.55rem; }
  .control-caption { display:none; }
  .back-button { min-width:82px; }
  .direction-pad { width:98px; height:98px; flex-basis:98px; }
  .direction-button { width:29px; height:29px; }
  .direction-center { width:31px; height:31px; }
}

.v6-badge { padding:9px 14px; border:1px solid #8a652b; border-radius:999px; color:#160f05; background:linear-gradient(145deg,#f0d28c,#b77d2d); box-shadow:0 0 16px #e1b35b3d; font-size:11px; font-weight:900; letter-spacing:.12em; white-space:nowrap; }
.image-stage.walkthrough-advance .scene-image { cursor:pointer; }
.walkthrough-hint { color:#f0d38f; }
@media(max-width:760px) {
  .v6-badge { order:3; width:100%; text-align:center; }
}
/* Reserved routes remain visible in review without pretending to be active. */
.hotspot-layer a[aria-disabled="true"] { cursor:default; }
.hotspot-layer a[aria-disabled="true"] .hotspot-outline { pointer-events:none; }
.show-areas .hotspot-layer a[aria-disabled="true"] .hotspot-outline { stroke-dasharray:4 5; opacity:.55; }
.doorway:disabled { opacity:.5; cursor:not-allowed; }
