:root {
    --color-brand-900: #001219;
    --color-brand-900-rgb: 0, 18, 25;
    --color-brand-700: #005F73;
    --color-brand-700-rgb: 0, 95, 115;
    --color-brand-600: #0A9396;
    --color-brand-600-rgb: 10, 147, 150;
    --color-accent-300: #94D2BD;
    --color-accent-300-rgb: 148, 210, 189;
    --color-accent-200: #E9D8A6;
    --color-accent-200-rgb: 233, 216, 166;
    --color-warning-500: #EE9B00;
    --color-warning-500-rgb: 238, 155, 0;
    --color-warning-600: #CA6702;
    --color-warning-600-rgb: 202, 103, 2;
    --color-danger-600: #AE2012;
    --color-danger-600-rgb: 174, 32, 18;
    --color-danger-700: #9B2226;
    --color-danger-700-rgb: 155, 34, 38;
    --color-neutral-0: #FFFFFF;
    --color-neutral-0-rgb: 255, 255, 255;
    --color-neutral-50: #F8FAFC;
    --color-neutral-50-rgb: 248, 250, 252;
    --color-neutral-100: #F1F5F9;
    --color-neutral-100-rgb: 241, 245, 249;
    --color-neutral-200: #E2E8F0;
    --color-neutral-200-rgb: 226, 232, 240;
    --color-neutral-300: #CBD5E1;
    --color-neutral-300-rgb: 203, 213, 225;
    --color-neutral-500: #64748B;
    --color-neutral-500-rgb: 100, 116, 139;
    --color-neutral-700: #334155;
    --color-neutral-700-rgb: 51, 65, 85;
    --color-neutral-900: #0F172A;
    --color-neutral-900-rgb: 15, 23, 42;
    --app-primary: var(--color-brand-700);
    --app-primary-dark: var(--color-brand-600);
    --app-accent: var(--color-accent-200);
    --app-page-bg: var(--color-brand-900);
    --app-surface: rgba(var(--color-neutral-900-rgb), 0.88);
    --app-surface-muted: rgba(var(--color-neutral-0-rgb), 0.05);
    --app-surface-alt: rgba(var(--color-neutral-0-rgb), 0.025);
    --app-border: rgba(var(--color-neutral-0-rgb), 0.13);
    --app-divider: rgba(var(--color-neutral-0-rgb), 0.11);
    --app-border-feature: rgba(var(--color-accent-200-rgb), 0.30);
    --app-text-primary: rgba(var(--color-neutral-0-rgb), 0.94);
    --app-text-secondary: rgba(var(--color-neutral-100-rgb), 0.82);
    --app-text-muted: rgba(var(--color-neutral-300-rgb), 0.72);
    --app-text-inverse: var(--color-neutral-0);
    --app-info: var(--color-accent-300);
    --app-info-soft: rgba(var(--color-brand-600-rgb), 0.22);
    --app-info-border: rgba(var(--color-brand-600-rgb), 0.34);
    --app-success: var(--color-brand-600);
    --app-success-strong: var(--color-brand-700);
    --app-success-soft: rgba(var(--color-brand-600-rgb), 0.18);
    --app-success-soft-contrast: rgba(var(--color-brand-600-rgb), 0.1);
    --app-success-border: rgba(var(--color-brand-600-rgb), 0.3);
    --app-success-border-strong: rgba(var(--color-brand-600-rgb), 0.42);
    --app-warning: var(--color-warning-600);
    --app-warning-soft: rgba(var(--color-warning-500-rgb), 0.18);
    --app-warning-border: rgba(var(--color-warning-500-rgb), 0.28);
    --app-danger: var(--color-danger-600);
    --app-danger-strong: var(--color-danger-700);
    --app-danger-soft: rgba(var(--color-danger-600-rgb), 0.16);
    --app-danger-border: rgba(var(--color-danger-600-rgb), 0.28);
    --app-accent-soft: rgba(var(--color-accent-200-rgb), 0.16);
    --app-accent-border: rgba(var(--color-accent-200-rgb), 0.32);
    --app-nav-text: rgba(var(--color-neutral-0-rgb), 0.96);
    --app-nav-text-muted: rgba(var(--color-neutral-100-rgb), 0.78);
    --app-nav-border: rgba(var(--color-neutral-0-rgb), 0.14);
    --app-nav-hover-bg: rgba(var(--color-neutral-0-rgb), 0.08);
    --app-nav-active-bg: rgba(var(--color-neutral-0-rgb), 0.14);
    --app-nav-active-border: rgba(var(--color-accent-200-rgb), 0.82);
    --app-nav-active-text: var(--color-neutral-0);
    --app-nav-toggle-bg: rgba(var(--color-neutral-0-rgb), 0.08);
    --app-nav-toggle-bg-strong: rgba(var(--color-neutral-0-rgb), 0.18);
    --app-sidebar-bg: linear-gradient(180deg, rgba(var(--color-brand-900-rgb), 1) 0%, rgba(var(--color-neutral-900-rgb), 1) 100%);
    --bs-body-bg: var(--app-page-bg);
    --bs-body-color: var(--app-text-primary);
    --bs-emphasis-color: var(--app-text-primary);
    --bs-border-color: var(--app-border);
    --bs-border-color-translucent: var(--app-divider);
    --bs-secondary-color: var(--app-text-secondary);
    --bs-tertiary-color: var(--app-text-muted);
    --bs-secondary-bg: rgba(var(--color-neutral-0-rgb), 0.05);
    --bs-tertiary-bg: rgba(var(--color-neutral-0-rgb), 0.03);
    --bs-primary: var(--color-brand-700);
    --bs-primary-rgb: var(--color-brand-700-rgb);
    --bs-secondary: var(--color-neutral-700);
    --bs-secondary-rgb: var(--color-neutral-700-rgb);
    --bs-success: var(--color-brand-600);
    --bs-success-rgb: var(--color-brand-600-rgb);
    --bs-info: var(--color-brand-600);
    --bs-info-rgb: var(--color-brand-600-rgb);
    --bs-warning: var(--color-warning-500);
    --bs-warning-rgb: var(--color-warning-500-rgb);
    --bs-danger: var(--color-danger-600);
    --bs-danger-rgb: var(--color-danger-600-rgb);
    --bs-light: rgba(var(--color-neutral-0-rgb), 0.05);
    --bs-light-rgb: var(--color-neutral-0-rgb);
    --bs-dark: var(--color-neutral-900);
    --bs-dark-rgb: var(--color-neutral-900-rgb);
    --bs-link-color: var(--color-accent-300);
    --bs-link-color-rgb: var(--color-accent-300-rgb);
    --bs-link-hover-color: var(--color-accent-200);
    --bs-link-hover-color-rgb: var(--color-accent-200-rgb);
    --bs-focus-ring-color: rgba(var(--color-brand-700-rgb), 0.24);
    --bs-form-valid-color: var(--app-success);
    --bs-form-valid-border-color: var(--app-success);
    --bs-form-invalid-color: var(--app-danger);
    --bs-form-invalid-border-color: var(--app-danger);
    --bs-primary-text-emphasis: var(--color-accent-200);
    --bs-primary-bg-subtle: rgba(var(--color-brand-600-rgb), 0.16);
    --bs-primary-border-subtle: rgba(var(--color-brand-600-rgb), 0.28);
    --bs-secondary-text-emphasis: var(--app-text-primary);
    --bs-secondary-bg-subtle: rgba(var(--color-neutral-0-rgb), 0.05);
    --bs-secondary-border-subtle: rgba(var(--color-neutral-0-rgb), 0.1);
    --bs-success-text-emphasis: var(--app-success-strong);
    --bs-success-bg-subtle: var(--app-success-soft);
    --bs-success-border-subtle: var(--app-success-border);
    --bs-info-text-emphasis: var(--app-info);
    --bs-info-bg-subtle: var(--app-info-soft);
    --bs-info-border-subtle: var(--app-info-border);
    --bs-warning-text-emphasis: var(--app-warning);
    --bs-warning-bg-subtle: var(--app-warning-soft);
    --bs-warning-border-subtle: var(--app-warning-border);
    --bs-danger-text-emphasis: var(--app-danger-strong);
    --bs-danger-bg-subtle: var(--app-danger-soft);
    --bs-danger-border-subtle: var(--app-danger-border);
    --bs-light-text-emphasis: var(--app-text-secondary);
    --bs-light-bg-subtle: rgba(var(--color-neutral-0-rgb), 0.04);
    --bs-light-border-subtle: rgba(var(--color-neutral-0-rgb), 0.1);
    --bs-dark-text-emphasis: var(--app-text-primary);
    --bs-dark-bg-subtle: rgba(var(--color-neutral-0-rgb), 0.08);
    --bs-dark-border-subtle: rgba(var(--color-neutral-0-rgb), 0.14);
    --app-radius-8: 0.5rem;
    --app-radius-12: 0.75rem;
    --bs-border-radius: var(--app-radius-8);
    --bs-border-radius-sm: var(--app-radius-8);
    --bs-border-radius-lg: var(--app-radius-12);
    --bs-border-radius-xl: var(--app-radius-12);
    --bs-border-radius-xxl: var(--app-radius-12);
    --bs-border-radius-2xl: var(--app-radius-12);
    --bs-border-radius-pill: 999px;
    --bs-box-shadow-sm: 0 0.5rem 1rem rgba(var(--color-brand-900-rgb), 0.24);
    --bs-box-shadow: 0 0.5rem 1rem rgba(var(--color-brand-900-rgb), 0.24);
    --bs-box-shadow-lg: 0 0.75rem 1.5rem rgba(var(--color-brand-900-rgb), 0.34);
    --bs-nav-pills-link-active-bg: var(--app-primary);
    --bs-nav-pills-link-active-color: var(--app-text-inverse);
    --bs-list-group-active-bg: var(--app-primary);
    --bs-list-group-active-border-color: var(--app-primary);
    --bs-list-group-active-color: var(--app-text-inverse);
    --app-radius-panel-sm: var(--app-radius-8);
    --app-radius-panel: var(--app-radius-12);
    --app-radius-control-sm: var(--app-radius-8);
    --app-radius-control: var(--app-radius-8);
    --app-shadow-level-1: var(--bs-box-shadow-sm);
    --app-shadow-level-2: var(--bs-box-shadow-lg);
    --app-shadow-panel: var(--app-shadow-level-1);
    --app-shadow-panel-feature: var(--app-shadow-level-2);
    --app-control-height-sm: 2.5rem;
    --app-control-height: 2.625rem;
    --app-control-height-lg: 2.75rem;
    --app-control-padding-x: var(--space-12);
    --app-control-border-width: 1px;
    --app-structure-border-width: 1.5px;
    --app-structure-divider-width: 1.5px;
    --app-control-border: var(--app-border);
    --app-control-hover-border: rgba(var(--color-neutral-0-rgb), 0.18);
    --app-control-active-border: rgba(var(--color-accent-300-rgb), 0.88);
    --app-control-disabled-bg: rgba(var(--color-neutral-0-rgb), 0.03);
    --app-control-disabled-border: rgba(var(--color-neutral-0-rgb), 0.08);
    --app-control-disabled-text: var(--app-text-muted);
    --app-focus-ring-width: 2px;
    --app-focus-ring-color: rgba(var(--color-brand-700-rgb), 0.36);
    --app-focus-ring-shadow: rgba(var(--color-brand-700-rgb), 0.16);
    --type-size-label: 0.75rem;
    --type-size-meta: 0.875rem;
    --type-size-supporting: 0.875rem;
    --type-size-ui: 0.9375rem;
    --type-size-body: 1rem;
    --type-size-title-sm: 1.125rem;
    --type-size-title-md: 1.5rem;
    --type-size-title-lg: 2rem;
    --type-size-metric: var(--type-size-title-lg);
    --type-weight-regular: 400;
    --type-weight-emphasis: 500;
    --type-weight-medium: 600;
    --type-weight-strong: 700;
    --type-line-height-label: 1.2;
    --type-line-height-meta: 1.45;
    --type-line-height-supporting: 1.45;
    --type-line-height-body: 1.5;
    --type-line-height-card: 1.3;
    --type-line-height-heading: 1.25;
    --type-line-height-display: 1.2;
    --type-letter-spacing-label: 0.08em;
    --space-4: 0.25rem;
    --space-8: 0.5rem;
    --space-12: 0.75rem;
    --space-16: 1rem;
    --space-24: 1.5rem;
    --space-32: 2rem;
    --space-40: 2.5rem;
    --space-48: 3rem;
    --layout-gutter-mobile: var(--space-16);
    --layout-gutter-desktop: var(--space-24);
    --layout-max-width: 75rem;
    --section-spacing: var(--space-24);
    --section-spacing-lg: var(--space-32);
    --card-padding: var(--space-24);
    --stat-card-padding: var(--space-16);
    --table-cell-padding-y: var(--space-12);
    --table-cell-padding-x: var(--space-16);
    --table-row-min-height: 2.75rem;
    --data-row-hover-bg: rgba(var(--color-accent-300-rgb), 0.05);
    --data-row-zebra-bg: rgba(var(--color-neutral-0-rgb), 0.05);
    --form-group-spacing: var(--space-16);
    --form-label-spacing: var(--space-8);
    --button-height: var(--app-control-height);
    --button-height-hero: var(--space-48);
    --mobile-touch-target-min: 2.75rem;
    --mobile-action-bar-z: 1030;
    --app-overlay-backdrop: rgba(var(--color-brand-900-rgb), 0.62);
    --app-overlay-width: 28rem;
}

html {
    font-size: 100%;
}

html,
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--app-page-bg);
    background-image: radial-gradient(circle at top right, rgba(var(--color-accent-200-rgb), 0.045), transparent 22rem);
    color: var(--app-text-primary);
}

body {
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
}

p,
.type-body {
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
}

h1,
.type-page-title {
    font-size: var(--type-size-title-lg);
    line-height: var(--type-line-height-display);
    font-weight: var(--type-weight-strong);
    letter-spacing: -0.03em;
}

h2,
.type-section-title {
    font-size: var(--type-size-title-md);
    line-height: var(--type-line-height-heading);
    font-weight: var(--type-weight-strong);
}

h3,
.type-card-title {
    font-size: var(--type-size-title-sm);
    line-height: var(--type-line-height-card);
    font-weight: var(--type-weight-medium);
}

h4 {
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
    font-weight: var(--type-weight-emphasis);
}

h1,
h2,
h3,
h4,
p {
    margin-top: 0;
}

.type-page-subtitle {
    max-width: 50rem;
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
    font-weight: var(--type-weight-regular);
    color: var(--app-text-muted);
}

.type-section-subtitle,
.type-supporting,
.form-text {
    font-size: var(--type-size-supporting);
    line-height: var(--type-line-height-supporting);
    font-weight: var(--type-weight-regular);
    color: var(--app-text-muted);
}

.type-meta,
small {
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-muted);
}

.type-label {
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
}

.type-metric {
    font-size: var(--type-size-metric);
    line-height: var(--type-line-height-display);
    font-weight: var(--type-weight-strong);
}

.form-label {
    display: block;
    margin-bottom: var(--form-label-spacing);
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
}

.form-text,
small {
    color: var(--app-text-muted);
}

.form-text {
    margin-top: var(--space-8);
}

strong,
b {
    font-weight: var(--type-weight-emphasis);
}

a, .btn-link {
    color: var(--bs-link-color);
}

a:hover, .btn-link:hover {
    color: var(--bs-link-hover-color);
}

.btn:not(.btn-link),
.btn-link,
.form-control,
.form-select,
.form-check-input,
.nav-pills .nav-link,
.list-group-item-action,
.compact-event-toggle,
.editor-list-toggle,
.compact-list-toggle {
    transition: border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.btn:not(.btn-link) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-8);
    font-size: var(--type-size-ui);
    font-weight: var(--type-weight-medium);
    line-height: var(--type-line-height-supporting);
    min-height: var(--button-height);
    padding-inline: var(--space-16);
    padding-block: 0;
    border-width: var(--app-control-border-width);
    border-radius: var(--app-radius-control);
    text-decoration: none;
    white-space: nowrap;
}

.btn-sm:not(.btn-link) {
    font-size: var(--type-size-supporting);
    min-height: var(--app-control-height-sm);
    padding-inline: var(--space-12);
}

.btn-lg:not(.btn-link) {
    font-size: var(--type-size-ui);
    min-height: var(--button-height-hero);
    padding-inline: var(--space-24);
}

.btn-primary {
    color: var(--app-text-inverse);
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

.btn-primary:hover:not(:disabled),
.btn-primary:active:not(:disabled),
.btn-primary.active:not(:disabled) {
    color: var(--app-text-inverse);
    background-color: var(--app-primary-dark) !important;
    border-color: var(--app-primary-dark) !important;
}

.btn-secondary {
    color: var(--app-text-primary);
    background-color: var(--app-surface-muted);
    border-color: var(--app-border);
}

.btn-secondary:hover:not(:disabled),
.btn-secondary:active:not(:disabled),
.btn-secondary.active:not(:disabled) {
    color: var(--app-text-primary);
    background-color: var(--app-surface);
    border-color: var(--app-control-hover-border);
}

.btn-outline-primary {
    color: var(--app-primary);
    background-color: var(--app-surface);
    border-color: var(--app-primary);
}

.btn-outline-primary:hover:not(:disabled),
.btn-outline-primary:active:not(:disabled),
.btn-outline-primary.active:not(:disabled) {
    color: var(--app-text-inverse);
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

.btn-outline-secondary {
    color: var(--app-text-secondary);
    background-color: var(--app-surface);
    border-color: var(--app-border);
}

.btn-outline-secondary:hover:not(:disabled),
.btn-outline-secondary:active:not(:disabled),
.btn-outline-secondary.active:not(:disabled) {
    color: var(--app-text-primary);
    background-color: var(--app-surface-muted);
    border-color: var(--app-control-hover-border);
}

.btn-danger {
    color: var(--app-text-inverse);
    background-color: var(--app-danger);
    border-color: var(--app-danger);
}

.btn-danger:hover:not(:disabled),
.btn-danger:active:not(:disabled),
.btn-danger.active:not(:disabled) {
    color: var(--app-text-inverse);
    background-color: var(--app-danger-strong);
    border-color: var(--app-danger-strong);
}

.btn-outline-danger {
    color: var(--app-danger-strong);
    background-color: var(--app-surface);
    border-color: var(--app-danger-border);
}

.btn-outline-danger:hover:not(:disabled),
.btn-outline-danger:active:not(:disabled),
.btn-outline-danger.active:not(:disabled) {
    color: var(--app-danger-strong);
    background-color: var(--app-danger-soft);
    border-color: var(--app-danger);
}

.btn-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--app-control-height-sm);
    padding: 0 var(--space-8);
    border: 1px solid transparent;
    border-radius: var(--app-radius-control);
    font-size: var(--type-size-ui);
    font-weight: var(--type-weight-medium);
    line-height: var(--type-line-height-supporting);
    text-decoration: none;
    background: transparent;
}

