body:has(.br-presentation) { overflow: hidden; }
.br-presentation { background: radial-gradient(ellipse at top,#0d1b27,#040f17 65%); padding: max(20px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom)); }
.br-present-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1400px; margin: auto; }
.br-present-nav button, .br-event-select { border: 1px solid #427599; border-radius: 10px; background: linear-gradient(135deg,#082039,#040e1b); box-shadow: inset 0 0 6px #167ede44; color: #eef6ff; }
.br-present-nav button { width: 56px; height: 56px; display: grid; place-items: center; padding: 0; }
.br-event-select { max-width: min(55%,320px); }
.br-event-select select { width: 100%; min-height: 54px; padding: 0 16px; border: 0; background: transparent; color: #eef6ff; font-size: 16px; text-overflow: ellipsis; }
.br-event-select option { background: #071525; }
.br-presentation > .br-present-title { display: block; text-align: center; margin: 38px auto 48px; max-width: 900px; }
.br-present-title small { display: flex; align-items: center; justify-content: center; gap: 18px; font-size: 13px; letter-spacing: 6px; color: #96a6b4; }
.br-present-title small::before, .br-present-title small::after { content: ''; width: 110px; height: 1px; background: #647888; }
.br-presentation > .br-present-title h1 { margin: 18px 0 0; font: 900 clamp(28px,5vw,66px)/1.1 Manrope,sans-serif; text-transform: uppercase; text-wrap: balance; overflow-wrap: anywhere; letter-spacing: 1px; color: #edf4ff; text-shadow: 0 3px #596775; }
.br-present-viewport { overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y; width: 100%; }
.br-presentation .br-board { min-height: 0; min-width: 900px; width: max-content; margin: 0 auto; padding: 12px 8px 24px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.br-presentation .br-rounds { gap: 32px; }
.br-presentation .br-round { width: 206px; }
@media(min-width:1000px) {
  .br-presentation .br-round { width: clamp(206px,20vw,320px); }
  .br-presentation .br-round > div { gap: 40px; }
  .br-presentation .br-team-row { min-height: 60px; font-size: 16px; }
}
.br-presentation .br-round > header { min-height: 72px; margin-bottom: 44px; padding: 12px; border: 1px solid #168fe1; border-radius: 8px; background: linear-gradient(140deg,#061a29,#03111f); box-shadow: inset 0 -8px 16px #004fff80,0 0 5px #069eff55; font-size: 17px; }
.br-presentation .br-round > header span { font-size: 14px; color: #a8d2ec; }
.br-presentation .br-round > div { gap: 32px; }
.br-presentation .br-match { background: #051421; border-color: #189fee; box-shadow: 0 0 5px #0b8fe133; border-radius: 7px; overflow: hidden; }
.br-presentation .br-team-row { grid-template-columns: minmax(0,1fr) 30px; min-height: 52px; color: #eff7ff; background: transparent; font-size: 14px; }
.br-presentation .br-team-row:has(.br-present-seed) { grid-template-columns: 38px minmax(0,1fr) 26px; }
.br-presentation .br-team-row > span { padding: 12px 8px; }
.br-presentation .br-team-row > .br-present-score { padding-inline: 2px; text-align: center; color: #9bdfff; }
.br-present-seed { display: grid; place-items: center; align-self: stretch; background: linear-gradient(120deg,#08a9ff,#004083); border-right: 1px solid #1d91d1; font-size: 20px; }
.br-presentation .br-team-row.winner { background: #0877ff20; }
.br-presentation .br-round.champion > header { visibility: hidden; }
.br-presentation .br-round.champion > .br-trophy { gap: 8px; }
.br-presentation .br-trophy img { width: 190px; height: 190px; }
.br-presentation .br-trophy strong { width: 190px; min-height: 62px; display: grid; place-items: center; border-color: #139fe8; background: #061724; box-shadow: 0 0 5px #119ee744; font-size: 15px; }
.br-presentation .br-connections { stroke-width: 3; filter: drop-shadow(0 0 3px #00dfff) drop-shadow(0 0 7px #006fff); }
.br-pan-hint { display: grid; justify-items: center; gap: 12px; width: min(100%,300px); margin: 64px auto 24px; padding: 24px; border: 1px solid #168fe1; border-radius: 24px; color: #9bd8f5; text-align: center; background: #051624; }
.br-pan-hint p { margin: 0; font-size: 15px; line-height: 1.5; }
.br-pan-hint button { min-height: 44px; padding: 8px 16px; border: 1px solid #298abf; border-radius: 8px; background: #08233d; color: #eaf7ff; }
.br-pan-hint small { font-size: 11px; line-height: 1.5; }
.br-presentation .br-pan-hint-compact { width: 180px; padding: 10px 14px 12px; gap: 3px; margin: 28px auto 24px; border-radius: 18px; background: linear-gradient(145deg,#061929,#03121f); border-color: #177bb5; }
.br-presentation .br-pan-hint-compact .br-gesture-icon { width: 70px; height: 46px; stroke: none; filter: drop-shadow(0 0 3px #188ac544); }
.br-presentation .br-pan-hint-compact p { font-size: 11px; line-height: 1.4; margin: 0; color: #acd7ef; }
.br-zoom-controls { display: flex; align-items: center; justify-content: center; gap: 12px; }
.br-zoom-controls button { width: 44px; font-size: 24px; padding: 0; }
.br-zoom-controls output { min-width: 54px; font-variant-numeric: tabular-nums; }
.br-zoom-controls button:disabled { opacity: .4; }
.br-pan-hint [data-return-editor] { background: #0865c4; }
.br-presentation > footer { max-width: 1400px; margin: auto; font-size: 12px; }
.br-presentation > footer b { margin-left: 6px; font-style: italic; font-size: 20px; }
.br-presentation > footer em { font-size: 30px; color: #00ceff; }
@media(max-width:600px) {
  .br-present-viewport { height: 60svh; min-height: 280px; max-height: 640px; overflow: auto; touch-action: none; border: 1px solid #194663; border-radius: 10px; }
  .br-presentation .br-board { margin: 0; }
  .br-presentation { padding: max(14px,env(safe-area-inset-top)) 12px 24px; }
  .br-present-nav button { width: 44px; height: 44px; }
  .br-event-select select { min-height: 44px; font-size: 12px; padding: 0 8px; }
  .br-presentation > .br-present-title { margin: 28px auto 32px; }
  .br-present-title small { font-size: 9px; letter-spacing: 3px; gap: 8px; }
  .br-present-title small::before, .br-present-title small::after { width: 24px; }
  .br-presentation > .br-present-title h1 { font-size: clamp(24px,7.3vw,40px); line-height: 1.15; margin-top: 12px; }
  .br-pan-hint { width: 220px; margin-top: 40px; padding: 18px; }
}
