/* In-progress and failed result cards for Create (motion).
   - ana-card : "Analyzing references": every reference (clip + photos) circles a soft aurora while the backend writes the prompt
   - gen-card : "Generating / Queued": the blade (Blade engine) or the lance (Lance engine) drifting, with a slash flare;
                handles turn red when the job was started in 18+ mode (the *-red art)
   - err-card : the safety / failure card with Repeat and Dismiss
   Everything is CSS-only, sized in container units so it scales with the tile, and stops under prefers-reduced-motion. */
#sResultsGrid .gen-card{position:relative;min-width:0;border-radius:16px;user-select:none}
.gen-box{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:var(--r13-ar,.5625);container-type:size;
  background:radial-gradient(120% 80% at 50% 0%,#17181b 0%,#0e0f11 60%,#0a0b0c 100%);box-shadow:inset 0 0 0 1px #ffffff12}
.gen-label{position:absolute;left:0;right:0;bottom:15%;margin:0;text-align:center;font-weight:800;font-size:10px;line-height:1.5;letter-spacing:.3em;text-transform:uppercase;
  color:#ffffff8c;background:linear-gradient(100deg,#ffffff59 20%,#fff 50%,#ffffff59 80%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;animation:gen-shimmer 3.2s linear infinite;z-index:3}

/* ---------- generating / queued: the weapon ---------- */
.gen-art{position:absolute;inset:0;overflow:hidden;
  -webkit-mask-image:radial-gradient(ellipse 80% 72% at 50% 46%,#000 42%,transparent 80%);mask-image:radial-gradient(ellipse 80% 72% at 50% 46%,#000 42%,transparent 80%)}
.gen-weapon{position:absolute;width:238cqw;max-width:none;left:calc(50cqw - 120cqw);top:calc(46cqh - 31cqw);display:block;pointer-events:none;
  mix-blend-mode:screen;filter:contrast(1.75) brightness(.9);-webkit-mask-image:radial-gradient(ellipse 47% 33% at 50.5% 23.3%,#000 50%,transparent 100%);mask-image:radial-gradient(ellipse 47% 33% at 50.5% 23.3%,#000 50%,transparent 100%);transform-origin:50.5% 23.3%;transform:rotate(38deg);
  animation:gen-sway 7s ease-in-out infinite;animation-delay:var(--gd,0s)}
.gen-fx{position:absolute;left:0;top:calc(44cqh - 50cqw);width:100cqw;height:100cqw;pointer-events:none;mix-blend-mode:screen;opacity:0;z-index:2;
  background-repeat:no-repeat;background-size:3200% 100%;background-position:0 0;transform:rotate(52deg);
  animation:gen-slash 6s steps(31,end) infinite;animation-delay:var(--gd,0s)}
.gen-card[data-engine=blade] .gen-fx{background-image:url(/static/create/fx-blade.webp)}
.gen-card[data-engine=lance] .gen-fx{background-image:url(/static/create/fx-lance.webp)}
.gen-card[data-red="1"] .gen-box{background:radial-gradient(120% 80% at 50% 0%,#3a0d16 0%,#1b0a0e 60%,#0d0709 100%);box-shadow:inset 0 0 0 1px #ff4d6a26}
.gen-card[data-red="1"] .gen-label{background-image:linear-gradient(100deg,#ff8b9a59 20%,#ffd0d6 50%,#ff8b9a59 80%)}
.gen-card[data-queued="1"] .gen-weapon{animation-duration:11s;opacity:.7}
@keyframes gen-sway{0%,100%{transform:rotate(38deg) translateY(0)}50%{transform:rotate(41.5deg) translateY(-2.6cqh)}}
@keyframes gen-slash{0%{opacity:1;background-position:0 0}17%{opacity:1;background-position:100% 0}17.4%,100%{opacity:0;background-position:100% 0}}
@keyframes gen-shimmer{to{background-position:-250% 0}}

/* ---------- analyzing: references in orbit ---------- */
.ana-box{background:radial-gradient(110% 70% at 50% 28%,#1a1b1f 0%,#0e0f11 62%,#09090a 100%)}
.ana-glow{position:absolute;left:50%;top:36cqh;width:78cqw;height:78cqw;margin:-39cqw 0 0 -39cqw;border-radius:50%;filter:blur(13px);opacity:.85;
  background:conic-gradient(from 0deg,#ff6b8a,#ffb86b,#fff39a,#6bd5ff,#a06bff,#ff6b8a);
  -webkit-mask-image:radial-gradient(circle,transparent 54%,#000 60%,#000 68%,transparent 76%);mask-image:radial-gradient(circle,transparent 54%,#000 60%,#000 68%,transparent 76%);
  animation:ana-spin 7s linear infinite,ana-breathe 3.4s ease-in-out infinite;mix-blend-mode:screen}
.ana-orbit{position:absolute;left:50%;top:36cqh;width:0;height:0;animation:ana-spin 15s linear infinite}
.ana-dot{--r:27cqw;--ds:min(30cqw,calc(124cqw / var(--n)));position:absolute;left:calc(var(--ds) / -2);top:calc(var(--ds) / -2);width:var(--ds);height:var(--ds);
  transform:rotate(calc(360deg / var(--n) * var(--i))) translateY(calc(var(--r) * -1)) rotate(calc(-360deg / var(--n) * var(--i)))}
.ana-in{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#000;box-shadow:0 0 0 2px #ffffff3d,0 6px 18px #000000a6;animation:ana-spin 15s linear infinite reverse}
.ana-in>img,.ana-in>video{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ana-card .gen-label{bottom:13%;line-height:1.7}
.ana-card[data-red="1"] .ana-glow{background:conic-gradient(from 0deg,#ff2d55,#ff7a45,#ffc0a0,#ff2d55,#b3122f,#ff2d55)}
@keyframes ana-spin{to{transform:rotate(360deg)}}
@keyframes ana-breathe{0%,100%{opacity:.55}50%{opacity:.95}}

/* ---------- error / safety ---------- */
.err-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px 14px 16px;text-align:center;
  background:radial-gradient(120% 90% at 50% 0%,#2a2b2f 0%,#1b1c1f 70%);box-shadow:inset 0 0 0 1px #ffffff14}
.err-ico{width:34px;height:34px;color:#ffffffd9;flex:none}
.err-title{margin:0;font-weight:800;font-size:14px;color:#fff}
.err-text{margin:0;font-size:12px;line-height:1.5;font-weight:600;color:#ffffffa6;max-width:20ch;min-width:100%;overflow-wrap:anywhere;hyphens:auto}
.err-actions{display:flex;gap:8px;margin-top:2px}
.err-btn{display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:0!important;padding:0;margin:0;border-radius:50%;border:1px solid #ffffff1f;background:#ffffff14;color:#ffffffd9;cursor:pointer;transition:background-color .15s,transform .1s}
.err-btn:hover{background:#ffffff26;color:#fff}.err-btn:active{transform:scale(.94)}
.err-btn.danger{color:#ff7d8b;background:#ff4d6a1a;border-color:#ff4d6a40}.err-btn.danger:hover{background:#ff4d6a33}
.err-btn svg{width:17px;height:17px}

@media (prefers-reduced-motion:reduce){.gen-weapon,.gen-fx,.gen-label,.ana-glow,.ana-orbit,.ana-in{animation:none!important}.gen-fx{display:none}}