.btn-link:hover:not(:disabled),
.btn-link:active:not(:disabled) {
    background: var(--bs-primary-bg-subtle);
    color: var(--app-primary-dark);
    text-decoration: none;
}

.btn:disabled,
.btn.disabled {
    color: var(--app-control-disabled-text) !important;
    background-color: var(--app-control-disabled-bg) !important;
    border-color: var(--app-control-disabled-border) !important;
    box-shadow: none !important;
    opacity: 1;
    cursor: not-allowed;
}

.nav-pills {
    gap: var(--space-8);
}

.nav-pills .nav-link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: var(--app-control-height);
    padding: 0 var(--space-12);
    border-radius: var(--app-radius-control);
    border: 1px solid transparent;
    color: var(--app-text-secondary);
    font-size: var(--type-size-ui);
    font-weight: var(--type-weight-medium);
}

.nav-pills .nav-link:hover {
    color: var(--app-text-primary);
    background: var(--app-surface-muted);
    border-color: var(--app-border);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: var(--app-text-inverse);
    background: var(--app-primary);
    border-color: var(--app-primary);
    font-weight: var(--type-weight-strong);
    box-shadow: var(--app-shadow-level-1);
}

.nav-pills .nav-link.active::before,
.nav-pills .show > .nav-link::before {
    content: "";
    position: absolute;
    left: var(--space-8);
    top: var(--space-8);
    bottom: var(--space-8);
    width: var(--space-4);
    border-radius: 999px;
    background: var(--color-accent-200);
}

.list-group-item-action {
    min-height: var(--app-control-height);
    padding: var(--space-12) var(--space-16);
    border-color: var(--app-border);
}

.list-group-item-action:hover:not(.active) {
    background: var(--app-surface-muted);
    border-color: var(--app-control-hover-border);
    color: var(--app-text-primary);
}

.list-group-item-action.active {
    box-shadow: var(--app-shadow-level-1);
}

.badge {
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    border: 1px solid transparent;
}

.alert {
    border-radius: var(--app-radius-panel-sm);
    border-width: 1px;
    box-shadow: none;
}

.dropdown-menu {
    padding: var(--space-8);
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    background: var(--app-surface);
    box-shadow: var(--app-shadow-level-2);
}

.dropdown-header {
    padding: var(--space-8) var(--space-12);
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: var(--app-text-muted);
}

.dropdown-divider {
    margin: var(--space-8) 0;
    border-top-width: var(--app-structure-divider-width);
    border-top-color: var(--app-divider);
}

.dropdown-item {
    display: flex;
    align-items: center;
    min-height: var(--app-control-height);
    padding: var(--space-8) var(--space-12);
    border-radius: var(--app-radius-control);
    color: var(--app-text-secondary);
    font-size: var(--type-size-supporting);
    line-height: var(--type-line-height-supporting);
    font-weight: var(--type-weight-emphasis);
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--app-text-primary);
    background: var(--app-surface-muted);
}

.dropdown-item.active,
.dropdown-item:active {
    color: var(--app-text-inverse);
    background: var(--app-primary);
}

.modal-backdrop.show {
    opacity: 1;
    background-color: var(--app-overlay-backdrop);
}

.modal-content {
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel);
    background: var(--app-surface);
    color: var(--app-text-primary);
    box-shadow: var(--app-shadow-level-2);
}

.modal-header,
.modal-footer {
    padding: var(--space-16) var(--space-24);
    border-color: var(--app-divider);
}

.modal-body {
    padding: var(--space-24);
}

.modal-title {
    font-size: var(--type-size-title-md);
    line-height: var(--type-line-height-heading);
    font-weight: var(--type-weight-strong);
}

.btn-close {
    min-width: var(--app-control-height-sm);
    min-height: var(--app-control-height-sm);
    padding: 0;
    border-radius: var(--app-radius-control);
}

.toast-container {
    z-index: 1080;
    padding: var(--space-16);
}

.toast {
    width: min(100%, var(--app-overlay-width));
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel);
    background: var(--app-surface);
    color: var(--app-text-primary);
    box-shadow: var(--app-shadow-level-2);
}

.toast-header {
    padding: var(--space-12) var(--space-16);
    border-bottom: var(--app-structure-divider-width) solid var(--app-divider);
    background: transparent;
    color: var(--app-text-secondary);
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-medium);
}

.toast-body {
    padding: var(--space-16);
    font-size: var(--type-size-supporting);
    line-height: var(--type-line-height-supporting);
}

.badge.text-bg-primary,
.badge.text-bg-info {
    background: var(--app-info-soft) !important;
    border-color: var(--app-info-border) !important;
    color: var(--app-info) !important;
}

.badge.text-bg-success {
    background: var(--app-success-soft) !important;
    border-color: var(--app-success-border) !important;
    color: var(--app-success-strong) !important;
}

.badge.text-bg-warning {
    background: var(--app-warning-soft) !important;
    border-color: var(--app-warning-border) !important;
    color: var(--app-warning) !important;
}

.badge.text-bg-danger {
    background: var(--app-danger-soft) !important;
    border-color: var(--app-danger-border) !important;
    color: var(--app-danger-strong) !important;
}

.badge.text-bg-secondary,
.badge.text-bg-light {
    background: rgba(var(--color-neutral-0-rgb), 0.06) !important;
    border-color: rgba(var(--color-neutral-0-rgb), 0.12) !important;
    color: var(--app-text-secondary) !important;
}

.badge.text-bg-dark {
    background: rgba(var(--color-neutral-0-rgb), 0.08) !important;
    border-color: rgba(var(--color-neutral-0-rgb), 0.14) !important;
    color: var(--app-text-primary) !important;
}

.btn:focus,
.btn-link:focus,
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.nav-pills .nav-link:focus,
.list-group-item-action:focus,
.compact-event-toggle:focus,
.editor-list-toggle:focus,
.compact-list-toggle:focus {
    box-shadow: none;
}

.btn:focus-visible,
.btn-link:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.form-check-input:focus-visible,
.nav-pills .nav-link:focus-visible,
.list-group-item-action:focus-visible,
.compact-event-toggle:focus-visible,
.editor-list-toggle:focus-visible,
.compact-list-toggle:focus-visible {
    outline: var(--app-focus-ring-width) solid var(--app-focus-ring-color);
    outline-offset: 2px;
    box-shadow: 0 0 0 calc(var(--app-focus-ring-width) * 2) var(--app-focus-ring-shadow);
}

.content {
    padding-top: var(--section-spacing);
}

h1:focus {
    outline: none;
}

.form-control,
.form-select {
    border-width: var(--app-control-border-width);
    border-color: var(--app-control-border);
    border-radius: var(--app-radius-control);
    background-color: var(--app-surface);
    color: var(--app-text-primary);
    padding-inline: var(--app-control-padding-x);
}

.form-control:not(textarea),
.form-select {
    min-height: var(--app-control-height);
    padding-block: 0;
}

.form-control-sm:not(textarea),
.form-select-sm {
    min-height: var(--app-control-height-sm);
}

.form-control-lg:not(textarea),
.form-select-lg {
    min-height: var(--app-control-height-lg);
}

.form-select {
    padding-inline-start: var(--app-control-padding-x);
    padding-inline-end: calc(var(--app-control-padding-x) + 1.5rem);
}

textarea.form-control {
    min-height: calc(var(--app-control-height) * 2.5);
    padding-block: var(--space-12);
}

.form-control::placeholder,
.form-select:invalid {
    color: var(--app-text-muted);
}

.form-control:hover:not(:disabled):not(:focus-visible),
.form-select:hover:not(:disabled):not(:focus-visible) {
    border-color: var(--app-control-hover-border);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--app-control-active-border);
}

.form-control:disabled,
.form-select:disabled {
    background-color: var(--app-control-disabled-bg);
    border-color: var(--app-control-disabled-border);
    color: var(--app-control-disabled-text);
    opacity: 1;
    cursor: not-allowed;
}

.form-control[readonly] {
    background-color: var(--app-control-disabled-bg);
    border-color: var(--app-control-disabled-border);
    color: var(--app-text-secondary);
}

.form-check-input {
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0;
    border-width: var(--app-control-border-width);
    border-color: var(--color-neutral-300);
    background-color: var(--app-surface);
}

.form-check-input[type="checkbox"] {
    border-radius: var(--app-radius-control-sm);
}

.form-check-input[type="radio"] {
    border-radius: 999px;
}

.form-switch .form-check-input {
    width: 2.25rem;
    height: 1.25rem;
    border-radius: 999px;
}

.form-check-input:hover:not(:disabled) {
    border-color: var(--app-control-hover-border);
}

.form-check-input:checked {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

.form-check-input:disabled {
    background-color: var(--app-control-disabled-bg);
    border-color: var(--app-control-disabled-border);
    opacity: 1;
    cursor: not-allowed;
}

.card {
    border-color: var(--app-border);
    border-width: var(--app-structure-border-width);
}

.card {
    background: var(--app-surface);
    border-radius: var(--app-radius-panel);
    box-shadow: var(--app-shadow-panel);
    backdrop-filter: blur(6px);
}

.card-header,
.card-footer {
    background: transparent;
    border-color: var(--app-divider);
}

.auth-card,
.dashboard-welcome-row,
.dashboard-state-row,
.dashboard-tournament-row,
.editor-list-item,
.event-list-item,
.tournament-user-type-item,
.ballot-guess-item,
.ballot-rule-summary-section,
.condensed-event-item {
    background: var(--app-surface);
    border-color: var(--app-border);
    border-radius: var(--app-radius-panel);
    box-shadow: var(--app-shadow-panel);
}

.dashboard-placeholder-line,
.tournament-user-summary-pill,
.leaderboard-compare-label-cell,
.leaderboard-compare-points-cell,
.leaderboard-compare-header-cell,
.leaderboard-compare-value-cell,
.tournament-user-ballot-empty,
.tournament-user-event-row,
.tournament-user-rule-item,
.ballot-rule-note,
.ballot-guess-readonly,
.condensed-event-empty {
    background: var(--app-surface);
    border-color: var(--app-border);
    border-radius: var(--app-radius-panel-sm);
}

.dashboard-meta-pill,
.leaderboard-special-pill,
.editor-list-panel,
.event-outcome-panel {
    background: var(--app-surface-muted);
    border-color: var(--app-border);
}

.editor-list-panel {
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
}

.auth-card,
.dashboard-welcome-row,
.editor-list-item-expanded {
    border-color: var(--app-border-feature) !important;
    box-shadow: var(--app-shadow-panel-feature);
}

.card-body {
    padding: var(--card-padding);
}

.card-body.p-3,
.card-body.p-4,
.card-body.py-5,
.card-body.p-lg-4,
.card-body.p-lg-5 {
    padding: var(--card-padding) !important;
}

.card-body.py-5 {
    padding-block: var(--section-spacing-lg) !important;
    padding-inline: var(--card-padding) !important;
}

.card-header,
.card-footer {
    padding: var(--space-16) var(--card-padding);
}

.table {
    margin-bottom: 0;
    --bs-table-bg: transparent;
    --bs-table-color: var(--app-text-primary);
    --bs-table-border-color: var(--app-divider);
    border-collapse: separate;
    border-spacing: 0;
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    overflow: hidden;
    background: rgba(var(--color-neutral-0-rgb), 0.02);
}

.table > :not(caption) > * > * {
    padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
    vertical-align: middle;
    background: transparent;
    border-bottom-width: 0;
}

.table > thead > tr > * {
    background: rgba(var(--color-brand-700-rgb), 0.34);
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: rgba(var(--color-neutral-0-rgb), 0.78);
    border-top-width: 0;
    border-bottom-width: 1px;
}

.table > tbody > tr {
    background: transparent;
    transition: background-color 0.2s ease;
}

.table > tbody > tr > :is(td, th) {
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
}

.table > tbody > tr:first-child > :is(td, th) {
    border-top: 0;
}

.table > tbody > tr:nth-child(even) > :is(td, th) {
    background: var(--data-row-zebra-bg);
}

.table > tbody > tr:hover > :is(td, th) {
    background: var(--data-row-hover-bg);
}

.table > tbody > tr > :is(td, th) {
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
    color: var(--app-text-primary);
}

.compact-list-icon-pill,
.condensed-event-edit-pill,
.condensed-outcome-save-button,
.ballot-row-action,
.tournament-add-button,
.tournament-add-button-sm {
    padding-inline: 0;
    min-width: var(--app-control-height-sm);
    min-height: var(--app-control-height-sm);
    border-radius: var(--app-radius-control);
}

.auth-shell {
    min-height: calc(100vh - 10rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--section-spacing) 0;
}

.auth-panel {
    width: min(100%, 44rem);
    margin-inline: auto;
}

.auth-panel--wide {
    width: min(100%, 50rem);
}

.auth-panel--compact {
    width: min(100%, 38rem);
}

.auth-card {
    border: 1px solid var(--app-border-feature);
}

.auth-card-body {
    padding: var(--card-padding);
}

.auth-card-body--form {
    display: grid;
    gap: var(--form-group-spacing);
}

.auth-copy-block {
    display: grid;
    gap: var(--space-8);
}

.auth-copy-block > h1 {
    font-size: var(--type-size-title-lg);
    line-height: var(--type-line-height-display);
    font-weight: var(--type-weight-strong);
    letter-spacing: -0.03em;
}

.auth-copy-block > :is(h2, p) {
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
    font-weight: var(--type-weight-regular);
}

.auth-form {
    display: grid;
    gap: var(--form-group-spacing);
}

.auth-form-fields {
    display: grid;
    gap: var(--form-group-spacing);
}

.auth-validation-summary {
    margin: 0;
}

.auth-form-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-12) var(--space-16);
}

.auth-submit-button {
    width: 100%;
    min-height: var(--button-height-hero);
    padding-inline: var(--space-24);
    border-radius: 999px;
    font-weight: var(--type-weight-medium);
}

.auth-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8) var(--space-24);
    align-items: center;
}

.account-manage-shell {
    display: grid;
    gap: var(--section-spacing);
}

.account-manage-intro {
    display: grid;
    gap: var(--space-8);
}

.account-manage-shell .nav {
    gap: var(--space-8);
}

.account-manage-shell .nav-link {
    position: relative;
}

@media (min-width: 768px) {
    .auth-shell {
        padding: var(--section-spacing-lg) 0;
    }

    .auth-submit-button {
        width: auto;
        min-width: 10.5rem;
    }

    .page-header {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }

    .page-header-actions {
        justify-content: flex-end;
    }
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--app-success);
}

.invalid {
    outline: 1px solid var(--app-danger);
}

.validation-message {
    color: var(--app-danger);
}

.blazor-error-boundary {
    background: var(--app-danger-strong);
    padding: var(--space-16) var(--space-16) var(--space-16) var(--space-48);
    color: var(--app-text-inverse);
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: var(--color-neutral-300);
}

.form-floating > .form-control,
.form-floating > .form-select {
    min-height: var(--app-control-height-lg);
    height: var(--app-control-height-lg);
    padding: var(--space-16) var(--app-control-padding-x) var(--space-4);
}

.form-floating > label {
    padding: var(--space-12) var(--app-control-padding-x);
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

.tournament-date {
    width: 4.75rem;
    min-width: 4.75rem;
    border-radius: var(--app-radius-panel);
    padding: var(--space-12) var(--space-8);
    background: var(--app-surface-muted);
    border: var(--app-structure-border-width) solid var(--app-border);
}

.tournament-date-month {
    display: block;
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: var(--app-text-muted);
}

.tournament-date-day {
    display: block;
    font-size: var(--type-size-metric);
    line-height: var(--type-line-height-display);
    font-weight: var(--type-weight-strong);
    color: var(--app-text-primary);
}

.tournament-add-button {
    width: var(--button-height);
    height: var(--button-height);
    border-radius: var(--app-radius-control);
    font-size: var(--type-size-title-md);
    line-height: 1;
    padding: 0;
}

.tournament-add-button-sm {
    width: var(--app-control-height-sm);
    height: var(--app-control-height-sm);
    border-radius: var(--app-radius-control);
    font-size: var(--type-size-title-sm);
}

.dashboard-shell {
    display: grid;
    gap: var(--section-spacing);
}

.dashboard-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-16) var(--space-24);
}

.page-header {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

.page-header-body {
    display: grid;
    gap: var(--space-8);
    min-width: 0;
}

.brand-section-heading {
    display: flex;
    align-items: flex-start;
    gap: var(--space-12);
    min-width: 0;
}

.brand-section-heading__mark {
    display: block;
    width: 2.5rem;
    min-width: 2.5rem;
    height: auto;
    margin-top: 0.125rem;
    filter: drop-shadow(0 0.25rem 0.75rem rgba(var(--color-brand-900-rgb), 0.22));
}

.brand-section-heading__body {
    display: grid;
    gap: var(--space-4);
    min-width: 0;
}

.brand-empty-state {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--space-16);
    align-items: start;
    padding: var(--space-16);
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    background: var(--app-surface-alt);
}

.brand-empty-state__mark {
    display: block;
    width: 2.25rem;
    min-width: 2.25rem;
    height: auto;
    margin-top: 0.125rem;
    opacity: 0.92;
}

.brand-empty-state__body {
    display: grid;
    gap: var(--space-8);
    min-width: 0;
}

.brand-empty-state__title,
.brand-empty-state__text {
    margin: 0;
}

.brand-empty-state__title {
    color: var(--app-text-primary);
}

.brand-empty-state__text {
    color: var(--app-text-muted);
}

.page-header-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-8) var(--space-12);
}

.page-header-actions .btn-link {
    padding-inline: 0;
    color: var(--app-text-secondary);
}

.page-header-actions .btn-link:hover:not(:disabled),
.page-header-actions .btn-link:focus-visible {
    color: var(--app-text-primary);
}

.tournament-page-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: var(--app-surface);
}

.tournament-page-hero__body {
    position: relative;
    z-index: 1;
}

.tournament-page-hero__header {
    position: relative;
    gap: var(--space-24);
}

.tournament-page-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.tournament-page-hero__backdrop {
    position: absolute;
    inset: 0;
    background-position: 78% 47%;
    background-repeat: no-repeat;
    background-size: 100% auto;
    opacity: 1;
    filter: saturate(0.92) brightness(0.94);
    mask-image: radial-gradient(circle at 78% 47%, rgba(0, 0, 0, 1) 0, rgba(0, 0, 0, 1) 6.25rem, rgba(0, 0, 0, 0.92) 8rem, rgba(0, 0, 0, 0.68) 15rem, rgba(0, 0, 0, 0.34) 23rem, transparent 32rem);
    -webkit-mask-image: radial-gradient(circle at 78% 47%, rgba(0, 0, 0, 1) 0, rgba(0, 0, 0, 1) 6.25rem, rgba(0, 0, 0, 0.92) 8rem, rgba(0, 0, 0, 0.68) 15rem, rgba(0, 0, 0, 0.34) 23rem, transparent 32rem);
}

