:root {
  color-scheme: dark;
  --bg: #0c0b09;
  --panel: rgba(24, 24, 22, 0.88);
  --panel-strong: rgba(34, 34, 30, 0.96);
  --line: rgba(255, 255, 255, 0.08);
  --line-strong: rgba(255, 255, 255, 0.14);
  --text: #f5f5f4;
  --muted: #b3b3af;
  --muted-soft: #78716c;
  --accent: #f97316;
  --accent-soft: rgba(249, 115, 22, 0.15);
  --danger: #ef4444;
  --success: #22c55e;
  --warning: #f59e0b;
  --sidebar-bg: rgba(12, 11, 9, 0.84);
  --sidebar-card-bg: rgba(255, 255, 255, 0.03);
  --nav-active-bg: rgba(255, 255, 255, 0.05);
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f5f2ea;
  --panel: rgba(255, 252, 247, 0.9);
  --panel-strong: rgba(255, 255, 255, 0.98);
  --line: rgba(120, 113, 108, 0.18);
  --line-strong: rgba(120, 113, 108, 0.28);
  --text: #1c1917;
  --muted: #57534e;
  --muted-soft: #78716c;
  --accent: #ea580c;
  --accent-soft: rgba(234, 88, 12, 0.12);
  --danger: #dc2626;
  --success: #16a34a;
  --warning: #d97706;
  --accent-readable: #9a3412;
  --sidebar-bg: rgba(246, 241, 232, 0.92);
  --sidebar-card-bg: rgba(255, 255, 255, 0.74);
  --nav-active-bg: rgba(28, 25, 23, 0.06);
}

html,
body {
  background: var(--bg) !important;
  color: var(--text) !important;
  overscroll-behavior-y: none;
}

body {
  transition: background 160ms ease, color 160ms ease;
  -webkit-overflow-scrolling: touch;
}

body.confirm-dialog-open {
  overflow: hidden;
}

.text-stone-100,
.text-stone-200,
.text-stone-300,
.text-stone-400,
.text-stone-500 {
  color: inherit;
}

:root[data-theme="light"] .text-orange-300 {
  color: var(--accent-readable) !important;
}

:root[data-theme="light"] .border-stone-800 {
  border-color: rgba(120, 113, 108, 0.18) !important;
}

.schema-summary-stack,
.schema-editor {
  display: grid;
  gap: 1.25rem;
}

.schema-summary-card,
.schema-editor-block {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.03);
}

:root[data-theme="light"] .schema-summary-card,
:root[data-theme="light"] .schema-editor-block {
  background: rgba(255, 255, 255, 0.7);
}

.schema-summary-head,
.schema-editor-block-head,
.schema-editor-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.schema-summary-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 650;
  color: var(--text);
}

.schema-summary-note {
  margin: 0.35rem 0 0;
  color: var(--muted);
}

.schema-summary-meta {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}

.schema-editor-block-fields {
  display: grid;
  gap: 1rem;
  flex: 1 1 48rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.schema-static {
  min-height: 3.2rem;
  display: flex;
  align-items: center;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  border: 1px solid var(--line-strong);
  background: rgba(15, 14, 12, 0.9);
  color: var(--text);
}

:root[data-theme="light"] .schema-static {
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  border-color: rgba(120, 113, 108, 0.22);
}

.schema-editor-event {
  min-width: 18rem;
}

.schema-multiselect {
  min-width: 16rem;
  min-height: 8.5rem;
}

.schema-lookup {
  display: grid;
  gap: 0.7rem;
}

.schema-table-wrap {
  overflow: visible;
  position: relative;
  z-index: 1;
}

.schema-editor-table {
  overflow: visible;
  position: relative;
}

.schema-editor-table td,
.schema-editor-table th {
  overflow: visible;
  position: relative;
}

.schema-combobox {
  position: relative;
  min-width: 0;
  width: 100%;
  z-index: 5;
}

.schema-combobox-open {
  z-index: 80;
}

.schema-chip-list {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  min-height: 2.25rem;
}

.schema-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(249, 115, 22, 0.28);
  background: rgba(249, 115, 22, 0.14);
  color: #fed7aa;
  cursor: pointer;
}

.schema-chip:hover {
  border-color: rgba(249, 115, 22, 0.42);
}

:root[data-theme="light"] .schema-chip {
  color: var(--accent-readable);
  background: rgba(234, 88, 12, 0.12);
  border-color: rgba(234, 88, 12, 0.22);
}

.schema-dropdown {
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 0;
  right: 0;
  z-index: 30;
  display: grid;
  gap: 0.2rem;
  max-height: 16rem;
  overflow-y: auto;
  padding: 0.45rem;
  border-radius: 1rem;
  border: 1px solid rgba(249, 115, 22, 0.24);
  background: rgba(24, 24, 22, 0.98);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.3);
}

:root[data-theme="light"] .schema-dropdown {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(120, 113, 108, 0.2);
  box-shadow: 0 18px 40px rgba(120, 113, 108, 0.16);
}

.schema-combobox-open .form-input {
  border-color: rgba(249, 115, 22, 0.5);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.14);
}

.schema-dropdown-option,
.schema-dropdown-empty {
  width: 100%;
  padding: 0.7rem 0.8rem;
  border: 0;
  border-radius: 0.85rem;
  text-align: left;
}

.schema-dropdown-option {
  background: transparent;
  color: var(--text);
  cursor: pointer;
}

.schema-dropdown-option:hover {
  background: rgba(249, 115, 22, 0.14);
  color: #fed7aa;
}

:root[data-theme="light"] .schema-dropdown-option:hover {
  color: var(--accent-readable);
}

.schema-dropdown-empty {
  color: var(--muted-soft);
}

.schema-trash-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 999px;
  border: 1px solid rgba(239, 68, 68, 0.28);
  background: rgba(239, 68, 68, 0.14);
  color: #fecaca;
  cursor: pointer;
  transition: 180ms ease;
}

.schema-trash-button:hover {
  border-color: rgba(239, 68, 68, 0.46);
  background: rgba(239, 68, 68, 0.2);
}

:root[data-theme="light"] .schema-trash-button {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.08);
  border-color: rgba(239, 68, 68, 0.18);
}

.schema-field-help {
  margin: 0.45rem 0 0;
  font-size: 0.82rem;
  color: var(--muted-soft);
}

.program-sheet-light {
  background: #ffffff;
  color: #111827;
  border-color: rgba(17, 24, 39, 0.08);
}

.program-sheet-light .brand-title,
.program-sheet-light .program-sheet-kicker,
.program-sheet-light h2,
.program-sheet-light p,
.program-sheet-light th,
.program-sheet-light td {
  color: inherit;
}

.program-preview-block {
  margin-top: 1.4rem;
}

.program-preview-headline {
  margin-bottom: 0.45rem;
  font-size: 0.92rem;
}

.program-break-note {
  display: block;
  width: 100%;
  margin: 0 0 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 0.85rem;
  border: 1px solid rgba(194, 65, 12, 0.32);
  background: rgba(249, 115, 22, 0.12);
  color: #9a3412 !important;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.public-program-note {
  margin: 0 0 -0.25rem;
  width: fit-content;
  max-width: 100%;
}

.program-sheet-notice,
.public-quick-card-note {
  position: relative;
  z-index: 1;
  margin: 0.35rem 0 0;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700;
  text-align: center;
}

.public-quick-card-note {
  align-self: end;
  margin-top: auto;
}

.program-preview-table {
  border: 1px solid rgba(17, 24, 39, 0.22);
  border-collapse: collapse;
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.program-preview-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.program-table-no-round .program-col-rit {
  width: 8%;
}

.program-table-no-round .program-col-categorie {
  width: 48%;
}

.program-table-no-round .program-col-afstand {
  width: 16%;
}

.program-table-no-round .program-col-soort {
  width: 28%;
}

.program-table-has-round .program-col-rit {
  width: 7%;
}

.program-table-has-round .program-col-categorie {
  width: 42%;
}

.program-table-has-round .program-col-ronde {
  width: 8%;
}

.program-table-has-round .program-col-afstand {
  width: 10%;
}

.program-table-has-round .program-col-soort {
  width: 18%;
}

.program-table-has-round .program-col-plaatsing {
  width: 15%;
}

.program-preview-table thead th,
.program-preview-table tbody td {
  border: 1px solid rgba(17, 24, 39, 0.22);
  padding: 0.4rem 0.45rem;
  vertical-align: middle;
}

.program-preview-table th,
.program-preview-table td {
  overflow-wrap: break-word;
  word-break: normal;
}

.program-preview-superhead th {
  background: rgba(17, 24, 39, 0.04);
  font-weight: 700;
}

.public-responsive-table.program-preview-table {
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
}

.public-responsive-table.program-preview-table thead th,
.public-responsive-table.program-preview-table tbody td {
  border: 0;
  border-right: 1px solid rgba(17, 24, 39, 0.22);
  border-bottom: 1px solid rgba(17, 24, 39, 0.22);
}

.public-responsive-table.program-preview-table thead th:last-child,
.public-responsive-table.program-preview-table tbody td:last-child {
  border-right: 0;
}

.public-responsive-table.program-preview-table tbody tr:last-child td {
  border-bottom: 0;
}

.public-startlist-col-start {
  width: 4rem;
}

.public-startlist-col-bib {
  width: 4.75rem;
}

.public-startlist-col-name {
  width: auto;
}

.public-result-col-pos {
  width: 4rem;
}

.public-result-col-bib {
  width: 5rem;
}

.public-result-col-points,
.public-result-col-time {
  width: 6rem;
}

.public-result-col-series {
  width: 6rem;
}

.public-result-col-series-pos {
  width: 4.75rem;
}

.public-result-col-status {
  width: 5rem;
}

.public-result-col-name {
  width: auto;
}

.public-result-cell-rank,
.public-result-cell-series,
.public-result-cell-series-pos,
.public-result-cell-bib,
.public-result-cell-time,
.public-result-cell-status {
  text-align: center;
  white-space: nowrap;
}

.public-result-cell-name {
  text-align: left;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.program-head-short {
  display: none;
}

@media (max-width: 960px) {
  .schema-editor-block-fields {
    grid-template-columns: 1fr;
  }

  .schema-editor-event {
    min-width: 0;
    width: 100%;
  }
}

.program-sheet-light,
.program-sheet-light h1,
.program-sheet-light h2,
.program-sheet-light h3,
.program-sheet-light p,
.program-sheet-light span,
.program-sheet-light td {
  color: #111827 !important;
}

.program-sheet-light .program-sheet-kicker,
.program-sheet-light .brand-kicker,
.program-sheet-light .program-preview-headline p,
.program-sheet-light .program-preview-table thead th {
  color: #6b7280 !important;
}

.program-sheet-light .program-break-note {
  color: #9a3412 !important;
  background: #ffedd5;
  border-color: #fdba74;
  box-shadow: 0 8px 18px rgba(194, 65, 12, 0.08);
}

.program-sheet-light .brand-title {
  color: #111827 !important;
}

.program-sheet-light .program-preview-table {
  border: 1px solid #cbd5e1;
}

.program-sheet-light .program-preview-table thead th,
.program-sheet-light .program-preview-table tbody td {
  border: 1px solid #cbd5e1 !important;
}

.program-sheet-light .program-preview-table tbody td {
  background: transparent;
  color: #111827 !important;
}

.program-sheet-light .program-preview-superhead th {
  background: #f3f4f6;
  color: #6b7280 !important;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Segoe UI", "Helvetica Neue", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(249, 115, 22, 0.22), transparent 30%),
    radial-gradient(circle at top right, rgba(251, 191, 36, 0.12), transparent 20%),
    linear-gradient(180deg, #15120f 0%, #0c0b09 100%);
}

a {
  text-decoration: none;
}

.page-shell {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  min-height: 100vh;
  position: relative;
}

.page-shell-public {
  grid-template-columns: minmax(0, 1fr);
}

.page-glow {
  position: fixed;
  width: 420px;
  height: 420px;
  border-radius: 999px;
  filter: blur(90px);
  opacity: 0.3;
  pointer-events: none;
}

.page-glow-left {
  left: -140px;
  top: 12%;
  background: rgba(249, 115, 22, 0.3);
}

.page-glow-right {
  right: -120px;
  top: 4%;
  background: rgba(234, 179, 8, 0.18);
}

.sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  height: 100vh;
  padding: 1.75rem;
  border-right: 1px solid var(--line);
  background: var(--sidebar-bg);
  backdrop-filter: blur(18px);
}

.brand-panel,
.brand-inline {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.brand-kicker {
  font-size: 0.72rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #fdba74;
}

.brand-title {
  font-size: 1.65rem;
  font-weight: 700;
  color: var(--text);
}

.brand-subtitle {
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.6;
}

.sidebar-nav {
  display: grid;
  gap: 0.4rem;
}

.sidebar-pins {
  display: grid;
  gap: 0.8rem;
}

.sidebar-pins-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sidebar-pins-title {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--muted-soft);
}

.sidebar-pins-list {
  display: grid;
  gap: 0.8rem;
}

.pinned-card {
  display: grid;
  gap: 0.45rem;
  padding: 0.9rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.03);
}

.pinned-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.pinned-card-title {
  color: var(--text);
  font-weight: 600;
  line-height: 1.35;
}

.pinned-card-meta {
  margin: 0 0 0.2rem;
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #fdba74;
}

.pinned-children {
  display: grid;
  gap: 0.3rem;
}

.pinned-child-link {
  display: block;
  padding: 0.55rem 0.7rem;
  border-radius: 0.8rem;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.025);
  transition: 180ms ease;
}

