:root {
  --ink: #111827;
  --muted: #647084;
  --line: #d7dce6;
  --panel: #ffffff;
  --paper: #f2f4f8;
  --tour-blue: #100a83;
  --tour-blue-dark: #070449;
  --tour-red: #f20d0d;
  --tour-red-dark: #b90808;
  --tour-white: #ffffff;
  --tour-silver: #e8ebf2;
  --class-a: #2d4a73;
  --class-b: #3f7556;
  --class-c: #b8793d;
  --class-d: #d3bd62;
  --class-e: #d98995;
  --shadow: 0 18px 50px rgba(6, 8, 36, 0.16);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  color: #f8fafc;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  background: #050816;
  font-size: 14px;
}

button,
select {
  font: inherit;
}

.site-header {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 8px clamp(12px, 3vw, 36px);
  border-bottom: 3px solid var(--tour-red);
  background: #050505;
  position: sticky;
  top: 0;
  z-index: 10;
  backdrop-filter: blur(14px);
  box-shadow: none;
}

.auth-session-banner {
  position: sticky;
  top: 91px;
  z-index: 9;
  padding: 7px 14px;
  border-bottom: 1px solid rgba(255, 210, 30, 0.5);
  background: #172554;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 900;
  text-align: center;
}

.auth-session-banner[hidden] {
  display: none;
}

.auth-session-banner.auth-session-expiring {
  background: #713f12;
}

.auth-session-banner.auth-session-expired {
  background: #7f1d1d;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.brand-lockup img {
  width: 68px;
  max-height: 74px;
  height: auto;
  filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.36));
}

.brand-lockup p,
.eyebrow {
  margin: 0 0 4px;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brand-lockup h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.05rem, 1.6vw, 1.45rem);
  text-shadow: 0 2px 0 #000;
}

.main-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
}

.nav-button,
.secondary-button,
.theme-toggle-button {
  border: 1px solid #ffffff;
  border-radius: 0;
  padding: 6px 9px;
  background: #050505;
  color: #fff;
  cursor: pointer;
}

.nav-button.active,
.nav-button:hover,
.secondary-button:hover,
.theme-toggle-button:hover {
  border-color: #fff;
  background: var(--tour-red);
  color: #fff;
}

.theme-toggle-button {
  min-width: 54px;
  text-transform: uppercase;
  font-weight: 900;
}

.streamer-nav-button,
.streamer-button {
  background: #063c8a;
  border-color: #9cc6ff;
}

.streamer-nav-button.active,
.streamer-nav-button:hover,
.streamer-button:hover {
  background: #0b66d8;
  border-color: #ffffff;
}

.teams-nav-button,
.teams-button {
  background: #8a3d08;
  border-color: #f7b267;
}

.teams-nav-button.active,
.teams-nav-button:hover,
.teams-button:hover {
  background: #d36b16;
  border-color: #ffffff;
  color: #ffffff;
}

.cphq-header-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 38px;
  margin-left: 4px;
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: #050505;
}

.cphq-header-mark:hover {
  border-color: #ffffff;
  background: #0b132b;
}

.cphq-header-mark img {
  max-width: 46px;
  max-height: 34px;
  display: block;
}

main {
  width: min(1420px, calc(100% - 20px));
  margin: 12px auto 38px;
}

.site-footer {
  width: min(1420px, calc(100% - 20px));
  margin: 22px auto 0;
  padding: 18px 10px 24px;
  border-top: 2px solid rgba(255, 255, 255, 0.3);
  text-align: center;
}

.site-footer img {
  display: block;
  width: min(760px, 100%);
  height: auto;
  margin: 0 auto 8px;
}

.site-footer p {
  margin: 0;
  color: #d7e8ff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-resources {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 360px));
  justify-content: center;
  gap: 12px;
  margin: 0 0 18px;
  text-align: left;
}

.footer-resources > div {
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(2, 8, 23, 0.86);
  padding: 10px;
}

.footer-resources h2 {
  margin: 0 0 7px;
  color: #ffffff;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-resources a {
  color: #d7e8ff;
  font-size: 0.78rem;
  font-weight: 900;
  text-decoration: none;
}

.footer-resources a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.terms-page .rules-card p + p {
  margin-top: 8px;
}

.terms-page .rules-card h3 {
  color: #ffffff;
}

body[data-theme="light"] .terms-page .rules-card h3 {
  color: #0f172a;
}

body[data-theme="light"] {
  color: #0f172a;
  background: #f4f7fb;
}

body[data-theme="light"] .site-header {
  background: #ffffff;
  border-bottom-color: var(--tour-red);
}

body[data-theme="light"] .brand-lockup p,
body[data-theme="light"] .brand-lockup h1 {
  color: #06142f;
  text-shadow: none;
}

body[data-theme="light"] .nav-button,
body[data-theme="light"] .secondary-button,
body[data-theme="light"] .theme-toggle-button,
body[data-theme="light"] .cphq-header-mark,
body[data-theme="light"] .control-bar,
body[data-theme="light"] .schedule-controls,
body[data-theme="light"] .profile-selector-bar,
body[data-theme="light"] .admin-gate,
body[data-theme="light"] .admin-controls,
body[data-theme="light"] .admin-editor,
body[data-theme="light"] .admin-participant-editor {
  border-color: #506280;
  background: #ffffff;
  color: #0f172a;
}

body[data-theme="light"] .nav-button.active,
body[data-theme="light"] .nav-button:hover,
body[data-theme="light"] .secondary-button:hover,
body[data-theme="light"] .theme-toggle-button:hover {
  background: var(--tour-red);
  color: #ffffff;
  border-color: var(--tour-red);
}

body[data-theme="light"] .streamer-nav-button,
body[data-theme="light"] .streamer-button {
  background: #dbeafe;
  border-color: #2563eb;
  color: #082f6f;
}

body[data-theme="light"] .streamer-nav-button.active,
body[data-theme="light"] .streamer-nav-button:hover,
body[data-theme="light"] .streamer-button:hover {
  background: #2563eb;
  color: #ffffff;
}

body[data-theme="light"] .teams-nav-button,
body[data-theme="light"] .teams-button {
  background: #fff3e4;
  border-color: #c05621;
  color: #7c2d12;
}

body[data-theme="light"] .teams-nav-button.active,
body[data-theme="light"] .teams-nav-button:hover,
body[data-theme="light"] .teams-button:hover {
  background: #ea580c;
  border-color: #ea580c;
  color: #ffffff;
}

body[data-theme="light"] .footer-resources > div {
  border-color: #b8c7db;
  background: #ffffff;
}

body[data-theme="light"] .footer-resources h2,
body[data-theme="light"] .footer-resources a {
  color: #0f172a;
}

body[data-theme="light"] .report-section > h2,
body[data-theme="light"] .hero-panel,
body[data-theme="light"] .division-table h3,
body[data-theme="light"] .leaderboard h2,
body[data-theme="light"] th {
  background: #d9e7fb;
  color: #0f172a;
  text-shadow: none;
}

body[data-theme="light"] .hero-copy,
body[data-theme="light"] .eyebrow,
body[data-theme="light"] .control-bar label,
body[data-theme="light"] .schedule-controls label,
body[data-theme="light"] .profile-selector-bar label,
body[data-theme="light"] .admin-message,
body[data-theme="light"] .site-footer p {
  color: #334155;
}

body[data-theme="light"] .table-wrap,
body[data-theme="light"] .leaderboard,
body[data-theme="light"] .division-table,
body[data-theme="light"] .standings-report-body,
body[data-theme="light"] .streamer-match-list,
body[data-theme="light"] .profile-header,
body[data-theme="light"] .info-card,
body[data-theme="light"] .metric-card,
body[data-theme="light"] .matchup-card {
  background: #ffffff;
  color: #0f172a;
  border-color: #94a3b8;
}

body[data-theme="light"] th,
body[data-theme="light"] td,
body[data-theme="light"] .leaderboard-table th,
body[data-theme="light"] .leaderboard-table td,
body[data-theme="light"] .profile-report-table th,
body[data-theme="light"] .profile-report-table td {
  border-color: #94a3b8;
  color: #0f172a;
}

body[data-theme="light"] .table-wrap tbody tr:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .profile-report-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .division-table tbody tr:nth-child(odd) td {
  background: #ffffff;
}

body[data-theme="light"] .table-wrap tbody tr:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr:nth-child(even) td,
body[data-theme="light"] .profile-report-table tbody tr:nth-child(even) td,
body[data-theme="light"] .division-table tbody tr:nth-child(even) td {
  background: #eef3f9;
}

body[data-theme="light"] .table-wrap tbody tr.class-a:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-a:nth-child(odd) td {
  background: #edf4ff;
}

body[data-theme="light"] .table-wrap tbody tr.class-a:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-a:nth-child(even) td {
  background: #dfeaf9;
}

body[data-theme="light"] .table-wrap tbody tr.class-b:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-b:nth-child(odd) td {
  background: #effaf3;
}

body[data-theme="light"] .table-wrap tbody tr.class-b:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-b:nth-child(even) td {
  background: #e0f1e7;
}

body[data-theme="light"] .table-wrap tbody tr.class-c:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-c:nth-child(odd) td {
  background: #fff4e8;
}

body[data-theme="light"] .table-wrap tbody tr.class-c:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-c:nth-child(even) td {
  background: #f6e6d4;
}

body[data-theme="light"] .table-wrap tbody tr.class-d:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-d:nth-child(odd) td {
  background: #fffbe6;
}

body[data-theme="light"] .table-wrap tbody tr.class-d:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-d:nth-child(even) td {
  background: #f3edc9;
}

body[data-theme="light"] .table-wrap tbody tr.class-e:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-e:nth-child(odd) td {
  background: #fff0f4;
}

body[data-theme="light"] .table-wrap tbody tr.class-e:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-e:nth-child(even) td {
  background: #f6dfe6;
}

body[data-theme="light"] .standings-brand-panel,
body[data-theme="light"] .standings-side-label {
  background: #ffffff;
  color: #0f172a;
  text-shadow: none;
  border-color: #94a3b8;
}

.control-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px;
  border: 1px solid #ffffff;
  border-radius: 0;
  background: #050505;
  box-shadow: none;
}

.report-toggle-bar {
  align-items: center;
}

.control-bar label {
  display: grid;
  gap: 3px;
  min-width: 140px;
  color: #dbeafe;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.control-bar select {
  min-height: 32px;
  border: 1px solid #ffffff;
  border-radius: 0;
  padding: 0 10px;
  color: var(--ink);
  background: #fff;
}

.schedule-module {
  display: grid;
  gap: 8px;
}

.inline-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 6px 8px;
  border: 1px solid #ffffff;
  background: #050505;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.inline-toggle input {
  width: 14px;
  height: 14px;
  accent-color: var(--acst-red);
}

.admin-check-label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: auto;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 800;
}

.admin-check-label input {
  width: 14px;
  height: 14px;
  accent-color: var(--acst-red);
}

.schedule-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 8px;
  padding: 8px;
  border: 1px solid #ffffff;
  background: #050505;
}

.schedule-controls label {
  display: grid;
  gap: 3px;
  min-width: 150px;
  color: #dbeafe;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.schedule-controls select {
  min-height: 30px;
  border: 1px solid #ffffff;
  border-radius: 0;
  padding: 0 8px;
  color: #111827;
  background: #ffffff;
}

.schedule-controls .toggle-check {
  display: flex;
  min-width: auto;
  min-height: 30px;
  align-items: center;
  gap: 7px;
}

.schedule-controls .toggle-check input {
  width: 16px;
  height: 16px;
  margin: 0;
}

.profile-selector-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
  margin-top: 10px;
}

.profile-selector-bar label {
  min-width: auto;
}

.profile-selector-bar select[data-profile-control="profileConference"] {
  width: 92px;
}

.profile-selector-bar select[data-profile-control="profileClass"] {
  width: 58px;
}

.profile-selector-bar select[data-profile-bowler] {
  min-width: 220px;
}

.playoff-row td {
  background: rgba(64, 117, 86, 0.34);
}

.playoff-cut-line td {
  border-bottom: 3px solid #ffffff;
}

.wildcard-tiebreak-pending-row td {
  background: rgba(255, 210, 30, 0.2);
  box-shadow: inset 0 0 0 1px rgba(255, 210, 30, 0.32);
}

.view-root {
  display: grid;
  gap: 14px;
}

.hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  min-height: 0;
  align-items: center;
  align-content: center;
  padding: 10px 12px;
  border: 1px solid #ffffff;
  border-left: 8px solid var(--tour-red);
  border-radius: 0;
  background: #050505;
  color: #fff;
  box-shadow: none;
  overflow: hidden;
  position: relative;
}

.hero-copy-block {
  display: grid;
  gap: 6px;
}

.hero-actions {
  justify-self: end;
}

.hero-panel::after {
  content: none;
}

.hero-panel .eyebrow {
  color: #ffffff;
}

.hero-panel h2 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(1.35rem, 2.2vw, 2.1rem);
  line-height: 1;
  text-transform: uppercase;
}

.hero-copy {
  max-width: 760px;
  margin: 0;
  color: #d7dce8;
  font-size: 0.9rem;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.metric-card,
.info-card,
.leaderboard,
.profile-header,
.matchup-card {
  border: 1px solid #ffffff;
  border-radius: 0;
  background: #050505;
  color: #fff;
  box-shadow: none;
}

.metric-card {
  border-top: 3px solid var(--tour-blue);
  padding: 10px;
}

.metric-card span,
.mini-metric span {
  display: block;
  color: #9dc4ff;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.metric-card strong {
  display: block;
  margin: 8px 0 4px;
  color: #ffffff;
  font-size: clamp(1.35rem, 3vw, 2.15rem);
  line-height: 1;
}

.metric-card p,
.info-card p {
  margin: 0;
  color: #d7dce8;
}

.report-section {
  display: grid;
  gap: 8px;
}

.report-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  border-left: 0;
  border: 1px solid #ffffff;
  background: #243f70;
}

.report-section-header h2,
.report-section > h2 {
  margin: 0;
  padding: 5px 8px;
  color: #fff;
  text-shadow: none;
  font-size: 1.05rem;
  text-transform: uppercase;
}

.report-section-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  padding-right: 6px;
}

.report-section-actions .primary-button,
.report-section-actions .secondary-button {
  padding: 3px 8px;
  font-size: 0.72rem;
}