.tournament-page-hero__backdrop-fade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(var(--color-brand-900-rgb), 0.97) 0%, rgba(var(--color-brand-900-rgb), 0.92) 28%, rgba(var(--color-brand-900-rgb), 0.72) 50%, rgba(var(--color-brand-900-rgb), 0.2) 70%, rgba(var(--color-brand-900-rgb), 0.04) 80%, transparent 88%);
}

.tournament-page-hero__admin {
    display: grid;
    gap: var(--space-12);
    width: min(100%, 22rem);
}

.tournament-page-hero__floating-action {
    position: absolute;
    top: var(--space-16);
    right: var(--space-16);
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
}

.tournament-backdrop-upload {
    display: grid;
    gap: var(--space-12);
}

.tournament-backdrop-upload__dropzone {
    position: relative;
    display: grid;
    gap: var(--space-8);
    min-height: 8.75rem;
    padding: var(--space-16);
    border: var(--app-structure-border-width) dashed rgba(var(--color-neutral-0-rgb), 0.18);
    border-radius: var(--app-radius-panel-sm);
    background: rgba(var(--color-neutral-0-rgb), 0.035);
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease, opacity 0.16s ease;
}

.tournament-backdrop-upload__dropzone:hover,
.tournament-backdrop-upload__dropzone.is-drag-over {
    border-color: var(--app-border-feature);
    background: rgba(var(--color-neutral-0-rgb), 0.06);
    box-shadow: inset 0 0 0 var(--app-structure-border-width) rgba(var(--color-accent-200-rgb), 0.08);
}

.tournament-backdrop-upload__dropzone.is-uploading {
    opacity: 0.8;
}

.tournament-backdrop-upload__copy {
    display: grid;
    gap: var(--space-8);
    min-width: 0;
    pointer-events: none;
}

.tournament-backdrop-upload__eyebrow {
    color: rgba(var(--color-neutral-0-rgb), 0.72);
}

.tournament-backdrop-upload__title {
    color: var(--app-text-primary);
    font-size: var(--type-size-title-sm);
    line-height: var(--type-line-height-heading);
    font-weight: var(--type-weight-medium);
}

.tournament-backdrop-upload__hint {
    color: var(--app-text-muted);
}

.tournament-backdrop-upload__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.tournament-backdrop-upload__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8);
}

.tournament-backdrop-upload__feedback {
    width: 100%;
}

.tournament-info-card {
    display: grid;
    gap: var(--space-12);
    margin-top: var(--space-16);
    padding: var(--space-16);
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    background: rgba(var(--color-neutral-0-rgb), 0.045);
    box-shadow: inset 0 0 0 1px rgba(var(--color-neutral-0-rgb), 0.02);
}

.tournament-info-card--admin {
    background: rgba(var(--color-neutral-0-rgb), 0.055);
}

.tournament-info-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-12);
}

.tournament-info-card__editor {
    display: grid;
    gap: var(--space-12);
}

.tournament-info-card__message {
    white-space: pre-wrap;
    color: var(--app-text-secondary);
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
}

.dashboard-title {
    font-size: var(--type-size-title-lg);
    line-height: var(--type-line-height-display);
    letter-spacing: -0.03em;
}

.dashboard-subtitle {
    max-width: 50rem;
    color: var(--bs-secondary-color);
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
}

.dashboard-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-12);
    align-items: center;
}

.dashboard-welcome-row,
.dashboard-state-row,
.dashboard-tournament-row {
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel);
    background: var(--app-surface);
    box-shadow: var(--app-shadow-panel);
}

.dashboard-welcome-row,
.dashboard-state-row {
    padding: var(--card-padding);
}

.dashboard-welcome-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-16) var(--space-24);
}

.dashboard-badges {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8);
    align-items: center;
}

.dashboard-state-row {
    text-align: left;
}

.dashboard-list {
    display: grid;
    gap: var(--space-12);
}

.dashboard-tournament-row {
    padding: var(--space-16) var(--card-padding);
    display: grid;
    gap: var(--space-12);
}

.dashboard-summary-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-12);
}

.dashboard-summary-strip .stat-card {
    min-height: 100%;
}

.dashboard-tournament-row-action {
    width: 100%;
    text-align: left;
    color: inherit;
    cursor: pointer;
}

.dashboard-tournament-row-action:hover {
    border-color: var(--app-border-feature);
    box-shadow: var(--app-shadow-panel);
    background: var(--data-row-hover-bg);
}

.dashboard-tournament-row-action:focus-visible {
    outline: var(--app-focus-ring-width) solid var(--app-focus-ring-color);
    outline-offset: 2px;
    border-color: var(--app-border-feature);
    box-shadow: 0 0 0 calc(var(--app-focus-ring-width) * 2) var(--app-focus-ring-shadow);
}

.dashboard-tournament-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-12) var(--space-16);
    align-items: center;
}

.dashboard-tournament-heading {
    min-width: 0;
}

.dashboard-tournament-name {
    margin: 0;
    font-size: var(--type-size-title-sm);
    line-height: var(--type-line-height-card);
}

.dashboard-tournament-title-block {
    display: grid;
    gap: var(--space-8);
    min-width: 0;
}

.dashboard-preview-section {
    display: grid;
    gap: var(--space-8);
    min-width: 0;
}

.dashboard-preview-header {
    grid-template-columns: 3.25rem minmax(12rem, 2.1fr) minmax(9rem, 1fr) minmax(9rem, 1fr) minmax(5rem, auto);
}

.dashboard-preview-list {
    display: grid;
    gap: 0;
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    overflow: hidden;
    background: rgba(var(--color-neutral-0-rgb), 0.02);
}

.dashboard-preview-row {
    display: grid;
    grid-template-columns: 3.25rem minmax(12rem, 2.1fr) minmax(9rem, 1fr) minmax(9rem, 1fr) minmax(5rem, auto);
    gap: var(--space-12) var(--space-16);
    align-items: center;
    min-height: var(--table-row-min-height);
    padding: var(--space-12) var(--space-16);
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
    background: transparent;
}

.dashboard-preview-row:first-child {
    border-top: 0;
}

.dashboard-preview-row:nth-child(even) {
    background: var(--data-row-zebra-bg);
}

.dashboard-preview-place {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: var(--app-surface-muted);
    color: var(--app-text-primary);
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
    justify-self: center;
}

.dashboard-preview-ballot {
    min-width: 0;
}

.dashboard-preview-pill {
    min-width: 0;
    justify-self: start;
    max-width: 100%;
}

.dashboard-preview-special-header {
    min-width: 0;
    padding-right: var(--space-8);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-preview-points {
    justify-self: end;
    text-align: right;
}

.dashboard-preview-empty {
    min-height: 100%;
}

.dashboard-account-card {
    margin-top: var(--space-16);
}

.dashboard-account-details {
    position: relative;
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel);
    background:
        linear-gradient(180deg, rgba(var(--color-neutral-0-rgb), 0.045), rgba(var(--color-neutral-0-rgb), 0.018)),
        var(--app-surface);
    box-shadow:
        inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.04),
        var(--app-shadow-panel);
    overflow: hidden;
}

.dashboard-account-details::after {
    content: "";
    position: absolute;
    top: calc(var(--space-16) * -1);
    right: calc(var(--space-16) * -1);
    width: 4.25rem;
    height: 4.25rem;
    pointer-events: none;
    opacity: 0.1;
    background: url('/branding/logo-mark.svg') center / contain no-repeat;
    filter: saturate(0.16) brightness(1.08);
}

.dashboard-account-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-16);
    padding: var(--space-24);
    transition: background-color 0.16s ease, box-shadow 0.16s ease;
}

.dashboard-account-summary::-webkit-details-marker {
    display: none;
}

.dashboard-account-summary::after {
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    flex: 0 0 auto;
    border-right: 2px solid rgba(var(--color-accent-300-rgb), 0.8);
    border-bottom: 2px solid rgba(var(--color-accent-300-rgb), 0.8);
    transform: rotate(45deg) translateY(-0.12rem);
    transition: transform 0.16s ease, border-color 0.16s ease;
}

.dashboard-account-details[open] .dashboard-account-summary::after {
    transform: rotate(225deg) translateY(-0.02rem);
}

.dashboard-account-summary:hover {
    background: rgba(var(--color-neutral-0-rgb), 0.025);
    box-shadow: inset 0 -1px 0 rgba(var(--color-neutral-0-rgb), 0.035);
}

.dashboard-account-summary__body {
    display: grid;
    gap: var(--space-8);
    min-width: 0;
    position: relative;
    z-index: 1;
}

.dashboard-account-summary__title {
    font-size: var(--type-size-title-sm);
    line-height: var(--type-line-height-card);
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-primary);
}

.dashboard-account-panel {
    padding: 0 var(--space-24) var(--space-24);
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
    background:
        linear-gradient(180deg, rgba(var(--color-neutral-0-rgb), 0.012), rgba(var(--color-accent-300-rgb), 0.028));
}

.dashboard-account-panel__content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-16);
    padding: var(--space-16) var(--space-24);
    border-radius: var(--app-radius-panel-sm);
    border: 1px solid rgba(var(--color-neutral-0-rgb), 0.055);
    background:
        linear-gradient(180deg, rgba(var(--color-neutral-0-rgb), 0.04), rgba(var(--color-neutral-0-rgb), 0.018)),
        rgba(var(--color-brand-700-rgb), 0.14);
    box-shadow:
        inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.05),
        0 14px 30px rgba(var(--color-brand-900-rgb), 0.18);
    margin-top: var(--space-16);
}

.dashboard-account-panel__meta {
    display: grid;
    gap: var(--space-8);
    min-width: 0;
}

.dashboard-account-panel__meta-label {
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: var(--app-text-muted);
}

.dashboard-account-panel__meta-value {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    width: fit-content;
    max-width: 100%;
    padding: var(--space-8) var(--space-12);
    border: 1px solid rgba(var(--color-neutral-0-rgb), 0.06);
    border-radius: calc(var(--app-radius-control) + 0.15rem);
    background: rgba(var(--color-brand-900-rgb), 0.22);
    box-shadow: inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.04);
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
    line-height: 1.2;
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-primary);
}

.dashboard-account-panel__meta-value::before {
    content: "";
    width: 0.62rem;
    height: 0.62rem;
    border-radius: 999px;
    flex: 0 0 auto;
    background: rgba(var(--color-brand-600-rgb), 0.95);
    box-shadow:
        0 0 0 0.22rem rgba(var(--color-brand-600-rgb), 0.14),
        0 0 0 1px rgba(var(--color-brand-900-rgb), 0.32);
}

.dashboard-account-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-12);
    align-items: center;
    justify-content: flex-end;
}

.dashboard-account-panel__actions .btn {
    min-height: 2.875rem;
    padding-inline: var(--space-16);
    border-radius: calc(var(--app-radius-control) + 0.2rem);
    box-shadow: 0 10px 24px rgba(var(--color-brand-900-rgb), 0.12);
}

.dashboard-tournament-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(9rem, 1fr));
    justify-content: end;
    gap: var(--space-8);
}

.dashboard-meta-pill {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: var(--space-4) var(--space-12);
    border-radius: 999px;
    border: var(--app-structure-border-width) solid var(--app-border);
    background: var(--app-surface-muted);
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
    white-space: nowrap;
    color: var(--app-text-secondary);
}

.stat-card-group {
    display: grid;
    gap: var(--space-12);
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}

.stat-card {
    position: relative;
    display: grid;
    gap: var(--space-4);
    min-width: 0;
    padding: var(--stat-card-padding);
    border-radius: var(--app-radius-panel-sm);
    border: var(--app-structure-border-width) solid var(--app-border);
    background: var(--app-surface-muted);
    overflow: hidden;
    isolation: isolate;
}

.stat-card::after {
    content: "";
    position: absolute;
    top: calc(var(--space-12) * -1);
    right: calc(var(--space-12) * -1);
    width: 3.5rem;
    height: 3.5rem;
    pointer-events: none;
    opacity: 0.12;
    background: url('/branding/logo-mark.svg') center / contain no-repeat;
    filter: saturate(0.18) brightness(1.08);
}

.stat-card > * {
    position: relative;
    z-index: 1;
}

.stat-card-label {
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: var(--app-text-muted);
}

.stat-card-value {
    min-width: 0;
    font-size: var(--type-size-title-sm);
    line-height: var(--type-line-height-card);
    font-weight: var(--type-weight-medium);
    color: var(--app-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stat-card-value--numeric {
    font-variant-numeric: tabular-nums;
}

.stat-card-delta {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    min-width: 0;
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-regular);
    color: var(--app-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.stat-card-delta::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    flex: 0 0 auto;
    background: var(--app-text-muted);
}

.stat-card-delta--up {
    color: var(--app-success-strong);
}

.stat-card-delta--up::before {
    background: var(--app-success);
}

.stat-card-delta--down {
    color: var(--app-warning);
}

.stat-card-delta--down::before {
    background: var(--app-warning);
}

.stat-card-delta--neutral::before {
    background: var(--app-text-muted);
}

.data-list-header {
    display: none;
    align-items: center;
    gap: var(--space-12) var(--space-16);
    margin-bottom: 0;
    padding: var(--space-12) var(--space-16);
    border: var(--app-structure-border-width) solid rgba(var(--color-neutral-0-rgb), 0.08);
    border-bottom: 0;
    border-radius: var(--app-radius-panel-sm) var(--app-radius-panel-sm) 0 0;
    background: rgba(var(--color-brand-700-rgb), 0.32);
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: rgba(var(--color-neutral-0-rgb), 0.78);
}

.data-list-header > * {
    min-width: 0;
}

.data-list-header-text-end {
    justify-self: end;
    text-align: right;
}

.data-list-header-text-center {
    justify-self: center;
    text-align: center;
}

.data-list-header--condensed-event {
    grid-template-columns: minmax(4rem, auto) minmax(14rem, 2.2fr) minmax(6rem, auto) auto minmax(10rem, 1.2fr) auto;
}

.data-list-header--compact-event {
    grid-template-columns: 2.1rem minmax(0, 1fr) minmax(10rem, 1.1fr);
}

.data-list-header-main {
    display: grid;
    grid-template-columns: minmax(4rem, auto) minmax(14rem, 2.2fr) auto auto;
    align-items: center;
    gap: var(--space-12) var(--space-16);
    min-width: 0;
}

.data-value-key {
    font-weight: var(--type-weight-medium);
    color: var(--app-text-primary);
}

.data-value-secondary {
    color: var(--app-text-muted);
    font-weight: var(--type-weight-regular);
}

.data-value-end,
.data-value-numeric {
    justify-self: end;
    text-align: right;
}

.data-value-numeric {
    font-variant-numeric: tabular-nums;
}

.dashboard-placeholder-list {
    display: grid;
    gap: var(--space-8);
}

.dashboard-placeholder-line {
    display: grid;
    grid-template-columns: 1.85rem minmax(0, 1fr);
    gap: var(--space-12);
    align-items: center;
    padding: var(--space-8) var(--space-12);
    border-radius: var(--app-radius-panel-sm);
    border: 1px solid var(--app-border);
    background: var(--app-surface-alt);
}

.dashboard-placeholder-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    background: var(--app-surface-muted);
    color: var(--app-text-primary);
    font-weight: var(--type-weight-emphasis);
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
}

.dashboard-placeholder-text {
    min-width: 0;
    color: var(--app-text-secondary);
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
}

.editor-list {
    display: grid;
    gap: 0;
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    overflow: hidden;
    background: rgba(var(--color-neutral-0-rgb), 0.02);
}

.data-list-header + .editor-list,
.data-list-header + .dashboard-preview-list,
.data-list-header + .tournament-user-event-list,
.data-list-header + .condensed-event-list {
    border-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.editor-list-label {
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: var(--bs-secondary-color);
    margin-bottom: var(--space-4);
}

.editor-list-item {
    border-radius: 0 !important;
    border: 0 !important;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
    transition: background-color 0.2s ease;
}

.editor-list > .editor-list-item + .editor-list-item {
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
}

.editor-list > .editor-list-item:nth-child(even):not(.editor-list-item-expanded) {
    background: var(--data-row-zebra-bg);
}

.editor-list-item:hover {
    background: var(--data-row-hover-bg);
    border-color: transparent !important;
    box-shadow: none;
    transform: none;
}

.editor-list-item-expanded {
    background: var(--app-surface);
    box-shadow: inset 0 0 0 var(--app-structure-border-width) var(--app-border-feature);
}

.editor-list-item-expanded:hover {
    background: var(--app-surface);
    transform: none;
}

.editor-list-toggle {
    width: 100%;
    min-height: var(--table-row-min-height);
    padding: var(--space-16) var(--card-padding);
    border: 1px solid transparent;
    border-radius: 0;
    text-align: left;
    background: transparent;
    color: inherit;
}

.editor-list-panel {
    padding: var(--card-padding);
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
    background: var(--app-surface-muted);
}

.compact-list-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: var(--space-12);
    padding-right: var(--space-4);
}

.compact-list-toggle {
    width: 100%;
    min-width: 0;
    min-height: var(--table-row-min-height);
    padding: var(--space-12) var(--space-16);
    border: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}

.compact-list-grid {
    display: grid;
    align-items: center;
    gap: var(--space-12) var(--space-16);
    min-width: 0;
}

.compact-list-grid--tournament {
    grid-template-columns: minmax(12rem, 2fr) auto auto auto;
}

.compact-list-grid--participant {
    grid-template-columns: minmax(12rem, 2.2fr) auto;
}

.compact-list-grid--group {
    grid-template-columns: minmax(9rem, 1.8fr) auto auto;
}

.compact-list-grid--rule-set {
    grid-template-columns: minmax(12rem, 2.2fr) auto auto auto;
}

.compact-list-grid--ballot {
    grid-template-columns: minmax(12rem, 2.2fr) auto auto;
}

.compact-list-grid--leaderboard {
    grid-template-columns:
        2.2rem
        3rem
        4.15rem
        minmax(10rem, 1.35fr)
        minmax(7rem, 0.82fr)
        minmax(9.5rem, 1fr)
        minmax(9.5rem, 1fr)
        minmax(4.9rem, max-content)
        minmax(4.9rem, max-content);
}

.compact-list-grid--admin-ballots {
    grid-template-columns: 2.2rem minmax(12rem, 1.7fr) minmax(10rem, 1.3fr) minmax(7rem, auto) minmax(7rem, auto) minmax(7rem, auto) minmax(5.5rem, auto);
}

.compact-list-grid--event-view {
    grid-template-columns: minmax(14rem, 2.2fr) auto auto minmax(10rem, 1.2fr);
}

.compact-list-grid--condition {
    grid-template-columns: minmax(0, 1fr) auto;
}

.compact-list-primary,
.compact-list-secondary {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.compact-list-primary {
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
    font-weight: var(--type-weight-emphasis);
}

.compact-list-secondary {
    font-size: var(--type-size-supporting);
    line-height: var(--type-line-height-supporting);
    font-weight: var(--type-weight-regular);
    color: var(--app-text-muted);
}

.compact-list-icon-pill {
    min-width: var(--app-control-height-sm);
    min-height: var(--app-control-height-sm);
    padding-inline: 0;
    border-radius: var(--app-radius-control);
    line-height: 1;
}

.min-w-0 {
    min-width: 0;
}

.tournament-list-item {
    margin-bottom: 0;
}

.event-list-item {
    margin-bottom: 0;
    background: var(--app-surface);
}

.event-outcome-panel {
    background: var(--app-surface-muted);
}

.tournament-user-type-list {
    display: grid;
    gap: var(--space-16);
}

.tournament-user-summary-bar {
    display: grid;
    gap: var(--space-16);
    min-width: 0;
}

.tournament-user-summary-copy {
    display: grid;
    gap: var(--space-16);
    min-width: 0;
}

.tournament-user-summary-main {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    gap: var(--space-16);
}

.tournament-user-summary-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-12) var(--space-16);
}

