/* Round 43: per-series filter bars (IRONMAN, CHALLENGE) + calm Course type / race weekend block. Night theme, phone first. */
.sf{margin:14px 0 18px;padding:14px;border:1px solid var(--line,rgba(242,242,245,.12));border-radius:var(--radius,14px);background:var(--bg,#0b0b0e)}
.sf-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sf-f{display:block;flex:0 1 auto;min-width:0}
.sf .sf-f select{color:var(--ink,#f2f2f5);border:1px solid var(--line2,rgba(242,242,245,.24));border-radius:10px;padding:8px 10px;font:500 14px var(--sans,sans-serif);min-height:40px;max-width:100%;cursor:pointer}
.sf .sf-f select.on{border-color:var(--blue-hi,#6f80ff)!important;box-shadow:inset 0 0 0 1px var(--blue-hi,#6f80ff)}
.sf-f select option,.sf-f select optgroup{background:var(--bg2,#14151b);color:var(--ink,#f2f2f5)}
.sf-f select:focus-visible,.sf-q input:focus-visible,.sf-chip:focus-visible,.sf-clear:focus-visible{outline:2px solid var(--blue-hi,#6f80ff);outline-offset:2px}
.sf-q{display:flex;align-items:center;gap:6px;flex:1 1 220px;min-width:0;background:var(--bg2,#14151b);border:1px solid var(--line2,rgba(242,242,245,.24));border-radius:10px;padding:0 12px;min-height:40px}
.sf-q .gs-ico{color:var(--dim,#83858f)}
.sf .sf-q input{flex:1;min-width:0;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:var(--ink,#f2f2f5);font:500 14px var(--sans,sans-serif);padding:8px 0;outline:none}
.sf-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.sf-n{font:500 13px var(--sans,sans-serif);color:var(--muted,#a2a3ad);margin-right:4px}.sf-n b{color:var(--ink,#f2f2f5)}
.sf-chip{display:inline-flex;align-items:center;gap:6px;background:var(--blue,#334bff);color:#fff;border:0;border-radius:999px;padding:7px 12px;min-height:34px;font:600 13px var(--sans,sans-serif);cursor:pointer}
.sf-chip span{opacity:.75;font-weight:500}.sf-chip i{font-style:normal;font-size:16px;line-height:1}
.sf-clear{background:none;border:0;color:var(--blue-hi,#6f80ff);font:600 13px var(--sans,sans-serif);cursor:pointer;padding:6px 4px;min-height:34px}
.sf-src{flex:1 1 100%;font-size:12px;color:var(--dim,#83858f);line-height:1.45}.sf-src a{color:var(--muted,#a2a3ad)}
.sf-ew{margin:10px 0 14px}
/* race page */
.imc{margin:0 0 18px;padding:14px 16px;border:1px solid var(--line,rgba(242,242,245,.12));border-radius:var(--radius,14px);background:var(--bg2,#14151b)}
.imc-h{margin:0 0 10px;font:600 12px var(--sans,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#a2a3ad)}
.imc-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.imc-c{display:flex;flex-direction:column;gap:2px;min-width:0}
.imc-c .k{font-size:12px;color:var(--dim,#83858f)}.imc-c .v{font:600 15px var(--sans,sans-serif);color:var(--ink,#f2f2f5);overflow-wrap:anywhere}.imc-c .v.na{color:var(--dim,#83858f);font-weight:500}
.imc-t{margin:10px 0 0;font-size:13px;color:var(--muted,#a2a3ad)}.imc-t small{color:var(--dim,#83858f)}
.imc-s{margin:8px 0 0;font-size:12px;color:var(--dim,#83858f)}.imc-s a{color:var(--muted,#a2a3ad)}
.imc-l{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;color:var(--muted,#a2a3ad)}.imc-l i{font-style:normal;color:var(--dim,#83858f)}
@media(max-width:600px){.sf{padding:12px}.sf-f{flex:1 1 calc(50% - 4px)}.sf-f select{width:100%}.sf-q{flex:1 1 100%}.imc-g{grid-template-columns:1fr 1fr 1fr;gap:8px}.imc-c .v{font-size:14px}}
/* Round 44: keep the series bar (and the finder's results top) clear of the sticky header + Today banner */
#directory,.sf{scroll-margin-top:calc(var(--sf-stick,64px) + 12px)}
