/* tei-nba.css : NBA pages on the dark design (metric pages, landing, standings, reports, player/team).
   Loaded after tei.css. Generic form pieces (fields, buttons, segmented buttons, autocomplete) live at the top. */

/* ---------- form pieces ---------- */
.tei-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.tei-field label,.tei-select>span{margin:0;font-family:var(--tei-font-label);font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--tei-fg-dim)}
.tei-dark .tei-field input,.tei-dark .tei-field select,.tei-dark .tei-select select{
  height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--tei-line);background:var(--tei-ink);
  color:var(--tei-fg);font:500 16px var(--tei-font-body);box-sizing:border-box;color-scheme:dark;width:100%}
.tei-dark .tei-select select{height:38px;width:auto;min-width:96px;font-size:15px}
.tei-dark .tei-field input:focus,.tei-dark .tei-field select:focus,.tei-dark .tei-select select:focus{outline:2px solid var(--tei-blue);outline-offset:1px;border-color:transparent}
.tei-select{display:inline-flex;align-items:center;gap:8px}
.tei-dark .tei-btn{height:44px;padding:0 20px;border:0;border-radius:999px;background:var(--tei-accent);color:var(--tei-accent-ink);
  font-family:var(--tei-font-label);font-weight:700;font-size:16px;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.tei-dark .tei-btn:hover{filter:brightness(1.08)}
.tei-dark .tei-btn:focus-visible{outline:2px solid var(--tei-blue);outline-offset:2px}
.tei-dark .tei-btn--ghost{background:none;border:1px solid var(--tei-line);color:var(--tei-fg)}
.tei-dark .tei-seg button{padding:7px 14px;border:0;border-radius:999px;background:none;font-family:var(--tei-font-label);font-weight:600;font-size:15px;letter-spacing:.5px;text-transform:uppercase;color:var(--tei-fg-dim);cursor:pointer;white-space:nowrap}
.tei-dark .tei-seg button:hover{color:var(--tei-fg)}
.tei-dark .tei-seg button.is-active{background:var(--tei-accent);color:var(--tei-accent-ink)}
.tei-dark .tei-seg button:focus-visible{outline:2px solid var(--tei-blue);outline-offset:2px}
.tei-dark .tei-chips a.is-active{background:var(--tei-accent);border-color:var(--tei-accent);color:var(--tei-accent-ink)}

/* autocomplete */
.tei-ac{position:relative}
.tei-ac__list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;border-radius:12px;
  background:var(--tei-panel-2);border:1px solid var(--tei-line);box-shadow:0 12px 30px rgba(0,0,0,.45);max-height:320px;overflow:auto}
.tei-ac__list li{padding:9px 12px;border-radius:8px;cursor:pointer;color:var(--tei-fg)}
.tei-ac__list li:hover,.tei-ac__list li[aria-selected="true"]{background:rgba(63,214,138,.14);color:var(--tei-accent)}

/* ---------- metric pages ---------- */
.tei-nm__tagline{max-width:440px;margin:0}
.tei-nm__switch{margin-top:20px}
.tei-nm__form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:end;gap:14px 16px;
  margin-top:20px;padding:18px;border-radius:var(--tei-radius);background:var(--tei-panel);border:1px solid var(--tei-line)}
.tei-nm__form.is-loading .tei-btn{opacity:.6;pointer-events:none}
.tei-nm__presets{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:-2px}
.tei-dark .tei-nm__presets button{padding:5px 12px;border-radius:999px;border:1px solid var(--tei-line);background:none;color:var(--tei-fg-dim);
  font-family:var(--tei-font-label);font-weight:600;font-size:14px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer}