.tournament-user-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 14rem));
    gap: var(--space-16);
    align-items: stretch;
    justify-content: start;
}

.tournament-user-summary-panels {
    flex: 0 1 auto;
}

.tournament-user-summary-action {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    margin-left: auto;
}

.tournament-user-summary-card {
    min-width: 0;
    padding: 0.9rem 1rem 0.95rem;
    gap: 0.24rem;
    background:
        linear-gradient(180deg, rgba(var(--color-neutral-0-rgb), 0.045), rgba(var(--color-neutral-0-rgb), 0.018)),
        var(--app-surface-muted);
    box-shadow:
        inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.04),
        0 0.45rem 1.1rem rgba(var(--color-brand-900-rgb), 0.16);
}

.tournament-user-summary-card .stat-card-value {
    font-size: 1.06rem;
    line-height: 1.18;
}

.tournament-user-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-12);
    min-width: 0;
}

.tournament-user-section-heading--compact {
    gap: var(--space-8);
}

.tournament-user-section-heading--mobile {
    display: none;
}

.tournament-user-summary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-12);
    justify-content: flex-end;
    align-items: flex-start;
}

.tournament-user-summary-button,
.tournament-user-enrol-button {
    min-width: 8rem;
}

.tournament-user-summary-button--meta {
    min-width: 0;
    justify-content: center;
    padding-inline: var(--space-16);
    border-radius: var(--app-radius-panel-sm);
    border: var(--app-structure-border-width) solid rgba(var(--color-accent-300-rgb), 0.22);
    background:
        linear-gradient(180deg, rgba(var(--color-neutral-0-rgb), 0.045), rgba(var(--color-neutral-0-rgb), 0.018)),
        rgba(var(--color-brand-700-rgb), 0.12);
    color: rgba(var(--color-accent-300-rgb), 0.98);
    box-shadow:
        inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.04),
        0 0.45rem 1.1rem rgba(var(--color-brand-900-rgb), 0.14);
}

.tournament-user-summary-button--cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 11.75rem;
    min-height: 100%;
    padding: 1rem 1.15rem;
    border-color: rgba(var(--color-accent-200-rgb), 0.52);
    background:
        linear-gradient(180deg, rgba(var(--color-accent-300-rgb), 0.22), rgba(var(--color-accent-300-rgb), 0.12)),
        rgba(var(--color-brand-600-rgb), 0.34);
    color: rgba(var(--color-neutral-0-rgb), 0.96);
    box-shadow:
        inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.12),
        0 0.65rem 1.35rem rgba(var(--color-accent-900-rgb), 0.22);
    cursor: pointer;
    font-weight: var(--type-weight-emphasis);
}

.tournament-user-summary-button__label {
    font-size: 1rem;
    line-height: 1.1;
}

.tournament-user-summary-button--meta:hover:not(:disabled),
.tournament-user-summary-button--meta:active:not(:disabled) {
    border-color: rgba(var(--color-accent-300-rgb), 0.36);
    background:
        linear-gradient(180deg, rgba(var(--color-neutral-0-rgb), 0.06), rgba(var(--color-neutral-0-rgb), 0.024)),
        rgba(var(--color-brand-600-rgb), 0.16);
    color: var(--color-accent-200);
}

.tournament-user-summary-button--cta:hover:not(:disabled),
.tournament-user-summary-button--cta:active:not(:disabled) {
    border-color: rgba(var(--color-accent-200-rgb), 0.74);
    background:
        linear-gradient(180deg, rgba(var(--color-accent-300-rgb), 0.32), rgba(var(--color-accent-300-rgb), 0.18)),
        rgba(var(--color-brand-500-rgb), 0.42);
    color: rgba(var(--color-neutral-0-rgb), 1);
    transform: translateY(-1px);
}

.tournament-user-summary-button--cta:focus-visible {
    outline: 2px solid rgba(var(--color-accent-100-rgb), 0.86);
    outline-offset: 2px;
}

.tournament-user-summary-pot {
    color: rgba(var(--color-accent-100-rgb), 0.98);
}

.tournament-leaderboard-list {
    display: grid;
    gap: 0;
}

.tournament-leaderboard-item {
    margin-bottom: 0;
}

.leaderboard-mobile-list {
    display: none;
    gap: var(--space-12);
}

.leaderboard-mobile-row {
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    background: var(--app-surface);
    transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.leaderboard-mobile-row--selected {
    border-color: rgba(var(--color-accent-200-rgb), 0.48);
    background: rgba(var(--color-brand-700-rgb), 0.1);
    box-shadow:
        inset 0 0 0 1px rgba(var(--color-accent-200-rgb), 0.14),
        0 0 0 1px rgba(var(--color-accent-200-rgb), 0.16);
}

.leaderboard-mobile-row--owned {
    background: rgba(var(--color-brand-700-rgb), 0.16);
    border-color: rgba(var(--color-brand-700-rgb), 0.4);
}

.leaderboard-mobile-row--owned.leaderboard-mobile-row--selected {
    background: rgba(var(--color-brand-700-rgb), 0.22);
    border-color: rgba(var(--color-accent-200-rgb), 0.42);
}

.leaderboard-mobile-row__primary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--space-8);
    align-items: center;
    padding: var(--space-12) var(--space-14);
}

.leaderboard-mobile-row__rank-button {
    cursor: pointer;
    background: rgba(var(--color-neutral-0-rgb), 0.08);
    transition: transform 140ms ease, border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.leaderboard-mobile-row__primary .leaderboard-place-badge,
.leaderboard-mobile-row__rank-button {
    width: 2rem;
    min-width: 2rem;
    min-height: 1.9rem;
    font-size: 0.84rem;
    line-height: 1;
}

.leaderboard-mobile-row--selected .leaderboard-mobile-row__rank-button,
.leaderboard-mobile-row--selected .leaderboard-place-badge {
    border-color: rgba(var(--color-accent-200-rgb), 0.74);
    background: linear-gradient(180deg, rgba(var(--color-accent-200-rgb), 0.24), rgba(var(--color-accent-300-rgb), 0.18));
    color: rgba(var(--color-neutral-0-rgb), 0.96);
    box-shadow:
        0 0 0 2px rgba(var(--color-accent-100-rgb), 0.2),
        0 0 0 4px rgba(var(--color-accent-200-rgb), 0.16);
}

.leaderboard-mobile-row__rank-button:hover {
    transform: translateY(-1px);
    border-color: rgba(var(--color-neutral-0-rgb), 0.28);
    background: rgba(var(--color-neutral-0-rgb), 0.12);
}

.leaderboard-mobile-row__rank-button:focus-visible,
.leaderboard-mobile-row__body:focus-visible {
    outline: 2px solid rgba(var(--color-accent-200-rgb), 0.82);
    outline-offset: 2px;
}

.leaderboard-mobile-row__body {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr) auto;
    gap: var(--space-8);
    align-items: center;
    cursor: pointer;
    min-width: 0;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}

.leaderboard-mobile-row__trend {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.05rem;
}

.leaderboard-mobile-row__trend .trend-icon {
    --trend-icon-size: 1.68rem;
}

.leaderboard-mobile-row__trend .leaderboard-form-badge {
    --trend-fire-width: 3.55rem;
    --trend-subject-width: 1.42rem;
    --trend-crest-glow-size: 0.22rem;
    max-width: 3.55rem;
}

.leaderboard-mobile-row__trend--empty {
    min-height: 1.7rem;
}

.leaderboard-mobile-row__name,
.leaderboard-mobile-row__points {
    min-width: 0;
    white-space: nowrap;
}

.leaderboard-mobile-row__name {
    overflow: hidden;
    text-overflow: ellipsis;
}

.leaderboard-mobile-row__points {
    justify-self: end;
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-primary);
    font-variant-numeric: tabular-nums;
}

.leaderboard-mobile-row__expand {
    display: grid;
    gap: var(--space-8);
    margin: 0 var(--space-8) var(--space-8);
    padding: var(--space-14) var(--space-12) var(--space-12);
    border-top: 1px solid rgba(var(--color-neutral-0-rgb), 0.08);
    border-radius: 0.95rem;
    background:
        linear-gradient(180deg, rgba(var(--color-neutral-0-rgb), 0.05), rgba(var(--color-neutral-0-rgb), 0.02)),
        rgba(var(--color-brand-900-rgb), 0.14);
    box-shadow:
        inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.06),
        0 0.45rem 1rem rgba(var(--color-brand-900-rgb), 0.14);
}

.leaderboard-mobile-row__trend-summary {
    display: block;
    min-width: 0;
    padding-top: var(--space-6);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(var(--color-neutral-0-rgb), 0.78);
    font-size: var(--type-size-meta);
    line-height: 1.35;
    white-space: normal;
    text-align: left;
}

.leaderboard-mobile-row__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-10);
    min-width: 0;
    padding-top: var(--space-8);
    border-top: 1px solid rgba(var(--color-neutral-0-rgb), 0.08);
}

.leaderboard-mobile-row__footer-user {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(var(--color-neutral-0-rgb), 0.88);
    font-size: var(--type-size-meta);
    line-height: 1.2;
}

.leaderboard-mobile-row__footer-action {
    flex: 0 0 auto;
    white-space: nowrap;
}

.tournament-leaderboard-item--selected {
    background: rgba(var(--color-brand-700-rgb), 0.08);
    box-shadow: inset 0 0 0 var(--app-structure-border-width) var(--app-border-feature);
}

.tournament-leaderboard-item--owned {
    background: transparent;
    box-shadow: none;
}

.tournament-leaderboard-item--owned .compact-list-toggle {
    background: rgba(var(--color-brand-700-rgb), 0.24) !important;
    border-color: rgba(var(--color-brand-700-rgb), 0.58);
    box-shadow:
        inset 0.42rem 0 0 var(--app-primary),
        inset 0 0 0 1px rgba(var(--color-brand-700-rgb), 0.42);
}

.tournament-leaderboard-item--owned .compact-list-primary {
    color: var(--app-text-primary);
}

.editor-list > .tournament-leaderboard-item--owned:nth-child(even):not(.editor-list-item-expanded) {
    background: transparent;
}

.editor-list > .tournament-leaderboard-item--owned:nth-child(even):not(.editor-list-item-expanded) .compact-list-toggle {
    background: rgba(var(--color-brand-700-rgb), 0.26) !important;
}

.tournament-leaderboard-item--owned:hover {
    background: transparent;
}

.tournament-leaderboard-item--owned:hover .compact-list-toggle {
    background: rgba(var(--color-brand-700-rgb), 0.29) !important;
}

.tournament-leaderboard-item--selected.tournament-leaderboard-item--owned {
    background: transparent;
    box-shadow: none;
}

.tournament-leaderboard-item--selected.tournament-leaderboard-item--owned .compact-list-toggle {
    background: rgba(var(--color-brand-700-rgb), 0.33) !important;
    box-shadow:
        inset 0 0 0 var(--app-structure-border-width) var(--app-border-feature),
        inset 0.42rem 0 0 var(--app-primary),
        inset 0 0 0 1px rgba(var(--color-brand-700-rgb), 0.48);
}

.leaderboard-select-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    min-width: 2rem;
}

.leaderboard-select-checkbox {
    cursor: pointer;
}

.leaderboard-place-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    min-width: 2.35rem;
    min-height: 2.1rem;
    border-radius: 999px;
    border: var(--app-structure-border-width) solid var(--app-border);
    background: var(--app-surface-muted);
    color: var(--app-text-secondary);
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
}

.leaderboard-place-badge--leader {
    border-color: var(--app-warning-border);
    background: var(--app-accent-soft);
    color: var(--app-warning);
}

.trend-col {
    justify-self: center;
}

.leaderboard-trend-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-self: center;
    gap: 0.12rem;
    min-width: 3.25rem;
    min-height: 3.2rem;
}

.leaderboard-trend-defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

.trend-icon {
    --trend-icon-size: 2rem;
    --trend-icon-bg: rgba(var(--color-neutral-0-rgb), 0.08);
    --trend-icon-fg: var(--app-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--trend-icon-size);
    height: var(--trend-icon-size);
    flex: 0 0 auto;
    cursor: help;
    filter: drop-shadow(0 0.16rem 0.4rem rgba(var(--color-brand-900-rgb), 0.22));
}

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

.trend-icon--up {
    --trend-icon-bg: var(--app-success-strong);
    --trend-icon-fg: var(--color-neutral-0);
}

.trend-icon--down {
    --trend-icon-bg: var(--app-warning);
    --trend-icon-fg: var(--color-neutral-0);
}

.trend-icon--flat {
    --trend-icon-bg: rgba(var(--color-neutral-0-rgb), 0.08);
    --trend-icon-fg: var(--app-text-muted);
}

.leaderboard-form-badge {
    --trend-badge-mask: url('/branding/variants/logo-mark-transparent.png');
    --trend-fire-width: 4.5rem;
    --trend-fire-scale: 1.05;
    --trend-fire-speed-factor: 0.1;
    --trend-duration-floor: 3.2s;
    --trend-duration-back: 3.1s;
    --trend-duration-mid: 2.45s;
    --trend-duration-front: 2.05s;
    --trend-duration-ember: 3s;
    --trend-core: rgba(255, 248, 221, 1);
    --trend-inner: rgba(255, 245, 214, 1);
    --trend-mid: rgba(255, 159, 42, 1);
    --trend-edge: rgba(255, 79, 27, 1);
    --trend-glow: rgba(255, 110, 30, 0.35);
    --trend-glow-opacity: 0.6;
    --trend-glow-blur: 4.5px;
    --trend-floor-glow-opacity: 0.9;
    --trend-floor-glow-blur: 0.28rem;
    --trend-canvas-shadow: rgba(0, 18, 25, 0.18);
    --trend-subject-width: 1.74rem;
    --trend-subject-bottom: 13%;
    --trend-subject-shift-y: 0rem;
    --trend-crest-color: var(--app-primary);
    --trend-crest-shadow: rgba(var(--color-brand-900-rgb), 0.34);
    --trend-crest-glow: rgba(255, 204, 103, 0.8);
    --trend-crest-glow-size: 0.3rem;
    --trend-crest-bold-scale: 1.12;
    position: relative;
    display: inline-grid;
    place-items: center;
    width: min(100%, var(--trend-fire-width));
    max-width: 4.5rem;
    aspect-ratio: 1 / 1.08;
    flex: 0 0 auto;
    overflow: visible;
    isolation: isolate;
    cursor: help;
}

.leaderboard-form-badge::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 6%;
    height: calc(2.9rem * var(--trend-fire-scale));
    border-radius: 50%;
    background: radial-gradient(circle, var(--trend-glow) 0%, transparent 74%);
    filter: blur(var(--trend-floor-glow-blur));
    opacity: var(--trend-floor-glow-opacity);
    transform: scaleX(0.94) scaleY(0.96);
    z-index: 0;
}

.leaderboard-form-badge--animated::before {
    animation: trend-svg-fire-floor-glow calc(var(--trend-duration-floor) * var(--trend-fire-speed-factor)) steps(4, end) infinite;
}

.form-badge--top1 {
    --trend-fire-width: 4.5rem;
    --trend-fire-speed-factor: 0.1;
    --trend-duration-back: 3.1s;
    --trend-duration-mid: 2.45s;
    --trend-duration-front: 2.05s;
    --trend-duration-ember: 3s;
    --trend-core: rgba(255, 248, 221, 0.5);
    --trend-inner: rgba(255, 245, 214, 0.5);
    --trend-mid: rgba(255, 159, 42, 0.5);
    --trend-edge: rgba(255, 79, 27, 0.5);
    --trend-glow: rgba(255, 110, 30, 0.62);
    --trend-glow-opacity: 1;
    --trend-glow-blur: 6.2px;
    --trend-floor-glow-opacity: 1;
    --trend-floor-glow-blur: 0.38rem;
    --trend-crest-glow-size: 0.394rem;
}

.form-badge--top2 {
    --trend-fire-width: 2.94rem;
    --trend-fire-speed-factor: 0.2;
    --trend-duration-back: 8s;
    --trend-duration-mid: 7s;
    --trend-duration-front: 20s;
    --trend-duration-ember: 3s;
    --trend-core: rgba(255, 248, 221, 0.7);
    --trend-inner: rgba(255, 245, 214, 0.15);
    --trend-mid: rgba(255, 159, 42, 0.3);
    --trend-edge: rgba(255, 79, 27, 0.3);
    --trend-glow: rgba(255, 110, 30, 0.35);
    --trend-glow-opacity: 0.6;
    --trend-glow-blur: 4.7px;
    --trend-floor-glow-opacity: 0.9;
    --trend-floor-glow-blur: 0.294rem;
    --trend-crest-color: #fff8dd;
    --trend-crest-shadow: rgba(122, 83, 20, 0.58);
    --trend-crest-glow: rgba(255, 242, 173, 1);
    --trend-crest-glow-size: 1.15rem;
}