.pinned-child-link:hover,
.pinned-child-link-active {
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
}

.pin-toggle[data-pin-active="true"] {
  border-color: rgba(249, 115, 22, 0.35);
  color: #fdba74;
}

.pin-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  cursor: pointer;
  transition: 180ms ease;
}

.pin-icon-button:hover {
  border-color: rgba(249, 115, 22, 0.35);
  color: #fdba74;
}

.nav-link {
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  color: var(--muted);
  transition: 180ms ease;
}

.nav-link:hover,
.nav-link-active {
  background: var(--nav-active-bg);
  color: var(--text);
}

.sidebar-user {
  margin-top: auto;
  display: grid;
  gap: 1rem;
  padding: 1.1rem;
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  background: var(--sidebar-card-bg);
}

:root[data-theme="light"] .brand-title,
:root[data-theme="light"] .nav-link,
:root[data-theme="light"] .sidebar-user,
:root[data-theme="light"] .sidebar-user p,
:root[data-theme="light"] .sidebar-user .font-semibold,
:root[data-theme="light"] .sidebar .text-stone-400,
:root[data-theme="light"] .sidebar .text-stone-500 {
  color: var(--text) !important;
}

:root[data-theme="light"] .sidebar .text-stone-400 {
  opacity: 0.72;
}

:root[data-theme="light"] .sidebar .btn-ghost {
  border-color: var(--line);
  color: var(--text);
}

:root[data-theme="light"] .brand-kicker,
:root[data-theme="light"] .eyebrow,
:root[data-theme="light"] .table-link,
:root[data-theme="light"] .mini-link,
:root[data-theme="light"] .pin-inline-button,
:root[data-theme="light"] .pin-icon-button,
:root[data-theme="light"] .public-accordion-summary::after,
:root[data-theme="light"] .public-accordion-count,
:root[data-theme="light"] .public-list-rank {
  color: var(--accent-readable) !important;
}

:root[data-theme="light"] .pin-inline-button,
:root[data-theme="light"] .public-accordion-count,
:root[data-theme="light"] .public-list-rank {
  border-color: rgba(154, 52, 18, 0.22);
  background: rgba(154, 52, 18, 0.08);
}

:root[data-theme="light"] .pill {
  color: #9a3412;
  border-color: rgba(154, 52, 18, 0.24);
  background: rgba(154, 52, 18, 0.1);
}

:root[data-theme="light"] .pill-warning {
  color: #92400e;
  border-color: rgba(245, 158, 11, 0.32);
  background: rgba(245, 158, 11, 0.14);
}

:root[data-theme="light"] .publication-pill-offline {
  color: #374151;
  border-color: rgba(55, 65, 81, 0.24);
  background: rgba(55, 65, 81, 0.08);
}

:root[data-theme="light"] .publication-pill-live {
  color: #166534;
  border-color: rgba(22, 101, 52, 0.2);
  background: rgba(22, 101, 52, 0.08);
}

:root[data-theme="light"] .race-status-completed {
  color: #166534;
  border-color: rgba(22, 101, 52, 0.2);
  background: rgba(22, 101, 52, 0.08);
}

.main-content {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1.75rem;
  align-content: start;
  padding: 2.25rem;
}

.main-content-public {
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  min-width: 0;
  justify-self: stretch;
  padding-top: 2rem;
  padding-bottom: 3rem;
}

.public-site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 0 1.4rem;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  max-width: 1400px;
  margin: 0 auto;
}

.public-site-brand {
  display: grid;
  gap: 0.2rem;
}

.public-site-actions {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.page-header,
.document-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}

.public-site-left {
  display: flex;
  align-items: center;
  min-width: 0;
}

.eyebrow {
  color: #fdba74;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-size: 0.72rem;
  margin-bottom: 0.55rem;
}

.page-title {
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1.05;
  font-weight: 700;
  color: var(--text);
}

.page-description {
  margin-top: 0.7rem;
  max-width: 54rem;
  color: var(--muted);
  line-height: 1.65;
}

.surface,
.document-card,
.stat-card,
.login-card {
  border: 1px solid var(--line);
  border-radius: 1.8rem;
  background: var(--panel);
  backdrop-filter: blur(14px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.18);
}

.surface,
.document-card {
  padding: 1.45rem;
}

.stat-card {
  padding: 1.25rem;
}

.stat-card-large {
  min-height: 12rem;
  display: grid;
  align-content: start;
}

.stat-label,
.stat-footnote {
  color: var(--muted);
  font-size: 0.95rem;
}

.stat-number,
.stat-value {
  display: block;
  margin-top: 0.7rem;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 700;
}

.section-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.15rem;
}

.section-title {
  font-size: 1.4rem;
  font-weight: 650;
  color: var(--text);
}

.page-back-link {
  margin-bottom: 1rem;
}

.page-header-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.list-row,
.action-tile {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-radius: 1.2rem;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
}

.list-row:hover,
.action-tile:hover {
  border-color: rgba(249, 115, 22, 0.28);
}

.action-tile {
  flex-direction: column;
}

.action-tile strong {
  color: var(--text);
}

.action-tile span {
  color: var(--muted);
  font-size: 0.95rem;
}

.event-action-grid,
.competition-tile-grid {
  display: grid;
  gap: 1rem;
}

.event-action-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.event-action-tile {
  min-height: 10.5rem;
  text-decoration: none;
}

.competition-tile-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.competition-home-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.competition-home-tile {
  position: relative;
  display: grid;
  gap: 1rem;
  min-height: 15rem;
  padding: 1.15rem 1.15rem 1.25rem;
  overflow: hidden;
  border-radius: 1.4rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #fff7ed;
  text-decoration: none;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.24);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

:root[data-theme="light"] .competition-home-tile {
  color: #1f130d;
  box-shadow: 0 18px 36px rgba(120, 113, 108, 0.16);
}

.competition-home-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(253, 186, 116, 0.45);
  box-shadow: 0 24px 44px rgba(0, 0, 0, 0.3);
}

.competition-home-tile:nth-child(6n + 1) {
  background:
    linear-gradient(135deg, rgba(249, 115, 22, 0.95) 0%, rgba(234, 88, 12, 0.88) 54%, rgba(120, 53, 15, 0.76) 100%);
}

.competition-home-tile:nth-child(6n + 2) {
  background:
    linear-gradient(135deg, rgba(14, 165, 233, 0.95) 0%, rgba(37, 99, 235, 0.9) 56%, rgba(30, 41, 59, 0.8) 100%);
}

.competition-home-tile:nth-child(6n + 3) {
  background:
    linear-gradient(135deg, rgba(34, 197, 94, 0.95) 0%, rgba(5, 150, 105, 0.9) 56%, rgba(20, 83, 45, 0.8) 100%);
}

.competition-home-tile:nth-child(6n + 4) {
  background:
    linear-gradient(135deg, rgba(244, 114, 182, 0.94) 0%, rgba(219, 39, 119, 0.88) 56%, rgba(131, 24, 67, 0.78) 100%);
}

.competition-home-tile:nth-child(6n + 5) {
  background:
    linear-gradient(135deg, rgba(168, 85, 247, 0.95) 0%, rgba(124, 58, 237, 0.88) 56%, rgba(76, 29, 149, 0.8) 100%);
}

.competition-home-tile:nth-child(6n) {
  background:
    linear-gradient(135deg, rgba(251, 146, 60, 0.94) 0%, rgba(249, 115, 22, 0.88) 56%, rgba(154, 52, 18, 0.78) 100%);
}

