/* Timescape Leaderboards 1.2.0 */
.tslb{--navy:#1c202b;--navy2:#232838;--cream:#fdfcee;--red:#d12738;--teal:#50b1c5;--amber:#feaf39;--gold:#f3c35a;--silver:#cdd3dc;--bronze:#d08c5c;
  font-family:'Open Sans',sans-serif;color:var(--cream);margin:0 auto}
.tslb *,.tslb *::before,.tslb *::after{box-sizing:border-box}
.tslb-one{max-width:1200px}
.tslb-grid-wrap{max-width:1600px}
/* home: the room tabs span the same width as the boards below them; no outer panel (owner 2026-10-22) */
.tslb-pick{max-width:1200px}
.tslb-pick .tslb-tabs{display:flex;gap:14px;margin:0 0 26px}
.tslb-pick .tslb-tab{width:auto;flex:1 1 0;max-width:none;padding:12px 8px}

/* card */
.tslb-card{background:var(--navy2);border:1px solid rgba(253,252,238,.12);border-radius:16px;padding:18px 16px 14px;min-width:0}
.tslb-card[hidden]{display:none}
.tslb-head{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 0 12px;min-height:74px;justify-content:flex-end}
.tslb-head img{height:46px;width:auto;max-width:100%;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
.tslb-head span{font:700 12px/1.2 'Open Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--cream)}

/* period switch */
.tslb-switch{display:flex;background:rgba(253,252,238,.08);border-radius:10px;padding:3px;margin:0 0 12px}
.tslb-switch button{appearance:none;flex:1;border:0;background:transparent;color:#aab0bd;font:800 11px/1 'Open Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:9px 6px;border-radius:8px;cursor:pointer;transition:background .2s ease,color .2s ease;white-space:nowrap}
.tslb-switch button:hover,.tslb-switch button:focus{background:rgba(253,252,238,.1);color:var(--cream)}
.tslb-switch button.is-active,.tslb-switch button.is-active:hover,.tslb-switch button.is-active:focus{background:var(--red);color:var(--cream)}
.tslb-switch button:focus-visible{outline:3px solid var(--teal);outline-offset:1px}

/* panels: one visible at a time by default */
.tslb-panel{display:none}
.tslb-card[data-period="m30"] .tslb-panel[data-period="m30"],.tslb-card[data-period="all"] .tslb-panel[data-period="all"]{display:block}
.tslb-h{display:none;font-family:'lemonmilkbold','Open Sans',sans-serif;font-weight:400;font-size:18px;line-height:1.2;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);margin:0 0 14px;align-items:center;gap:12px}
.tslb-h::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--teal),transparent)}
.tslb-all .tslb-h::after{background:linear-gradient(90deg,var(--gold),transparent)}
.tslb-pill{font:800 10px/1 'Open Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:6px 8px;border-radius:6px;background:var(--teal);color:var(--navy)}
.tslb-all .tslb-pill{background:var(--gold)}

/* rows */
.tslb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tslb-row{position:relative;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:8px 10px 8px 8px;border-radius:9px;background:rgba(253,252,238,.04);border:1px solid rgba(253,252,238,.06);overflow:hidden;
  opacity:0;transform:translateX(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 60ms)}
.tslb-card.is-in .tslb-row{opacity:1;transform:none}
.tslb-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal)}
.tslb-rank{font-family:'lemonmilkbold','Open Sans',sans-serif;font-size:15px;color:#9aa0ad;text-align:center}
.tslb-team{font-weight:700;font-size:13.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--cream)}
.tslb-time{font-family:'lemonmilkbold','Open Sans',sans-serif;font-size:15px;letter-spacing:.03em;font-variant-numeric:tabular-nums;color:var(--cream)}
.tslb-row.p1{background:linear-gradient(90deg,rgba(243,195,90,.18),rgba(253,252,238,.04) 60%);border-color:rgba(243,195,90,.5);padding-top:11px;padding-bottom:11px}
.tslb-row.p1::before{background:var(--gold)}
.tslb-row.p1 .tslb-rank,.tslb-row.p1 .tslb-time{color:var(--gold)}
.tslb-row.p1 .tslb-team{font-size:15px;font-weight:800}
.tslb-row.p1 .tslb-time{font-size:18px}
.tslb-row.p1::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:35%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(253,252,238,.13),transparent);animation:tslb-sweep 7s ease-in-out 2s infinite}
.tslb-row.p2::before{background:var(--silver)}.tslb-row.p2 .tslb-rank,.tslb-row.p2 .tslb-time{color:var(--silver)}
.tslb-row.p3::before{background:var(--bronze)}.tslb-row.p3 .tslb-rank,.tslb-row.p3 .tslb-time{color:var(--bronze)}
.tslb-new{position:absolute;top:0;right:0;font:800 8px/1 'Open Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;background:var(--red);color:var(--cream);padding:3px 6px;border-radius:0 9px 0 7px}
.tslb-row.is-new .tslb-time{margin-top:5px}
.tslb-empty{margin:0;padding:24px 10px;text-align:center;color:#c9cdd6;font-size:14px}
@keyframes tslb-sweep{0%{left:-40%}25%,100%{left:120%}}

/* home: five cards side by side on wide screens, room picker + one card below that */
.tslb-tabs{display:none;flex-wrap:wrap;justify-content:center;gap:12px;margin:0 0 24px}
/* every room tab is a navy tile so the light logos read on any background; the chosen one gets the red ring */
.tslb-tab{appearance:none;border:2px solid rgba(253,252,238,.14);background:var(--navy);border-radius:14px;padding:10px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;width:150px;opacity:.72;transition:transform .2s ease,border-color .2s ease,opacity .2s ease,box-shadow .2s ease}
.tslb-tab img{height:48px;width:auto;max-width:122px;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}
/* the theme paints every hovered/focused button pink (#c36); keep the tiles on the palette */
.tslb-tab:hover,.tslb-tab:focus{transform:translateY(-2px);opacity:1;background:#2d3449;border-color:rgba(253,252,238,.4);color:var(--cream)}
.tslb-tab.is-active:hover,.tslb-tab.is-active:focus{border-color:var(--red)}
.tslb-tab.is-active{border-color:var(--red);opacity:1;box-shadow:0 6px 16px rgba(28,32,43,.35)}
.tslb-tab:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.ts-on-navy .tslb-tab,.ts-on-dark .tslb-tab{background:#2d3449}
.tslb-grid{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:28px}
.tslb-grid .tslb-card[hidden]{display:block}          /* wide: every room visible */
@media (max-width:1199px){
  .tslb-tabs{display:flex}
  .tslb-grid{grid-template-columns:1fr;max-width:620px;margin:0 auto}
  .tslb-grid .tslb-card[hidden]{display:none}
  .tslb-grid .tslb-head{display:none}
  .tslb-grid .tslb-team{font-size:15px}.tslb-grid .tslb-row.p1 .tslb-team{font-size:17px}.tslb-grid .tslb-time{font-size:17px}.tslb-grid .tslb-row.p1 .tslb-time{font-size:20px}.tslb-grid .tslb-rank{font-size:17px}.tslb-grid .tslb-row{grid-template-columns:36px 1fr auto;gap:10px;padding:9px 12px 9px 9px}
}

/* room page: both periods side by side on desktop (switch hidden), switch on narrower screens */
.tslb-dual{padding:22px 22px 18px}
.tslb-dual .tslb-team{font-size:16px}.tslb-dual .tslb-row.p1 .tslb-team{font-size:19px}.tslb-dual .tslb-time{font-size:19px}.tslb-dual .tslb-row.p1 .tslb-time{font-size:23px}.tslb-dual .tslb-rank{font-size:18px}.tslb-dual .tslb-row{grid-template-columns:40px 1fr auto;gap:12px;padding:10px 14px 10px 10px}.tslb-dual .tslb-list{gap:8px}
@media (min-width:901px){
  .tslb-dual .tslb-switch{display:none}
  .tslb-dual .tslb-panels{display:grid;grid-template-columns:1fr 1fr;gap:56px}
  .tslb-dual .tslb-panel{display:block!important}
  .tslb-dual .tslb-h{display:flex}
  /* desktop: the two periods are two separate cards with a gap between them */
  .tslb-dual.is-split{background:transparent;border:0;padding:0;border-radius:0}
  .tslb-dual.is-split .tslb-panel{background:var(--navy2);border:1px solid rgba(253,252,238,.12);border-radius:16px;padding:22px 22px 18px;min-width:0}
}
@media (max-width:900px){.tslb-dual{padding:16px 14px 12px}}

@media (prefers-reduced-motion:reduce){.tslb-row{transition:none;opacity:1;transform:none}.tslb-row.p1::after{animation:none}}
@media (max-width:600px){.tslb-tab{width:calc(50% - 6px);padding:8px}.tslb-tab img{height:40px}}

/* on navy sections (room pages) lift the cards off the background */
.ts-on-navy .tslb-card,.ts-on-dark .tslb-card,
.ts-on-navy .tslb-dual.is-split .tslb-panel,.ts-on-dark .tslb-dual.is-split .tslb-panel{background:#2d3449;border-color:rgba(253,252,238,.2)}
.ts-on-navy .tslb-dual.is-split,.ts-on-dark .tslb-dual.is-split{background:transparent;border:0}
.ts-on-navy .tslb-row,.ts-on-dark .tslb-row{background:rgba(253,252,238,.07);border-color:rgba(253,252,238,.09)}
.ts-on-navy .tslb-row.p1,.ts-on-dark .tslb-row.p1{background:linear-gradient(90deg,rgba(243,195,90,.22),rgba(253,252,238,.07) 60%)}
.ts-on-navy .tslb-switch,.ts-on-dark .tslb-switch{background:rgba(253,252,238,.1)}

/* phones: much smaller footprint; names wrap to two lines instead of being cut off */
@media (max-width:600px){
  .tslb .tslb-tabs{gap:8px;margin-bottom:16px}
  .tslb-pick .tslb-tabs{margin-bottom:14px}
  .tslb-pick .tslb-tab{flex:0 0 auto;max-width:none}
  .tslb .tslb-tab{width:calc(33.333% - 6px);padding:9px 4px;border-radius:10px;gap:0}
  .tslb .tslb-tab img{height:30px;max-width:92%}
  .tslb .tslb-card,.tslb .tslb-dual{padding:12px 10px 10px;border-radius:12px}
  .tslb .tslb-switch{margin-bottom:10px;padding:2px}
  .tslb .tslb-switch button{font-size:10px;padding:7px 4px;border-radius:6px}
  .tslb .tslb-list{gap:5px}
  .tslb .tslb-dual .tslb-row,.tslb .tslb-row{grid-template-columns:24px 1fr auto;gap:8px;padding:7px 9px 7px 7px;border-radius:8px}
  .tslb .tslb-dual .tslb-row.p1,.tslb .tslb-row.p1{padding-top:9px;padding-bottom:9px}
  .tslb .tslb-dual .tslb-rank,.tslb .tslb-rank{font-size:13px}
  .tslb .tslb-dual .tslb-team,.tslb .tslb-team{font-size:13px;line-height:1.2;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere}
  .tslb .tslb-dual .tslb-row.p1 .tslb-team,.tslb .tslb-row.p1 .tslb-team{font-size:14px}
  .tslb .tslb-dual .tslb-time,.tslb .tslb-time{font-size:14px}
  .tslb .tslb-dual .tslb-row.p1 .tslb-time,.tslb .tslb-row.p1 .tslb-time{font-size:16px}
  .tslb .tslb-new{font-size:7px;padding:2px 5px}
  .tslb .tslb-row.is-new .tslb-time{margin-top:4px}
  .tslb .tslb-empty{padding:16px 8px;font-size:13px}
}