.form-badge--top3 {
    --trend-fire-width: 2.058rem;
    --trend-fire-speed-factor: 0.2;
    --trend-duration-back: 8s;
    --trend-duration-mid: 7s;
    --trend-duration-front: 20s;
    --trend-duration-ember: 3s;
    --trend-core: rgba(255, 248, 221, 0.2);
    --trend-inner: rgba(255, 245, 214, 0.1);
    --trend-mid: rgba(255, 159, 42, 0.1);
    --trend-edge: rgba(255, 79, 27, 0.1);
    --trend-glow: rgba(255, 110, 30, 0.1);
    --trend-glow-opacity: 0.17;
    --trend-glow-blur: 3.3px;
    --trend-floor-glow-opacity: 0.01;
    --trend-floor-glow-blur: 0.1rem;
    --trend-crest-color: var(--app-primary);
    --trend-crest-shadow: rgba(var(--color-brand-900-rgb), 0.28);
    --trend-crest-glow: rgba(255, 204, 103, 0);
    --trend-crest-glow-size: 0;
}

.leaderboard-form-badge__svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    z-index: 1;
    filter: drop-shadow(0 0.75rem 1.4rem var(--trend-canvas-shadow));
    transform: translateY(4%);
}

.leaderboard-form-badge__group {
    transform-origin: 50% 88%;
}

.leaderboard-form-badge--animated .leaderboard-form-badge__group--back {
    animation: trend-svg-fire-layer-back calc(var(--trend-duration-back) * var(--trend-fire-speed-factor)) steps(5, end) infinite;
}

.leaderboard-form-badge--animated .leaderboard-form-badge__group--mid {
    animation: trend-svg-fire-layer-mid-mirror calc(var(--trend-duration-mid) * var(--trend-fire-speed-factor)) steps(6, end) infinite;
}

.leaderboard-form-badge--animated .leaderboard-form-badge__group--front {
    animation: trend-svg-fire-layer-front calc(var(--trend-duration-front) * var(--trend-fire-speed-factor)) steps(7, end) infinite;
}

.leaderboard-form-badge--animated .leaderboard-form-badge__group--ember {
    animation: trend-svg-fire-droplet-mirror calc(var(--trend-duration-ember) * var(--trend-fire-speed-factor)) steps(5, end) infinite;
    transform-origin: 34% 44%;
}

.leaderboard-form-badge__layer--back {
    fill: var(--trend-edge);
}

.leaderboard-form-badge__layer--mid {
    fill: var(--trend-mid);
}

.leaderboard-form-badge__layer--front {
    fill: var(--trend-inner);
}

.leaderboard-form-badge__layer--core {
    fill: var(--trend-core);
}

.leaderboard-form-badge__layer--core-soft {
    opacity: 0.92;
}

.leaderboard-form-badge__glow {
    fill: var(--trend-glow);
    filter: blur(var(--trend-glow-blur));
    opacity: var(--trend-glow-opacity);
}

.leaderboard-form-badge__shine {
    fill: rgba(255, 255, 255, 0.18);
}

.leaderboard-form-badge__crest-shell {
    position: absolute;
    left: 50%;
    bottom: var(--trend-subject-bottom);
    width: var(--trend-subject-width);
    aspect-ratio: 716 / 713;
    transform: translateX(-50%) translateY(var(--trend-subject-shift-y));
    pointer-events: none;
    z-index: 3;
}

.form-badge--top2::before,
.form-badge--top2 .leaderboard-form-badge__svg,
.form-badge--top3::before,
.form-badge--top3 .leaderboard-form-badge__svg {
    display: none;
}

.form-badge--top2 .leaderboard-form-badge__crest-shell,
.form-badge--top3 .leaderboard-form-badge__crest-shell {
    top: 50%;
    bottom: auto;
    transform: translateX(-50%) translateY(-50%);
}

.form-badge--top2 .leaderboard-form-badge__crest-shell::before {
    content: "";
    position: absolute;
    inset: -18%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 242, 173, 0.72) 0%, rgba(255, 214, 102, 0.28) 42%, transparent 76%);
    filter: blur(0.55rem);
    opacity: 1;
    z-index: -1;
    pointer-events: none;
}

.form-badge--top2 .leaderboard-form-badge__crest {
    filter:
        drop-shadow(0 0.12rem 0.28rem var(--trend-crest-shadow))
        drop-shadow(0 0 0.5rem var(--trend-crest-glow))
        drop-shadow(0 0 1.05rem var(--trend-crest-glow))
        drop-shadow(0 0 1.55rem rgba(255, 234, 145, 0.52));
}

.leaderboard-form-badge__crest,
.leaderboard-form-badge__crest-bold {
    position: absolute;
    inset: 0;
    background: var(--trend-crest-color);
    -webkit-mask: var(--trend-badge-mask) center / contain no-repeat;
    mask: var(--trend-badge-mask) center / contain no-repeat;
}

.leaderboard-form-badge__crest-bold {
    transform: scale(var(--trend-crest-bold-scale));
    opacity: 0.9;
}

.leaderboard-form-badge__crest {
    filter:
        drop-shadow(0 0.15rem 0.32rem var(--trend-crest-shadow))
        drop-shadow(0 0 var(--trend-crest-glow-size) var(--trend-crest-glow));
}

.leaderboard-form-badge:not(.leaderboard-form-badge--animated) .leaderboard-form-badge__crest {
    filter: drop-shadow(0 0.14rem 0.28rem var(--trend-crest-shadow));
}

.leaderboard-special-pills {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    min-width: 0;
}

.leaderboard-special-pill-cell {
    justify-self: center;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.1rem;
    max-width: min(100%, 11rem);
    min-width: 0;
    text-align: center;
}

.leaderboard-special-header {
    min-width: 0;
    align-self: stretch;
    padding-inline: var(--space-6);
    white-space: normal;
    overflow: hidden;
    text-align: center;
    line-height: 1.2;
    text-wrap: balance;
    overflow-wrap: anywhere;
}

.leaderboard-special-pill {
    display: inline-block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-regular);
    color: var(--app-text-secondary);
    background: var(--app-surface-muted);
}

.leaderboard-compare-pill {
    max-width: min(22rem, 100%);
}

.leaderboard-section-card--compare {
    background:
        linear-gradient(180deg, rgba(var(--color-brand-700-rgb), 0.12), rgba(var(--color-brand-700-rgb), 0.04)),
        var(--app-surface);
}

.leaderboard-section-card--board {
    background: var(--app-surface);
}

.leaderboard-section-header {
    display: grid;
    gap: var(--space-12);
}

.leaderboard-section-header--compare {
    padding-bottom: var(--space-4);
    border-bottom: var(--app-structure-divider-width) solid rgba(var(--color-neutral-0-rgb), 0.08);
}

.leaderboard-section-header__copy {
    min-width: 0;
}

.leaderboard-section-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-8);
    align-items: center;
}

.leaderboard-compare-summary {
    display: grid;
}

.leaderboard-compare-summary-card {
    min-height: 100%;
}

.leaderboard-compare-summary-copy {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.leaderboard-compare-helper-button {
    display: none;
}

.leaderboard-compare-helper {
    display: grid;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-14);
    border: var(--app-structure-border-width) dashed rgba(var(--color-accent-200-rgb), 0.34);
    border-radius: var(--app-radius-panel-sm);
    background: rgba(var(--color-brand-700-rgb), 0.12);
    color: var(--app-text-secondary);
    font-size: var(--type-size-meta);
    line-height: 1.45;
}

.leaderboard-compare-helper:not(.leaderboard-compare-helper--desktop):not(.leaderboard-compare-helper--mobile) {
    display: none;
}

.leaderboard-compare-helper--desktop {
    gap: var(--space-6);
    padding: var(--space-14) var(--space-16);
}

.leaderboard-compare-helper--mobile {
    display: none;
    padding: 0;
    overflow: hidden;
}

.leaderboard-compare-helper--mobile-reference {
    display: none;
    padding: 0;
    overflow: hidden;
}

.leaderboard-compare-helper__title {
    color: var(--app-text-primary);
    font-size: var(--type-size-label);
    line-height: 1.25;
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
}

.leaderboard-compare-helper__toggle {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-12);
    align-items: center;
    width: 100%;
    padding: var(--space-12) var(--space-16);
    border: 0;
    background: transparent;
    color: var(--app-text-primary);
    text-align: left;
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
}

.leaderboard-compare-helper__toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.1rem;
    font-size: 1rem;
    line-height: 1;
    color: var(--app-text-secondary);
}

.leaderboard-compare-helper__copy {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.leaderboard-compare-helper--mobile .leaderboard-compare-helper__copy {
    padding: var(--space-12) var(--space-16) var(--space-16);
    border-top: 1px solid rgba(var(--color-neutral-0-rgb), 0.08);
}

.leaderboard-compare-helper__reference {
    display: grid;
    gap: var(--space-8);
    padding: var(--space-12) var(--space-16) var(--space-16);
}

.leaderboard-compare-helper__reference-pill {
    width: 100%;
    max-width: none;
    justify-content: flex-start;
}

.leaderboard-compare-helper__copy--reference {
    padding: 0;
}

.leaderboard-compare-helper__copy--mobile {
    display: none;
}

.leaderboard-compare-empty-state {
    display: grid;
    gap: var(--space-6);
    padding: var(--space-16);
    border: var(--app-structure-border-width) solid rgba(var(--color-neutral-0-rgb), 0.08);
    border-radius: var(--app-radius-panel-sm);
    background: rgba(var(--color-neutral-0-rgb), 0.05);
    color: var(--app-text-secondary);
}

.leaderboard-compare-delta {
    justify-self: end;
    min-width: 4.75rem;
    text-align: right;
    white-space: nowrap;
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-secondary);
    font-variant-numeric: tabular-nums;
}

.leaderboard-compare-delta--ahead {
    color: var(--app-success-strong);
}

.leaderboard-compare-delta--behind {
    color: var(--app-warning);
}

.leaderboard-compare-delta--level {
    color: var(--app-text-secondary);
}

.leaderboard-total-points {
    justify-self: end;
    min-width: 4.2rem;
    padding-right: var(--space-10);
    text-align: right;
    white-space: nowrap;
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-primary);
    font-variant-numeric: tabular-nums;
}

.leaderboard-delta-header,
.leaderboard-delta-cell {
    display: none;
}

.leaderboard-desktop-header > span:last-child {
    justify-self: end;
    padding-right: var(--space-10);
}

@keyframes trend-svg-fire-floor-glow {
    0%,
    100% {
        opacity: 0.56;
        transform: scaleX(0.88) scaleY(0.92);
    }

    24% {
        opacity: 0.96;
        transform: scaleX(1.08) scaleY(1.12);
    }

    52% {
        opacity: 0.72;
        transform: scaleX(0.92) scaleY(0.97);
    }

    78% {
        opacity: 1;
        transform: scaleX(1.14) scaleY(1.16);
    }
}

@keyframes trend-svg-fire-layer-back {
    0%,
    100% {
        transform: scale(0.92, 0.98) rotate(-4deg) translate(0.02rem, 0.22rem);
    }

    18% {
        transform: scale(1.1, 1.02) rotate(4.4deg) translate(-0.16rem, -0.38rem);
    }

    39% {
        transform: scale(0.95, 1.08) rotate(-5.1deg) translate(0.18rem, -0.1rem);
    }

    63% {
        transform: scale(1.08, 0.96) rotate(5.6deg) translate(-0.1rem, -0.46rem);
    }

    84% {
        transform: scale(0.97, 1.1) rotate(-3.6deg) translate(0.12rem, -0.18rem);
    }
}

@keyframes trend-svg-fire-layer-mid {
    0%,
    100% {
        transform: scale(0.93, 0.92) rotate(3.8deg) translate(0.08rem, 0.18rem);
    }

    16% {
        transform: scale(1.12, 1.08) rotate(-5.8deg) translate(-0.2rem, -0.52rem);
    }

    34% {
        transform: scale(0.98, 1.14) rotate(4.4deg) translate(0.16rem, -0.12rem);
    }

    58% {
        transform: scale(1.08, 0.94) rotate(-4.8deg) translate(-0.12rem, -0.6rem);
    }

    81% {
        transform: scale(0.96, 1.07) rotate(5.6deg) translate(0.14rem, -0.26rem);
    }
}

@keyframes trend-svg-fire-layer-mid-mirror {
    0%,
    100% {
        transform: scale(-0.93, 0.92) rotate(-3.8deg) translate(-0.08rem, 0.18rem);
    }

    16% {
        transform: scale(-1.12, 1.08) rotate(5.8deg) translate(0.2rem, -0.52rem);
    }

    34% {
        transform: scale(-0.98, 1.14) rotate(-4.4deg) translate(-0.16rem, -0.12rem);
    }

    58% {
        transform: scale(-1.08, 0.94) rotate(4.8deg) translate(0.12rem, -0.6rem);
    }

    81% {
        transform: scale(-0.96, 1.07) rotate(-5.6deg) translate(-0.14rem, -0.26rem);
    }
}

@keyframes trend-svg-fire-layer-front {
    0%,
    100% {
        transform: scale(0.9, 0.86) rotate(-4.8deg) translate(-0.06rem, 0.28rem);
    }

    14% {
        transform: scale(1.14, 1.18) rotate(6deg) translate(0.16rem, -0.76rem);
    }

    31% {
        transform: scale(0.98, 1.06) rotate(-5.4deg) translate(-0.18rem, -0.22rem);
    }

    47% {
        transform: scale(1.18, 1.1) rotate(7.2deg) translate(0.2rem, -0.92rem);
    }

    66% {
        transform: scale(0.95, 0.9) rotate(-6.8deg) translate(-0.12rem, -0.08rem);
    }

    84% {
        transform: scale(1.08, 1.14) rotate(5.2deg) translate(0.18rem, -0.56rem);
    }
}

@keyframes trend-svg-fire-droplet {
    0%,
    100% {
        transform: translate(0, 0) scale(0.82) rotate(-11deg);
        opacity: 0.5;
    }

    26% {
        transform: translate(0.08rem, -0.4rem) scale(1.08) rotate(8deg);
        opacity: 1;
    }

    53% {
        transform: translate(-0.12rem, -0.16rem) scale(0.9) rotate(-6deg);
        opacity: 0.72;
    }

    78% {
        transform: translate(0.12rem, -0.54rem) scale(1.14) rotate(10deg);
        opacity: 1;
    }
}

@keyframes trend-svg-fire-droplet-mirror {
    0%,
    100% {
        transform: translate(0, 0) scale(-0.82, 0.82) rotate(11deg);
        opacity: 0.5;
    }

    26% {
        transform: translate(-0.08rem, -0.4rem) scale(-1.08, 1.08) rotate(-8deg);
        opacity: 1;
    }

    53% {
        transform: translate(0.12rem, -0.16rem) scale(-0.9, 0.9) rotate(6deg);
        opacity: 0.72;
    }

    78% {
        transform: translate(-0.12rem, -0.54rem) scale(-1.14, 1.14) rotate(-10deg);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .leaderboard-form-badge__group {
        animation: none !important;
    }

    .leaderboard-form-badge--animated::before {
        animation: none;
        opacity: var(--trend-floor-glow-opacity);
        transform: scaleX(1) scaleY(1);
    }
}

.leaderboard-compare-panel {
    margin-bottom: 0;
    padding: 0;
}

.leaderboard-compare-panel--mobile {
    display: none;
}

.leaderboard-compare-table-wrapper {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    background: rgba(var(--color-neutral-0-rgb), 0.02);
}

.leaderboard-compare-table {
    width: 100%;
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.leaderboard-compare-table th,
.leaderboard-compare-table td {
    vertical-align: middle;
}

.leaderboard-compare-rank-cell,
.leaderboard-compare-trend-cell,
.leaderboard-compare-label-cell,
.leaderboard-compare-points-cell,
.leaderboard-compare-header-cell,
.leaderboard-compare-value-cell {
    padding: var(--space-10) var(--space-10);
    border: 0;
    border-radius: 0;
    background: transparent;
}

.leaderboard-compare-table thead > tr > * {
    padding-top: var(--space-12);
    padding-bottom: var(--space-12);
    background: rgba(var(--color-brand-700-rgb), 0.32);
    border-bottom: var(--app-structure-divider-width) solid var(--app-divider);
}

.leaderboard-compare-table tbody > tr + tr > * {
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
}

.leaderboard-compare-row:not(.leaderboard-compare-row--actual):nth-child(even) .leaderboard-compare-rank-cell,
.leaderboard-compare-row:not(.leaderboard-compare-row--actual):nth-child(even) .leaderboard-compare-trend-cell,
.leaderboard-compare-row:not(.leaderboard-compare-row--actual):nth-child(even) .leaderboard-compare-label-cell,
.leaderboard-compare-row:not(.leaderboard-compare-row--actual):nth-child(even) .leaderboard-compare-points-cell,
.leaderboard-compare-row:not(.leaderboard-compare-row--actual):nth-child(even) .leaderboard-compare-value-cell {
    background: var(--data-row-zebra-bg);
}

.leaderboard-compare-table tbody > tr:not(.leaderboard-compare-row--actual):hover > * {
    background: var(--data-row-hover-bg);
}

.leaderboard-compare-row--owned .leaderboard-compare-rank-cell,
.leaderboard-compare-row--owned .leaderboard-compare-trend-cell,
.leaderboard-compare-row--owned .leaderboard-compare-label-cell,
.leaderboard-compare-row--owned .leaderboard-compare-points-cell,
.leaderboard-compare-row--owned .leaderboard-compare-value-cell {
    background: rgba(var(--color-brand-700-rgb), 0.2) !important;
    box-shadow:
        inset 0 2px 0 rgba(var(--color-brand-700-rgb), 0.52),
        inset 0 -2px 0 rgba(var(--color-brand-700-rgb), 0.52);
}

.leaderboard-compare-row--owned .leaderboard-compare-rank-cell {
    box-shadow:
        inset 0.42rem 0 0 var(--app-primary),
        inset 2px 0 0 rgba(var(--color-brand-700-rgb), 0.52),
        inset 0 2px 0 rgba(var(--color-brand-700-rgb), 0.52),
        inset 0 -2px 0 rgba(var(--color-brand-700-rgb), 0.52);
}

.leaderboard-compare-row--owned .leaderboard-compare-label-cell,
.leaderboard-compare-row--owned .leaderboard-compare-rank-cell {
    color: var(--app-text-primary);
}

.leaderboard-compare-row--owned .leaderboard-compare-label-text {
    color: var(--app-text-primary);
}

.leaderboard-compare-row--owned > .leaderboard-compare-points-cell:last-child {
    box-shadow:
        inset -2px 0 0 rgba(var(--color-brand-700-rgb), 0.52),
        inset 0 2px 0 rgba(var(--color-brand-700-rgb), 0.52),
        inset 0 -2px 0 rgba(var(--color-brand-700-rgb), 0.52);
}

.leaderboard-compare-table tbody > tr.leaderboard-compare-row--owned:hover > * {
    background: rgba(var(--color-brand-700-rgb), 0.24) !important;
}

.leaderboard-mobile-compare-row__delta {
    justify-self: end;
    align-self: center;
    text-align: right;
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
    font-weight: var(--type-weight-emphasis);
    font-variant-numeric: tabular-nums;
}

.leaderboard-mobile-compare-row__primary {
    grid-template-columns: auto minmax(0, 1fr);
}

.leaderboard-mobile-compare-row {
    border-color: rgba(var(--color-brand-700-rgb), 0.26);
    background:
        linear-gradient(180deg, rgba(var(--color-brand-700-rgb), 0.08), rgba(var(--color-brand-700-rgb), 0.04)),
        var(--app-surface);
    box-shadow: inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.05);
}

.leaderboard-mobile-compare-row.leaderboard-mobile-row--owned {
    border-color: rgba(var(--color-brand-600-rgb), 0.34);
    background:
        linear-gradient(180deg, rgba(var(--color-brand-700-rgb), 0.14), rgba(var(--color-brand-700-rgb), 0.08)),
        var(--app-surface);
}

.leaderboard-mobile-compare-row .leaderboard-place-badge {
    border-color: rgba(var(--color-neutral-0-rgb), 0.14);
    background: rgba(var(--color-neutral-0-rgb), 0.05);
    color: rgba(var(--color-neutral-0-rgb), 0.84);
    box-shadow: none;
}

.leaderboard-mobile-compare-row .leaderboard-place-badge--leader {
    border-color: rgba(var(--color-warning-500-rgb), 0.34);
    background: rgba(var(--color-warning-500-rgb), 0.12);
    color: rgba(var(--color-accent-200-rgb), 0.96);
    box-shadow: none;
}

.leaderboard-mobile-compare-row__body {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr) auto;
    align-items: center;
    width: 100%;
    min-width: 0;
    gap: var(--space-8);
}

