/* Scene panel, inventory, act replay, save panel, tooltips */

/* ── Scene panel — tertiary weight (location, actors, objects) ── */
.scene-panel { border: 1px solid color-mix(in srgb, var(--border-color) 60%, transparent); background: color-mix(in srgb, var(--panel-bg) 50%, transparent); font-size: 0.75rem; }
.scene-panel-header { padding: 0.45rem 1rem; border-bottom: 1px solid color-mix(in srgb, var(--border-color) 50%, transparent); display: flex; justify-content: space-between; align-items: center; }
.scene-panel-header h3 { font-family: 'Cinzel', 'Palatino Linotype', serif; font-size: 0.65rem; font-weight: 400; letter-spacing: 0.12em; color: var(--text-muted); }
.scene-toggle-btn { background: transparent; border: 1px solid var(--border-color); color: var(--text-muted); padding: 0.18rem 0.45rem; cursor: pointer; font-family: 'Cinzel', serif; font-size: 0.58rem; letter-spacing: 0.1em; }
.scene-toggle-btn:hover { color: var(--text-mid); border-color: var(--text-dim); }
.scene-panel-body { padding: 0.75rem 1rem; }
.scene-description { font-family: 'Lora', Georgia, serif; font-style: italic; color: var(--text-dim); font-size: 0.72rem; line-height: 1.5; margin-bottom: 0.75rem; border-bottom: 1px solid var(--border-subtle); padding-bottom: 0.5rem; }
/* Inventory panel — secondary weight (reuses scene-panel, override via parent) */
#inventory-panel .scene-panel { border: 1px solid var(--border-color); background: var(--panel-bg); font-size: 0.78rem; }
#inventory-panel .scene-panel-header { background: var(--panel-header); border-bottom: 1px solid var(--border-color); padding: 0.5rem 1rem; }
#inventory-panel .scene-panel-header h3 { font-size: 0.68rem; color: var(--theme-accent); opacity: 0.7; }

