.bracket-section{margin-top:clamp(48px,8vw,96px)}
.bracket-wrap{overflow:auto;padding:18px;background:rgba(255,249,252,.72);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);overscroll-behavior-inline:contain}
.bracket{position:relative!important;display:grid!important;grid-template-columns:repeat(var(--round-count),280px)!important;gap:20px!important;width:max-content!important;min-width:0!important;align-items:start!important;padding:0!important}
.bracket-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.bracket-lines path{fill:none;stroke:#8f7d87;stroke-width:2.5;vector-effect:non-scaling-stroke}
.round{position:relative;z-index:1;width:280px!important;min-width:280px!important}
.round-title{height:50px!important;display:flex!important;align-items:center;padding:0 12px!important;background:var(--ink)!important;color:var(--paper-2)!important;border:0!important;font-size:clamp(16px,var(--round-font),28px)!important;font-weight:900!important;white-space:nowrap;overflow:hidden}
.matches{height:var(--bracket-height)!important;display:grid!important;grid-template-rows:repeat(var(--match-count),minmax(0,1fr))!important;gap:4px!important;justify-content:stretch!important}
.match{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;display:grid!important;grid-template-rows:1fr 1fr!important;background:#fff!important;border:2px solid var(--ink)!important;box-shadow:none!important;overflow:hidden}
.match.active{outline:5px solid var(--hot);outline-offset:-5px}
.slot{height:auto!important;min-height:0!important;display:grid!important;place-items:center!important;padding:5px 9px!important;border:0!important;border-bottom:1.5px solid var(--ink)!important;overflow:hidden;background:#fff}
.slot:last-child{border-bottom:0!important}
.slot.winner{background:#ffd6e9!important;color:var(--hot-dark)!important}
.slot span{display:block;max-width:100%;font-size:var(--round-font)!important;font-weight:900!important;line-height:1!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.late-round .slot span{writing-mode:vertical-rl;text-orientation:upright;white-space:normal;word-break:break-all;max-height:92%;max-width:90%;letter-spacing:.04em;overflow:hidden;text-overflow:clip}

body.champion-mode{overflow:hidden;background-color:var(--ink);background-image:none}
.champion-mode .topbar,.champion-mode footer,.champion-mode .game-heading,.champion-mode #battlePanel,.champion-mode .bracket-section{display:none!important}
.champion-mode main{width:100%!important;max-width:none!important;height:100dvh;margin:0!important;padding:0!important}
.champion-mode .game-view{height:100dvh;display:grid!important;place-items:center;padding:0!important}
.champion-mode .champion-panel{width:100%;height:100dvh;min-height:100dvh;margin:0!important;padding:clamp(28px,6vw,84px)!important;border:0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;background:var(--ink)!important;color:var(--paper-2)!important;text-align:center;box-shadow:none!important;position:relative;overflow:hidden}
.champion-mode .champion-panel::before{content:"";position:absolute;inset:24px;border:2px solid rgba(255,255,255,.24);pointer-events:none}
.champion-mode .champion-panel p{margin:0 0 3vh;font-size:clamp(12px,1.6vw,24px);letter-spacing:.28em;color:#ffc4df;font-weight:900}
.champion-mode .champion-panel h2{max-width:94vw;margin:0;font-size:var(--champion-size,clamp(56px,12vw,220px))!important;line-height:.82!important;letter-spacing:-.07em;overflow-wrap:normal;white-space:nowrap;color:var(--paper-2)!important}
.champion-mode .champion-actions{position:absolute;z-index:2;left:50%;bottom:max(34px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;justify-content:center;gap:10px;width:max-content;max-width:calc(100vw - 48px)}
.champion-mode .champion-actions .primary-button{padding:10px 14px;box-shadow:none;border-color:var(--paper-2)}

@media(max-width:720px){
  .bracket-wrap{margin-inline:-18px;border-inline:0;box-shadow:none;padding:12px}
  .bracket{grid-template-columns:repeat(var(--round-count),220px)!important;gap:14px!important}
  .round{width:220px!important;min-width:220px!important}
  .round-title{height:44px!important}
  .champion-mode .champion-panel::before{inset:12px}
  .champion-mode .champion-panel h2{font-size:var(--champion-size,clamp(44px,14vw,120px))!important}
  .champion-mode .champion-actions{bottom:max(22px,env(safe-area-inset-bottom))}
}