.leaderboard-mobile-compare-row__body .leaderboard-mobile-row__trend {
    min-width: 2.05rem;
}

.leaderboard-mobile-compare-row__body .leaderboard-mobile-row__name {
    min-width: 0;
}

.leaderboard-mobile-compare-row__expand {
    gap: 0;
    margin-top: var(--space-6);
    padding-inline: var(--space-10);
}

.leaderboard-mobile-compare-event {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 5.35rem 5.35rem;
    gap: var(--space-8);
    align-items: center;
    padding: var(--space-10) 0;
}

.leaderboard-mobile-compare-event--header {
    padding-top: 0;
    padding-bottom: var(--space-6);
    border-bottom: 1px solid rgba(var(--color-neutral-0-rgb), 0.08);
}

.leaderboard-mobile-compare-event + .leaderboard-mobile-compare-event {
    border-top: 1px solid rgba(var(--color-neutral-0-rgb), 0.08);
}

.leaderboard-mobile-compare-event__title,
.leaderboard-mobile-compare-event__guess,
.leaderboard-mobile-compare-event__reference {
    min-width: 0;
}

.leaderboard-mobile-compare-event__title {
    overflow: hidden;
    line-height: 1.25;
    color: var(--app-text-primary);
    font-weight: var(--type-weight-emphasis);
    text-wrap: balance;
}

.leaderboard-mobile-compare-event--header .leaderboard-mobile-compare-event__title,
.leaderboard-mobile-compare-event--header .leaderboard-mobile-compare-event__guess,
.leaderboard-mobile-compare-event--header .leaderboard-mobile-compare-event__reference {
    justify-content: flex-start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--app-text-muted);
    font-size: 0.72rem;
    font-weight: var(--type-weight-emphasis);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.leaderboard-mobile-compare-event--header .leaderboard-mobile-compare-event__guess,
.leaderboard-mobile-compare-event--header .leaderboard-mobile-compare-event__reference {
    justify-content: center;
}

.leaderboard-mobile-compare-event__guess,
.leaderboard-mobile-compare-event__reference {
    display: flex;
    width: 100%;
    min-height: 1.46rem;
    align-items: center;
    justify-content: center;
    align-self: center;
    padding: 0.14rem 0.38rem;
    border: 1px solid rgba(var(--color-neutral-0-rgb), 0.1);
    border-radius: 0.72rem;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-size: 0.76rem;
    line-height: 1.1;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.05);
}

.leaderboard-mobile-compare-event__guess {
    background: rgba(var(--color-accent-200-rgb), 0.16);
    border-color: rgba(var(--color-accent-200-rgb), 0.22);
    color: rgba(var(--color-neutral-0-rgb), 0.96);
}

.leaderboard-mobile-compare-event__reference {
    background: rgba(var(--color-neutral-0-rgb), 0.07);
    border-color: rgba(var(--color-neutral-0-rgb), 0.12);
    color: var(--app-text-secondary);
}

.leaderboard-compare-row--owned:nth-child(even) .leaderboard-compare-rank-cell,
.leaderboard-compare-row--owned:nth-child(even) .leaderboard-compare-trend-cell,
.leaderboard-compare-row--owned:nth-child(even) .leaderboard-compare-label-cell,
.leaderboard-compare-row--owned:nth-child(even) .leaderboard-compare-points-cell,
.leaderboard-compare-row--owned:nth-child(even) .leaderboard-compare-value-cell {
    background: rgba(var(--color-brand-700-rgb), 0.22) !important;
}

.leaderboard-compare-rank-cell {
    width: 4rem;
    min-width: 4rem;
    text-align: center;
}

.leaderboard-compare-rank-cell,
.leaderboard-compare-trend-cell {
    padding-inline: var(--space-8);
}

.leaderboard-compare-trend-cell {
    width: 4.5rem;
    min-width: 4.5rem;
    text-align: center;
}

.leaderboard-compare-trend-cell .leaderboard-trend-cell {
    min-width: 2.9rem;
    min-height: 2.65rem;
}

.leaderboard-compare-trend-cell .leaderboard-form-badge {
    --trend-fire-width: 2.8rem;
    max-width: 2.8rem;
}

.leaderboard-compare-trend-cell .trend-icon {
    --trend-icon-size: 1.6rem;
}

.leaderboard-compare-label-cell {
    width: 9.25rem;
    text-align: left;
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-secondary);
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}

.leaderboard-compare-label-text {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.leaderboard-compare-column-label {
    display: inline-flex;
    align-items: center;
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: var(--app-text-muted);
}

.leaderboard-compare-column-label--center {
    justify-content: center;
    width: 100%;
}

.leaderboard-compare-column-label--numeric {
    justify-content: flex-end;
    width: 100%;
}

.leaderboard-compare-rank-cell--header,
.leaderboard-compare-trend-cell--header,
.leaderboard-compare-label-cell--header,
.leaderboard-compare-points-cell--header,
.leaderboard-compare-header-cell--placeholder {
    border-style: dashed;
    background: var(--app-surface-muted);
}

.leaderboard-compare-rank-cell--header,
.leaderboard-compare-trend-cell--header,
.leaderboard-compare-label-cell--header,
.leaderboard-compare-points-cell--header {
    border-color: transparent;
    background: inherit;
}

.leaderboard-compare-rank-cell--header {
    text-align: left;
}

.leaderboard-compare-rank-cell--header .leaderboard-compare-column-label--numeric {
    justify-content: flex-start;
}

.leaderboard-compare-points-cell,
.leaderboard-compare-points-cell--header {
    padding-inline: var(--space-12);
}

.leaderboard-compare-label-cell--header {
    text-align: center;
}

.leaderboard-compare-rank-cell--actual,
.leaderboard-compare-trend-cell--actual,
.leaderboard-compare-label-cell--actual,
.leaderboard-compare-row--actual .leaderboard-compare-value-cell,
.leaderboard-compare-row--actual .leaderboard-compare-points-cell {
    padding-top: var(--space-12);
    padding-bottom: var(--space-12);
    background: var(--app-surface);
    box-shadow: inset 0 var(--app-structure-divider-width) 0 var(--app-border-feature), inset 0 calc(-1 * var(--app-structure-divider-width)) 0 var(--app-border-feature);
}

.leaderboard-compare-row--actual .leaderboard-compare-value-cell {
    color: var(--app-text-primary);
    font-weight: var(--type-weight-medium);
}

.leaderboard-compare-header-cell,
.leaderboard-compare-value-cell {
    padding-inline: var(--space-8);
    text-align: center;
}

.leaderboard-compare-header-stack {
    display: grid;
    gap: var(--space-4);
    justify-items: center;
    align-items: center;
    min-width: 0;
}

.leaderboard-compare-header-stack--match {
    gap: var(--space-8);
}

.leaderboard-compare-header-text,
.leaderboard-compare-header-participant,
.leaderboard-compare-cell-text {
    display: block;
    min-width: 0;
}

.leaderboard-compare-header-text,
.leaderboard-compare-header-participant {
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-medium);
    color: var(--app-text-primary);
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    text-align: center;
}

.leaderboard-compare-header-participant + .leaderboard-compare-header-participant {
    padding-top: var(--space-4);
    border-top: var(--app-structure-divider-width) dashed var(--app-divider);
}

.leaderboard-compare-cell-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.leaderboard-compare-value-cell {
    color: var(--app-text-secondary);
    font-weight: var(--type-weight-regular);
}

.leaderboard-compare-value-cell--placeholder {
    color: var(--bs-secondary-color);
    border-style: dashed;
    background: var(--app-surface-muted);
}

.leaderboard-compare-points-cell {
    width: 5.75rem;
    padding-inline: var(--space-8);
    text-align: right;
    white-space: nowrap;
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-primary);
    font-variant-numeric: tabular-nums;
}

.leaderboard-compare-points-cell.leaderboard-compare-delta,
.leaderboard-compare-points-cell--delta-header {
    text-align: center;
}

.leaderboard-compare-points-cell--delta-header .leaderboard-compare-column-label--numeric {
    justify-content: center;
}

.leaderboard-compare-points-cell.leaderboard-compare-delta {
    color: var(--app-text-secondary);
}

.leaderboard-compare-points-cell.leaderboard-compare-delta--ahead {
    color: var(--app-success-strong);
}

.leaderboard-compare-points-cell.leaderboard-compare-delta--behind {
    color: var(--app-warning);
}

.leaderboard-compare-points-cell.leaderboard-compare-delta--level {
    color: var(--app-text-secondary);
}

.leaderboard-compare-points-cell--actual {
    color: transparent;
}

.tournament-user-event-list {
    display: grid;
    gap: 0;
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    overflow: hidden;
    background: rgba(var(--color-neutral-0-rgb), 0.02);
    min-width: 0;
}

.tournament-user-ballot-list {
    display: grid;
    gap: 0;
}

.tournament-user-ballot-desktop-header {
    padding-right: calc(var(--app-control-height-sm) + var(--space-12) + var(--space-4));
}

.tournament-user-section-toggle,
.tournament-user-section-helper {
    display: none;
}

.tournament-user-list-section {
    min-width: 0;
}

.tournament-user-ballot-list > .editor-list-item {
    padding: 5px 0;
}

.tournament-user-ballot-mobile-list {
    display: none;
    gap: var(--space-10);
}

.tournament-user-ballot-mobile-row {
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    background: var(--app-surface);
    transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.tournament-user-ballot-mobile-row__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-8);
    align-items: center;
    padding: var(--space-10) var(--space-12);
}

.tournament-user-ballot-mobile-row__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-10);
    align-items: center;
    min-width: 0;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}

.tournament-user-ballot-mobile-row__main {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 0px 5px;
}

.tournament-user-ballot-mobile-row__name,
.tournament-user-ballot-mobile-row__status,
.tournament-user-ballot-mobile-row__summary {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tournament-user-ballot-mobile-row__name {
    color: var(--app-text-primary);
}

.tournament-user-ballot-mobile-row__status {
    color: var(--app-text-secondary);
    font-size: var(--type-size-meta);
    line-height: 1.2;
}

.tournament-user-ballot-mobile-row__summary {
    justify-self: end;
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: var(--app-text-primary);
}

.tournament-user-ballot-mobile-row__delete {
    flex: 0 0 auto;
}

.tournament-user-ballot-empty {
    padding: var(--space-12) var(--space-16);
    border-radius: var(--app-radius-panel-sm);
    border: 1px dashed var(--app-divider);
    background: var(--app-surface);
    color: var(--app-text-muted);
}

.tournament-user-event-row {
    padding: var(--space-12) var(--space-16);
    border-radius: 0;
    border: 0;
    background: transparent;
    transition: background-color 0.2s ease;
}

.tournament-user-event-list > .tournament-user-event-row + .tournament-user-event-row {
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
}

.tournament-user-event-row:hover {
    background: var(--data-row-hover-bg);
}

.tournament-user-event-list > .tournament-user-event-row:nth-child(even),
.condensed-event-list > .condensed-event-item:nth-child(even) {
    background: var(--data-row-zebra-bg);
}

.tournament-user-event-grid {
    display: grid;
    grid-template-columns: minmax(12rem, 1.8fr) minmax(7rem, 0.8fr) minmax(14rem, 2fr) minmax(8.25rem, 9.5rem);
    gap: var(--space-12) var(--space-16);
    align-items: center;
}

.tournament-user-event-grid .compact-list-primary,
.tournament-user-event-grid .compact-list-secondary {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tournament-user-event-value {
    min-width: 0;
    justify-self: end;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-variant-numeric: tabular-nums;
}

.tournament-user-event-value--awaiting,
.tournament-user-event-value--resolved,
.tournament-user-event-value--cancelled {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: var(--space-4) var(--space-12);
    border-radius: var(--app-radius-control-sm);
    border: 1px solid var(--app-border);
    background: var(--app-surface);
    font-weight: var(--type-weight-emphasis);
}

.tournament-user-event-value--awaiting {
    color: var(--app-warning);
    border-color: var(--app-warning-border);
    background: var(--app-warning-soft);
}

.tournament-user-event-value--resolved {
    color: rgba(var(--color-neutral-0-rgb), 0.98);
    border-color: rgba(var(--color-accent-300-rgb), 0.34);
    background: linear-gradient(180deg, rgba(var(--color-brand-600-rgb), 0.44), rgba(var(--color-brand-700-rgb), 0.34));
    box-shadow: inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.08);
}

.tournament-user-event-value--cancelled {
    color: var(--app-danger-strong);
    border-color: var(--app-danger-border);
    background: var(--app-danger-soft);
}

.tournament-user-event-mobile-list {
    display: none;
    gap: var(--space-10);
}

.tournament-user-event-mobile-row {
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    background: var(--app-surface);
    transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

.tournament-user-event-mobile-row__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-12);
    align-items: center;
    padding: var(--space-12) var(--space-16);
}

.tournament-user-event-mobile-row__main {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 5px 0px;
}

.tournament-user-event-mobile-row__name,
.tournament-user-event-mobile-row__description {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tournament-user-event-mobile-row__name {
    color: var(--app-text-primary);
}

.tournament-user-event-mobile-row__description {
    color: var(--app-text-secondary);
    font-size: var(--type-size-meta);
    line-height: 1.2;
}

.tournament-user-event-mobile-row__value {
    max-width: 8.4rem;
    min-width: 0;
}

.tournament-user-type-item {
    display: grid;
    gap: var(--space-16);
    padding: var(--card-padding);
    border-radius: var(--app-radius-panel);
    border: var(--app-structure-border-width) solid var(--app-border);
    background: var(--app-surface);
}

.tournament-user-rule-list {
    display: grid;
    gap: var(--space-12);
}

.tournament-user-rule-item {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-12) var(--space-16);
    border-radius: var(--app-radius-panel-sm);
    border: var(--app-structure-border-width) solid var(--app-border);
    background: var(--app-surface);
}

.tournament-user-rule-item span,
.tournament-user-rule-text {
    color: var(--app-text-secondary);
}

.ballot-guess-list {
    display: grid;
    gap: var(--space-16);
}

.ballot-guess-item {
    display: grid;
    gap: var(--space-16);
    padding: var(--card-padding);
    border-radius: var(--app-radius-panel);
    border: var(--app-structure-border-width) solid var(--app-border);
    background: var(--app-surface);
}

.ballot-guess-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-12) var(--space-16);
    align-items: flex-start;
}

.ballot-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: var(--space-4) var(--space-12);
    border-radius: 999px;
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
    white-space: nowrap;
    border: 1px solid transparent;
}

.ballot-status-pill--open {
    background: var(--app-info-soft);
    border-color: var(--app-info-border);
    color: var(--app-info);
}

.ballot-status-pill--draft {
    background: var(--app-surface-muted);
    border-color: var(--app-border);
    color: var(--app-text-secondary);
}

.ballot-status-pill--locked {
    background: var(--app-warning-soft);
    border-color: var(--app-warning-border);
    color: var(--app-warning);
}

.ballot-status-pill--resolved {
    background: var(--app-info-soft);
    border-color: var(--app-info-border);
    color: var(--app-info);
}

.ballot-status-pill--scored {
    background: linear-gradient(180deg, rgba(var(--color-brand-600-rgb), 0.34), rgba(var(--color-brand-700-rgb), 0.22));
    border-color: rgba(var(--color-accent-300-rgb), 0.3);
    color: rgba(var(--color-neutral-0-rgb), 0.98);
}

.ballot-status-pill--cancelled {
    background: var(--app-danger-soft);
    border-color: var(--app-danger-border);
    color: var(--app-danger-strong);
}

.ballot-status-pill--inactive {
    background: var(--app-surface-muted);
    border-color: var(--app-border);
    color: var(--app-text-secondary);
}

.ballot-guess-description {
    margin: 0;
    color: var(--app-text-secondary);
}

.ballot-rule-note {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-12) var(--space-16);
    border-radius: var(--app-radius-panel-sm);
    border: 1px solid var(--app-border);
    background: var(--app-surface);
    color: var(--app-text-secondary);
}

.ballot-guess-input-block {
    display: grid;
    gap: var(--form-group-spacing);
}

.ballot-match-inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: var(--space-12);
    align-items: end;
}

.ballot-match-side {
    display: grid;
    gap: var(--space-8);
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-secondary);
}

.ballot-match-separator {
    align-self: end;
    padding-bottom: var(--space-8);
    font-weight: var(--type-weight-medium);
    color: var(--bs-secondary-color);
}

.ballot-generic-input {
    max-width: 24rem;
}

.ballot-name-editor {
    display: grid;
    gap: var(--space-12);
    max-width: min(100%, 28rem);
}

.ballot-name-input-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-12);
    align-items: center;
}

.ballot-name-input {
    flex: 1 1 16rem;
    min-width: 0;
}

.ballot-name-help {
    color: var(--bs-secondary-color);
    font-size: var(--type-size-supporting);
    line-height: var(--type-line-height-supporting);
}

