/* Local Reveal.js refinements matching the NeutrinoHit dark slide style. */

.reveal .math.display {
  font-size: 0.82em;
}

.reveal #title-slide .title {
  max-width: 1120px;
  white-space: normal;
  line-height: 1.12;
  font-size: 1.72em;
}

.reveal .footer {
  left: 1.1rem !important;
  bottom: 0.92rem !important;
  width: auto !important;
  color: #d0d0d0 !important;
  font-size: 0.42em !important;
  letter-spacing: 0 !important;
}

.reveal .compact li {
  margin: 0.16em 0;
}

.reveal .small {
  font-size: 0.76em;
}

.reveal .tiny {
  font-size: 0.62em;
}

.reveal .muted {
  color: #d0d0d0;
}

.reveal .question {
  color: #8ec5ff;
  font-weight: 700;
}

.reveal .takeaway {
  color: #ffcc8a;
  font-weight: 700;
}

.reveal .toy {
  border-left: 4px solid #ffcc8a;
  padding-left: 0.7em;
  color: #f2f2f2;
}

.reveal .timing {
  display: grid;
  grid-template-columns: 8rem 1fr;
  gap: 0.35rem 1rem;
  align-items: baseline;
  font-size: 0.78em;
}

.reveal .timing .time {
  color: #8ec5ff;
  font-weight: 700;
  white-space: nowrap;
}

.reveal .flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.4rem;
  align-items: stretch;
  font-size: 0.66em;
}

.reveal .flow div {
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 6px;
  padding: 0.55rem 0.6rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.05);
}

.reveal .media-caption {
  margin-top: 0.45em;
  color: #d0d0d0;
  font-size: 0.68em;
}

.reveal .formula-compact {
  font-size: 0.62em;
  line-height: 1.18;
}

.reveal .formula-compact p,
.reveal .formula-compact ul {
  margin-top: 0.2em;
  margin-bottom: 0.38em;
}

.reveal .formula-compact li {
  margin-top: 0.08em;
  margin-bottom: 0.14em;
}

.reveal .formula-compact .MathJax_Display {
  margin: 0.28em 0;
}

.reveal .cycle-map-row {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(9rem, 1fr);
  gap: 0.9rem;
  align-items: center;
}

.reveal .cycle-map-note {
  border-left: 3px solid #8ec5ff;
  padding-left: 0.65rem;
  color: #d0d0d0;
  font-size: 0.58em;
  line-height: 1.28;
}

.reveal .cycle-art {
  width: min(1000px, 100%);
  margin: 0.12rem auto 0;
}

.reveal .cycle-art svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 448px;
}

.reveal .cycle-art text {
  fill: #f4f7fb;
  font-family: inherit;
}

.reveal .cycle-frame {
  fill: #070b10;
  stroke: rgba(255, 255, 255, 0.18);
  stroke-width: 1.5;
}

.reveal .cycle-glow-blue {
  fill: rgba(142, 197, 255, 0.13);
}

.reveal .cycle-glow-gold {
  fill: rgba(255, 204, 138, 0.12);
}

.reveal .cycle-kicker {
  fill: #8ec5ff;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.reveal .cycle-subtitle {
  fill: #cfd7e3;
  font-size: 19px;
}

.reveal .cycle-node {
  stroke: rgba(255, 255, 255, 0.72);
  stroke-width: 2;
}

.reveal .cycle-node.stable {
  fill: #102337;
}

.reveal .cycle-node.beta {
  fill: #3a2230;
}

.reveal .cycle-node.product {
  fill: #173124;
}

.reveal .cycle-node.seed {
  fill: #332a13;
}

.reveal .cycle-branch-panel,
.reveal .cycle-side-panel {
  fill: rgba(255, 255, 255, 0.055);
  stroke: rgba(255, 255, 255, 0.22);
  stroke-width: 1.5;
}

.reveal .cycle-branch-title,
.reveal .cycle-panel-title {
  fill: #8ec5ff;
  font-size: 22px;
  font-weight: 800;
}

.reveal .cycle-reaction {
  fill: #f5f7fb;
  font-size: 22px;
  font-weight: 700;
}

.reveal .cycle-detail {
  fill: #cfd7e3;
  font-size: 16px;
}

.reveal .cycle-badge {
  fill: rgba(255, 204, 138, 0.13);
  stroke: rgba(255, 204, 138, 0.56);
  stroke-width: 1;
}