.tei-dark .tei-nm__presets button:hover{color:var(--tei-fg);border-color:#2a3a5c}
.tei-nm__msg{grid-column:1/-1;margin:0;min-height:0;color:var(--tei-fg-dim)}
.tei-nm__msg:empty{display:none}
.tei-nm__msg.is-error{color:var(--tei-amber)}
.tei-nm__empty[hidden],.tei-nm__results[hidden]{display:none}
.tei-dark .tei-nm__switch a{text-transform:none}
.tei-nm__empty{display:grid;align-items:start;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.tei-nm__about p{margin:10px 0 0;color:var(--tei-fg-dim);line-height:1.55}
.tei-nm__formula{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;color:var(--tei-fg)!important;padding:10px 12px;border-radius:8px;background:var(--tei-ink)}
.tei-nm__results>.tei-nm__about{margin-top:28px}

.tei-nm__player{display:flex;align-items:center;gap:18px;margin-top:24px;padding:16px 20px;border-radius:var(--tei-radius);
  background:linear-gradient(160deg,#10203a,var(--tei-panel));border:1px solid var(--tei-line)}
.tei-nm__player[hidden]{display:none}
.tei-nm__photo{width:88px;height:64px;object-fit:cover;object-position:top;border-radius:10px;background:var(--tei-panel-2)}
.tei-nm__who{flex:1;min-width:0}
.tei-nm__who .tei-label a{color:inherit}
.tei-nm__name{font-family:var(--tei-font-display);font-size:clamp(28px,4vw,40px);line-height:1;text-transform:uppercase;margin:4px 0;overflow-wrap:anywhere}
.tei-nm__filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:20px}
.tei-nm__filters[hidden]{display:none}
.tei-nm__summary{margin-top:20px}
.tei-nm__summary .is-primary{border-color:rgba(63,214,138,.45)}
.tei-nm__summary .is-primary dd{color:var(--tei-accent)}
.tei-nm__chart{position:relative;height:380px;padding:16px}
.tei-nm__windows{margin-top:0}
.tei-nm__win{border-top:3px solid var(--tei-line)}
.tei-nm__win.is-best{border-top-color:var(--tei-accent)}
.tei-nm__win.is-worst{border-top-color:var(--tei-amber)}
.tei-nm__winrange{margin:4px 0 12px;font-family:var(--tei-font-label);font-weight:700;font-size:24px;text-transform:uppercase}
.tei-nm__winstats{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:0}
.tei-nm__winstats>div{padding:8px 12px;border-radius:10px;background:var(--tei-panel-2)}
.tei-nm__winstats dt{font-family:var(--tei-font-label);font-weight:600;font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:var(--tei-fg-dim)}
.tei-nm__winstats dd{margin:2px 0 0;font-family:var(--tei-font-label);font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}
.tei-nm__pcol{color:var(--tei-accent);font-weight:700}
.tei-nm .tei-table td:nth-child(-n+3){white-space:nowrap}

/* ---------- metric index / landing tiles ---------- */
.tei-metricgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px}
.tei-metric{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:var(--tei-radius);background:var(--tei-panel);border:1px solid var(--tei-line);color:var(--tei-fg);min-height:170px}
.tei-dark a.tei-metric{color:var(--tei-fg)}
.tei-dark a.tei-metric:hover{border-color:#2a3a5c;background:var(--tei-panel-2)}
.tei-metric__abbr{font-family:var(--tei-font-display);font-size:44px;line-height:1;color:var(--tei-accent)}
.tei-metric__name{font-family:var(--tei-font-label);font-weight:700;font-size:20px;letter-spacing:.5px;text-transform:uppercase}
.tei-metric__text{color:var(--tei-fg-dim);font-size:15px;margin-top:auto}

@media (max-width:820px){
  .tei-nm__form{grid-template-columns:1fr 1fr}
  .tei-nm__form .tei-field--player{grid-column:1/-1}
  .tei-nm__form .tei-btn{grid-column:1/-1}
  .tei-nm__empty{grid-template-columns:1fr}
}
@media (max-width:560px){
  .tei-nm__form{padding:14px;gap:12px}
  .tei-nm__player{flex-wrap:wrap;padding:14px}
  .tei-nm__player .tei-tile{width:100%}
  .tei-nm__chart{height:300px;padding:10px}
  .tei-nm__filters .tei-seg{display:flex;width:100%}
  .tei-dark .tei-nm__filters .tei-seg button{flex:1;padding:7px 6px;font-size:13px}
  .tei-nm__filters .tei-select{width:100%}
  .tei-dark .tei-nm__filters .tei-select select{flex:1}
  .tei-nm__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .tei-nm__summary>div{padding:8px 10px}
  .tei-nm__summary dd{font-size:19px}
  .tei-nm__summary dt{font-size:11px;letter-spacing:.6px}
  .tei-nm__winrange{font-size:20px}
}

/* ---------- standings ---------- */
.tei-standlegend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0 0}
.tei-seedkey{display:inline-block;width:12px;height:12px;border-radius:3px;margin-left:8px}
.tei-seedkey--po{background:var(--tei-accent)}
.tei-seedkey--pi{background:var(--tei-amber)}
.tei-standings{margin-top:16px}
.tei-standings .tei-seed{font-family:var(--tei-font-label);font-weight:700;color:var(--tei-fg-dim);border-left:3px solid transparent}
.tei-standings tr.is-po .tei-seed{border-left-color:var(--tei-accent);color:var(--tei-accent)}
.tei-standings tr.is-pi .tei-seed{border-left-color:var(--tei-amber);color:var(--tei-amber)}
.tei-standings tr.is-cut td{border-bottom:2px dashed #2a3a5c}
.tei-divname{font-size:12px;text-transform:uppercase;letter-spacing:.5px}
@media (max-width:1300px){.tei-divname{display:none}}
.tei-standings .tei-oppcell a{white-space:nowrap}

/* ---------- NBA player page (builds on tei-nflplayer.css hero/ranks) ---------- */
.tei-nbapl .tei-chips{margin-top:18px}
.tei-nbapl__avgs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.tei-nbapl__bounce{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:16px}
.tei-nbapl__bounce .tei-panel{border-top:3px solid var(--tei-line)}
.tei-nbapl__grade.is-good,.tei-nbapl__alert.is-good{border-top-color:var(--tei-accent)}
.tei-nbapl__grade.is-ok,.tei-nbapl__alert.is-ok{border-top-color:var(--tei-amber)}
.tei-nbapl__grade.is-bad,.tei-nbapl__alert.is-bad{border-top-color:#ff6b8b}
.tei-nbapl__big{margin:8px 0 6px;font-family:var(--tei-font-display);font-size:56px;line-height:1}
.tei-nbapl__grade.is-good .tei-nbapl__big{color:var(--tei-accent)}
.tei-nbapl__grade.is-ok .tei-nbapl__big{color:var(--tei-amber)}
.tei-nbapl__grade.is-bad .tei-nbapl__big{color:#ff6b8b}
.tei-nbapl__status{display:flex;align-items:center;gap:10px;margin:10px 0 6px;font-family:var(--tei-font-label);font-weight:700;font-size:22px;text-transform:uppercase}
.tei-nbapl__dot{width:12px;height:12px;border-radius:50%;background:var(--tei-amber);box-shadow:0 0 0 4px rgba(245,165,36,.18)}
.tei-nbapl__alert.is-good .tei-nbapl__dot{background:var(--tei-accent);box-shadow:0 0 0 4px rgba(63,214,138,.18)}
.tei-nbapl__alert.is-bad .tei-nbapl__dot{background:#ff6b8b;box-shadow:0 0 0 4px rgba(255,107,139,.18)}
.tei-nbapl__status.is-quiet .tei-nbapl__dot{background:var(--tei-fg-dim);box-shadow:none}
.tei-nbapl__alert p{margin:0;color:var(--tei-fg-dim);line-height:1.5}
.tei-footnote{margin:12px 0 0;font-size:14px}
.tei-nbapl__log tr.is-dnp td{color:var(--tei-fg-dim)}
.tei-nbapl__log td:nth-child(-n+3){white-space:nowrap}
@media (max-width:900px){.tei-nbapl__bounce{grid-template-columns:1fr}}
@media (max-width:560px){.tei-nbapl__avgs{grid-template-columns:repeat(3,minmax(0,1fr))}.tei-nbapl__big{font-size:44px}}

/* ---------- NBA team page ---------- */
.tei-nbateam__splits{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.tei-nbateam__leaders{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:16px}
.tei-nbateam__leader{display:flex;align-items:center;gap:16px;padding:16px;border-radius:var(--tei-radius);background:var(--tei-panel);border:1px solid var(--tei-line);color:var(--tei-fg)}
.tei-dark a.tei-nbateam__leader{color:var(--tei-fg)}
.tei-dark a.tei-nbateam__leader:hover{border-color:#2a3a5c;background:var(--tei-panel-2)}
.tei-nbateam__leader img{width:100px;height:73px;object-fit:cover;object-position:top;border-radius:10px;background:var(--tei-panel-2);flex:none}
.tei-nbateam__lname{margin:4px 0;font-family:var(--tei-font-label);font-weight:700;font-size:20px;text-transform:uppercase;line-height:1.1}
.tei-nbateam__lval{font-family:var(--tei-font-display);font-size:30px;line-height:1;color:var(--tei-accent)}
.tei-nbateam__lval span{font-family:var(--tei-font-label);font-size:14px;color:var(--tei-fg-dim)}
.tei-nbateam .tei-table td:nth-child(-n+2){white-space:nowrap}
@media (max-width:560px){.tei-nbateam__splits{grid-template-columns:1fr 1fr}.tei-nbateam__leader img{width:76px;height:56px}}

/* ---------- NBA box score ---------- */
.tei-box__key{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 6px 0 12px;vertical-align:middle}
.tei-box__key--away,.tei-box__fill--away{background:var(--tei-blue)}
.tei-box__key--home,.tei-box__fill--home{background:var(--tei-accent)}
.tei-box__compare{display:flex;flex-direction:column;gap:12px;padding:20px}
.tei-box__row{display:grid;grid-template-columns:64px 1fr 64px;align-items:end;gap:14px}
.tei-box__row .tei-box__val:last-child{text-align:right}
.tei-box__val{font-family:var(--tei-font-label);font-weight:700;font-size:20px;color:var(--tei-fg-dim);font-variant-numeric:tabular-nums}
.tei-box__val.is-lead{color:var(--tei-fg)}
.tei-box__bar{position:relative;display:flex;height:10px;margin:22px 0 7px;border-radius:999px;background:var(--tei-panel-2);gap:3px}
.tei-box__fill{height:100%;border-radius:999px;opacity:.9}
.tei-box__label{position:absolute;left:0;right:0;top:-22px;text-align:center;font-family:var(--tei-font-label);font-weight:600;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--tei-fg-dim);pointer-events:none}
.tei-box__teamhead{display:flex;align-items:center;gap:12px}
.tei-box__players tfoot th,.tei-box__players tfoot td{border-top:2px solid var(--tei-line);padding-top:10px}
.tei-box__players tr.is-dnp td{color:var(--tei-fg-dim)}
.tei-box__players td:first-child{white-space:nowrap}
@media (max-width:560px){.tei-box__row{grid-template-columns:48px 1fr 48px;gap:8px}.tei-box__val{font-size:16px}.tei-box__compare{padding:14px}}

/* ---------- NBA shot chart ---------- */
.tei-hm__filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) auto auto;align-items:end;gap:12px;margin-top:24px;padding:16px;border-radius:var(--tei-radius);background:var(--tei-panel);border:1px solid var(--tei-line)}
.tei-hm__grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:16px;margin-top:16px;align-items:start}
.tei-hm__img{aspect-ratio:50/47;width:100%;border-radius:10px;background:#fff center/contain no-repeat;transition:opacity .2s}
.tei-hm__img.is-loading{opacity:.45}
.tei-hm__img.is-empty{background:var(--tei-panel-2)}
.tei-hm__legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:12px;font-size:15px}
.tei-hm__legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.tei-hm__legend i.is-made{background:#2bb24c}
.tei-hm__legend i.is-miss{background:#e5484d}
.tei-hm__legend .tei-muted{margin-left:auto}
.tei-hm__games{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px}
.tei-hm__game{display:flex;flex-direction:column;gap:10px}
.tei-hm__thumb{aspect-ratio:50/47;width:100%;border:0;border-radius:10px;background:#fff center/contain no-repeat;cursor:zoom-in}
.tei-hm__gmeta{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--tei-font-label);font-size:18px;text-transform:uppercase}
.tei-hm__gstats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0}
.tei-hm__gstats>div{padding:6px 8px;border-radius:8px;background:var(--tei-panel-2)}
.tei-hm__gstats dt{font-family:var(--tei-font-label);font-weight:600;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--tei-fg-dim)}
.tei-hm__gstats dd{margin:0;font-family:var(--tei-font-label);font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}
.tei-hm__modal{max-width:min(720px,94vw);width:100%;padding:12px;border:1px solid var(--tei-line);border-radius:var(--tei-radius);background:var(--tei-panel)}
.tei-hm__modal::backdrop{background:rgba(3,6,12,.75)}
.tei-hm__modal img{display:block;width:100%;border-radius:10px;background:#fff}
.tei-hm__close{position:absolute;top:6px;right:10px;border:0;background:none;color:var(--tei-fg);font-size:32px;line-height:1;cursor:pointer}
@media (max-width:1100px){.tei-hm__filters{grid-template-columns:repeat(3,minmax(0,1fr))}.tei-hm__grid{grid-template-columns:1fr}}
@media (max-width:560px){.tei-hm__filters{grid-template-columns:1fr 1fr}.tei-hm__gstats{grid-template-columns:repeat(3,1fr)}}

/* ---------- NBA quarter reports ---------- */
.tei-rep__tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.tei-rep__tile{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--tei-radius);background:var(--tei-panel);border:1px solid var(--tei-line)}
.tei-dark a.tei-rep__tile{color:var(--tei-fg)}
.tei-dark a.tei-rep__tile:hover{background:var(--tei-panel-2);border-color:#2a3a5c}
.tei-rep__q{font-family:var(--tei-font-display);font-size:44px;line-height:1;color:var(--tei-accent)}
.tei-rep__qname{font-family:var(--tei-font-label);font-weight:700;font-size:16px;letter-spacing:.6px;text-transform:uppercase;color:var(--tei-fg-dim)}
.tei-section.is-focus .tei-h2{color:var(--tei-accent)}
.tei-rep .tei-chips{margin-top:20px}
.tei-rep__tonight{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.tei-dark .tei-rep__game{display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border-radius:12px;border:1px solid var(--tei-line);background:var(--tei-panel);
  color:var(--tei-fg);font-family:var(--tei-font-label);font-weight:700;font-size:17px;letter-spacing:.4px;text-transform:uppercase;cursor:pointer}
.tei-dark .tei-rep__game:hover{border-color:#2a3a5c;background:var(--tei-panel-2)}
.tei-dark .tei-rep__game.is-active{border-color:var(--tei-accent);box-shadow:inset 0 0 0 1px var(--tei-accent)}
.tei-rep__pick{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto auto;align-items:end;gap:12px 14px;padding:16px;border-radius:var(--tei-radius);background:var(--tei-panel);border:1px solid var(--tei-line)}
.tei-rep__at{padding-bottom:10px;font-family:var(--tei-font-display);font-size:24px;color:var(--tei-fg-dim)}
#repResults[hidden]{display:none}
.tei-rep__sides{margin-top:20px}
.tei-rep__side{margin:4px 0 12px;font-family:var(--tei-font-label);font-weight:700;font-size:26px;text-transform:uppercase}
.tei-rep__subhead{margin:24px 0 10px}
.tei-rep__last10{margin-top:0}
.tei-rep__last10 tr.is-first td:first-child{box-shadow:inset 3px 0 0 var(--tei-accent)}
.tei-rep__table th[data-sort]{cursor:pointer;user-select:none}
.tei-rep__table th[aria-sort="descending"]::after{content:" \2193";color:var(--tei-accent)}
.tei-rep__table th[aria-sort="ascending"]::after{content:" \2191";color:var(--tei-accent)}
.tei-rep__table tr.is-picked td{background:rgba(63,214,138,.08)}
.tei-rep__table tr.is-picked td:first-child{box-shadow:inset 3px 0 0 var(--tei-accent)}
.tei-rep__pct{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;min-width:120px}
.tei-rep__track{display:inline-block;width:60px;height:6px;border-radius:999px;background:var(--tei-panel-2);overflow:hidden}
.tei-rep__bar{display:block;height:100%;border-radius:999px;background:var(--tei-accent);opacity:.8}
.tei-rep__pct>span:first-child{flex:none}
@media (max-width:820px){
  .tei-rep__pick{grid-template-columns:1fr auto 1fr}
  .tei-rep__pick .tei-btn{grid-column:span 3}
  .tei-rep__pick .tei-btn--ghost{grid-column:span 3}
}
@media (max-width:560px){.tei-rep__pct{min-width:0}.tei-rep__track{display:none}.tei-rep__q{font-size:36px}}
.tei-rep .tei-table td:first-child{white-space:nowrap}
