/* Content illustrations retain their entire frame in cards and dialogs. */
.visual-life-image img,.mecha-frame img,.character-image img,.directory-image img,.story-image img{object-fit:contain;object-position:center;background:#0b1822}
.character-card:hover img{transform:none}
.gallery-carousel{width:100%;overflow:hidden;background:#08131d;border:1px solid #294f5b;touch-action:pan-y}
.gallery-track{display:flex;transition:transform .45s ease;will-change:transform}
.gallery-slide{flex:0 0 100%;min-width:0;display:flex;align-items:center;justify-content:center;height:min(48vh,440px)}
.gallery-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.gallery-slide-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 5px;color:#e3f4f3;font-size:13px}
.gallery-slide-meta span{font:500 11px ui-monospace,monospace;color:#a9cbd0}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.gallery-controls>button{background:#12313f;color:#e8f8f6;border:1px solid #43808a;padding:9px 14px;cursor:pointer;font-size:12px}
.gallery-controls>button:hover{background:#1d4d5c}
.gallery-dots{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px}
.gallery-dot{width:11px;height:11px;padding:0;border:1px solid #a7d8dd;border-radius:50%;background:transparent;cursor:pointer}
.gallery-dot[aria-current=true]{background:#93eef3;box-shadow:0 0 9px #59dae5}
.base-image-button{display:block;width:100%;padding:0;margin-top:18px;border:1px solid #315967;background:#06131d;color:#d2ecee;text-align:left;cursor:pointer}
.base-image-button img{width:100%;height:auto;display:block;object-fit:contain}
.base-image-button span{display:block;padding:9px 11px;font-size:12px}
.base-image-button:hover{border-color:#91e7ed}
@media(max-width:700px){.gallery-slide{height:min(40vh,360px)}.gallery-controls>button{padding:8px;font-size:11px}.gallery-slide-meta{font-size:12px}}
@media(prefers-reduced-motion:reduce){.gallery-track{transition:none}}
