/* ============================================================
   neurones.css — Spécifique réseau de neurones
   ============================================================ */

:root {
  --nn-node-in: #0ea5e9;
  --nn-node-hid: #8b5cf6;
  --nn-node-out: #10b981;
  --nn-active: #fbbf24;
}

/* ── SVG ── */
.nn-svg {
  width: 100%;
  height: 360px;
  overflow: visible;
}
.nn-svg--live {
  height: 100%;
  min-height: 400px;
}

/* ── Décoration section 0 ── */
.nn-deco-panel {
  flex: 0 0 400px;
  max-width: 400px;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nn-building-anim svg {
  width: 100%;
  height: auto;
}

/* ── Démo live ── */
.nn-demo-controls {
  flex: 0 0 360px;
  max-width: 360px;
}

.nn-demo-viz {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.nn-epoch-counter {
  font-family: var(--nn-font-mono);
  font-size: 0.8rem;
  color: var(--nn-muted);
  margin-top: 10px;
}
.nn-epoch-counter strong {
  color: var(--nn-text);
}

/* ── Prediction box ── */
.nn-pred-real {
  color: var(--nn-node-out);
  font-family: var(--ss-font-mono);
  font-size: 1rem;
}
.nn-pred-guess {
  color: var(--ss-danger);
  font-family: var(--ss-font-mono);
  font-size: 1rem;
}
.nn-pred-error {
  color: var(--nn-active);
  font-family: var(--ss-font-mono);
  font-size: 0.9rem;
}

/* ── Legend ── */
.nn-legend-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  vertical-align: middle;
}
.nn-legend-dot--pos {
  background: var(--ss-accent);
}
.nn-legend-dot--neg {
  background: var(--ss-danger);
}

@media (max-width: 900px) {
  .nn-deco-panel {
    display: none;
  }
}
