/* Display-only, soft drifting colour fields. No image/video network resources. */
#imageResult .image-waiting{position:relative;isolation:isolate;overflow:hidden;border:1px solid #3b4043;border-radius:24px;background:#1b1e21;color:#e6e8e8}
#imageResult .generation-waiting-large{
  width:100%;height:clamp(320px,66vh,680px);align-self:stretch;
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center
}
#imageResult .image-waiting>.image-waiting-heading,#imageResult .image-waiting>.image-waiting-time,#imageResult .image-waiting>.image-waiting-meta{position:relative;z-index:1}
#imageResult .image-waiting-heading{justify-content:center;margin:0 0 17px}
#imageResult .image-waiting-title{font-size:clamp(17px,2vw,24px);line-height:1.7;font-weight:550;letter-spacing:0;color:#edf0ef;text-wrap:balance}
#imageResult .image-waiting-dot{display:none}
#imageResult .image-waiting-time{font-size:18px;line-height:1.7;font-weight:400;letter-spacing:0;color:#d4dcdb;margin:0 0 13px}
#imageResult .image-waiting-meta{justify-content:center;gap:6px 18px;font-size:12px;color:#afbdbd}
#imageResult .generation-source{color:#b7c7c8;font-size:12px}
#imageResult .generation-sample-state{font-size:12px;color:#aab8bb;line-height:1.8;margin:0}
#imageResult .generation-waiting-small{height:auto;min-height:0;border:0;background:transparent;border-radius:0;padding:6px 0 2px;text-align:left}
#imageResult .generation-waiting-small>.generation-flow{display:none}
#imageResult .generation-waiting-small .image-waiting-heading{justify-content:flex-start;margin-bottom:5px}
#imageResult .generation-waiting-small .image-waiting-title{font-size:17px}
#imageResult .generation-waiting-small .image-waiting-time{font-size:14px;margin-bottom:5px}
#imageResult .generation-waiting-small .image-waiting-meta{justify-content:flex-start}
/* Paint the soft stops together. The large cards translate one gradient layer. */
.generation-flow{
  position:absolute;z-index:0;inset:0;pointer-events:none;
  background:linear-gradient(var(--generation-angle,124deg),#1745cb 4%,#7229bb 36%,#c02a82 67%,#cc592e 100%)
}
:is(.generation-waiting-large,.generation-video-waiting)>.generation-flow{
  contain:paint;
  content-visibility:auto
}
:is(.generation-waiting-large,.generation-video-waiting)>.generation-flow::before{
  content:'';position:absolute;inset:-17%;
  background:
    radial-gradient(ellipse at 21% 30%,#2388ff 0%,#1c60ed 13%,#204de500 39%),
    radial-gradient(ellipse at 43% 21%,#a45cff 0%,#833adb00 43%),
    radial-gradient(ellipse at 65% 46%,#ff69c0 0%,#e936a1 12%,#db298700 40%),
    radial-gradient(ellipse at 84% 23%,#33beaa80 0%,#33beaa00 31%),
    radial-gradient(ellipse at 69% 80%,#ff9555 0%,#ec6b40 20%,#d14e3100 47%),
    linear-gradient(118deg,#1037ae 3%,#5c27b2 35%,#af247d 64%,#ca542c 100%);
  animation:generation-flow-drift 6s linear -2s infinite
}
.generation-placeholder{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:1 / 1;min-width:0;overflow:hidden;border:1px solid #3b4144;border-radius:20px;background:#1c2023}
.generation-placeholder-label{position:relative;z-index:1;color:#e0e7e7;font-size:12px;line-height:1.8;padding:16px;text-align:center}
.generation-placeholder:nth-child(3n+2){--generation-angle:155deg}
.generation-placeholder:nth-child(3n+3){--generation-angle:192deg}
#imageResult .batch-progress{display:none}
#imageResult .bulk-download-fallback,#imageResult .upstream-progress,#imageResult .generation-execution,#imageResult .batch-note,#imageResult [data-role="error"]{display:none}
@keyframes generation-flow-drift{
  0%,100%{transform:translate(-12%,-3%)}
  25%{transform:translate(0,-10%)}
  50%{transform:translate(12%,2%)}
  75%{transform:translate(0,11%)}
}
#imageResult .generation-waiting-large::after,.generation-placeholder::after,#videoResult .generation-video-waiting::after{content:'';position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(180deg,#1116330d,#0c122440 48%,#0b102b25)}
#imageResult .generation-waiting-large .image-waiting-heading,#imageResult .generation-waiting-large .image-waiting-time,#imageResult .generation-waiting-large .image-waiting-meta{text-shadow:0 1px 3px #080d26b3}
#videoResult .generation-video-waiting{position:relative;isolation:isolate;width:min(100%,960px);aspect-ratio:16 / 9;margin:0 auto;overflow:hidden;border:1px solid #53617b;border-radius:24px;background:#142547}
#videoResult .generation-video-waiting[data-orientation="portrait"]{max-width:390px}
#videoResult .generation-video-waiting[data-orientation="square"]{max-width:600px}
#videoResult .video-waiting-copy{position:absolute;z-index:1;inset:clamp(14px,3vw,38px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;text-shadow:0 1px 3px #080d26b3}
#videoResult .video-waiting-copy>h2{font-size:clamp(18px,2.1vw,27px);font-weight:550;line-height:1.5;margin:0 0 13px;color:#fff}
#videoResult .video-waiting-copy>.video-waiting-elapsed{font-size:16px;color:#f0f3ff;margin:0 0 8px;font-variant-numeric:tabular-nums}
#videoResult .video-waiting-copy>.video-waiting-eta{font-size:12px;line-height:1.7;color:#e2e7f6;margin:0 0 13px}
#videoResult .video-waiting-copy>.video-waiting-note{font-size:12px;line-height:1.8;color:#e7eaf6;margin:0;max-width:370px}
#videoResult .video-waiting-copy>.video-waiting-ratio{font-size:11px;line-height:1.6;color:#d2d9ef;margin-top:13px}
@media(max-width:780px){#imageResult .generation-waiting-large{height:auto;min-height:200px;aspect-ratio:4 / 3}}
@media(max-width:580px){#imageResult .generation-waiting-large{padding:22px 16px}#imageResult .image-waiting-time{font-size:15px}.generation-placeholder{border-radius:16px}#videoResult .generation-video-waiting{border-radius:19px}#videoResult .video-waiting-copy>h2{margin-bottom:8px}#videoResult .video-waiting-copy>.video-waiting-elapsed{font-size:14px}#videoResult .video-waiting-copy>.video-waiting-eta{margin-bottom:8px}#videoResult .video-waiting-copy>.video-waiting-ratio{margin-top:8px}}
@media(prefers-reduced-motion:reduce){:is(.generation-waiting-large,.generation-video-waiting)>.generation-flow::before{animation:none}}
@media(forced-colors:active){.generation-flow{display:none}.generation-placeholder,#videoResult .generation-video-waiting{border:1px solid CanvasText}}
