/*
  Deck-specific addition on top of ../../theme/slides-theme.css: the
  token-demo probability-bar widget, used only by this deck's next-token
  prediction/temperature/top-k slides.
*/

/* ---- token-demo: next-token candidates as probability bars ---- */
.reveal .token-demo { margin-top: 0.6em; }
.reveal .td-prompt {
  font-family: var(--mono);
  color: var(--ink-dim);
  font-size: 0.65em;
  margin-bottom: 0.5em;
}
.reveal .td-bars { display: flex; flex-direction: column; gap: 0.28em; }
.reveal .td-bar {
  display: grid;
  grid-template-columns: 5.5em 1fr 3em;
  align-items: center;
  gap: 0.6em;
  font-size: 0.6em;
}
.reveal .td-word { font-family: var(--mono); color: var(--ink); text-align: right; }
.reveal .td-track {
  background: rgba(255,255,255,0.06);
  border-radius: 2px;
  height: 0.65em;
  overflow: hidden;
}
.reveal .td-fill { display: block; height: 100%; background: var(--accent); border-radius: 2px; }
.reveal .td-pct { font-family: var(--mono); color: var(--ink-dim); font-variant-numeric: tabular-nums; }
.reveal .td-bar.excluded .td-fill { background: var(--rule); }
.reveal .td-bar.excluded .td-word, .reveal .td-bar.excluded .td-pct { color: var(--ink-dim); opacity: 0.45; }
.reveal .td-cutoff {
  border-top: 1px dashed var(--rule);
  margin: 0.25em 0;
  padding-top: 0.3em;
  font-family: var(--mono);
  font-size: 0.52em;
  color: var(--accent);
  text-align: center;
}
.reveal .td-pair { display: flex; gap: 1.5em; margin-top: 0.4em; }
.reveal .td-panel { flex: 1; }
.reveal .td-panel h4 {
  font-family: var(--mono);
  font-size: 0.65em;
  color: var(--ink-dim);
  margin: 0 0 0.4em 0;
  text-align: center;
  font-weight: 500;
}
