
    /* ── Bracket ── */
    .llaves-wrap{overflow:hidden;width:100%}
    .bracket-leyenda{font-size:.72rem;color:#7c6a58;margin:0 0 14px;padding:8px 12px;background:#f0ebe4;border-radius:6px;line-height:1.45;max-width:760px}
    .bracket-leyenda b{color:#c2410c}
    .bl-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c2410c;animation:blink 1.4s ease-in-out infinite;vertical-align:middle;margin-right:2px}
    .llaves{display:flex;align-items:stretch;min-height:960px;min-width:1200px;gap:0}

    .mitad{display:flex;flex:1}

    /* Columnas de ronda */
    .col{display:flex;flex-direction:column;justify-content:space-around}
    .col.r32{width:200px;flex-shrink:0}
    .col.r16,.col.qf,.col.sf{width:200px;flex-shrink:0}

    /* Conectores: vertical limitado entre centros de cards (sin sobrantes arriba/abajo) */
    .conn{width:24px;flex-shrink:0;display:flex;flex-direction:column;overflow:visible}
    .arm{flex:1;display:flex;flex-direction:column;overflow:visible}
    .arm-t{flex:1;position:relative;overflow:visible}
    .arm-t::after{content:'';position:absolute;top:50%;left:0;right:0;border-top:1px solid #c8b8a8}
    .arm-t::before{content:'';position:absolute;top:50%;bottom:0;right:0;width:1px;background:#c8b8a8}
    .arm-b{flex:1;position:relative;overflow:visible}
    .arm-b::after{content:'';position:absolute;top:50%;left:0;right:0;border-top:1px solid #c8b8a8}
    .arm-b::before{content:'';position:absolute;top:0;bottom:50%;right:0;width:1px;background:#c8b8a8}
    .mitad.der .arm-t::before{right:auto;left:0}
    .mitad.der .arm-b::before{right:auto;left:0}

    /* ── Match card ── */
    .par{display:flex;flex-direction:column;flex:1;justify-content:space-around}
    .mc{background:#ffffff;border:1px solid #e8ddd0;margin:2px 0;display:flex;flex-direction:column}
    .mc.on-path{border-color:#c2410c;box-shadow:0 0 0 2px rgba(194,65,12,.22);position:relative;z-index:3}
    .mc-label-r{display:flex;align-items:center;gap:5px}
    .h2h-btn{font-size:.5rem;font-weight:700;letter-spacing:.04em;color:#c2410c;background:transparent;border:1px solid #c2410c;border-radius:4px;padding:0 4px;cursor:pointer;line-height:1.5}
    .h2h-btn:hover{background:rgba(194,65,12,.12)}
    .h2h-overlay{display:none;position:fixed;inset:0;background:rgba(33,28,20,.45);z-index:100;align-items:center;justify-content:center;padding:20px}
    .h2h-overlay.open{display:flex}
    .h2h-modal{background:#ffffff;border-radius:12px;max-width:420px;width:100%;padding:18px 20px;box-shadow:0 12px 44px rgba(0,0,0,.22)}
    .h2h-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:.95rem;color:#211c14}
    .h2h-x{background:none;border:none;font-size:1.35rem;color:#7c6a58;cursor:pointer;line-height:1}
    .h2h-sub{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#b09880;margin:1px 0 10px}
    .h2h-row{padding:7px 0;border-top:1px solid #f0ebe4}
    .h2h-row:first-child{border-top:none}
    .h2h-d{font-size:.6rem;color:#b09880;font-weight:700;margin-right:8px}
    .h2h-c{font-size:.58rem;color:#7c6a58}
    .h2h-r{display:block;font-size:.84rem;color:#211c14;margin-top:1px}
    .h2h-r b{color:#c2410c}
    .mc-label{font-size:.58rem;font-weight:700;color:#b09880;letter-spacing:.07em;text-transform:uppercase;padding:4px 8px 3px;border-bottom:1px solid #faf8f4;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
    .mc-meta{font-size:.6rem;color:#b09880;padding:3px 8px 4px;border-top:1px solid #faf8f4;display:flex;flex-direction:column;gap:1px;flex-shrink:0}
    .mc-meta .venue{color:#7c6a58;font-size:.57rem}

    .badge-live-sm{color:#c2410c;background:transparent;border:1.5px solid #c2410c;font-size:.55rem;font-weight:700;padding:1px 7px;border-radius:999px;text-transform:uppercase;display:inline-flex;align-items:center;gap:3px}
    .badge-live-sm .dot{width:4px;height:4px}

    /* Filas de equipo — clicables */
    .team-row{display:flex;align-items:center;padding:6px 8px;font-size:.79rem;cursor:pointer;transition:background .15s;user-select:none;border-bottom:1px solid #faf8f4;min-height:30px}
    .team-row:last-of-type{border-bottom:none}
    .team-row:hover{background:rgba(194,65,12,.06)}
    .team-row.winner{background:rgba(194,65,12,.08);font-weight:700;color:#c2410c;border-left:2px solid #c2410c}
    .team-row.loser{opacity:.28;text-decoration:line-through;cursor:default}
    .team-row.ph{color:#b09880;font-style:italic;cursor:default;font-size:.73rem}
    .team-row.ph:hover{background:none}
    .team-row.prov{color:#7c6a58;font-style:italic}
    .tr-lock{width:12px;height:12px;color:#c2410c;margin-left:auto;flex-shrink:0;opacity:.85}
    .team-row img{flex-shrink:0}

    /* ── Columna central ── */
    .final-col{width:200px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 6px}

    /* Final */
    .final-box{background:linear-gradient(135deg,#fff9f7 0%,#fff 100%);border:2px solid #c2410c;width:100%;position:relative;overflow:hidden}
    .final-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#c2410c,#d97706,#c2410c)}
    .final-inner{padding:14px 10px 12px;text-align:center}
    .final-title{font-size:.65rem;font-weight:700;color:#c2410c;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px}
    .final-date{font-size:.6rem;color:#b09880;margin-bottom:8px}
    .final-venue{font-size:.57rem;color:#b09880;margin-bottom:8px}
    .final-teams{border-top:1px solid #e8ddd0;padding-top:6px}
    .final-teams .team-row{font-size:.72rem;justify-content:center;padding:5px 6px}
    .final-teams .team-row.champion{color:#c2410c;font-weight:700;font-size:.77rem;background:rgba(194,65,12,.06)}
    .champ-card{background:linear-gradient(135deg,#fff9f7 0%,#fff 100%);border:2px solid #c2410c;width:100%;position:relative;overflow:hidden;text-align:center;padding:10px 8px 12px}
    .champ-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#c2410c,#d97706,#c2410c)}
    .champ-trophy-img{display:block;margin:6px auto 8px;width:68px;height:auto}
    .champ-card-flag{margin-bottom:5px}
    .champ-card-flag img{display:block;margin:0 auto;width:48px;height:36px;image-rendering:crisp-edges}
    .champ-card-country{font-size:.88rem;font-weight:700;color:#211c14;margin-bottom:3px;line-height:1.2}
    .champ-card-subtitle{font-size:.54rem;font-weight:700;color:#c2410c;letter-spacing:.1em;text-transform:uppercase}

    /* 3er puesto */
    .tercer-box{background:#ffffff;border:1px solid #e8ddd0;width:100%;border-top:2px solid #0d9488}
    .tercer-inner{padding:10px 8px 8px;text-align:center}
    .tercer-title{font-size:.6rem;font-weight:700;color:#0d9488;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
    .tercer-date{font-size:.57rem;color:#b09880;margin-bottom:6px}
    .tercer-venue{font-size:.54rem;color:#b09880}
    .tercer-teams{border-top:1px solid #e8ddd0;padding-top:4px}
    .tercer-teams .team-row{font-size:.7rem;justify-content:center;padding:4px 6px}
    .tercer-teams .team-row.winner{border-left:none}
    .final-teams .team-row.winner{border-left:none}

    .reset-btn{margin-top:14px;font-size:.72rem;color:#7c6a58;background:none;border:1px solid #e8ddd0;padding:5px 12px;cursor:pointer;font-family:inherit}
    .reset-btn:hover{border-color:#c2410c;color:#c2410c}
    @keyframes fadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
    .fade-in{animation:fadeIn .22s ease}
    /* ── Mobile bracket ── */
    .mobile-bracket{display:none}
    @media(max-width:900px){
      .llaves-wrap{display:none!important}
      .mobile-bracket{display:block}
      .mb-tabs{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:14px;padding-bottom:4px}
      .mb-tab{flex-shrink:0;border:1px solid #e8ddd0;background:#ffffff;color:#7c6a58;font-size:.75rem;font-weight:700;padding:7px 18px;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;font-family:inherit;transition:background .12s,color .12s}
      .mb-tab.mb-active{background:#c2410c;color:#ffffff;border-color:#c2410c}
      .mb-panel .mc{margin-bottom:8px}
      .mb-panel .par{display:contents}
    }