:root[data-theme="light"] .competition-home-tile:nth-child(6n + 1) {
  background:
    linear-gradient(135deg, #fdba74 0%, #fb923c 56%, #fed7aa 100%);
}

:root[data-theme="light"] .competition-home-tile:nth-child(6n + 2) {
  background:
    linear-gradient(135deg, #7dd3fc 0%, #60a5fa 56%, #bfdbfe 100%);
}

:root[data-theme="light"] .competition-home-tile:nth-child(6n + 3) {
  background:
    linear-gradient(135deg, #86efac 0%, #4ade80 56%, #bbf7d0 100%);
}

:root[data-theme="light"] .competition-home-tile:nth-child(6n + 4) {
  background:
    linear-gradient(135deg, #f9a8d4 0%, #f472b6 56%, #fbcfe8 100%);
}

:root[data-theme="light"] .competition-home-tile:nth-child(6n + 5) {
  background:
    linear-gradient(135deg, #c4b5fd 0%, #a78bfa 56%, #e9d5ff 100%);
}

:root[data-theme="light"] .competition-home-tile:nth-child(6n) {
  background:
    linear-gradient(135deg, #fcd34d 0%, #fbbf24 56%, #fde68a 100%);
}

.competition-home-grid-alt .competition-home-tile:nth-child(3n + 1) {
  background:
    linear-gradient(135deg, rgba(244, 114, 182, 0.95) 0%, rgba(219, 39, 119, 0.88) 56%, rgba(131, 24, 67, 0.78) 100%);
}

.competition-home-grid-alt .competition-home-tile:nth-child(3n + 2) {
  background:
    linear-gradient(135deg, rgba(168, 85, 247, 0.95) 0%, rgba(124, 58, 237, 0.88) 56%, rgba(76, 29, 149, 0.8) 100%);
}

.competition-home-grid-alt .competition-home-tile:nth-child(3n) {
  background:
    linear-gradient(135deg, rgba(251, 191, 36, 0.95) 0%, rgba(245, 158, 11, 0.88) 56%, rgba(146, 64, 14, 0.8) 100%);
}

:root[data-theme="light"] .competition-home-grid-alt .competition-home-tile:nth-child(3n + 1) {
  background:
    linear-gradient(135deg, #f9a8d4 0%, #f472b6 56%, #fbcfe8 100%);
}

:root[data-theme="light"] .competition-home-grid-alt .competition-home-tile:nth-child(3n + 2) {
  background:
    linear-gradient(135deg, #c4b5fd 0%, #a78bfa 56%, #e9d5ff 100%);
}

:root[data-theme="light"] .competition-home-grid-alt .competition-home-tile:nth-child(3n) {
  background:
    linear-gradient(135deg, #fde68a 0%, #fbbf24 56%, #fef3c7 100%);
}

.competition-home-tile::after {
  content: "";
  position: absolute;
  inset: auto -10% -25% 35%;
  height: 7rem;
  background: rgba(255, 255, 255, 0.14);
  filter: blur(32px);
  pointer-events: none;
}

.competition-home-tile .eyebrow,
.competition-home-tile strong,
.competition-home-tile span,
.competition-home-tile-meta {
  position: relative;
  z-index: 1;
}

.competition-home-tile .eyebrow {
  color: rgba(255, 255, 255, 0.76);
}

:root[data-theme="light"] .competition-home-tile .eyebrow {
  color: rgba(31, 19, 13, 0.72);
}

.competition-home-tile strong {
  display: block;
  margin-top: auto;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.08;
  color: #fff7ed;
}

:root[data-theme="light"] .competition-home-tile strong {
  color: #1f130d;
  text-shadow: none;
}

.competition-home-tile span {
  color: rgba(255, 247, 237, 0.86);
  font-size: 0.98rem;
  line-height: 1.45;
}

:root[data-theme="light"] .competition-home-tile span {
  color: rgba(31, 19, 13, 0.88);
}

.competition-home-tile-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 0.9rem;
  margin-top: auto;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 247, 237, 0.92);
}

:root[data-theme="light"] .competition-home-tile-meta {
  border-top-color: rgba(31, 19, 13, 0.16);
  color: rgba(31, 19, 13, 0.78);
}

.competition-subpage-toolbar {
  margin-bottom: 1.25rem;
}

.settings-action-tile {
  justify-content: space-between;
}

.settings-theme-switch {
  margin-top: auto;
}

.settings-logout-form {
  margin-top: auto;
}

.schema-marathon-laps {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.schema-marathon-laps-list {
  display: grid;
  gap: 0.75rem;
}

.schema-marathon-lap-field {
  display: grid;
  gap: 0.35rem;
}

.competition-tile {
  position: relative;
  display: grid;
  gap: 0;
  min-height: 18rem;
  overflow: hidden;
  border-radius: 1.4rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(16, 14, 12, 0.96);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.24);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

:root[data-theme="light"] .competition-tile {
  background: rgba(255, 252, 247, 0.96);
  border-color: rgba(120, 113, 108, 0.18);
  box-shadow: 0 18px 36px rgba(120, 113, 108, 0.14);
}

.competition-tile-hitarea {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

.competition-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(253, 186, 116, 0.45);
  box-shadow: 0 24px 44px rgba(0, 0, 0, 0.3);
}

.competition-tile:nth-child(3n + 1) .competition-tile-hero {
  background:
    linear-gradient(135deg, rgba(249, 115, 22, 0.95) 0%, rgba(234, 88, 12, 0.88) 52%, rgba(120, 53, 15, 0.72) 100%);
}

.competition-tile:nth-child(3n + 2) .competition-tile-hero {
  background:
    linear-gradient(135deg, rgba(14, 165, 233, 0.94) 0%, rgba(37, 99, 235, 0.9) 55%, rgba(30, 41, 59, 0.78) 100%);
}

.competition-tile:nth-child(3n) .competition-tile-hero {
  background:
    linear-gradient(135deg, rgba(34, 197, 94, 0.94) 0%, rgba(5, 150, 105, 0.88) 55%, rgba(20, 83, 45, 0.78) 100%);
}

:root[data-theme="light"] .competition-tile:nth-child(3n + 1) .competition-tile-hero {
  background:
    linear-gradient(135deg, #fdba74 0%, #fb923c 56%, #fed7aa 100%);
}

:root[data-theme="light"] .competition-tile:nth-child(3n + 2) .competition-tile-hero {
  background:
    linear-gradient(135deg, #7dd3fc 0%, #60a5fa 56%, #bfdbfe 100%);
}

:root[data-theme="light"] .competition-tile:nth-child(3n) .competition-tile-hero {
  background:
    linear-gradient(135deg, #86efac 0%, #4ade80 56%, #bbf7d0 100%);
}

.competition-tile-hero {
  display: grid;
  gap: 1.35rem;
  padding: 1.15rem 1.15rem 1.3rem;
  min-height: 12.75rem;
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.competition-tile-hero::after {
  content: "";
  position: absolute;
  inset: auto -10% -28% 35%;
  height: 8rem;
  background: rgba(255, 255, 255, 0.12);
  filter: blur(36px);
  pointer-events: none;
}

.competition-tile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: relative;
  z-index: 3;
}

.competition-tile-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 0.42rem 0.72rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.24);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

:root[data-theme="light"] .competition-tile-badge {
  background: rgba(255, 255, 255, 0.42);
  border-color: rgba(28, 25, 23, 0.14);
  color: rgba(28, 25, 23, 0.74);
}

.competition-tile-body {
  display: grid;
  gap: 1rem;
  align-content: space-between;
  flex: 1;
  min-height: 0;
  position: relative;
  z-index: 2;
  pointer-events: none;
}

.competition-tile-link {
  color: #fff7ed;
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  font-weight: 750;
  line-height: 1.08;
  text-decoration: none;
  text-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

:root[data-theme="light"] .competition-tile-link {
  color: #1f130d;
  text-shadow: none;
}

.competition-tile-link:hover {
  color: #ffffff;
}

:root[data-theme="light"] .competition-tile-link:hover {
  color: #1f130d;
}

.competition-tile-toggle {
  gap: 0.75rem;
  width: fit-content;
  padding: 0.55rem 0.8rem;
  border-radius: 1rem;
  background: rgba(15, 23, 42, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.18);
  position: relative;
  z-index: 3;
  pointer-events: auto;
}

:root[data-theme="light"] .competition-tile-toggle {
  background: rgba(255, 255, 255, 0.42);
  border-color: rgba(28, 25, 23, 0.14);
}

.competition-toggle-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.82);
}

:root[data-theme="light"] .competition-toggle-label {
  color: rgba(28, 25, 23, 0.74);
}

.competition-tile-meta {
  position: relative;
  z-index: 2;
  pointer-events: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: linear-gradient(180deg, rgba(24, 21, 18, 0.98) 0%, rgba(15, 13, 11, 1) 100%);
}

.competition-tile-head .pin-inline-button,
.competition-tile-body form,
.competition-tile-body form *,
.competition-tile-toggle,
.competition-tile-toggle *,
.competition-tile .theme-switch-control,
.competition-tile .theme-switch-control * {
  pointer-events: auto;
}

:root[data-theme="light"] .competition-tile-meta {
  border-top-color: rgba(120, 113, 108, 0.14);
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.94) 0%, rgba(248, 243, 235, 0.98) 100%);
}

.competition-tile-stat {
  padding: 1rem 1.05rem 1.1rem;
  min-height: 5.5rem;
  display: grid;
  align-content: center;
  min-width: 0;
}

.competition-tile-stat + .competition-tile-stat {
  border-left: 1px solid rgba(255, 255, 255, 0.06);
}

:root[data-theme="light"] .competition-tile-stat + .competition-tile-stat {
  border-left-color: rgba(120, 113, 108, 0.14);
}

.competition-tile-stat span {
  display: block;
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

:root[data-theme="light"] .competition-tile-stat span {
  color: rgba(87, 83, 78, 0.78);
}

.competition-tile-stat strong {
  display: block;
  margin-top: 0.35rem;
  color: #fff7ed;
  font-size: 1.18rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

:root[data-theme="light"] .competition-tile-stat strong {
  color: #1c1917;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.72rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fed7aa;
  background: rgba(249, 115, 22, 0.14);
  border: 1px solid rgba(249, 115, 22, 0.22);
}

.pill-warning {
  color: #fef3c7;
  background: rgba(245, 158, 11, 0.16);
  border-color: rgba(245, 158, 11, 0.28);
}

.save-status {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0 0.85rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 650;
}

.save-status[data-state="saving"],
.save-status[data-state="dirty"] {
  color: var(--warning);
  border-color: rgba(245, 158, 11, 0.24);
  background: rgba(245, 158, 11, 0.08);
}

.save-status[data-state="saved"] {
  color: var(--success);
  border-color: rgba(34, 197, 94, 0.24);
  background: rgba(34, 197, 94, 0.08);
}

.save-status[data-state="error"] {
  color: var(--danger);
  border-color: rgba(239, 68, 68, 0.24);
  background: rgba(239, 68, 68, 0.08);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border-radius: 999px;
  padding: 0.82rem 1.25rem;
  font-weight: 600;
  transition: 180ms ease;
  border: 1px solid transparent;
  cursor: pointer;
}

.btn-primary {
  background: linear-gradient(135deg, #fb923c, #f97316);
  color: #111827;
}

.btn-primary:hover {
  transform: translateY(-1px);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text);
  border-color: var(--line-strong);
}

.btn-secondary:hover,
.btn-ghost:hover {
  border-color: rgba(249, 115, 22, 0.35);
}

.btn-ghost {
  background: transparent;
  color: var(--text);
  border-color: var(--line);
}

.btn-danger {
  background: rgba(239, 68, 68, 0.12);
  color: #fecaca;
  border-color: rgba(239, 68, 68, 0.2);
}

:root[data-theme="light"] .btn-danger {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.18);
}

.form-label {
  display: block;
  margin-bottom: 0.55rem;
  color: var(--text);
  font-size: 0.95rem;
  font-weight: 600;
}

.form-input,
.table-input {
  width: 100%;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  border: 1px solid var(--line-strong);
  background: rgba(15, 14, 12, 0.9);
  color: var(--text);
}

:root[data-theme="light"] .form-input,
:root[data-theme="light"] .table-input {
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  border-color: rgba(120, 113, 108, 0.22);
}

:root[data-theme="light"] .form-input::placeholder,
:root[data-theme="light"] .table-input::placeholder {
  color: rgba(87, 83, 78, 0.72);
}

.table-input {
  min-width: 5rem;
  padding: 0.65rem 0.8rem;
  font-size: 0.92rem;
}

.form-input:focus,
.table-input:focus {
  outline: none;
  border-color: rgba(249, 115, 22, 0.5);
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.14);
}

.form-error {
  margin-top: 0.45rem;
  color: #fca5a5;
  font-size: 0.88rem;
}

:root[data-theme="light"] .form-error {
  color: #b91c1c;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  min-height: 3.4rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
}

:root[data-theme="light"] .checkbox-row {
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(120, 113, 108, 0.2);
}

.filter-grid {
  display: grid;
  gap: 1rem;
}

.data-table,
.document-table,
.print-table {
  width: 100%;
  border-collapse: collapse;
}

.data-table thead th,
.document-table thead th,
.print-table thead th {
  text-align: left;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 0.9rem 0.85rem;
  border-bottom: 1px solid var(--line);
}

.data-table tbody td,
.document-table tbody td,
.print-table tbody td {
  padding: 0.9rem 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: var(--text);
  vertical-align: middle;
}

.standings-table {
  table-layout: fixed;
}

.standings-col-rank {
  width: 7rem;
}

.standings-col-bib {
  width: 8rem;
}

.standings-col-score,
.standings-col-total {
  width: 5rem;
}

.standings-col-name {
  width: auto;
}

.standings-table th:nth-child(1),
.standings-table td:nth-child(1),
.standings-table th:nth-child(2),
.standings-table td:nth-child(2),
.standings-table th:nth-child(n + 4),
.standings-table td:nth-child(n + 4) {
  text-align: center;
}

.standings-table th:nth-child(3),
.standings-table td:nth-child(3) {
  text-align: left;
}

:root[data-theme="light"] .data-table tbody td,
:root[data-theme="light"] .document-table tbody td {
  border-bottom-color: rgba(120, 113, 108, 0.14);
}

:root:not([data-theme="light"]) .schema-summary-card .data-table tbody td,
:root:not([data-theme="light"]) .schema-summary-card .data-table thead th {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}

:root[data-theme="light"] .schema-summary-card .data-table tbody td,
:root[data-theme="light"] .schema-summary-card .data-table thead th {
  border-bottom-color: rgba(120, 113, 108, 0.12);
}

.race-overview-table thead th {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.race-overview-table tbody td {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

.race-list-block {
  display: grid;
  gap: 0.9rem;
}

.race-list-block + .race-list-block {
  margin-top: 1.25rem;
}

.race-list-block-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.race-list-block-head > div {
  display: grid;
  gap: 0.15rem;
}

.race-list-table {
  table-layout: fixed;
}

.race-list-col-race {
  width: auto;
}

.race-list-col-toggle {
  width: 13rem;
}

.race-list-col-status {
  width: 8rem;
}

.race-list-col-count {
  width: 7rem;
}

.race-list-table th:nth-child(n + 2),
.race-list-table td:nth-child(n + 2) {
  text-align: center;
}

.race-list-table .row-toggle {
  justify-content: center;
}

.points-scale-form {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}

.points-scale-tile {
  gap: 0.7rem;
}

.points-scale-tile textarea {
  min-height: 7rem;
  resize: vertical;
}

.points-scale-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.event-tile-toggle {
  margin-top: auto;
}

.race-overview-type {
  display: inline-block;
  min-width: 6.5rem;
  white-space: nowrap;
}

.table-link {
  color: #fed7aa;
  font-weight: 600;
}

.table-link-row {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
}

.event-list-primary {
  display: grid;
  gap: 0.75rem;
}

.event-list-publication {
  display: inline-flex;
}

.pin-inline-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  padding: 0;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  cursor: pointer;
  transition: 180ms ease;
}

.pin-inline-button:hover,
.pin-inline-button[data-pin-active="true"] {
  color: #fdba74;
  border-color: rgba(249, 115, 22, 0.35);
  background: rgba(249, 115, 22, 0.12);
}

.column-menu {
  position: relative;
}

.column-menu-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.04);
  color: #fed7aa;
  cursor: pointer;
  list-style: none;
}

.column-menu-trigger::-webkit-details-marker {
  display: none;
}

.column-menu-panel {
  position: absolute;
  top: calc(100% + 0.8rem);
  left: 0;
  z-index: 20;
  width: min(22rem, 80vw);
  padding: 1rem;
  border: 1px solid var(--line-strong);
  border-radius: 1rem;
  background: rgba(18, 17, 14, 0.98);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
}

:root[data-theme="light"] .column-menu-trigger {
  background: rgba(255, 255, 255, 0.92);
  color: var(--accent-readable);
  border-color: rgba(120, 113, 108, 0.22);
}

:root[data-theme="light"] .column-menu-panel {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(120, 113, 108, 0.22);
  box-shadow: 0 18px 40px rgba(120, 113, 108, 0.16);
}

:root[data-theme="light"] .column-menu-title {
  color: var(--muted-soft);
}

:root[data-theme="light"] .column-menu-row label {
  color: var(--text) !important;
}

.column-menu-title {
  margin: 0 0 0.8rem;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--muted);
}

.column-menu-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 5rem;
  align-items: center;
  gap: 0.75rem;
}

.column-menu-row .form-input {
  padding: 0.55rem 0.75rem;
}

.participant-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.participant-toolbar-search {
  flex: 1 1 28rem;
}

.participant-toolbar-search-inline {
  flex: 0 0 auto;
}

.participant-toolbar-meta {
  display: flex;
  align-items: end;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.program-builder {
  display: grid;
  gap: 1rem;
}

.program-builder-note {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  flex-wrap: wrap;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.03);
}

.program-builder-note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.program-builder-rows {
  display: grid;
  gap: 0.9rem;
}

.program-builder-row {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1.1fr) minmax(0, 0.9fr) auto;
  gap: 0.9rem;
  align-items: end;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.03);
}

.program-builder-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.loan-bib-panel {
  margin-bottom: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.02);
}

.loan-bib-panel-summary {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem;
  cursor: pointer;
  list-style: none;
}

.loan-bib-panel-summary::-webkit-details-marker {
  display: none;
}

.loan-bib-panel-body {
  padding: 0 1rem 1rem;
}

.loan-bib-inline-form {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.loan-bib-upload-form {
  display: flex;
  align-items: center;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.loan-bib-inline-input {
  width: 10rem;
}

.loan-bib-scrollbox {
  max-height: 18rem;
}

.loan-bib-badge,
.loan-bib-mark {
  display: inline-flex;
  align-items: center;
  margin-left: 0.45rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7c2d12;
  background: #fdba74;
}

.loan-bib-row {
  background: rgba(251, 146, 60, 0.09);
}

.participant-scrollbox {
  max-height: 37rem;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  background: rgba(12, 11, 9, 0.32);
}

.participant-scrollbox .data-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: rgba(18, 17, 14, 0.98);
  backdrop-filter: blur(12px);
}

.signup-preview-table {
  table-layout: fixed;
}

.signup-preview-head {
  margin-bottom: 0.9rem;
  padding-bottom: 0.7rem;
}

.signup-preview-number {
  width: 7rem;
}

.signup-preview-transponder {
  width: 10rem;
}

.signup-preview-signature {
  width: 13rem;
}

.signup-preview-table tbody td:last-child {
  height: 3.2rem;
}

.signup-preview-table tbody tr {
  border-bottom: 1px solid rgba(148, 163, 184, 0.95);
}

.signup-preview-table tbody tr:first-child {
  border-top: 1px solid rgba(148, 163, 184, 0.95);
}

.signup-preview-table tbody td {
  border-bottom: 0 !important;
}

.empty-state,
.empty-cell {
  color: var(--muted);
  padding: 1rem 0;
}

.detail-grid {
  display: grid;
  gap: 1.15rem;
}

.detail-grid dt {
  color: var(--muted-soft);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.35rem;
}

.detail-grid dd {
  margin: 0;
  color: var(--text);
  line-height: 1.6;
}

.race-profile-card {
  display: grid;
  gap: 1rem;
  padding-block: 1.2rem;
}

.race-profile-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.race-profile-head .section-title {
  font-size: 1.15rem;
}

.race-profile-grid {
  display: grid;
  gap: 0.85rem 1rem;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.race-profile-item {
  min-width: 0;
}

.race-profile-item dt {
  color: var(--muted-soft);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 0.28rem;
}

.race-profile-item dd {
  margin: 0;
  color: var(--text);
  line-height: 1.45;
  word-break: break-word;
}

.race-profile-item-wide {
  grid-column: 1 / -1;
  padding-top: 0.15rem;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.flash {
  padding: 1rem 1.15rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
}

.flash-success {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.18);
  color: #bbf7d0;
}

.flash-error {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.18);
  color: #fecaca;
}

.flash-warning {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.18);
  color: #fde68a;
}

:root[data-theme="light"] .flash-success {
  color: #166534;
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.22);
}

