.generator-submit-copy { min-width: 0; }
.generator-submit-action { display: flex; flex-direction: column; align-items: stretch; gap: 10px; min-width: 250px; }
.generation-status { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--accent); font-size: 12px; line-height: 1.5; text-align: center; }
.generation-spinner { width: 14px; height: 14px; border: 2px solid var(--accent-soft); border-top-color: var(--accent); border-radius: 50%; animation: generation-spin .8s linear infinite; flex-shrink: 0; }
@keyframes generation-spin { to { transform: rotate(360deg); } }
.generator-form.is-generating .generator-submit { background: var(--accent-tint); }
.generator-form.is-generating .generator-submit-copy strong { color: var(--accent); }

@media (max-width: 1050px) {
  .generator-submit-action { min-width: 220px; }
}

@media (max-width: 720px) {
  .generator-submit { align-items: stretch; }
  .generator-submit-action { min-width: 0; width: 100%; }
}
.generation-panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 56px 40px; text-align: center; }
.generation-panel h1 { font-size: 24px; margin-bottom: 10px; }
.generation-panel .muted { font-size: 14px; }
.generation-panel.is-failed .generation-icon { background: var(--danger-soft); color: var(--danger); font-weight: 700; font-size: 26px; }
.generation-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 14px; background: var(--accent-soft); color: var(--accent); margin: 0 auto 20px; }
.generation-spinner.large { width: 26px; height: 26px; border-width: 3px; }
.generation-hint { font-size: 12px; color: var(--muted); margin-top: 14px; }
.generation-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.generation-actions form { margin: 0; }
.generation-brief { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); text-align: left; }
.generation-brief dt { font-size: 12px; color: var(--muted); }
.generation-brief dd { font-size: 13px; font-weight: 600; margin-top: 4px; }

