/* Explicit buttons stay visible on touchscreens, independent of native spinners. */
.roster-board{min-width:1120px}.sheet th:first-child{width:34%}
.sheet .stat-stepper{display:flex;align-items:center;justify-content:center;gap:4px;min-width:62px}
.stat-stepper output{min-width:20px;font-size:16px;font-weight:750;font-variant-numeric:tabular-nums}
.stat-arrows{display:flex;flex-direction:column;gap:2px}
.sheet .stat-arrows button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #b4bdc5;border-radius:6px;background:#fff;color:#801d34;font-size:17px;line-height:1;touch-action:manipulation;user-select:none}
.sheet .stat-arrows button:active{background:#f4dce4}.sheet .stat-arrows button:disabled{color:#939ba2;background:#eef0f2;opacity:.65;cursor:default}
@media print{.stat-arrows{display:none!important}.roster-board{min-width:0}}
.team-markers{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #c9d0d5;background:#faf7f8}.team-marker{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px}.team-marker+.team-marker{border-left:1px solid #c9d0d5}.team-marker>span{font-size:12px;font-weight:700;max-width:100px}
.availability{display:grid;gap:5px;padding:5px 2px;font-size:11px}.availability label{display:flex;gap:5px;align-items:center;text-align:left}.sheet .availability input{width:24px;height:24px;min-height:24px;margin:0;accent-color:#801d34}.availability small{font-size:10px}.rule-alert{color:#963a23;line-height:1.7}.rule-team-note{padding:8px 12px;background:#faf7f8;font-size:12px;line-height:1.6}.rule-summary{padding:14px;margin:12px 0;background:#f4f6f8;border:1px solid #d9dfe4;border-radius:8px;font-size:13px;line-height:1.6}.rule-summary p{margin:6px 0}.rule-due{background:#fff2d2;border-color:#c79a38}.league-rules select{padding:10px;border:1px solid #c9d0d5;border-radius:6px}.league-rules summary{padding:12px 0;font-weight:750;cursor:pointer}.rotation-scroll{overflow:auto}.rotation-table{font-variant-numeric:tabular-nums}.rotation-table th,.rotation-table td{padding:8px;font-size:11px;border:1px solid #d4d9dd}.rotation-table th:first-child{position:sticky;left:0;background:#f4f6f8;z-index:1}.league-rules details h3{margin-top:16px}@media print{.availability input,.league-rules .score-control,.league-rules button{display:none!important}.rotation-scroll{overflow:visible}}
.rotation-plan{display:flex;align-items:center;gap:5px;justify-content:center;min-width:62px}.rotation-plan input{width:24px;height:24px;accent-color:#801d34;flex-shrink:0}@media print{.rotation-plan input{appearance:auto!important;display:inline-block!important}.rotation-table th,.rotation-table td{font-size:8px;padding:4px}}
.sheet tr.unavailable{background:#e5e7e9;color:#737b82}.sheet tr.unavailable .player-select{color:#737b82;opacity:.6;cursor:not-allowed}.sheet tr.unavailable .stat-stepper,.sheet tr.unavailable .player-time{opacity:.45}.sheet tr.unavailable .availability{color:#4b535b}.sheet tr.unavailable .availability input{opacity:1;cursor:pointer}
.player-identity{display:flex;gap:7px;align-items:center}.sheet .jersey-entry{display:flex;align-items:center;gap:2px;flex-shrink:0;color:#801d34;font-size:13px;font-weight:800}.sheet .jersey-entry input{width:46px;min-width:46px;height:44px;min-height:44px;padding:2px;text-align:center;border:1px solid #bcc4ca;background:white;font-size:16px;font-weight:750;border-radius:6px;touch-action:manipulation}.player-identity .player-select{flex:1;min-width:0}.rule-popup{width:min(620px,calc(100vw - 32px));max-height:85vh;overflow-y:auto;border:0;border-top:6px solid #801d34;border-radius:14px;padding:24px;box-shadow:0 16px 80px #0004;color:#18212d}.rule-popup::backdrop{background:#111a28a8}.rule-popup h2{font-size:22px}.rule-popup ul{padding-left:20px}.rule-popup li{margin:16px 0}.rule-popup li p{margin:7px 0;font-size:14px;line-height:1.6}.rule-popup .actions{margin-top:22px;align-items:center}.rule-popup .btn{min-height:44px}.sheet .unavailable .jersey-entry{opacity:.65}@media print{.sheet .jersey-entry input{width:24px;min-width:24px;height:auto;min-height:0;border:0;font-size:10px}.rule-popup{display:none!important}}
.team-foul-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid #c9d0d5;background:#f2f5f8}.team-foul-panel label{font-size:12px;font-weight:750;display:grid;gap:5px}.team-foul-panel select{padding:6px;border:1px solid #bdc6cd;border-radius:5px;max-width:260px;background:#fff}.team-foul-panel small{display:block;margin-top:6px;font-size:11px;color:#801d34;font-weight:700}.foul-help{margin:0;padding:6px 12px 10px;font-size:10px;color:#65717f;line-height:1.5;background:#f2f5f8}
.game-rules-bar{position:static;margin-top:24px;background:#fff;border:1px solid #d4dbe1;border-top:3px solid #801d34;border-radius:8px;box-shadow:0 3px 14px #1a253008;padding:8px 12px 12px}.game-rules-bar-scroll{overflow-x:auto}.game-rules-bar table{table-layout:auto;min-width:785px;white-space:normal}.game-rules-bar th{font-size:10px;letter-spacing:0;text-transform:none;background:white;color:#68737e;padding:6px 8px;border-bottom:1px solid #e2e6e9;white-space:nowrap}.game-rules-bar td{padding:7px 8px;font-size:11px;vertical-align:middle;border:0}.game-rules-bar td strong{display:block;font-size:12px}.game-rules-bar td small{display:block;margin-top:4px;font-size:10px;color:#6a747d}.game-rules-bar td .rule-alert{color:#963a23;max-width:160px}.game-rules-bar select{min-height:44px;max-width:148px;padding:7px;border:1px solid #b8c1c8;border-radius:7px;background:#fff;font-size:12px}.game-rules-bar .btn{min-height:44px;padding:9px 10px;white-space:nowrap;font-size:11px}.rules-reference-header{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}.rules-reference-close{border:1px solid #c9cfd5;background:white;border-radius:7px;width:44px;height:44px;flex-shrink:0;font-size:26px;color:#65717f}.rules-reference-popup section{margin:20px 0}.rules-reference-popup section p{line-height:1.65;margin:7px 0;font-size:14px}@media(max-width:700px){.game-rules-bar{padding:8px 7px}}@media print{.game-rules-bar,.rules-reference-popup{display:none!important}.main:has(.game-rules-bar){padding-bottom:0}}
.arena-scoreboard.sheet-clock{display:block;background:#151d2b;border:1px solid #303d50;border-radius:16px;padding:0;color:#fff;overflow:hidden;box-shadow:0 10px 30px #15203522}.arena-caption{display:flex;justify-content:space-between;gap:15px;padding:12px 20px;border-bottom:1px solid #ffffff1c;background:#111824;color:#a9b7ca;font-size:10px;font-weight:800;letter-spacing:.13em}.arena-score-grid{display:grid;grid-template-columns:1fr minmax(170px,.8fr) 1fr;align-items:center;gap:12px;padding:20px}.arena-team{min-width:0;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.shirt-team-logo{width:86px;height:86px;object-fit:contain;display:block;filter:drop-shadow(0 3px 8px #0004)}.shirt-logo-fallback{width:86px;height:86px;display:grid;place-items:center;border:2px solid #536176;border-radius:50%;font-size:28px;font-weight:850;color:#d8e1ed}.arena-team-name>span{font-size:10px;color:#c0ccdc;letter-spacing:.16em;font-weight:800}.arena-team h2{color:#fff;font-size:20px;margin:5px 0 0;line-height:1.25;overflow-wrap:anywhere}.arena-score{min-width:110px;padding:5px 12px;font:800 72px/1.15 ui-monospace,Consolas,monospace;letter-spacing:.03em;color:#ffd174;background:#0c111b;border:1px solid #ffffff14;border-radius:9px;text-shadow:0 0 16px #f3b63733;font-variant-numeric:tabular-nums;border-bottom:3px solid var(--team-accent)}.arena-clock{display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center;color:#c0ccdc}.arena-clock>b{font-size:15px;color:#fff}.arena-clock>span{font-size:9px;letter-spacing:.1em}.arena-clock>small{font-size:12px;color:#ffd174}.arena-clock .clock-steppers{gap:4px}.arena-clock .step-number{font-size:38px;color:#ffda8e}.arena-clock .step-arrow{border:1px solid #536176;background:#253146;color:#fff;min-width:40px}.arena-clock .unit-label{color:#b6c2d3}.arena-clock .clock-colon{color:#ffd174}.sheet header.arena-sheet-header{background:#151d2b;padding:12px 14px;border-bottom:3px solid #39475b}.sheet .arena-team-small{display:grid;grid-template-columns:64px 1fr auto;gap:12px;text-align:left}.arena-team-small .shirt-team-logo,.arena-team-small .shirt-logo-fallback{width:64px;height:64px}.sheet .arena-team-small h2{color:#fff;font-size:18px;line-height:1.25;margin:4px 0}.arena-team-small .arena-score{font-size:46px;min-width:70px;text-align:center;padding:2px 8px}.compact-team-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f3f5f7;border-bottom:1px solid #c9d0d5}.compact-team-stat{padding:8px 6px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.compact-team-stat+.compact-team-stat{border-left:1px solid #d6dce1}.compact-stat-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px 6px;min-height:34px;text-align:center;font-size:11px}.compact-stat-heading small{font-size:10px;color:#68717b}.compact-stat-heading select{font-size:10px;padding:3px 4px;max-width:100%;min-height:28px;border:1px solid #c7cfd6;border-radius:4px;background:white}.compact-team-strip .stat-stepper{display:grid;grid-template-columns:44px 22px 44px;gap:3px;min-width:0}.compact-team-strip .stat-arrows{display:contents}.compact-team-strip .stat-arrows button:first-child{grid-column:1;grid-row:1}.compact-team-strip .stat-stepper output{grid-column:2;grid-row:1;text-align:center}.compact-team-strip .stat-arrows button:last-child{grid-column:3;grid-row:1}.compact-bonus{font-size:9px;color:#801d34;text-align:center;line-height:1.25}.compact-history-note{padding:6px 10px;background:#fff1da;color:#824c1d;font-size:10px}.sheet th:first-child{width:30%}.overtime-rules-line{display:flex;gap:10px;align-items:baseline;padding:5px 8px 2px;border-top:1px solid #e1e6ea;font-size:10px;line-height:1.55;color:#5e6975}.overtime-rules-line>b{color:#801d34;letter-spacing:.06em;flex-shrink:0}@media(max-width:700px){.arena-score-grid{grid-template-columns:1fr 1fr;padding:15px;gap:16px}.arena-clock{grid-column:1/-1;grid-row:2;border-top:1px solid #ffffff20;padding-top:12px}.arena-team h2{font-size:17px}.arena-score{font-size:58px}.arena-caption{font-size:9px;padding:10px 12px}.overtime-rules-line{font-size:9px;gap:7px}}@media print{.arena-scoreboard{break-inside:avoid}.arena-score,.arena-team h2,.sheet .arena-team-small h2{color:#111;text-shadow:none}.arena-scoreboard.sheet-clock,.sheet header.arena-sheet-header{background:white;border-color:#999}.arena-caption{color:#333;background:white}.arena-team-name>span{color:#444}.compact-team-strip .stat-arrows{display:none}.overtime-rules-line{display:none}.main:has(.game-rules-bar){padding-bottom:0}}
.arena-scoreboard.sheet-clock{background:#242424;border-color:#444}.arena-caption{background:#171717;color:#c4c4c4;border-color:#3b3b3b}.arena-score{background:#111;border-color:#333}.arena-clock{color:#c7c7c7}.arena-clock .step-arrow{background:#373737;border-color:#606060;color:white}.arena-clock .unit-label{color:#c4c4c4}.arena-team-name>span{color:#c7c7c7}.shirt-logo-fallback{border-color:#666;color:#ddd}.sidebar{background:#202020}.nav button:hover,.nav button.active{background:#383838}.sheet header.arena-sheet-header{background:#242424;border-color:#444}.subbing-area{border:1px solid #b8c0c6;border-radius:16px 16px 7px 7px;overflow:hidden;background:#fff}.subbing-area>.arena-scoreboard.sheet-clock{margin-top:0;border-radius:0;border:0;box-shadow:none}.subbing-area .roster-board{border:0}.arena-game-tools{padding:10px 14px;background:#242424;border-top:1px solid #454545;border-bottom:1px solid #525252;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.arena-game-tools label{display:flex;align-items:center;gap:6px;color:#ddd;font-size:11px}.arena-game-tools select{min-height:40px;border:1px solid #777;border-radius:6px;padding:7px 9px;font-size:11px;max-width:190px;background:white;color:#222}.arena-game-tools .btn{min-height:40px;padding:8px 11px;font-size:11px}.toolbar-deadball input{width:22px;height:22px;accent-color:#801d34}.all-rule-sections{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:5px 8px;border-top:1px solid #e1e6ea}.all-rule-sections>b{font-size:10px;color:#801d34;flex-shrink:0;margin-right:4px}.all-rule-sections .btn{min-height:40px;padding:7px 10px;white-space:nowrap;flex-shrink:0;font-size:10px}.timing-change-button{margin-top:4px;border:0;background:transparent;color:#801d34;text-decoration:underline;padding:2px 0;font-size:9px;cursor:pointer}.rotation-record-popup{width:min(1150px,calc(100vw - 32px))}@media(max-width:700px){.arena-game-tools{gap:7px;padding:10px}.arena-game-tools label{font-size:10px}.arena-game-tools select{max-width:155px}}@media print{.arena-game-tools,.all-rule-sections{display:none!important}.arena-scoreboard.sheet-clock{background:white}.main:has(.game-rules-bar){padding-bottom:0}}
.roster-board{min-width:1280px}.sheet table th:first-child{width:28%}.sheet table th:nth-child(2){width:24%}.sheet table th:nth-child(n+3){width:12%}.player-score-total{display:flex;justify-content:center;align-items:center;gap:9px;margin-bottom:4px;min-height:34px}.player-score-total output{font-size:20px;font-weight:850;font-variant-numeric:tabular-nums}.point-correction{border:1px solid #c8cfd5;background:white;color:#69727b;border-radius:5px;min-width:36px;min-height:32px;font-size:12px}.player-point-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;min-width:140px}.player-point-buttons button{min-height:44px;min-width:44px;padding:0;border:1px solid #c9b6bc;background:#fff;color:#801d34;border-radius:6px;font-size:15px;font-weight:800;touch-action:manipulation}.player-point-buttons button:active{background:#f5dce4}.player-point-buttons button:disabled,.point-correction:disabled{opacity:.5;cursor:default}.sheet .unavailable .player-score-cell{opacity:.5}@media print{.player-point-buttons,.point-correction{display:none!important}.roster-board{min-width:0}}
.scoreboard-timeout{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 18px;border-top:1px solid #5c5032;background:#342e20;color:#ffe0a0}.scoreboard-timeout>div>b{font-size:12px}.scoreboard-timeout small{display:block;color:#e9d2a2;margin-top:4px;font-size:11px}.scoreboard-timeout>strong{font:800 36px/1.1 ui-monospace,Consolas,monospace;color:#ffd174;font-variant-numeric:tabular-nums}.scoreboard-timeout .btn{min-height:40px;font-size:11px}.timeout-modal-clock{font:800 64px/1.2 ui-monospace,Consolas,monospace;text-align:center;padding:20px;background:#242424;color:#ffd174;border-radius:9px;margin:14px 0}.timeout-reference-popup .actions{margin-top:16px}@media(max-width:700px){.scoreboard-timeout{flex-wrap:wrap;gap:10px;padding:10px}.scoreboard-timeout>strong{font-size:30px}}@media print{.scoreboard-timeout{display:none!important}}
.identity-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#fff;border:1px solid #d4dbe1;border-radius:8px;margin-bottom:15px;font-size:11px;color:#5e6975}.identity-banner .btn{font-size:10px;padding:7px 10px}.stat-readonly{text-align:center;font-size:17px!important;font-weight:750;font-variant-numeric:tabular-nums}.director-edit-button{min-height:36px;border:1px solid #c4cbd1;border-radius:6px;background:#fff;color:#801d34;padding:6px 12px;font-size:12px;font-weight:750;margin:6px 0;touch-action:manipulation}.director-edit-button:disabled{color:#7c858d;background:#eff1f3;cursor:not-allowed}.director-edit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.director-edit-fields label,.director-reason{font-size:12px;font-weight:700;display:flex;flex-direction:column;gap:6px}.director-edit-fields input,.director-reason select,.director-reason textarea{min-height:44px;border:1px solid #bdc5cd;border-radius:7px;padding:9px;font:inherit}.director-reason{margin-top:12px}.director-reason textarea{min-height:90px;resize:vertical}.director-edit-popup .btn{min-height:44px}@media print{.identity-banner,.director-edit-button,.director-edit-popup{display:none!important}}
.arena-score-grid{grid-template-columns:1fr minmax(260px,.9fr) 1fr}.countdown-clock{gap:10px}.countdown-clock>b{font-size:17px}.countdown-clock .game-clock-toggle,.countdown-clock .game-timeout-button{min-height:44px;min-width:132px;font-size:13px}.countdown-controls{display:flex;align-items:center;gap:11px}.countdown-display{font:800 49px/1.2 ui-monospace,Consolas,monospace;color:#ffd174;min-width:150px;text-align:center;font-variant-numeric:tabular-nums}.countdown-arrows{display:flex;flex-direction:column;gap:5px;align-items:center}.countdown-arrows button{display:grid;place-items:center;width:44px;height:40px;border:1px solid #676767;border-radius:6px;background:#393939;color:#fff;font-size:16px;touch-action:manipulation}.countdown-arrows button:disabled{opacity:.45;cursor:default}.countdown-arrows small{font-size:9px;color:#c9c9c9;font-weight:750}.countdown-timeout-summary{font-size:10px!important;max-width:250px}.period-clock-notice{flex:1;color:#c9c9c9;font-size:11px;line-height:1.5}.automatic-timeout-total{font-size:24px;font-weight:800;min-height:44px;display:grid;place-items:center;font-variant-numeric:tabular-nums}.timeout-callers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.timeout-callers .btn{min-height:58px;font-size:12px;line-height:1.4}.timeout-callers .btn[aria-pressed="true"]{box-shadow:0 0 0 2px #cf9caa}.timeout-reference-popup .timeout-modal-clock{font-size:64px}@media(max-width:700px){.arena-score-grid{grid-template-columns:1fr 1fr}.countdown-display{font-size:46px}.timeout-callers{grid-template-columns:1fr}.timeout-callers .btn{min-height:44px}.period-clock-notice{min-width:180px}}@media print{.countdown-clock button{display:none}.countdown-display{color:#111}}
.arena-score-grid>.arena-team{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;row-gap:8px;align-items:center;justify-self:center;max-width:400px;width:100%}.arena-score-grid .arena-home .shirt-team-logo,.arena-score-grid .arena-home .shirt-logo-fallback{grid-column:1;grid-row:1 / span 2}.arena-score-grid .arena-home .arena-team-name,.arena-score-grid .arena-home .arena-score{grid-column:2}.arena-score-grid .arena-visitor .shirt-team-logo,.arena-score-grid .arena-visitor .shirt-logo-fallback{grid-column:2;grid-row:1 / span 2}.arena-score-grid .arena-visitor .arena-team-name,.arena-score-grid .arena-visitor .arena-score{grid-column:1}.arena-score-grid .arena-team-name{grid-row:1;align-self:end;width:100%;text-align:center}.arena-score-grid .arena-team .arena-score{grid-row:2;justify-self:center;align-self:start;font-size:80px;min-width:116px}.arena-score-grid .shirt-team-logo,.arena-score-grid .shirt-logo-fallback{width:100%;height:auto;aspect-ratio:1;max-width:170px;justify-self:center;object-fit:contain}.arena-score-grid .arena-team-name h2{font-size:clamp(22px,2.25vw,34px);line-height:1.15;margin:7px 0 0;font-weight:850}.arena-score-grid .arena-team-name>span{font-size:11px;letter-spacing:.18em}@media(max-width:700px){.arena-score-grid>.arena-team{column-gap:8px;row-gap:9px}.arena-score-grid .arena-team .arena-team-name{grid-column:1 / -1;grid-row:1}.arena-score-grid .arena-team .shirt-team-logo,.arena-score-grid .arena-team .shirt-logo-fallback{grid-row:2;max-width:120px}.arena-score-grid .arena-team .arena-score{grid-row:2;font-size:58px;min-width:78px;padding:5px 7px;align-self:center}.arena-score-grid .arena-team-name h2{font-size:22px}.arena-score-grid .arena-team-name>span{font-size:10px}}
.game-rules-bar>.arena-game-tools{margin:-8px -12px 8px;border-radius:6px 6px 0 0;border-top:0}.game-rules-bar>.arena-game-tools .btn{font-size:11px}.game-rules-bar>.arena-game-tools select{max-width:150px}@media(max-width:700px){.game-rules-bar>.arena-game-tools{margin:-8px -7px 8px}}
.app:has(.subbing-area)>.sidebar{display:none}.main:has(.subbing-area){margin-left:0}.phone-team-heading,.phone-roster-jumps{display:none}.scorekeeper-home-button{border:1px solid #c9d0d6;border-radius:6px;background:#fff;color:#5c6670;padding:6px 10px;font-size:11px;min-height:34px;white-space:nowrap}.identity-banner{justify-content:flex-start}.identity-banner [data-identity-status]{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.main:has(.subbing-area) .top{display:none}.main:has(.subbing-area) .content{padding:12px 8px 32px}.main:has(.subbing-area) .content>.lead,.main:has(.subbing-area) .content>.notice{display:none}.main:has(.subbing-area) h1{font-size:25px}.identity-banner{padding:8px;font-size:10px;gap:8px;margin-bottom:10px}.phone-roster-jumps{display:flex;gap:8px;padding:8px;background:#f4f5f6;border-bottom:1px solid #d0d7dc}.phone-roster-jumps .btn{flex:1;min-height:44px}.subbing-area .sheet-scroll{overflow:visible}.subbing-area .roster-board{display:grid;grid-template-columns:1fr;min-width:0;width:100%;gap:16px;background:#f2f4f6}.sheet+.sheet{border-left:0;border-top:2px solid #801d34}.phone-team-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#242424;color:#fff;font-size:19px;padding:12px;margin:0}.phone-team-heading small{font-size:10px;letter-spacing:.12em;color:#bbb}.sheet table{display:block;table-layout:auto;white-space:normal}.sheet thead{display:none}.sheet tbody{display:grid;gap:8px;padding:8px;background:#f2f4f6}.sheet tbody tr{display:grid;grid-template-columns:minmax(148px,2fr) repeat(3,minmax(58px,1fr));gap:4px;border:1px solid #cbd3d9;border-radius:8px;background:white;padding:8px;min-width:0}.sheet tbody tr.court{background:#f0f7f2}.sheet tbody tr.unavailable{background:#e5e7e9}.sheet td{display:block;width:auto!important;min-width:0;padding:4px 0;border:0;text-align:center}.sheet td:first-child{grid-column:1/-1;text-align:left;border-bottom:1px solid #d7dde1;padding-bottom:8px}.sheet td:nth-child(2)::before{content:'Score'}.sheet td:nth-child(3)::before{content:'Fouls'}.sheet td:nth-child(4)::before{content:'Rebounds'}.sheet td:nth-child(5)::before{content:'Steals'}.sheet td:nth-child(n+2):nth-child(-n+5)::before{display:block;font-size:10px;font-weight:750;color:#69747e;margin-bottom:6px}.sheet td.player-time{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:7px;border-top:1px solid #d7dde1;font-size:12px;margin-top:3px;padding-top:6px}.sheet td.player-time::before{content:'Playing time';font-size:10px;font-weight:500;color:#69747e}.sheet .player-identity{gap:10px}.sheet .player-select{min-height:40px}.sheet .player-select b{font-size:14px}.sheet .stat-stepper{min-width:0;gap:3px;display:flex;align-items:center;justify-content:center}.sheet .stat-arrows button{width:44px;height:40px}.sheet .player-point-buttons{min-width:140px;gap:3px}.sheet .availability{display:flex;flex-wrap:wrap;gap:5px 12px;padding-top:6px}.sheet .availability label{min-height:40px}.sheet .director-edit-button{min-height:40px}.sheet tr.bench-divider,.sheet tr.vacant{display:block;padding:9px}.sheet tr.bench-divider th{display:block;width:100%!important;border:0;padding:0;background:transparent}.sheet tr.vacant td{border:0;padding:0;font-size:11px}.compact-team-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-team-stat{padding:8px 3px}.compact-team-strip .stat-stepper{grid-template-columns:38px 20px 38px;gap:2px}.compact-team-strip .stat-arrows button{width:38px;height:44px}.compact-stat-heading{font-size:10px;min-height:40px;gap:3px}.compact-stat-heading select{font-size:10px;max-width:100px}.opponent-link{height:auto;min-height:44px;flex-wrap:wrap}.game-rules-bar{margin-top:18px}.game-rules-bar table{display:block;min-width:0;width:100%}.game-rules-bar thead{display:none}.game-rules-bar tbody,.game-rules-bar tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:4px}.game-rules-bar tbody tr{grid-column:1/-1}.game-rules-bar td{display:block;min-width:0;padding:8px;font-size:11px}.game-rules-bar td::before{display:block;font-size:10px;color:#68737e;font-weight:750;margin-bottom:6px}.game-rules-bar td:nth-child(1)::before{content:'Grade'}.game-rules-bar td:nth-child(2)::before{content:'Time Length'}.game-rules-bar td:nth-child(3)::before{content:'Playing Periods'}.game-rules-bar td:nth-child(4)::before{content:'Fouls · Bonus / Double Bonus'}.game-rules-bar .btn{white-space:normal;width:100%;min-height:44px}.game-rules-bar .arena-game-tools .btn{width:auto}.all-rule-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:5px}.all-rule-sections>b{grid-column:1/-1}.all-rule-sections .btn{font-size:10px;padding:7px 4px}.overtime-rules-line{font-size:10px;align-items:flex-start}.period-clock-notice{font-size:10px}.arena-score-grid{padding:14px 10px}}
@media(max-width:360px){.sheet tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet td:nth-child(2){grid-column:1/-1}.compact-team-strip .stat-stepper{grid-template-columns:32px 18px 32px}.compact-team-strip .stat-arrows button{width:32px}.compact-stat-heading select{max-width:86px}.all-rule-sections{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.phone-roster-jumps,.scorekeeper-home-button{display:none!important}}
.sheet .compact-team-strip .stat-stepper{display:grid}@media(max-width:900px){.sheet tbody tr{grid-template-columns:minmax(140px,2fr) repeat(3,minmax(50px,1fr))}.sheet td .stat-stepper{flex-direction:column;gap:4px}}@media(max-width:360px){.sheet tbody tr{grid-template-columns:repeat(2,minmax(0,1fr))}}
.phone-lineup-overview{display:none}@media(max-width:900px){.subbing-area .roster-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;align-items:stretch}.sheet+.sheet{border-top:0;border-left:2px solid #b8c0c6}.phone-roster-jumps{display:none}.phone-team-heading{font-size:14px;padding:10px 6px;min-height:46px;display:block;text-align:center;overflow-wrap:anywhere}.phone-team-heading small{display:block;margin-top:3px;font-size:9px}.phone-lineup-overview{display:grid;position:sticky;top:0;z-index:4;background:#eef2f0;border-top:1px solid #cad3cd;border-bottom:2px solid #9aafa0;padding:7px 5px;gap:3px;box-shadow:0 2px 5px #0000000a}.phone-lineup-overview>b{font-size:9px;color:#54655b;padding:2px 0 4px}.phone-lineup-overview>div{display:grid;grid-template-columns:14px minmax(0,1fr);gap:3px;align-items:start;min-height:27px;font-size:11px;line-height:1.3}.lineup-position{color:#697c70;font-size:10px;font-weight:800}.sheet tbody{padding:4px;gap:6px}.sheet tbody tr{grid-template-columns:repeat(3,minmax(0,1fr));padding:5px;gap:3px}.sheet td:first-child{grid-column:1/-1;padding-bottom:5px}.sheet td:nth-child(2){grid-column:1/-1}.sheet td:nth-child(6){grid-column:1/-1}.sheet td:nth-child(n+2):nth-child(-n+5)::before{font-size:9px;margin-bottom:4px}.sheet .player-identity{gap:4px}.sheet .jersey-entry{gap:0;font-size:10px}.sheet .jersey-entry input{width:32px;min-width:32px;height:38px;min-height:38px;font-size:13px;padding:1px}.sheet .player-select{padding:2px;min-height:38px}.sheet .player-select b{font-size:11px;line-height:1.3}.sheet .player-select small{font-size:9px}.sheet .player-point-buttons{min-width:0;gap:3px}.sheet .player-point-buttons button{min-width:0;min-height:44px;font-size:13px}.player-score-total{min-height:26px;margin-bottom:3px}.player-score-total output{font-size:18px}.point-correction{min-width:32px;min-height:28px}.sheet td .stat-stepper{flex-direction:column;gap:3px}.sheet .stat-stepper output{font-size:15px;min-width:0}.sheet .stat-arrows button{width:42px;height:40px;font-size:14px}.sheet td.player-time{font-size:11px;gap:4px;justify-content:center;flex-wrap:wrap;padding-top:4px}.sheet td.player-time::before{font-size:9px}.sheet .availability{display:grid;gap:3px;font-size:10px}.sheet .availability label{min-height:36px;gap:3px}.sheet .availability input{width:20px;height:20px;min-height:20px}.sheet .director-edit-button{font-size:11px;min-height:36px;padding:5px 8px}.compact-team-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-team-stat{padding:6px 1px;gap:3px}.compact-stat-heading{font-size:9px;line-height:1.2;min-height:44px}.compact-stat-heading b{font-weight:750;overflow-wrap:anywhere}.compact-stat-heading small{font-size:8px;overflow-wrap:anywhere}.compact-stat-heading select{width:100%;min-width:0;max-width:100%;font-size:8px;padding:2px}.sheet .compact-team-strip .stat-stepper{display:flex;flex-direction:column;gap:3px}.compact-team-strip .stat-arrows{display:flex;flex-direction:column;gap:3px}.sheet .compact-team-strip .stat-arrows button{width:38px;height:36px}.compact-team-strip .stat-stepper output{font-size:17px}.compact-bonus{font-size:8px;overflow-wrap:anywhere}.automatic-timeout-total{font-size:20px}.opponent-link{font-size:9px;padding:6px;gap:4px}.opponent-link select{width:100%;min-width:0;max-width:100%}.sheet footer{padding:8px 5px;font-size:9px;overflow-wrap:anywhere}.stat-readonly{font-size:15px!important}.sheet tr.vacant td{font-size:10px}.sheet tr.bench-divider th{font-size:9px}.phone-lineup-overview:has(+table tr.picked){border-bottom-color:#b99031}}
@media(max-width:360px){.sheet tbody tr{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet .stat-arrows button{width:36px}.sheet .compact-team-strip .stat-arrows button{width:32px}.sheet .player-point-buttons button{font-size:12px}.sheet .jersey-entry input{width:27px;min-width:27px}.phone-lineup-overview>div{font-size:10px}}
@media print{.phone-lineup-overview{display:none!important}}
@media(max-width:900px){.subbing-area.section{overflow:visible}}
/* Phone scoring prioritizes fast access to player controls. */
@media(max-width:700px){
 .arena-scoreboard .arena-caption{padding:5px 8px;font-size:8px;letter-spacing:.04em}
 .arena-scoreboard .arena-score-grid{grid-template-columns:minmax(0,1fr) 156px minmax(0,1fr);padding:7px 5px;gap:4px;align-items:center}
 .arena-scoreboard .arena-clock{grid-column:2;grid-row:1;border:0;padding:0;gap:4px}
 .arena-scoreboard .arena-clock>b{font-size:12px}
 .arena-scoreboard .countdown-controls{gap:3px}
 .arena-scoreboard .countdown-display{min-width:78px;font-size:27px}
 .arena-scoreboard .countdown-arrows{gap:3px}
 .arena-scoreboard .countdown-arrows button{width:34px;height:32px;font-size:13px}
 .arena-scoreboard .countdown-arrows small{font-size:8px}
 .arena-scoreboard .game-clock-toggle,.arena-scoreboard .game-timeout-button{min-width:106px;min-height:36px;padding:5px 8px;font-size:11px}
 .arena-scoreboard .arena-team{column-gap:2px;row-gap:5px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .arena-scoreboard .arena-team-name h2{font-size:13px;margin:3px 0 0}
 .arena-scoreboard .arena-team-name>span{font-size:8px;letter-spacing:.04em}
 .arena-scoreboard .arena-team .arena-score{font-size:29px;min-width:0;width:auto;padding:3px;letter-spacing:0}
 .arena-scoreboard .arena-team .shirt-team-logo,.arena-scoreboard .arena-team .shirt-logo-fallback{width:100%;max-width:38px;height:auto}
 .phone-lineup-overview{display:none!important;position:static}
 .phone-team-heading{min-height:34px;padding:5px;font-size:12px}
 .compact-stat-heading{min-height:30px}
 .compact-stat-heading small{display:none}
 .compact-team-stat{padding:4px 1px}
}
