/* LL AI v101.5 — organic image loader + polished HD waiting game */
:root{
  --ll111-pink:#ea78ab;
  --ll111-pink-rgb:234,120,171;
  --ll111-text:rgba(255,255,255,.96);
  --ll111-sub:rgba(255,255,255,.48);
}
.ll16ImageGenRow.freshMessage,.ll16StudioImageWait .ll16ImageGenRow{
  width:min(438px,calc(100% - 18px))!important;max-width:min(438px,calc(100% - 18px))!important;
  margin:10px 0 20px!important;
}
.ll16ImageGenCard:not(.is-game){
  width:100%!important;max-width:438px!important;height:356px!important;min-height:356px!important;max-height:356px!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
}
.ll16ImageGenCard:not(.is-game) .ll16ImageGenSurface{
  height:300px!important;min-height:300px!important;max-height:300px!important;background:transparent!important;overflow:visible!important;
}
.ll16ImageMetaCopy b,.thinkingArtifactTitle{font-size:18px!important;font-weight:610!important;letter-spacing:-.018em!important;color:var(--ll111-text)!important}
.ll16ImageMetaCopy small,.thinkingArtifactSub{font-size:12px!important;color:var(--ll111-sub)!important}

/* Organic loader silhouette: no visible rectangle, soft fade into page. */
.ll16ImageGenCard:not(.is-game) .ll16DotField{
  left:-2px!important;top:8px!important;width:350px!important;height:250px!important;display:grid!important;place-items:center!important;
  overflow:visible!important;isolation:isolate!important;
  -webkit-mask-image:radial-gradient(ellipse 62% 54% at 50% 48%,#000 0 56%,rgba(0,0,0,.92) 70%,rgba(0,0,0,.45) 86%,transparent 100%);
  mask-image:radial-gradient(ellipse 62% 54% at 50% 48%,#000 0 56%,rgba(0,0,0,.92) 70%,rgba(0,0,0,.45) 86%,transparent 100%);
}
.ll16ImageGenCard:not(.is-game) .ll16DotField::before{
  content:""!important;position:absolute!important;inset:16px 20px 20px 20px!important;border-radius:50%!important;pointer-events:none!important;
  background:
    radial-gradient(circle at var(--gx1,42%) var(--gy1,44%),rgba(var(--ll111-pink-rgb),.16),transparent 29%),
    radial-gradient(circle at var(--gx2,65%) var(--gy2,61%),rgba(var(--ll111-pink-rgb),.11),transparent 33%);
  filter:blur(24px)!important;opacity:.88!important;animation:ll111Halo 6.2s ease-in-out infinite!important;
}
.ll111DotGrid{
  width:332px;height:242px;display:grid;grid-template-columns:repeat(20,1fr);grid-template-rows:repeat(24,1fr);
  align-items:center;justify-items:center;gap:6px 7px;position:relative;z-index:2;transform:translateZ(0);
}
.ll111DotGrid i{
  width:3.55px;height:3.55px;border-radius:999px;background:rgb(var(--ll111-pink-rgb));
  opacity:.08;transform:translate3d(0,0,0) scale(.82);will-change:opacity,transform,filter;
  transition:none!important;
}
.ll111DotGrid i.ll111-hot{box-shadow:0 0 10px rgba(var(--ll111-pink-rgb),.24),0 0 26px rgba(var(--ll111-pink-rgb),.11)}
@keyframes ll111Halo{50%{transform:scale(1.045);opacity:1}}
.ll24ProgressChip{
  right:7px!important;bottom:9px!important;min-width:64px!important;height:38px!important;padding:0 15px!important;
  background:rgba(48,49,54,.94)!important;border:1px solid rgba(255,255,255,.085)!important;color:var(--ll111-pink)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.20)!important;font-size:12px!important;font-weight:650!important;
}
.ll16ImageGenHint{left:1px!important;bottom:17px!important;color:rgba(255,255,255,.42)!important;font-size:11.5px!important}

/* Premium waiting game shell */
.ll16ImageGenCard.is-game{
  height:420px!important;min-height:420px!important;max-height:420px!important;border-radius:28px!important;
  border:1px solid rgba(255,255,255,.07)!important;
  background:linear-gradient(180deg,rgba(17,19,27,.985) 0%,rgba(9,11,16,.99) 100%)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.025)!important;overflow:hidden!important;
}
.ll16ImageGenCard.is-game .ll16ImageGenSurface{height:420px!important;min-height:420px!important;max-height:420px!important;overflow:hidden!important}
.ll16ImageGenCard.is-game .ll22GameCanvas{width:100%!important;height:100%!important;image-rendering:auto!important;filter:none!important;touch-action:none!important}
.ll16ImageGenCard.is-game .ll16GameHud{
  left:16px!important;top:16px!important;right:62px!important;min-height:34px!important;padding:8px 12px!important;
  border-radius:999px!important;background:rgba(17,19,26,.72)!important;border:1px solid rgba(255,255,255,.07)!important;
  backdrop-filter:blur(14px)!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
}
.ll16ImageGenCard.is-game .ll16GameHud [data-ll22-game]{font-size:11.5px!important;font-weight:650!important;letter-spacing:.01em!important}
.ll16ImageGenCard.is-game .ll16GameHud b{font-size:11.5px!important}
.ll16ImageGenCard.is-game .ll22GameClose{
  right:16px!important;top:16px!important;width:34px!important;height:34px!important;background:rgba(17,19,26,.75)!important;
  border:1px solid rgba(255,255,255,.075)!important;backdrop-filter:blur(14px)!important;
}
.ll16ImageGenCard.is-game .ll16ImageGenHint{
  left:16px!important;bottom:16px!important;padding:9px 12px!important;border-radius:999px!important;
  background:rgba(17,19,26,.72)!important;border:1px solid rgba(255,255,255,.065)!important;backdrop-filter:blur(14px)!important;
  color:rgba(255,255,255,.60)!important;
}
@media(max-width:760px){
  .ll16ImageGenRow.freshMessage,.ll16StudioImageWait .ll16ImageGenRow{width:min(398px,calc(100% - 14px))!important;max-width:min(398px,calc(100% - 14px))!important}
  .ll16ImageGenCard:not(.is-game){height:340px!important;min-height:340px!important;max-height:340px!important}
  .ll16ImageGenCard:not(.is-game) .ll16ImageGenSurface{height:284px!important;min-height:284px!important;max-height:284px!important}
  .ll16ImageGenCard:not(.is-game) .ll16DotField{width:318px!important;height:232px!important}
  .ll111DotGrid{width:304px;height:224px;gap:5px 6px}
  .ll16ImageGenCard.is-game,.ll16ImageGenCard.is-game .ll16ImageGenSurface{height:382px!important;min-height:382px!important;max-height:382px!important}
}
@media(prefers-reduced-motion:reduce){.ll111DotGrid i{transition:none!important}.ll16ImageGenCard:not(.is-game) .ll16DotField::before{animation:none!important}}
