/* BMX Results & Rankings — Editorial Sports UI */
.bmxrr-app{
  --bmxrr-accent:#ff5a1f;
  --bmxrr-bg:#f6f7f9;
  --bmxrr-card:#ffffff;
  --bmxrr-line:#e7e9ee;
  --bmxrr-line-strong:#d7dbe3;
  --bmxrr-ink:#111827;
  --bmxrr-copy:#475569;
  --bmxrr-muted:#8a94a6;
  --bmxrr-soft:#f1f3f6;
  --bmxrr-soft-accent:#fff3ed;
  --bmxrr-rank-gold-line:#ffc7b2;
  --bmxrr-rank-silver:#aab2bf;
  --bmxrr-rank-bronze:#c69762;
  --bmxrr-soft-accent-line:#ffd1c0;
  --bmxrr-radius:18px;
  width:100%;
  color:var(--bmxrr-ink)!important;
  background:var(--bmxrr-bg)!important;
  border:0!important;
  border-radius:0;
  overflow:hidden;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  line-height:1.4;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.bmxrr-app *{box-sizing:border-box}
.bmxrr-app button,.bmxrr-app input,.bmxrr-app select{font:inherit!important}
.bmxrr-app h1,.bmxrr-app h2,.bmxrr-app h3,.bmxrr-app h4,.bmxrr-app p{font-family:inherit!important}
.bmxrr-shell{max-width:1180px;margin:0 auto;padding:34px}

/* Header */
.bmxrr-header{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:28px;align-items:end;padding:4px 0 28px;border-bottom:1px solid var(--bmxrr-line)}
.bmxrr-header-copy{min-width:0}
.bmxrr-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bmxrr-copy)!important}
.bmxrr-eyebrow span{display:block;width:8px;height:8px;border-radius:50%;background:var(--bmxrr-accent)}
.bmxrr-title{margin:0!important;max-width:800px;font-size:clamp(32px,4.4vw,54px)!important;font-weight:800!important;letter-spacing:-.055em!important;line-height:.96!important;color:var(--bmxrr-ink)!important;text-transform:none!important}
.bmxrr-subtitle{margin:14px 0 0!important;max-width:750px;font-size:14px!important;line-height:1.55!important;color:var(--bmxrr-copy)!important}
.bmxrr-progress{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:116px;padding:18px 20px;background:var(--bmxrr-card);border:1px solid var(--bmxrr-line);border-radius:16px}
.bmxrr-progress-label{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--bmxrr-muted)!important}
.bmxrr-progress strong{display:block;margin-top:10px;font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--bmxrr-ink)!important}
.bmxrr-progress small{display:block;margin-top:7px;font-size:11px;color:var(--bmxrr-copy)!important}

/* Summary */
.bmxrr-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 22px;background:var(--bmxrr-card);border:1px solid var(--bmxrr-line);border-radius:16px;overflow:hidden}
.bmxrr-summary-item{min-height:88px;padding:20px 22px;border-right:1px solid var(--bmxrr-line);display:flex;flex-direction:column;justify-content:center}
.bmxrr-summary-item:last-child{border-right:0}
.bmxrr-summary-item span{order:2;margin-top:7px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bmxrr-muted)!important}
.bmxrr-summary-item strong{order:1;font-size:27px;font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--bmxrr-ink)!important}

/* Controls */
.bmxrr-controls{display:grid;grid-template-columns:minmax(280px,1.45fr) minmax(210px,.9fr) minmax(210px,.9fr);gap:12px;margin-bottom:30px}
.bmxrr-search,.bmxrr-select-wrap{min-width:0;background:var(--bmxrr-card);border:1px solid var(--bmxrr-line);border-radius:14px}
.bmxrr-search{height:56px;display:flex;align-items:center;gap:10px;padding:0 16px}
.bmxrr-search:focus-within,.bmxrr-select-wrap:focus-within{border-color:var(--bmxrr-line-strong);box-shadow:0 0 0 3px rgba(17,24,39,.035)}
.bmxrr-search svg{width:18px;height:18px;fill:none;stroke:var(--bmxrr-muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.bmxrr-search input{width:100%;height:100%;padding:0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--bmxrr-ink)!important;font-size:14px!important}
.bmxrr-search input::placeholder{color:var(--bmxrr-muted)!important;opacity:1}
.bmxrr-select-wrap{position:relative;height:56px;display:flex;align-items:center;padding:0 14px 0 14px}
.bmxrr-select-wrap>span{position:absolute;left:14px;top:8px;z-index:1;font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--bmxrr-muted)!important;pointer-events:none}
.bmxrr-select-wrap select{width:100%;height:100%;padding:18px 34px 0 0!important;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--bmxrr-ink)!important;font-size:13px!important;font-weight:600!important;appearance:none;cursor:pointer}
.bmxrr-select-wrap::after{content:"";position:absolute;right:16px;top:24px;width:7px;height:7px;border-right:1.5px solid var(--bmxrr-copy);border-bottom:1.5px solid var(--bmxrr-copy);transform:rotate(45deg);pointer-events:none}

