/* Additive shell only. The TV/OBS presentation continues to use /styles.css. */
[hidden] { display: none !important; }
.public-workspace { min-width: 0; }
/* A notice adds a fourth row; keep the inherited 3-row grid from stretching
   its heading to the table-row height and hiding the live pair below screen. */
body[data-view="display"] .tv-frame.has-notice:not(.is-empty):not(.has-one-table) {
  grid-template-rows: auto auto minmax(0, 1fr) minmax(176px, auto);
  height: calc(100vh - 8px);
}
body[data-view="display"] .tv-frame.has-notice.is-empty { grid-template-rows: auto minmax(0, 1fr); }
body[data-view="public-home"] { min-height: 100vh; margin: 0; }
.public-home { width: min(900px, 100%); margin: 0 auto; padding: clamp(24px, 5vw, 64px); }
.public-home-heading { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.public-home-heading img { object-fit: contain; }
.public-home-heading h1 { margin: 0; font-size: clamp(28px, 5vw, 44px); }
.public-eyebrow { margin: 0 0 6px; color: #e5ac3b; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.public-home p { line-height: 1.6; }
.public-tournament { color: #e5ac3b; font-size: 20px; font-weight: 800; }
.public-link { display: block; padding: 15px 18px; border: 1px solid #48515f; border-radius: 10px; color: #fff; background: #171e28; text-decoration: none; font-weight: 750; }
.public-link:hover, .public-link:focus-visible { border-color: #e5ac3b; background: #222b37; outline: 2px solid #e5ac3b; outline-offset: 2px; }
.public-all-tables { margin: 26px 0 18px; border-color: #b78627; }
.public-table-links { display: grid; gap: 14px; }
.public-table-link-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.public-home-note { margin-top: 30px; font-size: 14px; color: #aeb8c7; }
.public-connection { position: fixed; z-index: 100; right: 12px; top: 12px; max-width: min(620px, calc(100vw - 24px)); padding: 10px 15px; border: 1px solid #b78627; border-radius: 7px; background: #201908; color: #ffe2a0; font-size: 16px; line-height: 1.4; box-shadow: 0 2px 15px #0005; }
body[data-view="public-home"] .public-connection { position: static; width: fit-content; margin: 0 auto 24px; }
body[data-view="overlay"] .public-connection { font-size: 14px; opacity: .95; }
.public-noscript { margin: 30px; }
@media (max-width: 540px) {
  .public-home-heading { gap: 12px; }
  .public-home-heading img { width: 58px; height: 58px; }
  .public-table-link-row { grid-template-columns: 1fr; }
}
