/* Shared field-readable controls. Artwork and coaching content stay intact. */
body{background:#e7ece7;color:#15271e}
button,select{border-width:2px;border-color:#536c5e}
button,input,select,textarea{font-size:16px}
button{min-height:48px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #936700;outline-offset:3px}
button:disabled{opacity:.6}
.muted{color:#344d3f;font-size:14px}
.setup,.sportbar,.staff-panel,.practice-plan,.panel{border:2px solid #536c5e}
.setup>h2,.setup>h3{border-bottom:3px solid #ba9140;padding-bottom:12px}
.practice-step{border:2px solid #536c5e}
.practice-step p,.practice-plan td{color:#15271e}
.view-drill,.view-character{font-size:15px;min-height:44px;border:2px solid #536c5e}
.huddle,.session-coaching{background:#faf0ca;color:#273321;border-left:5px solid #8a670f}
.timer{background:#103b2c;color:white;border:2px solid #103b2c;padding:18px;gap:14px}
.timer #time{font-size:clamp(48px,8vw,64px);line-height:1.1;font-variant-numeric:tabular-nums;color:#ffdc78}
.timer #round{font-size:16px;font-weight:650}
.timer button{min-height:48px;border:2px solid #536c5e}
#timerStart,.timer-start{background:#6cf093;color:#092f19;border-color:#135f2b;font-weight:800}
.timer.running #timerStart,.timer-stop{background:#b51f2c;color:white;border-color:#7b1720;font-weight:800}
.timer.warning{background:#873605;border-color:#873605}
.timer.warning #time{color:#fff0ca}
.attempt-card:has([data-clock]){background:#103b2c;color:white;border:2px solid #103b2c}
.attempt-card [data-clock]{color:#ffdc78}
.attempt-card:has([data-clock]) .final-five{color:#ffdc78}
.roster-manager{margin-top:20px}
.roster-manager>summary{background:#103b2c;color:white;padding:14px 16px;border-radius:9px;font-size:17px;font-weight:750;cursor:pointer}
.roster-manager>p{color:#344d3f}
.slot-list{max-height:600px;max-height:min(65dvh,720px);padding:4px 6px 8px;overscroll-behavior:contain;scrollbar-gutter:stable}
.slot-row{display:block;background:white;border:2px solid #536c5e;border-radius:12px;margin:16px 0 0;padding:0;overflow:hidden}
.slot-row:first-child{margin-top:0}
.slot-row:focus-within{outline:3px solid #9d7300;outline-offset:2px}
.slot-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;background:#dbe7de;border-bottom:2px solid #536c5e}
.slot-heading b{font-size:18px;min-width:0;overflow-wrap:anywhere}
.slot-state{background:#fff2c9;color:#44380f;border:1px solid #765717;border-radius:6px;padding:4px 9px;font-size:14px;font-weight:700}
.slot-state.is-active{background:#d7f2df;border-color:#175b30;color:#103e23}
.player-setup-form{display:block;margin:0}
.player-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;padding:16px}
.player-setup-form label{display:flex;flex-direction:column;gap:7px;color:#17291f;font-size:16px;font-weight:750;min-width:0}
.player-setup-form input,.player-setup-form select{border:2px solid #536c5e;border-radius:7px;background:white;color:#15271e;padding:11px;min-height:52px;width:100%;min-width:0}
.slot-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-top:1px solid #bda66b;background:#faf4dc}
.slot-actions .slot-submit{background:#103b2c;color:white;border:2px solid #103b2c;font-weight:750}
.slot-actions .slot-toggle{background:white;color:#103b2c;border:2px solid #536c5e}
.slot-actions small{color:#344d3f;font-size:14px;letter-spacing:normal}
.staff-panel>details>summary{font-size:18px;font-weight:750}
.staff-panel #permissions{border-top:3px solid #ba9140;margin-top:20px;padding-top:12px}
@media(max-width:550px){.player-fields,.slot-actions,.slot-heading{padding:13px}.setup,.practice-plan,.staff-panel{padding:16px}.slot-list{padding:4px 5px 8px}.slot-heading b{font-size:17px}.slot-state{font-size:13px}.player-fields{gap:10px;grid-template-columns:1fr}.slot-actions button{flex:1 1 140px}}
@media print{body{background:white;color:black}.timer,.attempt-card:has([data-clock]){background:white;color:black;border-color:black}.timer #time,.attempt-card [data-clock]{color:black}.slot-list{max-height:none;overflow:visible}.setup,.practice-plan,.panel{border-color:#888}.slot-row{break-inside:avoid}.roster-manager>summary{background:white;color:black}}