.section-toggle-button {
  align-self: stretch;
  min-width: 58px;
  border: 0;
  border-left: 1px solid #ffffff;
  border-radius: 0;
  background: #050505;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}

.section-toggle-button:hover {
  background: var(--tour-red);
}

.card-grid,
.leaderboard-grid,
.bracket-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.official-links-panel {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
}

.official-link {
  display: grid;
  grid-template-columns: 24px auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 7px;
  min-width: 128px;
  padding: 6px 8px;
  border: 1px solid #ffffff;
  background: #050505;
  color: #ffffff;
  text-decoration: none;
}

.official-link:hover {
  border-color: #ff4a4a;
  background: #111827;
}

.official-link-kicker {
  color: #9dc4ff;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.official-link-icon {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #ffffff;
  background: #113e83;
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 950;
  line-height: 1;
}

.official-link strong {
  font-size: 0.78rem;
  line-height: 1;
  text-transform: uppercase;
}

.youtube-link .official-link-kicker {
  color: #ff8a8a;
}

.youtube-link .official-link-icon {
  background: #a01116;
}

.sheet-link .official-link-kicker {
  color: #95f0ba;
}

.sheet-link .official-link-icon {
  background: #166534;
}

.leaderboard-grid {
  grid-template-columns: repeat(3, auto);
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
  align-items: start;
}

.info-card,
.leaderboard,
.matchup-card {
  padding: 10px;
}

.leaderboard {
  display: grid;
  align-content: start;
  width: fit-content;
  max-width: 100%;
  padding: 0;
  overflow: hidden;
}

.leaderboard h2 {
  margin: 0;
  padding: 5px 8px;
  border-bottom: 1px solid #ffffff;
  background: #243f70;
  color: #fff;
  font-size: 0.92rem;
  line-height: 1.05;
  text-transform: uppercase;
}

.leaderboard .table-wrap {
  border: 0;
}

.leaderboard-table {
  min-width: 0;
  width: auto;
  table-layout: fixed;
}

.leaderboard-table th,
.leaderboard-table td {
  padding: 3px 5px;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #1d428a;
  color: #fff;
  text-align: center;
  font-size: 0.82rem;
  line-height: 1.15;
}

.leaderboard-table th {
  background: #050505;
  color: #dbeafe;
}

.leaderboard-table th:nth-child(1),
.leaderboard-table td:nth-child(1) {
  width: 34px;
}

.leaderboard-table th:nth-child(2),
.leaderboard-table td:nth-child(2) {
  width: 220px;
  text-align: left;
}

.leaderboard-table th:nth-child(3),
.leaderboard-table td:nth-child(3),
.leaderboard-table th:nth-child(4),
.leaderboard-table td:nth-child(4) {
  width: 42px;
}

.leaderboard-table th:nth-child(5),
.leaderboard-table td:nth-child(5) {
  width: 68px;
  font-weight: 900;
}

.leaderboard-table tbody tr:nth-child(odd) td {
  background: #050505;
}

.leaderboard-table tbody tr:nth-child(even) td {
  background: #171b24;
}

.leaderboard-table tbody tr.class-a td:first-child {
  border-left: 4px solid var(--class-a);
}

.leaderboard-table tbody tr.class-b td:first-child {
  border-left: 4px solid var(--class-b);
}

.leaderboard-table tbody tr.class-c td:first-child {
  border-left: 4px solid var(--class-c);
}

.leaderboard-table tbody tr.class-d td:first-child {
  border-left: 4px solid var(--class-d);
}

.leaderboard-table tbody tr.class-e td:first-child {
  border-left: 4px solid var(--class-e);
}

.leaderboard-table tbody tr.class-a:nth-child(even) td {
  background: #172233;
}

.leaderboard-table tbody tr.class-b:nth-child(even) td {
  background: #17271f;
}

.leaderboard-table tbody tr.class-c:nth-child(even) td {
  background: #2a2118;
}

.leaderboard-table tbody tr.class-d:nth-child(even) td {
  background: #2b2819;
}

.leaderboard-table tbody tr.class-e:nth-child(even) td {
  background: #2b1d24;
}

.accent-card {
  border-top: 4px solid var(--tour-red);
}

.info-card h3,
.matchup-card h3 {
  margin: 8px 0 8px;
  font-size: 0.98rem;
}

.pill {
  display: inline-flex;
  width: fit-content;
  border-radius: 0;
  padding: 4px 9px;
  background: #243f70;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.table-wrap {
  overflow: auto;
  border: 1px solid #ffffff;
  border-radius: 0;
  background: #050505;
  box-shadow: none;
}

.standings-report-stack {
  display: grid;
  gap: 16px;
}

.standings-conference-board {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 10px;
  align-items: start;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
}

.standings-conference-column {
  display: grid;
  align-content: start;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
}

.standings-conference-column > h3 {
  margin: 0;
  padding: 5px 8px;
  border: 1px solid #ffffff;
  background: #243f70;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
}

.standings-class-block {
  display: grid;
  border: 1px solid #ffffff;
  border-left: 4px solid #243f70;
  background: #050505;
}

.standings-class-block h4 {
  margin: 0;
  padding: 4px 8px;
  border-bottom: 1px solid #ffffff;
  background: #243f70;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.82rem;
  line-height: 1.05;
}

.standings-class-block.class-a,
.standings-class-block.class-a .division-table {
  border-left-color: var(--class-a);
}

.standings-class-block.class-a h4,
.standings-class-block.class-a .division-table h3 {
  background: var(--class-a);
}

.standings-class-block.class-b,
.standings-class-block.class-b .division-table {
  border-left-color: var(--class-b);
}

.standings-class-block.class-b h4,
.standings-class-block.class-b .division-table h3 {
  background: var(--class-b);
}

.standings-class-block.class-c,
.standings-class-block.class-c .division-table {
  border-left-color: var(--class-c);
}

.standings-class-block.class-c h4,
.standings-class-block.class-c .division-table h3 {
  background: var(--class-c);
}

.standings-class-block.class-d,
.standings-class-block.class-d .division-table {
  border-left-color: var(--class-d);
}

.standings-class-block.class-d h4,
.standings-class-block.class-d .division-table h3 {
  background: var(--class-d);
  color: #111;
  text-shadow: none;
}

.standings-class-block.class-e,
.standings-class-block.class-e .division-table {
  border-left-color: var(--class-e);
}

.standings-class-block.class-e h4,
.standings-class-block.class-e .division-table h3 {
  background: var(--class-e);
}

.standings-class-block .division-table + .division-table {
  border-top: 1px solid #ffffff;
}

.toggle-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.toggle-label {
  color: #dbeafe;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.toggle-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.toggle-button {
  min-width: 44px;
  border: 1px solid #ffffff;
  border-radius: 0;
  padding: 5px 8px;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font-weight: 800;
}

.toggle-button.active {
  border-color: #111;
  background: var(--tour-blue);
  color: #fff;
}

.toggle-button.active.class-a {
  background: var(--class-a);
}

.toggle-button.active.class-b {
  background: var(--class-b);
}

.toggle-button.active.class-c {
  background: var(--class-c);
}

.toggle-button.active.class-d {
  background: var(--class-d);
  color: #111;
}

.toggle-button.active.class-e {
  background: var(--class-e);
}

.standings-report {
  display: grid;
  grid-template-columns: 108px 26px auto;
  gap: 0;
  width: fit-content;
  max-width: 100%;
  border: 2px solid #fff;
  outline: 2px solid #0b0b0b;
  background: #050505;
  color: #fff;
  box-shadow: none;
}

.standings-conference-board .standings-report {
  grid-template-columns: 1fr;
  gap: 0;
  border-width: 1px;
  outline: 0;
}

.standings-conference-board .standings-brand-panel {
  display: none;
}

.standings-conference-board .standings-side-label {
  writing-mode: horizontal-tb;
  transform: none;
  padding: 4px 8px;
  border-right: 0;
  border-bottom: 1px solid #ffffff;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 0.82rem;
  line-height: 1.05;
  letter-spacing: 0;
  text-shadow: none;
}

.standings-conference-board .division-table h3 {
  padding: 4px 8px;
  font-size: 0.92rem;
  line-height: 1.05;
  text-transform: uppercase;
}

.standings-conference-board .division-table th,
.standings-conference-board .division-table td {
  padding: 3px 4px;
  font-size: 0.78rem;
}

.standings-conference-board .division-table th:first-child,
.standings-conference-board .division-table td:first-child {
  width: 165px;
}

.standings-conference-board .division-table th:not(:first-child),
.standings-conference-board .division-table td:not(:first-child) {
  width: 34px;
}

.standings-conference-board .division-table th:nth-child(4),
.standings-conference-board .division-table td:nth-child(4),
.standings-conference-board .division-table th:nth-child(5),
.standings-conference-board .division-table td:nth-child(5),
.standings-conference-board .division-table th:nth-child(7),
.standings-conference-board .division-table td:nth-child(7) {
  width: 42px;
}

.standings-conference-board .division-table th:nth-child(6),
.standings-conference-board .division-table td:nth-child(6),
.standings-conference-board .division-table th:nth-child(8),
.standings-conference-board .division-table td:nth-child(8) {
  width: 38px;
}

.standings-brand-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  min-height: 0;
  padding: 6px;
  border-right: 2px solid #fff;
  background: #050505;
}

.standings-brand-panel img {
  width: 100%;
  max-width: 92px;
  justify-self: center;
  filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.42));
}

.standings-vertical-title,
.standings-side-label {
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-transform: uppercase;
  font-family: Impact, Haettenschweiler, "Arial Black", sans-serif;
  letter-spacing: 0;
  text-shadow: 2px 2px 0 #000;
}

.standings-vertical-title {
  gap: 8px;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 0.82;
  overflow: hidden;
}

.standings-side-label {
  padding: 6px 0;
  border-right: 2px solid #fff;
  background: var(--tour-blue);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 900;
  overflow: hidden;
}

.standings-report.class-a .standings-side-label,
.standings-report.class-a .division-table h3 {
  background: var(--class-a);
}

.standings-report.class-a .division-table {
  border-left-color: var(--class-a);
}

.standings-report.class-b .standings-side-label,
.standings-report.class-b .division-table h3 {
  background: var(--class-b);
}

.standings-report.class-b .division-table {
  border-left-color: var(--class-b);
}

.standings-report.class-c .standings-side-label,
.standings-report.class-c .division-table h3 {
  background: var(--class-c);
}

.standings-report.class-c .division-table {
  border-left-color: var(--class-c);
}

.standings-report.class-d .standings-side-label,
.standings-report.class-d .division-table h3 {
  background: var(--class-d);
  color: #111;
  text-shadow: none;
}

.standings-report.class-d .division-table {
  border-left-color: var(--class-d);
}

.standings-report.class-e .standings-side-label,
.standings-report.class-e .division-table h3 {
  background: var(--class-e);
}

.standings-report.class-e .division-table {
  border-left-color: var(--class-e);
}

.standings-report-body {
  display: grid;
  align-content: start;
  width: fit-content;
  max-width: 100%;
  padding: 0;
  background: #050505;
}

.division-table-grid {
  display: grid;
  grid-template-columns: 1fr;
  width: fit-content;
  max-width: 100%;
  align-content: start;
}

.west-division-grid,
.wild-report .division-table-grid {
  grid-template-columns: 1fr;
}

.division-table {
  display: grid;
  width: fit-content;
  max-width: 100%;
  border-left: 4px solid #243f70;
  align-content: start;
  overflow-x: auto;
}

.division-table h3 {
  margin: 0;
  padding: 2px 10px 3px;
  border-bottom: 2px solid #fff;
  background: #243f70;
  color: #fff;
  font-size: clamp(1.2rem, 2.2vw, 1.8rem);
  line-height: 1;
}

.division-table .table-wrap {
  border: 0;
  border-radius: 0;
  background: #050505;
  box-shadow: none;
}

.division-table table {
  min-width: 0;
  width: auto;
  table-layout: fixed;
  background: #050505;
}

.division-table th,
.division-table td {
  padding: 3px 5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #1d428a;
  color: #fff;
  text-align: center;
  font-size: 0.92rem;
  line-height: 1.15;
}

.division-table th:first-child,
.division-table td:first-child {
  width: 240px;
  text-align: left;
}

.division-table th:not(:first-child),
.division-table td:not(:first-child) {
  width: 40px;
}

.division-table th:nth-child(4),
.division-table td:nth-child(4),
.division-table th:nth-child(5),
.division-table td:nth-child(5),
.division-table th:nth-child(7),
.division-table td:nth-child(7) {
  width: 52px;
}

.division-table th:nth-child(6),
.division-table td:nth-child(6),
.division-table th:nth-child(8),
.division-table td:nth-child(8) {
  width: 44px;
}

.division-table th {
  background: #050505;
  color: #9dc4ff;
  font-size: 0.88rem;
}

.division-table tbody tr:nth-child(odd) td {
  background: #050505;
}

.division-table tbody tr:nth-child(even) td {
  background: #171b24;
}

.standings-report.class-a .division-table tbody tr:nth-child(even) td {
  background: #172233;
}

.standings-report.class-b .division-table tbody tr:nth-child(even) td {
  background: #17271f;
}

.standings-report.class-c .division-table tbody tr:nth-child(even) td {
  background: #2a2118;
}

.standings-report.class-d .division-table tbody tr:nth-child(even) td {
  background: #2b2819;
}

.standings-report.class-e .division-table tbody tr:nth-child(even) td {
  background: #2b1d24;
}

.standings-class-block.class-a .division-table tbody tr:nth-child(even) td {
  background: #172233;
}

.standings-class-block.class-b .division-table tbody tr:nth-child(even) td {
  background: #17271f;
}

.standings-class-block.class-c .division-table tbody tr:nth-child(even) td {
  background: #2a2118;
}

.standings-class-block.class-d .division-table tbody tr:nth-child(even) td {
  background: #2b2819;
}

.standings-class-block.class-e .division-table tbody tr:nth-child(even) td {
  background: #2b1d24;
}

.division-table tbody tr:first-child td {
  font-weight: 900;
}

.average-table tbody tr:first-child td {
  font-weight: 400;
}

.average-table td.stat-column-best {
  font-weight: 950;
  color: #ffff00;
}

body[data-theme="light"] .average-table td.stat-column-best {
  color: #9a3412;
}

.standings-report .division-table td:nth-child(6),
.standings-report .division-table th:nth-child(6) {
  color: #ffff00;
}

.wild-report .standings-brand-panel {
  min-height: 0;
}

.wild-report .division-table + .division-table {
  border-top: 2px solid #fff;
}

.average-report .standings-brand-panel {
  min-height: 0;
}

.average-report .standings-vertical-title {
  font-size: clamp(1.7rem, 3vw, 2.9rem);
}

.average-split-grid {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 14px;
  align-items: start;
}

.average-split-grid .table-wrap + .table-wrap {
  padding-left: 8px;
  border-left: 2px solid rgba(255, 255, 255, 0.5);
}

.average-table .table-wrap {
  overflow: visible;
}

.average-table .average-rank-table {
  min-width: 0;
  width: auto;
  table-layout: fixed;
}

.average-table th:first-child,
.average-table td:first-child {
  width: 30px;
  text-align: center;
}

.average-table th:nth-child(2),
.average-table td:nth-child(2) {
  width: 116px;
  text-align: left;
}

.average-table th:nth-child(3),
.average-table td:nth-child(3),
.average-table th:nth-child(7),
.average-table td:nth-child(7),
.average-table th:nth-child(8),
.average-table td:nth-child(8) {
  width: 34px;
}

.average-table th:nth-child(4),
.average-table td:nth-child(4),
.average-table th:nth-child(5),
.average-table td:nth-child(5) {
  width: 48px;
}

.average-table th:nth-child(6),
.average-table td:nth-child(6) {
  width: 36px;
}

.average-table th:nth-child(9),
.average-table td:nth-child(9),
.average-table th:nth-child(10),
.average-table td:nth-child(10),
.average-table th:nth-child(11),
.average-table td:nth-child(11) {
  width: 28px;
}

.average-table th:nth-child(12),
.average-table td:nth-child(12) {
  width: 40px;
}

.average-table th,
.average-table td {
  padding: 3px 4px;
  font-size: 0.78rem;
}

.average-table td:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
}

.division-leaders-board {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 10px;
  align-items: start;
  width: fit-content;
  max-width: 100%;
}

.division-leaders-column {
  display: grid;
  width: fit-content;
  border: 1px solid #ffffff;
  background: #050505;
}

.division-leaders-column h3 {
  margin: 0;
  padding: 5px 8px;
  border-bottom: 1px solid #ffffff;
  background: #243f70;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
}

.division-leader-class {
  display: grid;
  border-top: 1px solid #ffffff;
  border-left: 4px solid #243f70;
}

.division-leader-class:first-of-type {
  border-top: 0;
}

.division-leader-class h4 {
  margin: 0;
  padding: 4px 8px;
  border-bottom: 1px solid #ffffff;
  background: #243f70;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.82rem;
  line-height: 1.05;
}

.division-leader-class.class-a h4 {
  background: var(--class-a);
}

.division-leader-class.class-a {
  border-left-color: var(--class-a);
}

.division-leader-class.class-b h4 {
  background: var(--class-b);
}

.division-leader-class.class-b {
  border-left-color: var(--class-b);
}

.division-leader-class.class-c h4 {
  background: var(--class-c);
}

.division-leader-class.class-c {
  border-left-color: var(--class-c);
}

.division-leader-class.class-d h4 {
  background: var(--class-d);
  color: #111;
}

.division-leader-class.class-d {
  border-left-color: var(--class-d);
}

.division-leader-class.class-e h4 {
  background: var(--class-e);
}

.division-leader-class.class-e {
  border-left-color: var(--class-e);
}

.division-leaders-column .table-wrap,
.division-leader-class .table-wrap {
  border: 0;
}

.division-leaders-column table {
  min-width: 0;
  width: auto;
  table-layout: fixed;
}

.division-leaders-column th,
.division-leaders-column td {
  padding: 3px 5px;
  text-align: center;
}

.division-leaders-column th:nth-child(1),
.division-leaders-column td:nth-child(1) {
  width: 34px;
}

.division-leaders-column th:nth-child(2),
.division-leaders-column td:nth-child(2) {
  width: 34px;
}

.division-leaders-column th:nth-child(3),
.division-leaders-column td:nth-child(3) {
  width: 220px;
  text-align: left;
}

.division-leaders-column th:nth-child(n+4),
.division-leaders-column td:nth-child(n+4) {
  width: 38px;
}

.division-leaders-column th:nth-child(6),
.division-leaders-column td:nth-child(6),
.division-leaders-column th:nth-child(7),
.division-leaders-column td:nth-child(7) {
  width: 48px;
}

.division-leaders-column th:nth-child(8),
.division-leaders-column td:nth-child(8) {
  width: 44px;
}

.division-leaders-column th {
  background: #050505;
  color: #dbeafe;
}

.division-leader-class tbody tr:nth-child(odd) td {
  background: #050505;
}

.division-leader-class tbody tr:nth-child(even) td {
  background: #171b24;
}

.division-leader-class.class-a tbody tr:nth-child(even) td {
  background: #172233;
}

.division-leader-class.class-b tbody tr:nth-child(even) td {
  background: #17271f;
}

.division-leader-class.class-c tbody tr:nth-child(even) td {
  background: #2a2118;
}

.division-leader-class.class-d tbody tr:nth-child(even) td {
  background: #2b2819;
}

.division-leader-class.class-e tbody tr:nth-child(even) td {
  background: #2b1d24;
}

table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
}

th,
td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid #263247;
  text-align: left;
  white-space: nowrap;
}

th {
  background: #0c1a3a;
  color: #fff;
  font-size: 0.74rem;
  text-transform: uppercase;
}

.table-wrap tbody tr:nth-child(odd) td {
  background: #05080f;
}

.table-wrap tbody tr:nth-child(even) td {
  background: #111827;
}

.table-wrap tbody tr:hover td {
  background: #17233a;
}

.table-wrap tbody tr.class-a td {
  border-left-color: var(--class-a);
}

.table-wrap tbody tr.class-b td {
  border-left-color: var(--class-b);
}

.table-wrap tbody tr.class-c td {
  border-left-color: var(--class-c);
}

.table-wrap tbody tr.class-d td {
  border-left-color: var(--class-d);
}

.table-wrap tbody tr.class-e td {
  border-left-color: var(--class-e);
}

.table-wrap tbody tr.class-a td:first-child {
  border-left: 5px solid var(--class-a);
}

.table-wrap tbody tr.class-b td:first-child {
  border-left: 5px solid var(--class-b);
}

.table-wrap tbody tr.class-c td:first-child {
  border-left: 5px solid var(--class-c);
}

.table-wrap tbody tr.class-d td:first-child {
  border-left: 5px solid var(--class-d);
}

.table-wrap tbody tr.class-e td:first-child {
  border-left: 5px solid var(--class-e);
}

.table-wrap tbody tr.class-a:nth-child(odd) td {
  background: #0b1320;
}

.table-wrap tbody tr.class-a:nth-child(even) td {
  background: #101a28;
}

.table-wrap tbody tr.class-b:nth-child(odd) td {
  background: #0b1712;
}

.table-wrap tbody tr.class-b:nth-child(even) td {
  background: #101f19;
}

