:root {
--estrxm-bg: #0d1117;
--estrxm-surface: #161b22;
--estrxm-surface-2: #1c2330;
--estrxm-border: #2a3240;
--estrxm-text: #e6edf3;
--estrxm-muted: #8d99ab;
--estrxm-accent: #ff5a1f;
--estrxm-accent-ink: #0d1117;
--estrxm-ok: #2ea043;
--estrxm-warn: #d29922;
--estrxm-bad: #da3633;
--estrxm-radius: 12px;
--estrxm-gap: 16px;
--estrxm-max: 1120px;
}
.estrxm-calendar,
.estrxm-cards {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: var(--estrxm-gap);
max-width: var(--estrxm-max);
margin-inline: auto;
padding-block: var(--estrxm-gap);
}
.estrxm-card {
background: var(--estrxm-surface);
border: 1px solid var(--estrxm-border);
border-radius: var(--estrxm-radius);
padding: 20px;
display: flex;
flex-direction: column;
gap: 6px;
color: var(--estrxm-text);
}
.estrxm-card h3 {
margin: 0;
font-size: clamp(1.05rem, 1.6vw, 1.35rem);
line-height: 1.25;
letter-spacing: -0.01em;
}
.estrxm-kicker {
margin: 0;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--estrxm-accent);
}
.estrxm-meta,
.estrxm-muted {
color: var(--estrxm-muted);
font-size: 0.88rem;
margin: 0;
}
.estrxm-btn {
align-self: flex-start;
margin-top: auto;
display: inline-block;
padding: 10px 16px;
border-radius: 8px;
background: var(--estrxm-accent);
color: var(--estrxm-accent-ink);
font-weight: 700;
font-size: 0.9rem;
text-decoration: none;
border: 0;
cursor: pointer;
}
.estrxm-btn:hover {
filter: brightness(1.08);
text-decoration: none;
}
.estrxm-btn.is-muted {
background: var(--estrxm-surface-2);
color: var(--estrxm-muted);
cursor: not-allowed;
}
.estrxm-race {
max-width: var(--estrxm-max);
margin-inline: auto;
padding-block: 8px 40px;
color: var(--estrxm-text);
}
.estrxm-race-head {
border-bottom: 1px solid var(--estrxm-border);
padding-bottom: 18px;
margin-bottom: 24px;
}
.estrxm-race-head h2 {
margin: 4px 0 8px;
font-size: clamp(1.5rem, 3.4vw, 2.4rem);
letter-spacing: -0.02em;
}
.estrxm-section {
margin-top: 34px;
}
.estrxm-section h3 {
font-size: 1.1rem;
letter-spacing: 0.02em;
text-transform: uppercase;
margin: 0 0 12px;
}
.estrxm-table {
width: 100%;
border-collapse: collapse;
background: var(--estrxm-surface);
border: 1px solid var(--estrxm-border);
border-radius: var(--estrxm-radius);
overflow: hidden;
font-size: 0.94rem;
}
.estrxm-table th,
.estrxm-table td {
text-align: left;
padding: 11px 14px;
border-bottom: 1px solid var(--estrxm-border);
vertical-align: top;
}
.estrxm-table thead th {
background: var(--estrxm-surface-2);
font-size: 0.74rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--estrxm-muted);
}
.estrxm-table tbody tr:last-child td {
border-bottom: 0;
}
.estrxm-num {
font-variant-numeric: tabular-nums;
text-align: right;
}
.estrxm-standings-block + .estrxm-standings-block {
margin-top: 34px;
}
.estrxm-docs {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: 8px;
}
.estrxm-docs li {
display: flex;
flex-wrap: wrap;
align-items: baseline;
justify-content: space-between;
gap: 8px;
padding: 12px 14px;
background: var(--estrxm-surface);
border: 1px solid var(--estrxm-border);
border-radius: 10px;
}
.estrxm-docs a {
color: var(--estrxm-text);
font-weight: 600;
text-decoration: none;
}
.estrxm-docs a:hover {
color: var(--estrxm-accent);
} .estrxm-registration {
margin-top: 40px;
padding: 24px;
background: var(--estrxm-surface);
border: 1px solid var(--estrxm-border);
border-radius: var(--estrxm-radius);
color: var(--estrxm-text);
}
.estrxm-registration h3 {
margin-top: 0;
}
.estrxm-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 14px 18px;
}
.estrxm-grid p,
.estrxm-registration > form > p {
margin: 0;
}
.estrxm-registration label {
display: block;
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.02em;
margin-bottom: 5px;
color: var(--estrxm-muted);
}
.estrxm-registration input[type="text"],
.estrxm-registration input[type="email"],
.estrxm-registration input[type="tel"],
.estrxm-registration input[type="number"],
.estrxm-registration select,
.estrxm-registration textarea {
width: 100%;
padding: 10px 12px;
border-radius: 8px;
border: 1px solid var(--estrxm-border);
background: #0b0f14;
color: var(--estrxm-text);
font: inherit;
}
.estrxm-registration input[type="file"] {
color: var(--estrxm-muted);
font-size: 0.86rem;
}
.estrxm-consents {
list-style: none;
margin: 18px 0;
padding: 0;
display: grid;
gap: 8px;
}
.estrxm-consents label {
display: flex;
gap: 9px;
align-items: flex-start;
font-weight: 400;
font-size: 0.9rem;
color: var(--estrxm-text);
cursor: pointer;
}
.estrxm-consents input {
margin-top: 3px;
accent-color: var(--estrxm-accent);
}
.estrxm-form-actions {
margin-top: 18px;
}
.estrxm-form-msg {
min-height: 1.4em;
margin-top: 10px;
font-size: 0.9rem;
}
.estrxm-form-msg.is-ok {
color: var(--estrxm-ok);
}
.estrxm-form-msg.is-error {
color: #ff7b72;
}
.estrxm-closed,
.estrxm-empty {
color: var(--estrxm-muted);
font-size: 0.92rem;
}
.estrxm-deadline {
color: var(--estrxm-warn);
font-size: 0.86rem;
margin: 0 0 14px;
} .estrxm-hp {
position: absolute;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}
.estrxm-registration-form.is-busy .estrxm-btn {
opacity: 0.6;
pointer-events: none;
}
@media (max-width: 620px) {
.estrxm-table {
display: block;
overflow-x: auto;
white-space: nowrap;
}
.estrxm-docs li {
flex-direction: column;
align-items: flex-start;
}
.estrxm-registration {
padding: 16px;
}
}
@media (prefers-reduced-motion: no-preference) {
.estrxm-btn,
.estrxm-card {
transition: transform 120ms ease, filter 120ms ease, color 120ms ease;
}
.estrxm-card:hover {
transform: translateY(-2px);
}
}