        .bkt-wrap {
            overflow-x: auto;
            padding: 1.5rem 0.5rem 2rem;
        }

        .bkt-tree {
            display: flex;
            gap: 3.5rem;
            align-items: stretch;
            min-width: max-content;
            margin: 0 auto;
        }

        .bkt-round {
            display: flex;
            flex-direction: column;
            min-width: 268px;
        }

        .bkt-round-title {
            text-align: center;
            margin-bottom: 1.25rem;
        }

        .bkt-round-title span {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: linear-gradient(135deg, #214395, #3b6fd4);
            color: #fff;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 6px 18px;
            border-radius: 999px;
            box-shadow: 0 4px 12px rgba(33, 67, 149, 0.25);
        }

        .bkt-round-title.is-final span {
            background: linear-gradient(135deg, #b45309, #f59e0b);
            box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35);
        }

        .bkt-matches {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            gap: 2rem;
        }

        .bkt-pair {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            gap: 2rem;
            position: relative;
        }

        .bkt-pair.has-two {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            grid-template-rows: 1fr 1fr;
            gap: 2rem;
            align-items: center;
        }

        .bkt-tree .bkt-round:not(:last-child) .bkt-pair.has-two::after {
            content: '';
            position: absolute;
            right: -1.85rem;
            top: calc((100% - 2rem) / 4);
            bottom: calc((100% - 2rem) / 4);
            width: 2px;
            background: #cbd5e1;
            border-radius: 2px;
        }

        .bkt-tree .bkt-round:not(:last-child) .bkt-pair.has-two::before {
            content: '';
            position: absolute;
            right: -3.5rem;
            top: 50%;
            width: 1.65rem;
            height: 2px;
            background: #cbd5e1;
        }

        .bkt-node {
            position: relative;
        }

        .bkt-tree .bkt-round:not(:last-child) .bkt-pair.has-two .bkt-node::after {
            content: '';
            position: absolute;
            right: -1.85rem;
            top: 50%;
            width: 1.85rem;
            height: 2px;
            background: #cbd5e1;
        }

        .bkt-tree .bkt-round:not(:first-child) .bkt-node::before {
            content: '';
            position: absolute;
            left: -1.85rem;
            top: 50%;
            width: 1.85rem;
            height: 2px;
            background: #cbd5e1;
        }

        .bkt-champion {
            display: flex;
            flex-direction: column;
            min-width: 230px;
        }

        .bkt-champ-mid {
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .bkt-champion-card {
            position: relative;
            overflow: hidden;
            background: linear-gradient(145deg, #fffbeb, #fef3c7);
            border: 2px solid #fbbf24;
            border-radius: 1.25rem;
            padding: 1.5rem 1.25rem;
            text-align: center;
            box-shadow: 0 10px 30px rgba(245, 158, 11, 0.25);
            animation: champGlow 3.2s ease-in-out infinite;
        }

        .bkt-champion-card::before {
            content: '';
            position: absolute;
            top: -60%;
            left: -80%;
            width: 55%;
            height: 220%;
            background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.65) 50%, transparent 100%);
            transform: rotate(12deg);
            animation: champSheen 3.6s ease-in-out infinite;
            pointer-events: none;
        }

        @keyframes champGlow {
            0%, 100% {
                box-shadow: 0 10px 30px rgba(245, 158, 11, 0.22);
                border-color: #fbbf24;
            }
            50% {
                box-shadow: 0 12px 42px rgba(245, 158, 11, 0.48);
                border-color: #f59e0b;
            }
        }

        @keyframes champSheen {
            0%, 55% { left: -80%; }
            85%, 100% { left: 160%; }
        }

        @media (prefers-reduced-motion: reduce) {
            .bkt-champion-card {
                animation: none;
            }

            .bkt-champion-card::before {
                display: none;
            }
        }

        .bkt-champion-card .champ-trophy {
            font-size: 2.6rem;
            color: #f59e0b;
            display: block;
            margin-bottom: 0.4rem;
            filter: drop-shadow(0 3px 6px rgba(245, 158, 11, 0.4));
        }

        .bkt-node > * {
            transition: transform 0.18s ease, box-shadow 0.18s ease;
        }

        .bkt-node > *:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
        }

        @media (prefers-reduced-motion: reduce) {
            .bkt-champion-card {
                animation: none;
            }
            .bkt-node > * {
                transition: none;
            }
        }