.table-wrap tbody tr.class-c:nth-child(odd) td {
  background: #1a120b;
}

.table-wrap tbody tr.class-c:nth-child(even) td {
  background: #241b12;
}

.table-wrap tbody tr.class-d:nth-child(odd) td {
  background: #1b180b;
}

.table-wrap tbody tr.class-d:nth-child(even) td {
  background: #242111;
}

.table-wrap tbody tr.class-e:nth-child(odd) td {
  background: #1a0f16;
}

.table-wrap tbody tr.class-e:nth-child(even) td {
  background: #251720;
}

.result-table th:nth-child(3),
.result-table td:nth-child(3),
.result-table th:nth-child(4),
.result-table td:nth-child(4),
.schedule-table th:nth-child(3),
.schedule-table td:nth-child(3),
.schedule-table th:nth-child(4),
.schedule-table td:nth-child(4),
.match-ledger-table th:nth-child(3),
.match-ledger-table td:nth-child(3),
.match-ledger-table th:nth-child(4),
.match-ledger-table td:nth-child(4) {
  width: 38px;
  padding-left: 5px;
  padding-right: 5px;
  text-align: center;
}

.result-table th:nth-child(12),
.result-table td:nth-child(12),
.result-table th:nth-child(20),
.result-table td:nth-child(20),
.match-ledger-table th:nth-child(7),
.match-ledger-table td:nth-child(7) {
  background: #2a1f08 !important;
  color: #ffe08a;
  font-weight: 950;
  text-align: center;
}

.result-table th:nth-child(n+6):nth-child(-n+12),
.result-table td:nth-child(n+6):nth-child(-n+12),
.result-table th:nth-child(n+14):nth-child(-n+20),
.result-table td:nth-child(n+14):nth-child(-n+20) {
  text-align: center;
}

.result-table th:nth-child(11),
.result-table td:nth-child(11),
.result-table th:nth-child(19),
.result-table td:nth-child(19) {
  font-weight: 900;
  color: #f8fafc;
}

.profile-match-ledger-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.profile-match-ledger-table th,
.profile-match-ledger-table td {
  box-sizing: border-box;
  padding: 4px 3px;
  text-align: center;
}

.profile-match-ledger-table th:nth-child(3),
.profile-match-ledger-table td:nth-child(3) {
  width: 28px;
  min-width: 28px;
  max-width: 28px;
  padding-left: 2px;
  padding-right: 2px;
  text-align: center;
  font-weight: 950;
}

.profile-match-ledger-table th:nth-child(4),
.profile-match-ledger-table td:nth-child(4) {
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
}

.profile-match-ledger-table th:nth-child(1),
.profile-match-ledger-table td:nth-child(1) {
  width: 64px;
  min-width: 64px;
  max-width: 64px;
}

.profile-match-ledger-table th:nth-child(2),
.profile-match-ledger-table td:nth-child(2),
.profile-match-ledger-table th:nth-child(3),
.profile-match-ledger-table td:nth-child(3),
.profile-match-ledger-table th:nth-child(5),
.profile-match-ledger-table td:nth-child(5),
.profile-match-ledger-table th:nth-child(6),
.profile-match-ledger-table td:nth-child(6) {
  width: 28px;
  min-width: 28px;
  max-width: 28px;
  text-align: center;
  font-weight: 950;
}

.profile-match-ledger-table th:nth-child(n+6),
.profile-match-ledger-table td:nth-child(n+6) {
  width: 40px;
  min-width: 40px;
  max-width: 40px;
  padding-left: 3px;
  padding-right: 3px;
}

.profile-match-ledger-table th:nth-child(2),
.profile-match-ledger-table td:nth-child(2),
.profile-match-ledger-table th:nth-child(3),
.profile-match-ledger-table td:nth-child(3),
.profile-match-ledger-table th:nth-child(5),
.profile-match-ledger-table td:nth-child(5),
.profile-match-ledger-table th:nth-child(6),
.profile-match-ledger-table td:nth-child(6) {
  width: 28px;
  min-width: 28px;
  max-width: 28px;
  padding-left: 2px;
  padding-right: 2px;
  text-align: center;
  font-weight: 950;
}

.profile-match-ledger-table th:nth-child(13),
.profile-match-ledger-table td:nth-child(13),
.profile-match-ledger-table th:nth-child(14),
.profile-match-ledger-table td:nth-child(14) {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
}

.profile-match-ledger-table th:nth-child(15),
.profile-match-ledger-table td:nth-child(15),
.profile-match-ledger-table th:nth-child(16),
.profile-match-ledger-table td:nth-child(16),
.profile-match-ledger-table th:nth-child(17),
.profile-match-ledger-table td:nth-child(17) {
  width: 28px;
  min-width: 28px;
  max-width: 28px;
}

.profile-match-ledger-table td.away-cell {
  background: #9f1d20 !important;
  color: #fff;
}

.profile-match-ledger-table .opponent-stat-cell {
  color: #d6a21d;
}

.profile-match-ledger-table th.opponent-stat-cell {
  color: #d6a21d;
  background: #201702;
}

.profile-grab-bag-grid {
  display: grid;
  grid-template-columns: minmax(420px, auto) repeat(2, minmax(220px, auto));
  gap: 8px;
  align-items: start;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
}

.profile-grab-bag-grid .profile-report-table {
  min-width: 0;
  width: auto;
}

tr:last-child td {
  border-bottom: 0;
}

.leader-row,
.seed-line {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 6px 0;
  border-top: 1px solid var(--line);
}

.rank,
.seed-number {
  display: grid;
  place-items: center;
  width: 28px;
  height: 24px;
  border-radius: 50%;
  background: var(--tour-red);
  color: #fff;
  font-weight: 800;
}

.leader-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-left: 6px solid #243f70;
}

.profile-selector-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
  margin-top: 10px;
  padding: 8px;
  border: 1px solid #ffffff;
  background: #050505;
}

.profile-selector-bar label {
  display: grid;
  gap: 4px;
  color: #dbeafe;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.profile-selector-bar select {
  min-width: min(420px, calc(100vw - 54px));
  min-height: 32px;
  border: 1px solid #ffffff;
  border-radius: 0;
  padding: 0 8px;
  background: #ffffff;
  color: #111827;
}

.profile-selector-bar select[data-profile-control="profileConference"] {
  width: 92px;
  min-width: 0;
}

.profile-selector-bar select[data-profile-control="profileClass"] {
  width: 54px;
  min-width: 0;
}

.profile-selector-bar select[data-profile-bowler] {
  width: min(280px, calc(100vw - 54px));
  min-width: 180px;
}

.admin-gate,
.admin-controls,
.admin-match-list,
.admin-editor,
.admin-participant-editor {
  width: fit-content;
  max-width: 100%;
}

.admin-gate {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid #ffffff;
  background: #050505;
}

.admin-gate label,
.admin-editor label,
.admin-participant-editor label {
  display: grid;
  gap: 4px;
  color: #dbeafe;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-gate input,
.admin-gate textarea,
.admin-editor input,
.admin-editor select,
.admin-participant-editor input {
  min-height: 30px;
  border: 1px solid #ffffff;
  border-radius: 0;
  padding: 0 7px;
  background: #ffffff;
  color: #111827;
}

.accounts-token-gate {
  display: grid;
  gap: 8px;
  min-width: min(560px, 100%);
}

.accounts-token-gate textarea {
  width: 100%;
  min-height: 68px;
  resize: vertical;
  padding: 7px;
  font: 0.72rem Consolas, "Courier New", monospace;
}

.admin-message {
  margin: 0;
  color: #ffe08a;
  font-size: 0.82rem;
  font-weight: 800;
}

.streamer-superlatives {
  display: grid;
  gap: 10px;
}

.streamer-superlative-controls {
  width: fit-content;
  max-width: 100%;
}

.streamer-superlative-controls select {
  min-width: 110px;
}

.superlatives-layout {
  display: grid;
  gap: 12px;
  width: min(1320px, 100%);
}

.superlative-bowler-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 12px;
}

.superlative-bowler-card,
.superlative-compare-panel {
  border: 1px solid #31425f;
  border-left: 6px solid #d4af37;
  background: #05080f;
}

.superlative-bowler-card.class-a {
  border-left-color: var(--class-a);
}

.superlative-bowler-card.class-b {
  border-left-color: var(--class-b);
}

.superlative-bowler-card.class-c {
  border-left-color: var(--class-c);
}

.superlative-bowler-card.class-d {
  border-left-color: var(--class-d);
}

.superlative-bowler-card.class-e {
  border-left-color: var(--class-e);
}

.superlative-bowler-card header,
.superlative-compare-panel h3 {
  margin: 0;
  padding: 8px 10px;
  background: #0f2446;
  color: #ffffff;
  text-transform: uppercase;
}

.superlative-bowler-card h3,
.superlative-compare-panel h3 {
  margin: 0;
  font-size: 1rem;
}

.superlative-context {
  display: block;
  margin-bottom: 2px;
  color: #ffdd55;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
}

.superlative-section {
  padding: 8px 10px 10px;
}

.superlative-section + .superlative-section {
  border-top: 1px solid #243650;
}

.superlative-section h4 {
  margin: 0 0 6px;
  color: #ffdd55;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.superlatives-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.74rem;
}

.superlatives-table th,
.superlatives-table td {
  padding: 5px 7px;
  border: 1px solid #2d3f5c;
  vertical-align: top;
}

.superlatives-table th {
  background: #0f2446;
  color: #ffdd55;
  text-transform: uppercase;
}

.superlatives-table tbody tr:nth-child(odd) td {
  background: #080d16;
}

.superlatives-table tbody tr:nth-child(even) td {
  background: #111722;
}

.superlatives-table td:nth-child(2) {
  color: #ffffff;
  font-weight: 900;
  white-space: nowrap;
}

.superlative-compare-panel {
  padding-bottom: 10px;
  overflow-x: auto;
}

.superlative-compare-panel .table-wrap {
  margin: 0 10px;
}

body[data-theme="light"] .superlative-bowler-card,
body[data-theme="light"] .superlative-compare-panel {
  background: #ffffff;
}

body[data-theme="light"] .superlative-section + .superlative-section {
  border-top-color: #b7c5da;
}

body[data-theme="light"] .superlatives-table th {
  background: #17396d;
  color: #ffffff;
}

body[data-theme="light"] .superlatives-table tbody tr:nth-child(odd) td {
  background: #f8fbff;
  color: #111827;
}

body[data-theme="light"] .superlatives-table tbody tr:nth-child(even) td {
  background: #e8eef7;
  color: #111827;
}

body[data-theme="light"] .superlatives-table td:nth-child(2) {
  color: #111827;
}

.admin-match-list {
  display: grid;
  gap: 8px;
}

.admin-google-import {
  display: grid;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
}

.admin-name-corrections {
  display: grid;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
}

.name-corrections-wrap {
  max-height: 300px;
}

.google-review-table {
  width: auto;
  border-collapse: collapse;
  font-size: 0.78rem;
}

.google-review-wrap {
  max-height: 370px;
}

.google-review-table th,
.google-review-table td {
  padding: 5px 7px;
  border: 1px solid #3a4967;
  white-space: nowrap;
}

.google-review-table th {
  background: #050505;
  color: #dbeafe;
}

.google-review-table tbody tr:nth-child(odd) td {
  background: #05080f;
}

.google-review-table tbody tr:nth-child(even) td {
  background: #111827;
}

.google-review-actions {
  display: flex;
  gap: 6px;
}

.admin-checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-checkbox-label input {
  width: 16px;
  height: 16px;
}

.outstanding-state-table .state-flag {
  min-width: 34px;
  text-align: center;
  font-weight: 900;
}

.outstanding-state-table .state-yes {
  background: #064e3b !important;
  color: #d1fae5;
}

.outstanding-state-table .state-no {
  background: #3f1010 !important;
  color: #fecaca;
}

.livescoring-import-wrap {
  max-height: 420px;
}

.livescoring-import-table td:nth-child(3),
.livescoring-import-table td:nth-child(5),
.livescoring-import-table td:nth-child(7) {
  white-space: normal;
  min-width: 180px;
}

.table-subline {
  display: block;
  margin-top: 2px;
  color: #cbd5e1;
  font-size: 0.72rem;
}

.livescoring-scorecard-report {
  display: grid;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
}

.livescoring-participant-card {
  display: grid;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
}

.livescoring-participant-card h4 {
  margin: 0;
  padding: 5px 8px;
  border: 1px solid #ffffff;
  background: #243f70;
  color: #ffffff;
  text-transform: uppercase;
}

.livescoring-pin-table th,
.livescoring-pin-table td {
  padding: 3px 5px;
  font-size: 0.76rem;
  white-space: nowrap;
}

.livescoring-pin-table td:last-child {
  color: #ffe08a;
  font-family: Consolas, "Courier New", monospace;
}

.acst-pbp-report-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: max-content;
  gap: 10px;
  align-items: start;
  overflow-x: auto;
  max-width: 100%;
  padding-bottom: 4px;
}

.acst-pbp-sheet {
  border: 1px solid #ffffff;
  background: #111827;
  overflow: hidden;
  width: max-content;
}

.acst-pbp-sheet.bowler-one {
  background: #661f24;
}

.acst-pbp-sheet.bowler-two {
  background: #183f68;
}

.acst-pbp-sheet-header {
  display: grid;
  gap: 2px;
  padding: 7px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32);
  color: #ffffff;
}

.acst-pbp-sheet-header strong {
  font-size: 0.92rem;
  line-height: 1;
}

.acst-pbp-sheet-header span {
  color: #dbe6ee;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.acst-pbp-box-list {
  display: grid;
  padding: 0 6px 6px;
}

.acst-pbp-box {
  display: grid;
  grid-template-columns: 22px 86px 70px 52px;
  align-items: center;
  min-height: 66px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.08);
}

.acst-pbp-box:last-child {
  border-bottom: 0;
}

.acst-pbp-box-number,
.acst-pbp-rack-cell,
.acst-pbp-score-cell,
.acst-pbp-total-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  border-right: 1px solid rgba(255, 255, 255, 0.26);
}

.acst-pbp-box-number {
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 900;
}

.acst-pbp-total-cell {
  border-right: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
}

.acst-pbp-total-cell.pending-score {
  color: #ffe45c;
}

.acst-pbp-rack {
  display: grid;
  gap: 4px;
  justify-items: center;
  padding: 2px 4px;
}

.acst-pbp-rack-row {
  display: flex;
  gap: 4px;
  justify-content: center;
}

.acst-pbp-pin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  border: 1px solid #9aa7b2;
  border-radius: 50%;
  background: #eef2f5;
  color: #1b1f24;
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}

.acst-pbp-pin.ball-1 {
  border-color: #256f46;
  background: #256f46;
  color: #ffffff;
}

.acst-pbp-pin.ball-2 {
  border-color: #bf7a1f;
  background: #bf7a1f;
  color: #ffffff;
}

.acst-pbp-pin.ball-3 {
  border-color: #8e3a59;
  background: #8e3a59;
  color: #ffffff;
}

.acst-box-art {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
  text-shadow: 0 1px 2px #000000;
}

.playoff-class-stack {
  display: grid;
  gap: 14px;
}

.playoff-scenario-stack {
  display: grid;
  gap: 12px;
}

.playoff-scenario-block {
  border: 1px solid #ffffff;
  background: #05070c;
}

.playoff-scenario-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 9px;
  border-bottom: 1px solid #ffffff;
  background: var(--class-a);
  color: #ffffff;
  text-transform: uppercase;
}

.playoff-scenario-block.class-b .playoff-scenario-header {
  background: var(--class-b);
}

.playoff-scenario-block.class-c .playoff-scenario-header {
  background: var(--class-c);
}

.playoff-scenario-block.class-d .playoff-scenario-header {
  background: var(--class-d);
  color: #101010;
}

.playoff-scenario-block.class-e .playoff-scenario-header {
  background: var(--class-e);
}

.playoff-scenario-header h3 {
  margin: 0;
  font-size: 0.95rem;
}

.playoff-scenario-header span {
  font-size: 0.72rem;
  font-weight: 800;
}

.playoff-scenario-table {
  margin: 8px;
}

.playoff-scenario-grid {
  display: grid;
  grid-template-columns: minmax(360px, max-content) minmax(420px, max-content);
  gap: 10px;
  align-items: start;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
}

.playoff-scenario-division-stack {
  display: grid;
  align-content: start;
}

.playoff-scenario-table th:first-child,
.playoff-scenario-table td:first-child {
  min-width: 150px;
}

.playoff-scenario-table th:nth-child(3),
.playoff-scenario-table td:nth-child(3) {
  width: 34px;
}

.playoff-class-report {
  border: 1px solid #ffffff;
  background: #05070c;
}

.playoff-class-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 9px;
  border-bottom: 1px solid #ffffff;
  background: var(--class-a);
  color: #ffffff;
  text-transform: uppercase;
}

.playoff-class-report.class-b .playoff-class-header {
  background: var(--class-b);
}

.playoff-class-report.class-c .playoff-class-header {
  background: var(--class-c);
}

.playoff-class-report.class-d .playoff-class-header {
  background: var(--class-d);
  color: #101010;
}

.playoff-class-report.class-e .playoff-class-header {
  background: var(--class-e);
}

.playoff-class-header h3 {
  margin: 0;
  font-size: 1rem;
}

.playoff-class-header span {
  font-size: 0.75rem;
  font-weight: 900;
}

.playoff-east-west {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 10px;
}

.playoffs-new-east-west {
  grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1fr);
}

.north-only-playoff {
  grid-template-columns: minmax(0, 1fr);
}

.playoff-side {
  border: 1px solid #44506b;
  background: #090d16;
}

.playoff-championship-panel {
  display: grid;
  align-content: center;
  gap: 8px;
  min-height: 100%;
  padding-top: 26px;
}

