/* Read/Operate extension of the existing Liga tournament field guide. */
.tr-guide { --tr-gap: 20px; }
.tr-guide [hidden] { display: none !important; }
.tr-comeback { margin-block: 28px; padding-block: 22px; border-block: 1px solid var(--line2); }
.tr-route { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.tr-route li { padding-block: 12px; border-top: 1px solid var(--red); }
.tr-route b { display: block; color: var(--text); font: 700 20px var(--mono); }
.tr-route span { font-size: 14px; line-height: 1.5; }
.tr-data { max-width: 100%; overflow-x: auto; border-block: 1px solid var(--line2); margin: 24px 0; }
.tr-data table { width: 100%; min-width: 620px; font-size: 14px; font-variant-numeric: tabular-nums; }
.tr-data caption { text-align: left; padding: 12px 0; font-weight: 700; color: var(--text); }
.tr-data small { display: block; font-size: 12px; font-weight: 400; color: var(--muted); }
.tr-data td { overflow-wrap: anywhere; }
.tr-guide summary { min-height: 44px; padding-block: 12px; cursor: pointer; color: var(--text); font-weight: 650; }
.tr-guide details { border-block-start: 1px solid var(--line2); margin-block: 16px; }
.tr-guide button, .tr-guide input, .tr-guide select, .tr-guide textarea { font: inherit; color: var(--text); accent-color: var(--red); caret-color: var(--text); }
.tr-guide button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--line2); border-radius: 12px; background: var(--panel2); cursor: pointer; line-height: 1.4; }
.tr-guide button:hover { border-color: var(--text); }
.tr-guide button:disabled { opacity: .5; cursor: not-allowed; }
.tr-guide .tr-primary { background: var(--red); color: var(--text); border-color: var(--red); font-weight: 700; }
.tr-guide :is(button,input,select,summary,textarea):focus-visible, .tr-data:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.tr-guide ::selection { background: var(--red); color: var(--text); }
.tr-guide input:not([type=checkbox]), .tr-guide select, .tr-guide textarea { min-width: 0; width: 100%; min-height: 44px; padding: 10px; border: 1px solid var(--line2); border-radius: 8px; background: var(--bg); }
.tr-guide label { display: block; font-size: 14px; font-weight: 600; }
.tr-guide label > :is(input,select,textarea) { display: block; margin-top: 7px; }
.tr-guide .tr-check { display: flex; align-items: flex-start; gap: 10px; margin-block: 18px; font-weight: 400; }
.tr-guide .tr-check input { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 2px; }
.tr-guide fieldset { min-width: 0; border: 0; padding: 0; margin: 20px 0; }
.tr-guide legend { color: var(--text); margin-bottom: 14px; font-weight: 600; }
.tr-enhancement { padding-block: 24px; }
.tr-enhancement p, .tr-disclosure { color: var(--muted); font-size: 14px; }
.tr-app { min-width: 0; padding-block: 28px; border-block: 1px solid var(--red); }
.tr-app-title { scroll-margin-top: 90px; }
.tr-quals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.tr-config form + form { margin-top: 30px; }
.tr-status { min-height: 1.7em; color: var(--text); }
.tr-error { color: var(--text); padding: 12px; border: 1px solid var(--red); }
.tr-heats { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0; }
.tr-heats button { min-width: 76px; display: grid; text-align: left; }
.tr-heats span { color: var(--muted); font-size: 12px; }
.tr-heats [aria-pressed=true] { border-color: var(--red); background: var(--panel); }
.tr-current { background: var(--panel); padding: 22px; border-radius: 12px; }
.tr-guide h4 { margin: 0 0 14px; font: 700 20px/1.3 var(--body-font); color: var(--text); }
.tr-dependencies { padding-left: 20px; font: 14px/1.7 var(--mono); }
.tr-ranks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.tr-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.tr-actions button { flex: 1 1 230px; }
.tr-undo { padding: 22px 0; border-block: 1px solid var(--red); margin-block: 24px; }
.tr-final { margin-top: 28px; }
.tr-final ol { columns: 2; column-gap: 30px; }
.tr-final li { break-inside: avoid; }
.tr-guide textarea { resize: vertical; font: 12px/1.6 var(--mono); white-space: pre; }
.tr-plan { padding-left: 22px; }
.tr-plan li { padding-left: 5px; margin-block: 16px; }
@media(max-width:600px) {
  .tr-route { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tr-quals { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tr-current { padding: 16px; }
  .tr-final ol { columns: 1; }
  .tr-ranks { grid-template-columns: 1fr; }
  .tr-guide button { max-width: 100%; overflow-wrap: anywhere; }
}
@media print { .tr-app,.tr-enhancement { display:none!important; } }