:root[data-theme="light"] .flash-error {
  color: #b91c1c;
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.2);
}

:root[data-theme="light"] .flash-warning {
  color: #92400e;
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.2);
}

.confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background: rgba(12, 11, 9, 0.72);
  backdrop-filter: blur(10px);
}

.confirm-dialog {
  width: min(100%, 28rem);
  display: grid;
  gap: 1rem;
  padding: 1.35rem;
  border: 1px solid var(--line);
  border-radius: 1.4rem;
  background: var(--panel-strong);
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28);
}

.confirm-dialog-message {
  color: var(--muted);
  line-height: 1.6;
}

.confirm-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.8rem;
  flex-wrap: wrap;
}

:root[data-theme="light"] .confirm-overlay {
  background: rgba(28, 25, 23, 0.28);
}

.theme-note-card,
.theme-review-card {
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.04);
}

.theme-note-card {
  padding: 1rem 1.1rem;
}

.theme-review-card {
  padding: 1.5rem;
}

:root[data-theme="light"] .theme-note-card,
:root[data-theme="light"] .theme-review-card {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(120, 113, 108, 0.18);
}

.document-shell {
  display: grid;
  gap: 1.25rem;
  width: 100%;
  min-width: 0;
}

.document-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}

.document-head h2 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text);
}

