/* Coaching notes and named players (PLA-52). Panels in the editor, the Present overlay and the print sheet. */
.coach, .players { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.coach[hidden], .players[hidden] { display: none; }
.coach .field, .players legend.field { margin: 0; padding: 0; }
.coach-note { display: block; min-height: 72px; padding: 8px 12px; resize: none; line-height: 1.4; }
.coach-foot { display: flex; justify-content: space-between; gap: 8px; }
.coach-foot .note { min-height: 1.3em; }
.coach-msg { font-weight: 600; color: var(--text-2); }
.coach-msg.coach-error, .coach-error { color: var(--danger-text); font-weight: 600; }
.coach-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.coach-item { display: flex; align-items: center; gap: 8px; min-height: var(--tap); padding: 0 4px 0 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-2); color: var(--text-2); font-weight: 600; }
.coach-item span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.coach-item .btn { min-width: var(--tap); padding: 0 10px; }
.coach-add { display: flex; gap: 8px; }
.coach-add .input { flex: 1; min-width: 0; }
.coach-readonly .coach-note { background: var(--surface-2); }
.players-row { display: flex; align-items: center; gap: 8px; }
.players-row label { flex: none; width: 5.5em; font: 600 14px var(--font-body); color: var(--text-2); }
.players-row .input { flex: 1; min-width: 0; }
.players-team { display: flex; flex-direction: column; gap: 6px; }
.players-team .swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.swatch[data-color="white"] { box-shadow: 0 0 0 2px var(--muted); }
.swatch[aria-pressed="true"][data-color="white"] { box-shadow: 0 0 0 3px var(--ring); }

/* Present mode */
.pr-coach { margin: 10px auto 0; max-width: 60ch; text-align: left; }
.pr-note { margin: 0; padding: 8px 14px; border-left: 5px solid var(--yellow); background: rgba(255,255,255,.08); border-radius: 0 10px 10px 0; font-size: clamp(16px, 2.6vmin, 24px); line-height: 1.35; overflow-wrap: anywhere; }
.pr-check { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: clamp(15px, 2.4vmin, 22px); }
.pr-check li { display: flex; gap: 10px; align-items: baseline; overflow-wrap: anywhere; }
.pr-check li::before { content: ""; flex: none; width: .8em; height: .8em; border: 2px solid var(--yellow); border-radius: 3px; transform: translateY(.1em); }
.pr-coach[hidden], .pr-note[hidden], .pr-check[hidden] { display: none; }
@media (orientation: landscape) and (max-height: 540px) { .pr-coach { margin: 6px 0 0; max-width: none; } .pr-note, .pr-check { font-size: 14px; } .pr-note { padding: 6px 10px; } }

/* Print sheet: under each drawing */
@media print {
  .print-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } /* a long unbroken word must not widen a column */
  .print-grid figure.has-coach img { width: 76%; }
  .print-note { margin: 1mm 0 0; font-size: 8pt; line-height: 1.25; overflow-wrap: anywhere; }
  .print-check { list-style: none; margin: 1mm 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 3mm; font-size: 8pt; line-height: 1.25; overflow-wrap: anywhere; }
  .print-check li::before { content: "\2610\00a0"; }
}