.ballot-header-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-8);
    width: 100%;
}

.ballot-header-pill {
    justify-content: center;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--type-size-supporting);
    line-height: var(--type-line-height-supporting);
    font-weight: var(--type-weight-emphasis);
    padding-inline: var(--space-8);
}

.ballot-header-pill--score {
    font-weight: var(--type-weight-emphasis);
    color: rgba(var(--color-neutral-0-rgb), 0.98);
    border-color: rgba(var(--color-accent-300-rgb), 0.3);
    background: linear-gradient(180deg, rgba(var(--color-brand-600-rgb), 0.34), rgba(var(--color-brand-700-rgb), 0.22));
    box-shadow: inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.08);
}

.ballot-form-warning {
    border-width: var(--app-structure-border-width);
}

.ballot-header-pill--points,
.ballot-header-pill--place {
    font-weight: var(--type-weight-emphasis);
}

.ballot-header-pill--neutral,
.ballot-header-pill--unranked {
    color: var(--app-text-secondary);
    background: var(--app-surface);
}

.ballot-header-pill--gap {
    color: var(--app-warning);
    border-color: var(--app-warning-border);
    background: var(--app-warning-soft);
}

.ballot-header-pill--ranked {
    color: var(--app-text-secondary);
    background: var(--app-surface-muted);
}

.ballot-header-pill--first {
    color: var(--app-warning);
    border-color: var(--app-warning-border);
    background: var(--app-accent-soft);
    font-weight: var(--type-weight-emphasis);
}

.ballot-rule-summary-section {
    display: grid;
    gap: var(--space-12);
    padding: var(--space-16) var(--space-24);
    border-radius: var(--app-radius-panel);
    border: 1px solid var(--app-border);
    background: var(--app-surface);
}

.ballot-rule-summary-list {
    display: grid;
    gap: var(--space-8);
}

.ballot-rule-summary-item {
    color: var(--app-text-secondary);
    line-height: var(--type-line-height-supporting);
}

.ballot-answer-header-row,
.ballot-answer-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1.5fr) minmax(12rem, 1.9fr) minmax(10rem, 1.15fr) minmax(10rem, 1.15fr) minmax(14rem, 1.6fr);
    gap: var(--space-12) var(--space-16);
    align-items: center;
}

.ballot-answer-header-row {
    padding: 0 var(--space-8);
}

.ballot-answer-list {
    display: grid;
    gap: 0;
}

.ballot-answer-item {
    border-radius: var(--app-radius-panel-sm);
}

.ballot-answer-meta {
    margin-top: var(--space-4);
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    color: var(--bs-secondary-color);
}

.ballot-row-grid {
    display: grid;
    grid-template-columns: 2.2rem minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(7.25rem, 0.9fr) minmax(11rem, 1fr) 2.2rem;
    gap: var(--space-8) var(--space-16);
    align-items: center;
    padding: var(--space-16);
}

.ballot-row-leading-placeholder,
.ballot-row-leading-indicator,
.ballot-row-action,
.ballot-row-action-score,
.ballot-row-action-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    min-width: 2.2rem;
    min-height: 2.2rem;
}

.ballot-row-leading-indicator {
    border-radius: 999px;
    border: 1px solid rgba(var(--color-accent-300-rgb), 0.28);
    background: linear-gradient(180deg, rgba(var(--color-brand-600-rgb), 0.34), rgba(var(--color-brand-700-rgb), 0.22));
    color: rgba(var(--color-neutral-0-rgb), 0.98);
    font-size: var(--type-size-body);
    box-shadow: inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.08);
}

.ballot-row-title,
.ballot-row-context,
.ballot-row-time,
.ballot-row-answer {
    min-width: 0;
}

.ballot-row-title {
    justify-self: stretch;
    text-align: left;
}

.ballot-row-context,
.ballot-row-time {
    justify-self: stretch;
    text-align: center;
}

.ballot-row-context {
    max-width: min(100%, 50ch);
    margin-inline: auto;
}

.ballot-row-time--outcome {
    color: var(--app-text-secondary);
    font-weight: var(--type-weight-emphasis);
}

.ballot-row-answer {
    justify-self: stretch;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.ballot-row-answer .compact-list-secondary,
.ballot-answer-readonly {
    width: 100%;
    text-align: right;
}

.ballot-row-action {
    justify-self: end;
}

.ballot-row-action-placeholder {
    justify-self: end;
}

.ballot-row-action-score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    min-width: 2.2rem;
    min-height: 2rem;
    padding: var(--space-4);
    border-radius: 999px;
    border: 1px solid rgba(var(--color-accent-300-rgb), 0.32);
    background: linear-gradient(180deg, rgba(var(--color-brand-600-rgb), 0.42), rgba(var(--color-brand-700-rgb), 0.28));
    color: rgba(var(--color-neutral-0-rgb), 0.99);
    font-weight: var(--type-weight-emphasis);
    justify-self: end;
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    box-shadow: inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.08);
}

.ballot-saved-answer-display,
.ballot-saved-match-display,
.condensed-match-outcome-editor,
.condensed-generic-outcome-editor {
    max-width: 100%;
}

.ballot-compact-answer-cell .condensed-match-outcome-editor,
.ballot-compact-answer-cell .condensed-generic-outcome-editor {
    justify-content: flex-start;
}

.ballot-saved-match-display {
    display: grid;
    grid-template-columns: 4.4rem auto 4.4rem;
    gap: var(--space-8);
    align-items: center;
}

.ballot-saved-answer-display {
    display: block;
    width: 100%;
}

.ballot-saved-answer-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.4rem;
    min-height: 2rem;
    padding: var(--space-4) var(--space-12);
    border-radius: var(--app-radius-control-sm);
    border: 1px solid var(--app-border);
    background: var(--app-surface);
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-primary);
}

.ballot-saved-answer-display .condensed-event-outcome-value {
    display: inline-flex;
    align-items: center;
    width: 100%;
    min-width: 8rem;
    min-height: 2rem;
    padding: var(--space-4) var(--space-12);
    border-radius: var(--app-radius-control-sm);
    border: 1px solid var(--app-border);
    background: var(--app-surface);
    color: var(--app-text-primary);
}

.ballot-answer-cell {
    min-width: 0;
    display: grid;
    gap: var(--space-4);
}

.ballot-answer-input-inline {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    max-width: 100%;
}

.ballot-answer-score-input {
    width: 4.4rem;
    min-width: 4.4rem;
    text-align: center;
}

.ballot-answer-input,
.ballot-answer-select {
    min-width: 0;
    max-width: 100%;
}

.ballot-answer-separator {
    color: var(--bs-secondary-color);
    font-weight: var(--type-weight-medium);
}

.ballot-answer-note {
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    color: var(--bs-secondary-color);
}

.ballot-row-note {
    grid-column: 5 / 7;
    text-align: right;
}

.ballot-answer-readonly {
    font-weight: var(--type-weight-emphasis);
    color: var(--app-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ballot-answer-list--mobile,
.ballot-mobile-event-row {
    display: none;
}

.ballot-mobile-event-row__primary {
    width: 100%;
    display: grid;
    grid-template-columns: 1.45rem minmax(0, 1fr);
    gap: var(--space-8);
    align-items: center;
    padding: 0.55rem 0.75rem;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
}

.ballot-mobile-event-row__indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    min-width: 1.55rem;
    min-height: 1.55rem;
    border-radius: 999px;
    border: 1px solid rgba(var(--color-neutral-0-rgb), 0.12);
    background: rgba(var(--color-neutral-0-rgb), 0.03);
    color: var(--app-text-secondary);
    font-size: 0.68rem;
    line-height: 1;
}

.ballot-mobile-event-row__indicator--saved {
    border-color: rgba(var(--color-brand-400-rgb), 0.34);
    background: rgba(var(--color-brand-500-rgb), 0.12);
    color: rgba(var(--color-neutral-0-rgb), 0.82);
}

.ballot-mobile-event-row__indicator--active {
    border-color: rgba(var(--color-brand-400-rgb), 0.42);
    background: rgba(var(--color-brand-500-rgb), 0.18);
    color: rgba(var(--color-neutral-0-rgb), 0.88);
}

.ballot-mobile-event-row__indicator--resolved {
    border-color: rgba(var(--color-neutral-0-rgb), 0.14);
    background: rgba(var(--color-brand-700-rgb), 0.16);
    color: rgba(var(--color-neutral-0-rgb), 0.74);
}

.ballot-mobile-event-row__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 4.85rem;
    gap: 0.4rem;
    align-items: start;
    min-width: 0;
}

.ballot-mobile-event-row__main {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
    padding-block: 0.05rem;
}

.ballot-mobile-event-row__value,
.ballot-mobile-event-row__reference {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ballot-mobile-event-row__title {
    min-width: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    white-space: normal;
    line-height: 1.16;
}

.ballot-mobile-event-row__context {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ballot-mobile-event-row__context {
    font-size: var(--type-size-meta);
    line-height: 1.2;
    opacity: 0.84;
}

.ballot-mobile-event-row__values {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
    align-self: center;
}

.ballot-mobile-event-row__value,
.ballot-mobile-event-row__reference {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 1.18rem;
    padding: 0.05rem 0.28rem;
    border-radius: 0.62rem;
    font-size: 0.66rem;
    line-height: 1.1;
    font-weight: var(--type-weight-emphasis);
    text-align: center;
}

.ballot-mobile-event-row__value--answered {
    color: rgba(var(--color-neutral-0-rgb), 0.92);
    border-color: rgba(var(--color-brand-400-rgb), 0.34);
    background: rgba(var(--color-brand-500-rgb), 0.14);
}

.ballot-mobile-event-row__value--draft {
    color: var(--app-warning);
    border-color: rgba(var(--color-warning-400-rgb), 0.42);
    background: rgba(var(--color-warning-500-rgb), 0.12);
}

.ballot-mobile-event-row__value--resolved {
    color: rgba(var(--color-neutral-0-rgb), 0.98);
    border-color: rgba(var(--color-accent-300-rgb), 0.34);
    background: linear-gradient(180deg, rgba(var(--color-brand-600-rgb), 0.44), rgba(var(--color-brand-700-rgb), 0.34));
    box-shadow: inset 0 1px 0 rgba(var(--color-neutral-0-rgb), 0.08);
}

.ballot-mobile-event-row__value--cancelled {
    color: var(--app-danger-strong);
    border-color: rgba(var(--color-danger-400-rgb), 0.38);
    background: rgba(var(--color-danger-500-rgb), 0.12);
}

.ballot-mobile-event-row__value--pending {
    color: var(--app-text-secondary);
    border-color: rgba(var(--color-neutral-0-rgb), 0.09);
    background: rgba(var(--color-brand-700-rgb), 0.14);
}

.ballot-mobile-event-row__reference--resolved {
    color: rgba(var(--color-neutral-0-rgb), 0.9);
    border-color: rgba(var(--color-neutral-0-rgb), 0.1);
    background: rgba(var(--color-neutral-0-rgb), 0.06);
}

.ballot-mobile-event-row__reference--scheduled {
    color: rgba(var(--color-neutral-0-rgb), 0.82);
    border-color: rgba(var(--color-neutral-0-rgb), 0.09);
    background: rgba(var(--color-brand-700-rgb), 0.14);
}

.ballot-mobile-event-row__reference--cancelled {
    color: var(--app-danger-strong);
    border-color: rgba(var(--color-danger-400-rgb), 0.34);
    background: rgba(var(--color-danger-500-rgb), 0.08);
}

.ballot-mobile-event-row__chevron {
    display: none;
}

.ballot-mobile-event-row__expand {
    display: grid;
    gap: 0.5rem;
    margin: 0 0.4rem 0.45rem;
    padding: 0.55rem 0.65rem 0.6rem;
    border-top: 1px solid rgba(var(--color-neutral-0-rgb), 0.08);
    border-radius: 0 0 0.82rem 0.82rem;
    background: rgba(var(--color-brand-700-rgb), 0.1);
}

.ballot-mobile-event-row__details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.42rem;
}

.ballot-mobile-event-row__details-item {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 0.45rem 0.55rem;
    border-radius: 0.66rem;
    border: 1px solid rgba(var(--color-neutral-0-rgb), 0.05);
    background: rgba(var(--color-brand-700-rgb), 0.1);
}

.ballot-mobile-event-row__details-item--wide {
    grid-column: 1 / -1;
}

.ballot-mobile-event-row__details-item--inline {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.45rem 0.65rem;
}

.ballot-mobile-event-row__meta-label,
.ballot-mobile-event-row__editor-label {
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: rgba(var(--color-neutral-0-rgb), 0.6);
}

.ballot-mobile-event-row__meta-value {
    min-width: 0;
    color: var(--app-text-secondary);
    font-size: 0.8rem;
    line-height: 1.3;
}

.ballot-mobile-event-row__editor {
    display: grid;
    gap: 0.42rem;
    padding: 0.5rem 0.55rem;
    border-radius: 0.72rem;
    border: 1px solid rgba(var(--color-neutral-0-rgb), 0.06);
    background: rgba(var(--color-brand-700-rgb), 0.12);
}

.ballot-mobile-event-row__editor-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
}

.ballot-mobile-event-row__editor-action,
.ballot-mobile-event-row__editor-score {
    flex-shrink: 0;
}

.ballot-mobile-event-row__editor-score {
    width: 1.9rem;
    min-width: 1.9rem;
    min-height: 1.72rem;
    font-size: 0.72rem;
    line-height: 1;
}

.ballot-mobile-event-row__editor-body {
    display: grid;
    gap: 0.42rem;
    min-width: 0;
    padding: 0.35rem 0.45rem;
    border-radius: 0.6rem;
    background: rgba(var(--color-brand-700-rgb), 0.08);
}

.ballot-mobile-event-row__editor-body .ballot-answer-readonly,
.ballot-mobile-event-row__editor-body .compact-list-secondary {
    text-align: left;
}

.ballot-mobile-event-row__editor-body .condensed-match-outcome-editor,
.ballot-mobile-event-row__editor-body .condensed-generic-outcome-editor {
    width: 100%;
    justify-content: flex-start;
}

.ballot-mobile-event-row__editor-body .ballot-saved-answer-display .condensed-event-outcome-value {
    width: auto;
    max-width: 100%;
}

.ballot-mobile-event-row__editor-body .ballot-saved-match-display {
    justify-content: flex-start;
}

.ballot-mobile-event-row__note {
    text-align: left;
}

.ballot-guess-footer {
    color: var(--bs-secondary-color);
    font-size: var(--type-size-supporting);
    line-height: var(--type-line-height-supporting);
}

.ballot-guess-readonly {
    display: grid;
    gap: var(--space-4);
    padding: var(--space-12) var(--space-16);
    border-radius: var(--app-radius-panel-sm);
    border: 1px dashed var(--app-divider);
    background: var(--app-surface-muted);
}

.ballot-guess-readonly-label {
    font-size: var(--type-size-label);
    line-height: var(--type-line-height-label);
    font-weight: var(--type-weight-medium);
    letter-spacing: var(--type-letter-spacing-label);
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}

.ballot-guess-item--open {
    background: var(--app-surface);
}

.ballot-guess-item--draft {
    background: var(--app-surface-muted);
    border-color: var(--app-border);
}

.ballot-guess-item--locked {
    background: var(--app-warning-soft);
    border-color: var(--app-warning-border);
}

.ballot-guess-item--resolved {
    background: var(--app-info-soft);
    border-color: var(--app-info-border);
}

.ballot-guess-item--scored {
    background: var(--app-success-soft);
    border-color: var(--app-success-border);
}

.ballot-guess-item--cancelled {
    background: var(--app-danger-soft);
    border-color: var(--app-danger-border);
}

.ballot-guess-item--inactive {
    background: var(--app-surface-muted);
    border-color: var(--app-border);
}

.ballot-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-12);
    justify-content: flex-end;
    margin-top: var(--section-spacing);
}

.ballot-form-actions--top {
    margin-top: 0;
}

.ballot-submit-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-12);
    padding-top: var(--space-8);
}

.page-with-mobile-action-bar {
    position: relative;
}

.mobile-action-bar {
    display: none;
}

.mobile-action-bar__panel {
    display: grid;
    gap: var(--space-8);
    padding: var(--space-12);
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel);
    background: var(--app-surface);
    box-shadow: var(--app-shadow-level-2);
}

.mobile-action-bar__label {
    color: var(--app-text-secondary);
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
}

.mobile-action-bar__actions {
    display: grid;
    gap: var(--space-8);
}

.mobile-action-bar__primary {
    min-height: var(--button-height-hero);
}

.event-schedule {
    min-width: 14rem;
}

.condensed-event-list {
    display: grid;
    gap: 0;
    border: var(--app-structure-border-width) solid var(--app-border);
    border-radius: var(--app-radius-panel-sm);
    overflow: hidden;
    background: rgba(var(--color-neutral-0-rgb), 0.02);
}

.condensed-event-item {
    padding: var(--space-16);
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
    transition: background-color 0.2s ease;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.condensed-event-item:hover {
    background: var(--data-row-hover-bg);
}

.condensed-event-list > .condensed-event-item + .condensed-event-item {
    border-top: var(--app-structure-divider-width) solid var(--app-divider);
}

.condensed-event-row {
    display: grid;
    grid-template-columns: minmax(4rem, auto) minmax(14rem, 2.2fr) minmax(6rem, auto) auto minmax(10rem, 1.2fr) auto;
    align-items: center;
    gap: var(--space-12) var(--space-16);
    min-width: 52rem;
}

.condensed-event-cell {
    min-width: 0;
}

.condensed-event-title {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.condensed-event-type {
    white-space: nowrap;
    color: var(--app-text-muted);
}

.condensed-event-state {
    justify-self: start;
}

.condensed-event-outcome-cell {
    min-width: 0;
    justify-self: end;
    text-align: right;
}

.condensed-event-outcome-value {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: var(--type-weight-medium);
    font-variant-numeric: tabular-nums;
}

.condensed-match-outcome-editor,
.condensed-generic-outcome-editor {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    max-width: 100%;
}

.condensed-outcome-input {
    width: 3.8rem;
    min-width: 3.8rem;
    text-align: center;
}

.condensed-outcome-text-input,
.condensed-outcome-select {
    min-width: 8rem;
    max-width: 14rem;
}

.condensed-outcome-separator {
    font-weight: var(--type-weight-medium);
    color: var(--bs-secondary-color);
}

.condensed-outcome-save-button {
    min-width: var(--app-control-height-sm);
    min-height: var(--app-control-height-sm);
    padding-inline: 0;
}

.condensed-event-edit-pill {
    min-width: var(--app-control-height-sm);
    min-height: var(--app-control-height-sm);
    padding-inline: 0;
    border-radius: var(--app-radius-control);
    line-height: 1;
}

.compact-event-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(10rem, 1.1fr) auto;
    align-items: stretch;
    gap: var(--space-12);
    padding-right: var(--space-4);
}

.compact-event-row--selectable {
    grid-template-columns: auto minmax(0, 1fr) minmax(10rem, 1.1fr);
    padding-left: var(--space-4);
}

.compact-event-select-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    min-width: 2.1rem;
}

