/* the floor: the panel carries the views (floor, one match, honours board, results, a member card) */
.tabs a { border: 1px solid var(--line); background: var(--card); height: 30px; font: 600 13px var(--pix); min-width: 0; padding: 0 2px; color: var(--muted2); border-radius: 7px; flex: 1; display: inline-flex; justify-content: center; align-items: center; gap: 5px; text-decoration: none; }
.tabs a.on { background: var(--accent); color: #12110f; border-color: var(--accent); }
.tabs a.on .live-dot { background: #1f6b3a; }
.leftcol a.on { border-color: var(--accent); color: var(--accent); }
.sign { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 0 0 10px; }
.sign h1 { font: 700 19px/1 var(--pix); color: var(--accent); margin: 0; text-shadow: 0 2px #3a2a0e; }
.sign .muted { font-size: 11.5px; }
.sign .muted a { color: var(--accent); }
.sign .tag { vertical-align: 2px; }
.tbl { display: block; text-decoration: none; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 10px; margin-bottom: 8px; }
.tbl:hover { border-color: #5a524a; }
.tbl.on { border-color: var(--accent-dim); }
.tbl .row { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 4px 0; font: 600 12px var(--sans); color: var(--muted2); }
.tbl .row .n { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--text); font: 700 12.5px var(--pix); display: flex; align-items: center; gap: 6px; }
.tbl .row .num { color: var(--num); font: 600 12.5px var(--mono); }
.tbl .row.turn .num { color: var(--up); }
.tbl .meta { display: flex; justify-content: space-between; font: 600 11px var(--pix); color: var(--muted); margin-top: 6px; letter-spacing: .3px; }
.tbl .meta .num { font: 500 11px var(--sans); }
.tbl .board { max-width: 132px; margin: 4px auto; }
.tbl .table { max-width: 200px; margin: 2px auto; font-size: 11px; --cw: clamp(12px, 6cqw, 22px); }
.tbl .table .seat { min-width: 90px; }
.tbl .table .note { display: none; }
.floor-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.floor-cards .tbl { margin: 0; }
.match .stage { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.match .stage .board { max-width: 320px; margin: 0 auto; }
.match .stage .table { max-width: 330px; margin: 0 auto; }
.player { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; border-bottom: 1px solid #38322d80; gap: 10px; }
.player:last-of-type { border-bottom: 0; }
.player .n { font: 700 13.5px var(--pix); color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: flex; align-items: center; gap: 6px; }
.player .n a { text-decoration: none; }
.player .r { font: 500 11px var(--sans); color: var(--muted2); }
.player .clock { font: 600 20px var(--mono); color: var(--num); background: var(--card); border: 1px solid var(--line); border-radius: 6px; padding: 1px 8px; }
.player.turn .clock { color: var(--up); border-color: #2f5a3c; }
.verdict { font: 700 15px var(--pix); color: var(--text); margin: 0 0 8px; }
.verdict small { display: block; font: 500 12px var(--sans); color: var(--muted2); margin-top: 2px; }
.movelist { font: 500 12px/1.75 var(--mono); max-height: 240px; overflow: auto; column-count: 2; column-gap: 10px; }
.movelist span { display: inline-block; width: 100%; cursor: pointer; padding: 0 4px; border-radius: 3px; }
.movelist span:hover { background: var(--panel2); }
.movelist span.cur { background: var(--accent); color: var(--ink); }
.movelist span i { color: var(--muted); font-style: normal; display: inline-block; width: 26px; }
.ctrls { display: flex; gap: 5px; margin-top: 10px; flex-wrap: wrap; align-items: center; }
.handlog { font: 500 11.5px/1.6 var(--mono); max-height: 240px; overflow: auto; }
.handlog .st { color: var(--accent); border-top: 1px solid #38322d80; margin-top: 4px; padding-top: 2px; font: 600 11px var(--pix); letter-spacing: .4px; }
.handlog .cur { background: var(--accent); color: var(--ink); }
.handlog div[data-step] { cursor: pointer; }
.hands { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 8px; }
.hands button { font: 600 11px var(--mono); padding: 3px 7px; border: 1px solid var(--line); background: var(--card); color: var(--text); border-radius: 4px; cursor: pointer; }
.hands button.on { background: var(--accent); color: var(--ink); border-color: var(--accent); }
.hands button.w0 { border-bottom: 2px solid var(--teal); }
.hands button.w1 { border-bottom: 2px solid var(--down); }
.audit { font: 500 10.5px var(--mono); color: var(--muted); word-break: break-all; margin-top: 8px; }
.audit b { color: var(--up); font-weight: 500; }
.audit a { color: var(--muted2); }
.ladder-tabs { display: flex; gap: 6px; margin-bottom: 10px; }
.legend { font-size: 12px; color: var(--muted2); margin: 10px 0 0; }
.profile .ratings { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.profile .kpi b { font-size: 24px; }
.profile .plq { margin-bottom: 10px; }
.lv-empty code { display: block; font: 500 11px var(--mono); margin-top: 4px; color: var(--muted2); }
.card.sec2 { margin-bottom: 10px; }
@media (max-width: 760px) {
  .floor-cards { grid-template-columns: 1fr 1fr; }
  .movelist { column-count: 1; }
}
