/* buzzer-trade.css */
/* CLASSROOM SHOWDOWN — STUDENT PAGE (v2.75.0). The Trade / Steal a Player
   sheet (buzzer-trade.js): two lists of tappable players — yours and the
   other teams' — a selected one lit in the team accent, and the Swap /
   Steal button under them. Sits on buzzer.css's .sheet / .pick / .primary. */
.tr-group{margin-top:14px}
.tr-group:empty{margin:0}
.tr-lab{
  font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.02em;
  color:#5F6B8A;text-transform:uppercase;margin:0 0 8px 2px;
}
.tr-none{color:#5F6B8A;font-size:15px;font-weight:600;padding:6px 2px}
.tr-pick{margin-bottom:8px;padding:10px 14px;position:relative}
.tr-pick:last-child{margin-bottom:0}
.tr-av{width:40px;height:40px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}
.tr-av img{width:40px;height:40px;object-fit:contain}
.tr-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-team{font-weight:800;white-space:nowrap}
/* Selected: the accent border and a tick badge, so two lists with one
   choice each read at a glance. */
.tr-pick-on{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(240,68,31,.14)}
.tr-pick-on::after{
  content:'✓';position:absolute;top:-8px;right:-6px;width:24px;height:24px;border-radius:50%;
  background:var(--accent);color:#fff;font-size:14px;font-weight:900;line-height:24px;text-align:center;
  box-shadow:0 2px 6px rgba(20,20,40,.25);
}
#pickSheet .sheet-card{max-height:86vh}
#pickSheet .sheet-row{position:sticky;bottom:0;background:#fff;padding-top:12px;margin-top:10px}
#pickSheet .sheet-row .hidden{display:none}
/* The rest of the team's countdown while the captain chooses (v2.75.1). */
.tr-pill{
  position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translate(-50%,-16px);
  display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:9px 16px;border-radius:999px;
  background:#fff;border:2px solid var(--accent);color:var(--ink);box-shadow:0 8px 22px rgba(23,24,78,.28);
  font-family:var(--sans);font-size:14px;font-weight:800;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:35;
}
.tr-pill-on{opacity:1;transform:translate(-50%,0)}
.tr-pill-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-pill-clock{flex:0 0 auto;font-family:var(--display);font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}
#pickGo:disabled{opacity:.45;box-shadow:0 6px 0 #b9b9b9;background:linear-gradient(180deg,#c9c9c9,#9f9f9f);cursor:default}
/* The notice after a Swap / Steal, over everything, gone in a few seconds. */
.tr-toast{
  position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,20px);
  max-width:calc(100vw - 32px);padding:12px 18px;border-radius:999px;background:#17184E;color:#fff;
  font-family:var(--display);font-size:16px;font-weight:700;text-align:center;box-shadow:0 10px 30px rgba(23,24,78,.35);
  opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:60;
}
.tr-toast-on{opacity:1;transform:translate(-50%,0)}
