/* LL AI v67.23 — ADAPTIVE MYSTERY DELIGHT
   Additive interaction polish only. Keeps the restored v66.87 visual shell. */

/* Retire the old v67.13 image wait imitation without touching the rest of Experience MAX. */
.llImageWaitWrap{display:none!important}

/* ChatGPT-style image generation surface: one rectangle, dots -> Snake in-place. */
.ll16ImageGenRow{width:min(520px,calc(100% - 34px));margin:12px auto 18px;align-self:center;contain:layout paint;content-visibility:auto;contain-intrinsic-size:390px 320px}
.ll16ImageGenRow[hidden]{display:none!important}
.ll16ImageGenCard{--ll16-img-bg:color-mix(in srgb,var(--theme-surface,#202124) 96%,#fff 4%);position:relative;border:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 82%,rgba(var(--accent-rgb),.12));border-radius:22px;background:var(--ll16-img-bg);overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.18);isolation:isolate;transition:opacity .18s ease,transform .18s ease,border-color .18s ease}
.ll16ImageGenCard:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 76%,white 24%);outline-offset:3px}
.ll16ImageGenSurface{position:relative;width:100%;aspect-ratio:4/3;min-height:228px;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-surface,#202124) 96%,#fff 4%),color-mix(in srgb,var(--theme-bg,#111) 91%,#fff 9%));overflow:hidden;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}
.ll16ImageGenSurface::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,rgba(var(--accent-rgb),.055),transparent 52%)}
.ll16DotField{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .14s ease,transform .18s ease}
.ll16DotGrid{display:grid;grid-template-columns:repeat(5,12px);grid-auto-rows:12px;gap:12px;transform:rotate(-1deg)}
.ll16DotGrid i{width:11px;height:11px;border-radius:50%;background:color-mix(in srgb,var(--accent) 82%,#b8c7ff 18%);box-shadow:0 0 16px rgba(var(--accent-rgb),.22);opacity:.18;animation:ll16DotWave 1.55s ease-in-out infinite;will-change:transform,opacity}
.ll16DotGrid i:nth-child(1),.ll16DotGrid i:nth-child(6),.ll16DotGrid i:nth-child(11),.ll16DotGrid i:nth-child(16){animation-delay:-.05s}.ll16DotGrid i:nth-child(2),.ll16DotGrid i:nth-child(7),.ll16DotGrid i:nth-child(12),.ll16DotGrid i:nth-child(17){animation-delay:.06s}.ll16DotGrid i:nth-child(3),.ll16DotGrid i:nth-child(8),.ll16DotGrid i:nth-child(13),.ll16DotGrid i:nth-child(18){animation-delay:.17s}.ll16DotGrid i:nth-child(4),.ll16DotGrid i:nth-child(9),.ll16DotGrid i:nth-child(14),.ll16DotGrid i:nth-child(19){animation-delay:.28s}.ll16DotGrid i:nth-child(5),.ll16DotGrid i:nth-child(10),.ll16DotGrid i:nth-child(15),.ll16DotGrid i:nth-child(20){animation-delay:.39s}
@keyframes ll16DotWave{0%,72%,100%{opacity:.17;transform:scale(.72)}32%{opacity:1;transform:scale(1.05)}48%{opacity:.58;transform:scale(.88)}}
.ll16SnakeCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none;transition:opacity .13s ease;background:transparent}
.ll16ImageGenCard.is-game .ll16DotField{opacity:0;transform:scale(.97);pointer-events:none}.ll16ImageGenCard.is-game .ll16SnakeCanvas{opacity:1;pointer-events:auto}
.ll16GameHud{position:absolute;inset:12px 13px auto;z-index:3;display:flex;justify-content:space-between;gap:10px;pointer-events:none;color:color-mix(in srgb,var(--theme-text,#fff) 70%,transparent);font-size:10px;font-weight:720;letter-spacing:.01em;opacity:0;transition:opacity .14s ease}.ll16ImageGenCard.is-game .ll16GameHud{opacity:1}.ll16GameHud b{color:var(--theme-text,#fff);font-size:10px}
.ll16ImageGenHint{position:absolute;left:50%;bottom:13px;z-index:3;translate:-50% 0;color:color-mix(in srgb,var(--theme-text,#fff) 57%,transparent);font-size:10px;white-space:nowrap;pointer-events:none;transition:opacity .18s ease}.ll16ImageGenCard.is-game.has-moved .ll16ImageGenHint{opacity:0}
.ll16ImageMeta{height:52px;display:flex;align-items:center;gap:10px;padding:0 14px;border-top:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 78%,transparent);background:color-mix(in srgb,var(--theme-surface,#202124) 97%,transparent)}
.ll16ImageMetaCopy{min-width:0;display:grid;gap:2px;margin-right:auto}.ll16ImageMetaCopy b{font-size:12px;line-height:1.2;font-weight:720;color:var(--theme-text,#f5f5f5)}.ll16ImageMetaCopy small{font-size:9.5px;line-height:1.2;color:var(--theme-muted,#9ca1ad);max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ll16ImageProgress{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:var(--theme-muted,#9ca1ad);font-size:10px;font-variant-numeric:tabular-nums}.ll16ImageMiniDots{display:flex;align-items:center;gap:3px}.ll16ImageMiniDots i{width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:.25;animation:ll16MiniDot 1.05s ease-in-out infinite}.ll16ImageMiniDots i:nth-child(2){animation-delay:.12s}.ll16ImageMiniDots i:nth-child(3){animation-delay:.24s}@keyframes ll16MiniDot{0%,72%,100%{opacity:.22;transform:translateY(0)}36%{opacity:1;transform:translateY(-2px)}}
.ll16ImageGenCard.ll16-completing{opacity:.66;transform:scale(.992)}.ll16ImageGenRow.ll16-out{opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease}

/* Studio keeps the same card, centered above the gallery instead of a second bespoke loader. */
.ll16StudioImageWait{width:min(520px,100%);margin:8px auto 20px}.ll16StudioImageWait .ll16ImageGenRow{width:100%;margin:0}.ll16StudioImageWait[hidden]{display:none!important}

/* Generated-image actions only exist on generated images, never clutter normal answers. */
.ll16ImageActions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}.ll16ImageActions button{height:30px;padding:0 10px;border:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 88%,transparent);border-radius:999px;background:color-mix(in srgb,var(--theme-surface,#202124) 95%,white 5%);color:var(--theme-text,#f5f5f5);font:650 10px/1 inherit;display:inline-flex;align-items:center;gap:5px;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .12s ease}.ll16ImageActions button:hover,.ll16ImageActions button:focus-visible{background:color-mix(in srgb,var(--theme-surface,#202124) 84%,var(--accent) 16%);border-color:rgba(var(--accent-rgb),.34);outline:none}.ll16ImageActions button:active{transform:scale(.96)}.ll16ImageActions svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* A subtle image completion pulse; no confetti, no theme rewrite. */
.assistantImageCard.ll16-image-arrived{animation:ll16ImageArrive .32s cubic-bezier(.2,.8,.2,1) both}@keyframes ll16ImageArrive{from{opacity:.15;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}

/* Tiny easter-egg feedback for the Images template chooser, without adding a permanent button. */
.ll16Surprise{border-top:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 78%,transparent)!important;margin-top:5px!important;padding-top:10px!important}.ll16Surprise b{color:color-mix(in srgb,var(--accent) 76%,white 24%)!important}

@media(max-width:700px),(pointer:coarse){
  .ll16ImageGenRow{width:min(470px,calc(100% - 16px));margin:8px auto 14px}.ll16ImageGenCard{border-radius:19px}.ll16ImageGenSurface{min-height:210px}.ll16ImageMeta{height:50px;padding-inline:12px}.ll16ImageMetaCopy small{max-width:250px}.ll16DotGrid{grid-template-columns:repeat(5,11px);grid-auto-rows:11px;gap:10px}.ll16DotGrid i{width:10px;height:10px}.ll16ImageActions{gap:5px}.ll16ImageActions button{height:31px;padding:0 9px;font-size:9.5px}
}
@media(prefers-reduced-motion:reduce){.ll16DotGrid i,.ll16ImageMiniDots i,.assistantImageCard.ll16-image-arrived{animation:none!important}.ll16ImageGenCard,.ll16DotField,.ll16SnakeCanvas,.ll16GameHud,.ll16ImageGenHint{transition:none!important}}


/* v67.21 — image generation fidelity + persistent pending-card lifecycle */
.ll16ImageGenCard{
  --ll16-snake-body:color-mix(in srgb,var(--theme-text,#f5f5f5) 82%,var(--accent,#7a86ff) 18%);
  --ll16-snake-apple:color-mix(in srgb,var(--accent,#7a86ff) 58%,#ff6675 42%);
  --ll16-snake-bg:color-mix(in srgb,var(--theme-bg,#111) 88%,var(--theme-surface,#202124) 12%);
  --ll16-snake-grid:color-mix(in srgb,var(--theme-text,#fff) 4%,transparent);
}
.ll16ImageGenSurface{transition:background .18s ease,box-shadow .18s ease}
.ll16ImageGenCard.is-game .ll16ImageGenSurface{background:var(--ll16-snake-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 9%,transparent)}
.ll16ImageGenCard.is-game .ll16ImageGenHint{background:color-mix(in srgb,var(--theme-bg,#111) 55%,transparent);border:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 82%,transparent);padding:5px 8px;border-radius:999px;backdrop-filter:blur(8px)}
.ll16ImageGenCard.is-offscreen .ll16DotGrid i,.ll16ImageGenCard.is-offscreen .ll16ImageMiniDots i{animation-play-state:paused!important}
.ll16ImageGenCard.is-offscreen .ll16ImageGenSurface::after{opacity:.45}
.ll16ImageGenCard[data-ll16-returned="offscreen"] .ll16DotField{animation:ll20DotsReturn .22s ease-out both}
@keyframes ll20DotsReturn{from{opacity:.2;transform:scale(.975)}to{opacity:1;transform:none}}
.ll16SnakeCanvas{image-rendering:auto}
.ll16GameHud{font-variant-numeric:tabular-nums}.ll16GameHud b::before{content:'Score ';font-weight:560;opacity:.55;margin-right:2px}
.ll16ImageMeta{min-width:0}.ll16ImageProgress{padding-left:6px}.ll16ImageGenCard.is-game .ll16ImageMeta{border-top-color:color-mix(in srgb,var(--accent) 12%,var(--theme-line,#ffffff18))}
@media(max-width:700px),(pointer:coarse){
  .ll16ImageGenSurface{min-height:220px}.ll16ImageGenHint{bottom:10px}.ll16GameHud{inset:10px 11px auto}
}
@media(prefers-reduced-motion:reduce){.ll16ImageGenCard[data-ll16-returned="offscreen"] .ll16DotField{animation:none!important}}

/* v67.21: restored pending generation cards keep exactly the same surface; no duplicate shell. */
.ll16ImageGenRow[data-ll-chat-id]{scroll-margin-block:18px}
.ll16ImageGenCard[data-ll16-returned="chat-restore"] .ll16DotField{animation:ll20DotsReturn .18s ease-out both}

/* v67.22 — fidelity pass: one image surface, balanced rotating waiting games, cleaner actions. */
.ll16ImageGenRow{width:min(548px,calc(100% - 34px));margin:12px auto 18px;contain:layout paint;contain-intrinsic-size:410px 330px}
.ll16ImageGenCard{border-radius:24px;border-color:color-mix(in srgb,var(--theme-line,#ffffff18) 86%,var(--accent) 14%);background:color-mix(in srgb,var(--theme-surface,#202124) 97%,var(--accent) 3%);box-shadow:0 14px 44px rgba(0,0,0,.19),inset 0 1px rgba(255,255,255,.025)}
.ll16ImageGenSurface{aspect-ratio:16/10;min-height:250px;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 46%),linear-gradient(150deg,color-mix(in srgb,var(--theme-surface,#202124) 96%,white 4%),color-mix(in srgb,var(--theme-bg,#111) 94%,white 6%))}
.ll16ImageGenSurface::after{background:radial-gradient(circle at 50% 45%,rgba(var(--accent-rgb),.045),transparent 55%);transition:opacity .16s ease}
.ll16DotGrid{grid-template-columns:repeat(5,11px);grid-auto-rows:11px;gap:11px}
.ll16DotGrid i{width:10px;height:10px;box-shadow:0 0 18px rgba(var(--accent-rgb),.16)}
.ll16ImageMeta{height:54px;padding:0 15px;background:color-mix(in srgb,var(--theme-surface,#202124) 98%,transparent)}
.ll16ImageMetaCopy b{font-size:12.5px;font-weight:720}.ll16ImageMetaCopy small{font-size:9.8px;max-width:360px}
.ll16ImageProgress{font-size:10px;gap:8px}
.ll16GameHud{inset:12px 14px auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;font-size:10px;opacity:0}
.ll16GameHud [data-ll22-game]{justify-self:start;color:color-mix(in srgb,var(--theme-text,#fff) 74%,transparent);font-weight:700}
.ll16GameHud b{justify-self:center;font-size:11px}.ll16GameHud b::before{content:''!important;margin:0!important}
.ll16GameHud [data-ll16-best]{justify-self:end;color:color-mix(in srgb,var(--theme-text,#fff) 54%,transparent);font-weight:650}
.ll22GameClose{position:absolute;right:12px;bottom:12px;z-index:5;width:32px;height:32px;border:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 92%,transparent);border-radius:50%;background:color-mix(in srgb,var(--theme-bg,#111) 70%,transparent);color:color-mix(in srgb,var(--theme-text,#fff) 84%,transparent);display:none;place-items:center;font:500 18px/1 system-ui;cursor:pointer;backdrop-filter:blur(10px);transition:background .14s ease,border-color .14s ease,transform .12s ease}
.ll16ImageGenCard.is-game .ll22GameClose{display:grid}.ll22GameClose:hover,.ll22GameClose:focus-visible{background:color-mix(in srgb,var(--theme-surface,#202124) 76%,var(--accent) 24%);border-color:color-mix(in srgb,var(--accent) 34%,transparent);outline:none}.ll22GameClose:active{transform:scale(.94)}
.ll16ImageGenHint{bottom:13px;max-width:70%;overflow:hidden;text-overflow:ellipsis}.ll16ImageGenCard.is-game .ll16ImageGenHint{left:14px;bottom:14px;translate:0 0;padding:5px 9px;background:color-mix(in srgb,var(--theme-bg,#111) 64%,transparent);border:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 84%,transparent);border-radius:999px;backdrop-filter:blur(9px);font-size:9.5px}.ll16ImageGenCard.is-game.has-moved .ll16ImageGenHint{opacity:.35}
.ll22GameCanvas{touch-action:none;cursor:crosshair}
.ll16ImageGenCard.is-game .ll16ImageGenSurface::after{opacity:.24}
.ll16ImageGenCard.is-offscreen .ll22GameCanvas{visibility:hidden}

/* Generated-image action bar: compact primary actions + contained More menu. */
.ll22ImageActions{position:relative;display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow:visible;margin-top:8px;padding:0;max-width:100%}
.ll22ImageActions>button,.ll22ImageActions .ll22MoreButton{height:32px;min-width:0;padding:0 10px;border:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 90%,transparent);border-radius:999px;background:transparent;color:color-mix(in srgb,var(--theme-text,#f5f5f5) 78%,transparent);font:650 10px/1 system-ui;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .11s ease}
.ll22ImageActions>button:hover,.ll22ImageActions>button:focus-visible,.ll22ImageActions .ll22MoreButton:hover,.ll22ImageActions .ll22MoreButton:focus-visible{background:color-mix(in srgb,var(--theme-surface,#202124) 83%,var(--accent) 17%);border-color:color-mix(in srgb,var(--accent) 32%,transparent);color:var(--theme-text,#fff);outline:none}.ll22ImageActions button:active{transform:scale(.96)}
.ll22ImageActions svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.ll22MoreWrap{position:relative;flex:0 0 auto}.ll22ImageMore{position:absolute;right:0;bottom:calc(100% + 8px);z-index:60;width:190px;padding:5px;border:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 92%,transparent);border-radius:14px;background:color-mix(in srgb,var(--theme-surface-2,#181818) 97%,transparent);box-shadow:0 18px 52px rgba(0,0,0,.38);backdrop-filter:blur(14px)}.ll22ImageMore[hidden]{display:none!important}.ll22ImageMore button{width:100%;height:38px;border:0;border-radius:9px;background:transparent;color:var(--theme-text,#f5f5f5);display:flex;align-items:center;gap:9px;padding:0 9px;font:620 10.5px/1 system-ui;cursor:pointer;text-align:left}.ll22ImageMore button:hover,.ll22ImageMore button:focus-visible{background:rgba(255,255,255,.065);outline:none}.ll22ImageMore button.danger{color:#ff969d}.ll22ImageMore svg{width:15px;height:15px}

@media(max-width:700px),(pointer:coarse){
  .ll16ImageGenRow{width:min(500px,calc(100% - 14px))}.ll16ImageGenCard{border-radius:21px}.ll16ImageGenSurface{min-height:230px}.ll16ImageMeta{height:52px;padding-inline:12px}.ll16ImageMetaCopy small{max-width:260px}.ll22ImageActions{overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.ll22ImageActions::-webkit-scrollbar{display:none}.ll22ImageActions>button,.ll22ImageActions .ll22MoreButton{height:34px;padding-inline:10px;font-size:9.7px}.ll22ImageMore{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;border-radius:18px}.ll22ImageMore button{height:44px;font-size:11.5px}
}
@media(prefers-reduced-motion:reduce){.ll22GameClose,.ll22ImageActions button{transition:none!important}}


/* v67.23 — adaptive mystery-game reveal; the chosen game stays hidden until tap. */
.ll16ImageGenCard:not(.game-revealed) .ll16GameHud{visibility:hidden}
.ll16ImageGenCard:not(.is-game) .ll16ImageGenHint{padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--theme-bg,#111) 42%,transparent);border:1px solid color-mix(in srgb,var(--theme-line,#ffffff18) 72%,transparent);backdrop-filter:blur(8px);letter-spacing:.01em}
.ll16ImageGenCard.game-revealed .ll16GameHud{visibility:visible}
.ll16ImageGenCard[data-game-skin="starlight"].is-game .ll16ImageGenSurface::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;background:radial-gradient(circle at 18% 24%,rgba(255,255,255,.48) 0 1px,transparent 1.6px),radial-gradient(circle at 72% 18%,rgba(var(--accent-rgb),.55) 0 1px,transparent 1.7px),radial-gradient(circle at 35% 72%,rgba(255,255,255,.32) 0 1px,transparent 1.5px),radial-gradient(circle at 84% 66%,rgba(var(--accent-rgb),.42) 0 1px,transparent 1.6px);background-size:112px 96px,146px 124px,128px 118px,172px 136px;mix-blend-mode:screen}
.ll16ImageGenCard[data-wait-game="orbit"].is-game .ll16ImageGenSurface{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 13%,transparent),inset 0 0 90px rgba(var(--accent-rgb),.035)}
.ll16ImageGenCard.is-game .ll22GameClose{z-index:7}.ll16ImageGenCard.is-game .ll16GameHud,.ll16ImageGenCard.is-game .ll16ImageGenHint{z-index:6}

/* v99.7 polish overrides: left-aligned image box, smoother premium surface */
.ll16ImageGenRow{
  width:min(560px,calc(100% - 20px));
  margin:10px auto 14px 10px;
}
@media (min-width: 900px){
  .ll16ImageGenRow{
    margin-left:14px;
    margin-right:auto;
  }
}
.ll16ImageGenCard{
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(17,18,24,.98),rgba(10,11,16,.98));
  box-shadow:0 20px 52px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);
  overflow:hidden;
}
.ll16ImageGenTop{
  padding-top:14px;
}
.ll16ImageMeta{
  gap:10px;
}
.ll16ImageGenSurface{
  border-radius:28px;
  margin-inline:10px;
  min-height:290px;
  border:1px solid rgba(255,255,255,.06);
  background:
    radial-gradient(circle at 50% 24%, rgba(226,92,150,.14), rgba(0,0,0,0) 44%),
    linear-gradient(180deg, rgba(12,13,18,.98), rgba(7,8,12,.995));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), inset 0 -28px 48px rgba(0,0,0,.22);
}
.ll16DotField{
  transform:translateY(2px) scale(1.02);
}
.ll16ImageGenFooter{
  padding:14px 16px 16px;
}
.ll16ActionPill,
.ll24ProgressChip,
.ll24GameChip,
.ll24ScoreChip,
.ll16ImageGenHint{
  backdrop-filter: blur(14px);
}