.playoff-championship-panel h4 {
  margin: 0;
  padding: 5px 8px;
  border: 1px solid #44506b;
  background: #000000;
  color: #facc15;
  font-size: 0.82rem;
  text-align: center;
  text-transform: uppercase;
}

.west-playoff-side {
  margin: 0 10px 10px;
}

.playoff-side h4 {
  margin: 0;
  padding: 5px 8px;
  border-bottom: 1px solid #44506b;
  background: #101827;
  color: #ffffff;
  font-size: 0.88rem;
  text-transform: uppercase;
}

.playoff-rounds {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 8px;
  padding: 8px;
  overflow-x: auto;
}

.playoff-leader-table {
  padding: 8px 8px 0;
}

.playoff-leader-table .table-wrap {
  border-color: #44506b;
}

.playoff-mini-table {
  width: 100%;
  font-size: 0.72rem;
}

.playoff-mini-table th,
.playoff-mini-table td {
  padding: 3px 5px;
  white-space: nowrap;
}

.playoff-mini-table th:nth-child(3),
.playoff-mini-table td:nth-child(3) {
  text-align: left;
  min-width: 120px;
}

.scoresheet-link-button {
  display: inline-grid;
  place-items: center;
  box-sizing: border-box;
  min-width: 0;
  border: 1px solid #ffffff;
  background: #b90808;
  color: #ffffff;
  font-weight: 800;
  font-size: 0.72rem;
  line-height: 1.05;
  padding: 4px 8px;
  cursor: pointer;
  text-transform: uppercase;
  white-space: nowrap;
}

.scoresheet-link-button:hover {
  background: var(--tour-red);
}

.playoff-dashboard-table .scoresheet-link-button,
.profile-playoff-table .scoresheet-link-button {
  width: 44px;
  min-width: 44px;
  padding-left: 0;
  padding-right: 0;
}

.playoff-matchup .scoresheet-link-button,
.playoff-match-meta .scoresheet-link-button {
  width: 46px;
  min-width: 46px;
  padding: 4px 0;
  text-align: center;
  justify-content: center;
  justify-items: center;
  font-family: inherit;
  letter-spacing: 0;
  text-indent: 0;
}

.match-detail-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: 18px;
  background: rgba(0, 0, 0, 0.82);
}

.match-detail-panel {
  display: grid;
  gap: 10px;
  width: min(1480px, 100%);
  max-height: calc(100vh - 36px);
  overflow: auto;
  border: 2px solid #ffffff;
  background: #e9eef2;
  box-shadow: 0 18px 70px rgba(0, 0, 0, 0.55);
}

.match-detail-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-bottom: 1px solid #ffffff;
  background: linear-gradient(90deg, #050505 0%, #101827 58%, #5e0707 100%);
}

.modal-action-row {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.match-detail-header .modal-action-row {
  flex: 0 0 auto;
}

.match-detail-header h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.15;
  text-transform: uppercase;
}

.scoresheet-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0 10px;
}

.scoresheet-tabs button {
  border: 1px solid #ffffff;
  background: #050505;
  color: #ffffff;
  font-weight: 800;
  padding: 5px 8px;
  cursor: pointer;
}

.scoresheet-tabs button.active,
.scoresheet-tabs button:hover {
  background: var(--tour-red);
}

.acst-render-wrap {
  overflow: auto;
  padding: 0 10px 14px;
}

.acst-render-summary,
.scoresheet-card-table {
  background: #ffffff;
  color: #000000;
  font-family: Arial, "Segoe UI", sans-serif;
  width: max-content;
}

.acst-render-summary {
  display: grid;
  grid-template-columns: 820px 300px;
  grid-template-rows: auto auto 248px;
  min-width: 1124px;
  border: 2px solid #000000;
  column-gap: 0;
}

.summary-top {
  align-items: center;
  display: grid;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: 280px 1fr;
  gap: 12px;
  padding: 12px 0;
}

.acst-render-summary .acst-logo {
  display: block;
  width: 270px;
  height: 270px;
  margin-left: 6px;
  object-fit: contain;
}

.meta-table {
  border: 2px solid #000000;
  border-collapse: collapse;
  font-size: 18px;
  font-weight: 900;
  width: 280px;
}

.meta-table th,
.meta-table td {
  border: 1px solid #000000;
  overflow: hidden;
  padding: 8px;
  text-overflow: ellipsis;
}

.meta-table th {
  width: 88px;
  background: #0070c0;
  color: #ffffff;
  font-size: 15px;
  text-align: right;
  white-space: nowrap;
}

.meta-table td {
  width: 192px;
  background: #0070c0;
  color: #ffffff;
  font-size: 16px;
  text-align: left;
}

.summary-stats {
  align-self: end;
  grid-column: 1;
  grid-row: 2;
  min-width: 820px;
  max-width: 820px;
  overflow: visible;
}

.acst-stats-table {
  border-collapse: collapse;
  color: #000000;
  font-size: 13px;
  table-layout: fixed;
  width: 820px;
}

.acst-stats-table .points-col { width: 70px; }
.acst-stats-table .name-col { width: 160px; }
.acst-stats-table .fill-col { width: 70px; }
.acst-stats-table .stat-col { width: 100px; }
.acst-stats-table .string-col { width: 54px; }
.acst-stats-table .stat-total-col { width: 70px; }

.acst-stats-table th {
  background: #000000;
  color: #ffffff;
  height: 35px;
  padding: 4px;
  font-size: 16px;
  text-align: center;
}

.acst-stats-table td {
  border: 1px solid #000000;
  height: 35px;
  overflow: hidden;
  padding: 3px 5px;
  text-align: center;
  text-overflow: clip;
  line-height: 1.05;
}

.acst-stats-table .points-cell {
  font-size: 46px;
  font-weight: 900;
}

.acst-stats-table .name-cell {
  font-size: 26px;
  font-weight: 900;
  white-space: nowrap;
}

.acst-stats-table .name-cell span {
  display: block;
}

.acst-stats-table .name-cell .first-name {
  margin-bottom: 12px;
}

.acst-stats-table .name-cell .last-name {
  font-size: 22px;
}

.acst-stats-table .big-total-cell {
  font-size: 42px;
  font-weight: 900;
}

.acst-stats-table .avg-total-cell {
  font-size: 28px;
  font-weight: 900;
}

.acst-stats-table .fill-cell {
  padding: 0;
  font-size: 22px;
  font-weight: 900;
}

.mini-art {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 71px;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
}

.stat-label-cell {
  font-size: 13px;
  text-align: right !important;
  white-space: nowrap;
}

.stat-number-cell,
.stat-total-cell {
  font-size: 16px;
  font-weight: 900;
}

.stat-alt-cell {
  background-color: rgba(255, 255, 255, 0.22);
}

.red-bg {
  background: #ff999d;
}

.blue-bg {
  background: #9bc3e5;
}

.red-win {
  background: #c60000;
}

.blue-win {
  background: #0070c0;
}

.results-panel {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  justify-self: start;
  width: 300px;
  min-width: 300px;
  max-width: 300px;
  overflow: hidden;
  border-left: 1px solid #000000;
  background: #ffffff;
  color: #000000;
}

.results-panel h2 {
  margin: 0;
  padding: 14px 8px;
  background: #bfbfbf;
  border-bottom: 2px solid #000000;
  color: #000000;
  font-size: 40px;
  text-align: center;
}

.results-table {
  border-collapse: collapse;
  color: #000000;
  table-layout: fixed;
  width: 300px;
  min-width: 300px;
  max-width: 300px;
  font-size: 22px;
  font-weight: 900;
}

.results-table td {
  border: 1px solid #000000;
  height: 40px;
  overflow: hidden;
  padding: 7px 6px;
  text-align: center;
  text-overflow: clip;
}

.results-table .results-total-label {
  background: #bfbfbf;
  font-size: 20px;
}

.results-table .results-title-cell {
  background: #bfbfbf;
  border-bottom: 2px solid #000000;
  color: #000000;
  font-size: 34px;
  text-transform: none;
}

.results-table .winner {
  color: #ffffff;
}

.results-table .total-score {
  font-size: 36px;
}

.results-table .string-score-cell {
  font-size: 30px;
}

.results-even-cell {
  background: #bfbfbf;
  color: #000000;
}

.results-table .string-lead-title {
  background: #ffffff;
  color: #000000;
  font-size: 14px;
  text-transform: uppercase;
}

.results-table .string-lead {
  font-size: 18px;
  white-space: nowrap;
}

.trend-panel {
  grid-column: 1 / span 2;
  padding: 22px 40px 28px;
}

.trend-chart {
  height: 198px;
  width: 842px;
  border: 1px solid #333333;
  background: linear-gradient(#9bc3e5 0%, #e8f0f7 48%, #ffd4d7 52%, #ff4f55 100%);
}

.trend-chart svg {
  display: block;
  width: 100%;
  height: 100%;
}

.trend-grid-line {
  stroke: rgba(0, 0, 0, 0.22);
  stroke-width: 1;
}

.trend-string-break {
  stroke: rgba(143, 105, 0, 0.48);
  stroke-dasharray: 4 5;
}

.trend-zero-line {
  stroke: rgba(0, 0, 0, 0.6);
  stroke-width: 2;
}

.trend-axis-label,
.trend-string-label,
.trend-point-label {
  fill: #111111;
  font-size: 12px;
  font-weight: 900;
}

.scoresheet-card-table {
  border-collapse: collapse;
  table-layout: fixed;
  border: 2px solid #000000;
  font-size: 28px;
  font-weight: 800;
}

.scoresheet-card-table th,
.scoresheet-card-table td {
  border: 1px solid #000000;
  padding: 2px 4px;
  text-align: center;
}

.scoresheet-card-table .string-title {
  background: #f7f7f7;
  color: #000000;
  padding: 12px;
  font-size: 30px;
}

.scoresheet-card-table .bowler-name {
  color: #000000;
  width: 160px;
  max-width: 160px;
  padding: 4px 2px;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.score-art-cell {
  position: relative;
  width: 80px;
  min-width: 80px;
  height: 70px;
  padding: 0;
  color: #17331e;
  font-size: 30px;
  font-weight: 900;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.6);
}

.score-art-cell img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.score-art-cell .scoresheet-cell-value {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

.score-total-cell {
  width: 80px;
  min-width: 80px;
  padding: 0 3px;
  font-size: 32px;
}

.string-total-row td {
  padding: 8px;
  font-size: 40px;
  font-weight: 900;
}

.scoresheet-range-wrap {
  overflow: auto;
  padding: 0 10px 12px;
}

.scoresheet-range-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: max-content;
  min-width: auto;
  background: #ffffff;
  color: #000000;
  font-family: Arial, "Segoe UI", sans-serif;
  font-size: 0.82rem;
  border: 2px solid #000000;
}

.scoresheet-range-table td {
  min-width: 42px;
  width: 42px;
  height: 28px;
  border: 1px solid #000000;
  padding: 2px 3px;
  text-align: center;
  vertical-align: middle;
  font-weight: 800;
  line-height: 1.05;
}

.scoresheet-summary-range .scoresheet-range-table td {
  min-width: 58px;
  width: 58px;
}

.scoresheet-range-table .empty-cell {
  color: transparent;
}

.scoresheet-diff-cell {
  color: #c00000;
  font-weight: 900;
}

.scoresheet-title-row td,
.scoresheet-total-row td,
.scoresheet-header-cell,
.summary-header-cell,
.summary-label-cell {
  background: #000000;
  color: #ffffff;
  text-transform: uppercase;
}

.scoresheet-title-row td {
  height: 34px;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
}

.scoresheet-total-row td {
  border-top: 3px solid #000000;
  color: #000000;
  font-size: 1rem;
  font-weight: 900;
}

.scoresheet-box-number-cell {
  width: 34px;
  min-width: 34px;
  background: #000000;
  color: #ffffff;
}

.scoresheet-running-score-cell {
  width: 48px;
  min-width: 48px;
  color: #000000;
  background: #e8f0f7;
  font-size: 1.05rem;
}

.scoresheet-art-cell {
  position: relative;
  width: 58px;
  min-width: 58px;
  height: 46px;
  padding: 0;
  background: #ffffff;
}

.scoresheet-art-cell img {
  position: absolute;
  inset: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  object-fit: cover;
}

.scoresheet-art-cell .scoresheet-cell-value {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #17331e;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  font-size: 1.05rem;
  font-weight: 900;
}

.string-band-a {
  box-shadow: inset 0 3px 0 rgba(45, 74, 115, 0.95);
}

.string-band-b {
  box-shadow: inset 0 3px 0 rgba(63, 117, 86, 0.95);
}

.string-band-c {
  box-shadow: inset 0 3px 0 rgba(184, 121, 61, 0.95);
}

.string-band-d {
  box-shadow: inset 0 3px 0 rgba(211, 189, 98, 0.95);
}

.string-band-e {
  box-shadow: inset 0 3px 0 rgba(217, 137, 149, 0.95);
}

.summary-score-cell {
  background: #dbeafe;
  color: #000000;
  font-size: 1rem;
  font-weight: 900;
}

.scoresheet-extract-table {
  min-width: 960px;
}

.west-playoff-side .playoff-rounds {
  grid-template-columns: repeat(4, minmax(160px, 1fr));
}

.playoff-round {
  display: grid;
  align-content: start;
  gap: 7px;
}

.playoff-round h5 {
  margin: 0;
  padding: 4px 6px;
  background: #000000;
  color: #d7e4ff;
  border: 1px solid #35425e;
  font-size: 0.72rem;
  text-transform: uppercase;
  text-align: center;
}

.playoff-matchup {
  display: grid;
  gap: 2px;
  padding: 4px;
  border-left: 5px solid var(--class-a);
  background: #050505;
}

.completed-matchup {
  outline: 1px solid #facc15;
}

.class-b .playoff-matchup {
  border-left-color: var(--class-b);
}

.class-c .playoff-matchup {
  border-left-color: var(--class-c);
}

.class-d .playoff-matchup {
  border-left-color: var(--class-d);
}

.class-e .playoff-matchup {
  border-left-color: var(--class-e);
}

.playoff-participant {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  min-height: 25px;
  gap: 5px;
  padding: 3px 5px;
  background: #101827;
  color: #ffffff;
}

.away-participant {
  background: #3b0f13;
}

.home-participant {
  background: #08152d;
}

.bye-participant {
  background: #102616;
}

.placeholder-matchup .playoff-participant {
  background: #151515;
  color: #cbd5e1;
}

.pending-playoff-matchup {
  border-left-color: #facc15;
  background:
    linear-gradient(135deg, rgba(250, 204, 21, 0.18), transparent 58%),
    #171302;
}

.pending-playoff-matchup .playoff-participant,
.pending-playoff-matchup.placeholder-matchup .playoff-participant {
  background: rgba(250, 204, 21, 0.12);
  color: #fef3c7;
}

.bracket-pending-banner {
  justify-self: stretch;
  width: auto;
  font-size: 0.68rem;
}

.winner-participant {
  box-shadow: inset 0 0 0 2px #facc15;
}

.eliminated-participant {
  filter: grayscale(0.9);
  opacity: 0.48;
  background: #1f2933;
  color: #cbd5e1;
}

.eliminated-participant strong,
.eliminated-participant .playoff-record {
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: rgba(250, 204, 21, 0.65);
}

.winner-participant strong::after {
  content: " WIN";
  margin-left: 5px;
  color: #facc15;
  font-size: 0.64rem;
  font-weight: 900;
}

.playoff-match-meta,
.playoff-result-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 3px 5px;
  background: #000000;
  color: #d7e4ff;
  font-size: 0.68rem;
  font-weight: 800;
}

.playoff-scheduled-callout {
  border: 1px solid #ffffff;
  background: #0b2b74;
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.playoff-result-line {
  justify-content: flex-end;
  color: #facc15;
}

.profile-playoff-table {
  width: 100%;
  min-width: 0;
}

.profile-playoff-table th,
.profile-playoff-table td {
  padding: 5px 6px;
}

.profile-playoff-table th:nth-child(1),
.profile-playoff-table td:nth-child(1) {
  width: 126px;
}

.profile-playoff-table th:nth-child(3),
.profile-playoff-table td:nth-child(3) {
  width: 32px;
  text-align: center;
  font-weight: 950;
}

.profile-playoff-table th:nth-child(5),
.profile-playoff-table td:nth-child(5),
.profile-playoff-table th:nth-child(6),
.profile-playoff-table td:nth-child(6),
.profile-playoff-table th:nth-child(7),
.profile-playoff-table td:nth-child(7) {
  width: 58px;
  text-align: center;
  font-weight: 950;
}

.profile-playoff-table .points-cell {
  background: #2a1f08 !important;
  color: #ffe08a;
}

.playoff-seed {
  display: inline-grid;
  place-items: center;
  height: 20px;
  background: #000000;
  color: #ffffff;
  font-weight: 900;
  font-size: 0.72rem;
}

.playoff-participant strong {
  min-width: 0;
  white-space: normal;
  line-height: 1.1;
  font-size: 0.78rem;
}

.playoff-record {
  grid-column: 2;
  text-align: right;
  color: #facc15;
  font-size: 0.72rem;
  font-weight: 900;
}

.playoff-lock-badge {
  grid-column: 1 / -1;
  justify-self: end;
  padding: 2px 5px;
  border: 1px solid rgba(250, 204, 21, 0.85);
  background: #3a2c02;
  color: #facc15;
  font-size: 0.62rem;
  font-weight: 900;
  text-transform: uppercase;
}

.playoff-schedule-panel {
  display: grid;
  gap: 8px;
}

.dashboard-playoffs {
  display: grid;
  gap: 10px;
}

.dashboard-playoffs > h3 {
  margin: 0;
  color: #facc15;
  font-size: 1rem;
  text-transform: uppercase;
}

.dashboard-playoffs .division-table {
  border: 1px solid #ffffff;
  background: #05070c;
}

.dashboard-playoffs .division-table > h3 {
  margin: 0;
  padding: 5px 8px;
  border-bottom: 1px solid #ffffff;
  background: #243f70;
  color: #ffffff;
  text-transform: uppercase;
}

.dashboard-playoffs .table-wrap {
  border: 0;
}

.playoff-info-button {
  border-width: 2px;
  background: #b90808;
  color: #ffffff;
  box-shadow: 0 0 0 1px #ffffff inset;
  text-decoration: none;
}

.playoff-info-button:hover {
  background: #ff1717;
}

.dashboard-playoff-grid {
  display: grid;
  gap: 10px;
}

.playoff-showcard-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.playoff-showcard-card {
  position: relative;
  display: grid;
  gap: 5px;
  min-height: 150px;
  padding: 12px;
  overflow: hidden;
  border: 2px solid #ffffff;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.14), transparent 38%),
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.24), transparent 22%),
    #07101f;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
  animation: showcardPulse 30s ease-in-out infinite;
  animation-delay: var(--showcard-delay, 0s);
}

