/* Round 19: mission pages (Night design). Pills reuse .rl-pill (red only for sold out, blue for open). */
.mp{max-width:1180px}
.mp-back{display:inline-block;color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;margin-bottom:26px}
.mp-back:hover{color:var(--ink)}
.mp-head h1{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase}
.mp-what{color:var(--muted);max-width:720px;font-size:16px;margin:14px 0 0}
.mp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:26px 0 30px}
.mp-actions button{font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;padding:11px 20px;border-radius:999px;cursor:pointer;border:1px solid var(--line2);background:transparent;color:var(--ink)}
.mp-actions .mp-save{background:#334bff;border-color:#334bff;color:#fff}
.mp-actions .mp-save.is-on{background:transparent;border-color:rgba(111,128,255,.6);color:#dfe3ff}
.mp-actions button:hover{border-color:var(--ink)}
.mp-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.mp-row{display:grid;grid-template-columns:150px minmax(220px,1.5fr) 1.1fr .9fr 1.1fr 70px;gap:18px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.mp-when strong{display:block;font-weight:600}.mp-when span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.mp-name a{color:var(--ink);font-weight:600;text-decoration:none;font-size:16px}.mp-name a:hover{color:#6f80ff}
.mp-name small,.mp-gin small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.mp-name .rl-pill{margin-top:10px;font-size:12px;padding:5px 11px 5px 9px}
.mp-win span,.mp-prof,.mp-gin{font-size:13px}.mp-win>span:not(.mp-k){display:block}
.mp-k{display:block;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px}
.mp-row .na{color:var(--dim,#6c6f78)}
.mp-go a{color:#6f80ff;text-decoration:none;font-size:13px;white-space:nowrap}
.mp-row.is-unlisted .mp-name strong{font-weight:600;color:var(--muted)}
.mission-open{display:inline-block;margin-top:12px;color:#6f80ff;font-size:13px;font-weight:600;text-decoration:none}
.mission-head h2 a{color:inherit;text-decoration:none}.mission-head h2 a:hover{color:#6f80ff}
@media(max-width:900px){.mp-row{grid-template-columns:1fr 1fr;gap:12px 16px}.mp-when{grid-column:1/-1;display:flex;gap:10px;align-items:baseline}.mp-when span{margin:0}.mp-name{grid-column:1/-1}.mp-go{grid-column:1/-1}}
/* Round 34: ballot columns — Opens · Closes · Results. Blue open, amber closing soon, grey closed, mint results out, red sold out only. */
.mb-table .mp-row,.mb-table .mp-hd{grid-template-columns:118px minmax(170px,1.35fr) 1fr 1fr 1fr .85fr 1fr 58px;gap:14px}
.mp-hd{display:grid;padding:12px 0;border-bottom:1px solid var(--line2);color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.mb-table .mb-c .mp-k{display:none}
.mb-c{font-size:13px}.mb-c small{display:block;color:var(--muted);font-size:12px;margin-top:5px}
.mb-s{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px;line-height:1.2;border-radius:999px}
.mb-open,.mb-soon,.mb-closed,.mb-out,.mb-sold{padding:5px 11px 5px 9px;border:1px solid}
.mb-s.mb-open::before,.mb-s.mb-soon::before,.mb-s.mb-out::before,.mb-s.mb-sold::before,.mb-s.mb-closed::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.mb-s.mb-open{background:#334bff;border-color:#334bff;color:#fff}
.mb-s.mb-soon{color:#f2c46d;border-color:rgba(242,196,109,.55);background:rgba(242,196,109,.1)}
.mb-s.mb-closed{color:#a2a3ad;border-color:rgba(162,163,173,.35);background:rgba(162,163,173,.07)}
.mb-s.mb-out{color:#3fe0c0;border-color:rgba(63,224,192,.55);background:rgba(63,224,192,.1)}
.mb-s.mb-sold{color:#fff;background:#ff4d4d;border-color:#ff4d4d}
.mb-s.mb-date{color:var(--ink)}.mb-s.mb-past{color:var(--muted);font-weight:500}.mb-s.mb-na,.mb-s.mb-none{color:var(--dim,#6c6f78);font-weight:500}
.mb-today{display:inline-block;margin:10px 0 0 8px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#0b0c10;background:#3fe0c0;border-radius:999px;padding:4px 9px;vertical-align:middle;animation:kmPulse 2.4s ease-in-out infinite}
.mp-row.mp-today{background:linear-gradient(90deg,rgba(63,224,192,.1),rgba(63,224,192,0) 70%);box-shadow:inset 3px 0 0 #3fe0c0;padding-left:12px;margin-left:-12px}
.mb-legend{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:0 0 14px;color:var(--muted);font-size:12px}
.mb-legend span{display:inline-flex;align-items:center;gap:7px}
.mb-legend i{width:10px;height:10px;border-radius:50%;padding:0;border:0;display:inline-block}
.mb-legend i.mb-open{background:#334bff}.mb-legend i.mb-soon{background:#f2c46d}.mb-legend i.mb-closed{background:#a2a3ad}.mb-legend i.mb-out{background:#3fe0c0}.mb-legend i.mb-sold{background:#ff4d4d}
.mb-legend .mb-today{margin:0;animation:none}
.mb-line{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;grid-column:1/-1}.mb-line .mb-s{font-size:11px}.mb-line .mb-open,.mb-line .mb-soon,.mb-line .mb-closed,.mb-line .mb-out,.mb-line .mb-sold{padding:3px 9px 3px 7px}
.mb-line .mb-today{margin:0}
@media(prefers-reduced-motion:reduce){.mb-today{animation:none}}
@media(max-width:900px){.mp-hd{display:none}
 .mb-table .mp-row{grid-template-columns:1fr;gap:10px}
 .mb-table .mb-c{display:grid;grid-template-columns:118px 1fr;align-items:center;column-gap:12px}.mb-table .mb-c .mp-k{display:block;margin:0}.mb-table .mb-c small{grid-column:2;margin-top:2px}
 .mb-table .mb-s{justify-self:start}
 .mb-table .mb-c{padding:8px 0;border-top:1px dashed var(--line)}
 .mp-row.mp-today{padding-left:12px;margin-left:-12px}}
.mb-table .mp-prof>.mp-k,.mb-table .mp-gin>.mp-k{display:none}
@media(max-width:900px){.mb-table .mp-prof>.mp-k,.mb-table .mp-gin>.mp-k{display:block}}
@media(max-width:900px){.mb-table .mp-prof,.mb-table .mp-gin{display:grid;grid-template-columns:118px 1fr;column-gap:12px;align-items:start;padding:8px 0;border-top:1px dashed var(--line)}.mb-table .mp-prof>.mp-k,.mb-table .mp-gin>.mp-k{grid-row:1/span 3;margin:2px 0 0}.mb-table .mp-gin small{grid-column:2}}
/* Round 36: no Profile column when every race in the mission is road running */
.mb-table.mb-noprof .mp-row,.mb-table.mb-noprof .mp-hd{grid-template-columns:118px minmax(190px,1.5fr) 1fr 1fr 1fr 1.1fr 58px}
@media(max-width:900px){.mb-table.mb-noprof .mp-row{grid-template-columns:1fr}}
/* Nov 9: tidy mission rows — each status once, explicit labels, collapsed 'Entry not announced' / 'Sold out' rows. */
.mb-table .mb-all{grid-column:span 3;align-self:center}
.mb-table .mb-all-wide{grid-column:span 5}.mb-table .mb-all-wide.mb-all-noprof{grid-column:span 4}
.mb-table .mb-empty{min-height:1px}
.mission-races li .mb-line{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:4px}
.mb-p{display:inline-flex;align-items:center;gap:6px;min-width:0}
.mb-k{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.mb-line .mb-s{font-size:12px}.mb-line .mb-date{color:var(--ink)}
.mb-p small{color:var(--muted);font-size:12px}
.mb-line-one .mb-na{font-size:12px}
@media(max-width:900px){
 .mb-table .mb-all,.mb-table .mb-all-wide{grid-column:1/-1;padding:8px 0;border-top:1px dashed var(--line)}
 .mb-table .mb-empty{display:none}
}
@media(max-width:760px){
 .mission-races li .mb-line{flex-direction:column;align-items:stretch;gap:5px}
 .mission-races li .mb-line-one{flex-direction:row}
 .mb-p{display:grid;grid-template-columns:78px auto minmax(0,1fr);align-items:center;column-gap:8px}
 .mb-p:not(:has(.mb-k))::before{content:'';grid-column:1}
 .mb-p small{grid-column:3}
 .mb-line .mb-today{align-self:flex-start}
}

/* Round 53: compact mission race cards */
.mp-row.mp-compact{grid-template-columns:6.5rem minmax(0,1.2fr) minmax(0,.9fr) auto;align-items:center;gap:.55rem .75rem}
.mp-row.mp-compact .mp-brief{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}
.mp-row.mp-compact .mp-keydate{font-size:.82rem;color:var(--muted);font-weight:600}
.mp-row.mp-compact .mp-more{grid-column:1/-1;margin:0}
.mp-row.mp-compact .mp-more>summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--muted);list-style:none}
.mp-row.mp-compact .mp-more>summary::-webkit-details-marker{display:none}
.mp-row.mp-compact .mp-more[open]>summary{margin-bottom:.4rem;color:var(--ink)}
.mp-row.mp-compact .mp-more-body{overflow-x:auto;display:grid;gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));padding:.35rem 0 .15rem}
.mp-row.mp-compact .mp-prof,.mp-row.mp-compact .mp-gin{display:block}
@media (max-width:760px){
 .mp-row.mp-compact{grid-template-columns:1fr auto;grid-template-areas:"when go" "name name" "brief brief" "more more"}
 .mp-row.mp-compact .mp-when{grid-area:when}.mp-row.mp-compact .mp-name{grid-area:name}
 .mp-row.mp-compact .mp-brief{grid-area:brief}.mp-row.mp-compact .mp-go{grid-area:go}
 .mp-row.mp-compact .mp-more{grid-area:more}
}
