
:root {
    font: 16px/1.5 system-ui, sans-serif;
    color: #262124;
    background: #f4f1f2;
    --ink: #211c1f;
    --crimson: #a41932;
    --wine: #6e1023;
    --rose: #faebef;
    --line: #e6dce0;
}
* { box-sizing: border-box; }
body { margin: 0; }
main, .hero-inner { width: min(100%, 1440px); margin: auto; padding-inline: clamp(1rem, 3vw, 3rem); }
.hero { border-top: .3rem solid var(--crimson); background: linear-gradient(110deg, #080708 42%, #2b1118); color: #fff; }
.hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
    align-items: center;
    gap: clamp(1rem, 4vw, 3.5rem);
    padding-block: clamp(1.2rem, 3vw, 2.4rem);
}
.hero-logo {
    display: block;
    width: 100%;
    max-width: 500px;
    aspect-ratio: 2.15;
    object-fit: cover;
    object-position: center 52%;
}
.report-date {
    display: inline-block;
    border: 1px solid #af6575;
    border-radius: 4px;
    padding: .2rem .55rem;
    color: #ffe0e8;
    font-size: .8rem;
    font-variant-numeric: tabular-nums;
    letter-spacing: .08em;
}
h1 { margin: .35rem 0 .25rem; font-size: clamp(2rem, 4.1vw, 3.5rem); line-height: 1.04; letter-spacing: -.035em; }
.hero-summary { margin: 0; color: #e7d9de; font-size: clamp(.95rem, 1.5vw, 1.1rem); }
main { padding-block: 1.4rem 2rem; }
nav { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-bottom: 1rem; }
.nav-label { margin-right: .35rem; color: #5a4850; font-size: .82rem; font-weight: 750; }
nav a { border: 1px solid #d7bec6; border-radius: 5px; padding: .35rem .75rem; background: #fff; color: var(--wine); font-weight: 650; text-decoration: none; }
nav a:hover { border-color: var(--crimson); background: var(--rose); text-decoration: underline; }
nav a[aria-current="page"] { border-color: var(--wine); background: var(--wine); color: #fff; }
.meeting { margin: 0 0 1.8rem; scroll-margin-top: 1rem; }
.meeting-heading {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    margin-bottom: .7rem;
    border-left: .35rem solid var(--crimson);
    border-radius: 5px;
    padding: .45rem .85rem;
    background: var(--ink);
    color: #fff;
}
.meeting-heading h2 { margin: 0; font-size: 1.35rem; }
.race-count { color: #e1cbd3; font-size: .85rem; }
article { margin-bottom: .85rem; border: 1px solid var(--line); border-radius: 7px; background: #fff; box-shadow: 0 2px 5px #210b1310; }
.race-heading { padding: .65rem .85rem; }
.race-heading h3 { display: flex; align-items: baseline; gap: .65rem; margin: 0; font-size: 1rem; }
.post-time { flex-shrink: 0; border-radius: 4px; padding: .12rem .4rem; background: var(--wine); color: #fff; font-variant-numeric: tabular-nums; }
.race-meta { margin: .25rem 0 0; color: #66555d; font-size: .82rem; }
.unavailable { margin: 0; border-top: 1px solid #ebcfd8; padding: .6rem .85rem; background: var(--rose); color: var(--wine); font-size: .9rem; text-align: center; }
.table-wrap { overflow: auto; border-radius: 0 0 7px 7px; }
table { width: 100%; border-collapse: collapse; font-size: .84rem; font-variant-numeric: tabular-nums; }
th, td { border-bottom: 1px solid var(--line); padding: .47rem .44rem; text-align: center; white-space: nowrap; }
thead th { border-bottom: 2px solid #cc8d9d; background: #efe4e7; color: #3f2933; }
tbody tr:nth-child(even) { background: #f9f6f7; }
tbody tr:last-child > * { border-bottom: 0; }
.race-ratings tbody td:nth-child(3) { background: #faeef1; color: var(--wine); font-weight: 750; }
.race-ratings tbody tr.first-ranked td:nth-child(3) { background: var(--crimson); color: #fff; }
tbody tr.lead-silver { background: #eef0f4; }
tbody tr.lead-gold { background: #fff4d2; }
.race-ratings tbody tr.lead-silver td:nth-child(3) { background: #bfc6d0; color: var(--ink); }
.race-ratings tbody tr.lead-gold td:nth-child(3) { background: #f3c969; color: var(--ink); }
.lead-group .table-wrap { border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.lead-group-gold .meeting-heading { border-left-color: #f3c969; }
.lead-group-silver .meeting-heading { border-left-color: #bfc6d0; }
.lead-group-gold thead th { background: #fff4d2; border-bottom-color: #f3c969; }
.lead-group-silver thead th { background: #eef0f4; border-bottom-color: #bfc6d0; }
.lead-group td:last-child { font-weight: 750; }
.lead-group .empty { color: #66555d; font-weight: 400; }
:focus-visible { outline: 2px solid var(--crimson); outline-offset: 2px; }
@media (max-width: 640px) {
    .hero-inner { grid-template-columns: 1fr; gap: .85rem; }
    .hero-logo { max-width: 360px; }
    .race-heading h3 { gap: .45rem; }
}

.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:1.1rem}.wide{grid-column:1/-1}label{font-size:.83rem;font-weight:650}input,select{display:block;width:100%;min-height:44px;margin-top:.35rem;border:1px solid #d7bec6;border-radius:5px;padding:.6rem;background:white;color:var(--ink);font:inherit}input:disabled{background:#eee9eb;color:#685c61}.hint,.muted{font-size:.82rem;color:#66555d;font-weight:400}.hint{margin:.3rem 0}.inset{padding:.75rem 0}.selection{padding:.9rem 1rem}.row-main{display:grid;grid-template-columns:32px 2fr 1fr 1.3fr 1fr;align-items:end;gap:1rem}.post-time{align-self:center;text-align:center}details{margin-top:.7rem}summary{cursor:pointer;color:var(--wine);font-size:.85rem;font-weight:650}.actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:1.2rem 0 1.8rem}button{font:inherit;border:1px solid #d7bec6;border-radius:5px;background:white;color:var(--wine);padding:.65rem 1rem;cursor:pointer;min-height:44px}button:hover{background:var(--rose)}button.primary{background:var(--wine);color:white;border-color:var(--wine);font-weight:700}#changeNotice{font-size:.82rem;color:#66555d}.totals{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.total{padding:1.1rem;border-top:3px solid var(--crimson)}.total span{font-size:.85rem;color:#66555d}.total strong{display:block;font-size:clamp(1.3rem,2.5vw,2rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;color:var(--wine)}#error{padding:1rem;background:var(--rose);border-left:4px solid var(--crimson);color:var(--wine)}#guide{margin-top:2rem}.guide{padding:1rem 1.2rem}.guide p{font-size:.9rem}.table-wrap{max-height:400px;background:white}#lines td:first-child{white-space:normal;text-align:left}section{scroll-margin-top:1rem}footer{padding:1rem;text-align:center;border-top:1px solid var(--line);font-size:.8rem;color:#66555d}[hidden]{display:none!important}@media(max-width:950px){.controls{grid-template-columns:repeat(2,minmax(0,1fr))}.row-main{grid-template-columns:32px 2fr 1fr}.row-main label:nth-of-type(3){grid-column:2}.totals{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.row-main{grid-template-columns:26px minmax(0,1fr);gap:.7rem}.row-main label{grid-column:2}.controls{grid-template-columns:1fr}.totals{gap:.5rem}.total{padding:.75rem}.hero-logo{max-width:300px}.actions button{flex:1}.hero-inner{padding-block:1rem}}

.rule4-field{grid-column:span 2}@media(max-width:480px){.rule4-field{grid-column:auto}}
