.processing-dialog {
  position: fixed; inset: 0; margin: auto; box-sizing: border-box;
  width: min(25rem, calc(100% - 2rem)); height: fit-content;
  max-height: calc(100% - 2rem); max-height: calc(100dvh - 2rem); overflow: auto;
  padding: 0; border: 1px solid #d0e0db; border-radius: 1.35rem;
  background: #f9fcf9; color: #143936; box-shadow: 0 1.5rem 5rem #082f3652;
}
.processing-dialog::backdrop { background: rgb(8 32 34 / 50%); }
.processing-body { padding: clamp(1.1rem, 5vw, 1.6rem); }
.processing-heading,.processing-step,.processing-actions { display: flex; align-items: center; gap: .7rem; }
.processing-heading h2 { margin: 0; font-size: clamp(1.28rem, 5vw, 1.6rem); line-height: 1.15; }
.processing-spinner {
  border: 3px solid #cbdcd6; border-top-color: #287e70; border-radius: 50%;
  width: 1.35rem; height: 1.35rem; flex: none; animation: processing-turn .9s linear infinite;
}
@keyframes processing-turn { to { transform: rotate(1turn); } }
@media (prefers-reduced-motion: reduce) { .processing-spinner { animation: none; } }
.processing-step { justify-content: space-between; margin-top: 1.25rem; min-height: 1.6em; font-weight: 600; }
.processing-step [data-percent] { font-variant-numeric: tabular-nums; color: #216f5e; }
.processing-dialog progress { width: 100%; height: .55rem; display: block; margin: .5rem 0 0; accent-color: #267d68; }
.processing-hint,.processing-offer p { font-size: .93rem; line-height: 1.45; color: #45625c; margin: .65rem 0 0; }
.processing-offer { margin: 1.05rem 0; padding: .85rem 1rem; background: #eaf2e5; border-radius: .8rem; }
.processing-offer p { margin: .2rem 0 0; }
.processing-actions { gap: .6rem; flex-wrap: wrap; }
.processing-actions button,.processing-reopen { min-height: 44px; padding: .55rem .8rem; border-radius: .65rem; cursor: pointer; font: inherit; }
.processing-actions [data-hide] { background: #143e3a; color: white; border: 1px solid #143e3a; }
.processing-actions [data-stop] { color: #244a44; background: transparent; border: 1px solid #aebfb8; }
.processing-reopen {
  position: fixed; z-index: 90; right: max(.75rem, env(safe-area-inset-right));
  bottom: calc(.75rem + env(safe-area-inset-bottom)); background: #143e3a; color: white; border: 1px solid #c7e1d4;
}
.processing-reopen[hidden],.processing-dialog:not([open]) { display: none; }
.processing-preview video { display:block; width:100%; height:clamp(5rem,22dvh,13rem); object-fit:contain; background:#172723; border-radius:.5rem; }
.processing-preview label { display:block; margin-top:.4rem; }
.processing-preview output { float:right; font-variant-numeric:tabular-nums; }
.processing-preview input { width:100%; min-height:30px; }
.analysis-summary { margin:.65rem 0; white-space:pre-line; line-height:1.45; }
.processing-actions [data-ok],#stature-dialog button[type=submit] { background:#143e3a; color:#fff; }
#stature-dialog label { display:block; margin:1rem 0 .3rem; }
#stature-dialog input { font-size:18px; }
#stature-dialog .processing-actions { margin-top:1rem; }
.processing-dialog .processing-spinner[hidden] { display:none; }
