/* Mario's canvas sits over the movie. The room still owns pointer hit testing. */
#rail-mario[hidden],
#mario-cinema [hidden] { display: none; }

#mario-cinema {
  position: fixed;
  /* Keep Mario buttons reachable when the Cinema rail wakes under them. */
  z-index: 33;
  inset: auto 0 0;
  pointer-events: none;
}

.mario-cinema-view { position: relative; height: 54vh; overflow: hidden; }
.mario-cinema-view iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  /* Match the frame document so its canvas stays transparent. */
  color-scheme: dark;
}

/* A compact control shelf keeps labels readable over both film and terrain. */
.mario-cinema-controls {
  position: absolute;
  inset: auto 12px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #fff4dc;
  font: 14px/1.3 'Atkinson Hyperlegible', system-ui, sans-serif;
}
.mario-cinema-party,
.mario-cinema-chat-actions,
.mario-cinema-controls > [data-mario-close] {
  background: #181510;
  border: 1px solid #605548;
  border-radius: 3px;
  box-shadow: 0 2px 8px #0006;
}
.mario-cinema-party, .mario-cinema-chat-actions {
  display: flex; align-items: center; gap: 4px; padding: 4px;
}
.mario-cinema-party { flex-wrap: wrap; justify-content: center; }
.mario-cinema-controls button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  pointer-events: auto;
}
.mario-cinema-controls [data-mario-close] { min-height: 46px; }
.mario-cinema-controls [data-mario-focus] { font-weight: 700; }
.mario-cinema-controls [data-mario-level] { color: #e8bf88; }
.mario-cinema-controls [data-mario-status] { padding: 0 8px; font-size: 12px; color: #d1c4b1; }
.mario-cinema-controls [data-mario-status]:empty { display: none; }
.mario-cinema-controls [data-mario-action="ready"],
.mario-cinema-controls [data-mario-action="continue"] { border-color: #605548; }
.mario-cinema-controls [data-mario-action="start"]:not(:disabled) {
  background: #e8bf88; color: #181510; border-color: #e8bf88; font-weight: 700;
}
.mario-cinema-controls button:disabled { cursor: default; color: #b4aa9a; }
.mario-cinema-controls button:not(:disabled):is(:hover, [aria-pressed="true"]) {
  background: #393025; border-color: #a78c68;
}
.mario-cinema-controls button:focus-visible { outline: 2px solid #e8bf88; outline-offset: 2px; }
.mario-cinema-controls kbd { color: #d1c4b1; font: inherit; font-size: 11px; margin-left: 4px; }
.mario-cinema-controls > [data-mario-return-hint] {
  position: absolute; bottom: 100%; left: 0; margin-bottom: 8px;
  padding: 6px 10px; background: #181510; border: 1px solid #605548; border-radius: 2px;
  font-size: 12px;
}
@media (max-width: 1100px) {
  /* Reserve the second control row instead of covering the characters. */
  #mario-cinema { padding-bottom: 52px; }
  .mario-cinema-view { height: calc(54vh - 52px); }
  .mario-cinema-controls { flex-wrap: wrap; }
  .mario-cinema-party { order: -1; flex: 1 0 100%; }
  .mario-cinema-controls > [data-mario-return-hint] { left: auto; right: 0; }
}

.mario-cinema-chat {
  position: absolute;
  left: 50%;
  bottom: 68px;
  transform: translateX(-50%);
  width: min(440px, 70vw);
  color: #fff4dc;
  font: 600 14px/1.45 system-ui, sans-serif;
}
.mario-cinema-chat [role="log"] {
  max-height: 100px;
  overflow: auto;
  overflow-wrap: anywhere;
  background: #181510; padding: 8px 12px; border: 1px solid #605548; border-bottom: 0; pointer-events: auto;
}
.mario-cinema-chat [role="log"]:empty { display: none; }
.mario-cinema-chat strong { color: #ffdc9f; }
.mario-cinema-chat input {
  width: 100%;
  min-height: 44px;
  padding: 8px 12px;
  background: #181510;
  color: inherit;
  border: 1px solid #e8bf88;
  border-radius: 2px;
  pointer-events: auto;
}
.mario-cinema-controls [data-mario-chat][data-unread]::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 5px;
  background: #68e492;
  border-radius: 50%;
}

@media (max-width: 1100px) { .mario-cinema-chat { bottom: 124px; } }
