/* Give the match the window; keep menus outside the playing surface. */
body:has(#arena-view:not(.hidden))>.topbar,
body:has(#arena-view:not(.hidden))>footer{display:none}
body:has(#arena-view:not(.hidden)) main{max-width:none;width:100%;padding:0 clamp(8px,1.25vw,24px)}
#arena-view{display:flex;flex-direction:column;height:100svh;min-height:320px;padding:10px 0 0;gap:0}
#arena-view .arena-toolbar{flex:0 0 auto;min-height:44px;justify-content:flex-start;flex-wrap:nowrap;gap:16px;position:relative;z-index:8}
#arena-view .arena-toolbar>.match-identity{min-width:0;gap:10px;flex:1}
#arena-mode{overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:8px;font-size:8px}
#arena-view .arena-toolbar .text-button{white-space:nowrap;min-height:44px;padding:10px 5px;font-size:11px}
#arena-view .arena-score{flex:0 0 auto;height:50px;margin:0;gap:28px}
#arena-view .arena-score strong{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#arena-view .canvas-shell{flex:1 1 0;min-height:120px;width:100%;max-width:none;margin:0;border-radius:10px}
#arena-view .canvas-shell>canvas{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
#arena-view .arena-bottom{flex:0 0 auto;min-height:34px;margin:0;padding:8px 0;font-size:8px;gap:24px}
#arena-view .arena-bottom kbd{padding:4px 6px}
#arena-view .arena-note{flex:0 0 auto;margin:0;padding:4px 0 8px;line-height:1.4;font-size:8px}
#arena-view .touch-controls{display:none;flex:0 0 auto;margin:6px 0;gap:12px}
.arena-settings{position:relative;flex-shrink:0}
.arena-settings summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer}
.arena-settings summary::after{content:'⌄';color:var(--lime)}
.arena-settings summary::-webkit-details-marker{display:none}
.arena-settings[open] summary{color:var(--lime)}
.arena-settings summary:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
#arena-view .arena-settings-panel{position:absolute;top:calc(100% + 8px);right:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;width:340px;max-width:calc(100vw - 24px);padding:18px;background:#10212cf5;border:1px solid #496271;border-radius:10px;box-shadow:0 14px 40px #0007;backdrop-filter:blur(12px)}
#arena-view .arena-settings-panel .graphics-setting{display:flex;align-items:stretch;flex-direction:column;gap:7px;margin:0;font-size:10px}
#arena-view .arena-settings-panel select{width:100%;min-height:40px;font-size:11px}
#arena-view .arena-settings-panel #viewers{margin-left:0;font:9px var(--mono)}
#arena-view .replay-panel{flex:0 0 auto;max-height:180px;margin:8px 0;padding:12px;overflow:auto;grid-template-columns:1fr minmax(150px,30%)}
#arena-view #replay-court{max-height:150px;object-fit:contain}
#arena-view:fullscreen{width:100%;height:100dvh;padding:10px 12px 0;background:#091016;overflow:auto}
@media(max-width:700px){
  #arena-view{padding-top:6px}
  #arena-view .arena-toolbar{gap:8px}
  #arena-view .arena-toolbar .text-button{font-size:10px;padding:8px 3px}
  #arena-mode{font-size:6px;padding:7px;max-width:28vw}
  #arena-view #connection{font-size:7px;max-width:90px}
  #arena-view .arena-score{height:44px;gap:16px}
  #arena-view .arena-score strong{max-width:80px;font-size:9px}
  #arena-view .arena-bottom{gap:12px;font-size:7px}
  #arena-view .canvas-shell{border-radius:7px}
  #arena-view .arena-settings-panel{position:fixed;top:54px;right:8px;padding:14px;gap:10px;width:300px}
  #arena-view .replay-panel{max-height:150px;gap:12px;grid-template-columns:1fr 40%}
  #arena-view .replay-panel h3{font-size:16px}
}
@media(max-width:600px) and (orientation:portrait){
  #arena-view{height:auto;min-height:100svh}
  #arena-view .canvas-shell{flex:0 0 auto;height:auto;aspect-ratio:5/4;min-height:0}
  #arena-view .canvas-shell>canvas{position:absolute;inset:0}
}
@media(pointer:coarse){
  #arena-view .touch-controls{display:flex}
  #arena-view .arena-bottom{display:none}
  #arena-view .touch-controls button{min-width:44px;min-height:44px}
}
@media(max-height:500px){
  #arena-view{padding-top:3px}
  #arena-view .arena-score{height:36px}
  #arena-view .arena-bottom,#arena-view .arena-note{display:none}
  #arena-view .touch-controls{margin:3px 0}
  #arena-view .touch-pad{display:flex;align-items:center;gap:5px}
  #arena-view .touch-pad>div{margin:0}
}

.match-sponsor{position:absolute;right:12px;bottom:10px;z-index:4;max-width:65%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:9px 12px;border:1px solid #4a686a;border-radius:5px;background:#09161de6;color:#baf4e7;font:9px var(--mono);text-decoration:none;min-height:32px;display:flex;align-items:center}
.match-sponsor:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

.match-sponsor{display:block}.match-sponsor summary{cursor:pointer;list-style:none}.match-sponsor[open]{max-width:min(360px,85%);background:#0b171ef5;white-space:normal}.match-sponsor a{display:block;padding:8px 0;color:inherit;text-decoration:none;font-size:10px}.match-sponsor a:focus-visible{outline:2px solid var(--lime)}
/* Replay desk: readable controls and a compact broadcast frame. */
#arena-view .replay-panel{grid-template-columns:minmax(240px,1fr) minmax(250px,42%);gap:24px;max-height:230px;background:linear-gradient(120deg,#14252d,#0b151d);border-color:#35515b;border-radius:12px;padding:16px 20px;overflow:auto}
#arena-view .replay-panel h3{font-size:20px;margin:8px 0;letter-spacing:-.04em}
#arena-view .replay-panel p{margin:5px 0 10px;max-width:42ch;font-size:10px}
.replay-copy>label{display:flex;align-items:center;gap:12px;color:#aec4cc;font:9px var(--mono)}
.replay-copy select,.replay-controls select{min-height:32px;max-width:230px;padding:6px 10px;font-size:10px;background:#09151c;border:1px solid #35515b;border-radius:5px;color:#e6f4f6}
.replay-controls{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.replay-controls>label{display:flex;align-items:center;gap:6px;color:#aec4cc;font:9px var(--mono)}
.replay-controls button{min-height:36px;padding:8px 12px;font-size:10px}
.replay-stage{min-width:0}.replay-surface{position:relative;border:1px solid #49646d;border-radius:8px;overflow:hidden;background:#0b171e;aspect-ratio:5/3;max-height:155px}
#arena-view .replay-surface>canvas{width:100%;height:100%;max-height:none;object-fit:contain;border:0;border-radius:0;display:block}
.replay-source{position:absolute;top:8px;left:8px;padding:4px 7px;border-radius:3px;background:#08151ee0;color:#dceff2;font:6px var(--mono);pointer-events:none}
.replay-timeline{display:flex;align-items:center;gap:10px;padding-top:8px}.replay-timeline input{width:100%;min-width:0;accent-color:#baf4e7;cursor:pointer}.replay-timeline output{white-space:nowrap;color:#aec4cc;font:8px var(--mono)}
#arena-view #replay-goal{color:#baf4e7;border:1px solid #3b5b63;border-radius:5px;padding:8px 12px;min-height:36px}
#arena-view .goal-celebration{font:600 14px var(--sans);letter-spacing:.04em;padding:12px 24px;background:linear-gradient(120deg,#163d3cf2,#0b171ef2);border-color:#baf4e799;border-radius:8px;box-shadow:0 8px 40px #07171c99}
@media(max-width:700px){#arena-view .replay-panel{grid-template-columns:1fr;max-height:300px;gap:12px;padding:12px}#arena-view .replay-panel h3{font-size:16px}.replay-copy>label select{max-width:190px}.replay-stage{max-width:100%;width:100%}.replay-surface{max-height:140px}#arena-view #replay-goal{font-size:8px;padding:6px;min-height:36px}#arena-view .goal-celebration{font-size:10px;padding:9px 13px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#arena-view .replay-surface{width:100%;height:170px;aspect-ratio:auto;max-height:none}
@media(max-width:700px){#arena-view .replay-surface{height:140px}}