.program-sheet,
.program-print-page {
  max-width: 960px;
  margin: 0 auto;
  background: #fff;
  color: #111827;
}

.program-sheet {
  padding: 2.2rem;
}

.program-print-page {
  padding: 10mm;
}

.program-sheet-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #f97316;
}

.program-sheet-header h1,
.program-sheet-header h2,
.program-sheet-header p,
.program-sheet-header .brand-kicker,
.program-sheet-header .brand-title {
  color: #111827;
}

.program-sheet-kicker {
  margin: 0 0 0.4rem;
  font-size: 0.88rem;
  color: #78716c;
}

.program-sheet-brand {
  display: grid;
  justify-items: end;
  gap: 0.2rem;
}

.program-block {
  margin-top: 1.4rem;
}

.program-block-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.55rem;
}

.program-block-head h2,
.program-block-head h3,
.program-block-head span {
  margin: 0;
  color: #111827;
}

.program-table th,
.program-table td {
  color: #111827 !important;
}

.program-table thead th {
  border-bottom: 1px solid #cbd5e1 !important;
}

.program-table tbody td {
  border-bottom: 1px solid #e2e8f0 !important;
}

.program-col-number {
  width: 5rem;
}

.program-col-distance,
.program-col-type,
.program-col-count {
  width: 10rem;
}

.mini-link {
  color: #fdba74;
  font-size: 0.95rem;
}

.theme-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0.95rem;
  border-radius: 1rem;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.02);
}

.theme-switch-public {
  min-width: 0;
  padding: 0.48rem 0.55rem;
  gap: 0.48rem;
  border-radius: 999px;
}

.section-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
}

.section-toggle-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text);
}

.row-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  white-space: nowrap;
}

.is-hidden {
  display: none !important;
}

.theme-switch-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--text);
}

.theme-icon {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1;
  transition: color 160ms ease, transform 160ms ease;
}

:root:not([data-theme="light"]) .theme-icon-moon,
:root[data-theme="light"] .theme-icon-sun {
  color: var(--text);
  transform: scale(1.08);
}

.theme-switch-control {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.theme-switch-control input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.theme-switch-track {
  width: 3.2rem;
  height: 1.9rem;
  display: inline-flex;
  align-items: center;
  padding: 0.18rem;
  border-radius: 999px;
  background: rgba(120, 113, 108, 0.35);
  border: 1px solid var(--line-strong);
  transition: background 160ms ease, border-color 160ms ease;
}

.theme-switch-thumb {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: #fff7ed;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transform: translateX(0);
  transition: transform 160ms ease, background 160ms ease;
}

.theme-switch-control input:checked + .theme-switch-track {
  background: rgba(249, 115, 22, 0.28);
}

.theme-switch-control input:checked + .theme-switch-track .theme-switch-thumb {
  transform: translateX(1.28rem);
  background: #ffffff;
}

.publication-pill-live {
  background: rgba(22, 163, 74, 0.18);
  color: #bbf7d0;
  border-color: rgba(34, 197, 94, 0.32);
}

.race-status-completed {
  background: rgba(22, 163, 74, 0.18);
  color: #bbf7d0;
  border-color: rgba(34, 197, 94, 0.32);
}

.publication-pill-offline {
  background: rgba(71, 85, 105, 0.24);
  color: #d6d3d1;
  border-color: rgba(120, 113, 108, 0.3);
}

.public-competition-list {
  display: grid;
  gap: 1.25rem;
}

.public-link-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
  justify-content: center;
}

.public-shell {
  display: grid;
  gap: 1.5rem;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  min-width: 0;
}

.public-home-grid {
  padding-top: 0.25rem;
}

.public-hero {
  display: grid;
  gap: 1.4rem;
  padding: 1.75rem 1.9rem;
  border-radius: 1.8rem;
  background:
    radial-gradient(circle at top right, rgba(249, 115, 22, 0.12), transparent 22rem),
    linear-gradient(180deg, rgba(28, 25, 23, 0.9), rgba(17, 24, 39, 0.72));
}

:root[data-theme="light"] .public-hero {
  background:
    radial-gradient(circle at top right, rgba(249, 115, 22, 0.12), transparent 18rem),
    linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(255, 255, 255, 0.95));
}

.public-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 1.5rem;
  align-items: stretch;
}

.public-hero-copy {
  display: grid;
  align-content: start;
  gap: 0.55rem;
  min-width: 0;
}

.public-hero-copy .page-description {
  margin-top: 0;
  max-width: 42rem;
}

.public-hero-metrics {
  display: grid;
  align-content: stretch;
}

.public-hero-metric {
  display: grid;
  align-content: end;
  gap: 0.45rem;
  min-height: 100%;
  padding: 1.2rem 1.25rem;
  border: 1px solid rgba(251, 191, 36, 0.12);
  border-radius: 1.35rem;
  background: rgba(12, 10, 9, 0.38);
}

:root[data-theme="light"] .public-hero-metric {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(120, 113, 108, 0.14);
}

.public-hero-metric-label {
  color: var(--muted-soft);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.74rem;
}

.public-hero-metric-value {
  font-size: clamp(2.3rem, 4vw, 3.6rem);
  line-height: 1;
  font-weight: 700;
  color: var(--text);
}

.public-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 3rem;
  padding: 0.75rem 1.35rem;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font-size: 0.98rem;
  font-weight: 600;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.public-back-link:hover {
  transform: translateY(-1px);
  border-color: rgba(249, 115, 22, 0.28);
  background: rgba(249, 115, 22, 0.1);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.12);
}

.public-page-back-link {
  margin-bottom: 0.35rem;
}

:root[data-theme="light"] .public-back-link {
  background: rgba(255, 255, 255, 0.78);
  border-color: rgba(120, 113, 108, 0.24);
}

:root[data-theme="light"] .public-back-link:hover {
  background: rgba(234, 88, 12, 0.08);
  border-color: rgba(234, 88, 12, 0.22);
}

.public-meta-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.2rem;
}

.public-meta-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0.8rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  font-size: 0.88rem;
}

.public-section-block {
  display: grid;
  gap: 1rem;
}

.public-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.public-card-grid,
.public-list-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}

.public-card {
  display: grid;
  align-content: space-between;
  gap: 1.35rem;
  min-height: 14rem;
  padding: 1.5rem;
  border-radius: 1.6rem;
  color: inherit;
  position: relative;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.public-card > .public-card-top {
  justify-content: center;
  text-align: center;
}

.public-card > .public-card-top .publication-pill {
  position: absolute;
  top: auto;
  right: 1.25rem;
  bottom: 3.45rem;
}

@media (min-width: 900px) {
  .public-card > .public-card-top .publication-pill {
    bottom: 4.05rem;
  }
}

.public-theme-blue {
  --public-theme-1: #2563eb;
  --public-theme-2: #38bdf8;
  --public-theme-3: #1d4ed8;
  --public-theme-4: #60a5fa;
  --public-theme-5: #93c5fd;
  --public-theme-contrast: #f8fbff;
  --public-theme-border: rgba(96, 165, 250, 0.38);
  --public-theme-shadow: rgba(37, 99, 235, 0.28);
}

.public-theme-red {
  --public-theme-1: #dc2626;
  --public-theme-2: #fb7185;
  --public-theme-3: #b91c1c;
  --public-theme-4: #f97316;
  --public-theme-5: #fecaca;
  --public-theme-contrast: #fff7ed;
  --public-theme-border: rgba(248, 113, 113, 0.42);
  --public-theme-shadow: rgba(220, 38, 38, 0.28);
}

.public-theme-green {
  --public-theme-1: #16a34a;
  --public-theme-2: #4ade80;
  --public-theme-3: #15803d;
  --public-theme-4: #2dd4bf;
  --public-theme-5: #bbf7d0;
  --public-theme-contrast: #f0fdf4;
  --public-theme-border: rgba(74, 222, 128, 0.36);
  --public-theme-shadow: rgba(22, 163, 74, 0.24);
}

.public-theme-purple {
  --public-theme-1: #7c3aed;
  --public-theme-2: #a78bfa;
  --public-theme-3: #6d28d9;
  --public-theme-4: #c084fc;
  --public-theme-5: #ddd6fe;
  --public-theme-contrast: #faf5ff;
  --public-theme-border: rgba(167, 139, 250, 0.38);
  --public-theme-shadow: rgba(124, 58, 237, 0.26);
}

.public-theme-amber {
  --public-theme-1: #d97706;
  --public-theme-2: #fbbf24;
  --public-theme-3: #b45309;
  --public-theme-4: #fb923c;
  --public-theme-5: #fde68a;
  --public-theme-contrast: #1c1917;
  --public-theme-border: rgba(251, 191, 36, 0.36);
  --public-theme-shadow: rgba(217, 119, 6, 0.24);
}

.public-card[class*="public-theme-"] {
  --public-card-a: var(--public-theme-1);
  --public-card-b: var(--public-theme-2);
  --public-card-c: var(--public-theme-3);
  border-color: var(--public-theme-border);
  background:
    radial-gradient(circle at 86% 14%, rgba(255, 255, 255, 0.48), transparent 8.5rem),
    linear-gradient(115deg, transparent 0 36%, rgba(255, 255, 255, 0.16) 45%, transparent 58%),
    linear-gradient(135deg, var(--public-card-a), var(--public-card-b) 58%, var(--public-card-c));
  box-shadow: 0 24px 52px var(--public-theme-shadow);
  color: var(--public-theme-contrast);
}

.public-card-tone-1 {
  --public-card-a: var(--public-theme-1);
  --public-card-b: var(--public-theme-2);
  --public-card-c: var(--public-theme-3);
}

.public-card-tone-2 {
  --public-card-a: var(--public-theme-3);
  --public-card-b: var(--public-theme-4);
  --public-card-c: var(--public-theme-1);
}

.public-card-tone-3 {
  --public-card-a: var(--public-theme-2);
  --public-card-b: var(--public-theme-5);
  --public-card-c: var(--public-theme-1);
}

.public-card-tone-4 {
  --public-card-a: var(--public-theme-4);
  --public-card-b: var(--public-theme-2);
  --public-card-c: var(--public-theme-3);
}

.public-card[class*="public-theme-"] .public-card-title,
.public-card[class*="public-theme-"] .public-card-kicker,
.public-card[class*="public-theme-"] .public-card-label,
.public-card[class*="public-theme-"] .public-card-meta,
.public-card[class*="public-theme-"] .public-card-arrow {
  color: inherit;
}

.public-card[class*="public-theme-"] .public-card-bottom {
  border-color: rgba(255, 255, 255, 0.24);
}

.public-card[class*="public-theme-"] .publication-pill {
  color: inherit;
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.28);
}

