.projector-throw-calculator-page .projector-input-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.projector-throw-calculator-page .tool-controls input[type="number"] {
  width: 100%;
  min-height: 3.25rem;
  padding-block: .82rem;
  padding-inline: .85rem;
  border: var(--line) solid var(--control-border);
  border-radius: var(--radius-md);
  background: var(--inset-surface);
  color: var(--text-body);
  box-shadow: var(--inset-control-shadow);
  font-family: var(--font-plain);
  font-size: .95rem;
  font-weight: 650;
}

.projector-throw-calculator-page .tool-controls input[type="number"]:focus {
  border-color: var(--input-focus);
}

.projector-throw-calculator-page .mode-switch button {
  padding-inline: .35rem;
  line-height: 1.15;
}

.projector-throw-calculator-page .canvas-bench {
  align-self: start;
  align-content: start;
}

.projector-throw-calculator-page .canvas-bench .device-stage {
  align-items: stretch;
  justify-items: stretch;
  min-height: auto;
}

.projector-throw-calculator-page .projector-result-card {
  display: grid;
  gap: var(--space-3);
  width: 100%;
  padding: var(--space-3);
  border: var(--line) solid var(--input-border);
  border-radius: var(--radius-lg);
  background: var(--form-bg);
  box-shadow: var(--inset-highlight);
}

.projector-throw-calculator-page .projector-output {
  width: 100%;
  min-height: 4.25rem;
  padding: var(--space-3);
  border: var(--line) solid var(--input-border);
  border-radius: var(--radius-md);
  background: var(--surface-stronger);
  color: var(--text-brand);
  box-shadow: var(--inset-highlight);
  font-family: var(--font-mono);
  font-size: clamp(1.05rem, 2.5vw, 1.55rem);
  font-weight: 800;
}

.projector-throw-calculator-page .projector-output::placeholder {
  color: var(--text-soft);
}

.projector-throw-calculator-page .projector-clipboard-fallback {
  position: fixed;
  top: -999px;
}

@media (max-width: 680px) {
  .projector-throw-calculator-page .projector-input-grid {
    grid-template-columns: 1fr;
  }
}
