
.media-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
              gap:var(--s5); margin-top:var(--s5); }
.shot { margin:0; border:var(--bd) solid var(--line); box-shadow:var(--shadow);
        background:var(--panel-solid); }
.shot-tile { position:relative; aspect-ratio:4/3; display:grid; place-items:center;
             border-bottom:1px solid var(--line); overflow:hidden; }
.shot.image .shot-tile { background:
  radial-gradient(120% 90% at 18% 12%, rgba(var(--uncensored-rgb),.38), transparent 55%),
  radial-gradient(120% 90% at 88% 92%, rgba(var(--acc-rgb),.30), transparent 55%),
  var(--bg2); }
.shot.video .shot-tile { background:
  repeating-linear-gradient(90deg, transparent 0 22px, rgba(255,255,255,.035) 22px 24px),
  linear-gradient(180deg, rgba(var(--blue-rgb),.24), var(--bg2)); }
.shot-tile > img, .shot-tile > video { position:absolute; inset:0; width:100%; height:100%;
                                      object-fit:cover; display:block; }
.shot-kind { position:absolute; top:var(--s3); left:var(--s3); z-index:1;
             font:600 var(--fs-micro)/1 var(--mono); letter-spacing:.1em; text-transform:uppercase;
             color:var(--text); background:rgba(var(--bg0-rgb),.6); padding:4px 7px;
             border:1px solid var(--line2); }
.shot-play { width:0; height:0; border-style:solid; border-width:15px 0 15px 25px;
             border-color:transparent transparent transparent var(--text); opacity:.9; }

.shot-inputs { position:absolute; top:var(--s3); right:var(--s3); z-index:1; display:flex;
               align-items:center; gap:6px; padding:4px; background:rgba(var(--bg0-rgb),.7);
               border:1px solid var(--line2); transform-origin:top right;
               transition:transform var(--t) var(--ease-out); }
@media (hover:hover) { .shot-inputs:hover { transform:scale(1.3); } }
.shot-input { display:flex; flex-direction:column; align-items:center; gap:4px; }
.shot-inputs img { width:72px; height:54px; object-fit:cover; display:block; }
.shot-input small { font:600 var(--fs-micro)/1 var(--mono); letter-spacing:.1em;
                    text-transform:uppercase; color:var(--muted); }
.shot-inputs b { font:700 var(--fs-ui)/1 var(--mono); color:var(--text); }
.shot figcaption { padding:var(--s4); }
.shot-prompt { margin:0; font:var(--fs-code)/1.5 var(--mono); color:var(--text); }
.shot-prompt::before { content:"\201C"; color:var(--muted); }
.shot-prompt::after { content:"\201D"; color:var(--muted); }
.shot-engine { margin:var(--s2) 0 0; font:600 var(--fs-micro)/1.4 var(--mono);
               letter-spacing:.06em; text-transform:uppercase; color:var(--acc); }
.shot-engine span { color:var(--faint); }