.playoff-showcard-card.pending-showcard,
.playoff-showcard-modal.pending-showcard {
  border-color: #facc15;
  background:
    linear-gradient(135deg, rgba(250, 204, 21, 0.18), transparent 38%),
    radial-gradient(circle at 82% 12%, rgba(250, 204, 21, 0.18), transparent 24%),
    #120f03;
}

.playoff-pending-banner {
  position: relative;
  z-index: 1;
  width: fit-content;
  max-width: 100%;
  padding: 4px 8px;
  background: #facc15;
  color: #171717;
  border: 1px solid #fde68a;
  font-size: 0.72rem;
  font-weight: 950;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0;
}

.playoff-showcard-modal .playoff-pending-banner {
  justify-self: center;
  font-size: 0.9rem;
}

.playoff-showcard-card::after,
.playoff-showcard-modal::after {
  display: none;
}

.playoff-showcard-card.class-a,
.playoff-showcard-modal.class-a {
  border-color: var(--class-a);
}

.playoff-showcard-card.class-b,
.playoff-showcard-modal.class-b {
  border-color: var(--class-b);
}

.playoff-showcard-card.class-c,
.playoff-showcard-modal.class-c {
  border-color: var(--class-c);
}

.playoff-showcard-card.class-d,
.playoff-showcard-modal.class-d {
  border-color: var(--class-d);
}

.playoff-showcard-card.class-e,
.playoff-showcard-modal.class-e {
  border-color: var(--class-e);
}

.playoff-showcard-card.pending-showcard,
.playoff-showcard-modal.pending-showcard {
  border-color: #facc15;
}

.playoff-showcard-kicker,
.playoff-showcard-time,
.playoff-showcard-house,
.playoff-showcard-streamer {
  position: relative;
  z-index: 1;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.playoff-showcard-kicker {
  color: #facc15;
}

.playoff-showcard-match {
  position: relative;
  z-index: 1;
  font-size: 1.08rem;
  line-height: 1.05;
  text-transform: uppercase;
}

.playoff-showcard-time {
  width: fit-content;
  padding: 3px 6px;
  background: #ffffff;
  color: #0b1530;
}

.playoff-matchup-button {
  width: 100%;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  text-align: left;
  cursor: pointer;
}

.playoff-matchup-button:hover {
  box-shadow: 0 0 0 1px #ffffff inset;
}

.playoff-showcard-overlay {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: start center;
  overflow: auto;
  padding: 18px;
}

.playoff-showcard-modal {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 9px;
  width: min(680px, calc(100vw - 36px));
  overflow: visible;
  padding: 12px;
  border: 3px solid var(--class-a);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.10), transparent 36%),
    radial-gradient(circle at 85% 10%, rgba(255, 255, 255, 0.18), transparent 24%),
    #030712;
  color: #ffffff;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.65);
}

.playoff-showcard-modal::before,
.playoff-showcard-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url("./assets/ACST Logo - Trans.png");
  background-repeat: no-repeat;
  background-position: right -40px bottom -52px;
  background-size: min(38%, 250px);
  opacity: 0.10;
  pointer-events: none;
}

.playoff-showcard-modal-header {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 146px minmax(0, 1fr) 146px;
  align-items: center;
  gap: 10px;
  min-height: 30px;
}

.playoff-showcard-modal-header .modal-action-row {
  position: static;
  grid-column: 3;
  justify-self: end;
  z-index: 4;
  min-width: 146px;
}

.playoff-showcard-modal-header .secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  width: 70px !important;
  height: 28px;
  padding: 0 12px;
  background: #050505;
  color: #ffffff;
  border: 1px solid #ffffff;
}

.playoff-showcard-modal-header span {
  grid-column: 2;
  justify-self: center;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  color: #facc15;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

@media print {
  @page {
    margin: 0.35in;
    size: landscape;
  }

  body {
    background: #ffffff !important;
  }

  body > * {
    visibility: hidden !important;
  }

  .match-detail-overlay,
  .match-detail-overlay *,
  .playoff-showcard-overlay,
  .playoff-showcard-overlay * {
    visibility: visible !important;
  }

  .match-detail-overlay,
  .playoff-showcard-overlay {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
  }

  .match-detail-backdrop,
  .no-print,
  .scoresheet-tabs {
    display: none !important;
  }

  .match-detail-panel,
  .playoff-showcard-modal {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
    box-shadow: none !important;
    break-inside: avoid;
  }

  .match-detail-header,
  .playoff-showcard-modal-header {
    position: static !important;
  }
}

.playoff-showcard-hero {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(0, 0, 0, 0.28);
}

.playoff-showcard-hero .playoff-showcard-kicker {
  justify-self: center;
  font-size: 0.92rem;
  text-align: center;
}

.playoff-showcard-title {
  margin: 0;
  display: grid;
  grid-template-columns: 252px 36px 252px;
  align-items: stretch;
  justify-content: center;
  gap: 6px;
  width: auto;
  max-width: 100%;
  justify-self: center;
  font-size: clamp(1rem, 2.1vw, 1.7rem);
  line-height: 0.95;
  text-transform: uppercase;
}

.playoff-title-side {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: stretch;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.36);
}

.away-title-side {
  text-align: right;
}

.home-title-side {
  text-align: left;
}

.playoff-title-seed {
  display: inline-grid;
  place-items: center;
  grid-row: 1 / span 3;
  background: rgba(250, 204, 21, 0.18);
  color: #facc15;
  border-right: 1px solid rgba(255, 255, 255, 0.28);
  font-size: 1rem;
  font-weight: 950;
}

.away-title-side .playoff-title-seed {
  order: 2;
  border-right: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.28);
}

.playoff-title-name {
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 5px 7px;
  min-width: 0;
}

.playoff-title-first {
  color: #cbd5e1;
  font-size: 0.78rem;
  font-weight: 850;
}

.playoff-title-last {
  color: #ffffff;
  font-weight: 950;
  white-space: nowrap;
}

.playoff-title-record {
  color: #facc15;
  font-size: 0.78rem;
  font-weight: 900;
}

.playoff-showcard-at {
  display: grid;
  place-items: center;
  min-height: 100%;
  background: rgba(250, 204, 21, 0.18);
  color: #facc15;
  border: 2px solid rgba(255, 255, 255, 0.5);
  font-size: 1rem;
  font-weight: 950;
}

.playoff-showcard-vitals {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.playoff-showcard-vitals span {
  padding: 4px 7px;
  background: #ffffff;
  color: #0b1530;
  font-size: 0.78rem;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}

.playoff-showcard-bowlers {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.playoff-showcard-bowler {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.42);
}

.away-showcard-bowler {
  background: #3b0f13;
}

.home-showcard-bowler {
  background: #08152d;
}

.playoff-showcard-qualifier {
  width: fit-content;
  max-width: 100%;
  padding: 4px 7px;
  background: #facc15;
  color: #111827;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.playoff-showcard-bowler h3 {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1;
  text-transform: uppercase;
}

.playoff-showcard-record {
  color: #facc15;
  font-size: 1rem;
}

.playoff-showcard-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.playoff-showcard-stat {
  display: grid;
  gap: 2px;
  padding: 5px;
  background: rgba(0, 0, 0, 0.42);
}

.playoff-showcard-stat em {
  color: #cbd5e1;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 900;
}

.playoff-showcard-stat strong {
  font-size: 0.88rem;
}

.playoff-showcard-stream-link {
  position: relative;
  z-index: 1;
  width: fit-content;
}

.playoff-showcard-comparison {
  position: relative;
  z-index: 1;
  width: auto;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  border-collapse: collapse;
  table-layout: fixed;
  justify-self: center;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.38);
}

.playoff-showcard-comparison th,
.playoff-showcard-comparison td {
  padding: 4px 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.playoff-showcard-comparison th {
  color: #facc15;
  font-size: 0.76rem;
  text-transform: uppercase;
}

.playoff-showcard-comparison .away-heading,
.playoff-showcard-comparison .away-value {
  text-align: right;
}

.playoff-showcard-comparison .home-heading,
.playoff-showcard-comparison .home-value {
  text-align: left;
}

.playoff-showcard-comparison .center-heading,
.playoff-showcard-comparison .stat-label {
  width: 56px;
  color: #facc15;
  font-size: 0.72rem;
  font-weight: 950;
  text-align: center;
  text-transform: uppercase;
}

.playoff-showcard-comparison .away-heading,
.playoff-showcard-comparison .home-heading,
.playoff-showcard-comparison .away-value,
.playoff-showcard-comparison .home-value {
  width: 96px;
}

.playoff-showcard-comparison .seed-row td,
.playoff-showcard-comparison .name-row td,
.playoff-showcard-comparison .record-row td {
  font-weight: 950;
}

.playoff-showcard-comparison .name-row td {
  font-size: 0.98rem;
  text-transform: uppercase;
}

.playoff-showcard-comparison .last-name-row td {
  font-size: 1.12rem;
}

.playoff-showcard-comparison .qualifier-row td {
  color: #facc15;
  font-weight: 900;
}

.playoff-showcard-comparison .better-stat {
  color: #ffffff;
  font-weight: 950;
  text-shadow: 0 0 6px rgba(187, 247, 208, 0.45);
  box-shadow: none;
}

.playoff-showcard-comparison .away-value.better-stat {
  background: linear-gradient(90deg, transparent 0%, rgba(64, 117, 86, 0.18) 30%, rgba(74, 222, 128, 0.46) 100%);
}

.playoff-showcard-comparison .home-value.better-stat {
  background: linear-gradient(90deg, rgba(74, 222, 128, 0.46) 0%, rgba(64, 117, 86, 0.18) 70%, transparent 100%);
}

.playoff-showcard-comparison .stat-row:nth-child(even) td {
  background: rgba(255, 255, 255, 0.06);
}

.playoff-showcard-comparison .stat-row:nth-child(even) td.better-stat {
  background: inherit;
}

.playoff-showcard-comparison .stat-row:nth-child(even) td.away-value.better-stat {
  background: linear-gradient(90deg, transparent 0%, rgba(64, 117, 86, 0.22) 30%, rgba(74, 222, 128, 0.54) 100%);
}

.playoff-showcard-comparison .stat-row:nth-child(even) td.home-value.better-stat {
  background: linear-gradient(90deg, rgba(74, 222, 128, 0.54) 0%, rgba(64, 117, 86, 0.22) 70%, transparent 100%);
}

@keyframes showcardPulse {
  0%, 86%, 100% {
    opacity: 1;
    transform: translateY(0);
  }
  93% {
    opacity: 0.72;
    transform: translateY(-2px);
  }
}

@media (max-width: 860px) {
  .playoff-showcard-strip,
  .playoff-showcard-bowlers {
    grid-template-columns: 1fr;
  }

  .playoff-showcard-modal {
    overflow: visible;
  }

  .playoff-showcard-card {
    min-height: 122px;
  }

  .playoff-showcard-title {
    grid-template-columns: minmax(0, 220px) 34px minmax(0, 220px);
    width: max-content;
    max-width: 100%;
    justify-self: center;
  }

  .playoff-showcard-at {
    min-height: 100%;
  }

  .playoff-showcard-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .playoff-showcard-overlay {
    padding: 8px;
  }

  .playoff-showcard-modal {
    width: calc(100vw - 16px);
    max-width: calc(100vw - 16px);
    padding: 8px;
    border-width: 2px;
    gap: 7px;
  }

  .playoff-showcard-modal-header {
    grid-template-columns: 56px minmax(0, 1fr) 56px;
    gap: 6px;
  }

  .playoff-showcard-modal-header .secondary-button,
  .playoff-showcard-overlay .playoff-showcard-close {
    width: 54px !important;
    min-width: 54px;
    max-width: 54px;
    height: 26px;
    padding: 0 6px;
    font-size: 0.68rem;
  }

  .playoff-showcard-modal-header span {
    font-size: 0.72rem;
  }

  .playoff-showcard-hero {
    padding: 7px;
    gap: 6px;
  }

  .playoff-showcard-hero .playoff-showcard-kicker {
    font-size: 0.78rem;
  }

  .playoff-showcard-title {
    grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    gap: 4px;
  }

  .playoff-title-side {
    min-width: 0;
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .playoff-title-seed {
    font-size: 0.78rem;
  }

  .playoff-title-name {
    min-width: 0;
    padding: 4px 5px;
  }

  .playoff-title-first,
  .playoff-title-record {
    font-size: 0.62rem;
  }

  .playoff-title-last {
    overflow: hidden;
    font-size: clamp(0.82rem, 4.5vw, 1.05rem);
    text-overflow: ellipsis;
  }

  .playoff-showcard-at {
    font-size: 0.78rem;
    border-width: 1px;
  }

  .playoff-showcard-vitals span {
    width: 100%;
    padding: 4px 5px;
    font-size: 0.68rem;
  }

  .playoff-showcard-comparison {
    width: 100%;
    max-width: 100%;
    font-size: 0.76rem;
  }

  .playoff-showcard-comparison th,
  .playoff-showcard-comparison td {
    padding: 4px 4px;
  }

  .playoff-showcard-comparison .away-heading,
  .playoff-showcard-comparison .home-heading,
  .playoff-showcard-comparison .away-value,
  .playoff-showcard-comparison .home-value {
    width: auto;
  }

  .playoff-showcard-comparison .center-heading,
  .playoff-showcard-comparison .stat-label {
    width: 48px;
    font-size: 0.64rem;
  }

  .playoff-showcard-comparison .name-row td {
    font-size: 0.78rem;
  }

  .playoff-showcard-comparison .last-name-row td {
    font-size: 0.88rem;
  }
}

.playoff-showcard-overlay .playoff-showcard-modal-header {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 82px;
  justify-items: center;
}

.playoff-showcard-overlay .playoff-showcard-close {
  grid-column: 3;
  justify-self: end;
  width: 70px !important;
  max-width: 70px;
  min-width: 70px;
}

.playoff-showcard-overlay .playoff-showcard-modal-header > span {
  grid-column: 2;
  justify-self: center;
  text-align: center;
}

.playoff-showcard-overlay .playoff-showcard-title {
  justify-self: center;
  margin-inline: auto;
}

@media (max-width: 560px) {
  .playoff-showcard-overlay .playoff-showcard-modal-header {
    grid-template-columns: 56px minmax(0, 1fr) 56px;
    gap: 6px;
  }

  .playoff-showcard-overlay .playoff-showcard-close {
    width: 54px !important;
    min-width: 54px;
    max-width: 54px;
  }

  .playoff-showcard-overlay .playoff-showcard-title {
    width: 100%;
    max-width: 100%;
  }
}

.playoff-schedule-note {
  margin: 0;
  color: #facc15;
  font-size: 0.82rem;
  font-weight: 800;
}

.playoff-schedule-unlock {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.playoff-schedule-list {
  max-height: 520px;
  overflow: auto;
  border: 1px solid #ffffff;
  background: #05070c;
}

.playoff-schedule-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
  font-size: 0.74rem;
}

.playoff-schedule-table th,
.playoff-schedule-table td {
  padding: 4px 5px;
  border: 1px solid #334155;
  vertical-align: middle;
}

.playoff-schedule-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #111827;
  color: #ffffff;
  text-transform: uppercase;
}

.playoff-pending-row td,
.playoff-dashboard-table tr.playoff-pending-row td {
  background:
    linear-gradient(135deg, rgba(250, 204, 21, 0.18), transparent 72%),
    #171302;
  color: #fef3c7;
}

.playoff-dashboard-table tr.class-a td,
.playoff-dashboard-table tr.class-b td,
.playoff-dashboard-table tr.class-c td,
.playoff-dashboard-table tr.class-d td,
.playoff-dashboard-table tr.class-e td {
  color: #ffffff;
}

.playoff-dashboard-table tr.class-a td {
  background: rgba(47, 82, 150, 0.34);
}

.playoff-dashboard-table tr.class-b td {
  background: rgba(64, 117, 86, 0.34);
}

.playoff-dashboard-table tr.class-c td {
  background: rgba(159, 99, 42, 0.34);
}

.playoff-dashboard-table tr.class-d td {
  background: rgba(176, 143, 54, 0.34);
}

.playoff-dashboard-table tr.class-e td {
  background: rgba(154, 62, 123, 0.34);
}

.playoff-dashboard-table tr.playoff-pending-row td {
  background:
    linear-gradient(135deg, rgba(250, 204, 21, 0.18), transparent 72%),
    #171302;
  color: #fef3c7;
}

.playoff-pending-row td:first-child,
.playoff-pending-row td:last-child {
  color: #facc15;
  font-weight: 950;
}

.playoff-schedule-match {
  display: grid;
  align-items: start;
  gap: 2px;
  min-width: 190px;
}

.playoff-schedule-match strong {
  color: #ffffff;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.playoff-schedule-match span {
  color: #cbd5e1;
  font-size: 0.7rem;
}

.playoff-schedule-score {
  display: grid;
  grid-template-columns: minmax(42px, 1fr) auto minmax(42px, 1fr);
  align-items: center;
  gap: 3px;
}

.playoff-schedule-input {
  width: 100%;
  min-width: 0;
  padding: 4px 5px;
  border: 1px solid #64748b;
  background: #020617;
  color: #ffffff;
  font: inherit;
}

body[data-theme="light"] .playoff-schedule-list {
  background: #ffffff;
}

body[data-theme="light"] .playoff-schedule-table th {
  background: #1f2937;
  color: #ffffff;
}

body[data-theme="light"] .playoff-schedule-input {
  background: #ffffff;
  color: #111827;
}

body[data-theme="light"] .dashboard-playoffs > h3 {
  color: #991b1b;
}

.admin-match-card {
  border: 1px solid #ffffff;
  border-left: 6px solid var(--class-a);
  background: #06080d;
}

.admin-match-card.class-b {
  border-left-color: var(--class-b);
}

.admin-match-card.class-c {
  border-left-color: var(--class-c);
}

.admin-match-card.class-d {
  border-left-color: var(--class-d);
}

.admin-match-card.class-e {
  border-left-color: var(--class-e);
}

.streamer-match-list {
  width: min(1280px, 100%);
  max-height: 690px;
  overflow: auto;
  border: 1px solid #ffffff;
  background: #03060c;
}

.streamer-match-table {
  width: 100%;
  min-width: 1120px;
  border-collapse: collapse;
  font-size: 0.76rem;
}

.streamer-match-table th,
.streamer-match-table td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  padding: 5px;
  vertical-align: middle;
}

