:root {
  --rlvr-title-bg: #f5f6f7;
  --rlvr-title-fg: #1f2328;
  --rlvr-widget-bg: #f8fafc;
  --rlvr-widget-border: #d0d7de;
  --rlvr-detail-fg: #374151;
}

html[data-bs-theme="dark"],
body.quarto-dark {
  --rlvr-title-bg: #111827;
  --rlvr-title-fg: #f9fafb;
  --rlvr-widget-bg: #0f172a;
  --rlvr-widget-border: #334155;
  --rlvr-detail-fg: #cbd5e1;
}

body {
  line-height: 1.65;
}

.sidebar-item-text {
  font-weight: 500;
}

.quarto-title-banner {
  background: var(--rlvr-title-bg);
  color: var(--rlvr-title-fg);
}

.rlvr-stack-widget {
  margin: 1rem 0 1.4rem;
  border: 1px solid var(--rlvr-widget-border);
  border-radius: 12px;
  background: var(--rlvr-widget-bg);
  padding: 1rem;
}

.rlvr-stack-widget svg {
  width: 100%;
  height: auto;
  display: block;
}

.stack-layer {
  cursor: pointer;
}

.stack-layer rect {
  opacity: 0.72;
  transform-origin: center;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.stack-layer:hover rect,
.stack-layer.is-active rect {
  opacity: 1;
  transform: translateY(-1px);
}

.stack-layer text {
  pointer-events: none;
}

.rlvr-stack-detail {
  margin: 0.85rem 0 0;
  font-size: 0.95rem;
  color: var(--rlvr-detail-fg);
}
