/* Cabernet DSA demos — self-contained, Pagefind-ignored mounts */
.dsa-demo {
  margin: 1.25rem 0 1.75rem;
  padding: 0.85rem 1rem 1rem;
  border: 1px solid color-mix(in srgb, var(--red-primary, #7a2438) 28%, var(--border, #e8d5d9));
  border-radius: 14px;
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--red-primary, #7a2438) 8%, var(--bg-elevated, #fff)), var(--bg-elevated, #fff) 55%);
  box-shadow: var(--shadow, 0 10px 30px rgba(60, 12, 24, 0.08));
}
html.dark .dsa-demo {
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--red-highlight, #b46c78) 12%, var(--bg-elevated, #1a1014)), var(--bg-elevated, #1a1014) 60%);
  border-color: color-mix(in srgb, var(--red-highlight, #b46c78) 35%, var(--border, #4a3038));
}
.dsa-demo__title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 0.75rem;
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
  font-weight: 650;
  color: var(--text, #1a1214);
}
.dsa-demo__hint {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--text-muted, #6b555a);
}
.dsa-demo__stage {
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  background: color-mix(in srgb, var(--red-deeper, #14080c) 4%, var(--bg-muted, #f5ebed));
  border: 1px solid color-mix(in srgb, var(--red-primary, #7a2438) 14%, transparent);
}
html.dark .dsa-demo__stage {
  background: color-mix(in srgb, var(--red-deeper, #14080c) 55%, var(--bg-muted, #24161c));
}
.dsa-demo__stage svg {
  display: block;
  width: 100%;
  height: auto;
}
.dsa-demo__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.7rem;
}
.dsa-demo__controls button {
  appearance: none;
  border: 1px solid color-mix(in srgb, var(--red-primary, #7a2438) 35%, var(--border, #e8d5d9));
  background: color-mix(in srgb, var(--red-primary, #7a2438) 10%, var(--bg-elevated, #fff));
  color: var(--red-mid, #8b3040);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  cursor: pointer;
}
.dsa-demo__controls button:hover {
  color: var(--text, #1a1214);
  border-color: color-mix(in srgb, var(--red-primary, #7a2438) 55%, transparent);
}
.dsa-demo__controls button:focus-visible {
  outline: 2px solid var(--focus-ring, #7a2438);
  outline-offset: 2px;
}
html.dark .dsa-demo__controls button {
  color: var(--red-soft, #c8909a);
  background: color-mix(in srgb, var(--bg-elevated, #1a1014) 70%, #2a141c);
  border-color: color-mix(in srgb, var(--red-highlight, #b46c78) 40%, var(--border, #4a3038));
}
.dsa-demo__status {
  margin: 0.55rem 0 0;
  min-height: 1.4em;
  font-size: 0.84rem;
  color: var(--text-muted, #6b555a);
  font-family: var(--font-mono, ui-monospace, monospace);
}
