/**
 * @file
 * Elliptic-curve point-addition visualiser (Cryptography → elliptic-curves).
 */
.wl-edu-ecc {
  margin: 1.5rem 0;
  padding: 1.25rem;
  background: var(--color-bg-surface, #0b1020);
  border: 1px solid var(--color-border-subtle, rgba(255, 255, 255, 0.1));
  border-radius: var(--radius-lg, 12px);
}
.wl-edu-ecc__canvas {
  display: block;
  width: 100%;
  height: auto;
  max-width: 640px;
  margin: 0 auto;
  background: rgba(0, 0, 0, 0.25);
  border-radius: var(--radius-md, 8px);
}
.wl-edu-ecc__controls {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 0.9rem;
}
.wl-edu-ecc__btn {
  padding: 0.55rem 1rem;
  border: 0;
  border-radius: var(--radius-md, 8px);
  background: var(--color-accent-primary, #003bff);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease, opacity 0.15s ease;
}
.wl-edu-ecc__btn:hover { background: var(--color-accent-hover, #194eff); }
.wl-edu-ecc__btn:disabled { opacity: 0.55; cursor: default; }
.wl-edu-ecc__btn--ghost {
  background: transparent;
  border: 1px solid var(--color-border-subtle, rgba(255, 255, 255, 0.15));
  color: var(--color-text-secondary, rgba(255, 255, 255, 0.7));
}
.wl-edu-ecc__btn--ghost:hover { background: rgba(255, 255, 255, 0.06); }
.wl-edu-ecc__state {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 0.9rem;
  font-weight: 700;
  color: #f5c518;
  margin-left: auto;
}
