/* 25/10/2026: cuadros con aspecto de hoja de sorteo en papel.
   Se carga la última. Cada combate se ve como un corchete «]» que une a los dos rivales
   y en la 1.ª ronda hay un hueco entre combates (sheets.v6.js marca las celdas). */
:root{--trazo:#2f6f5a}

/* Corchetes: horizontal desde cada judoka y vertical sólo entre los dos rivales */
.original-sheet td.br{width:14px;min-width:14px;padding:0;background-color:transparent!important}
.original-sheet td.br.br-top{background:linear-gradient(var(--trazo),var(--trazo)) 0 50%/100% 3px no-repeat,linear-gradient(var(--trazo),var(--trazo)) 100% 100%/3px calc(50% + 1.5px) no-repeat!important}
.original-sheet td.br.br-mid{background:linear-gradient(var(--trazo),var(--trazo)) 100% 0/3px 100% no-repeat!important}
.original-sheet td.br.br-bot{background:linear-gradient(var(--trazo),var(--trazo)) 0 50%/100% 3px no-repeat,linear-gradient(var(--trazo),var(--trazo)) 100% 0/3px calc(50% + 1.5px) no-repeat!important}
/* Del centro del corchete sale una línea hasta el ganador, como en la hoja */
.original-sheet td.br-in{padding-left:12px;background:linear-gradient(var(--trazo),var(--trazo)) 0 50%/12px 3px no-repeat}

/* Hueco entre combates de la 1.ª ronda */
.original-sheet tr.pair-gap td{height:14px;padding:0}

/* Casillas un poco más altas y separadas de la línea, como renglones de la hoja */
.original-sheet table.bracket-sheet table[bgcolor="#EDEDED" i],.original-sheet table.bracket-sheet table[bgcolor="#84BEFF" i],.original-sheet table.bracket-sheet table[bgcolor="#FFFFC4" i]{margin:3px 0}

/* Resaltar delegación: sin velos. Antes el resto del cuadro se ponía al 45 % de opacidad y,
   sobre el fondo verde oscuro, en el móvil parecía niebla. Ahora todo se lee siempre
   y lo resaltado destaca en amarillo. */
.viewer.has-hl .original-sheet table[bgcolor]:not([bgcolor="#BCC2BD" i]):not(.hl):not(.found),
.viewer.has-hl .original-sheet table[cellpadding="4"] tr:not([bgcolor]):not(.hl):not(.found){opacity:1}
.original-sheet table.hl{background:#fff3c4!important;border-color:#d9a514!important;box-shadow:0 0 0 3px #f0c419,0 2px 8px #183f3540!important}
.original-sheet table.hl font[size="2"]{font-weight:800}
.original-sheet table.found{background:#ffe3d6!important;border-color:#e0592a!important}

/* El desplegable dice siempre qué hace, también en el móvil, y se quita con un toque */
.finder.hl-on #highlight{background:#fff3c4;border-color:#d9a514;color:#5a4300}
.hl-clear{font:inherit;font-size:13px;font-weight:700;text-transform:none;letter-spacing:0;min-height:36px;padding:5px 10px;border-radius:8px;border:1px solid #d9a514;background:#fff3c4;color:#5a4300;white-space:nowrap}
.hl-clear[hidden]{display:none}
@media(max-width:620px){
 .finder-field:not(.grow)>span{display:inline;font-size:11px}
 .finder-field:not(.grow){flex-wrap:nowrap}
 .finder-field:not(.grow) select{min-width:0}
}
@media(pointer:coarse){.hl-clear{min-height:44px}}
/* Todas las casillas de una ronda con el mismo ancho, como los renglones de la hoja:
   así la línea del corchete empieza justo donde acaba cada nombre. */
.original-sheet table.bracket-sheet td>table[bgcolor]{width:100%}

/* Ganador de cada combate ya disputado: nombre en negrita y ✓ verde a la derecha */
.original-sheet table.bracket-sheet table.gana font[size="2"],.original-sheet table.bracket-sheet table.oro font[size="2"]{font-weight:800}
.original-sheet table.bracket-sheet font[size="2"]{font-weight:500}
.original-sheet table.gana td{position:relative;padding-right:22px!important}
.original-sheet table.gana td::after{content:"✓";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:900 14px/1 "Segoe UI",Arial,sans-serif;color:#1d8a4f}
/* Medallas (final y bronces) */
.original-sheet table.oro,.original-sheet table.plata,.original-sheet table.bronce{border-left-width:6px}
.original-sheet table.oro{background:#fff4c7!important;border-color:#d4a72c!important;border-left-color:#c9971c!important}
.original-sheet table.plata{background:#f1f3f5!important;border-color:#b8c0c8!important;border-left-color:#8e99a4!important}
.original-sheet table.bronce{background:#f9e9dc!important;border-color:#d6a77f!important;border-left-color:#b06d35!important}
.original-sheet table.oro td::before,.original-sheet table.plata td::before,.original-sheet table.bronce td::before{margin-right:5px;font-size:16px;line-height:1}
.original-sheet table.oro td::before{content:"🥇"}.original-sheet table.plata td::before{content:"🥈"}.original-sheet table.bronce td::before{content:"🥉"}
.original-sheet table.oro td::after,.original-sheet table.bronce td::after{content:none}

/* MÓVIL (uso habitual de los entrenadores): casillas estrechas con el nombre en dos líneas
   si no cabe, para ver la 1.ª y la 2.ª ronda a la vez sin deslizar. */
@media(max-width:620px){
 .original-sheet{padding:10px 8px 12px}
 .original-sheet table.bracket-sheet td:has(>table[bgcolor]){width:150px;min-width:150px;max-width:150px}
 .original-sheet table.bracket-sheet table[bgcolor] td{white-space:normal;padding:4px 6px;line-height:1.2}
 .original-sheet table.bracket-sheet font[size="2"]{font-size:13px}
 .original-sheet table.bracket-sheet font[size="1"]{font-size:10px}
 .original-sheet table.bracket-sheet table[bgcolor] img[alt]{height:12px;margin-right:3px}
 .original-sheet td.br{width:10px;min-width:10px}
 .original-sheet td.br-in{padding-left:8px;background-size:8px 3px}
 .original-sheet tr.pair-gap td{height:10px}
 .round-labels th{font-size:10px}
 /* Menos cabecera para que el cuadro empiece antes en la pantalla */
 .event-strip h1{display:none}
 .event-strip .event{font-size:13px}
}
/* Ippon pone en negrita a los medallistas en todas sus casillas, también donde pierden;
   aquí la negrita queda sólo para el ganador de cada combate. */
.original-sheet table.bracket-sheet strong{font-weight:inherit}

/* «Mis judokas»: botón que recorre los judokas de la delegación resaltada */
.hl-next{font:inherit;font-size:13px;font-weight:800;text-transform:none;letter-spacing:0;min-height:36px;padding:5px 10px;border-radius:8px;border:1px solid #d9a514;background:#f0c419;color:#3d2e00;white-space:nowrap}
.hl-next[hidden]{display:none}
.original-sheet table.pulse{animation:pulso 1.4s ease-out 1}
@keyframes pulso{0%{box-shadow:0 0 0 0 #f0c419,0 0 0 3px #f0c419}60%{box-shadow:0 0 0 14px #f0c41900,0 0 0 3px #f0c419}100%{box-shadow:0 0 0 3px #f0c419}}
.find-toggle{display:none}

/* MÓVIL: todos los mandos en una barra fina que se queda fija arriba al bajar al cuadro */
@media(max-width:620px){
 .viewer{overflow:clip}
 .viewer-heading{padding:8px 12px 6px}.viewer-heading h2{font-size:20px}.viewer-heading .eyebrow{display:none}
 .mode-tabs{display:none!important}
 .controls{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;background:#073a34;border-top:1px solid #2f6259;border-bottom:1px solid #2f6259;box-shadow:0 4px 10px #0006}
 .controls .toolbar,.controls .toolbar-actions,.controls .view-actions,.controls .finder{display:contents}
 .controls .section-index{order:1;flex:1 1 100%;padding:0;margin:0}
 .controls .section-index button{min-height:34px;padding:4px 11px;font-size:13px}
 .controls .finder-field:not(.grow){order:2;flex:1 1 0;min-width:0;gap:5px}
 .controls .finder-field:not(.grow)>span{display:none}
 .controls #highlight{flex:1 1 0;min-width:64px;min-height:38px;padding:4px 6px;font-size:15px}
 .controls .hl-next,.controls .hl-clear{min-height:38px;padding:4px 9px}
 .controls .hl-clear .txt{display:none}
 .controls .find-toggle{order:3;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;border:1px solid #2f6259;background:#0a2f2b;color:#fff;padding:0}
 .controls .find-toggle svg{width:18px;height:18px}
 .controls.search-open .find-toggle{background:#dceadd;color:#123d31}
 .controls .zoom-controls{order:4;gap:4px}
 .controls .zoom-controls output,.controls #fit,.controls #readable{display:none}
 .controls .zoom-controls button{height:38px;min-height:38px;min-width:38px;font-size:20px}
 .controls #expand{order:5;height:38px;min-height:38px;padding:0 9px}
 .controls .finder-field.grow{order:6;flex:1 1 100%;display:none}
 .controls.search-open .finder-field.grow,.controls .finder-field.grow:has(input:not(:placeholder-shown)){display:flex}
 .controls #find-count{order:7}
 .controls #find-count:empty{display:none}
 .scroll-area{height:calc(100dvh - 104px);min-height:320px}
 .viewer.is-expanded .controls{position:static}
}
.finder-field .hl-next span{display:inline!important}
