/* The hub's blue, gold and softly rounded cards, now connected by fixture feeds. */
.tpc-hub-connected{--hub-bracket-ink:#001e8e;--hub-bracket-muted:#59657a;--hub-bracket-line:#a7b4df;--hub-bracket-surface:#fff;--hub-bracket-panel:#f3f5fc;--hub-bracket-border:#dce1f0;min-width:0;gap:0}
.tpc-hub-connected .tpc-hub-stage-header p{font-size:14px;font-weight:500;line-height:1.5}
.tpc-hub-bracket-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0}
.tpc-hub-bracket-rounds{display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.tpc-hub-bracket-rounds button{border:1px solid var(--hub-bracket-border);border-radius:999px;background:var(--hub-bracket-panel);color:var(--hub-bracket-ink);font:inherit;font-size:12px;font-weight:800;line-height:1.35;padding:10px 14px;min-height:44px;cursor:pointer}
.tpc-hub-bracket-rounds button[aria-pressed=true]{background:var(--cup-blue,#001e8e);color:#fff;border-color:var(--cup-blue,#001e8e);box-shadow:inset 0 -3px 0 var(--cup-yellow,#f1c30b)}
.tpc-hub-bracket-full{color:var(--hub-bracket-ink);font-size:13px;font-weight:800;min-height:44px;display:inline-flex;align-items:center;gap:10px;text-decoration:underline;text-underline-offset:4px}
.tpc-hub-bracket-round-title{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin:16px 0 12px}
.tpc-hub-bracket-round-title h4{margin:0;color:var(--hub-bracket-ink);font-size:20px;font-weight:800}.tpc-hub-bracket-round-title>span{font-size:12px;color:var(--hub-bracket-muted)}
.tpc-hub-bracket-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tpc-hub-bracket-paths.has-one-path{grid-template-columns:minmax(0,1fr);max-width:700px;width:100%;margin:0 auto}
.tpc-hub-bracket-branch{min-width:0;border:1px solid var(--hub-bracket-border);background:var(--hub-bracket-panel);border-radius:24px;padding:16px}
.tpc-hub-bracket-path-label{display:flex;justify-content:space-between;gap:8px;color:var(--hub-bracket-ink);font-size:12px;font-weight:800;margin:0 0 12px}.tpc-hub-bracket-path-label>span{color:var(--hub-bracket-muted)}
.tpc-hub-bracket-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}.tpc-hub-bracket-sources>article{min-width:0;display:flex}
.tpc-hub-bracket-card{box-sizing:border-box;display:flex;flex-direction:column;gap:7px;min-width:0;width:100%;padding:11px;border-radius:16px;border:1px solid var(--hub-bracket-border);background:var(--hub-bracket-surface);color:var(--hub-bracket-ink);text-decoration:none;box-shadow:0 4px 12px #001e8e08;position:relative}
.tpc-hub-bracket-card:hover{border-color:var(--cup-blue,#001e8e)}.tpc-hub-bracket-card.is-final{border-top:3px solid var(--cup-yellow,#f1c30b)}
.tpc-hub-bracket-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 6px;font-size:10px;line-height:1.3;color:var(--hub-bracket-muted)}.tpc-hub-bracket-meta>b{color:var(--hub-bracket-ink);font-size:11px}.tpc-hub-bracket-meta>span{font-weight:700}
.tpc-hub-bracket-team{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:6px;align-items:center;min-width:0;font-size:13px;line-height:1.3;font-weight:700;min-height:34px}.tpc-hub-bracket-team>strong{font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}
.tpc-hub-bracket-name{min-width:0;overflow-wrap:anywhere}.tpc-hub-bracket-name>small{display:block;font-size:9px;color:var(--hub-bracket-muted);font-weight:600}.tpc-hub-bracket-name>small.is-confirmed{color:#087443}
.tpc-hub-bracket-team.is-winner{font-weight:900}.tpc-hub-bracket-team.is-winner>strong{background:var(--cup-yellow,#f1c30b);color:#001750;border-radius:5px;padding:1px 5px}
.tpc-hub-bracket-emblem{display:inline-grid!important;place-items:center;width:22px!important;height:26px!important;min-width:0!important;min-height:0!important;flex-shrink:0;object-fit:contain;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:10px;font-style:normal}.tpc-hub-bracket-emblem img{max-width:100%;max-height:100%;object-fit:contain}
.tpc-hub-bracket-schedule{font-size:10px;line-height:1.4;color:var(--hub-bracket-muted);margin-top:auto;padding-top:6px;border-top:1px solid var(--hub-bracket-border)}
.tpc-hub-bracket-venue{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpc-hub-bracket-pens,.tpc-hub-bracket-reason{font-size:10px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.tpc-hub-bracket-pens{color:var(--hub-bracket-ink)}
.tpc-hub-bracket-connector{height:20px;width:calc(50% + 6px);margin:0 auto;border:2px solid var(--hub-bracket-line);border-top:0;border-radius:0 0 10px 10px;position:relative}.tpc-hub-bracket-connector::after{content:"";position:absolute;left:50%;bottom:-17px;height:16px;border-left:2px solid var(--hub-bracket-line)}
.tpc-hub-bracket-destination{width:76%;max-width:340px;min-width:0;margin:16px auto 0}.tpc-hub-bracket-destination>span{display:block;text-align:center;font-size:10px;line-height:1.4;letter-spacing:.04em;font-weight:800;color:var(--hub-bracket-muted);margin:0 0 6px}
.tpc-hub-bracket-branch.has-one-source .tpc-hub-bracket-sources{grid-template-columns:minmax(0,1fr);max-width:340px;margin:auto}.tpc-hub-bracket-branch.has-one-source .tpc-hub-bracket-connector{height:20px;width:0;border:0;border-left:2px solid var(--hub-bracket-line);border-radius:0}.tpc-hub-bracket-branch.has-one-source .tpc-hub-bracket-connector::after{display:none}.tpc-hub-bracket-branch.has-one-source .tpc-hub-bracket-destination{margin-top:0}
.tpc-hub-bracket-branch.is-single{grid-column:1/-1;max-width:500px;width:100%;justify-self:center;box-sizing:border-box}.tpc-hub-bracket-branch.is-single .tpc-hub-bracket-sources{max-width:none}
.tpc-hub-bracket-footnote{font-size:12px;color:var(--hub-bracket-muted);margin:14px 0 0;line-height:1.5}
.tpc-hub-connected :is(a,button,summary):focus-visible{outline:3px solid var(--cup-yellow,#f1c30b);outline-offset:3px}
.tpc-hub-bracket-name>small.is-live-projection{display:table;max-width:100%;margin-top:2px;padding:1px 5px;border-radius:4px;border:1px dashed #599d82;background:#e9f6f0;color:#145e43;font-size:9px;font-weight:800;line-height:12px;white-space:nowrap}
.tpc-hub-bracket-team.is-live-projection{border-left:2px dashed #599d82;padding-left:4px}
.tpc-site-dark-mode .tpc-hub-bracket-name>small.is-live-projection,.tpc-live-dark-mode .tpc-hub-bracket-name>small.is-live-projection{background:#163d34;color:#b8f1d8;border-color:#62ab8c}
.tpc-hub-bracket-card.tpc-hub-current-card :is(.tpc-hub-bracket-name,.tpc-hub-bracket-team>strong,.tpc-hub-bracket-meta>b){color:var(--hub-current-ink)}.tpc-hub-bracket-card.tpc-hub-current-card :is(.tpc-hub-bracket-meta,.tpc-hub-bracket-schedule,.tpc-hub-bracket-reason){color:var(--hub-current-muted)}
.tpc-site-dark-mode .tpc-hub-connected{--hub-bracket-ink:#edf2ff;--hub-bracket-muted:#b6c4df;--hub-bracket-line:#6d83bb;--hub-bracket-surface:#14263f;--hub-bracket-panel:#0d1b30;--hub-bracket-border:#304664}.tpc-site-dark-mode .tpc-hub-bracket-name>small.is-confirmed{color:#9ae3b4}
@media(max-width:1000px){.tpc-hub-bracket-paths{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.tpc-hub-bracket-paths{grid-template-columns:minmax(0,1fr)}.tpc-hub-bracket-branch{padding:12px;border-radius:20px}.tpc-hub-bracket-rounds button{padding:8px 10px;font-size:11px}.tpc-hub-bracket-round-title h4{font-size:18px}.tpc-hub-bracket-card{padding:9px}.tpc-hub-bracket-team{font-size:12px;grid-template-columns:18px minmax(0,1fr) auto;gap:5px}.tpc-hub-bracket-emblem{width:18px!important;height:22px!important}.tpc-hub-bracket-sources{gap:10px}.tpc-hub-bracket-round-title>span{font-size:11px}}
@media(max-width:360px){.tpc-hub-bracket-branch{padding:9px}.tpc-hub-bracket-card{padding:7px}.tpc-hub-bracket-team{font-size:11px;gap:4px;grid-template-columns:16px minmax(0,1fr) auto}.tpc-hub-bracket-emblem{width:16px!important}.tpc-hub-bracket-sources{gap:8px}}
/* Legacy branch fallback, used only when the full mobile tree is unavailable. */
@media(max-width:540px){
  .tpc-hub-bracket-branch.is-connected{padding-right:24px}
  .tpc-hub-bracket-branch.is-connected .tpc-hub-bracket-sources{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:12px;position:relative}
  .tpc-hub-bracket-branch.is-connected:not(.has-one-source) .tpc-hub-bracket-sources::after{content:"";position:absolute;right:-11px;top:calc(25% - 3px);bottom:-20px;border-right:2px solid var(--hub-bracket-line)}
  .tpc-hub-bracket-branch.is-connected:not(.has-one-source) .tpc-hub-bracket-sources>article{position:relative}
  .tpc-hub-bracket-branch.is-connected:not(.has-one-source) .tpc-hub-bracket-sources>article::after{content:"";position:absolute;right:-11px;top:50%;width:11px;border-top:2px solid var(--hub-bracket-line)}
  .tpc-hub-bracket-branch.is-connected:not(.has-one-source) .tpc-hub-bracket-connector{width:calc(50% + 11px);margin:0 0 0 50%;border:0;border-bottom:2px solid var(--hub-bracket-line);border-radius:0;height:20px}
  .tpc-hub-bracket-branch.is-connected:not(.has-one-source) .tpc-hub-bracket-connector::after{left:0}
  .tpc-hub-bracket-destination{width:94%}
  .tpc-hub-bracket-team{font-size:13px;grid-template-columns:22px minmax(0,1fr) auto;gap:7px;min-height:32px}
  .tpc-hub-bracket-emblem{width:22px!important;height:25px!important}
}
/* Phone overview: the same left-to-right fixture graph as the knockout page.
   Only the diagram scrolls when enlarged; the page and controls remain fitted. */
.tpc-hub-mobile-bracket{max-width:100%;overflow:hidden;overflow-anchor:none}
.tpc-hub-tree-zoom{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}
.tpc-hub-tree-zoom button{min-width:44px;min-height:44px;border:1px solid var(--hub-bracket-border);border-radius:10px;padding:8px;background:var(--hub-bracket-surface);color:var(--hub-bracket-ink);font:inherit;font-size:14px;font-weight:800;cursor:pointer;touch-action:manipulation}
.tpc-hub-tree-zoom button:disabled{opacity:.4;cursor:default}.tpc-hub-tree-zoom output{min-width:34px;text-align:center;color:var(--hub-bracket-muted);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.tpc-hub-tree-zoom button[data-hub-bracket-zoom=fit]{font-size:12px;white-space:nowrap}
.tpc-hub-mobile-bracket .tpc-hub-bracket-toolbar{margin:14px 0 0;gap:4px 12px}.tpc-hub-mobile-bracket .tpc-hub-bracket-full{font-size:12px}
.tpc-hub-tree-hint{font-size:12px;line-height:1.5;color:var(--hub-bracket-muted);margin:6px 0 10px}
.tpc-hub-tree-viewport{box-sizing:border-box;width:100%;max-width:100%;padding:8px;overflow:auto;max-height:65vh;max-height:65svh;border:1px solid var(--hub-bracket-border);border-radius:16px;background:var(--hub-bracket-panel);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.tpc-hub-tree-viewport:focus-visible{outline:3px solid var(--cup-yellow,#f1c30b);outline-offset:2px}
.tpc-hub-tree-frame{position:relative;margin-inline:auto;overflow:hidden}
.tpc-hub-tree{position:absolute;left:4px;top:4px;isolation:isolate;transform-origin:left top}
.tpc-hub-tree-connectors{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.tpc-hub-tree-connectors path{fill:none;stroke:var(--hub-bracket-line);stroke-width:2.5;stroke-linejoin:round}
.tpc-hub-tree-round{position:absolute;top:0;margin:0;color:var(--hub-bracket-ink);font-size:12px;line-height:22px;font-weight:800;text-align:center;white-space:nowrap}
.tpc-hub-tree .tpc-hub-bracket-card{position:absolute;z-index:1;padding:7px;gap:3px;border-radius:10px;box-shadow:none;overflow:hidden}
.tpc-hub-tree .tpc-hub-bracket-meta{font-size:9px;line-height:12px;flex-wrap:nowrap;white-space:nowrap}.tpc-hub-tree .tpc-hub-bracket-meta>b{font-size:9px}.tpc-hub-tree .tpc-hub-bracket-meta>span{overflow:hidden;text-overflow:ellipsis}
.tpc-hub-tree .tpc-hub-bracket-team{font-size:11px;line-height:14px;grid-template-columns:18px minmax(0,1fr) auto;gap:4px;min-height:27px;flex-shrink:0}.tpc-hub-tree .tpc-hub-bracket-team>strong{font-size:13px}
.tpc-hub-tree .tpc-hub-bracket-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}.tpc-hub-tree .tpc-hub-bracket-name>small{font-size:9px;line-height:11px}
.tpc-hub-tree .tpc-hub-bracket-emblem{width:18px!important;height:22px!important}
.tpc-hub-tree :is(.tpc-hub-bracket-schedule,.tpc-hub-bracket-pens,.tpc-hub-bracket-reason){font-size:9px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.tpc-hub-tree .tpc-hub-bracket-schedule{padding-top:2px}
.tpc-hub-tree-placement{margin-top:16px;max-width:360px;width:100%;justify-self:center}.tpc-hub-tree-placement>h4{margin:0;color:var(--hub-bracket-ink);font-size:15px;font-weight:800}.tpc-hub-tree-placement>p{margin:3px 0 8px;color:var(--hub-bracket-muted);font-size:12px}.tpc-hub-tree-placement .tpc-hub-bracket-card+.tpc-hub-bracket-card{margin-top:8px}
