/* Artwork is native ImageGen PNGs. CSS positions images and real UI text only. */
.aot-special-cutin { position: absolute; top: 45px; left: 0; width: 100%; height: 292px; z-index: 75; pointer-events: none; contain: layout; }
.aot-special-cutin-band { position: absolute; left: 0; right: 0; top: 28px; height: 234px; overflow: hidden; }
.aot-special-cutin-far, .aot-special-cutin-near { position: absolute; inset: 0 auto 0 0; width: 180%; height: 100%; display: flex; }
.aot-special-cutin-near { opacity: .54; }
.aot-special-cutin-texture { flex: 0 0 100%; width: 100%; height: 100%; object-fit: fill; }
.aot-special-cutin-frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; }
.aot-special-cutin-character { position: absolute; top: 0; left: 36px; width: 460px; height: 292px; object-fit: contain; object-position: center; }
.aot-special-cutin-label { position: absolute; left: 50%; right: 28px; top: 87px; color: #fff3cf; text-shadow: -2px -2px 1px #07152b, 2px 2px 1px #07152b, 0 3px 7px #07152b; font-family: Georgia, serif; }
.aot-special-cutin-label small { display: block; font: 700 12px/1.4 system-ui, sans-serif; letter-spacing: .22em; color: #ffe5a4; }
.aot-special-cutin-label span { display: block; font-size: 20px; line-height: 1.4; margin-top: 6px; }
.aot-special-cutin-label strong { display: block; font-size: 42px; font-style: italic; line-height: 1.13; margin-top: 4px; overflow-wrap: anywhere; }
.aot-special-cutin--combo .aot-special-cutin-character { left: calc(12px + var(--cutin-index) * 180px); width: 305px; }
.aot-special-cutin--combo .aot-special-cutin-label { left: 61%; top: 85px; }
.aot-special-cutin--combo .aot-special-cutin-label span { font-size: 16px; }
.aot-special-cutin--combo .aot-special-cutin-label strong { font-size: 33px; }
