/* Tournament actors share the town renderer's pathfinding and depth. */
.th-entrant { cursor: pointer; pointer-events: auto; }
.th-whiteboard, .th-whiteboard .tw-body { pointer-events: auto; cursor: pointer; }
.th-whiteboard:focus-visible { outline: 3px solid #ffe397; outline-offset: 5px; }
.th-entrant .tw-name { display: block !important; opacity: 1 !important; }
.th-entrant:focus-visible { outline: 3px solid #ffe397; outline-offset: 7px; border-radius: 12px; }
.th-swords { position: absolute; left: 50%; bottom: calc(100% + 24px); transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; filter: drop-shadow(0 2px 3px #000b); pointer-events: auto; }
.th-swords[hidden] { display: none; }
.th-swords small { margin-top: -2px; padding: 1px 5px; color: #fff3cf; background: #702b28; border: 1px solid #dab45d; border-radius: 3px; font: bold 9px/1.4 system-ui, sans-serif; letter-spacing: .14em; }
.th-dueling .tw-name { color: #fff0b7; }
.hall-bracket .lb-col { gap: 0; width: 260px; }
.hall-bracket .lb-colh { min-height: 42px; }
.hall-bracket .lb-match { position: relative; height: 104px; margin-bottom: var(--lb-between); }
.hall-bracket .lb-colh + .lb-match { margin-top: var(--lb-offset); }
/* the card is a fixed height (the connectors are drawn off it), so its button
   sits inside the bottom edge instead of spilling onto the card below */
.hall-bracket .lb-acts { position: absolute; left: 9px; right: 9px; bottom: 6px; margin: 0; justify-content: flex-end; }
.hall-bracket .lb-col:not(:last-child) .lb-match::after { content: ''; position: absolute; top: 50%; right: -15px; width: 14px; border-top: 1px solid #bca26d80; }
.lv-schedule { list-style: none; padding: 0; margin: 0; }
.lv-schedule li { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid #ffffff1a; font-size: 13px; }
.lv-schedule time { flex: 0 0 105px; color: #ffe9a8; font-variant-numeric: tabular-nums; }
.lv-schedule li > span:first-of-type { flex: 1; }
.lv-schedule small { display: block; margin-top: 4px; color: #adb5c2; }
.lv-schedule [data-until] { font-variant-numeric: tabular-nums; color: #adb5c2; }
@media (max-width: 600px) {
  .lv-schedule li { gap: 8px; font-size: 12px; }
  .lv-schedule time { flex-basis: 85px; }
  .lv-schedule [data-until] { display: none; }
}
