/* Upload page spacing and universal upload card. */
.upload-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:34px 28px;
}
.upload-card .upload-icon{margin-bottom:20px}
.upload-card h2{margin:0;font-size:27px}
.upload-tagline{
  margin:12px 0 24px;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
#chooseImageButton{margin:0}
#preview{margin-top:22px}
.status{margin-top:20px}
#statusText{margin-top:5px;color:var(--muted);font-size:12px}


.save-confirmation-backdrop{position:fixed;inset:0;z-index:5200;display:grid;place-items:center;padding:24px;background:rgba(7,20,33,.62);opacity:0;transition:opacity .18s ease}
.save-confirmation-backdrop[hidden]{display:none}
.save-confirmation-backdrop.open{opacity:1}
.save-confirmation-card{width:min(100%,460px);padding:34px 26px 28px;border-radius:28px;background:var(--surface,#fff);box-shadow:0 24px 70px rgba(7,20,33,.28);text-align:center}
.save-confirmation-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:#e8f3ed;color:#337257;font-size:34px;font-weight:800}
.save-confirmation-kicker{margin:0 0 8px;color:#708c7a;font-family:var(--font-display,"Comfortaa",sans-serif);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.save-confirmation-card h2{margin:0;color:#10263f;font-size:28px}
.save-confirmation-card>p:last-of-type{margin:16px auto 0;max-width:390px;color:#66758a;line-height:1.6}
.save-confirmation-actions{display:flex;justify-content:center;gap:10px;margin-top:28px}
@media(max-width:480px){.save-confirmation-backdrop{align-items:end;padding:0}.save-confirmation-card{width:100%;padding:32px 20px calc(24px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0}.save-confirmation-actions{flex-direction:column}.save-confirmation-actions .btn{width:100%}}
@media(prefers-color-scheme:dark){.save-confirmation-card{background:#152736}.save-confirmation-icon{background:#183f38;color:#9bd3b7}.save-confirmation-card h2{color:#f7f4ec}.save-confirmation-card>p:last-of-type{color:#c3ced7}.save-confirmation-kicker{color:#9fc3ac}}


/* Honest upload activity: animated while the AI works; no fake percentage. */
.morrow-processing-orbit{
  display:none;
  position:relative;
  width:48px;
  height:48px;
  margin:0 auto 14px;
  border:3px solid rgba(125,143,131,.2);
  border-radius:50%;
}
.morrow-processing-orbit span{
  position:absolute;
  width:12px;
  height:12px;
  top:-2px;
  left:16px;
  border-radius:50%;
  background:var(--morrow-sage,#7d8f83);
  box-shadow:0 0 0 5px rgba(125,143,131,.12);
}
.status.is-processing .morrow-processing-orbit{
  display:block;
  animation:morrowProcessingOrbit 1.15s linear infinite;
}
.status.is-processing .bar{
  overflow:hidden;
}
.status.is-processing .bar span{
  width:36%!important;
  animation:morrowProcessingSweep 1.45s ease-in-out infinite;
}
.status.is-complete .morrow-processing-orbit{display:none}
@keyframes morrowProcessingOrbit{to{transform:rotate(360deg)}}
@keyframes morrowProcessingSweep{
  0%{transform:translateX(-120%)}
  100%{transform:translateX(380%)}
}
@media(prefers-reduced-motion:reduce){
  .status.is-processing .morrow-processing-orbit{animation-duration:2.4s}
  .status.is-processing .bar span{animation-duration:3s}
}
@media(prefers-color-scheme:dark){
  .morrow-processing-orbit{border-color:rgba(157,185,167,.22)}
  .morrow-processing-orbit span{background:#9db9a7;box-shadow:0 0 0 5px rgba(157,185,167,.12)}
}