/* Ranking */
.bmxrr-ranking-panel{background:var(--bmxrr-card);border:1px solid var(--bmxrr-line);border-radius:18px;overflow:hidden}
.bmxrr-ranking-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px 26px 20px;border-bottom:1px solid var(--bmxrr-line)}
.bmxrr-section-label{display:block;margin-bottom:7px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bmxrr-accent)!important}
.bmxrr-context-title{margin:0!important;font-size:clamp(22px,2.7vw,32px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.05!important;color:var(--bmxrr-ink)!important;text-transform:none!important}
.bmxrr-context-count{padding-bottom:3px;font-size:12px;font-weight:600;color:var(--bmxrr-muted)!important;white-space:nowrap}
.bmxrr-table-head{display:grid;grid-template-columns:78px minmax(250px,1.45fr) minmax(180px,.8fr) 105px 20px;align-items:center;gap:14px;padding:11px 20px;background:var(--bmxrr-soft);border-bottom:1px solid var(--bmxrr-line);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--bmxrr-muted)!important}
.bmxrr-table-head span:nth-child(4){text-align:right}
.bmxrr-list{background:var(--bmxrr-card)}
.bmxrr-row{position:relative;width:100%;appearance:none;display:grid;grid-template-columns:78px minmax(250px,1.45fr) minmax(180px,.8fr) 105px 20px;align-items:center;gap:14px;min-height:70px;padding:10px 20px;border:0!important;border-bottom:1px solid var(--bmxrr-line)!important;background:var(--bmxrr-card)!important;color:var(--bmxrr-ink)!important;text-align:left;cursor:pointer;transition:background .14s ease}
.bmxrr-row:last-child{border-bottom:0!important}
.bmxrr-row:hover{background:var(--bmxrr-soft)!important}
.bmxrr-row-top-1::before,.bmxrr-row-top-2::before,.bmxrr-row-top-3::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 99px 99px 0}
.bmxrr-row-top-1::before{background:var(--bmxrr-accent)}
.bmxrr-row-top-2::before{background:var(--bmxrr-rank-silver)}
.bmxrr-row-top-3::before{background:var(--bmxrr-rank-bronze)}
.bmxrr-rank{display:flex;align-items:center}
.bmxrr-rank-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:12px;font-weight:800;color:var(--bmxrr-copy)!important;background:var(--bmxrr-soft);border:1px solid var(--bmxrr-line)}
.bmxrr-rank-number.is-top{background:var(--bmxrr-card);border-color:var(--bmxrr-line-strong);color:var(--bmxrr-ink)!important}
.bmxrr-rank-number.is-1{color:var(--bmxrr-accent)!important;border-color:var(--bmxrr-rank-gold-line)}
.bmxrr-rider-cell{min-width:0;display:flex;align-items:center;gap:12px}
.bmxrr-team-logo{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;background:var(--bmxrr-card)!important;border:1px solid var(--bmxrr-line)!important;color:var(--bmxrr-ink)!important;font-size:9px;font-weight:800;text-transform:uppercase}
.bmxrr-team-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:4px}
.bmxrr-rider{min-width:0;display:block}
.bmxrr-rider strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:700;line-height:1.25;color:var(--bmxrr-ink)!important}
.bmxrr-mobile-team{display:none!important}
.bmxrr-team-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500;color:var(--bmxrr-copy)!important}
.bmxrr-points{text-align:right}
.bmxrr-points strong{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--bmxrr-ink)!important}
.bmxrr-points small{margin-left:4px;font-size:9px;font-weight:700;text-transform:uppercase;color:var(--bmxrr-muted)!important}
.bmxrr-chevron{font-size:21px;font-weight:400;color:var(--bmxrr-muted)!important;text-align:right;transition:transform .14s ease}
.bmxrr-row:hover .bmxrr-chevron{transform:translateX(2px);color:var(--bmxrr-accent)!important}
.bmxrr-cat-separator{padding:9px 20px;background:var(--bmxrr-soft);border-bottom:1px solid var(--bmxrr-line);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--bmxrr-copy)!important}
.bmxrr-loading,.bmxrr-empty{padding:42px 24px;text-align:center;color:var(--bmxrr-muted)!important}
.bmxrr-empty strong{display:block;font-size:16px;font-weight:700;color:var(--bmxrr-ink)!important}
.bmxrr-empty span{display:block;margin-top:6px;font-size:13px}

