/* ── Music Braille Panel ─────────────────────────────────
   Tab chrome is handled by .abc-tabs in abc-player.css.
   This file styles only the dark output area and its text.
   CSS custom properties allow the site theme to override.
   ──────────────────────────────────────────────────────── */

:root {
  --braille-bg:          #1c1c1e;
  --braille-border:      #3a3a3c;
  --braille-ascii-color: #e8e4d8;
  --braille-dots-color:  #93c5fd;
}

/* ── Dark output area (inside each braille tab panel) ── */
.braille-output {
  background: var(--braille-bg);
  border: 1.5px solid var(--braille-border);
  border-radius: 6px;
  overflow: hidden;
  padding: 0.85rem 1.25rem;
  margin-top: 0.75rem;
}

/* Reset global pre styles that may bleed in */
.braille-output pre {
  background: transparent;
  padding: 0;
  border-radius: 0;
  overflow-x: visible;
  margin: 0;
  font-family: "Menlo", "Consolas", "Courier New", monospace;
  white-space: pre-wrap;
  word-break: break-all;
}

.braille-output pre.ascii-out {
  font-size: 1.1rem;
  letter-spacing: 0.12em;
  color: var(--braille-ascii-color);
  line-height: 2;
}

.braille-output pre.dots-out {
  font-size: 2rem;
  letter-spacing: 0.06em;
  color: var(--braille-dots-color);
  line-height: 1.5;
}

/* ── High-contrast overrides ── */
[data-contrast="high"] {
  --braille-bg:          #000000;
  --braille-border:      #767676;
  --braille-ascii-color: #ffffff;
  --braille-dots-color:  #60a5fa;
}

@media (prefers-contrast: more) {
  :root:not([data-contrast]) {
    --braille-bg:          #000000;
    --braille-border:      #767676;
    --braille-ascii-color: #ffffff;
    --braille-dots-color:  #60a5fa;
  }
}

/* ── Error state ── */
.braille-error {
  background: #fdf0ee;
  border: 1px solid #e8a09a;
  border-radius: 6px;
  color: #c0392b;
  font-size: 0.9rem;
  margin-top: 0.75rem;
  padding: 0.6rem 1rem;
}