.reveal .cycle-badge-text {
  fill: #ffcc8a;
  font-size: 16px;
  font-weight: 800;
}

.reveal .cycle-arrow {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4.5;
}

.reveal .cycle-arrow.capture {
  stroke: #8ec5ff;
}

.reveal .cycle-arrow.beta {
  stroke: #ff9f7a;
}

.reveal .cycle-arrow.product {
  stroke: #8fd19e;
}

.reveal .cycle-arrow.rare {
  stroke: #d3a5ff;
}

.reveal .cycle-arrow.faint {
  stroke: rgba(255, 255, 255, 0.28);
  stroke-dasharray: 8 9;
}

.reveal .cycle-label {
  fill: #d9e7f8;
  font-size: 15px;
  font-weight: 700;
}

.reveal .cycle-label.beta-label,
.reveal .cycle-neutrino {
  fill: #ffcc8a;
}

.reveal .cycle-label.product-label {
  fill: #8fd19e;
}

.reveal .cycle-nucleus {
  fill: #ffffff;
  font-size: 23px;
  font-weight: 800;
  text-anchor: middle;
  dominant-baseline: central;
}

.reveal .cycle-sup {
  font-size: 65%;
}

.reveal .cycle-note {
  fill: #d2d9e4;
  font-size: 17px;
}

.reveal .gamow-applet {
  width: min(1080px, 100%);
  margin: 0 auto;
}

.reveal .gamow-controls {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.reveal .gamow-controls button {
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 6px;
  padding: 0.34rem 0.72rem;
  background: rgba(255, 255, 255, 0.06);
  color: #f0f0f0;
  font: inherit;
  font-size: 0.5em;
  cursor: pointer;
}

.reveal .gamow-controls button.active,
.reveal .gamow-controls button:hover {
  background: rgba(142, 197, 255, 0.22);
  border-color: #8ec5ff;
}

.reveal .gamow-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(13rem, 1fr);
  gap: 0.8rem;
  align-items: stretch;
}

.reveal .gamow-plot {
  width: 100%;
  height: auto;
  min-height: 330px;
}

.reveal .gamow-plot .plot-bg {
  fill: #111111;
  stroke: #666666;
  stroke-width: 1;
}

.reveal .gamow-plot .grid line {
  stroke: rgba(255, 255, 255, 0.18);
  stroke-width: 1;
}

.reveal .gamow-plot path {
  fill: none;
  stroke-width: 3.2;
}

.reveal .gamow-plot .thermal {
  stroke: #8ec5ff;
}

.reveal .gamow-plot .tunnel {
  stroke: #ffcc8a;
}

.reveal .gamow-plot .window {
  stroke: #8fd19e;
  stroke-width: 4;
}

.reveal .gamow-plot .peak-line {
  stroke: #8fd19e;
  stroke-width: 2;
  stroke-dasharray: 6 6;
}

.reveal .gamow-plot text {
  fill: #d8d8d8;
  font-size: 18px;
}

.reveal .gamow-plot .legend {
  font-size: 18px;
  font-weight: 700;
}

.reveal .gamow-plot .thermal-label {
  fill: #8ec5ff;
}

.reveal .gamow-plot .tunnel-label {
  fill: #ffcc8a;
}

.reveal .gamow-plot .window-label {
  fill: #8fd19e;
}

.reveal .gamow-readout {
  border-left: 3px solid #8ec5ff;
  padding: 0.45rem 0 0.45rem 0.75rem;
  font-size: 0.58em;
  line-height: 1.34;
  color: #f0f0f0;
}

.reveal .reaction-name {
  color: #8ec5ff;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.reveal .reaction-formula {
  color: #ffcc8a;
  font-weight: 700;
  margin-bottom: 0.55rem;
}

.reveal .reaction-values {
  margin-bottom: 0.55rem;
}

.reveal .reaction-note {
  color: #d0d0d0;
}

.reveal .gamow-assumption {
  margin-top: 0.75rem;
  padding-top: 0.62rem;
  border-top: 1px solid rgba(142, 197, 255, 0.28);
  color: #bac6d4;
  font-size: 0.78em;
  line-height: 1.28;
}

.reveal pre code {
  max-height: 500px;
}

.reveal table {
  font-size: 0.62em;
}

.reveal .columns {
  gap: 1.3rem;
}

@media (max-width: 720px) {
  .reveal .footer {
    display: none;
  }

  .reveal .gamow-layout {
    grid-template-columns: 1fr;
  }
}