/* Rider modal */
.bmxrr-modal[hidden]{display:none}
.bmxrr-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px}
.bmxrr-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.36);backdrop-filter:blur(8px)}
.bmxrr-modal-card{position:relative;width:min(820px,100%);max-height:90vh;overflow:auto;background:var(--bmxrr-card)!important;border:1px solid var(--bmxrr-line)!important;border-radius:20px;box-shadow:0 26px 80px rgba(15,23,42,.18)!important;padding:26px;color:var(--bmxrr-ink)!important}
.bmxrr-modal-close{position:absolute;right:16px;top:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--bmxrr-line)!important;background:var(--bmxrr-card)!important;color:var(--bmxrr-copy)!important;font-size:22px;line-height:1;cursor:pointer}
.bmxrr-modal-close:hover{background:var(--bmxrr-soft)!important;color:var(--bmxrr-ink)!important}
.bmxrr-modal-open{overflow:hidden}
.bmxrr-rider-header{display:flex;align-items:center;gap:16px;padding-right:48px;margin-bottom:24px}
.bmxrr-team-logo.large{width:64px;height:64px}
.bmxrr-profile-label{display:block;margin-bottom:5px;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--bmxrr-accent)!important}
.bmxrr-rider-header h2{margin:0!important;font-size:26px!important;font-weight:800!important;line-height:1.05!important;letter-spacing:-.035em!important;color:var(--bmxrr-ink)!important;text-transform:none!important}
.bmxrr-rider-header p{margin:5px 0 0!important;font-size:12px!important;color:var(--bmxrr-copy)!important}
.bmxrr-result-block{padding-top:22px;margin-top:22px;border-top:1px solid var(--bmxrr-line)}
.bmxrr-result-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.bmxrr-result-head span{display:block;margin-bottom:5px;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--bmxrr-muted)!important}
.bmxrr-result-head h3{margin:0!important;font-size:20px!important;font-weight:750!important;letter-spacing:-.02em!important;line-height:1.1!important;color:var(--bmxrr-ink)!important;text-transform:none!important}
.bmxrr-position-pill{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:36px;padding:0 12px;border-radius:999px;background:var(--bmxrr-soft-accent)!important;border:1px solid var(--bmxrr-soft-accent-line)!important;color:var(--bmxrr-accent)!important;font-size:14px;font-weight:800}
.bmxrr-rider-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.bmxrr-rider-kpis>div{padding:14px 15px;background:var(--bmxrr-soft);border:1px solid var(--bmxrr-line);border-radius:13px}
.bmxrr-rider-kpis span{display:block;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bmxrr-muted)!important}
.bmxrr-rider-kpis strong{display:block;margin-top:6px;font-size:21px;font-weight:800;letter-spacing:-.03em;color:var(--bmxrr-ink)!important}
.bmxrr-rounds-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.bmxrr-rounds-head h4{margin:0!important;font-size:12px!important;font-weight:750!important;color:var(--bmxrr-ink)!important}
.bmxrr-rounds-head span{font-size:10px;color:var(--bmxrr-muted)!important}
.bmxrr-rounds{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:10px}
.bmxrr-round-item{min-height:62px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--bmxrr-line);border-radius:11px;background:var(--bmxrr-card)}
.bmxrr-round-item span{font-size:8px;font-weight:700;letter-spacing:.1em;color:var(--bmxrr-muted)!important}
.bmxrr-round-item strong{margin-top:3px;font-size:14px;font-weight:800;color:var(--bmxrr-ink)!important}

@media(max-width:900px){
  .bmxrr-shell{padding:26px}
  .bmxrr-controls{grid-template-columns:1fr 1fr}
  .bmxrr-search{grid-column:1/-1}
  .bmxrr-table-head,.bmxrr-row{grid-template-columns:64px minmax(220px,1fr) minmax(150px,.65fr) 90px 18px}
}

