.boxing-brief .sport-title h1{font-size:clamp(43px,5.5vw,68px)}
.boxing-athlete{display:flex;align-items:center;gap:14px;margin-bottom:14px;min-width:0}.boxing-athlete>span{display:grid;gap:6px;font-size:12px;min-width:0}.boxing-athlete b{font:28px FestivalTitle,sans-serif;overflow-wrap:anywhere}.boxing-portrait{display:grid;place-items:center;flex:0 0 100px;width:100px;height:100px}.boxing-portrait img{width:90px;height:90px;object-fit:contain;image-rendering:pixelated}.boxing-portrait canvas{width:126px;height:100px;max-width:none;image-rendering:pixelated}.boxing-rule{font-size:14px;line-height:1.5}.boxing-brief .sport-how li b{margin-right:.25em}
.boxing-route{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px;margin:22px 0;font-size:16px;color:#fff3d8;background:#203951;padding:16px;border-top:3px solid #f5cf77}.boxing-route b{color:#f5cf77}
.boxing-draw{min-width:0;padding:14px;background:#fff3d8;color:#203951;border:2px solid #203951}.boxing-draw summary{cursor:pointer;font:20px FestivalTitle,sans-serif;padding:6px;min-height:36px}.boxing-draw .boxing-bracket{border:0;margin-top:18px}.boxing-draw .section-label h2{font-size:22px}.boxing-draw .bracket-matches{height:auto}.boxing-draw .bracket-athlete{min-width:0}.boxing-draw .bracket-athlete>.boxing-mini-portrait{flex:0 0 54px}.boxing-mini-portrait{display:grid;place-items:center;flex:0 0 54px;width:54px;height:48px}.boxing-mini-portrait img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}.boxing-mini-portrait canvas{width:60px;height:48px;max-width:none;image-rendering:pixelated}
.boxing-play .play-deck{max-width:1100px;align-items:center;min-width:0}.boxing-play .play-deck #touch-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,72px);max-width:580px;min-width:0;width:100%;flex:1.15;gap:7px}.boxing-play #touch-controls [data-action=left]{grid-column:1;grid-row:1}.boxing-play #touch-controls [data-action=down]{grid-column:2;grid-row:1}.boxing-play #touch-controls [data-action=right]{grid-column:3;grid-row:1}.boxing-play #touch-controls [data-action=action]{grid-column:1/-1;grid-row:2}.boxing-play .play-deck #touch-controls .engine-control{width:100%;max-width:none;min-width:0;min-height:72px;height:100%;padding:6px 3px;font-size:20px;line-height:1.1;white-space:nowrap;touch-action:none;user-select:none}.boxing-play .play-deck #touch-controls .engine-control[data-action=action]{background:#8bddc9}.boxing-play .play-deck #touch-controls .engine-control.boxing-tell{background:#fff3d8;border-color:#f5cf77}.boxing-play .play-deck #touch-controls .engine-control.boxing-open{background:#f5cf77;border-color:#fff3d8}.boxing-play #touch-controls .engine-control:disabled{opacity:.6}.boxing-play #boxing-bracket,.boxing-play #timing-cue{display:none}.boxing-play .play-viewport{width:min(100%,calc((100dvh - 310px)*960/540))}.boxing-play .play-deck .live-message{max-width:420px;min-width:0;background:#203951;color:#fff3d8}.boxing-play .play-deck #event-cue{font-size:25px}
.boxing-results{min-width:0}.boxing-results .winner-athlete>b{font-size:clamp(26px,3.6vw,55px);padding:8px}.boxing-results .finish-time{font-size:32px}.boxing-result-note{font-size:14px;line-height:1.5;color:#fff3d8}.boxing-history-note{padding:16px;line-height:1.5;font-size:14px}.boxing-bout-recap{list-style:none;margin:0;padding:8px 16px}.boxing-bout-recap li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:7px 12px;padding:17px 0;border-bottom:2px solid #c4d3c7}.boxing-bout-recap .boxing-round-label{grid-column:1/-1;font-size:12px;color:#496377}.boxing-bout-recap .boxing-mini-portrait{width:64px;height:58px;grid-row:2/4}.boxing-bout-recap .boxing-mini-portrait canvas{width:73px;height:58px}.boxing-bout-recap .boxing-opponent{font:26px FestivalTitle,sans-serif;overflow-wrap:anywhere;min-width:0}.boxing-bout-recap strong{align-self:center;color:#934637;font-size:14px;line-height:1.4}.boxing-bout-recap strong.won{color:#246d60}.boxing-bout-recap small{grid-column:1/-1;font-size:14px;line-height:1.5}.boxing-card>.boxing-draw{border:0;padding:10px}.boxing-card .bracket-columns{grid-template-columns:1fr}.boxing-card .bracket-matches{display:grid;grid-template-columns:1fr 1fr;gap:8px}.boxing-results .result-table{table-layout:fixed;width:100%}.boxing-results .result-table th:first-child{width:54px}.boxing-results .result-table th:nth-child(3){width:105px}.boxing-results .result-actions{display:flex;flex-wrap:wrap;gap:9px}.boxing-results .result-actions .btn{flex:1 1 140px;min-width:0;white-space:normal;line-height:1.2}
@media(max-width:720px){.boxing-brief .sport-how{display:flex;flex-direction:column;gap:14px;min-width:0}.boxing-brief .sport-how>*{width:100%;min-width:0}.boxing-brief .sport-how ol{margin:0}.boxing-brief .sport-how .brief-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.boxing-brief .sport-how .brief-buttons .btn{min-width:0}.boxing-brief .sport-how .brief-buttons .btn-primary{grid-column:1/-1}.boxing-route{font-size:12px;gap:9px;padding:13px 7px}.boxing-brief .sport-how li{font-size:14px}.boxing-brief .sport-how li b{font-size:16px}.boxing-play .play-deck{padding:7px 12px;gap:5px}.boxing-play .play-deck .live-message{max-width:none;min-height:43px;padding:5px}.boxing-play .play-deck #event-cue{font-size:22px}.boxing-play .play-deck #event-status{font-size:12px}.boxing-play .play-deck #touch-controls{max-width:none}.boxing-play .play-deck #touch-controls .engine-control{font-size:18px}.boxing-play .play-viewport{width:min(100%,calc((100dvh - 330px)*640/660))}.boxing-play .play-viewport canvas{aspect-ratio:auto}.boxing-results .run-stats{gap:18px}.boxing-results .winner-athlete>b{font-size:30px}.boxing-results .finish-time{font-size:30px}.boxing-draw .bracket-columns{grid-template-columns:1fr}.boxing-card .bracket-matches{grid-template-columns:1fr}.boxing-results .result-actions .btn-primary{flex-basis:100%}.boxing-results .result-table th:first-child{width:40px}.boxing-results .result-table th:nth-child(3){width:83px}}
@media(max-height:550px) and (orientation:landscape){.boxing-play .play-viewport{width:min(100%,calc((100dvh - 150px)*960/540))}.boxing-play .play-deck{flex-direction:row;gap:10px;padding:6px 12px}.boxing-play .play-deck #touch-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:48px;max-width:530px}.boxing-play #touch-controls [data-action=action]{grid-column:4;grid-row:1}.boxing-play .play-deck #touch-controls .engine-control{font-size:16px;min-height:48px;padding:4px 2px}.boxing-play .play-deck .live-message{max-width:220px}.boxing-play .play-deck #event-cue{font-size:17px}}
