/* =========================================================
   chrome.css — top bar (brand + controls), side rail, footer
   All chrome elements live INSIDE the canvas now (position:
   absolute inside #canvas) so they scale with the canvas
   rather than with the viewport.
   ========================================================= */

/* =========================================================
   SIDE RAIL — orbital navigation (right edge of canvas)
   ========================================================= */
.rail {
  position: absolute;
  top: 0; right: 0;
  height: 1080px;
  width: 80px;
  z-index: 200;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  opacity: 0;
  transition: opacity 1.2s var(--ease) 0.5s;
}
.rail.active { opacity: 1; }
.rail::before {
  content: "";
  position: absolute;
  top: 10%; bottom: 10%;
  left: 50%;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--rule) 20%, var(--rule) 80%, transparent);
}

.rail-item {
  position: relative;
  width: 48px; height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  color: var(--bone-muted);
  transition: color 0.4s var(--ease);
  z-index: 2;
  background: var(--void);
}
.rail-item::before {
  content: "";
  position: absolute;
  width: 6px; height: 6px;
  border: 1px solid currentColor;
  border-radius: 50%;
  transition: all 0.4s var(--ease);
}
.rail-item.active { color: var(--ember); }
.rail-item.active::before {
  background: var(--ember);
  box-shadow: 0 0 20px var(--ember);
  width: 8px; height: 8px;
}
.rail-item:hover { color: var(--bone); }
.rail-label {
  position: absolute;
  right: 60px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--bone-dim);
  white-space: nowrap;
  opacity: 0;
  transform: translateX(10px);
  transition: all 0.4s var(--ease);
  pointer-events: none;
}
.rail-item:hover .rail-label,
.rail-item.active .rail-label {
  opacity: 1; transform: translateX(0);
}


/* =========================================================
   TOP BAR — brand + controls (top edge of canvas)
   ========================================================= */
.topbar {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 200;
  padding: 28px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  opacity: 0;
  transition: opacity 1.2s var(--ease) 0.3s;
  pointer-events: none;
}
.topbar.active { opacity: 1; pointer-events: auto; }

.brand {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 16px 8px 8px;
  position: relative;
  transition: all 0.3s var(--ease);
}
.brand::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(6,5,4,0.6) 0%, rgba(6,5,4,0.2) 70%, transparent 100%);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.4s var(--ease);
}
.nav.scrolled .brand::before,
.topbar .brand:hover::before { opacity: 1; }

.brand-logo {
  width: 52px; height: 52px;
  position: relative;
  flex-shrink: 0;
  filter: drop-shadow(0 0 12px rgba(232,180,117,0.35));
}
.brand-logo svg { width: 100%; height: 100%; }
.brand-logo svg .logo-ring { animation: logoRingSpin 20s linear infinite; transform-origin: center; }
@keyframes logoRingSpin { to { transform: rotate(360deg); } }

.brand-type {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.brand-name {
  font-family: var(--display);
  font-size: 17px;
  letter-spacing: 0.22em;
  font-weight: 800;
  color: #ffffff;
  text-shadow: 0 0 20px rgba(232,180,117,0.3);
}
.brand-sub {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ember);
  margin-top: 7px;
  font-weight: 700;
}

.topbar-right {
  display: flex;
  gap: 18px;
  align-items: center;
}
.topbar-btn {
  padding: 8px 14px;
  border: 1px solid var(--rule);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bone-dim);
  transition: all 0.3s var(--ease);
  display: flex;
  align-items: center;
  gap: 8px;
}
.topbar-btn:hover { border-color: var(--ember); color: var(--ember); }
.topbar-btn .ind {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--bone-muted);
  transition: background 0.3s var(--ease);
}
.topbar-btn.on .ind { background: var(--ember); box-shadow: 0 0 10px var(--ember); }


/* =========================================================
   FOOTER — bottom strip (bottom edge of canvas, left of rail)
   ========================================================= */
.reel-strip {
  position: absolute;
  bottom: 0; left: 0; right: 80px;
  z-index: 199;
  padding: 14px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bone-muted);
  background: linear-gradient(180deg, transparent, var(--void) 80%);
  opacity: 0;
  transition: opacity 1s var(--ease) 0.5s;
  pointer-events: none;
}
.reel-strip.active { opacity: 1; }
.reel-strip .rec {
  display: flex; align-items: center; gap: 10px;
}
.reel-strip .rec-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--oxblood-lit);
  box-shadow: 0 0 10px var(--oxblood-lit);
  animation: recPulse 1.6s ease-in-out infinite;
}
@keyframes recPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
.reel-strip .timecode {
  font-variant-numeric: tabular-nums;
  color: var(--bone-dim);
}
