/* Result-only presentation. Existing result/celebration/replay controllers own all state. */
/* End-state focus: inactive battle controls must not sit above the result card.
   Keep logo/music/settings available. The app's existing hidden class restores
   every control automatically for the next round; highlight playback is excluded. */
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .battle-hud-dock,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .battle-hud-clock,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .battle-hud-players,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .battle-hud-objective,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) [data-control],
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) #touch-controls,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .match-bar,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .player-strip,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .control-bar,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .story-hud,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .core-phase,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .core-team,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .core-footer,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .core-movement,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .core-action-slot,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .core-feedback,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) #skill-loadout,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) #compact-loadout,
body:not(.highlight-presenting):has(#round-banner:not(.hidden)) #arena-status{
 visibility:hidden!important;pointer-events:none!important;
}
#round-banner.round-banner{
 --result-hero-height:210px;
 position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:4px;
 width:min(760px,94%);max-width:calc(100% - 24px);max-height:calc(100% - 24px);
 padding:17px 28px 20px;box-sizing:border-box;
 border:20px solid transparent;border-image:url('../assets/room-art-v1/lobby-gold-frame.webp') 150 / 30px / 1px stretch;
 border-radius:0;background:none;color:#124f65;box-shadow:none;backdrop-filter:none;
 isolation:isolate;overflow:auto;scrollbar-width:thin;scrollbar-color:#b99135 #fff2c4;
}
#round-banner.round-banner::before{
 content:"";position:absolute;inset:7px;z-index:-1;pointer-events:none;border-radius:21px;
 background:radial-gradient(ellipse at 50% 45%,#efffff 0%,#b4f3ed 24%,#43b8c6 53%,transparent 78%),linear-gradient(#fff5cd 0%,#a6eee7 43%,#fff5d6 83%);
 box-shadow:inset 0 0 0 1px #f9e7a5,0 18px 50px #03233480;
}
#round-banner.round-banner #result-kicker{
 margin:0;max-width:100%;font:900 12px/1.25 'Nunito Sans',sans-serif;letter-spacing:1.6px;
 color:#076175;text-shadow:0 1px #fff8d6;text-align:center;overflow-wrap:anywhere;
}
#round-banner.round-banner #result-title{
 display:flex;align-items:center;justify-content:center;align-self:center;
 width:100%;min-height:100px;margin:-1px 0 -6px;padding:23px 16% 29px;
 background:url('../assets/room-art-v1/title-plaque.webp') center/100% 100% no-repeat;
 font:800 clamp(25px,3vw,38px)/1.05 'Baloo 2','Nunito Sans',sans-serif;letter-spacing:0;
 color:#fff3c5;text-shadow:0 2px 1px #4d250c;overflow-wrap:anywhere;text-align:center;
}
#round-banner.round-banner #winner-dances{
 display:flex;align-items:flex-end;justify-content:center;gap:12px;
 width:100%;min-width:0;min-height:0;height:auto;margin:0;padding:0 3px;
}
#round-banner.round-banner #winner-dances:empty{display:none}
#round-banner.round-banner #winner-dances figure{
 position:relative;isolation:isolate;flex:0 1 230px;min-width:0;height:calc(var(--result-hero-height) + 21px);margin:0;
}
#round-banner.round-banner #winner-dances figure::before{
 content:"";position:absolute;z-index:-1;left:-2%;right:-2%;bottom:0;height:55px;
 background:url('../assets/room-art-v1/seat-pedestal.webp') center/100% 100% no-repeat;pointer-events:none;
}
#round-banner.round-banner #winner-dances figure canvas,
#round-banner.round-banner #winner-dances figure .winner-idle-portrait{
 position:absolute;inset:auto 0 34px;display:block;width:100%;height:var(--result-hero-height);max-height:none;
 object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 2px #07596c33);
}
#round-banner.round-banner #winner-dances figcaption{
 position:absolute;left:15%;right:15%;bottom:10px;max-width:70%;margin:0;
 font:900 14px/1.1 'Nunito Sans',sans-serif;color:#15516c;text-shadow:0 1px #fff8d9;
 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;
}
#round-banner.round-banner #result-note{
 width:100%;margin:7px 0 3px;font:800 14px/1.35 'Nunito Sans',sans-serif;
 color:#155568;text-align:center;text-wrap:pretty;overflow-wrap:anywhere;
}
#round-banner.round-banner #result-breakdown{
 display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:0 0 3px;padding:0;list-style:none;
}
#round-banner.round-banner #result-breakdown[hidden]{display:none}
#round-banner.round-banner #result-breakdown li{
 border:1px solid #d4b96d;border-radius:6px;background:#fffbdf;color:#155568;padding:3px 8px;font-size:12px;
}
#round-banner.round-banner>[data-action="rematch"]{
 display:flex;align-items:center;justify-content:center;gap:10px;width:min(390px,92%);min-height:64px;margin:0;
 border:0;border-radius:0;padding:15px 35px;box-shadow:none;
 background:transparent url('../assets/guild-v1/guild-button-gold-f8b73b3387cf.webp') center/112% 150% no-repeat;
 color:#54310a;text-shadow:0 1px #fff5bd;font:900 19px/1.15 'Nunito Sans',sans-serif;white-space:normal;
}
#round-banner.round-banner>[data-action="rematch"]:disabled{opacity:.76;filter:saturate(.45);cursor:default}
#round-banner.round-banner>[data-action="rematch"]:focus-visible{outline:3px solid #007c9d;outline-offset:2px}
#round-banner.round-banner .dance-error{color:#155568;font-size:13px;line-height:1.35;padding:12px}
#round-banner.round-banner .dance-error button{
 margin:8px auto 0;border:1px solid #cba54c;border-radius:8px;background:#fff1bf;color:#15516c;min-height:44px;padding:6px 16px;
}
#round-banner.round-banner #winner-dances>.skin-load-status{position:relative;color:#155568;border-color:#dfbd63;background:#fff8df}
/* Short landscape screens retain four readable winners and an accessible replay target. */
@media(orientation:landscape) and (max-height:600px){
 body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .battle-hud-music,
 body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .battle-hud-tools,
 body:not(.highlight-presenting):has(#round-banner:not(.hidden)) .battle-hud-settings-group{visibility:hidden!important;pointer-events:none!important}
 #round-banner.round-banner{
  --result-hero-height:120px;width:min(680px,94%);max-height:calc(100% - 16px);max-width:calc(100% - 18px);
  padding:10px 22px 11px;border-width:14px;border-image-width:23px;gap:2px;
 }
 #round-banner.round-banner::before{inset:5px;border-radius:17px}
 #round-banner.round-banner #result-kicker{font-size:10px;letter-spacing:1px}
 #round-banner.round-banner #result-title{min-height:67px;padding:15px 16% 20px;margin:-2px 0 -5px;font-size:26px}
 #round-banner.round-banner #winner-dances{gap:8px;padding:0 4px}
 #round-banner.round-banner #winner-dances figure{flex-basis:174px;height:calc(var(--result-hero-height) + 13px)}
 #round-banner.round-banner #winner-dances figure::before{height:43px}
 #round-banner.round-banner #winner-dances figure canvas,
 #round-banner.round-banner #winner-dances figure .winner-idle-portrait{bottom:26px;height:var(--result-hero-height)}
 #round-banner.round-banner #winner-dances figcaption{bottom:7px;font-size:12px}
 #round-banner.round-banner #result-note{font-size:12px;line-height:1.25;margin:4px 0 2px}
 #round-banner.round-banner #result-breakdown{gap:3px;margin:1px 0}
 #round-banner.round-banner #result-breakdown li{font-size:11px;padding:2px 6px}
 #round-banner.round-banner>[data-action="rematch"]{min-height:44px;width:min(330px,88%);font-size:15px;padding:8px 28px}
}
@media(orientation:landscape) and (max-height:360px){
 #round-banner.round-banner{--result-hero-height:94px;padding-top:7px;padding-bottom:7px}
 #round-banner.round-banner #result-title{min-height:58px;font-size:23px;padding-top:12px;padding-bottom:18px}
}