.scene-section-label { font-family: 'Cinzel', serif; color: var(--text-dim); font-size: 0.55rem; text-transform: uppercase; letter-spacing: 0.2em; margin: 0.6rem 0 0.2rem; }
.actor-item, .object-item, .exit-item { padding: 0.22rem 0; color: var(--text-mid); }
.actor-name, .object-name { color: var(--text-bright); }
.status-badge { display: inline-block; background: var(--panel-header); border: 1px solid var(--border-color); color: var(--text-muted); padding: 0 0.3rem; font-size: 0.65rem; margin-left: 0.3rem; font-family: 'Cinzel', serif; letter-spacing: 0.08em; max-width: 14em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; cursor: default; }
.exit-label { color: #6a8a78; cursor: pointer; }
.exit-label:hover { color: #8abaa0; }
.exit-arena { color: #b8a850; cursor: pointer; }
.exit-arena:hover { color: #d8c870; }
.scene-empty { font-family: 'Lora', Georgia, serif; font-style: italic; color: var(--text-dim); }

/* Hover tooltips */
.actor-item, .object-item, .scene-description { position: relative; }
.scene-description[data-tooltip] { cursor: help; }
.actor-item[data-tooltip]:hover::after,
.object-item[data-tooltip]:hover::after,
.scene-description[data-tooltip]:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 10;
  background: var(--panel-bg);
  border: 1px solid var(--border-color);
  color: var(--text-mid);
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 0.72rem;
  line-height: 1.5;
  padding: 0.35rem 0.5rem;
  white-space: normal;
  width: 220px;
  pointer-events: none;
}

/* Act replay panel */
.act-replay-panel { border: 1px solid color-mix(in srgb, var(--border-color) 60%, transparent); background: color-mix(in srgb, var(--panel-bg) 50%, transparent); padding: 0.65rem 1rem; font-size: 0.75rem; }
.act-replay-header { font-family: 'Cinzel', serif; font-size: 0.58rem; letter-spacing: 0.18em; color: var(--text-muted); text-transform: uppercase; margin-bottom: 0.5rem; }
.act-replay-row { display: flex; align-items: center; justify-content: space-between; padding: 0.2rem 0; }
.act-replay-label { color: var(--text-mid); font-family: 'Lora', Georgia, serif; font-size: 0.78rem; }
.act-replay-label.active { color: var(--theme-accent); }

/* Shared replay/action button — used by act replay and save panel */
.replay-btn { background: transparent; border: 1px solid var(--border-color); color: var(--text-muted); padding: 0.1rem 0.4rem; cursor: pointer; font-family: 'Cinzel', serif; font-size: 0.65rem; line-height: 1.4; }
.replay-btn:hover { color: var(--theme-accent); border-color: var(--text-dim); }

/* Save panel */
.save-panel { border: 1px solid color-mix(in srgb, var(--border-color) 60%, transparent); background: color-mix(in srgb, var(--panel-bg) 50%, transparent); padding: 0.65rem 1rem; font-size: 0.75rem; }
.save-panel-header { font-family: 'Cinzel', serif; font-size: 0.58rem; letter-spacing: 0.18em; color: var(--text-muted); text-transform: uppercase; margin-bottom: 0.5rem; display: flex; justify-content: space-between; align-items: center; }
.save-row { display: flex; align-items: center; justify-content: space-between; padding: 0.2rem 0; }
.save-label { color: var(--text-mid); font-family: 'Lora', Georgia, serif; font-size: 0.72rem; }
.save-meta { color: var(--text-muted); font-family: 'Lora', Georgia, serif; font-size: 0.65rem; font-style: italic; }

/* Quest panel — secondary weight (matches inventory) */
.quest-panel-section { border: 1px solid var(--border-color); background: var(--panel-bg); font-size: 0.78rem; }
.quest-panel-section .panel-section-header { padding: 0.5rem 1rem; border-bottom: 1px solid var(--border-color); background: var(--panel-header); }
.quest-panel-section .panel-section-header h3 { font-family: 'Cinzel', 'Palatino Linotype', serif; font-size: 0.68rem; font-weight: 400; letter-spacing: 0.12em; color: var(--theme-accent); opacity: 0.7; }
.quest-panel-section .panel-section-body { padding: 0.65rem 1rem; }
.quest-title { font-family: 'Cinzel', serif; font-size: 0.75rem; color: var(--theme-accent); letter-spacing: 0.08em; margin-bottom: 0.25rem; }
.quest-description { font-family: 'Lora', Georgia, serif; font-style: italic; color: var(--text-muted); font-size: 0.72rem; line-height: 1.5; margin-bottom: 0.4rem; }
.quest-objective { font-family: 'Lora', Georgia, serif; font-size: 0.72rem; color: var(--text-mid); line-height: 1.5; margin-bottom: 0.5rem; }
.quest-objective-label { font-family: 'Cinzel', serif; font-size: 0.55rem; letter-spacing: 0.15em; color: var(--text-dim); text-transform: uppercase; }
.quest-abandon-btn { background: transparent; border: 1px solid color-mix(in srgb, var(--border-color) 70%, transparent); color: var(--text-dim); padding: 0.15rem 0.5rem; cursor: pointer; font-family: 'Cinzel', serif; font-size: 0.55rem; letter-spacing: 0.1em; }
.quest-abandon-btn:hover { color: #c84040; border-color: #903030; }

/* Quest offer (in action area) */
.quest-offer { padding: 0.6rem 0.75rem; }
.quest-offer-pitch { font-family: 'Lora', Georgia, serif; font-style: italic; color: var(--text-mid); font-size: 0.88rem; line-height: 1.6; margin-bottom: 0.6rem; }
.quest-offer-actions { display: flex; gap: 0.6rem; }
.btn-accept { background: transparent; border: 1px solid var(--theme-accent); color: var(--theme-accent); padding: 0.3rem 1rem; cursor: pointer; font-family: 'Cinzel', serif; font-size: 0.72rem; letter-spacing: 0.1em; }
.btn-accept:hover { background: color-mix(in srgb, var(--theme-accent) 15%, transparent); }
.btn-decline { background: transparent; border: 1px solid var(--border-color); color: var(--text-muted); padding: 0.3rem 1rem; cursor: pointer; font-family: 'Cinzel', serif; font-size: 0.72rem; letter-spacing: 0.1em; }
.btn-decline:hover { color: var(--text-mid); border-color: var(--text-dim); }

/* ── Legal links at bottom of sidebar ── */
.panel-legal {
  padding: 1.2rem 1rem 0.8rem;
  text-align: center;
  font-family: 'Lora', Georgia, serif;
  font-style: italic;
  font-size: 0.6rem;
  letter-spacing: 0.06em;
}
.panel-legal a {
  color: var(--theme-text);
  text-decoration: none;
  opacity: 0.35;
  transition: opacity 0.3s ease;
}
.panel-legal a:hover { opacity: 0.7; }
.panel-legal span {
  margin: 0 0.4em;
  color: var(--theme-text);
  opacity: 0.2;
}
