.number-cast-host[hidden], .number-cast-stage[hidden] { display: none !important; }
.number-cast-host { margin: .75rem 0 1rem; }
.number-cast-stage {
  background: var(--surface, #f7faf8);
  border: 1px solid var(--line, #bfd0cc);
  border-radius: 1rem;
  display: grid;
  gap: .8rem;
  padding: 1rem;
}
.number-cast-stage header strong { color: var(--ink, #112b2f); font-size: 1.05rem; }
.number-cast-summary { color: var(--muted, #607579); margin: 0; }
.number-cast-inputs { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.number-cast-inputs label { color: var(--muted, #607579); display: grid; font-weight: 700; gap: .35rem; }
.number-cast-inputs input {
  background: var(--paper, #fff);
  border: 1px solid var(--line, #bfd0cc);
  border-radius: .75rem;
  color: var(--ink, #112b2f);
  font: inherit;
  min-height: 2.9rem;
  padding: .65rem .8rem;
  width: 100%;
}
.number-cast-submit {
  background: var(--ink, #112b2f);
  border: 0;
  border-radius: .75rem;
  color: #fff;
  font: inherit;
  font-weight: 800;
  min-height: 3rem;
}
.number-cast-submit:disabled { cursor: wait; opacity: .65; }
.number-cast-error { color: #ad3932; margin: 0; min-height: 1.2em; }
@media (max-width: 520px) {
  .number-cast-host { margin: .55rem 0 .75rem; }
  .number-cast-stage { gap: .65rem; padding: .8rem; }
  .number-cast-inputs { grid-template-columns: 1fr 1fr; }
}
