/* sudya.css — кабинет помощника судьи (sudya.js). */
.sd-head { background: var(--surface, #fff); border-bottom: 1px solid var(--line, #e6e0d4); position: sticky; top: 0; z-index: 5; }
.sd-head-in { display: flex; align-items: center; gap: var(--s3, 12px); min-height: 60px; }
.sd-me { margin-left: auto; color: var(--muted, #666); font-size: .875rem; }
.sd-main { padding-block: var(--s4, 16px) var(--s8, 48px); }
/* Ночная проверка 17.10.2026: общее section { padding: 64px 0 } из site.css
   оставляло над «← Турниры» и списком турниров пустую полосу. */
.sd-main > section { padding: 0; }
.sd-title { font-size: 1.375rem; margin: var(--s2, 8px) 0; }
.sd-tours { list-style: none; margin: var(--s3, 12px) 0 0; padding: 0; display: grid; gap: var(--s2, 8px); }
.sd-tour-btn {
  display: flex; flex-direction: column; gap: 4px; width: 100%; text-align: left; min-height: 56px;
  padding: var(--s3, 12px) var(--s4, 16px); border: 1px solid var(--line-strong, #cfc8ba); border-radius: var(--r-md, 12px);
  background: var(--surface, #fff); font: inherit; cursor: pointer;
}
.sd-tour-btn b { font-size: 1.0625rem; }
.sd-progress { font-weight: 700; margin: 0 0 var(--s3, 12px); }
.sd-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2, 8px) var(--s4, 16px); }
.sd-search { flex: 1 1 14rem; }
/* Флажок «Только неотмеченные» был 13 px — на телефоне в него не попасть. */
.sd-tools .check { display: inline-flex; align-items: center; gap: var(--s2, 8px); min-height: 44px; cursor: pointer; }
.sd-tools .check input { width: 22px; height: 22px; margin: 0; flex: none; }
.sd-say { color: var(--danger, #b3261e); font-weight: 600; min-height: 0; margin: var(--s2, 8px) 0 0; }
.sd-say:empty { display: none; }
.sd-boards { list-style: none; margin: var(--s3, 12px) 0 0; padding: 0; display: grid; gap: var(--s2, 8px); }
.sd-board {
  padding: var(--s3, 12px); border: 1px solid var(--line, #e6e0d4); border-radius: var(--r-md, 12px); background: var(--surface, #fff);
  /* li до 68ch (style.css) обрезал столы на компьютере (17.10.2026). */
  max-width: none;
}
.sd-board.is-done { background: #f1f8f2; border-color: #b9dcc0; }
.sd-board[hidden] { display: none; }
.sd-pair { display: grid; grid-template-columns: auto 1fr; gap: 2px var(--s3, 12px); align-items: baseline; }
.sd-no { grid-row: span 2; font-weight: 800; font-size: 1.125rem; min-width: 2.5ch; }
.sd-p { min-width: 0; overflow-wrap: anywhere; }
.sd-p small { color: var(--muted, #666); }
.sd-res { display: flex; flex-wrap: wrap; gap: var(--s2, 8px); margin-top: var(--s2, 8px); }
.sd-rb {
  min-width: 64px; min-height: 48px; padding: 0 var(--s3, 12px);
  border: 1px solid var(--line-strong, #cfc8ba); border-radius: 12px; background: var(--surface, #fff);
  font: inherit; font-weight: 800; font-size: 1.0625rem; cursor: pointer;
}
.sd-rb[aria-pressed="true"], .sd-forfeit > summary[aria-pressed="true"] { background: var(--ink, #14151a); border-color: var(--ink, #14151a); color: #fff; }
.sd-rb.sd-more { font-weight: 600; font-size: .9375rem; }
.sd-byes { list-style: none; margin: var(--s4, 16px) 0 0; padding: 0; color: var(--muted, #666); font-size: .875rem; }
.sd-forfeit > summary { list-style: none; display: inline-flex; align-items: center; }
.sd-forfeit > summary::-webkit-details-marker { display: none; }
.sd-forfeit[open] > summary { background: var(--surface-2, #f3efe7); }
