/* Shared generation presentation inside the web, iOS, and Android gallery. */
.generation-loading[hidden], .generation-status[hidden] { display: none; }
.generation-loading { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; }
.generation-mark { width: 94px; height: 94px; animation: aag-breathe 2.4s ease-in-out infinite; }
.generation-orbit { position: absolute; inset: 10px; border: 1px solid #9a7b4229; border-top: 2px solid #9a7b42; border-radius: 50%; animation: aag-orbit 2.8s linear infinite; }
.generation-status { position: absolute; top: calc(100% + 24px); left: 50%; width: min(310px, calc(100vw - 40px)); transform: translateX(-50%); text-align: center; color: #5e4d34; }
.generation-status strong { display: block; font-size: 16px; font-weight: 600; letter-spacing: .02em; }
.generation-status span { display: block; margin-top: 8px; font-size: 13px; line-height: 1.5; }
html.is-generating .wall-search, html.wall-root.is-generator.is-generating .wall-search { width: 148px; top: calc(var(--visible-top, 0px) + var(--visible-height, 100dvh) / 2 - 30px); z-index: 38; }
html.is-generating .wall-search-field { height: 148px; }
html.is-generating .wall-search-blur { inset: 0; border-radius: 50%; background: #fffaf0ee; box-shadow: 0 18px 60px #7a603923, 0 0 0 1px #9a7b4233; }
html.is-generating .wall-search input { opacity: 0; width: 100%; height: 148px; pointer-events: none; }
html.is-generating .wall-search-icon, html.is-generating .wall-generator, html.is-generating .wall-actions { opacity: 0; visibility: hidden; pointer-events: none; }
html.is-generating .wall-actions { height: 0; margin: 0; }
.wall-search-field { transition: height .65s cubic-bezier(.22,.9,.3,1); }
.wall-search input, .wall-actions { transition: opacity .3s ease; }
.generated-scene { position: fixed; inset: 0; z-index: 34; background: #fffaf077; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
.generated-card { position: fixed; perspective: 1400px; }
.generated-turn { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .85s cubic-bezier(.62,.02,.2,1); }
.generated-face { position: absolute; inset: 0; border-radius: 20px; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden; background: #fffaf0; box-shadow: 0 20px 70px #33271433; }
.generated-face img { display: block; width: 100%; height: 100%; object-fit: contain; }
.generated-front img { object-fit: cover; }
.generated-front { transform: rotateY(0deg) translateZ(1px); }
.generated-front .aag-mark { width: 55%; height: 55%; margin: 22.5%; }
.generated-back { transform: rotateY(180deg) translateZ(1px); }
.generated-scene.is-revealed .generated-turn { transform: rotateY(180deg); }
.generated-tools { position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%); display: flex; gap: 12px; justify-content: center; width: max-content; max-width: calc(100vw - 32px); opacity: 0; transition: opacity .3s .6s; }
.is-revealed .generated-tools { opacity: 1; }
.generated-tools a, .generated-tools button { display: inline-flex; align-items: center; justify-content: center; border: 0; padding: 8px 14px; min-height: 44px; box-sizing: border-box; border-radius: 22px; background: #fffaf0ed; color: #5c4629; font: 13px/1.5 Inter, system-ui, sans-serif; text-decoration: none; cursor: pointer; white-space: nowrap; }
html.has-generated-art .wall-search { top: var(--generated-search-top); left: var(--generated-search-left, 50%); z-index: 36; }
html.has-generated-art .wall-actions { display: none; }
html.has-generated-art .gen-note { color: #5e4d34; font-size: 12px; width: min(33rem, calc(100vw - 40px)); margin-left: 50%; transform: translateX(-50%); }
.gen-note button { padding: 8px 12px; min-height: 44px; border: 1px solid #b3a080; border-radius: 22px; background: #fffaf0; color: #5e4d34; font: inherit; font-weight: 600; cursor: pointer; }
.generated-tools a:focus-visible, .generated-tools button:focus-visible, .gen-note button:focus-visible { outline: 2px solid #9a7b42; outline-offset: 3px; }
@keyframes aag-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .generation-mark, .generation-orbit { animation: none; }
  .generated-turn, .generated-tools, .wall-search-field { transition: none; }
}
.generation-loading {
  z-index: 3; border-radius: 50%; background: #fffaf0;
  border: 1px solid #d5c5a8; box-shadow: 0 18px 60px #32251333;
}
.generation-status {
  padding: 12px 16px; border-radius: 20px; background: #fffaf0f2;
  box-shadow: 0 8px 28px #3225131a;
}
html.is-generating .wall-search-blur { opacity: 0; }
html.is-generating .wall { filter: blur(2px); }
.generated-scene:focus { outline: none; }