.public-card:hover,
.public-list-card-link:hover,
.public-quick-card:hover {
  transform: translateY(-4px);
  border-color: var(--line-strong);
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.16);
}

.public-card-top,
.public-card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.public-card-body {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.public-card-kicker {
  margin: 0;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.24em;
  font-size: 0.72rem;
}

.public-card-competition .public-card-kicker {
  font-size: clamp(1.05rem, 1.8vw, 1.35rem);
  font-weight: 800;
  letter-spacing: 0.12em;
}

.public-card-title {
  margin: 0;
  font-size: clamp(1.75rem, 2.5vw, 2.35rem);
  line-height: 1.08;
  font-weight: 800;
  text-align: center;
  color: var(--text);
  overflow-wrap: anywhere;
}

.public-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  color: var(--muted);
  font-size: 0.95rem;
}

.public-card-bottom {
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.public-card-label {
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.78rem;
}

.public-card-arrow {
  color: #ea580c;
  font-size: 1.1rem;
  line-height: 1;
}

.public-quick-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 48rem);
  max-width: 48rem;
  justify-self: center;
  margin-inline: auto;
}

.public-overview-title {
  width: min(100%, 48rem);
  max-width: 48rem;
  margin: 0 auto 1rem;
  text-align: center;
}

.public-overview-title h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(2.1rem, 5vw, 3.25rem);
  line-height: 1;
  font-weight: 850;
}

.public-quick-card {
  display: grid;
  align-content: space-between;
  gap: 1rem;
  padding: 1.4rem;
  border-radius: 1.5rem;
  min-height: 12rem;
  color: inherit;
  position: relative;
  overflow: hidden;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.public-quick-card:nth-child(4n + 1) {
  border-color: rgba(236, 72, 153, 0.22);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.38), transparent 9rem),
    linear-gradient(135deg, rgba(236, 72, 153, 0.74), rgba(244, 114, 182, 0.36) 58%, rgba(255, 255, 255, 0.08)),
    var(--panel);
}

.public-quick-card:nth-child(4n + 2) {
  border-color: rgba(139, 92, 246, 0.22);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.36), transparent 9rem),
    linear-gradient(135deg, rgba(139, 92, 246, 0.74), rgba(167, 139, 250, 0.38) 58%, rgba(255, 255, 255, 0.08)),
    var(--panel);
}

.public-quick-card:nth-child(4n + 3) {
  border-color: rgba(234, 179, 8, 0.24);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.42), transparent 9rem),
    linear-gradient(135deg, rgba(250, 204, 21, 0.78), rgba(253, 224, 71, 0.42) 58%, rgba(255, 255, 255, 0.1)),
    var(--panel);
}

.public-quick-card:nth-child(4n) {
  border-color: rgba(34, 197, 94, 0.22);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.34), transparent 9rem),
    linear-gradient(135deg, rgba(34, 197, 94, 0.72), rgba(74, 222, 128, 0.38) 58%, rgba(255, 255, 255, 0.08)),
    var(--panel);
}

.public-quick-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 34%, rgba(255, 255, 255, 0.18) 44%, transparent 56%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), transparent 42%);
  opacity: 0.55;
}

.public-quick-grid[class*="public-theme-"] .public-quick-card {
  --public-quick-a: var(--public-theme-1);
  --public-quick-b: var(--public-theme-2);
  --public-quick-c: var(--public-theme-3);
  border-color: var(--public-theme-border);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.52), transparent 9rem),
    linear-gradient(115deg, transparent 0 34%, rgba(255, 255, 255, 0.16) 44%, transparent 58%),
    linear-gradient(135deg, var(--public-quick-a), var(--public-quick-b) 62%, var(--public-quick-c)),
    var(--panel);
  box-shadow: 0 24px 50px var(--public-theme-shadow);
  color: var(--public-theme-contrast);
}

.public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 1) {
  --public-quick-a: var(--public-theme-1);
  --public-quick-b: var(--public-theme-2);
  --public-quick-c: var(--public-theme-3);
}

.public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 2) {
  --public-quick-a: var(--public-theme-3);
  --public-quick-b: var(--public-theme-4);
  --public-quick-c: var(--public-theme-1);
}

.public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 3) {
  --public-quick-a: var(--public-theme-2);
  --public-quick-b: var(--public-theme-5);
  --public-quick-c: var(--public-theme-1);
}

.public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n) {
  --public-quick-a: var(--public-theme-4);
  --public-quick-b: var(--public-theme-2);
  --public-quick-c: var(--public-theme-3);
}

:root[data-theme="light"] .public-quick-card:nth-child(4n + 1) {
  border-color: rgba(219, 39, 119, 0.22);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.52), transparent 9rem),
    linear-gradient(135deg, #ea5daa, #f3a2cf 62%),
    var(--panel);
}

:root[data-theme="light"] .public-quick-card:nth-child(4n + 2) {
  border-color: rgba(124, 58, 237, 0.22);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.52), transparent 9rem),
    linear-gradient(135deg, #9273f0, #bfacf9 62%),
    var(--panel);
}

:root[data-theme="light"] .public-quick-card:nth-child(4n + 3) {
  border-color: rgba(234, 179, 8, 0.24);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.56), transparent 9rem),
    linear-gradient(135deg, #fbbf24, #fde68a 62%),
    var(--panel);
}

:root[data-theme="light"] .public-quick-card:nth-child(4n) {
  border-color: rgba(22, 163, 74, 0.2);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.5), transparent 9rem),
    linear-gradient(135deg, #3bd57b, #a7f3d0 62%),
    var(--panel);
}

.public-quick-card:nth-child(4n + 1),
.public-quick-card:nth-child(4n + 2),
.public-quick-card:nth-child(4n + 3),
.public-quick-card:nth-child(4n) {
  color: #1c1917;
}

:root[data-theme="light"] .public-quick-grid[class*="public-theme-"] .public-quick-card,
.public-quick-grid[class*="public-theme-"] .public-quick-card {
  border-color: var(--public-theme-border);
  background:
    radial-gradient(circle at 86% 16%, rgba(255, 255, 255, 0.52), transparent 9rem),
    linear-gradient(115deg, transparent 0 34%, rgba(255, 255, 255, 0.16) 44%, transparent 58%),
    linear-gradient(135deg, var(--public-quick-a), var(--public-quick-b) 62%, var(--public-quick-c)),
    var(--panel);
  box-shadow: 0 24px 50px var(--public-theme-shadow);
  color: var(--public-theme-contrast);
}

:root[data-theme="light"] .public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 1),
.public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 1) {
  --public-quick-a: var(--public-theme-1);
  --public-quick-b: var(--public-theme-2);
  --public-quick-c: var(--public-theme-3);
}

:root[data-theme="light"] .public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 2),
.public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 2) {
  --public-quick-a: var(--public-theme-3);
  --public-quick-b: var(--public-theme-4);
  --public-quick-c: var(--public-theme-1);
}

:root[data-theme="light"] .public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 3),
.public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n + 3) {
  --public-quick-a: var(--public-theme-2);
  --public-quick-b: var(--public-theme-5);
  --public-quick-c: var(--public-theme-1);
}

:root[data-theme="light"] .public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n),
.public-quick-grid[class*="public-theme-"] .public-quick-card:nth-child(4n) {
  --public-quick-a: var(--public-theme-4);
  --public-quick-b: var(--public-theme-2);
  --public-quick-c: var(--public-theme-3);
}

.public-quick-card .public-quick-card-title,
.public-quick-card .public-quick-card-value,
.public-quick-card .public-quick-card-label {
  position: relative;
  z-index: 1;
  color: inherit;
}

.public-quick-card-title {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  line-height: 1.1;
  font-weight: 800;
  text-align: center;
  color: var(--text);
}

.public-quick-card-meta {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  margin-top: auto;
}

.public-quick-card-meta-center {
  justify-content: center;
  text-align: center;
}

.public-quick-card-value {
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
  color: var(--text);
}

.public-quick-card-label {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.74rem;
}

.public-panel {
  display: grid;
  gap: 1rem;
  padding: 1.45rem;
}

.public-shell[class*="public-theme-"] .public-panel,
.public-shell[class*="public-theme-"] .public-table-card {
  border-color: color-mix(in srgb, var(--public-theme-1) 28%, var(--line));
  background:
    radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--public-theme-2) 22%, transparent), transparent 9rem),
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, 0.07) 48%, transparent 60%),
    linear-gradient(135deg, color-mix(in srgb, var(--public-theme-1) 11%, var(--panel)), color-mix(in srgb, var(--public-theme-2) 9%, var(--panel)) 62%, var(--panel));
  box-shadow: 0 22px 46px color-mix(in srgb, var(--public-theme-shadow) 54%, transparent);
}

:root[data-theme="light"] .public-shell[class*="public-theme-"] .public-panel,
:root[data-theme="light"] .public-shell[class*="public-theme-"] .public-table-card {
  border-color: color-mix(in srgb, var(--public-theme-1) 18%, var(--line));
  background:
    radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--public-theme-2) 24%, transparent), transparent 9rem),
    linear-gradient(115deg, transparent 0 38%, rgba(255, 255, 255, 0.24) 48%, transparent 60%),
    linear-gradient(135deg, color-mix(in srgb, var(--public-theme-1) 10%, #ffffff), color-mix(in srgb, var(--public-theme-2) 14%, #ffffff) 62%, rgba(255, 255, 255, 0.82));
}

.public-shell[class*="public-theme-"] .public-meta-pill,
.public-shell[class*="public-theme-"] .public-list-rank {
  border-color: color-mix(in srgb, var(--public-theme-1) 28%, transparent);
  background: color-mix(in srgb, var(--public-theme-1) 12%, transparent);
  color: var(--text);
}

.public-event-info-title {
  font-size: clamp(1.4rem, 2.2vw, 1.9rem);
}

.public-event-info-disclosure {
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.public-event-info-summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.45rem;
  cursor: pointer;
}

.public-event-info-summary::-webkit-details-marker {
  display: none;
}

.public-event-info-summary-copy {
  display: grid;
  gap: 0.45rem;
}

.public-event-info-summary-text {
  margin: 0;
  color: var(--muted);
}

.public-event-info-summary-icon,
.public-event-info-accordion-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--text);
  font-size: 1.2rem;
  line-height: 1;
  flex: 0 0 auto;
  transition: transform 160ms ease;
}

