.diving-brief .sport-title h1{font-size:clamp(42px,5.5vw,68px)}
.diving-athlete{display:flex;align-items:center;gap:14px;margin-bottom:14px;min-width:0}.diving-athlete>span{display:grid;gap:6px;font-size:12px;min-width:0}.diving-athlete b{font:28px FestivalTitle,sans-serif;overflow-wrap:anywhere}.diving-portrait{display:grid;place-items:center;flex:0 0 100px;width:100px;height:100px}.diving-portrait img{width:90px;height:90px;object-fit:contain;image-rendering:pixelated}.diving-portrait canvas{width:126px;height:100px;max-width:none;image-rendering:pixelated}.diving-rule{font-size:14px;line-height:1.5}.diving-brief .sport-how li b{margin-right:.25em}
.diving-play .play-deck{max-width:1100px;align-items:center;min-width:0}.diving-play .play-deck #touch-controls[data-layout=diving]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,72px);width:100%;max-width:480px;min-width:0;flex:1;gap:8px;margin:0}.diving-play #touch-controls [data-action=action]{grid-column:1;grid-row:1}.diving-play #touch-controls [data-action=up]{grid-column:2;grid-row:1}.diving-play #touch-controls [data-action=left]{grid-column:1;grid-row:2}.diving-play #touch-controls [data-action=down]{grid-column:2;grid-row:2}.diving-play #touch-controls [data-action=right]{grid-column:3;grid-row:2}.diving-play .play-deck #touch-controls .engine-control{width:100%;max-width:none;min-width:0;min-height:72px;height:100%;background:#35576d;color:#fff3d8;border-color:#87acb4;padding:5px 2px;font-size:25px;line-height:1.05;white-space:nowrap;touch-action:none;user-select:none}.diving-play .play-deck #touch-controls [data-action=action]{font-size:17px;white-space:normal;overflow-wrap:normal;background:#8bddc9;color:#203951}.diving-play #touch-controls .engine-control.is-held{background:#fff3d8;color:#203951}.diving-play #touch-controls .engine-control.shot-ready{background:#f5cf77;color:#203951;border-color:#fff3d8}.diving-play #touch-controls .engine-control.diving-wrong{border-color:#ee826a}.diving-play #touch-controls .engine-control:disabled{opacity:.55}.diving-play #timing-cue{display:none}.diving-play .play-viewport{width:min(100%,calc((100dvh - 310px)*960/540))}.diving-play .play-viewport canvas{aspect-ratio:auto}.diving-play .play-deck .live-message{max-width:430px;min-width:0;background:#203951;color:#fff3d8}.diving-play #event-cue{font-size:24px}.diving-play #play-mode-label{background:#203951;color:#fff3d8;padding:4px 7px}
.diving-results{min-width:0}.diving-results>section,.diving-results>div{min-width:0}.diving-results .winner-athlete>b{font-size:clamp(26px,3.6vw,55px)}.diving-note{font-size:14px;line-height:1.5;color:#d2e6e8}.diving-attempts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.diving-attempt{min-width:0;padding:14px 10px;background:#35576d;border:2px solid #87acb4}.diving-attempt h2{font-size:13px;margin:0 0 7px}.diving-attempt>strong{font:34px FestivalTitle,sans-serif;color:#fff3d8}.diving-attempt p{font-size:13px;line-height:1.4;margin:8px 0}.diving-attempt small{font-size:12px;line-height:1.5;color:#d2e6e8}.diving-notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;list-style:none;margin:12px 0;padding:0}.diving-notes li{min-width:0;padding:7px 1px;border:1px solid #87acb4;background:#203951}.diving-notes b{display:block;font-size:25px;line-height:1.2;color:#fff3d8}.diving-notes span{display:block;font-size:10px;line-height:1.3}.diving-notes .hit{border-color:#f5cf77;color:#f5cf77}.diving-notes .miss{color:#ffb29b}.diving-results .result-actions{display:flex;flex-wrap:wrap;gap:9px}.diving-results .result-actions .btn{flex:1 1 140px;min-width:0;white-space:normal;line-height:1.2}.diving-results .result-table{table-layout:fixed;width:100%}.diving-results .result-table th:first-child{width:48px}.diving-results .result-table th:last-child{width:100px}.diving-results .trainer-cell{overflow-wrap:anywhere}.diving-results .trainer-cell>div{min-width:0}.diving-results .result-score{font-size:24px}
@media(max-width:720px){.diving-brief .sport-how{display:flex;flex-direction:column;gap:14px;min-width:0}.diving-brief .sport-how>*{width:100%;min-width:0}.diving-brief .sport-how ol{margin:0}.diving-brief .sport-how .brief-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.diving-brief .brief-buttons .btn{min-width:0}.diving-brief .brief-buttons .btn-primary{grid-column:1/-1}.diving-brief .sport-how li{font-size:14px}.diving-brief .sport-how li b{font-size:16px}.diving-play .play-deck{padding:7px 12px;gap:5px}.diving-play .play-deck .live-message{max-width:none;min-height:43px;padding:5px}.diving-play #event-cue{font-size:21px}.diving-play #event-status{font-size:12px}.diving-play .play-deck #touch-controls[data-layout=diving]{max-width:none}.diving-play .play-viewport{width:min(100%,calc((100dvh - 330px)*640/660))}.diving-results .winner-athlete canvas{width:128px;height:128px;min-width:0;flex:0 1 128px}.diving-results .result-actions .btn-primary{flex-basis:100%}.diving-results .result-table th:first-child{width:32px}.diving-results .result-table th:last-child{width:82px}.diving-results .result-table td,.diving-results .result-table th{padding:8px 5px}.diving-results .trainer-cell{font-size:15px}.diving-results .trainer-cell img{flex:0 0 29px;width:29px}}
@media(max-width:420px){.diving-attempts{grid-template-columns:1fr}.diving-notes{gap:6px}.diving-notes span{font-size:11px}}
@media(max-height:550px) and (orientation:landscape){.diving-play .play-viewport{width:min(100%,calc((100dvh - 150px)*960/540))}.diving-play .play-deck{flex-direction:row;gap:10px;padding:6px 12px}.diving-play .play-deck #touch-controls[data-layout=diving]{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:48px;max-width:530px}.diving-play #touch-controls [data-action=action]{grid-column:1;grid-row:1}.diving-play #touch-controls [data-action=up]{grid-column:2;grid-row:1}.diving-play #touch-controls [data-action=left]{grid-column:3;grid-row:1}.diving-play #touch-controls [data-action=down]{grid-column:4;grid-row:1}.diving-play #touch-controls [data-action=right]{grid-column:5;grid-row:1}.diving-play .play-deck #touch-controls .engine-control{min-height:48px;font-size:20px;padding:4px 2px}.diving-play .play-deck #touch-controls [data-action=action]{font-size:13px}.diving-play .play-deck .live-message{max-width:220px}.diving-play #event-cue{font-size:17px}}
