/* Keep beat reading beside the opponent; the thumb control stays below. */
.arena .rhythm{top:var(--lane-top,24%);bottom:auto;height:76px;width:min(540px,calc(100% - 32px));pointer-events:none;filter:none;z-index:2}
.arena .rhythm-caption{padding-right:0;gap:8px;margin-bottom:5px;text-shadow:0 1px 4px #07111e,0 0 9px #07111e}
.arena .rhythm-caption #cue{font-size:10px}.arena .rhythm-caption #roundProgress,.arena .combo-badge{font-size:10px}
.arena .rhythm canvas{display:block;width:100%;height:56px;border-radius:14px;background:transparent;border:1px solid #ffe4a05c;box-shadow:0 0 calc(2px + var(--impact)*16px) #ffd37550}
.arena .rhythm.hot canvas{box-shadow:0 0 calc(4px + var(--impact)*20px) color-mix(in srgb,var(--weapon-color,#ff9d5c) 45%,transparent)}
.arena > .throw-button{display:none;top:auto;bottom:22px;right:20px;width:118px;height:76px;z-index:2;touch-action:manipulation}
.arena.playing > .throw-button{display:block}.arena.paused .rhythm{opacity:.65}
.arena.playing .target-card{opacity:0;pointer-events:none}.arena.playing .target-card:focus-within{opacity:0}
.arena .weapon-card{bottom:22px}.arena .verdict{top:57%;pointer-events:none}
@media(max-width:680px){.arena .rhythm-caption #cue{font-size:9px}.arena .rhythm-caption #roundProgress,.arena .combo-badge{font-size:9px}.arena > .throw-button{right:16px;bottom:20px;width:116px;height:76px;font-size:26px}.arena .weapon-card{bottom:20px}.arena .rhythm canvas{height:56px}.arena .rhythm-caption{gap:5px}.arena .target-tag{display:none}}
@media(max-height:480px){.arena > .throw-button{right:14px;bottom:14px;width:100px;height:62px}.arena .rhythm{width:min(420px,calc(100% - 170px))}.arena .rhythm canvas{height:48px}.arena .verdict{top:57%;font-size:25px}}
@media(prefers-reduced-motion:reduce){.arena .rhythm canvas,.arena .rhythm.hot canvas{box-shadow:none}}
/* Compact score clears the rail on short phones; pause restores photo controls. */
.arena.playing .target-card{visibility:hidden}.arena.playing .target-tag{display:none}
.arena.playing .score-card{top:54px;right:16px;width:auto;min-width:82px;padding:5px 10px;background:#182a414d}
.arena.playing .score-card .tiny-label,.arena.playing .score-card .relief,.arena.playing .score-card>div{display:none}
.arena.playing .score-card>strong{font-size:22px;line-height:26px;margin:0;letter-spacing:0}
