#duel-scene { position:fixed; left:var(--arena-left); top:var(--arena-top); width:var(--arena-width); height:var(--arena-height); z-index:19; overflow:hidden; pointer-events:none; background:#efe2a9; container-type:inline-size; }
#duel-scene[hidden] { display:none; }
.duel-backdrop,.duel-beams { position:absolute; inset:0; width:100%; height:100%; }
.duel-boss-wrap { position:absolute; transform-origin:53.7% 88.9%; z-index:2; }
.duel-boss { position:absolute; inset:0; width:100%; height:100%; transform-origin:53.7% 88.9%; }
.duel-steam { position:absolute; left:28.7%; top:-46.22%; width:47%; height:83.56%; }
.duel-beams { z-index:3; }
.duel-letterbox { position:absolute; left:0; width:100%; height:0; background:#20251e; z-index:5; }
.duel-letterbox.top { top:0; }.duel-letterbox.bottom { bottom:0; }
.duel-call { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.duel-support { position:absolute; top:42%; width:44%; z-index:4; text-align:center; color:#fff9df; pointer-events:none; }
.duel-support[hidden] { display:none; }
.duel-cheer-title { position:absolute; left:0; right:0; top:-9.5cqw; font:5cqw/1.05 Jua,sans-serif; color:#fff7d9; -webkit-text-stroke:.4cqw #3d2c1d; paint-order:stroke fill; text-shadow:0 .4cqw #ba7f35; }
.duel-cheer-title strong { display:block; }
#cooling-labels { position:fixed; inset:0; pointer-events:none; z-index:18; overflow:hidden; }
.cooling-hit-label { position:absolute; padding:.12em .3em .1em; border:3px solid #215263; border-radius:999px; background:#fff; box-shadow:0 2px 0 #143b4a35; font-family:Jua,sans-serif; line-height:1; color:#238baf; white-space:nowrap; will-change:transform,opacity; }
.critical-hit-label { padding:.2em .55em .15em; border:4px solid #733408; background:#fff3a0; box-shadow:0 .12em #de850c,0 0 .5em #ffe68e; color:#b63a13; text-align:center; }
.critical-hit-label small { display:block; font-size:.5em; margin-bottom:.08em; color:#733408; }
.critical-hit-label strong { font-weight:400; }
.duel-cheer-crew { display:flex; align-items:flex-end; justify-content:center; height:20.8cqw; }
.duel-cheer-sprite { position:relative; display:block; flex:0 0 29cqw; height:29cqw; margin:0 -9.5cqw; background-image:url('/assets/targeting/crew-cheer-atlas-v1.png'); background-size:200% 200%; background-repeat:no-repeat; transform-origin:50% 95%; }
.duel-cheer-sprite:nth-child(2) { z-index:1; }
.duel-briefing { position:absolute; inset:0; z-index:6; pointer-events:none; background:#12201ab8; }
.duel-briefing[hidden] { display:none; }
.duel-briefing-copy { position:absolute; top:20%; width:43%; color:#fff9df; text-align:center; }
.duel-briefing-copy strong { display:block; font:3.3cqw/1.2 Jua,sans-serif; white-space:pre-line; text-shadow:0 .2cqw #19251d; min-height:2.4em; margin-top:1cqw; }
.duel-briefing-copy small { display:block; margin-bottom:.7cqw; font:2.2cqw Jua,sans-serif; color:#b9f4d4; }
.duel-guide-demo { display:block; width:100%; aspect-ratio:16/9; border:.3cqw solid #fff4ce; border-radius:1.2cqw; box-shadow:0 .5cqw 1.8cqw #07150d80; }
.boss-taunt { position:fixed; z-index:17; pointer-events:none; transform-origin:1.5% 49%; }
.boss-taunt[hidden] { display:none; }
.boss-taunt img { display:block; width:100%; }
.boss-taunt strong { position:absolute; inset:12% 7% 18% 18%; display:grid; place-items:center; font-family:Jua,sans-serif; color:#382619; text-align:center; white-space:pre-line; line-height:1.15; }
.duel-personal { width:100%; text-align:center; color:#fffde8; font:2.3cqw Jua,sans-serif; text-shadow:0 .15cqw #253e35; }
.duel-meter { position:relative; height:3.7cqw; background:#15251e; border:.25cqw solid #15251e; border-radius:2cqw; box-shadow:0 .25cqw #0005,0 0 0 .15cqw #fff5dc; overflow:hidden; }
.duel-meter i { position:absolute; top:0; height:100%; overflow:hidden; }
.duel-cold { left:0; background:linear-gradient(0deg,#178db6,#c8ffff 55%,#46d8ff); }
.duel-hot { right:0; background:linear-gradient(0deg,#ce340c,#fff09c 55%,#ff873b); }
.duel-meter i::after { content:''; position:absolute; inset:0; background-image:url('/assets/scenery/duel-beams-v1.png'); background-size:100% 200%; background-repeat:repeat-x; opacity:.9; }
.duel-cold::after { background-position:0 0; animation:duel-cold-flow .4s linear infinite; }
.duel-hot::after { background-position:0 100%; transform:scaleX(-1); animation:duel-hot-flow .4s linear infinite; }
.duel-contact { position:absolute; top:50%; transform:translate(-50%,-50%); color:#fffde0; font:3.3cqw/1 Jua,sans-serif; text-shadow:0 0 .4cqw #fff,0 0 .9cqw #ffed65; }
.duel-reward { position:absolute; z-index:4; pointer-events:none; white-space:nowrap; font:8.2cqw/1 Jua,sans-serif; color:#e3ffff; -webkit-text-stroke:.65cqw #15495d; paint-order:stroke fill; text-shadow:0 .65cqw #229dc3,0 1cqw 0 #103b4e,0 0 2cqw #adf9ff; transform-origin:50% 60%; }
@keyframes duel-cold-flow { to { background-position:3cqw 0; } }
@keyframes duel-hot-flow { to { background-position:3cqw 100%; } }
@keyframes duel-contact-pulse { to { transform:translate(-50%,-50%) scale(.8) rotate(18deg); } }
.wall.boss-dueling .boss-gauge { z-index:24; top:calc(var(--arena-top) + var(--arena-height)*.085); left:calc(var(--arena-left) + var(--arena-width)*.18); width:calc(var(--arena-width)*.64); }
.wall.boss-dueling .wall-header { z-index:28; }
#heat-recovery-fx { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:26; }
.wall.heat-recovering .heat-track { box-shadow:0 0 calc(8px + var(--heat-glow,0)*16px) #ffaf37,0 3px 0 #6b3616; }
.wall.heat-recovering #heat-cursor { color:#942e15; background:#fff1b7; }
#defense-status { width:100%; max-width:300px; margin:8px auto 4px; text-align:center; color:#23483f; }
#defense-status[hidden] { display:none; }
#defense-title { display:block; font:24px Jua,sans-serif; margin:0 0 8px; }
#defense-progress { width:100%; height:24px; appearance:none; border:2px solid #15251e; border-radius:20px; overflow:hidden; background:#fa743b; }
#defense-progress::-webkit-progress-bar { background:linear-gradient(#ffad56,#e95624); }
#defense-progress::-webkit-progress-value { background:linear-gradient(#c8ffff,#27bce7); }
#defense-progress::-moz-progress-bar { background:linear-gradient(#c8ffff,#27bce7); }
.controller[data-defense='waiting'] .phone-action { opacity:.65; }
.controller[data-defense='target'] .phone-action { box-shadow:0 0 0 5px #68d2c0,0 10px 0 #3e756c; }
.controller[data-defense='target'] #action-hint { color:#1d766a; }
@media(max-width:600px) {
  .wall.boss-dueling[data-game='cooling'] .wall-header { top:max(4px,calc(var(--arena-top) - 36px)); padding:0; }
}
@media(max-height:600px) and (orientation:landscape) {
  .boss-dueling .test-controls { bottom:4px; padding:4px 10px; gap:8px; }
  .boss-dueling .test-controls button { padding:6px 14px; }
}