.streamer-match-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #06142f;
  color: #ffffff;
  text-align: left;
}

.streamer-match-cell {
  min-width: 230px;
}

.streamer-match-cell strong,
.streamer-match-cell span {
  display: block;
}

.streamer-inline-input,
.admin-inline-input {
  width: 100%;
  min-width: 78px;
  padding: 4px 5px;
  border: 1px solid #7da7e6;
  background: #ffffff;
  color: #000000;
  font-size: 0.76rem;
}

.bowler-editor-wrap {
  max-height: 520px;
  overflow: auto;
}

.bowler-add-grid {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(125, 167, 230, 0.35);
}

.bowler-editor-table .bowler-name-input {
  min-width: 170px;
}

.bowler-editor-table th,
.bowler-editor-table td {
  white-space: nowrap;
}

.admin-signal-cell {
  color: #facc15;
  font-weight: 900;
}

.streamer-when-display {
  display: inline-block;
  min-width: 130px;
  color: #dbeafe;
  font-weight: 900;
}

.streamer-actions-cell {
  display: flex;
  gap: 4px;
  width: 118px;
  text-align: center;
}

.streamer-clear-button {
  padding-inline: 7px;
}

.streamer-odds-panel {
  display: grid;
  gap: 10px;
}

.streamer-odds-note {
  margin: 0;
  color: #dbeafe;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.streamer-odds-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 10px;
}

.streamer-odds-card {
  position: relative;
  display: grid;
  gap: 8px;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-top: 7px solid var(--class-a);
  background:
    linear-gradient(135deg, rgba(7, 20, 48, 0.96), rgba(2, 5, 12, 0.98)),
    #03060c;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.32);
}

.streamer-odds-card.class-a {
  border-top-color: var(--class-a);
}

.streamer-odds-card.class-b {
  border-top-color: var(--class-b);
}

.streamer-odds-card.class-c {
  border-top-color: var(--class-c);
}

.streamer-odds-card.class-d {
  border-top-color: var(--class-d);
}

.streamer-odds-card.class-e {
  border-top-color: var(--class-e);
}

.streamer-odds-card.pending-odds-card {
  border-color: #facc15;
  background:
    linear-gradient(135deg, rgba(63, 49, 0, 0.92), rgba(3, 6, 12, 0.98)),
    #03060c;
}

.streamer-odds-pending {
  padding: 5px 8px;
  background: #facc15;
  color: #04070d;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 1000;
  text-transform: uppercase;
}

.streamer-odds-header {
  display: grid;
  gap: 2px;
  padding: 7px 9px;
  background: #0b2e66;
  color: #ffffff;
  text-transform: uppercase;
}

.streamer-odds-header span {
  color: #facc15;
  font-size: 0.72rem;
  font-weight: 1000;
}

.streamer-odds-header strong {
  font-size: 0.95rem;
  letter-spacing: 0;
}

.streamer-odds-detail {
  display: block;
  padding: 0 8px;
}

.streamer-odds-detail span {
  display: block;
  padding: 4px 7px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: #ffffff;
  color: #081122;
  text-align: center;
  font-size: 0.72rem;
  font-weight: 1000;
  text-transform: uppercase;
}

.streamer-odds-matchup {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
  align-items: stretch;
  padding: 0 8px;
}

.streamer-odds-side {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 7px;
  align-items: center;
  min-width: 0;
  padding: 6px 8px;
  color: #ffffff;
}

.home-odds-side {
  grid-template-columns: minmax(0, 1fr) auto;
  text-align: right;
}

.away-odds-side {
  background: linear-gradient(135deg, #8f1010, #4f0707);
}

.home-odds-side {
  background: linear-gradient(135deg, #114a9f, #09265a);
}

.streamer-odds-seed {
  grid-row: span 4;
  align-self: stretch;
  display: grid;
  place-items: center;
  min-width: 32px;
  padding: 0 5px;
  background: rgba(0, 0, 0, 0.35);
  color: #facc15;
  font-size: 1rem;
  font-weight: 1000;
}

.home-odds-side .streamer-odds-seed {
  grid-column: 2;
}

.home-odds-side .streamer-odds-name,
.home-odds-side .streamer-odds-record {
  grid-column: 1;
}

.streamer-odds-name {
  display: flex;
  gap: 5px;
  align-items: baseline;
  min-width: 0;
  text-transform: uppercase;
}

.streamer-odds-name span,
.streamer-odds-name strong {
  display: inline;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-odds-side .streamer-odds-name {
  justify-content: flex-end;
}

.streamer-odds-name span {
  font-size: 0.68rem;
  font-weight: 900;
}

.streamer-odds-name strong {
  font-size: 1.08rem;
  line-height: 1.02;
}

.streamer-odds-record {
  font-size: 0.72rem;
  font-weight: 900;
}

.streamer-odds-line {
  display: grid;
  place-items: center;
  min-height: 34px;
  padding: 4px 10px;
  text-align: center;
  color: #ffffff;
  font-size: 1.45rem;
  line-height: 1;
}

.streamer-odds-linebar {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) 42px minmax(90px, 1fr);
  gap: 5px;
  align-items: stretch;
}

.away-odds-line {
  border: 1px solid rgba(255, 255, 255, 0.75);
  background: linear-gradient(135deg, #b91c1c, #6f0b0b);
}

.home-odds-line {
  border: 1px solid rgba(255, 255, 255, 0.75);
  background: linear-gradient(135deg, #1d4ed8, #0b2e66);
}

.streamer-odds-at {
  display: grid;
  place-items: center;
  min-height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: #06142f;
  color: #facc15;
  font-size: 1.25rem;
  font-weight: 1000;
}

.streamer-odds-details-button {
  justify-self: center;
  min-width: 92px;
  border: 1px solid #ffffff;
  background: #b91c1c;
  color: #ffffff;
  padding: 5px 12px;
  font-size: 0.78rem;
  font-weight: 1000;
  text-transform: uppercase;
  cursor: pointer;
}

.streamer-odds-details-button:hover,
.streamer-odds-details-button:focus {
  background: #ef4444;
}

.streamer-odds-metrics {
  display: grid;
  padding: 0 8px 8px;
}

.streamer-odds-metric {
  display: grid;
  grid-template-columns: 1fr 74px 1fr;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 0.72rem;
  font-weight: 900;
}

.streamer-odds-metric span,
.streamer-odds-metric strong {
  padding: 4px 6px;
}

.streamer-odds-metric span:first-child {
  text-align: right;
}

.streamer-odds-metric strong {
  background: #06142f;
  color: #facc15;
  text-align: center;
}

.streamer-odds-metric:nth-child(even) span {
  background: rgba(255, 255, 255, 0.05);
}

.penalty-manager-table input {
  width: 100%;
}

.penalty-small-input {
  max-width: 58px;
  text-align: center;
}

.penalty-reason-input {
  min-width: 260px;
}

.admin-match-summary {
  display: grid;
  grid-template-columns: 120px minmax(260px, 1fr) 180px auto;
  gap: 10px;
  align-items: center;
  padding: 8px;
}

.admin-editor {
  display: grid;
  gap: 10px;
  padding: 10px;
  border-top: 1px solid #ffffff;
  background: #0b1020;
}

.admin-editor-grid,
.admin-side-grid,
.admin-string-row,
.admin-stat-row,
.admin-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
}

.admin-participant-editor {
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid #3a4967;
  background: #05080f;
}

.admin-participant-editor h3 {
  margin: 0;
  font-size: 0.9rem;
  text-transform: uppercase;
}

.admin-ruling-editor {
  display: grid;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 8px;
  border: 1px solid #ffe08a;
  background: #0b0b07;
}

.admin-ruling-editor h3 {
  margin: 0;
  color: #ffe08a;
  font-size: 0.9rem;
  text-transform: uppercase;
}

.admin-help {
  max-width: 620px;
  margin: 0;
  color: #dbeafe;
  font-size: 0.78rem;
  font-weight: 700;
}

.admin-ruling-editor label:first-child select {
  min-width: 180px;
}

.admin-ruling-editor label:last-child input {
  width: 320px;
  text-align: left;
}

.admin-participant-editor input[type="number"],
.admin-string-row input,
.admin-stat-row input {
  width: 64px;
  text-align: center;
}

.admin-participant-editor label:first-of-type input {
  width: 220px;
  text-align: left;
}

@media (max-width: 860px) {
  .admin-match-summary {
    grid-template-columns: 1fr;
  }
}

.profile-header.class-a {
  border-left-color: var(--class-a);
}

.profile-header.class-b {
  border-left-color: var(--class-b);
}

.profile-header.class-c {
  border-left-color: var(--class-c);
}

.profile-header.class-d {
  border-left-color: var(--class-d);
}

.profile-header.class-e {
  border-left-color: var(--class-e);
}

.profile-header h2 {
  margin: 6px 0 3px;
  font-size: clamp(1.35rem, 3vw, 2.15rem);
}

.profile-header p {
  margin: 0;
  color: #d7dce8;
}

.profile-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.profile-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border: 1px solid #ffffff;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.profile-badge.badge-label {
  background: #050505;
}

.profile-badge.badge-class {
  background: #243f70;
}

.profile-badge.badge-home {
  background: #9f1d20;
}

.profile-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(76px, 1fr));
  gap: 6px;
}

.achievement-trophy-case {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));
  gap: 10px;
  align-items: start;
}

.achievement-badge-card {
  --badge-class: #4f8fd6;
  display: grid;
  justify-items: center;
  gap: 7px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: linear-gradient(180deg, #060a12, #02050a);
  padding: 10px 9px 9px;
}

.achievement-badge-card.class-a {
  --badge-class: var(--class-a);
}

.achievement-badge-card.class-b {
  --badge-class: var(--class-b);
}

.achievement-badge-card.class-c {
  --badge-class: var(--class-c);
}

.achievement-badge-card.class-d {
  --badge-class: var(--class-d);
}

.achievement-badge-card.class-e {
  --badge-class: var(--class-e);
}

.achievement-badge-note {
  width: 100%;
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.24);
  padding-top: 6px;
  color: #d7dce8;
  font-size: 0.76rem;
  font-weight: 850;
  text-align: center;
}

.achievement-badge-svg {
  width: 146px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.45));
}

.achievement-badge-shadow {
  fill: rgba(0, 0, 0, 0.38);
  transform: translate(4px, 4px);
}

.achievement-badge-top {
  fill: #c6171c;
  stroke: #050505;
  stroke-width: 3;
}

.achievement-badge-body {
  fill: #11106d;
  stroke: #050505;
  stroke-width: 3;
}

.achievement-badge-rim {
  fill: none;
  stroke: #c7a24a;
  stroke-width: 5;
  stroke-linejoin: round;
}

.achievement-badge-inner-rim {
  fill: none;
  stroke: rgba(255, 255, 255, 0.82);
  stroke-width: 2;
  stroke-linejoin: round;
}

.achievement-badge-number-panel {
  fill: rgba(0, 0, 0, 0.18);
  stroke: rgba(255, 255, 255, 0.86);
  stroke-width: 2;
}

.achievement-badge-label-ribbon {
  fill: rgba(0, 0, 0, 0.44);
  stroke: #c7a24a;
  stroke-width: 1.4;
}

.achievement-badge-acst,
.achievement-badge-value,
.achievement-badge-label {
  font-family: Impact, Haettenschweiler, "Arial Black", sans-serif;
  paint-order: stroke;
  stroke: #050505;
  stroke-linejoin: round;
  fill: #ffffff;
  text-transform: uppercase;
}

.achievement-badge-acst {
  font-size: 22px;
  stroke-width: 3px;
}

.achievement-badge-value {
  stroke-width: 4.5px;
}

.achievement-badge-label {
  fill: #ffd21f;
  font-size: 13px;
  stroke-width: 2.5px;
}

.achievement-pin-body {
  fill: #f8fafc;
  stroke: #050505;
  stroke-width: 2.2;
}

.achievement-pin-band {
  fill: #d71920;
  stroke: #050505;
  stroke-width: 1;
}

.achievement-candlepin-ball {
  fill: var(--badge-class);
  stroke: #ffffff;
  stroke-width: 1.4;
}

.achievement-candlepin-ball-highlight {
  fill: rgba(255, 255, 255, 0.78);
}

.mini-metric {
  padding: 8px;
  border: 1px solid #ffffff;
  border-radius: 0;
  background: #111;
}

.mini-metric strong {
  display: block;
  margin-top: 3px;
  font-size: 1.05rem;
}

.profile-report-table-wrap {
  width: fit-content;
  max-width: 100%;
}

.profile-report-table {
  min-width: 0;
  width: auto;
  table-layout: fixed;
}

.profile-ledger-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 6px;
}

.profile-report-table th,
.profile-report-table td {
  padding: 3px 5px;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #1d428a;
  color: #fff;
  text-align: center;
  font-size: 0.82rem;
  line-height: 1.15;
}

.profile-report-table th {
  background: #050505;
  color: #dbeafe;
}

.profile-report-table tbody tr:nth-child(odd) td {
  background: #050505;
}

.profile-report-table tbody tr:nth-child(even) td {
  background: #171b24;
}

.profile-report-table th:first-child,
.profile-report-table td:first-child {
  min-width: 120px;
  text-align: left;
}

.profile-report-table th:nth-child(4),
.profile-report-table td:nth-child(4) {
  min-width: 150px;
  text-align: left;
}

.profile-report-table th:nth-child(n+2),
.profile-report-table td:nth-child(n+2) {
  width: 58px;
}

.profile-penalty-panel {
  width: fit-content;
  max-width: 100%;
  padding: 6px;
  border: 1px solid #ffe08a;
  background: #ffe08a;
  color: #050505;
}

.profile-penalty-panel .profile-report-table,
.profile-penalty-panel th,
.profile-penalty-panel td {
  border-color: #050505;
  background: #ffe08a;
  color: #050505;
}

.profile-penalty-panel .profile-report-table tbody tr:nth-child(odd) td,
.profile-penalty-panel .profile-report-table tbody tr:nth-child(even) td {
  background: #ffe08a;
  color: #050505;
}

.profile-match-ledger-table tr.ledger-absent-row td,
.profile-match-ledger-table tr.ledger-string-ruling-row td,
.profile-match-ledger-table tr.ledger-modified-row td {
  background: #4c3905;
  color: #ffffff;
}

.profile-match-ledger-table tr.ledger-absent-row td.opponent-stat-cell,
.profile-match-ledger-table tr.ledger-string-ruling-row td.opponent-stat-cell,
.profile-match-ledger-table tr.ledger-modified-row td.opponent-stat-cell {
  color: #ffe08a;
}

table.profile-match-ledger-table tbody tr.ledger-absent-row > td,
table.profile-match-ledger-table tbody tr.ledger-string-ruling-row > td,
table.profile-match-ledger-table tbody tr.ledger-modified-row > td,
table.profile-match-ledger-table tbody tr.ledger-absent-row > td.away-cell,
table.profile-match-ledger-table tbody tr.ledger-string-ruling-row > td.away-cell,
table.profile-match-ledger-table tbody tr.ledger-modified-row > td.away-cell {
  background: #4c3905 !important;
  color: #ffffff !important;
}

table.profile-match-ledger-table tbody tr.ledger-absent-row > td.opponent-stat-cell,
table.profile-match-ledger-table tbody tr.ledger-string-ruling-row > td.opponent-stat-cell,
table.profile-match-ledger-table tbody tr.ledger-modified-row > td.opponent-stat-cell {
  color: #ffe08a !important;
}

table.profile-match-ledger-table tbody tr.ledger-string-ruling-row > td.ledger-excluded-string-cell {
  background: #795a08 !important;
  color: #ffffff !important;
  text-decoration: line-through;
}

table.profile-match-ledger-table tbody td.ledger-heat-cell {
  color: #ffffff !important;
  font-weight: 900;
}

table.profile-match-ledger-table tbody td.ledger-heat-best {
  background: #0f6a34 !important;
}

table.profile-match-ledger-table tbody td.ledger-heat-good {
  background: #35803b !important;
}

table.profile-match-ledger-table tbody td.ledger-heat-above {
  background: #6b7f24 !important;
}