.public-event-info-disclosure[open] .public-event-info-summary-icon,
.public-event-info-accordion-item[open] .public-event-info-accordion-icon {
  transform: rotate(45deg);
}

.public-event-info-panel {
  display: grid;
  gap: 1.25rem;
  padding: 0 1.45rem 1.45rem;
}

.public-event-info-intro {
  margin: 0;
  max-width: 58rem;
}

.public-event-info-sections {
  display: grid;
  gap: 1.25rem;
}

.public-event-info-section {
  display: grid;
  gap: 0.85rem;
}

.public-event-info-section + .public-event-info-section {
  padding-top: 1.15rem;
  border-top: 1px solid var(--line);
}

.public-event-info-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.public-event-info-card {
  min-height: 100%;
}

.public-event-info-table-wrap {
  overflow-x: auto;
}

.public-event-info-table {
  width: 100%;
  min-width: 36rem;
}

.public-event-info-table th,
.public-event-info-table td {
  text-align: left;
  vertical-align: top;
}

.public-event-info-table th:nth-child(2),
.public-event-info-table td:nth-child(2),
.public-event-info-table th:nth-child(3),
.public-event-info-table td:nth-child(3) {
  white-space: nowrap;
}

.public-event-info-list {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding-left: 1.15rem;
  color: var(--muted);
}

.public-event-info-list li {
  line-height: 1.55;
}

.public-event-info-accordion {
  display: grid;
  gap: 0.75rem;
}

.public-event-info-accordion-item {
  border: 1px solid var(--line);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
}

:root[data-theme="light"] .public-event-info-accordion-item {
  background: rgba(255, 255, 255, 0.72);
}

.public-event-info-accordion-summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  cursor: pointer;
  color: var(--text);
  font-weight: 700;
}

.public-event-info-accordion-summary::-webkit-details-marker {
  display: none;
}

.public-event-info-accordion-body {
  display: grid;
  gap: 0.8rem;
  padding: 0 1.1rem 1.1rem;
  color: var(--muted);
}

.public-event-info-accordion-body p {
  margin: 0;
  line-height: 1.6;
}

.public-list-card {
  display: grid;
  gap: 0.85rem;
  padding: 1.2rem 1.25rem;
  border: 1px solid var(--line);
  border-radius: 1.3rem;
  background: rgba(255, 255, 255, 0.02);
  color: inherit;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

:root[data-theme="light"] .public-list-card {
  background: rgba(255, 255, 255, 0.72);
}

.public-list-card-main,
.public-list-card-meta {
  display: grid;
  gap: 0.3rem;
}

.public-list-card-main strong {
  color: var(--text);
  font-size: 1.02rem;
  line-height: 1.35;
}

.public-list-card-main span,
.public-list-card-meta span {
  color: var(--muted);
  font-size: 0.93rem;
}

.public-results-list {
  display: grid;
  gap: 0;
}

.public-results-block + .public-results-block {
  margin-top: 2rem;
}

.public-results-block-head {
  margin-bottom: 0.85rem;
}

.public-results-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: relative;
  min-height: 7.25rem;
  padding: 1rem 0.25rem;
  border-bottom: 1px solid var(--line);
  color: inherit;
  transition: background 160ms ease;
}

.public-results-row:first-child {
  padding-top: 0.2rem;
}

.public-results-row:last-child {
  border-bottom: 0;
  padding-bottom: 0.2rem;
}

.public-results-row:hover {
  background: rgba(255, 255, 255, 0.03);
}

:root[data-theme="light"] .public-results-row:hover {
  background: rgba(120, 113, 108, 0.04);
}

.public-results-row-main,
.public-results-row-meta,
.public-results-row-action {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.public-results-row-main strong {
  color: var(--text);
  font-size: 1rem;
  line-height: 1.35;
}

.public-results-row-main {
  width: 100%;
  padding-right: 0;
  padding-bottom: 3.2rem;
}

.public-results-row-main span,
.public-results-row-meta span {
  color: var(--muted);
  font-size: 0.92rem;
}

.public-results-row-meta {
  justify-items: end;
  text-align: right;
  flex: 0 0 auto;
}

.public-results-row-action {
  position: absolute;
  right: 0.25rem;
  bottom: 1rem;
  align-self: stretch;
  align-content: end;
  justify-items: end;
  text-align: right;
  flex: 0 0 auto;
  min-width: 8.5rem;
  max-width: 9.75rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--line);
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.78rem;
  font-weight: 700;
}

.public-results-row-action span:last-child {
  color: #ea580c;
  font-size: 1rem;
  line-height: 1;
}

.public-combined-group-list {
  display: grid;
  gap: 1.5rem;
}

.public-combined-group {
  display: grid;
  gap: 1rem;
}

.public-combined-group + .public-combined-group {
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}

.public-combined-race {
  display: grid;
  gap: 0.65rem;
}

.public-combined-race + .public-combined-race {
  margin-top: 0.4rem;
}

.public-subsection-title {
  margin: 0;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 700;
}

.public-loading-cover {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 2rem;
  background:
    radial-gradient(circle at 18% 18%, rgba(251, 146, 60, 0.12), transparent 16rem),
    radial-gradient(circle at 78% 22%, rgba(59, 130, 246, 0.12), transparent 18rem),
    var(--bg);
  opacity: 0;
  pointer-events: none;
  transition: opacity 140ms ease;
}

.public-loading-cover.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.public-loading-card {
  width: min(100%, 28rem);
  display: grid;
  gap: 0.8rem;
  padding: 1.35rem;
  border: 1px solid var(--line);
  border-radius: 1.4rem;
  background: var(--panel);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.18);
}

.public-loading-bar {
  height: 0.85rem;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(120, 113, 108, 0.16);
}

.public-loading-bar::before {
  content: "";
  display: block;
  width: 42%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), #fbbf24);
  animation: public-loading-slide 950ms ease-in-out infinite;
}

.public-loading-line {
  height: 0.65rem;
  border-radius: 999px;
  background: rgba(120, 113, 108, 0.16);
}

.public-loading-line:nth-child(2) {
  width: 78%;
}

.public-loading-line:nth-child(3) {
  width: 58%;
}

@keyframes public-loading-slide {
  0% {
    transform: translateX(-105%);
  }
  100% {
    transform: translateX(245%);
  }
}

.public-block-head,
.public-table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.public-block-head > div:first-child {
  margin-right: auto;
}

.public-block-head .public-meta-pill:first-of-type {
  margin-left: auto;
  margin-right: auto;
}

.public-table-card {
  padding: 1.4rem;
}

.public-table-wrap {
  border: 1px solid var(--line);
  border-radius: 1.2rem;
  overflow: auto;
}

.public-table-head {
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}

.public-table-head-meta {
  display: grid;
  gap: 0.2rem;
  justify-items: end;
  color: var(--muted);
  font-size: 0.9rem;
}

.public-standings-table {
  table-layout: fixed;
  font-size: 0.95rem;
}

.public-standings-table th,
.public-standings-table td {
  padding-left: 0.45rem;
  padding-right: 0.45rem;
}

.public-standings-col-rank {
  width: 2.2rem;
}

.public-standings-col-bib {
  width: 3.35rem;
}

.public-standings-col-score,
.public-standings-col-total {
  width: 3rem;
}

.public-standings-col-name {
  width: auto;
}

.public-standings-table th:nth-child(1),
.public-standings-table td:nth-child(1),
.public-standings-table th:nth-child(2),
.public-standings-table td:nth-child(2),
.public-standings-table th:nth-child(n + 4),
.public-standings-table td:nth-child(n + 4) {
  text-align: center;
}

.public-standings-table th:nth-child(3),
.public-standings-table td:nth-child(3) {
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 640px) {
  .public-standings-card {
    padding: 1rem;
  }

  .public-standings-table {
    font-size: 0.86rem;
  }

  .public-standings-table thead th {
    font-size: 0.62rem;
    letter-spacing: 0.04em;
  }

  .public-standings-table th,
  .public-standings-table td {
    padding: 0.62rem 0.28rem;
  }

  .public-standings-col-rank {
    width: 1.75rem;
  }

  .public-standings-col-bib {
    width: 2.75rem;
  }

  .public-standings-col-score,
  .public-standings-col-total {
    width: 2.28rem;
  }
}

.public-landing {
  display: grid;
  gap: 1.5rem;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  justify-self: stretch;
  min-width: 0;
}

.public-landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
  align-items: stretch;
  gap: 2rem;
  padding: 2rem 2.25rem;
  width: 100%;
  min-width: 0;
}

.public-landing-copy {
  display: grid;
  align-content: start;
  gap: 0.45rem;
}

.public-landing-copy .page-description {
  margin-top: 0;
  max-width: 38rem;
  font-size: 1rem;
}

.public-hero-stat {
  min-width: 10rem;
  min-height: 100%;
  padding: 1.35rem 1.45rem;
  border-radius: 1.4rem;
  border: 1px solid rgba(34, 197, 94, 0.18);
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.12), rgba(15, 23, 42, 0.06));
  display: grid;
  align-content: end;
  justify-items: start;
}

.public-hero-stat-caption {
  color: var(--muted-soft);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.74rem;
}

.public-hero-stat-value {
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  line-height: 1;
  font-weight: 700;
  color: var(--text);
  margin-top: 0.45rem;
}

.public-hero-stat-label {
  margin-top: 0.25rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.78rem;
}

.public-landing-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(320px, 400px));
  justify-content: center;
  width: 100%;
  min-width: 0;
}

.public-nav-card {
  display: block;
  padding: 1.45rem;
  border-radius: 1.35rem;
  text-decoration: none;
  color: inherit;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  min-width: 0;
  height: 100%;
}

.public-nav-card-landing {
  min-height: 12.5rem;
  display: grid;
  align-content: space-between;
  gap: 1.45rem;
}

.public-nav-card:hover {
  transform: translateY(-4px);
  border-color: var(--line-strong);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.12);
}

.public-nav-meta {
  margin-top: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.public-nav-meta-landing {
  margin-top: 0;
  align-items: baseline;
}

.public-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.public-card-title-row {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}

.public-nav-card .section-title,
.public-nav-card .page-description,
.public-card-label {
  overflow-wrap: anywhere;
}

.public-card-label {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.78rem;
}

.public-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}