@media(max-width:700px){
  .bmxrr-app{border-radius:0}
  .bmxrr-shell{padding:18px 14px}
  .bmxrr-header{grid-template-columns:1fr;gap:16px;padding-bottom:20px}
  .bmxrr-title{font-size:34px!important}
  .bmxrr-progress{min-height:auto;display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "small value";align-items:center;padding:14px 16px}
  .bmxrr-progress-label{grid-area:label}
  .bmxrr-progress strong{grid-area:value;margin:0;font-size:25px}
  .bmxrr-progress small{grid-area:small;margin-top:3px}
  .bmxrr-summary{grid-template-columns:repeat(3,1fr);margin-top:16px}
  .bmxrr-summary-item{min-height:76px;padding:14px 10px}
  .bmxrr-summary-item strong{font-size:22px}
  .bmxrr-summary-item span{font-size:8px;letter-spacing:.08em}
  .bmxrr-controls{grid-template-columns:1fr;gap:8px;margin-bottom:18px}
  .bmxrr-search{grid-column:auto}
  .bmxrr-ranking-heading{align-items:flex-start;flex-direction:column;padding:18px 16px 14px;gap:7px}
  .bmxrr-context-title{font-size:24px!important}
  .bmxrr-context-count{padding:0}
  .bmxrr-table-head{display:none}
  .bmxrr-row{grid-template-columns:44px minmax(0,1fr) 64px 12px;gap:10px;min-height:68px;padding:10px 12px}
  .bmxrr-rank-number{width:32px;height:32px}
  .bmxrr-rider-cell{gap:9px}
  .bmxrr-team-logo{width:34px;height:34px}
  .bmxrr-rider strong{font-size:13px}
  .bmxrr-mobile-team{display:block!important;margin-top:3px;font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bmxrr-muted)!important}
  .bmxrr-team-name{display:none}
  .bmxrr-points strong{font-size:15px}
  .bmxrr-points small{display:block;margin:2px 0 0;font-size:7px}
  .bmxrr-chevron{font-size:18px}
  .bmxrr-cat-separator{padding:8px 12px;font-size:9px}
  .bmxrr-modal{padding:0;align-items:flex-end}
  .bmxrr-modal-card{width:100%;max-height:92vh;border-radius:20px 20px 0 0;padding:20px 16px 24px}
  .bmxrr-rider-header h2{font-size:22px!important}
  .bmxrr-team-logo.large{width:54px;height:54px}
  .bmxrr-result-head{align-items:flex-start}
  .bmxrr-rider-kpis{grid-template-columns:repeat(3,1fr);gap:7px}
  .bmxrr-rider-kpis>div{padding:12px 10px}
  .bmxrr-rider-kpis strong{font-size:18px}
  .bmxrr-rounds{grid-template-columns:repeat(4,1fr)}
}

@media(max-width:420px){
  .bmxrr-summary-item span{font-size:7px}
  .bmxrr-row{grid-template-columns:38px minmax(0,1fr) 58px 10px;gap:8px;padding-left:10px;padding-right:10px}
  .bmxrr-team-logo{width:31px;height:31px}
  .bmxrr-rank-number{width:29px;height:29px;font-size:11px}
  .bmxrr-rider-kpis{grid-template-columns:1fr}
  .bmxrr-rounds{grid-template-columns:repeat(3,1fr)}
}

.bmxrr-hide-team .bmxrr-table-head span:nth-child(3){display:none}
.bmxrr-hide-team .bmxrr-row{grid-template-columns:78px minmax(250px,1fr) 105px 20px}
.bmxrr-hide-team .bmxrr-row .bmxrr-team-name{display:none!important}
.bmxrr-hide-team .bmxrr-row .bmxrr-team-logo{display:none!important}
.bmxrr-hide-team .bmxrr-mobile-team{display:none!important}
@media(max-width:900px){.bmxrr-hide-team .bmxrr-table-head,.bmxrr-hide-team .bmxrr-row{grid-template-columns:64px minmax(220px,1fr) 90px 18px}}
@media(max-width:700px){.bmxrr-hide-team .bmxrr-row{grid-template-columns:44px minmax(0,1fr) 64px 12px}.bmxrr-hide-team .bmxrr-rider-cell{gap:0}}
@media(max-width:420px){.bmxrr-hide-team .bmxrr-row{grid-template-columns:38px minmax(0,1fr) 58px 10px}}