table.profile-match-ledger-table tbody td.ledger-heat-mid {
  background: #7d681c !important;
}

table.profile-match-ledger-table tbody td.ledger-heat-low {
  background: #8a451d !important;
}

table.profile-match-ledger-table tbody td.ledger-heat-worst {
  background: #8a1f1f !important;
}

table.profile-match-ledger-table th:nth-child(1),
table.profile-match-ledger-table td:nth-child(1) {
  width: 64px;
  min-width: 64px;
  max-width: 64px;
  text-align: center;
}

table.profile-match-ledger-table th:nth-child(2),
table.profile-match-ledger-table td:nth-child(2),
table.profile-match-ledger-table th:nth-child(3),
table.profile-match-ledger-table td:nth-child(3),
table.profile-match-ledger-table th:nth-child(5),
table.profile-match-ledger-table td:nth-child(5),
table.profile-match-ledger-table th:nth-child(6),
table.profile-match-ledger-table td:nth-child(6) {
  width: 28px;
  min-width: 28px;
  max-width: 28px;
  padding-left: 2px;
  padding-right: 2px;
  text-align: center;
}

table.profile-match-ledger-table th:nth-child(n+8),
table.profile-match-ledger-table td:nth-child(n+8) {
  width: 40px;
  min-width: 40px;
  max-width: 40px;
}

table.profile-match-ledger-table th:last-child,
table.profile-match-ledger-table td:last-child {
  width: 56px;
  min-width: 56px;
  max-width: 56px;
  padding-left: 2px;
  padding-right: 2px;
  text-align: center;
}

table.profile-match-ledger-table td.ledger-view-cell {
  background: #050505;
}

table.profile-match-ledger-table td.ledger-view-cell .scoresheet-link-button {
  display: inline-grid;
  place-items: center;
  min-width: 38px;
}

table.profile-match-ledger-table td.ledger-view-empty {
  background: transparent;
  border-left-color: transparent;
  border-right-color: transparent;
}

table.profile-match-ledger-table th:nth-child(4),
table.profile-match-ledger-table td:nth-child(4) {
  width: 170px;
  min-width: 140px;
  max-width: 220px;
  text-align: left;
}

table.profile-match-ledger-table th:nth-child(13),
table.profile-match-ledger-table td:nth-child(13),
table.profile-match-ledger-table th:nth-child(14),
table.profile-match-ledger-table td:nth-child(14) {
  width: 58px;
  min-width: 58px;
  max-width: 58px;
}

table.profile-match-ledger-table th:nth-child(15),
table.profile-match-ledger-table td:nth-child(15),
table.profile-match-ledger-table th:nth-child(16),
table.profile-match-ledger-table td:nth-child(16),
table.profile-match-ledger-table th:nth-child(17),
table.profile-match-ledger-table td:nth-child(17) {
  width: 28px;
  min-width: 28px;
  max-width: 28px;
}

.profile-split-table th:nth-child(4),
.profile-split-table td:nth-child(4) {
  width: 62px;
  min-width: 62px;
  max-width: 62px;
  text-align: center;
}

.profile-ranking-table th:nth-child(n+3),
.profile-ranking-table td:nth-child(n+3) {
  width: 44px;
  min-width: 44px;
  max-width: 44px;
  text-align: center;
}

.profile-ranking-grid {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 8px;
  align-items: start;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
}

.profile-ranking-table th:first-child,
.profile-ranking-table td:first-child {
  min-width: 132px;
  text-align: right;
}

.profile-ranking-table-wide th:first-child,
.profile-ranking-table-wide td:first-child {
  min-width: 156px;
}

.profile-string-average-table th:first-child,
.profile-string-average-table td:first-child,
.profile-streak-table th:first-child,
.profile-streak-table td:first-child {
  text-align: right;
}

.info-card {
  border-radius: 0;
}

.info-card p,
.metric-card p,
.profile-header p {
  font-size: 0.88rem;
}

.leaderboard h2,
.matchup-card h3,
.info-card h3 {
  color: #ffffff;
}

.leader-row,
.seed-line {
  border-top-color: #ffffff;
}