.public-card-arrow {
  color: #ea580c;
  font-size: 1.15rem;
  line-height: 1;
}

.public-quick-grid[class*="public-theme-"] .public-card-label,
.public-quick-grid[class*="public-theme-"] .public-card-arrow {
  color: var(--public-theme-contrast);
}

.public-competition-card {
  padding: 1.2rem;
}

.public-competition-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.public-accordion {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1rem;
  background: rgba(28, 25, 23, 0.72);
  overflow: hidden;
}

.public-accordion + .public-accordion {
  margin-top: 0.9rem;
}

.public-accordion summary {
  list-style: none;
}

.public-accordion summary::-webkit-details-marker {
  display: none;
}

.public-accordion-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  cursor: pointer;
  font-weight: 600;
  color: #f5f5f4;
}

.public-accordion-summary::after {
  content: "+";
  margin-left: auto;
  color: #fdba74;
  font-size: 1.2rem;
  line-height: 1;
}

.public-accordion[open] > .public-accordion-summary::after {
  content: "−";
}

.public-accordion-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.65rem;
  border-radius: 999px;
  background: rgba(253, 186, 116, 0.14);
  color: #fdba74;
  font-size: 0.85rem;
  font-weight: 700;
}

.public-accordion-body {
  padding: 0 1.15rem 1.15rem;
}

.public-nested-list {
  display: grid;
  gap: 0.85rem;
}

.public-accordion-inner {
  background: rgba(17, 24, 39, 0.28);
}

.public-program-list,
.public-list {
  display: grid;
  gap: 0.7rem;
}

.public-program-row,
.public-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(12, 10, 9, 0.5);
}

.public-program-main,
.public-result-main {
  display: grid;
  gap: 0.2rem;
}

.public-program-main span,
.public-program-meta span,
.public-result-main span {
  color: #a8a29e;
  font-size: 0.95rem;
}

.public-program-meta {
  display: grid;
  justify-items: end;
  gap: 0.2rem;
  text-align: right;
}

.public-list-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  background: rgba(253, 186, 116, 0.14);
  color: #fdba74;
  font-weight: 700;
  flex: 0 0 auto;
}

.public-list-row > div {
  flex: 1 1 auto;
  min-width: 0;
}

.public-list-row strong,
.public-program-row strong {
  display: block;
  color: #fafaf9;
}

.public-result-row {
  align-items: flex-start;
}

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
}

.login-card {
  padding: 2.2rem;
}

.login-card {
  width: min(100%, 32rem);
  display: grid;
  gap: 2rem;
}

@media (max-width: 1100px) {
  .page-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: relative;
    height: auto;
  }

  .competition-home-grid,
  .competition-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .program-builder-row {
    grid-template-columns: 1fr;
  }

  .program-builder-row-actions {
    justify-content: flex-start;
  }

  .race-profile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .public-program-row,
  .public-list-row,
  .public-competition-head,
  .public-table-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .public-hero-grid {
    grid-template-columns: 1fr;
  }

  .public-program-meta {
    justify-items: start;
    text-align: left;
  }

  .public-table-head-meta {
    justify-items: start;
  }

  .public-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .main-content-public {
    padding-left: clamp(2rem, 4vw, 3.5rem);
    padding-right: clamp(2rem, 4vw, 3.5rem);
  }

  .public-nav-card-landing {
    min-height: 13rem;
  }

  .public-link-grid {
    grid-template-columns: repeat(auto-fit, minmax(300px, 360px));
  }
}

@media (min-width: 1320px) {
  .public-landing-grid {
    grid-template-columns: repeat(auto-fit, minmax(340px, 400px));
  }
}

@media (max-width: 720px) {
  .page-shell {
    min-height: 100dvh;
  }

  .page-shell-public .page-glow {
    display: none;
  }

  .main-content-public {
    transform: translateZ(0);
    backface-visibility: hidden;
  }

  .main-content {
    padding: 1.2rem;
  }

  .main-content-public {
    padding-left: 0.45rem;
    padding-right: 0.45rem;
  }

  .sidebar {
    padding: 1.2rem;
  }

  .surface,
  .document-card,
  .stat-card,
  .login-card {
    border-radius: 1.3rem;
  }

  .race-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .public-nav-card {
    padding: 1rem;
  }

  .public-landing-hero,
  .public-site-header {
    align-items: flex-start;
  }

  .public-landing-grid {
    grid-template-columns: 1fr;
  }

  .public-link-grid {
    grid-template-columns: 1fr;
  }

  .public-quick-grid {
    grid-template-columns: 1fr;
  }

  .public-hero {
    padding: 1.35rem;
  }

  .public-panel,
  .public-card,
  .public-quick-card,
  .public-table-card {
    padding: 0.9rem;
  }

  .public-section-block .public-panel {
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }

  .competition-tile-meta {
    grid-template-columns: 1fr;
  }

  .public-responsive-table {
    min-width: 0 !important;
    table-layout: fixed;
  }

  .public-responsive-table thead th,
  .public-responsive-table tbody td {
    padding: 0.55rem 0.45rem;
    font-size: 0.78rem;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .public-responsive-table thead th {
    font-size: 0.64rem;
    letter-spacing: 0.06em;
  }

  .public-result-table thead th,
  .public-result-table tbody td {
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }

  .public-result-table .public-result-cell-rank,
  .public-result-table .public-result-cell-series,
  .public-result-table .public-result-cell-series-pos,
  .public-result-table .public-result-cell-bib,
  .public-result-table .public-result-cell-time,
  .public-result-table .public-result-cell-status {
    font-size: 0.74rem;
  }

  .public-result-table .public-result-cell-name {
    font-size: 0.8rem;
    line-height: 1.18;
  }

  .public-table-wrap {
    overflow: hidden;
  }

  .program-preview-table:not(.public-responsive-table) {
    min-width: 42rem !important;
  }

  .program-preview-table.public-responsive-table {
    min-width: 0 !important;
    width: 100%;
  }

  .program-preview-table thead th,
  .program-preview-table tbody td {
    padding: 0.5rem 0.32rem;
    font-size: 0.74rem;
  }

  .program-preview-table thead th {
    font-size: 0.52rem;
    letter-spacing: 0.03em;
  }

  .program-head-full {
    display: none;
  }

  .program-head-short {
    display: inline;
  }

  .public-responsive-table.program-table-no-round .program-col-categorie {
    width: 43%;
  }

  .public-responsive-table.program-table-no-round .program-col-afstand {
    width: 16%;
  }

  .public-responsive-table.program-table-no-round .program-col-soort {
    width: 33%;
  }

  .public-responsive-table.program-table-has-round .program-col-rit {
    width: 7.5%;
  }

  .public-responsive-table.program-table-has-round .program-col-categorie {
    width: 35%;
  }

  .public-responsive-table.program-table-has-round .program-col-ronde {
    width: 11%;
  }

  .public-responsive-table.program-table-has-round .program-col-afstand {
    width: 11%;
  }

  .public-responsive-table.program-table-has-round .program-col-soort {
    width: 17%;
  }

  .public-responsive-table.program-table-has-round .program-col-plaatsing {
    width: 18.5%;
  }

  .public-responsive-table .program-category-part {
    display: block;
  }

  .public-responsive-table .program-category-separator {
    display: none;
  }

  .public-responsive-table th:not(:nth-child(2)),
  .public-responsive-table td:not(.program-category-cell) {
    overflow-wrap: normal;
    word-break: normal;
  }

  .public-startlist-col-start {
    width: 3.25rem;
  }

  .public-startlist-col-bib {
    width: 4.25rem;
  }

  .public-result-col-pos {
    width: 2.35rem;
  }

  .public-result-col-bib {
    width: 2.8rem;
  }

  .public-result-col-points,
  .public-result-col-time {
    width: 3.8rem;
  }

  .public-result-col-series {
    width: 3.8rem;
  }

  .public-result-col-series-pos {
    width: 2.9rem;
  }

  .public-result-col-status {
    width: 2.9rem;
  }
}

@media (max-width: 1280px) {
  .competition-tile-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .competition-tile-stat:nth-child(3) {
    grid-column: 1 / -1;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
  }

  :root[data-theme="light"] .competition-tile-stat:nth-child(3) {
    border-top-color: rgba(120, 113, 108, 0.14);
  }
}

@media (max-width: 560px) {
  .main-content-public {
    padding-left: 0.3rem;
    padding-right: 0.3rem;
  }

  .public-section-block .public-panel {
    padding-left: 0.55rem;
    padding-right: 0.55rem;
  }

  .program-preview-table thead th,
  .program-preview-table tbody td {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .public-landing-hero {
    grid-template-columns: 1fr;
    padding: 1.1rem;
  }

  .public-hero-grid {
    grid-template-columns: 1fr;
  }

  .theme-switch-public {
    min-width: 0;
    width: auto;
  }

  .competition-home-grid,
  .competition-tile-grid {
    grid-template-columns: 1fr;
  }

  .race-profile-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  body {
    background: #fff !important;
    color: #111827 !important;
  }

  .page-glow,
  .sidebar,
  .document-toolbar,
  .flash,
  .public-header {
    display: none !important;
  }

  .page-shell,
  .main-content,
  .document-shell {
    display: block !important;
    padding: 0 !important;
    gap: 0 !important;
    min-height: auto !important;
  }

  .document-card.signup-preview-page {
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 0 12mm !important;
    break-inside: avoid;
    page-break-after: always;
  }

  .document-card.signup-preview-page:last-of-type {
    page-break-after: auto;
  }

  .document-head {
    margin-bottom: 6mm !important;
    padding-bottom: 4mm !important;
    border-bottom: 2px solid #f97316 !important;
  }

  .program-sheet {
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-width: none !important;
  }

  .document-head h2,
  .document-head p,
  .document-table th,
  .document-table td {
    color: #111827 !important;
  }

  .document-table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  .signup-preview-head {
    margin-bottom: 5mm !important;
    padding-bottom: 4mm !important;
  }

  .signup-preview-table th {
    border-bottom: 1px solid #9ca3af !important;
  }

  .signup-preview-table tbody tr {
    border-bottom: 1px solid #9ca3af !important;
  }

  .signup-preview-table tbody tr:first-child {
    border-top: 1px solid #9ca3af !important;
  }

  .loan-bib-row {
    background: rgba(251, 146, 60, 0.12) !important;
  }

  .signup-preview-table td {
    border-bottom: 0 !important;
  }

  .program-sheet-header {
    padding-bottom: 4mm !important;
    margin-bottom: 5mm !important;
  }

  .program-block {
    break-inside: avoid;
  }

  .program-table {
    width: 100% !important;
    border-collapse: collapse !important;
  }
}