.compact-event-select-checkbox {
    cursor: pointer;
}

.compact-event-toggle {
    width: 100%;
    min-width: 0;
    min-height: var(--table-row-min-height);
    padding: var(--space-12) var(--space-16);
    border: 1px solid transparent;
    border-radius: var(--app-radius-control);
    background: transparent;
    color: inherit;
    text-align: left;
}

.editor-list-toggle:hover,
.compact-list-toggle:hover,
.compact-event-toggle:hover {
    background: var(--data-row-hover-bg);
    border-color: var(--app-border-feature);
}

.editor-list-item-expanded .editor-list-toggle,
.editor-list-item-expanded .compact-event-toggle {
    background: var(--bs-primary-bg-subtle);
    border-color: var(--bs-primary-border-subtle);
}

.compact-event-grid {
    display: grid;
    grid-template-columns: minmax(4rem, auto) minmax(14rem, 2.2fr) auto auto;
    align-items: center;
    gap: var(--space-12) var(--space-16);
    min-width: 0;
}

.compact-event-outcome-cell {
    min-width: 0;
    align-self: center;
    justify-self: end;
    text-align: right;
}

.compact-event-outcome-cell .condensed-match-outcome-editor,
.compact-event-outcome-cell .condensed-generic-outcome-editor {
    justify-content: flex-start;
}

.compact-event-outcome-change {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
}

.event-bulk-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-12);
    margin-bottom: var(--space-16);
}

.event-bulk-selection-label {
    margin-left: var(--space-4);
    margin-right: var(--space-4);
}

.event-bulk-status-select {
    min-width: 11.5rem;
    max-width: 14rem;
}

.event-bulk-rule-set-select {
    min-width: 13.5rem;
    max-width: 17rem;
}

.condensed-event-empty {
    padding: var(--space-16);
    border: 1px dashed var(--app-divider);
    border-radius: var(--app-radius-panel-sm);
    background: var(--app-surface-muted);
    color: var(--app-text-muted);
}

.rule-set-list-item,
.rule-list-item {
    margin-bottom: 0;
}

.rule-preset-chip {
    min-height: var(--app-control-height-sm);
    padding-inline: var(--space-12);
    border-radius: var(--app-radius-control);
}

.rule-preset-chip:hover:not(:disabled),
.rule-preset-chip:active:not(:disabled) {
    color: var(--app-primary);
    background: var(--bs-primary-bg-subtle);
    border-color: var(--app-primary);
}

.rule-points-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5rem;
    padding: var(--space-8) var(--space-16);
    border-radius: var(--app-radius-control);
    border: 1px solid var(--app-accent-border);
    background: var(--app-accent-soft);
    color: var(--app-text-primary);
    font-size: var(--type-size-meta);
    line-height: var(--type-line-height-meta);
    font-weight: var(--type-weight-emphasis);
}

.dashboard-placeholder-rank,
.leaderboard-place-badge,
.leaderboard-total-points,
.leaderboard-compare-points-cell {
    font-size: var(--type-size-body);
    line-height: var(--type-line-height-body);
    font-weight: var(--type-weight-medium);
}

.leaderboard-compare-delta,
.ballot-row-action-score,
.rule-points-pill,
.ballot-header-pill--score,
.ballot-header-pill--points,
.ballot-header-pill--place {
    font-size: var(--type-size-ui);
    line-height: var(--type-line-height-supporting);
    font-weight: var(--type-weight-medium);
}

@media (max-width: 991.98px) {
    .card-body.p-lg-4,
    .card-body.p-lg-5 {
        padding: var(--card-padding) !important;
    }

    .tournament-page-hero__admin {
        width: 100%;
    }

    .tournament-backdrop-upload__dropzone {
        min-height: 7.5rem;
    }

    .dashboard-summary-strip {
        grid-template-columns: 1fr;
    }

    .compact-list-grid--tournament,
    .compact-list-grid--participant,
    .compact-list-grid--group,
    .compact-list-grid--rule-set,
    .compact-list-grid--ballot,
    .compact-list-grid--leaderboard,
    .compact-list-grid--admin-ballots,
    .compact-list-grid--event-view,
    .data-list-header-main,
    .data-list-header--condensed-event,
    .data-list-header--compact-event,
    .tournament-user-event-grid,
    .ballot-answer-row,
    .ballot-match-inputs {
        grid-template-columns: 1fr;
    }

    .tournament-user-summary-actions {
        justify-content: stretch;
    }

    .tournament-user-summary-header {
        flex-direction: column;
        align-items: stretch;
    }

    .tournament-user-summary-button,
    .tournament-user-enrol-button {
        width: 100%;
    }

    .tournament-user-summary-main {
        gap: var(--space-10);
    }

    .tournament-user-summary-panels {
        flex-basis: 100%;
        width: 100%;
    }

    .tournament-user-summary-grid {
        width: 100%;
        grid-template-columns: 1fr;
        gap: var(--space-10);
    }

    .tournament-user-summary-card {
        padding: 0.72rem 0.9rem 0.78rem;
    }

    .tournament-user-summary-action {
        width: 100%;
        margin-left: 0;
    }

    .tournament-user-summary-bar {
        grid-template-columns: 1fr;
    }

    .tournament-user-summary-button--cta {
        width: 100%;
        min-height: 3.25rem;
        justify-content: center;
        gap: var(--space-8);
        padding-block: 0.78rem;
    }

    .leaderboard-place-badge,
    .leaderboard-trend-cell,
    .leaderboard-compare-delta,
    .leaderboard-total-points {
        justify-self: start;
    }

    .leaderboard-trend-cell {
        flex-direction: row;
        align-items: center;
    }

    .leaderboard-special-pills {
        flex-wrap: wrap;
    }

    .leaderboard-desktop-header,
    .leaderboard-desktop-list {
        display: none;
    }

    .leaderboard-mobile-list {
        display: grid;
    }

    .tournament-user-ballot-desktop-header,
    .tournament-user-ballot-desktop-list {
        display: none;
    }

    .tournament-user-section-heading--desktop {
        display: none;
    }

    .tournament-user-section-heading--mobile {
        display: flex;
    }

    .tournament-user-list-section {
        gap: 0 !important;
    }

    .tournament-user-section-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: var(--space-12) var(--space-16);
        align-items: center;
        width: 100%;
        padding: var(--space-12) var(--space-16);
        border: var(--app-structure-border-width) solid rgba(var(--color-neutral-0-rgb), 0.08);
        border-radius: var(--app-radius-panel-sm) var(--app-radius-panel-sm) 0 0;
        border-bottom: 0;
        background: rgba(var(--color-brand-700-rgb), 0.32);
        color: rgba(var(--color-neutral-0-rgb), 0.78);
        text-align: left;
        font-size: var(--type-size-label);
        line-height: var(--type-line-height-label);
        font-weight: var(--type-weight-medium);
        letter-spacing: var(--type-letter-spacing-label);
        text-transform: uppercase;
    }

    .tournament-user-section-toggle__chevron {
        color: rgba(var(--color-neutral-0-rgb), 0.78);
        font-size: 0.95rem;
        line-height: 1;
    }

    .tournament-user-section-helper {
        display: block;
        margin-top: 0;
        padding: var(--space-12) var(--space-16) var(--space-14);
        border-left: var(--app-structure-border-width) solid rgba(var(--color-neutral-0-rgb), 0.08);
        border-right: var(--app-structure-border-width) solid rgba(var(--color-neutral-0-rgb), 0.08);
        border-bottom: var(--app-structure-border-width) solid rgba(var(--color-neutral-0-rgb), 0.08);
        background: rgba(var(--color-brand-700-rgb), 0.12);
        color: var(--app-text-secondary);
        font-size: 0.88rem;
        line-height: 1.45;
    }

    .tournament-user-ballot-mobile-list {
        display: grid;
        gap: 0;
        margin-top: 0;
    }

    .tournament-user-event-desktop-header,
    .tournament-user-event-desktop-list {
        display: none;
    }

    .tournament-user-event-mobile-list {
        display: grid;
        gap: 0;
        margin-top: 0;
    }

    .leaderboard-compare-panel--desktop {
        display: none;
    }

    .leaderboard-compare-panel--mobile {
        display: grid;
        gap: var(--space-12);
    }

    .leaderboard-compare-summary {
        display: none;
    }

    .leaderboard-compare-helper--desktop {
        display: none;
    }

    .leaderboard-compare-helper--mobile {
        display: grid;
    }

    .leaderboard-compare-helper--mobile-reference {
        display: grid;
    }

    .leaderboard-section-header--compare {
        display: none;
    }

    .dashboard-preview-row {
        grid-template-columns: 2.25rem minmax(0, 1fr) auto;
        grid-template-areas:
            "place ballot points"
            "place special-one special-two";
        align-items: start;
    }

    .dashboard-preview-place {
        grid-area: place;
        margin-top: 0.125rem;
    }

    .dashboard-preview-ballot {
        grid-area: ballot;
    }

    .dashboard-preview-special-one {
        grid-area: special-one;
    }

    .dashboard-preview-special-two {
        grid-area: special-two;
    }

    .dashboard-preview-points {
        grid-area: points;
        align-self: center;
    }

    .ballot-row-grid {
        grid-template-columns: 2.2rem minmax(0, 1fr) 2.2rem;
        gap: var(--space-4) var(--space-12);
    }

    .ballot-header-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-8);
    }

    .ballot-header-pill {
        font-size: var(--type-size-meta);
        padding-inline: var(--space-8);
    }

    .ballot-answer-list--desktop {
        display: none;
    }

    .ballot-answer-list--mobile,
    .ballot-mobile-event-row {
        display: grid;
    }

    .ballot-row-leading-placeholder {
        display: none;
    }

    .ballot-row-title,
    .ballot-row-context,
    .ballot-row-time,
    .ballot-row-answer {
        grid-column: 2;
        justify-self: stretch;
        text-align: left;
    }

    .ballot-row-context,
    .ballot-row-time {
        margin-inline: 0;
    }

    .ballot-row-answer {
        justify-content: flex-start;
    }

    .ballot-row-answer .compact-list-secondary,
    .ballot-answer-readonly {
        text-align: left;
    }

    .ballot-row-action,
    .ballot-row-action-score,
    .ballot-row-action-placeholder {
        grid-column: 3;
        grid-row: 1 / span 4;
        align-self: start;
    }

    .ballot-row-note {
        grid-column: 2 / 4;
        text-align: left;
    }

    .ballot-answer-header-row {
        display: none;
    }

    .ballot-match-separator {
        display: none;
    }

    .ballot-mobile-event-row__primary {
        padding-inline: 0.7rem;
        padding-block: 0.52rem;
    }

    .ballot-mobile-event-row__body {
        grid-template-columns: minmax(0, 1fr) 4.55rem;
        gap: 0.36rem;
    }

    .ballot-mobile-event-row__expand {
        margin-inline: 0.32rem;
        padding: 0.46rem 0.5rem 0.52rem;
    }
}

@media (max-width: 575.98px) {
    .leaderboard-mobile-row__primary {
        gap: var(--space-6);
        padding-inline: var(--space-12);
    }

    .leaderboard-mobile-row__body {
        grid-template-columns: 2.35rem minmax(0, 1fr) auto;
        gap: var(--space-6);
    }

    .tournament-user-event-mobile-row__body {
        gap: var(--space-8);
        padding-inline: var(--space-16);
        padding-block: var(--space-11);
    }

    .tournament-user-ballot-mobile-row__layout {
        gap: var(--space-6);
        padding-inline: var(--space-14);
        padding-block: var(--space-11);
    }

    .tournament-user-ballot-mobile-row__body {
        gap: var(--space-8);
        padding: 5px 15px;
    }

    .tournament-user-ballot-mobile-row__status {
        font-size: 0.76rem;
    }

    .tournament-user-ballot-mobile-row__summary {
        font-size: 0.8rem;
    }

    .ballot-mobile-event-row__primary {
        padding-inline: 0.6rem;
    }

    .ballot-mobile-event-row__body {
        grid-template-columns: minmax(0, 1fr) 4.3rem;
        gap: 0.34rem;
    }

    .ballot-mobile-event-row__value,
    .ballot-mobile-event-row__reference {
        font-size: 0.7rem;
        min-height: 1.18rem;
        padding-inline: 0.24rem;
    }

    .ballot-mobile-event-row__context,
    .ballot-mobile-event-row__meta-value {
        font-size: 0.76rem;
    }

    .ballot-mobile-event-row__details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.34rem;
    }

    .ballot-mobile-event-row__details-item--wide {
        grid-column: 1 / -1;
    }

    .tournament-user-event-mobile-row__value {
        max-width: 7.15rem;
        font-size: 0.78rem;
    }

    .tournament-user-event-mobile-row__description {
        font-size: 0.76rem;
    }

    .leaderboard-mobile-compare-event {
        grid-template-columns: minmax(0, 1fr) 4.8rem 4.8rem;
        gap: 0.35rem;
        font-size: 0.8rem;
    }

    .leaderboard-mobile-compare-row__body {
        gap: var(--space-6);
    }

    .leaderboard-mobile-compare-event__title {
        font-size: 0.8rem;
    }

    .leaderboard-mobile-compare-event__guess,
    .leaderboard-mobile-compare-event__reference {
        min-height: 1.34rem;
        padding-inline: 0.28rem;
        font-size: 0.7rem;
    }

    .leaderboard-mobile-row__expand {
        gap: 0.42rem;
        margin-inline: var(--space-6);
        padding: var(--space-12) var(--space-10) var(--space-12);
        padding-bottom: var(--space-12);
    }

    .leaderboard-mobile-compare-row__expand {
        margin-top: var(--space-8);
        padding-inline: var(--space-8);
    }

    .leaderboard-mobile-row__trend-summary {
        font-size: 0.8rem;
    }

    .leaderboard-mobile-row__footer {
        gap: var(--space-8);
    }

    .leaderboard-mobile-row__footer-action {
        padding-inline: 0.6rem;
    }

    .leaderboard-mobile-row__trend .trend-icon {
        --trend-icon-size: 1.52rem;
    }

    .leaderboard-mobile-row__trend .leaderboard-form-badge {
        --trend-fire-width: 3.2rem;
        --trend-subject-width: 1.3rem;
        max-width: 3.2rem;
    }
}

@media (max-width: 767.98px) {
    :root {
        --app-control-height-sm: var(--mobile-touch-target-min);
        --app-control-height: var(--mobile-touch-target-min);
        --button-height: var(--mobile-touch-target-min);
    }

    .tournament-page-hero__media {
        display: none;
    }

    .tournament-page-hero__floating-action {
        position: static;
        z-index: auto;
        margin-bottom: var(--space-12);
        justify-content: flex-end;
    }

    .brand-section-heading {
        gap: var(--space-8);
    }

    .brand-section-heading__mark {
        width: 2rem;
        min-width: 2rem;
    }

    .brand-empty-state {
        gap: var(--space-12);
    }

    .brand-empty-state__mark {
        width: 2rem;
        min-width: 2rem;
    }

    .content .type-label,
    .content .type-meta,
    .content .type-supporting,
    .content small,
    .content .form-label,
    .content .form-text,
    .content .compact-list-secondary,
    .content .dashboard-meta-pill,
    .content .stat-card-label,
    .content .stat-card-delta,
    .content .data-list-header,
    .content .table > thead > tr > *,
    .content .editor-list-label,
    .content .leaderboard-compare-column-label,
    .content .leaderboard-compare-header-text,
    .content .leaderboard-compare-header-participant,
    .content .tournament-date-month,
    .content .ballot-name-help,
    .content .ballot-header-pill,
    .content .ballot-guess-readonly-label {
        font-size: var(--type-size-meta);
        line-height: var(--type-line-height-meta);
    }

    .page-header-actions,
    .dashboard-admin-actions,
    .tournament-user-summary-actions,
    .ballot-form-actions,
    .ballot-name-input-row,
    .auth-form-actions,
    .ballot-submit-actions {
        width: 100%;
        display: grid;
        gap: var(--space-12);
        align-items: stretch;
        justify-items: stretch;
    }

    .page-header-actions > *,
    .dashboard-admin-actions > *,
    .tournament-user-summary-actions > *,
    .ballot-form-actions > *,
    .ballot-name-input-row > *,
    .auth-form-actions > *,
    .ballot-submit-actions > * {
        width: 100%;
        margin-inline: 0;
    }

    .page-header-actions .dashboard-meta-pill {
        justify-content: center;
    }

    .dashboard-welcome-row {
        flex-direction: column;
        align-items: stretch;
    }

    .dashboard-account-summary {
        padding: var(--space-16);
    }

    .dashboard-account-panel {
        padding: 0 var(--space-16) var(--space-16);
    }

    .dashboard-account-panel__content {
        grid-template-columns: 1fr;
        align-items: stretch;
        margin-top: var(--space-16);
        padding: var(--space-16);
    }

    .dashboard-account-panel__actions {
        justify-content: stretch;
    }

    .dashboard-account-panel__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .dashboard-badges {
        justify-content: flex-start;
    }

    .stat-card-group {
        grid-template-columns: 1fr;
    }

    .ballot-name-editor {
        max-width: none;
    }

    .ballot-name-input-row {
        align-items: stretch;
    }

    .ballot-name-inline-action,
    .ballot-submit-actions {
        display: none;
    }

    .page-with-mobile-action-bar {
        padding-bottom: calc(var(--space-48) + var(--space-48) + env(safe-area-inset-bottom));
    }

    .mobile-action-bar {
        display: block;
        position: fixed;
        inset-inline: 0;
        bottom: 0;
        z-index: var(--mobile-action-bar-z);
        padding:
            var(--space-12)
            calc(var(--layout-gutter-mobile) + env(safe-area-inset-right))
            calc(var(--space-12) + env(safe-area-inset-bottom))
            calc(var(--layout-gutter-mobile) + env(safe-area-inset-left));
        pointer-events: none;
    }

    .mobile-action-bar__panel {
        max-width: var(--layout-max-width);
        margin-inline: auto;
        pointer-events: auto;
    }
}

@media (max-width: 575.98px) {
    .ballot-header-meta {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 992px) {
    .data-list-header {
        display: grid;
    }

    .tournament-page-hero__header {
        align-items: flex-start;
    }

    .card-body.p-lg-4,
    .card-body.p-lg-5 {
        padding: var(--section-spacing-lg) !important;
    }
}