@media (max-width: 980px) {
  .site-header,
  .profile-header {
    grid-template-columns: 1fr;
  }

  .main-nav {
    justify-content: flex-start;
  }

  .stat-grid,
  .card-grid,
  .leaderboard-grid,
  .bracket-grid,
  .standings-conference-board,
  .division-leaders-board,
  .division-table-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .standings-report {
    grid-template-columns: 92px 24px auto;
  }

  .standings-vertical-title {
    font-size: 1.8rem;
  }

  .standings-brand-panel img {
    max-width: 78px;
  }

  .hero-panel {
    grid-template-columns: 1fr;
    background-size: 320px;
    background-position: right -90px center;
  }

  .hero-actions,
  .official-links-panel {
    justify-self: start;
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .brand-lockup {
    align-items: flex-start;
    flex-direction: column;
  }

  .brand-lockup img {
    width: 88px;
  }

  .nav-button {
    flex: 1 1 auto;
  }

  .control-bar label,
  .secondary-button {
    width: 100%;
  }

  .stat-grid,
  .card-grid,
  .leaderboard-grid,
  .bracket-grid,
  .standings-conference-board,
  .division-leaders-board,
  .profile-metrics,
  .division-table-grid {
    grid-template-columns: 1fr;
  }

  .standings-report {
    grid-template-columns: 1fr;
  }

  .standings-brand-panel {
    display: flex;
    min-height: auto;
    align-items: center;
    border-right: 0;
    border-bottom: 2px solid #fff;
  }

  .standings-brand-panel img {
    width: 92px;
  }

  .standings-vertical-title,
  .standings-side-label {
    writing-mode: horizontal-tb;
    transform: none;
  }

  .standings-vertical-title {
    flex-wrap: wrap;
    justify-content: flex-start;
    font-size: 2rem;
  }

  .standings-side-label {
    border-right: 0;
    border-bottom: 2px solid #fff;
  }
}

body[data-theme="light"] .report-section > h2,
body[data-theme="light"] .hero-panel,
body[data-theme="light"] .division-table h3,
body[data-theme="light"] .leaderboard h2,
body[data-theme="light"] th,
body[data-theme="light"] .streamer-match-table th,
body[data-theme="light"] .profile-report-table th {
  background: #d9e7fb;
  color: #0f172a;
  text-shadow: none;
}

body[data-theme="light"] .table-wrap tbody tr:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .profile-report-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .division-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .streamer-match-table tbody tr:nth-child(odd) td {
  background: #ffffff;
  color: #0f172a;
}

body[data-theme="light"] .table-wrap tbody tr:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr:nth-child(even) td,
body[data-theme="light"] .profile-report-table tbody tr:nth-child(even) td,
body[data-theme="light"] .division-table tbody tr:nth-child(even) td,
body[data-theme="light"] .streamer-match-table tbody tr:nth-child(even) td {
  background: #eef3f9;
  color: #0f172a;
}

body[data-theme="light"] .streamer-odds-note {
  color: #0f172a;
}

body[data-theme="light"] .streamer-odds-card {
  border-color: #0f172a;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(219, 234, 254, 0.94)),
    #ffffff;
  color: #020617;
}

body[data-theme="light"] .streamer-odds-card.pending-odds-card {
  border-color: #a16207;
  background:
    linear-gradient(135deg, rgba(254, 249, 195, 0.98), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

body[data-theme="light"] .streamer-odds-header,
body[data-theme="light"] .streamer-odds-at,
body[data-theme="light"] .streamer-odds-metric strong {
  background: #0b2e66;
  color: #ffffff;
}

body[data-theme="light"] .streamer-odds-header span,
body[data-theme="light"] .streamer-odds-metric strong {
  color: #fde047;
}

body[data-theme="light"] .streamer-odds-detail span {
  border-color: #94a3b8;
  background: #ffffff;
  color: #020617;
}

body[data-theme="light"] .streamer-odds-details-button {
  border-color: #7f1d1d;
  background: #b91c1c;
  color: #ffffff;
}

body[data-theme="light"] .streamer-odds-metric {
  border-bottom-color: rgba(15, 23, 42, 0.18);
}

body[data-theme="light"] .streamer-odds-metric:nth-child(even) span {
  background: rgba(15, 23, 42, 0.06);
}

body[data-theme="light"] .table-wrap tbody tr.class-a:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-a:nth-child(odd) td,
body[data-theme="light"] .division-leader-class.class-a tbody tr:nth-child(odd) td {
  background: #edf4ff;
}

body[data-theme="light"] .table-wrap tbody tr.class-a:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-a:nth-child(even) td,
body[data-theme="light"] .division-leader-class.class-a tbody tr:nth-child(even) td {
  background: #dfeaf9;
}

body[data-theme="light"] .table-wrap tbody tr.class-b:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-b:nth-child(odd) td,
body[data-theme="light"] .division-leader-class.class-b tbody tr:nth-child(odd) td {
  background: #effaf3;
}

body[data-theme="light"] .table-wrap tbody tr.class-b:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-b:nth-child(even) td,
body[data-theme="light"] .division-leader-class.class-b tbody tr:nth-child(even) td {
  background: #e0f1e7;
}

body[data-theme="light"] .table-wrap tbody tr.class-c:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-c:nth-child(odd) td,
body[data-theme="light"] .division-leader-class.class-c tbody tr:nth-child(odd) td {
  background: #fff4e8;
}

body[data-theme="light"] .table-wrap tbody tr.class-c:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-c:nth-child(even) td,
body[data-theme="light"] .division-leader-class.class-c tbody tr:nth-child(even) td {
  background: #f6e6d4;
}

body[data-theme="light"] .table-wrap tbody tr.class-d:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-d:nth-child(odd) td,
body[data-theme="light"] .division-leader-class.class-d tbody tr:nth-child(odd) td {
  background: #fffbe6;
}

body[data-theme="light"] .table-wrap tbody tr.class-d:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-d:nth-child(even) td,
body[data-theme="light"] .division-leader-class.class-d tbody tr:nth-child(even) td {
  background: #f3edc9;
}

body[data-theme="light"] .table-wrap tbody tr.class-e:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-e:nth-child(odd) td,
body[data-theme="light"] .division-leader-class.class-e tbody tr:nth-child(odd) td {
  background: #fff0f4;
}

body[data-theme="light"] .table-wrap tbody tr.class-e:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-e:nth-child(even) td,
body[data-theme="light"] .division-leader-class.class-e tbody tr:nth-child(even) td {
  background: #f6dfe6;
}

body[data-theme="light"] .standings-brand-panel,
body[data-theme="light"] .standings-side-label,
body[data-theme="light"] .profile-header,
body[data-theme="light"] .admin-editor,
body[data-theme="light"] .admin-participant-editor,
body[data-theme="light"] .streamer-match-list {
  background: #ffffff;
  color: #0f172a;
  border-color: #94a3b8;
  text-shadow: none;
}

body[data-theme="light"] .report-section-header {
  border-color: #506280;
  background: #d9e7fb;
}

body[data-theme="light"] .report-section-header h2 {
  color: #0f172a;
}

body[data-theme="light"] .section-toggle-button {
  border-left-color: #506280;
  background: #ffffff;
  color: #0f172a;
}

body[data-theme="light"] .section-toggle-button:hover {
  background: var(--tour-red);
  color: #ffffff;
}

body[data-theme="light"] .metric-card strong,
body[data-theme="light"] .mini-metric strong,
body[data-theme="light"] .info-card h3,
body[data-theme="light"] .matchup-card h3,
body[data-theme="light"] .leaderboard h2,
body[data-theme="light"] .profile-header h2,
body[data-theme="light"] .admin-participant-editor h3 {
  color: #0f172a;
}

body[data-theme="light"] .metric-card span,
body[data-theme="light"] .mini-metric span,
body[data-theme="light"] .metric-card p,
body[data-theme="light"] .info-card p,
body[data-theme="light"] .profile-header p,
body[data-theme="light"] .admin-help,
body[data-theme="light"] .table-subline {
  color: #334155;
}

body[data-theme="light"] .mini-metric,
body[data-theme="light"] .profile-selector-bar select,
body[data-theme="light"] .control-bar select,
body[data-theme="light"] .schedule-controls select,
body[data-theme="light"] .admin-editor input,
body[data-theme="light"] .admin-editor select,
body[data-theme="light"] .streamer-inline-input,
body[data-theme="light"] .admin-inline-input {
  border-color: #506280;
  background: #ffffff;
  color: #0f172a;
}

body[data-theme="light"] .profile-selector-bar {
  background: #e8f0fb;
}

body[data-theme="light"] .profile-badge,
body[data-theme="light"] .profile-badge.badge-label,
body[data-theme="light"] .profile-badge.badge-class,
body[data-theme="light"] .profile-badge.badge-home,
body[data-theme="light"] .standings-report.class-a .standings-side-label,
body[data-theme="light"] .standings-report.class-a .division-table h3,
body[data-theme="light"] .standings-report.class-b .standings-side-label,
body[data-theme="light"] .standings-report.class-b .division-table h3,
body[data-theme="light"] .standings-report.class-c .standings-side-label,
body[data-theme="light"] .standings-report.class-c .division-table h3,
body[data-theme="light"] .standings-report.class-d .standings-side-label,
body[data-theme="light"] .standings-report.class-d .division-table h3,
body[data-theme="light"] .standings-report.class-e .standings-side-label,
body[data-theme="light"] .standings-report.class-e .division-table h3,
body[data-theme="light"] .standings-conference-board .division-table h3 {
  color: #ffffff;
  text-shadow: none;
}

body[data-theme="light"] .standings-report.class-d .standings-side-label,
body[data-theme="light"] .standings-report.class-d .division-table h3 {
  color: #111827;
}

body[data-theme="light"] .achievement-badge-card {
  border-color: #506280;
  background: #ffffff;
}

body[data-theme="light"] .achievement-badge-note {
  color: #334155;
}

body[data-theme="light"] .result-table td:nth-child(12),
body[data-theme="light"] .result-table td:nth-child(20),
body[data-theme="light"] .match-ledger-table td:nth-child(7),
body[data-theme="light"] .table-wrap tbody tr td.away-cell,
body[data-theme="light"] .profile-match-ledger-table td.away-cell,
body[data-theme="light"] table.profile-match-ledger-table tbody tr > td.away-cell {
  background: #9f1d20;
  color: #ffffff;
  font-weight: 950;
}

body[data-theme="light"] .leaderboard-table th:nth-child(5),
body[data-theme="light"] .leaderboard-table td:nth-child(5),
body[data-theme="light"] .standings-report .division-table td:nth-child(6),
body[data-theme="light"] .standings-report .division-table th:nth-child(6) {
  color: #0f172a;
}

body[data-theme="light"] .average-table td.stat-column-best {
  color: #9a3412;
  font-weight: 950;
}

body[data-theme="light"] .table-wrap tbody tr:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .division-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .streamer-match-table tbody tr:nth-child(odd) td {
  background: #ffffff !important;
  color: #0f172a !important;
}

body[data-theme="light"] .table-wrap tbody tr:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr:nth-child(even) td,
body[data-theme="light"] .division-table tbody tr:nth-child(even) td,
body[data-theme="light"] .streamer-match-table tbody tr:nth-child(even) td {
  background: #eef3f9 !important;
  color: #0f172a !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-a:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-a:nth-child(odd) td,
body[data-theme="light"] .standings-report.class-a .division-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .standings-class-block.class-a .division-table tbody tr:nth-child(odd) td {
  background: #edf4ff !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-a:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-a:nth-child(even) td,
body[data-theme="light"] .standings-report.class-a .division-table tbody tr:nth-child(even) td,
body[data-theme="light"] .standings-class-block.class-a .division-table tbody tr:nth-child(even) td {
  background: #dfeaf9 !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-b:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-b:nth-child(odd) td,
body[data-theme="light"] .standings-report.class-b .division-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .standings-class-block.class-b .division-table tbody tr:nth-child(odd) td {
  background: #effaf3 !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-b:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-b:nth-child(even) td,
body[data-theme="light"] .standings-report.class-b .division-table tbody tr:nth-child(even) td,
body[data-theme="light"] .standings-class-block.class-b .division-table tbody tr:nth-child(even) td {
  background: #e0f1e7 !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-c:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-c:nth-child(odd) td,
body[data-theme="light"] .standings-report.class-c .division-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .standings-class-block.class-c .division-table tbody tr:nth-child(odd) td {
  background: #fff4e8 !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-c:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-c:nth-child(even) td,
body[data-theme="light"] .standings-report.class-c .division-table tbody tr:nth-child(even) td,
body[data-theme="light"] .standings-class-block.class-c .division-table tbody tr:nth-child(even) td {
  background: #f6e6d4 !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-d:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-d:nth-child(odd) td,
body[data-theme="light"] .standings-report.class-d .division-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .standings-class-block.class-d .division-table tbody tr:nth-child(odd) td {
  background: #fffbe6 !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-d:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-d:nth-child(even) td,
body[data-theme="light"] .standings-report.class-d .division-table tbody tr:nth-child(even) td,
body[data-theme="light"] .standings-class-block.class-d .division-table tbody tr:nth-child(even) td {
  background: #f3edc9 !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-e:nth-child(odd) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-e:nth-child(odd) td,
body[data-theme="light"] .standings-report.class-e .division-table tbody tr:nth-child(odd) td,
body[data-theme="light"] .standings-class-block.class-e .division-table tbody tr:nth-child(odd) td {
  background: #fff0f4 !important;
}

body[data-theme="light"] .table-wrap tbody tr.class-e:nth-child(even) td,
body[data-theme="light"] .leaderboard-table tbody tr.class-e:nth-child(even) td,
body[data-theme="light"] .standings-report.class-e .division-table tbody tr:nth-child(even) td,
body[data-theme="light"] .standings-class-block.class-e .division-table tbody tr:nth-child(even) td {
  background: #f6dfe6 !important;
}

body[data-theme="light"] .result-table td:nth-child(12),
body[data-theme="light"] .result-table td:nth-child(20),
body[data-theme="light"] .match-ledger-table td:nth-child(7) {
  background: #d9e7fb !important;
  color: #0f172a !important;
  font-weight: 950;
}

body[data-theme="light"] .table-wrap tbody tr td.away-cell,
body[data-theme="light"] .profile-match-ledger-table td.away-cell,
body[data-theme="light"] table.profile-match-ledger-table tbody tr > td.away-cell {
  background: #9f1d20 !important;
  color: #ffffff !important;
  font-weight: 950;
}

.rules-page {
  background:
    linear-gradient(180deg, rgba(5, 9, 18, 0.98), rgba(8, 20, 48, 0.96));
}

.rules-main {
  width: min(1160px, calc(100% - 20px));
}

.rules-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 190px);
  align-items: center;
  gap: 18px;
  border: 2px solid #ffffff;
  padding: 16px;
  background: #080d19;
}

.rules-hero h2 {
  margin: 8px 0;
  color: #ffffff;
  font-size: clamp(1.7rem, 3vw, 2.8rem);
  letter-spacing: 0;
  text-transform: uppercase;
}

.rules-hero p {
  max-width: 720px;
  margin: 0;
  color: #d7e8ff;
  font-size: 0.95rem;
  font-weight: 800;
}

.rules-hero img {
  width: 100%;
  height: auto;
}

.rules-grid,
.rules-two-column,
.report-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.rules-top-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(360px, 1.35fr) minmax(260px, 0.95fr);
  gap: 10px;
  margin-top: 12px;
}

.rules-stack-column {
  display: grid;
  align-content: start;
  gap: 10px;
}

.rules-section {
  margin-top: 18px;
}

.rules-section > h2 {
  margin: 0;
  border: 1px solid #ffffff;
  padding: 7px 10px;
  background: var(--tour-blue);
  color: #ffffff;
  font-size: 1rem;
  text-transform: uppercase;
}

.rules-card {
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: #05070c;
  padding: 10px;
}

.rules-card.rules-wide {
  grid-column: 1 / -1;
}

.rules-card h3 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 0.95rem;
  text-transform: uppercase;
}

.rules-card p {
  margin: 0;
  color: #e9f2ff;
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.45;
}

.rules-card ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
  color: #e9f2ff;
  font-size: 0.86rem;
  font-weight: 750;
  line-height: 1.38;
}

.report-link {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 2px solid #ffffff;
  padding: 8px;
  color: #ffffff;
  font-weight: 950;
  text-decoration: none;
  text-transform: uppercase;
}

.report-link-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.report-link-column {
  display: grid;
  align-content: start;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: #05070c;
  padding: 10px;
}

.report-link-column h3 {
  margin: 0 0 2px;
  border: 1px solid #ffffff;
  padding: 6px 8px;
  background: var(--tour-blue);
  color: #ffffff;
  font-size: 0.88rem;
  text-align: center;
  text-transform: uppercase;
}

.report-link.class-a {
  background: var(--class-a);
}

.report-link.class-b {
  background: var(--class-b);
}

.report-link.class-c {
  background: var(--class-c);
}

.report-link.class-d {
  background: var(--class-d);
  color: #101010;
}

.report-link.class-e {
  background: var(--class-e);
}

.data-freshness-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 10px;
  border: 1px solid #facc15;
  background: #2d2300;
  padding: 7px 10px;
  color: #facc15;
  font-size: 0.82rem;
  font-weight: 950;
  text-align: center;
  text-transform: uppercase;
}

.data-freshness-banner .secondary-button {
  width: auto;
  min-height: 0;
  padding: 4px 10px;
  font-size: 0.75rem;
}

body[data-theme="light"] .data-freshness-banner {
  border-color: #ca8a04;
  background: #fff7cc;
  color: #713f12;
}

.fill-distribution-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 12px;
}

.distribution-report-stack {
  display: grid;
  gap: 12px;
}

.score-distribution-grid {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
}

.fill-distribution-card {
  border: 1px solid #ffffff;
  background: #05070c;
  padding: 10px;
}

.fill-distribution-card h3 {
  margin: 0 0 8px;
  border: 1px solid #ffffff;
  background: var(--tour-blue);
  padding: 6px 8px;
  color: #ffffff;
  font-size: 0.88rem;
  text-align: center;
  text-transform: uppercase;
}

.fill-bars {
  display: grid;
  gap: 5px;
}

.fill-bar-row {
  display: grid;
  grid-template-columns: 28px minmax(120px, 1fr) 46px;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  font-weight: 850;
}

.fill-bar-label,
.fill-bar-count {
  color: #f8fafc;
  text-align: right;
}

.fill-bar-track {
  height: 15px;
  border: 1px solid #334155;
  background: #020617;
  overflow: hidden;
}

.fill-bar {
  display: block;
  height: 100%;
}

.fill-bar.strike-fill {
  background: linear-gradient(90deg, #ff1a1a, #ffd400);
}

.fill-bar.spare-fill {
  background: linear-gradient(90deg, #1d4ed8, #38bdf8);
}

.fill-bar.score-box-fill {
  background: linear-gradient(90deg, #16a34a, #facc15);
}

.fill-bar.string-score-fill {
  background: linear-gradient(90deg, #7c3aed, #38bdf8);
}

.fill-bar.series-score-fill {
  background: linear-gradient(90deg, #dc2626, #f97316);
}

.score-distribution-bars {
  max-height: 360px;
  overflow-y: auto;
  padding-right: 4px;
}

.fill-distribution-table th,
.fill-distribution-table td {
  text-align: center;
}

body[data-theme="light"] .fill-distribution-card {
  border-color: #506280;
  background: #ffffff;
}

body[data-theme="light"] .fill-bar-label,
body[data-theme="light"] .fill-bar-count {
  color: #0f172a;
}

body[data-theme="light"] .fill-bar-track {
  border-color: #94a3b8;
  background: #e2e8f0;
}

.teams-conference-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(280px, 1fr));
  gap: 14px;
  align-items: start;
}

.teams-round-grid {
  grid-template-columns: 1fr;
}

.teams-conference-panel {
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(2, 8, 23, 0.72);
}

.teams-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  background: #123a7a;
  color: #ffffff;
}

.teams-panel-header h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1;
}

.teams-panel-header span {
  display: block;
  margin-top: 4px;
  color: #ffd400;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.teams-panel-header strong {
  min-width: 34px;
  padding: 3px 6px;
  border: 1px solid rgba(255, 255, 255, 0.45);
  text-align: center;
  color: #ffd400;
  background: rgba(0, 0, 0, 0.34);
}

.teams-conference-panel.conference-south .teams-panel-header {
  background: #0f5f4a;
}

.teams-conference-panel.conference-west .teams-panel-header {
  background: #6a3413;
}

.teams-standings-table th,
.teams-standings-table td,
.teams-round-table th,
.teams-round-table td {
  padding: 3px 4px;
  white-space: nowrap;
  font-size: 0.74rem;
  line-height: 1.1;
}

.teams-standings-table {
  width: 100%;
  table-layout: fixed;
}

.teams-standings-table th:first-child,
.teams-standings-table td:first-child {
  width: 26px;
}

.teams-standings-table th:nth-child(2),
.teams-standings-table td:nth-child(2),
.teams-round-table th:first-child,
.teams-round-table td:first-child {
  text-align: left;
  min-width: 0;
}

.teams-standings-table th:nth-child(2),
.teams-standings-table td:nth-child(2) {
  width: auto;
  min-width: 0;
}

.teams-standings-table th:nth-child(3),
.teams-standings-table td:nth-child(3) {
  width: 42px;
}

.teams-standings-table th:nth-child(4),
.teams-standings-table td:nth-child(4) {
  width: 52px;
}

.teams-standings-table th:nth-child(5),
.teams-standings-table td:nth-child(5),
.teams-standings-table th:nth-child(6),
.teams-standings-table td:nth-child(6) {
  width: 44px;
}

.teams-standings-table th:first-child,
.teams-standings-table td:first-child,
.teams-standings-table th:nth-child(5),
.teams-standings-table td:nth-child(5),
.teams-round-table th:first-child,
.teams-round-table td:first-child,
.teams-round-table th:nth-child(14),
.teams-round-table td:nth-child(14) {
  font-weight: 900;
}

.teams-standings-list {
  display: grid;
  border-top: 1px solid rgba(255, 255, 255, 0.35);
}

.teams-standings-list-header,
.teams-standings-list-row {
  display: grid;
  grid-template-columns: 26px minmax(122px, 1fr) 42px 52px 42px 42px;
  align-items: stretch;
}

.teams-standings-list-header {
  background: #0b1c3c;
  color: #ffffff;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.teams-standings-list-header span,
.team-rank-cell,
.team-standing-stat {
  display: grid;
  align-items: center;
  min-width: 0;
  padding: 3px 4px;
  border-right: 1px solid rgba(255, 255, 255, 0.35);
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.teams-standings-list-header span {
  justify-content: center;
}

.teams-standings-list-header span:nth-child(2) {
  justify-content: start;
}

.team-rank-cell,
.team-standing-stat {
  justify-content: center;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 900;
}

.teams-standings-list-row:nth-child(odd) {
  background: #050914;
}

.teams-standings-list-row:nth-child(even) {
  background: #142033;
}

.team-standing-stat:nth-child(3) {
  color: #ffd400;
}

.teams-round-table th:nth-child(3),
.teams-round-table td:nth-child(3),
.teams-round-table th:nth-child(5),
.teams-round-table td:nth-child(5),
.teams-round-table th:nth-child(7),
.teams-round-table td:nth-child(7),
.teams-round-table th:nth-child(9),
.teams-round-table td:nth-child(9),
.teams-round-table th:nth-child(11),
.teams-round-table td:nth-child(11),
.teams-round-table th:nth-child(13),
.teams-round-table td:nth-child(13) {
  color: var(--gold);
  font-weight: 800;
}

.team-slot-pills {
  display: grid;
  grid-template-columns: repeat(4, minmax(42px, 1fr));
  gap: 3px;
  min-width: 250px;
}

.team-slot-pill {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  min-height: 30px;
  padding: 2px 3px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  font-weight: 800;
  font-size: 0.62rem;
  line-height: 1.05;
  text-align: center;
}

.team-slot-pill b {
  color: #ffffff;
  font-size: 0.72rem;
}

.team-select-button {
  width: 100%;
  min-width: 42px;
  padding: 3px 6px;
  border: 1px solid rgba(255, 212, 0, 0.4);
  background: rgba(255, 212, 0, 0.1);
  color: #ffffff;
  font: inherit;
  font-weight: 900;
  text-align: center;
  cursor: pointer;
}

.team-select-button:hover,
.selected-team-row .team-select-button {
  color: #06111f;
  background: #ffd400;
}

.selected-team-row td {
  outline: 1px solid rgba(255, 212, 0, 0.5);
  outline-offset: -1px;
}

.team-standing-roster {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 3px;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.team-standing-roster > strong {
  display: grid;
  place-items: center;
  min-height: 66px;
  border: 1px solid rgba(255, 212, 0, 0.5);
  color: #ffd400;
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.88rem;
}

.team-standing-names {
  display: grid;
  gap: 2px;
}

.team-standing-name {
  display: block;
  padding: 2px 4px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1.05;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-standing-name.class-a { background: rgba(56, 103, 214, 0.72); }
.team-standing-name.class-b { background: rgba(42, 127, 82, 0.74); }
.team-standing-name.class-c { background: rgba(181, 95, 38, 0.76); }
.team-standing-name.class-d { background: rgba(171, 144, 35, 0.78); }

.team-standing-roster:hover > strong,
.selected-team-row .team-standing-roster > strong {
  color: #06111f;
  background: #ffd400;
}

.team-slot-pill.class-a { background: rgba(56, 103, 214, 0.55); }
.team-slot-pill.class-b { background: rgba(42, 127, 82, 0.58); }
.team-slot-pill.class-c { background: rgba(181, 95, 38, 0.62); }
.team-slot-pill.class-d { background: rgba(171, 144, 35, 0.62); }

.team-profile-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.8fr) minmax(420px, 1.2fr);
  gap: 14px;
  align-items: start;
}

.team-profile-card {
  border: 1px solid rgba(255, 255, 255, 0.24);
  background:
    linear-gradient(135deg, rgba(18, 58, 122, 0.72), rgba(3, 10, 24, 0.9)),
    rgba(2, 8, 23, 0.82);
}

.team-profile-card.conference-south {
  background:
    linear-gradient(135deg, rgba(15, 95, 74, 0.72), rgba(3, 10, 24, 0.9)),
    rgba(2, 8, 23, 0.82);
}

.team-profile-card.conference-west {
  background:
    linear-gradient(135deg, rgba(106, 52, 19, 0.78), rgba(3, 10, 24, 0.9)),
    rgba(2, 8, 23, 0.82);
}

.team-profile-title {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 10px;
  padding: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  text-transform: uppercase;
}

.team-profile-title span,
.team-profile-title em {
  color: #ffd400;
  font-size: 0.74rem;
  font-style: normal;
  font-weight: 900;
}

.team-profile-title strong {
  grid-row: span 2;
  align-self: center;
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 0.9;
}

.team-profile-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.team-profile-metric {
  padding: 8px 6px;
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  text-align: center;
}

.team-profile-metric:last-child {
  border-right: 0;
}

.team-profile-metric span {
  display: block;
  color: #ffd400;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.team-profile-metric strong {
  display: block;
  margin-top: 2px;
  color: #ffffff;
  font-size: 1.1rem;
  line-height: 1;
}

.team-roster-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  padding: 10px;
}

.team-roster-card {
  display: grid;
  grid-template-columns: 58px 1fr auto;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.team-roster-card span {
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.team-roster-card strong {
  color: #ffffff;
  font-size: 0.95rem;
  line-height: 1.05;
}

.team-roster-card em {
  color: #ffffff;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
  opacity: 0.8;
}

.team-roster-card.class-a { background: rgba(56, 103, 214, 0.55); }
.team-roster-card.class-b { background: rgba(42, 127, 82, 0.58); }
.team-roster-card.class-c { background: rgba(181, 95, 38, 0.62); }
.team-roster-card.class-d { background: rgba(171, 144, 35, 0.62); }

.team-profile-side {
  display: grid;
  gap: 12px;
}

.team-round-detail-card {
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(2, 8, 23, 0.72);
}

.team-round-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  background: #123a7a;
}

.team-round-detail-header h3 {
  margin: 0;
  color: #ffffff;
  font-size: 0.98rem;
}

.team-round-detail-header .field {
  margin: 0;
}

.team-round-detail-header select {
  min-width: 120px;
}

.team-round-detail-table th,
.team-round-detail-table td {
  padding: 5px 7px;
  text-align: center;
  white-space: nowrap;
}

.team-round-detail-table th:first-child,
.team-round-detail-table td:first-child {
  min-width: 190px;
  text-align: left;
}

.team-round-detail-name {
  display: grid;
  grid-template-columns: 26px 1fr;
  align-items: center;
  gap: 6px;
  font-weight: 900;
}

.team-round-detail-name b {
  display: inline-grid;
  place-items: center;
  min-height: 22px;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.28);
}

.team-round-detail-row.class-a td { background: rgba(56, 103, 214, 0.24); }
.team-round-detail-row.class-b td { background: rgba(42, 127, 82, 0.25); }
.team-round-detail-row.class-c td { background: rgba(181, 95, 38, 0.26); }
.team-round-detail-row.class-d td { background: rgba(171, 144, 35, 0.28); }

.team-round-detail-total td {
  color: #ffffff;
  background: rgba(255, 212, 0, 0.14);
  font-weight: 900;
}

.team-score-points {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
}

.team-score-points strong {
  color: #ffffff;
}

.team-score-points em {
  color: #ffd400;
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 900;
}

.team-profile-ledger th:first-child,
.team-profile-ledger td:first-child,
.team-profile-ledger th:nth-child(14),
.team-profile-ledger td:nth-child(14) {
  color: #ffffff;
  font-weight: 900;
}

body[data-theme="light"] .teams-conference-panel {
  border-color: #506280;
  background: #ffffff;
}

body[data-theme="light"] .teams-panel-header {
  border-bottom-color: #506280;
}

body[data-theme="light"] .team-slot-pill {
  border-color: rgba(15, 23, 42, 0.25);
}

body[data-theme="light"] .team-select-button {
  color: #10203a;
  background: #f8fafc;
}

body[data-theme="light"] .team-select-button:hover,
body[data-theme="light"] .selected-team-row .team-select-button {
  color: #10203a;
  background: #ffd400;
}

body[data-theme="light"] .team-profile-card {
  border-color: #506280;
}

body[data-theme="light"] .team-standing-roster > strong {
  color: #10203a;
  background: #fff7cc;
}

body[data-theme="light"] .team-standing-name,
body[data-theme="light"] .team-roster-card span,
body[data-theme="light"] .team-roster-card strong,
body[data-theme="light"] .team-roster-card em {
  color: #ffffff;
}

body[data-theme="light"] .team-round-detail-card {
  border-color: #506280;
  background: #ffffff;
}

body[data-theme="light"] .team-round-detail-total td,
body[data-theme="light"] .team-score-points strong {
  color: #0f172a;
}

@media (max-width: 720px) {
  .footer-resources,
  .rules-hero,
  .rules-top-grid,
  .report-link-columns,
  .fill-distribution-grid,
  .teams-conference-grid,
  .team-profile-layout {
    grid-template-columns: 1fr;
  }

  .team-profile-metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .team-roster-card {
    grid-template-columns: 52px 1fr;
  }

  .team-roster-card em {
    grid-column: 2;
  }

  .rules-hero img {
    max-width: 180px;
  }
}
