:root {
  --bg: #07101d;
  --panel: #101b2e;
  --panel-2: #152541;
  --panel-3: #1d3454;
  --text: #f5f8fd;
  --muted: #a7b6ce;
  --line: #2c4265;
  --accent: #6bd7ff;
  --accent-2: #a8ff6d;
  --danger: #ff8585;
  --warning: #ffd36a;
  --shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
  --radius: 18px;
  --font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 18% 0%, rgba(107, 215, 255, 0.22), transparent 32rem),
    radial-gradient(circle at 100% 0%, rgba(168, 255, 109, 0.14), transparent 34rem),
    var(--bg);
  font-family: var(--font);
}

button, input, select {
  font: inherit;
}

button {
  border: 0;
  border-radius: 12px;
  padding: 0.72rem 0.92rem;
  background: var(--panel-3);
  color: var(--text);
  cursor: pointer;
  transition: background 0.12s ease, transform 0.08s ease, opacity 0.12s ease;
}

button:hover { background: #294a74; }
button:active { transform: translateY(1px); }
button:disabled { opacity: 0.45; cursor: not-allowed; }

.primary {
  background: linear-gradient(135deg, #25a8ff, #83e4ff);
  color: #061421;
  font-weight: 850;
}
.primary:hover:not(:disabled),
.primary:focus-visible:not(:disabled) {
  color: #03111d;
  background: linear-gradient(135deg, #51ceff, #b8f3ff);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.24), 0 10px 22px rgba(40, 185, 235, 0.2);
  filter: none;
}
.primary:focus-visible:not(:disabled) {
  outline: 2px solid rgba(133, 232, 255, 0.48);
  outline-offset: 2px;
}

.success {
  background: linear-gradient(135deg, #8df05e, #d3ff91);
  color: #101d0d;
  font-weight: 850;
}

.danger {
  background: rgba(255, 133, 133, 0.15);
  border: 1px solid rgba(255, 133, 133, 0.38);
  color: #ffe2e2;
}

.ghost {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--line);
}

.full { width: 100%; }

input, select {
  width: 100%;
  border: 1px solid var(--line);
  background: #07101d;
  color: var(--text);
  border-radius: 12px;
  padding: 0.72rem 0.82rem;
  outline: none;
}

input:focus, select:focus {
  border-color: rgba(107, 215, 255, 0.7);
  box-shadow: 0 0 0 3px rgba(107, 215, 255, 0.11);
}

label {
  display: grid;
  gap: 0.35rem;
  color: var(--muted);
  font-size: 0.9rem;
}

label span {
  color: var(--text);
  font-weight: 780;
}

.shell {
  width: min(1580px, calc(100vw - 2rem));
  margin: 0 auto;
  padding: 1.4rem 0 2rem;
}

.hidden { display: none !important; }

.card, .hero-card, .clock-panel {
  background: rgba(16, 27, 46, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.card {
  padding: 1rem;
  display: grid;
  gap: 0.85rem;
}

.entry-grid {
  min-height: calc(100vh - 2.8rem);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) 390px;
  grid-template-rows: auto auto;
  gap: 1rem;
  align-content: center;
}

.hero-card {
  grid-row: 1 / span 2;
  padding: clamp(1.2rem, 4vw, 2.2rem);
  display: grid;
  align-content: center;
  gap: 1rem;
  overflow: hidden;
  position: relative;
}

.hero-card::after {
  content: "";
  position: absolute;
  inset: auto -6rem -8rem auto;
  width: 26rem;
  height: 26rem;
  border-radius: 999px;
  background: rgba(107, 215, 255, 0.09);
}

.hero-card h1, .topbar h1 {
  margin: 0;
  font-size: clamp(2.3rem, 6vw, 5rem);
  line-height: 0.92;
  letter-spacing: -0.07em;
}

.hero-card p {
  color: var(--muted);
  max-width: 64rem;
  font-size: 1.08rem;
  line-height: 1.5;
  margin: 0;
}

.entry-card h2, .card h2 {
  margin: 0;
  letter-spacing: -0.03em;
  font-size: 1.15rem;
}

.brand-row {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.logo-mark {
  display: inline-grid;
  place-items: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 12px;
  background: rgba(255,255,255,0.08);
}

.site-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  text-decoration: none;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #edf4fb);
  border: 1px solid rgba(255, 255, 255, 0.58);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}

.site-brand:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.site-logo {
  display: block;
  object-fit: contain;
}

.entry-site-brand {
  position: relative;
  isolation: isolate;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.entry-site-brand::before {
  content: "";
  position: absolute;
  inset: -12% -16%;
  z-index: -1;
  border-radius: 999px;
  background: radial-gradient(ellipse at 42% 48%, rgba(205, 245, 255, 0.2), rgba(42, 203, 246, 0.08) 46%, transparent 74%);
  filter: blur(10px);
  opacity: 0.9;
}

.entry-site-logo {
  width: clamp(9.5rem, 18vw, 13.25rem);
  height: auto;
  filter:
    brightness(1.34)
    contrast(1.08)
    saturate(1.14)
    drop-shadow(0 0 1px rgba(235, 252, 255, 0.72))
    drop-shadow(0 14px 24px rgba(0, 0, 0, 0.32));
}

.topbar-site-brand {
  width: 2.75rem;
  height: 2.75rem;
  padding: 0.18rem;
  border-radius: 10px;
}

.topbar-site-logo {
  width: 100%;
  height: 100%;
}

.badge, .pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--muted);
  background: rgba(255,255,255,0.04);
  white-space: nowrap;
}

.badge {
  padding: 0.38rem 0.62rem;
  font-size: 0.82rem;
}

.pill {
  padding: 0.32rem 0.58rem;
  font-size: 0.8rem;
}

.pill.good {
  border-color: rgba(168, 255, 109, 0.42);
  color: #dbffc3;
}

.pill.warn {
  border-color: rgba(255, 211, 106, 0.46);
  color: #ffe6a4;
}

.pill.danger-pill {
  border-color: rgba(255, 133, 133, 0.48);
  color: #ffd4d4;
}

.pill-row {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1rem;
}

.feature-grid div {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 0.9rem;
  background: rgba(255,255,255,0.035);
}

.feature-grid b {
  display: block;
  margin-bottom: 0.25rem;
}

.feature-grid span {
  color: var(--muted);
  font-size: 0.9rem;
}

.two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}

.three {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}

.four {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
}

.topbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  padding: 0.6rem 0 1rem;
}

.topbar h1 {
  font-size: clamp(2rem, 4.5vw, 3.8rem);
}

.topbar p {
  color: var(--muted);
  margin: 0.55rem 0 0;
}

.top-actions, .clock-actions, .compact-actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.clock-panel {
  padding: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  background: linear-gradient(135deg, rgba(107, 215, 255, 0.16), rgba(168, 255, 109, 0.09));
}

.eyebrow {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.on-clock {
  font-size: clamp(1.9rem, 4vw, 3.3rem);
  font-weight: 950;
  letter-spacing: -0.055em;
  margin: 0.15rem 0 0.45rem;
}

.timer-box {
  min-width: 10rem;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.15);
  padding: 0.8rem 1rem;
  text-align: center;
  font-weight: 900;
  font-size: 1.25rem;
}

.timer-box.expired {
  color: #ffe1e1;
  border-color: rgba(255, 133, 133, 0.6);
  background: rgba(255, 133, 133, 0.12);
}

.app-grid {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-top: 1rem;
}

.side-stack, .main-stack {
  display: grid;
  gap: 1rem;
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}

.code-box {
  border: 1px solid var(--line);
  background: rgba(0,0,0,0.14);
  border-radius: 16px;
  padding: 0.85rem;
  display: grid;
  gap: 0.15rem;
}

.code-box span {
  color: var(--muted);
  font-size: 0.8rem;
}

.code-box strong {
  font-size: 2.2rem;
  letter-spacing: 0.12em;
}

.team-list {
  display: grid;
  gap: 0.45rem;
  max-height: 28rem;
  overflow: auto;
  padding-right: 0.2rem;
}

.team-row {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  padding: 0.48rem;
}

.team-row.current {
  border-color: rgba(107, 215, 255, 0.65);
  background: rgba(107, 215, 255, 0.11);
}

.team-row strong {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.team-row small {
  color: var(--muted);
}

.team-actions {
  display: flex;
  gap: 0.3rem;
}

.team-actions button {
  padding: 0.42rem 0.5rem;
  border-radius: 9px;
}

.status {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 0.72rem;
  color: var(--muted);
  background: rgba(255,255,255,0.03);
  line-height: 1.38;
}

.draft-order {
  display: flex;
  overflow-x: auto;
  gap: 0.5rem;
  padding-bottom: 0.25rem;
}

.order-chip {
  flex: 0 0 auto;
  min-width: 8.5rem;
  border-radius: 14px;
  padding: 0.62rem 0.72rem;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.03);
  color: var(--muted);
}

.order-chip.active {
  border-color: rgba(107, 215, 255, 0.7);
  background: rgba(107, 215, 255, 0.13);
  color: var(--text);
}

.order-chip b {
  color: var(--text);
}

.draft-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  gap: 1rem;
  align-items: start;
}

.toolbar {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 0.65rem;
}

.override-bar {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  padding: 0.65rem;
  border: 1px solid rgba(255, 211, 106, 0.28);
  border-radius: 16px;
  background: rgba(255, 211, 106, 0.06);
}

.player-list {
  display: grid;
  gap: 0.55rem;
  max-height: 69vh;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.player-card {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) auto;
  gap: 0.72rem;
  align-items: center;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.035);
  border-radius: 16px;
  padding: 0.58rem;
}

.player-card.disabled {
  opacity: 0.68;
}

.headshot {
  width: 60px;
  height: 60px;
  border-radius: 15px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(107,215,255,0.15), rgba(168,255,109,0.11)), #07101d;
  border: 1px solid rgba(255,255,255,0.09);
  color: var(--muted);
  font-weight: 950;
}

.headshot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.player-name {
  margin: 0 0 0.22rem;
  font-weight: 900;
  letter-spacing: -0.015em;
}

.player-meta {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.draft-btn {
  min-width: 5.9rem;
}

.roster-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(12rem, 18rem);
  gap: 0.75rem;
  align-items: end;
  margin-bottom: 0.75rem;
  padding: 0.65rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,0.025);
}

.roster-toolbar-note {
  display: grid;
  gap: 0.18rem;
  color: var(--muted);
  font-size: 0.88rem;
}

.roster-toolbar-note strong {
  color: var(--text);
}

.compact-label {
  margin: 0;
}

.compact-label span {
  font-size: 0.82rem;
}

.rosters {
  display: grid;
  gap: 0.75rem;
  max-height: min(72vh, 52rem);
  min-height: 18rem;
  overflow-y: auto;
  padding-right: 0.25rem;
  overscroll-behavior: contain;
}

.roster-panels {
  grid-template-columns: minmax(0, 1fr);
}

.roster-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.roster-head {
  padding: 0.66rem 0.72rem;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,0.04);
  display: flex;
  gap: 0.6rem;
  justify-content: space-between;
  align-items: center;
}

.roster-title {
  min-width: 0;
  display: grid;
  gap: 0.08rem;
}

.roster-title span {
  color: var(--muted);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
}

.roster-head strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.roster-counts {
  display: flex;
  gap: 0.35rem;
  flex-wrap: wrap;
  padding: 0.48rem 0.55rem;
  border-bottom: 1px solid var(--line);
  background: rgba(0,0,0,0.10);
}

.roster-card.my-roster {
  border-color: rgba(168, 255, 109, 0.34);
}

.roster-card.other-roster {
  border-color: rgba(107, 215, 255, 0.28);
}

.roster-card.muted-card {
  opacity: 0.82;
}

.roster-body {
  padding: 0.55rem;
  display: grid;
  gap: 0.38rem;
  max-height: 24rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.roster-player {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr) auto;
  gap: 0.42rem;
  color: var(--muted);
  font-size: 0.87rem;
}

.roster-player b {
  color: var(--text);
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.empty {
  color: var(--muted);
  padding: 0.65rem;
  border: 1px dashed var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,0.02);
}

.table-wrap {
  max-height: 22rem;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

th, td {
  text-align: left;
  padding: 0.58rem;
  border-bottom: 1px solid var(--line);
  white-space: nowrap;
}

th {
  position: sticky;
  top: 0;
  z-index: 1;
  color: var(--muted);
  background: #0b1626;
}

.toast-root {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  display: grid;
  gap: 0.5rem;
}

.toast {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(16, 27, 46, 0.96);
  color: var(--text);
  box-shadow: var(--shadow);
  padding: 0.78rem 0.95rem;
  max-width: min(28rem, calc(100vw - 2rem));
}

.view-tabs {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  padding: 0.35rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,0.025);
}

.view-tab {
  flex: 0 0 auto;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
}

.view-tab.active {
  background: linear-gradient(135deg, rgba(37,168,255,0.22), rgba(131,228,255,0.16));
  border-color: rgba(107, 215, 255, 0.46);
  color: var(--text);
  font-weight: 850;
}

.view-panel {
  display: grid;
  gap: 1rem;
}

.section-note {
  color: var(--muted);
  margin: 0.28rem 0 0;
  font-size: 0.9rem;
  line-height: 1.35;
}

.all-rosters-card {
  min-height: 72vh;
}

.all-roster-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  max-height: 76vh;
  overflow-y: auto;
  padding-right: 0.35rem;
  align-items: flex-start;
  align-content: flex-start;
  overscroll-behavior: contain;
}

.all-roster-grid .roster-card {
  flex: 1 1 360px;
  min-width: 285px;
  max-width: calc((100% - 1.8rem) / 3);
  height: auto;
  align-self: flex-start;
}

.all-roster-grid .roster-body {
  max-height: clamp(20rem, 52vh, 34rem);
  overflow-y: auto;
  min-height: 0;
}

.all-roster-grid .roster-player {
  grid-template-columns: 1.55rem minmax(0, 1fr) auto;
}

.all-roster-grid .roster-card.my-roster {
  box-shadow: 0 0 0 1px rgba(168, 255, 109, 0.18);
}

@media (max-width: 1240px) {
  .entry-grid, .app-grid, .draft-grid {
    grid-template-columns: 1fr;
  }
  .hero-card {
    grid-row: auto;
  }
  .player-list {
    max-height: none;
  }

  .rosters {
    max-height: 70vh;
  }

  .roster-toolbar {
    grid-template-columns: 1fr;
  }

  .all-roster-grid {
    max-height: 72vh;
  }

  .all-roster-grid .roster-card {
    flex-basis: 300px;
    max-width: calc((100% - 0.9rem) / 2);
  }
}

@media (max-width: 760px) {
  .shell {
    width: min(100vw - 1rem, 1580px);
  }

  .topbar, .clock-panel {
    display: grid;
    grid-template-columns: 1fr;
  }

  .top-actions, .clock-actions {
    justify-content: stretch;
  }

  .top-actions button, .clock-actions button {
    flex: 1;
  }

  .two, .three, .four, .feature-grid, .toolbar {
    grid-template-columns: 1fr;
  }

  .view-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .view-tab {
    width: 100%;
  }

  .all-roster-grid {
    max-height: none;
  }

  .all-roster-grid .roster-card {
    flex-basis: 100%;
    max-width: 100%;
  }

  .all-roster-grid .roster-body {
    max-height: none;
  }

  .player-card {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .draft-btn {
    grid-column: 1 / -1;
    width: 100%;
  }
}

.player-card.queued {
  border-color: rgba(255, 211, 106, 0.48);
  background: rgba(255, 211, 106, 0.055);
}

.player-actions {
  display: grid;
  gap: 0.42rem;
  min-width: 6.6rem;
}

.queue-btn.queued {
  border-color: rgba(255, 211, 106, 0.5);
  color: #ffe3a1;
}

.queue-card .section-note {
  max-width: 18rem;
}

.queue-list {
  display: grid;
  gap: 0.5rem;
  max-height: 32rem;
  overflow-y: auto;
  padding-right: 0.2rem;
  overscroll-behavior: contain;
}

.queue-row {
  display: grid;
  grid-template-columns: 1.9rem minmax(0, 1fr) auto;
  gap: 0.55rem;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: rgba(255,255,255,0.03);
  padding: 0.52rem;
}

.queue-row.invalid {
  opacity: 0.76;
  border-color: rgba(255, 133, 133, 0.25);
}

.queue-rank {
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,0.035);
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 850;
}

.queue-main {
  min-width: 0;
  display: grid;
  gap: 0.22rem;
}

.queue-main strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.queue-meta {
  gap: 0.25rem;
}

.queue-actions {
  display: flex;
  gap: 0.25rem;
}

.queue-actions button {
  padding: 0.42rem 0.5rem;
  border-radius: 9px;
}

@media (max-width: 760px) {
  .player-actions {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .queue-row {
    grid-template-columns: 1.9rem minmax(0, 1fr);
  }

  .queue-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }

  .queue-actions button {
    flex: 1;
  }
}

.horizontal-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.profile-btn {
  padding: 0.5rem 0.65rem;
}

.lineup-card {
  min-height: 70vh;
}

.lineup-grid {
  display: grid;
  gap: 1rem;
  margin-top: 0.9rem;
}

.lineup-section {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,0.025);
  overflow: hidden;
}

.lineup-section h3 {
  margin: 0;
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,0.035);
}

.lineup-rows {
  display: grid;
  gap: 0.55rem;
  padding: 0.75rem;
}

.lineup-row {
  display: grid;
  grid-template-columns: 4.8rem repeat(var(--slot-count), minmax(0, 1fr));
  gap: 0.55rem;
  align-items: stretch;
}

.line-label {
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: 0.83rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.lineup-slot {
  min-height: 5.4rem;
  border: 1px dashed rgba(159, 183, 217, 0.35);
  border-radius: 16px;
  padding: 0.55rem;
  display: grid;
  gap: 0.42rem;
  background: rgba(8, 17, 31, 0.58);
  transition: border-color 0.12s ease, background 0.12s ease;
}

.lineup-slot.filled {
  border-style: solid;
}

.lineup-slot.drop-target,
.lineup-bench.drop-target {
  border-color: rgba(105, 206, 255, 0.75);
  background: rgba(105, 206, 255, 0.08);
}

.lineup-slot.off-position {
  border-color: rgba(255, 211, 106, 0.6);
}

.slot-label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}

.slot-empty {
  color: var(--muted);
  display: grid;
  place-items: center;
  min-height: 2.8rem;
  font-size: 0.88rem;
}

.lineup-player-chip {
  cursor: grab;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 0.5rem;
  display: grid;
  gap: 0.18rem;
  background: rgba(255,255,255,0.045);
  min-width: 0;
}

.lineup-player-chip:active {
  cursor: grabbing;
}

.lineup-player-chip strong,
.lineup-player-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lineup-player-chip span {
  color: var(--muted);
  font-size: 0.82rem;
}

.lineup-bench-card {
  margin-top: 1rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,0.025);
  padding: 0.8rem;
}

.small-head h3 {
  margin: 0;
}

.lineup-bench {
  min-height: 5rem;
  border: 1px dashed rgba(159, 183, 217, 0.35);
  border-radius: 16px;
  padding: 0.65rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 0.55rem;
  max-height: 35vh;
  overflow-y: auto;
}

.modal-root {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.68);
  display: grid;
  place-items: center;
  padding: 1rem;
  z-index: 999;
}

.modal-root.hidden {
  display: none;
}

.modal-card {
  width: min(980px, 96vw);
  max-height: 92vh;
  overflow: auto;
  border-radius: 22px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: var(--shadow);
}

.modal-head {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--line);
  background: rgba(15, 27, 46, 0.96);
}

.modal-head h2 {
  margin: 0;
}

.modal-body {
  padding: 1rem;
}

.profile-layout {
  display: grid;
  gap: 1rem;
}

.profile-hero {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
}

.profile-photo {
  width: 96px;
  height: 96px;
  border-radius: 22px;
}

.profile-hero h3 {
  margin: 0 0 0.45rem;
  font-size: 1.6rem;
}

.profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.profile-box {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,0.025);
  padding: 0.8rem;
}

.profile-box h4 {
  margin: 0 0 0.7rem;
}

.profile-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 0.5rem;
}

.profile-stats div {
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 0.55rem;
  background: rgba(255,255,255,0.03);
}

.profile-stats span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.profile-stats strong {
  font-size: 1.05rem;
}

.profile-list {
  margin: 0;
  padding-left: 1.2rem;
  color: var(--muted);
}

.danger-text {
  color: #ffb8b8;
}

@media (max-width: 900px) {
  .lineup-row {
    grid-template-columns: 1fr;
  }

  .line-label {
    place-items: start;
  }

  .profile-grid,
  .profile-hero {
    grid-template-columns: 1fr;
  }
}

.profile-box-wide {
  grid-column: 1 / -1;
}

.attribute-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.7rem;
}

.attribute-group {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,0.025);
  padding: 0.65rem;
}

.attribute-group h5 {
  margin: 0 0 0.55rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.95rem;
}

.rating-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  padding: 0.12rem 0.32rem;
  border-radius: 6px;
  background: #17a51f;
  color: white;
  font-weight: 900;
  line-height: 1.2;
}

.rating-badge.small {
  min-width: 1.65rem;
  font-size: 0.78rem;
}

.attribute-list {
  display: grid;
  gap: 0.35rem;
}

.attribute-list div {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--muted);
}


.xfactor-row {
  display: flex;
  gap: 0.34rem;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 0.35rem;
}

.xfactor-row.mini {
  margin-top: 0.2rem;
  gap: 0.22rem;
}

.xfactor-icon {
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 5px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 213, 106, 0.88);
  background:
    linear-gradient(135deg, rgba(255, 219, 118, 0.24), rgba(0,0,0,0.08)),
    #15120b;
  color: #ffd86e;
  box-shadow:
    inset 0 0 0 2px rgba(0,0,0,0.55),
    0 0 0 1px rgba(255,255,255,0.04),
    0 0 10px rgba(255, 193, 72, 0.10);
  overflow: hidden;
  transform: rotate(45deg);
}

.xfactor-icon.zone {
  border-color: rgba(255, 221, 120, 0.98);
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 228, 132, 0.35), transparent 45%),
    linear-gradient(135deg, #3a270b, #0f0c08 72%);
  color: #ffd45f;
}

.xfactor-icon.superstar {
  border-color: rgba(216, 173, 87, 0.84);
  background:
    radial-gradient(circle at 35% 30%, rgba(233, 190, 91, 0.23), transparent 46%),
    linear-gradient(135deg, #2a2112, #0f0d0a 74%);
  color: #dcae55;
}

.xfactor-icon.large {
  width: 3rem;
  height: 3rem;
  border-radius: 7px;
}

.xfactor-svg {
  width: 68%;
  height: 68%;
  display: block;
  transform: rotate(-45deg);
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.5));
}

.xfactor-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: rotate(-45deg) scale(1.22);
}

.profile-xfactors {
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
}

.profile-xfactor {
  min-width: 6.8rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,0.035);
  padding: 0.55rem;
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 0.3rem;
}

.profile-xfactor span:not(.xfactor-icon) {
  color: var(--text);
  font-weight: 850;
  font-size: 0.84rem;
}

.profile-xfactor small {
  color: var(--muted);
  font-size: 0.72rem;
}

.lineup-player-chip .xfactor-row {
  margin-top: 0.22rem;
}

.roster-counts .danger-pill {
  margin-left: auto;
}

/* v17 layout hardening: avoid panel/card collisions after NHL roster enrichment adds badges, AAV, and abilities. */
.card, .players-card, .rosters-card, .main-stack, .view-panel, .draft-grid, .player-card, .roster-card {
  min-width: 0;
}

.players-card, .rosters-card, .all-rosters-card, .lineup-card {
  position: relative;
  overflow: hidden;
}

.player-card {
  overflow: hidden;
  align-items: start;
}

.player-actions {
  align-self: start;
}

.player-list {
  max-height: min(72vh, calc(100vh - 19rem));
  overscroll-behavior: contain;
}

.rosters {
  max-height: min(72vh, calc(100vh - 20rem));
}

.all-roster-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 0.9rem;
  align-items: start;
  align-content: start;
}

.all-roster-grid .roster-card {
  width: 100%;
  max-width: none;
  min-width: 0;
}

.all-roster-grid .roster-body {
  max-height: clamp(22rem, 54vh, 38rem);
}

/* v17: official icon image mode. The image itself contains the diamond frame, so do not rotate the wrapper. */
.xfactor-icon {
  width: 1.82rem;
  height: 1.82rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  overflow: visible;
}

.xfactor-icon.zone,
.xfactor-icon.superstar {
  border: 0;
  background: transparent;
  color: inherit;
}

.xfactor-icon.large {
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 0;
}

.xfactor-icon img,
.xfactor-svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,0.45));
}

.xfactor-row.mini .xfactor-icon {
  width: 1.38rem;
  height: 1.38rem;
}

.profile-xfactor {
  min-width: 8rem;
}

/* v18 layout stabilization: keep draft cards readable when roster enrichment adds many badges/icons. */
.draft-grid {
  grid-template-columns: minmax(0, 1fr);
}

.players-card,
.rosters-card,
.all-rosters-card,
.lineup-card {
  overflow: visible;
}

.player-list {
  display: grid;
  grid-auto-rows: max-content;
  gap: 0.7rem;
  max-height: min(74vh, calc(100vh - 15rem));
  overflow-y: auto;
  overflow-x: hidden;
}

.player-card {
  min-height: 7.25rem;
  overflow: visible;
  grid-template-columns: 62px minmax(0, 1fr) minmax(7rem, auto);
  align-items: start;
}

.player-meta {
  max-height: none;
}

.xfactor-row {
  min-height: 1.6rem;
}

.rosters {
  max-height: none;
  overflow: visible;
}

@media (min-width: 1500px) {
  .draft-grid {
    grid-template-columns: minmax(680px, 1fr) minmax(360px, 0.72fr);
  }
}

@media (max-width: 760px) {
  .player-card {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: auto;
  }
  .player-actions {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr 1fr;
  }
}


/* v20: harden enriched-card layout and match scrollbar theme. */
html {
  scrollbar-color: #375783 #07101d;
  scrollbar-width: thin;
}

*::-webkit-scrollbar {
  width: 0.72rem;
  height: 0.72rem;
}

*::-webkit-scrollbar-track {
  background: #07101d;
  border-radius: 999px;
}

*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #375783, #223a5d);
  border: 2px solid #07101d;
  border-radius: 999px;
}

*::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #4c719e, #2c4b74);
}

/* Keep the host sidebar from pushing into the draft board when long source warnings appear. */
.status {
  max-height: 12rem;
  overflow: auto;
  overflow-wrap: anywhere;
}

.app-grid {
  grid-template-columns: 360px minmax(0, 1fr);
}

/* Keep the draft board in a single main column; the focused roster remains below instead of squeezing side-by-side. */
@media (min-width: 1500px) {
  .draft-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

.players-card,
.rosters-card {
  width: 100%;
  max-width: 100%;
}

.player-list {
  min-height: 0;
  max-height: min(74vh, calc(100vh - 13rem));
  overflow: auto;
  padding-right: 0.4rem;
}

.player-card {
  min-height: 0;
  grid-template-columns: 60px minmax(0, 1fr) minmax(7rem, max-content);
  gap: 0.8rem;
  align-items: start;
  overflow: hidden;
}

.player-card > div:nth-child(2) {
  min-width: 0;
  overflow: hidden;
}

.player-meta,
.xfactor-row {
  min-width: 0;
  overflow: hidden;
}

.xfactor-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.36rem;
  max-width: 100%;
  margin-top: 0.35rem;
}

.xfactor-icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 1.65rem;
  height: 1.65rem;
  overflow: hidden;
  line-height: 0;
}

.xfactor-icon.large {
  width: 4.2rem;
  height: 4.2rem;
}

.xfactor-icon img,
.xfactor-svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.xfactor-icon img::before,
.xfactor-icon img::after {
  display: none !important;
  content: none !important;
}

.player-actions {
  display: grid;
  gap: 0.45rem;
  min-width: 7rem;
}

@media (max-width: 1180px) {
  .app-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .player-card {
    grid-template-columns: 54px minmax(0, 1fr);
  }
  .player-actions {
    grid-column: 1 / -1;
    min-width: 0;
  }
}


/* v20: restore readable side-by-side draft panels while keeping enriched cards contained. */
.shell {
  width: min(1720px, calc(100vw - 1.25rem));
}

.app-grid {
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
  gap: 1rem;
}

@media (min-width: 1180px) {
  .draft-grid {
    grid-template-columns: minmax(520px, 1fr) minmax(330px, 430px) !important;
    gap: 1rem;
    align-items: start;
  }
}

@media (max-width: 1179px) {
  .draft-grid, .app-grid {
    grid-template-columns: 1fr !important;
  }
}

.player-card {
  grid-template-columns: 52px minmax(0, 1fr) 72px !important;
  min-height: 0;
  align-items: start;
}

.player-card .headshot {
  width: 52px;
  height: 52px;
  border-radius: 13px;
}

.player-actions {
  display: grid;
  gap: 0.36rem;
  width: 72px;
  min-width: 0;
}

.player-actions button,
.draft-btn {
  width: 100%;
  min-width: 0 !important;
  padding: 0.48rem 0.35rem;
  font-size: 0.78rem;
  line-height: 1.08;
  border-radius: 11px;
  white-space: normal;
}

.player-meta .pill {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.xfactor-row {
  overflow: visible;
  max-height: 2.2rem;
}

.xfactor-icon {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 1.85rem;
  height: 1.85rem;
  flex: 0 0 auto;
  color: #f3c35a;
}

.xfactor-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--xfactor-bg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.xfactor-icon .xfactor-svg {
  position: relative;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,0.5));
}

.xfactor-icon[style*="--xfactor-bg"] .xfactor-svg {
  opacity: 0;
}

.xfactor-icon.large {
  width: 4.2rem;
  height: 4.2rem;
}

.profile-xfactor span {
  text-align: center;
}

.status {
  max-height: 12rem;
  overflow: auto;
  overflow-wrap: anywhere;
}

.debug-json {
  max-height: 60vh;
  overflow: auto;
  white-space: pre-wrap;
  background: #07101d;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 0.85rem;
  color: var(--muted);
}


/* v21 layout and official X-Factor icon fixes */
* { scrollbar-width: thin; scrollbar-color: rgba(107, 215, 255, 0.42) rgba(7, 16, 29, 0.86); }
*::-webkit-scrollbar { width: 12px; height: 12px; }
*::-webkit-scrollbar-track { background: rgba(7, 16, 29, 0.86); border-radius: 999px; }
*::-webkit-scrollbar-thumb { background: linear-gradient(180deg, rgba(107, 215, 255, 0.55), rgba(44, 66, 101, 0.95)); border: 3px solid rgba(7, 16, 29, 0.86); border-radius: 999px; }
*::-webkit-scrollbar-thumb:hover { background: rgba(107, 215, 255, 0.74); }
.shell { width: min(1760px, calc(100vw - 1rem)); }
.app-grid { grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important; align-items: start; overflow: visible; }
.side-stack, .side-stack .card, .side-stack .two, .side-stack button, .side-stack input, .side-stack select, .side-stack .status { min-width: 0; max-width: 100%; }
.side-stack { overflow: clip; }
.side-stack button { white-space: normal; overflow-wrap: anywhere; }
.side-stack .two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.side-stack .two > button:nth-child(3):last-child { grid-column: 1 / -1; }
@media (min-width: 1160px) { .draft-grid { grid-template-columns: minmax(580px, 1fr) minmax(320px, 440px) !important; align-items: start; } }
@media (max-width: 1159px) { .draft-grid, .app-grid { grid-template-columns: 1fr !important; } }
.players-card, .rosters-card, .player-list, .player-card, .team-card, .roster-card { min-width: 0; }
.player-card { grid-template-columns: 54px minmax(0, 1fr) 66px !important; gap: 0.62rem; overflow: hidden; }
.player-actions { width: 66px; min-width: 0; }
.player-actions button, .draft-btn { padding: 0.42rem 0.28rem !important; font-size: 0.75rem !important; line-height: 1.05; }
.player-card > div:nth-child(2) { min-width: 0; overflow: hidden; }
.player-meta { max-width: 100%; overflow: hidden; }
.xfactor-row { display: flex; flex-wrap: nowrap; gap: 0.24rem; max-width: 100%; overflow: hidden !important; max-height: 1.95rem; align-items: center; }
.xfactor-row.mini { max-height: 1.6rem; }
.xfactor-row.compact { max-height: 1.95rem; }
.xfactor-icon { position: relative; width: 1.55rem !important; height: 1.55rem !important; border: 0 !important; background: transparent !important; box-shadow: none !important; transform: none !important; overflow: hidden; flex: 0 0 auto; border-radius: 0 !important; }
.xfactor-icon::before { content: ""; position: absolute; inset: 0; background-image: var(--xfactor-bg); background-size: contain; background-repeat: no-repeat; background-position: center; filter: drop-shadow(0 1px 2px rgba(0,0,0,0.6)); }
.xfactor-icon .xfactor-svg { opacity: 0; width: 100%; height: 100%; }
.xfactor-icon.large { width: 4.6rem !important; height: 4.6rem !important; }
.profile-xfactor { min-width: 7.2rem; overflow: hidden; }
.profile-xfactor span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.status { max-height: 12rem; overflow: auto; }


/* v22 focused roster toolbar polish + larger board/lineup X-Factor icons */
.roster-toolbar-clean {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  align-items: stretch;
  padding: 0.85rem;
  background:
    linear-gradient(135deg, rgba(107, 215, 255, 0.09), rgba(168, 255, 109, 0.055)),
    rgba(7, 16, 29, 0.58);
  border: 1px solid rgba(107, 215, 255, 0.22);
  border-radius: 18px;
}

.roster-toolbar-title {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.roster-toolbar-title strong {
  color: var(--text);
  font-size: 0.96rem;
  letter-spacing: -0.01em;
}

.roster-toolbar-title span {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.roster-select-label {
  display: grid;
  gap: 0.34rem;
  min-width: 0;
}

.roster-select-label span {
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.055em;
  font-weight: 900;
}

.roster-select-label select {
  min-height: 2.8rem;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.035), rgba(107,215,255,0.035)),
    #07101d;
  border-color: rgba(107, 215, 255, 0.27);
}

@media (min-width: 1500px) {
  .roster-toolbar-clean {
    grid-template-columns: minmax(0, 1fr) minmax(12rem, 16rem);
    align-items: end;
  }
}

/* The profile modal keeps large icons; only board/lineup icons get bumped. */
.player-card .xfactor-row,
.lineup-player-chip .xfactor-row {
  gap: 0.34rem !important;
  max-height: 2.35rem !important;
}

.player-card .xfactor-icon,
.lineup-player-chip .xfactor-icon {
  width: 2.05rem !important;
  height: 2.05rem !important;
}

.lineup-player-chip .xfactor-row {
  margin-top: 0.48rem;
}

@media (max-width: 760px) {
  .player-card .xfactor-icon,
  .lineup-player-chip .xfactor-icon {
    width: 1.85rem !important;
    height: 1.85rem !important;
  }
}


/* v41 affordable filter + mobile player action polish */
.toolbar {
  grid-template-columns: minmax(12rem, 2fr) minmax(8rem, 1fr) minmax(8rem, 1fr) minmax(8.5rem, 0.9fr) minmax(10rem, 1.05fr);
  align-items: stretch;
}
.toolbar-check {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.46rem;
  min-height: 2.72rem;
  border: 1px solid var(--line);
  background: #07101d;
  color: var(--text);
  border-radius: 12px;
  padding: 0.54rem 0.68rem;
  cursor: pointer;
  user-select: none;
}
.toolbar-check input {
  width: auto;
  margin: 0;
  accent-color: #6bd7ff;
}
.toolbar-check span {
  font-size: 0.86rem;
  font-weight: 860;
  white-space: nowrap;
}
.toolbar-check:has(input:checked) {
  border-color: rgba(107, 215, 255, 0.72);
  background: rgba(107, 215, 255, 0.12);
}
@supports not selector(:has(*)) {
  .toolbar-check input:checked + span { color: #a8ff6d; }
}

@media (max-width: 1180px) {
  .toolbar {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .toolbar #searchInput,
  .toolbar #sortInput {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .toolbar {
    grid-template-columns: 1fr;
  }
  .toolbar-check {
    justify-content: flex-start;
  }
  .player-card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 0.55rem;
    align-items: start;
    padding: 0.58rem;
  }
  .player-card .headshot {
    width: 48px;
    height: 48px;
    border-radius: 13px;
  }
  .player-card > div:nth-child(2) {
    min-width: 0;
  }
  .player-actions {
    grid-column: 1 / -1;
    width: 100% !important;
    min-width: 0 !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.42rem;
    margin-top: 0.18rem;
  }
  .player-actions button,
  .player-actions .draft-btn,
  .player-actions .queue-btn,
  .player-actions .profile-btn {
    min-height: 2.35rem;
    width: 100%;
    padding: 0.55rem 0.32rem !important;
    font-size: 0.78rem !important;
    line-height: 1.05 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


.legal-footer {
  width: min(1180px, calc(100vw - 2rem));
  margin: 1rem auto 1.5rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  color: var(--muted);
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}
.legal-summary {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}
.legal-footer p {
  margin: 0;
  line-height: 1.35;
  font-size: 0.84rem;
}
.legal-footer .legal-copyright {
  color: var(--text);
  font-weight: 700;
}
.required-field {
  margin-left: 0.35rem;
  color: #8fdcff;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
input.field-error {
  border-color: #ff7d7d !important;
  box-shadow: 0 0 0 2px rgba(255, 92, 92, 0.18);
}
.legal-actions {
  display: flex;
  gap: 0.5rem;
  flex: 0 0 auto;
}
.legal-actions button {
  min-height: 2.15rem;
  padding: 0.45rem 0.7rem;
}
.legal-copy {
  display: grid;
  gap: 0.65rem;
  color: var(--text);
  line-height: 1.5;
}
.legal-copy h3 {
  margin: 0.45rem 0 0;
}
.legal-copy p {
  margin: 0;
  color: var(--muted);
}
@media (max-width: 760px) {
  .legal-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .legal-actions {
    width: 100%;
  }
  .legal-actions button {
    flex: 1 1 0;
  }
}


/* v46 salary/team-name/all-rosters polish */
.manual-team-controls {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.25fr);
  gap: 0.5rem;
}
.manual-team-controls #addManualTeamBtn,
.manual-team-controls #randomizeOrderBtn {
  grid-column: span 1;
}
.manual-team-controls #manualNhlTeam {
  min-width: 0;
}
.all-rosters-card {
  overflow: visible !important;
  min-height: auto;
}
.all-roster-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)) !important;
  grid-auto-rows: auto !important;
  align-items: start !important;
  align-content: start !important;
  gap: 1rem !important;
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
}
.all-roster-grid .roster-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  align-self: start !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.all-roster-grid .roster-body {
  max-height: clamp(18rem, 42vh, 32rem) !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
@media (max-width: 760px) {
  .manual-team-controls { grid-template-columns: 1fr; }
  .manual-team-controls #addManualTeamBtn,
  .manual-team-controls #randomizeOrderBtn { grid-column: auto; }
}

/* v53 cap escape exception polish */
.team-avatar {
  display: inline-grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.13);
  background: rgba(255,255,255,0.04);
  color: #eaf6ff;
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
  overflow: hidden;
  flex: 0 0 auto;
}
.team-avatar img {
  display: block;
  width: 82%;
  height: 82%;
  object-fit: contain;
}
.custom-team-avatar {
  background: linear-gradient(135deg, hsl(var(--team-hue), 72%, 34%), hsl(var(--team-hue), 78%, 20%));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12), 0 2px 10px rgba(0,0,0,0.18);
}
.order-chip-top {
  display: flex;
  align-items: center;
  gap: 0.48rem;
  margin-bottom: 0.42rem;
}
.order-avatar {
  width: 2.15rem;
  height: 2.15rem;
}
.order-team-name {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--text);
  font-weight: 800;
}
.team-logo-pill {
  gap: 0.32rem;
}
.team-logo-pill img {
  width: 1.05rem;
  height: 1.05rem;
  object-fit: contain;
  flex: 0 0 auto;
}
.player-meta .team-logo-pill {
  padding-left: 0.42rem;
}
@media (max-width: 760px) {
  .order-chip { min-width: 9rem; }
  .order-avatar { width: 1.9rem; height: 1.9rem; }
  .team-logo-pill img { width: 0.95rem; height: 0.95rem; }
}


/* v53 explicit emergency completion salary-cap status */
.cap-mode-status {
  margin-top: 0.65rem;
  border: 1px solid rgba(255, 211, 106, 0.44);
  background: rgba(255, 211, 106, 0.10);
  color: #ffe4a3;
  border-radius: 14px;
  padding: 0.68rem 0.78rem;
  font-weight: 760;
  line-height: 1.35;
}
.cap-mode-status.hidden {
  display: none;
}

/* v53 collapsible draft chat */
.draft-chat {
  position: fixed;
  right: clamp(0.75rem, 2vw, 1.35rem);
  bottom: clamp(0.75rem, 2vw, 1.35rem);
  width: min(24rem, calc(100vw - 1.5rem));
  z-index: 30;
  border: 1px solid rgba(120, 210, 255, 0.26);
  border-radius: 18px;
  background: rgba(7, 17, 32, 0.96);
  box-shadow: 0 24px 60px rgba(0,0,0,0.36);
  overflow: hidden;
  backdrop-filter: blur(12px);
}
.draft-chat.hidden { display: none; }
.chat-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  border: 0;
  border-radius: 0;
  padding: 0.78rem 0.9rem;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.24), rgba(44, 89, 185, 0.22));
  color: var(--text);
  font-weight: 900;
}
.chat-unread {
  min-width: 1.35rem;
  height: 1.35rem;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--danger);
  color: white;
  font-size: 0.74rem;
  font-weight: 950;
  margin-left: auto;
}
.chat-panel-body {
  display: grid;
  grid-template-rows: minmax(0, 18rem) auto;
}
.draft-chat.collapsed .chat-panel-body { display: none; }
.chat-messages {
  min-height: 0;
  overflow-y: auto;
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.72rem;
}
.chat-message {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
}
.chat-message.mine { flex-direction: row-reverse; }
.chat-avatar {
  width: 2.05rem;
  height: 2.05rem;
}
.chat-bubble {
  max-width: calc(100% - 2.8rem);
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.055);
  border-radius: 14px;
  padding: 0.55rem 0.65rem;
}
.chat-message.mine .chat-bubble {
  background: rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.22);
}
.chat-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  color: var(--muted);
  font-size: 0.72rem;
  margin-bottom: 0.28rem;
}
.chat-meta strong { color: var(--text); }
.chat-meta span::before,
.chat-meta time::before {
  content: "·";
  margin-right: 0.35rem;
  color: rgba(255,255,255,0.32);
}
.chat-text {
  color: var(--text);
  line-height: 1.35;
  word-break: break-word;
  white-space: pre-wrap;
}
.chat-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  padding: 0.7rem;
  border-top: 1px solid rgba(255,255,255,0.09);
}
.chat-form input { min-width: 0; }
@media (max-width: 760px) {
  .draft-chat {
    left: 0.65rem;
    right: 0.65rem;
    bottom: 0.65rem;
    width: auto;
  }
  .chat-panel-body { grid-template-rows: minmax(0, 15rem) auto; }
}


/* v57 profile access in queues and drafted rosters */
.roster-player-actions { display:flex; align-items:center; justify-content:flex-end; gap:.4rem; min-width:0; }
.compact-profile-btn { padding:.28rem .46rem; border-radius:8px; font-size:.76rem; white-space:nowrap; }
.queue-actions { flex-wrap:wrap; justify-content:flex-end; }


/* v58 filters, salary slider, and team ratings */
.salary-range-control {
  min-width: 190px;
  align-content: center;
}
.salary-range-control span {
  display: flex;
  justify-content: space-between;
  gap: .6rem;
  font-size: .78rem;
}
.salary-range-control input[type="range"] {
  padding: 0;
  min-height: 1.7rem;
}
.team-rating-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .4rem;
}
.team-rating-summary span {
  display: grid;
  place-items: center;
  padding: .45rem .3rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.team-rating-summary b { font-size: 1.05rem; }
.team-rating-summary small { color: var(--muted); font-size: .68rem; font-weight: 800; }
@media (max-width: 900px) {
  .toolbar { grid-template-columns: 1fr 1fr; }
  .salary-range-control { min-width: 0; }
}

/* v59 responsive layout, queue preferences, host drawer, and salary control polish */
html, body { max-width: 100%; overflow-x: hidden; }
body.settings-open { overflow: hidden; }
.app-grid, .main-stack, .side-stack, .draft-grid, .players-card, .rosters-card,
.toolbar, .player-card, .queue-card, .queue-row, .queue-main { min-width: 0; }

.side-stack { align-content: start; }
@media (min-width: 1180px) {
  .side-stack { position: sticky; top: .75rem; max-height: calc(100vh - 1.5rem); overflow-y: auto; padding-right: .25rem; }
  .queue-card { order: -1; }
}

.queue-card { gap: .7rem; }
.queue-card .section-head { align-items: flex-start; }
.queue-card .section-note { margin: .2rem 0 0; line-height: 1.35; }
.queue-preference {
  padding: .65rem;
  border: 1px solid rgba(107, 215, 255, .22);
  border-radius: 14px;
  background: rgba(107, 215, 255, .055);
}
.queue-preference label { gap: .4rem; }
.queue-preference select { padding: .58rem .68rem; }
.queue-preference .section-note { margin: .45rem 0 0; color: var(--muted); font-size: .78rem; }
.queue-list { gap: .5rem; }
.queue-row {
  grid-template-columns: 1.8rem minmax(0, 1fr) auto;
  padding: .55rem;
  gap: .5rem;
}
.queue-main strong { font-size: .94rem; }
.queue-meta { gap: .28rem; margin-top: .28rem; }
.queue-meta .pill { padding: .22rem .42rem; font-size: .72rem; }
.queue-actions { flex-wrap: nowrap; gap: .25rem; }
.queue-actions button { padding: .42rem .5rem; min-width: 2rem; }
.queue-actions .ghost { font-size: .78rem; }

.settings-overlay {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: grid;
  justify-items: end;
}
.settings-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border-radius: 0;
  background: rgba(2, 7, 15, .72);
  backdrop-filter: blur(4px);
}
.settings-backdrop:hover { background: rgba(2, 7, 15, .72); }
.host-settings-panel {
  position: relative;
  z-index: 1;
  width: min(520px, calc(100vw - 1rem));
  height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
  border-radius: 20px 0 0 20px;
  padding: 1rem;
  align-content: start;
  box-shadow: -24px 0 70px rgba(0,0,0,.48);
}
#hostSettingsCloseBtn { font-size: 1.35rem; padding: .35rem .65rem; }

.salary-range-control {
  position: relative;
  padding: .55rem .7rem .62rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}
.salary-range-control span { align-items: center; }
.salary-range-control b {
  padding: .2rem .48rem;
  border-radius: 999px;
  color: var(--text);
  background: rgba(107, 215, 255, .12);
  border: 1px solid rgba(107, 215, 255, .25);
}
.salary-range-control input[type="range"] {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 1.25rem;
  min-height: 1.25rem;
  margin-top: .35rem;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
  cursor: pointer;
}
.salary-range-control input[type="range"]::-webkit-slider-runnable-track {
  height: .38rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(107,215,255,.95), rgba(168,255,109,.8));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
}
.salary-range-control input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: -.385rem;
  border-radius: 50%;
  border: 3px solid #07101d;
  background: #f5f8fd;
  box-shadow: 0 2px 10px rgba(0,0,0,.5);
}
.salary-range-control input[type="range"]::-moz-range-track {
  height: .38rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(107,215,255,.95), rgba(168,255,109,.8));
}
.salary-range-control input[type="range"]::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 3px solid #07101d;
  background: #f5f8fd;
  box-shadow: 0 2px 10px rgba(0,0,0,.5);
}

.toolbar {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  align-items: stretch;
}
.toolbar > * { min-width: 0; }
.toolbar #searchInput { grid-column: span 2; }
.salary-range-control { min-width: 0; }

@media (max-width: 1450px) {
  .toolbar { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
  .toolbar #searchInput { grid-column: span 2; }
}
@media (max-width: 1179px) {
  .side-stack { position: static; max-height: none; overflow: visible; }
  .app-grid { grid-template-columns: 1fr !important; }
  .queue-card { order: 0; }
}
@media (max-width: 900px) {
  .toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .toolbar #searchInput { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .toolbar { grid-template-columns: 1fr; }
  .toolbar #searchInput { grid-column: auto; }
  .queue-row { grid-template-columns: 1.65rem minmax(0, 1fr); }
  .queue-actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }
  .host-settings-panel { width: 100vw; border-radius: 0; }
  .top-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .top-actions button { min-width: 0; }
}


/* v60 queued-pick countdown, modal stacking, queue names, and larger draft logos */
.settings-overlay {
  z-index: 2147483000 !important;
  isolation: isolate;
}
.host-settings-panel { z-index: 2 !important; }
.settings-backdrop { z-index: 1 !important; }

.queue-row {
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: start;
}
.queue-main { min-width: 0; }
.queue-player-name {
  display: block;
  width: 100%;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.22;
}
.queue-actions {
  grid-column: 2;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: .12rem;
}

.queue-countdown {
  margin-top: .6rem;
  padding: .7rem;
  border: 1px solid rgba(255, 211, 106, .52);
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(255, 211, 106, .16), rgba(255, 133, 133, .07));
  box-shadow: 0 0 0 1px rgba(255,255,255,.025), 0 10px 28px rgba(0,0,0,.18);
  transform-origin: center;
}
.queue-countdown.active { animation: queue-alert-pulse 1s ease-in-out infinite; }
.queue-countdown.urgent {
  border-color: rgba(255, 133, 133, .7);
  background: linear-gradient(135deg, rgba(255, 133, 133, .22), rgba(255, 211, 106, .12));
}
.queue-countdown-copy {
  display: grid;
  gap: .15rem;
}
.queue-countdown-copy span {
  color: var(--warning);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.queue-countdown-copy strong { line-height: 1.25; }
.queue-countdown-track {
  height: .42rem;
  margin-top: .55rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0,0,0,.28);
}
.queue-countdown-track span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--warning), var(--danger));
  transform-origin: left center;
  transition: transform .12s linear;
}
.queue-card:has(.queue-countdown.active) .queue-row:first-child {
  border-color: rgba(255, 211, 106, .62);
  box-shadow: 0 0 0 2px rgba(255, 211, 106, .09), 0 10px 30px rgba(0,0,0,.2);
  animation: queued-player-ready .8s ease-in-out infinite alternate;
}
@keyframes queue-alert-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 211, 106, .05), 0 10px 28px rgba(0,0,0,.18); }
  50% { box-shadow: 0 0 0 5px rgba(255, 211, 106, .09), 0 10px 32px rgba(0,0,0,.22); }
}
@keyframes queued-player-ready {
  from { transform: translateX(0); }
  to { transform: translateX(3px); }
}

.order-avatar {
  width: 2.75rem;
  height: 2.75rem;
}
.order-chip { min-width: 10rem; }
@media (max-width: 760px) {
  .order-avatar { width: 2.35rem; height: 2.35rem; }
  .order-chip { min-width: 9.5rem; }
}

/* v61 arena-dashboard reskin and smoother automated-pick presentation */
:root {
  --bg: #020d17;
  --panel: #071927;
  --panel-2: #0a2031;
  --panel-3: #0d2b40;
  --line: #174862;
  --accent: #12d7ff;
  --accent-2: #49f39b;
  --shadow: 0 18px 44px rgba(0, 0, 0, .38);
  --radius: 12px;
}
body {
  background:
    radial-gradient(circle at 48% -12%, rgba(18, 215, 255, .12), transparent 38rem),
    linear-gradient(180deg, #020c15 0%, #03111d 48%, #020b13 100%);
}
.shell { width: min(1760px, calc(100vw - 1rem)); padding-top: .5rem; }
.card, .hero-card, .clock-panel {
  background: linear-gradient(180deg, rgba(8, 29, 44, .96), rgba(5, 20, 32, .96));
  border-color: rgba(34, 155, 199, .25);
  box-shadow: 0 12px 30px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.025);
}
.card { padding: .82rem; gap: .68rem; }
.topbar {
  min-height: 68px;
  padding: .55rem .8rem;
  border: 1px solid rgba(18,215,255,.3);
  border-radius: 12px 12px 0 0;
  background: linear-gradient(100deg, rgba(4,22,35,.98), rgba(3,14,24,.98));
  align-items: center;
}
.topbar h1 { font-size: clamp(1.15rem, 2vw, 1.7rem); letter-spacing: -.035em; text-transform: uppercase; }
.topbar p { margin-top: .25rem; font-size: .8rem; }
.topbar .logo-mark { width: 2.75rem; height: 2.75rem; font-size: 1.35rem; }
.top-actions button, .clock-actions button { min-height: 42px; }
.clock-panel {
  margin-top: .5rem;
  padding: .65rem 1rem;
  min-height: 72px;
  border-radius: 10px;
  grid-template-columns: minmax(220px, 1fr) auto;
  background: linear-gradient(90deg, rgba(4,24,38,.97), rgba(5,36,51,.92), rgba(4,20,31,.97));
}
.on-clock { font-size: clamp(1.45rem, 3vw, 2.35rem); margin: .05rem 0 .18rem; text-transform: uppercase; }
.timer-box {
  min-width: 8.8rem;
  padding: .55rem .8rem;
  font-size: 1.65rem;
  border-color: rgba(18,215,255,.5);
  box-shadow: inset 0 0 22px rgba(18,215,255,.05);
}
.app-grid { grid-template-columns: 300px minmax(0, 1fr); gap: .65rem; margin-top: .65rem; }
.side-stack, .main-stack { gap: .65rem; }
.side-stack { position: sticky; top: .45rem; max-height: calc(100vh - 1rem); overflow-y: auto; scrollbar-width: thin; }
.main-stack { min-width: 0; }
.section-head h2, .card h2 { font-size: .93rem; text-transform: uppercase; letter-spacing: .025em; }
.section-note { font-size: .76rem; line-height: 1.36; }
.draft-order { gap: .42rem; scrollbar-width: thin; }
.order-chip {
  min-width: 8.7rem;
  padding: .52rem .6rem;
  border-radius: 9px;
  border-color: rgba(42,117,148,.45);
  background: rgba(5,24,37,.9);
}
.order-chip.active {
  border-color: #ff5e5e;
  box-shadow: 0 0 0 1px rgba(255,94,94,.24), 0 0 20px rgba(255,94,94,.1);
}
.order-avatar { width: 2.65rem !important; height: 2.65rem !important; }
.order-team-name { font-size: .78rem; }
.view-tabs { border-radius: 9px; background: rgba(5,22,34,.95); border-color: rgba(34,155,199,.2); }
.view-tab.active { color: var(--accent); box-shadow: inset 0 -2px var(--accent); }
.draft-grid { grid-template-columns: minmax(0, 1.5fr) minmax(280px, .5fr); gap: .65rem; }
.toolbar { grid-template-columns: minmax(180px,1.4fr) repeat(3,minmax(130px,.8fr)); }
.player-list { gap: .35rem; }
.player-card {
  border-radius: 9px;
  padding: .42rem .5rem;
  background: linear-gradient(90deg, rgba(7,31,47,.94), rgba(5,24,37,.9));
}
.player-card:hover { border-color: rgba(18,215,255,.52); transform: translateY(-1px); }
.queue-card { order: -2; border-color: rgba(18,215,255,.28); }
.queue-row {
  border-radius: 10px;
  background: linear-gradient(100deg, rgba(9,35,52,.98), rgba(6,25,39,.94));
  transition: transform .32s cubic-bezier(.2,.8,.2,1), border-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.queue-row.queue-pick-pending {
  animation: v61-queue-float 1.25s ease-in-out infinite;
  border-color: rgba(18,215,255,.78);
  box-shadow: 0 0 0 1px rgba(18,215,255,.16), 0 10px 26px rgba(0,0,0,.2), 0 0 28px rgba(18,215,255,.11);
}
.queue-countdown {
  overflow: hidden;
  background: linear-gradient(120deg, rgba(6,44,61,.98), rgba(8,29,46,.98));
  transform-origin: top center;
  animation: v61-countdown-enter .42s cubic-bezier(.18,.85,.25,1) both;
}
.queue-countdown.active { animation: v61-countdown-enter .42s cubic-bezier(.18,.85,.25,1) both, v61-countdown-breathe 1.3s ease-in-out .42s infinite; }
.queue-countdown-track span { transition: width .12s linear; box-shadow: 0 0 12px rgba(18,215,255,.7); }
.settings-overlay { z-index: 2147483000 !important; isolation: isolate; }
.settings-backdrop { z-index: 2147483001 !important; }
.host-settings-panel { z-index: 2147483002 !important; width: min(520px, calc(100vw - 1rem)); }
.install-guide { display: grid; gap: .75rem; line-height: 1.5; }
.install-guide ol { margin: 0; padding-left: 1.4rem; display: grid; gap: .45rem; }
.salary-range-wrap, .salary-slider-wrap { border-radius: 10px; background: rgba(3,18,29,.8); }
input[type="range"] { accent-color: var(--accent); }
@keyframes v61-queue-float {
  0%,100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-3px) scale(1.008); }
}
@keyframes v61-countdown-enter {
  from { opacity: 0; transform: translateY(-8px) scaleY(.88); }
  to { opacity: 1; transform: translateY(0) scaleY(1); }
}
@keyframes v61-countdown-breathe {
  0%,100% { box-shadow: 0 0 0 rgba(18,215,255,0); }
  50% { box-shadow: 0 0 26px rgba(18,215,255,.13); }
}
@media (max-width: 1250px) {
  .app-grid { grid-template-columns: 260px minmax(0,1fr); }
  .draft-grid { grid-template-columns: minmax(0,1fr); }
  .toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .shell { width: min(100%, calc(100vw - .5rem)); }
  .topbar { align-items: flex-start; }
  .clock-panel { grid-template-columns: 1fr; }
  .app-grid { grid-template-columns: 1fr; }
  .side-stack { position: static; max-height: none; overflow: visible; }
  .queue-card { order: -3; }
}
@media (prefers-reduced-motion: reduce) {
  .queue-row.queue-pick-pending, .queue-countdown, .queue-countdown.active { animation: none !important; }
  .player-card, .queue-row { transition: none !important; }
}


/* v62 committed dashboard reskin */
:root{--bg:#020d17;--panel:#061927;--panel-2:#092236;--panel-3:#0d2c44;--line:#153e58;--accent:#00d6ff;--accent-2:#39f0a0;--text:#f4f8fb;--muted:#8fa9ba;--radius:10px;--shadow:0 16px 40px rgba(0,0,0,.28)}
body{background:radial-gradient(circle at 50% -20%,rgba(0,214,255,.1),transparent 38rem),linear-gradient(180deg,#020b13,#03111d 55%,#020b13);font-size:14px}
.shell{width:min(1780px,calc(100vw - 24px));padding:10px 0 28px}
.card,.clock-panel,.hero-card{background:linear-gradient(180deg,rgba(7,29,45,.97),rgba(4,20,32,.97));border:1px solid rgba(39,126,169,.28);border-radius:10px;box-shadow:none}
.card{padding:12px;gap:10px}.topbar{min-height:68px;align-items:center;padding:4px 8px 8px}.topbar h1{font-size:22px;letter-spacing:-.035em}.topbar p{font-size:12px}.clock-panel{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:360px;min-height:62px;padding:8px 14px;z-index:3;grid-template-columns:1fr auto}.clock-panel .eyebrow,.clock-panel .on-clock,.clock-panel #clockMeta{display:none}.timer-box{min-width:128px;border:0;background:transparent;font-size:34px;letter-spacing:.02em;padding:0}.clock-actions{align-items:center}.clock-actions button{font-size:12px;padding:9px 11px}.app-grid{grid-template-columns:300px minmax(0,1fr);gap:10px;margin-top:6px}.side-stack,.main-stack{gap:10px}.side-stack{position:sticky;top:8px;align-self:start;max-height:calc(100vh - 16px);overflow:auto;padding-right:2px}.dashboard-strip{padding:10px}.compact-section-head h2{font-size:13px;text-transform:uppercase;letter-spacing:.045em}.draft-order{gap:8px}.order-chip{min-width:132px;padding:8px 10px;border-radius:8px;background:#061b2b}.order-chip.active{border-color:#ff4d4d;background:rgba(255,50,50,.07)}.order-avatar{width:46px!important;height:38px!important}.order-team-name{font-size:11px}.overall-selections{display:flex;gap:7px;overflow-x:auto}.selection-chip{display:grid;grid-template-columns:auto 36px minmax(70px,1fr) 28px;align-items:center;gap:6px;min-width:170px;padding:7px;border:1px solid var(--line);background:#071d2d;border-radius:8px;text-align:left}.selection-chip:hover{border-color:var(--accent);background:#09263a}.selection-pick{font-size:10px;color:var(--muted)}.selection-headshot{width:36px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#0b2b42}.selection-headshot img{width:100%;height:100%;object-fit:cover}.selection-copy{min-width:0}.selection-copy strong,.selection-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selection-copy strong{font-size:11px}.selection-copy small{font-size:9px;color:var(--muted)}.selection-team-logo{width:26px!important;height:26px!important}.text-button{background:transparent;padding:2px 4px;color:var(--muted);font-size:11px}.text-button:hover{color:var(--accent);background:transparent}
.view-tabs{border:1px solid var(--line);background:#041623;border-radius:9px;padding:0 8px}.view-tab{border-radius:0;background:transparent;border-bottom:2px solid transparent;padding:12px 14px;text-transform:uppercase;font-size:11px;letter-spacing:.05em}.view-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.draft-grid{grid-template-columns:minmax(0,1fr) 335px;gap:10px}.players-card{min-width:0}.toolbar{grid-template-columns:minmax(220px,1.5fr) 1fr 1fr 1.2fr;gap:8px}.toolbar-check,.salary-range-control{min-height:48px;border:1px solid var(--line);border-radius:8px;background:#051928;padding:7px 10px}.player-list{gap:0;border:1px solid var(--line);border-radius:8px;overflow:auto;max-height:calc(100vh - 425px);min-height:430px}.player-card{grid-template-columns:42px minmax(0,1fr) auto;border:0;border-bottom:1px solid rgba(37,86,113,.45);border-radius:0;background:transparent;padding:7px 9px;gap:10px;min-height:64px}.player-card:hover{background:rgba(0,214,255,.035)}.player-card:last-child{border-bottom:0}.headshot{width:42px;height:48px;border-radius:8px}.player-name{font-size:14px;margin:0 0 2px}.player-meta{gap:4px}.player-meta .pill{border:0;background:transparent;padding:0;color:#a8bdcb;font-size:10px}.player-actions{display:grid;grid-template-columns:72px;gap:3px}.player-actions button{padding:4px 8px;border-radius:5px;font-size:10px}.draft-btn{order:-1}.xfactor-icons.compact{margin-top:3px}.xfactor-icon{transform:scale(.88);transform-origin:left center}.rosters-card{position:sticky;top:8px;max-height:calc(100vh - 150px);overflow:auto}.comparison-heading{align-items:end}.comparison-heading h2{font-size:16px}.comparison-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:7px;overflow:hidden}.comparison-tab{border-radius:0;background:#061b2b;font-size:11px}.comparison-tab.active{background:#0b3852;color:var(--accent)}.comparison-versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:8px;padding:8px;background:linear-gradient(90deg,rgba(0,214,255,.07),transparent,rgba(255,66,96,.07));border-radius:8px}.comparison-versus>div{display:grid;justify-items:center;gap:4px;font-size:10px}.comparison-logo{width:58px!important;height:54px!important}.comparison-metrics{display:grid;gap:5px;margin-top:7px}.comparison-metrics>div{display:grid;grid-template-columns:1fr 40px 1fr;text-align:center;align-items:center}.comparison-metrics b{background:#0a3048;padding:7px;border-radius:6px;font-size:16px;color:#a8edff}.comparison-metrics>div b:last-child{background:#3b1c2b;color:#ffd0d8}.comparison-metrics span{font-size:9px;color:var(--muted)}.comparison-roster .roster-card{border:0;padding:0;background:transparent}.comparison-roster .team-rating-summary{display:none}.roster-body{max-height:360px}.roster-player{grid-template-columns:24px minmax(0,1fr) auto;font-size:10px;padding:5px 3px}.compact-profile-btn{font-size:9px;padding:3px 5px}
.queue-card{order:-2}.queue-row{grid-template-columns:24px 44px minmax(0,1fr);grid-template-areas:"rank photo main" ". . actions";gap:7px;padding:8px;border-radius:8px}.queue-rank{grid-area:rank}.queue-headshot{grid-area:photo;width:44px;height:50px;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:#0a2b42;font-weight:900}.queue-headshot img{width:100%;height:100%;object-fit:cover}.queue-main{grid-area:main}.queue-actions{grid-area:actions;justify-content:flex-start}.queue-player-name{font-size:13px;white-space:normal}.queue-countdown{padding:10px;border-color:rgba(0,214,255,.6);background:radial-gradient(circle at 20% 50%,rgba(0,214,255,.12),transparent 55%),#061d2d}.queue-countdown-player{display:grid;grid-template-columns:46px 48px 1fr;align-items:center;gap:8px}.queue-countdown-ring{--queue-progress:360deg;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) var(--queue-progress),rgba(255,255,255,.08) 0);position:relative;font-size:16px;font-weight:900}.queue-countdown-ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:#061927}.queue-countdown-ring span{position:relative}.queue-countdown-headshot{width:48px;height:54px;border-radius:9px;overflow:hidden;display:grid;place-items:center;background:#0a2d44}.queue-countdown-headshot img{width:100%;height:100%;object-fit:cover}.queue-countdown-copy strong{font-size:12px}.queue-countdown-copy small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.queue-pick-pending{animation:v62QueuePulse 1.2s ease-in-out infinite}@keyframes v62QueuePulse{50%{border-color:var(--accent);box-shadow:0 0 0 2px rgba(0,214,255,.13),0 0 22px rgba(0,214,255,.12);transform:translateY(-1px)}}
.history-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px}.history-backdrop{position:absolute;inset:0;border:0;border-radius:0;background:rgba(0,6,12,.8);backdrop-filter:blur(7px)}.history-panel{position:relative;width:min(1380px,96vw);max-height:92vh;overflow:hidden;z-index:1}.history-table-wrap{max-height:78vh}.history-table-wrap table{min-width:1000px}.modal-close{font-size:24px}.modal-open{overflow:hidden}.compact-empty{padding:8px}.history-overlay.hidden{display:none!important}
@media(max-width:1250px){.clock-panel{position:static;transform:none;width:auto;margin-bottom:8px}.app-grid{grid-template-columns:270px minmax(0,1fr)}.draft-grid{grid-template-columns:minmax(0,1fr)}.rosters-card{position:static;max-height:none}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.player-list{max-height:65vh}}
@media(max-width:850px){.app-grid{display:block}.side-stack{position:static;max-height:none;overflow:visible}.draft-grid{display:block}.rosters-card{margin-top:10px}.toolbar{grid-template-columns:1fr}.player-list{min-height:0;max-height:none}.overall-selections{padding-bottom:4px}.topbar{display:grid}.clock-panel{margin-top:8px}.queue-card{order:initial}}
@media(prefers-reduced-motion:reduce){.queue-pick-pending{animation:none}}

/* v63 readability and containment corrections */
:root {
  --text: #f7fbff;
  --muted: #b0c3d0;
  --line: #1d526f;
}
body { font-size: 16px; line-height: 1.42; }
.shell { width: min(1780px, calc(100vw - 20px)); }

/* Keep the draft clock and host actions in normal document flow. */
.topbar {
  position: relative;
  min-height: 76px;
  padding: 8px 10px 10px;
  gap: 16px;
}
.topbar h1 { font-size: clamp(1.45rem, 2vw, 2rem); }
.topbar p { font-size: .9rem; color: var(--muted); }
.top-actions button { font-size: .9rem; padding: .65rem .8rem; }
.clock-panel {
  position: relative;
  inset: auto;
  left: auto;
  top: auto;
  transform: none;
  width: 100%;
  min-height: 82px;
  margin: 0 0 10px;
  padding: 12px 16px;
  z-index: 1;
  grid-template-columns: minmax(220px, 1fr) auto;
  overflow: hidden;
}
.clock-panel .eyebrow { display: block; font-size: .78rem; color: #9fc6d8; }
.clock-panel .on-clock { display: block; font-size: clamp(1.25rem, 2vw, 1.8rem); margin: .1rem 0 .25rem; }
.clock-panel #clockMeta { display: flex; }
.timer-box {
  min-width: 150px;
  border: 1px solid rgba(0,214,255,.32);
  background: rgba(2,15,25,.56);
  border-radius: 12px;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  padding: .45rem .8rem;
}
.clock-actions { align-items: center; justify-content: flex-end; }
.clock-actions button { font-size: .88rem; padding: .65rem .78rem; }

/* Improve global legibility without losing the compact dashboard style. */
.card { padding: 14px; gap: 12px; }
.section-head h2, .card h2, .compact-section-head h2 {
  font-size: .98rem;
  letter-spacing: .035em;
  color: #f4fbff;
}
.section-note { font-size: .86rem; line-height: 1.46; color: #b6c7d2; }
.badge, .pill { font-size: .82rem; color: #b8cad5; }
.view-tab { font-size: .82rem; padding: 13px 16px; color: #b9cbd6; }
.view-tab.active { color: #41e2ff; }
input, select, button { font-size: .9rem; }
label { font-size: .88rem; }

/* Larger, more readable available-player rows and portraits. */
.player-card {
  grid-template-columns: 64px minmax(0,1fr) auto;
  min-height: 82px;
  padding: 9px 11px;
  gap: 12px;
}
.player-card .headshot, .headshot {
  width: 64px;
  height: 70px;
  border-radius: 11px;
}
.player-name { font-size: 1.02rem; line-height: 1.18; }
.player-meta .pill { font-size: .76rem; color: #bdd0dc; }
.player-actions { grid-template-columns: 82px; gap: 5px; }
.player-actions button { font-size: .78rem; padding: .48rem .55rem; }
.xfactor-icon { transform: scale(.96); }

/* Queue portraits and text should be visually important. */
.queue-row {
  grid-template-columns: 28px 62px minmax(0,1fr);
  grid-template-areas: "rank photo main" ". . actions";
  gap: 9px;
  padding: 10px;
}
.queue-headshot { width: 62px; height: 68px; border-radius: 11px; }
.queue-player-name { font-size: 1rem; line-height: 1.2; }
.queue-meta .pill { font-size: .76rem; padding: .25rem .45rem; }
.queue-actions button, .queue-actions .ghost { font-size: .78rem; }
.queue-countdown { padding: 12px; }
.queue-countdown-player { grid-template-columns: 62px 66px minmax(0,1fr); gap: 11px; }
.queue-countdown-ring { width: 62px; height: 62px; font-size: 1.25rem; }
.queue-countdown-ring:before { inset: 6px; }
.queue-countdown-headshot { width: 66px; height: 72px; border-radius: 11px; }
.queue-countdown-copy strong { font-size: 1rem; line-height: 1.22; }
.queue-countdown-copy small { font-size: .78rem; color: #b7cad5; }

/* Rebuild Overall Selections cards so every item has enough room. */
.overall-selections {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(215px, 235px);
  gap: 9px;
  overflow-x: auto;
  padding: 1px 1px 7px;
  scroll-snap-type: x proximity;
}
.selection-chip {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) 40px;
  grid-template-rows: auto auto;
  grid-template-areas:
    "photo copy logo"
    "pick copy logo";
  align-items: center;
  min-width: 0;
  min-height: 82px;
  gap: 4px 9px;
  padding: 9px 10px;
  overflow: hidden;
  scroll-snap-align: start;
}
.selection-headshot { grid-area: photo; width: 52px; height: 56px; border-radius: 10px; }
.selection-pick {
  grid-area: pick;
  font-size: .72rem;
  font-weight: 800;
  color: #8fe9ff;
  text-align: center;
}
.selection-copy { grid-area: copy; align-self: center; overflow: hidden; }
.selection-copy strong {
  font-size: .9rem;
  line-height: 1.2;
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.selection-copy small { font-size: .75rem; color: #b1c5d1; margin-top: 4px; }
.selection-team-logo { grid-area: logo; width: 40px !important; height: 40px !important; }
.text-button { font-size: .82rem; color: #b8cbd7; }

/* Bring the remaining comparison and roster text up to a readable baseline. */
.order-team-name { font-size: .78rem; color: #c5d5df; }
.comparison-tab { font-size: .8rem; }
.comparison-versus > div { font-size: .76rem; }
.comparison-metrics span { font-size: .72rem; color: #b7c8d2; }
.roster-player { font-size: .78rem; padding: 7px 4px; }
.compact-profile-btn { font-size: .72rem; }

@media (max-width: 1250px) {
  .clock-panel { grid-template-columns: 1fr; }
  .clock-actions { justify-content: flex-start; }
  .player-card { grid-template-columns: 58px minmax(0,1fr) auto; }
  .player-card .headshot, .headshot { width: 58px; height: 64px; }
}
@media (max-width: 850px) {
  body { font-size: 15px; }
  .topbar { display: grid; }
  .clock-panel { margin-top: 0; }
  .clock-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .timer-box { grid-column: 1 / -1; width: 100%; }
  .overall-selections { grid-auto-columns: minmax(205px, 82vw); }
  .player-card { grid-template-columns: 58px minmax(0,1fr); }
  .player-actions { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* v64 player presentation rebuild */
.player-list {
  border: 0;
  background: transparent;
  gap: 10px;
  padding: 2px 4px 8px;
}
.player-card,
.player-card.disabled {
  display: grid !important;
  grid-template-columns: 92px minmax(220px, 1.7fr) 72px 96px minmax(235px, .95fr) 92px !important;
  align-items: center;
  gap: 16px !important;
  min-height: 112px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(54, 115, 150, .42) !important;
  border-radius: 12px !important;
  background: linear-gradient(90deg, rgba(8, 31, 48, .98), rgba(5, 24, 38, .98)) !important;
  opacity: 1 !important;
  overflow: visible !important;
}
.player-card:hover {
  border-color: rgba(18, 215, 255, .72) !important;
  background: linear-gradient(90deg, rgba(10, 40, 60, .99), rgba(6, 29, 45, .99)) !important;
  transform: translateY(-1px);
}
.player-card.queued { box-shadow: inset 3px 0 0 var(--accent); }
.player-row-photo,
.player-card .headshot {
  width: 92px !important;
  height: 100px !important;
  border-radius: 12px !important;
  background: radial-gradient(circle at 50% 30%, rgba(24, 91, 126, .68), rgba(4, 20, 32, .9));
  border: 1px solid rgba(77, 151, 188, .42);
  overflow: hidden;
  align-self: end;
}
.player-row-photo img,
.player-card .headshot img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: scale(1.16);
  transform-origin: center bottom;
}
.player-identity { min-width: 0; display: grid; align-content: center; gap: 5px; }
.player-name-button {
  appearance: none;
  width: fit-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent !important;
  color: var(--text);
  text-align: left;
  font-size: 1.08rem !important;
  line-height: 1.15;
  font-weight: 850;
  white-space: normal;
}
.player-name-button:hover { color: var(--accent); }
.player-subtitle { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; color: #c1d4df; font-size: .82rem; }
.player-subtitle .meta-dot { color: #3d6b84; }
.player-source { color: #7896a8; font-size: .72rem; }
.player-card .xfactor-icons.compact { margin-top: 2px; display: flex; flex-wrap: wrap; gap: 5px; }
.player-card .xfactor-icon { transform: none !important; }
.player-value {
  display: grid;
  justify-items: center;
  gap: 3px;
  padding: 9px 7px;
  border-left: 1px solid rgba(43, 92, 119, .45);
}
.player-value span { color: #87a5b7; font-size: .68rem; font-weight: 800; letter-spacing: .08em; }
.player-value strong { font-size: 1.42rem; line-height: 1; color: #eef8fd; }
.player-overall-value strong { color: #18d7ff; }
.player-aav-value strong { font-size: 1rem; white-space: nowrap; }
.player-stat-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(46px, 1fr));
  gap: 6px;
}
.player-stat-strip > div {
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 7px 4px;
  border: 1px solid rgba(41, 92, 121, .42);
  border-radius: 8px;
  background: rgba(8, 34, 52, .72);
}
.player-stat-strip span { color: #7897a9; font-size: .62rem; font-weight: 850; letter-spacing: .06em; }
.player-stat-strip strong { color: #eaf5fb; font-size: .88rem; }
.player-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 6px !important; }
.player-actions button { min-height: 31px; padding: 6px 9px !important; font-size: .78rem !important; border-radius: 7px !important; }
.player-actions .draft-btn:disabled {
  background: rgba(74, 96, 109, .24) !important;
  border: 1px solid rgba(110, 135, 148, .28);
  color: #78909d !important;
  opacity: 1;
}

/* Profile hero: use the portrait as a real visual anchor. */
.profile-hero {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 22px !important;
  padding: 16px;
  border: 1px solid rgba(50, 112, 146, .38);
  border-radius: 14px;
  background: linear-gradient(105deg, rgba(9, 43, 64, .9), rgba(4, 23, 36, .72));
}
.profile-photo,
.profile-hero .profile-photo {
  width: 150px !important;
  height: 164px !important;
  border-radius: 14px !important;
  align-self: end;
  background: radial-gradient(circle at 50% 28%, rgba(30, 106, 144, .74), rgba(4, 20, 32, .95));
}
.profile-photo img,
.profile-hero .profile-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: scale(1.16);
  transform-origin: center bottom;
}
.profile-hero h3 { font-size: 1.65rem !important; margin: 2px 0 10px; }
.profile-hero .pill-row { gap: 7px; }
.profile-hero .pill { font-size: .78rem; padding: .38rem .6rem; }
.profile-xfactor { min-width: 132px !important; padding: 12px !important; }
.profile-xfactor .xfactor-icon.large { width: 72px !important; height: 72px !important; }

@media (max-width: 1420px) {
  .player-card, .player-card.disabled {
    grid-template-columns: 82px minmax(205px, 1.5fr) 64px 88px minmax(200px, .85fr) 82px !important;
    gap: 11px !important;
  }
  .player-row-photo, .player-card .headshot { width: 82px !important; height: 92px !important; }
  .player-stat-strip { gap: 4px; }
}
@media (max-width: 1120px) {
  .player-card, .player-card.disabled {
    grid-template-columns: 82px minmax(0,1fr) 70px 92px !important;
    grid-template-areas:
      "photo identity overall actions"
      "photo stats aav actions";
  }
  .player-row-photo { grid-area: photo; }
  .player-identity { grid-area: identity; }
  .player-overall-value { grid-area: overall; }
  .player-aav-value { grid-area: aav; }
  .player-stat-strip { grid-area: stats; }
  .player-actions { grid-area: actions; }
}
@media (max-width: 720px) {
  .player-card, .player-card.disabled {
    grid-template-columns: 76px minmax(0,1fr) !important;
    grid-template-areas:
      "photo identity"
      "photo stats"
      "overall aav"
      "actions actions";
    padding: 10px !important;
  }
  .player-row-photo, .player-card .headshot { width: 76px !important; height: 88px !important; }
  .player-actions { grid-template-columns: repeat(3, 1fr) !important; }
  .player-value { border-left: 0; border-top: 1px solid rgba(43, 92, 119, .45); }
  .profile-hero { grid-template-columns: 108px minmax(0,1fr) !important; gap: 14px !important; }
  .profile-photo, .profile-hero .profile-photo { width: 108px !important; height: 124px !important; }
}


/* v65 compactness, queue clarity and host-settings polish */
select {
  color-scheme: dark;
  background-color: #071726 !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #8fb1c4 50%),
    linear-gradient(135deg, #8fb1c4 50%, transparent 50%),
    linear-gradient(to right, rgba(48,96,123,.35), rgba(48,96,123,.35));
  background-position:
    calc(100% - 17px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px),
    calc(100% - 2.45rem) 50%;
  background-size: 5px 5px, 5px 5px, 1px 60%;
  background-repeat: no-repeat;
  padding-right: 3rem !important;
}
select:hover, select:focus {
  background-color: #0a2032 !important;
  color: #f4fbff !important;
}
select option { background: #071726; color: #f4fbff; }

.player-list { gap: 6px !important; }
.player-card, .player-card.disabled {
  grid-template-columns: 76px minmax(190px, 1.7fr) 62px 88px minmax(210px, .95fr) 82px !important;
  min-height: 88px !important;
  padding: 6px 10px !important;
  gap: 11px !important;
}
.player-row-photo, .player-card .headshot {
  width: 76px !important;
  height: 82px !important;
  border-radius: 10px !important;
}
.player-row-photo img, .player-card .headshot img { transform: scale(1.13); }
.player-name-button { font-size: 1rem !important; }
.player-subtitle { font-size: .77rem; gap: 5px; }
.player-source { font-size: .68rem; }
.player-card .xfactor-icons.compact { gap: 4px; }
.player-value { padding: 6px 5px; }
.player-value strong { font-size: 1.2rem; }
.player-aav-value strong { font-size: .92rem; }
.player-stat-strip > div { padding: 5px 3px; }
.player-stat-strip strong { font-size: .82rem; }
.player-actions button { min-height: 27px; padding: 4px 7px !important; }

.queue-row {
  grid-template-columns: 1.7rem 76px minmax(0,1fr) !important;
  grid-template-areas: "rank photo main" ". photo actions" !important;
  align-items: start;
  gap: 8px 10px !important;
  padding: 9px !important;
}
.queue-headshot {
  width: 76px !important;
  height: 84px !important;
  border-radius: 11px !important;
  background: radial-gradient(circle at 50% 28%, rgba(30,106,144,.72), rgba(4,20,32,.95));
}
.queue-headshot img {
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: scale(1.15);
  transform-origin: center bottom;
}
.queue-player-name {
  font-size: 1rem !important;
  line-height: 1.18;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.queue-player-summary {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  gap: 6px;
  align-items: center;
}
.queue-teamline {
  color: #a9c0ce;
  font-size: .76rem;
  font-weight: 750;
}
.queue-value {
  display: grid;
  justify-items: end;
  line-height: 1;
}
.queue-value b { color: #eef9ff; font-size: .84rem; }
.queue-value small { color: #6f91a5; font-size: .58rem; letter-spacing: .08em; margin-top: 3px; }
.queue-status {
  grid-column: 1 / -1;
  width: fit-content;
  border: 1px solid rgba(168,255,109,.34);
  color: #d8ffc1;
  background: rgba(168,255,109,.07);
  border-radius: 999px;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 800;
}
.queue-status.danger-pill { border-color: rgba(255,133,133,.4); color:#ffd0d0; background:rgba(255,133,133,.07); }
.queue-actions { gap: 5px !important; }
.queue-actions button { min-height: 29px; }
.queue-countdown-headshot { width: 78px !important; height: 86px !important; }
.queue-countdown-headshot img { object-fit: contain !important; object-position:center bottom !important; transform:scale(1.15); transform-origin:center bottom; }
.queue-countdown-player { grid-template-columns: 64px 78px minmax(0,1fr) !important; }

.overall-selections { grid-auto-columns: minmax(238px, 252px) !important; }
.selection-chip {
  grid-template-columns: 68px minmax(0,1fr) 44px !important;
  min-height: 94px !important;
  padding: 8px 10px !important;
}
.selection-headshot {
  width: 68px !important;
  height: 74px !important;
  border-radius: 10px !important;
  background: radial-gradient(circle at 50% 28%, rgba(30,106,144,.72), rgba(4,20,32,.95));
}
.selection-headshot img { object-fit: contain !important; object-position:center bottom !important; transform:scale(1.13); transform-origin:center bottom; }
.selection-copy strong { font-size: .94rem !important; }
.selection-copy small { font-size: .76rem !important; }
.selection-team-logo { width: 44px !important; height: 44px !important; }

.host-settings-panel { width: min(680px, calc(100vw - 1rem)) !important; }
.host-load-status {
  display: block !important;
  width: 100%;
  min-height: 74px;
  line-height: 1.5;
  font-size: .83rem;
  color: #c8dbe6;
  padding: 12px 14px;
  overflow-wrap: anywhere;
}
.host-core-settings { grid-template-columns: minmax(180px,1fr) minmax(220px,1fr) !important; }
.host-settings-panel label { min-width: 0; }
.host-settings-panel input, .host-settings-panel select { min-height: 42px; }
.keeper-host-settings {
  display: grid;
  gap: .75rem;
  padding: .8rem;
  border: 1px solid rgba(107, 215, 255, .22);
  border-radius: 14px;
  background: rgba(107, 215, 255, .045);
}
.keeper-host-settings h3 { margin: .12rem 0 0; }
.keeper-limit-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.keeper-board {
  display: grid;
  gap: 1rem;
}
.keeper-create-flow {
  display: grid;
  gap: 1rem;
}
.keeper-wizard-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto;
  gap: .75rem;
  align-items: end;
}
.keeper-team-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .55rem;
  max-height: 42vh;
  overflow: auto;
  padding: .2rem .15rem .2rem 0;
}
.keeper-division-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  align-items: start;
}
.keeper-division-card {
  display: grid;
  gap: .45rem;
  min-width: 0;
  padding: .7rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.026);
}
.keeper-division-card h3 {
  margin: 0;
  color: var(--accent);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.keeper-division-teams {
  display: grid;
  gap: .34rem;
}
.keeper-team-option {
  display: grid;
  grid-template-columns: auto 42px minmax(0, 1fr);
  gap: .6rem;
  align-items: center;
  min-height: 58px;
  padding: .55rem .65rem;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255,255,255,.032);
  color: var(--text);
}
.keeper-team-option:hover {
  border-color: rgba(107, 215, 255, .58);
  background: rgba(107, 215, 255, .06);
}
.keeper-team-option input {
  width: 18px;
  height: 18px;
}
.keeper-division-card .keeper-team-option {
  grid-template-columns: 18px 34px minmax(0, 1fr);
  gap: .45rem;
  min-height: 46px;
  padding: .38rem .45rem;
  border-radius: 10px;
}
.keeper-picker-logo {
  width: 42px;
  height: 42px;
}
.keeper-division-card .keeper-picker-logo {
  width: 34px;
  height: 34px;
}
.keeper-team-option span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 850;
}
.keeper-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
}
.keeper-board-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1.2fr) minmax(220px, .8fr) auto;
  gap: .75rem;
  align-items: end;
  padding: .75rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
}
.keeper-board-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.keeper-search-results {
  display: grid;
  gap: .5rem;
  max-height: 26rem;
  overflow: auto;
  padding-right: .2rem;
}
.keeper-player-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: .65rem;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .5rem;
  background: rgba(255,255,255,.032);
}
.keeper-headshot {
  width: 48px;
  height: 48px;
  border-radius: 12px;
}
.keeper-player-main {
  display: grid;
  gap: .18rem;
  min-width: 0;
}
.keeper-player-main strong,
.keeper-player-main span,
.keeper-player-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.keeper-player-main span,
.keeper-player-main small,
.keeper-team-head p,
.keeper-team-player small,
.keeper-team-cap {
  color: var(--muted);
  font-size: .82rem;
}
.keeper-player-actions {
  display: flex;
  gap: .4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.keeper-player-actions button,
.keeper-team-player button {
  padding: .48rem .62rem;
  border-radius: 10px;
}
.keeper-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .75rem;
}
.keeper-team-card {
  display: grid;
  gap: .45rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: .7rem;
  background: rgba(255,255,255,.026);
}
.keeper-team-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: .75rem;
}
.keeper-team-head h4,
.keeper-team-head p {
  margin: 0;
}
.keeper-team-list {
  display: grid;
  gap: .35rem;
  max-height: 16rem;
  overflow: auto;
  padding-right: .15rem;
}
.keeper-team-player {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .45rem;
  align-items: center;
  border: 1px solid rgba(72, 102, 148, .55);
  border-radius: 11px;
  padding: .42rem;
  background: rgba(6, 16, 29, .42);
}
.keeper-team-player span {
  display: grid;
  gap: .1rem;
  min-width: 0;
}
.keeper-team-player strong,
.keeper-team-player small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .keeper-division-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .keeper-summary-grid,
  .keeper-wizard-toolbar,
  .keeper-board-toolbar {
    grid-template-columns: 1fr;
  }
  .keeper-player-row {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .keeper-player-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }
  .keeper-player-actions button {
    flex: 1;
  }
}

@media (max-width: 680px) {
  .keeper-division-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1420px) {
  .player-card, .player-card.disabled {
    grid-template-columns: 70px minmax(185px,1.5fr) 60px 82px minmax(185px,.85fr) 78px !important;
  }
  .player-row-photo, .player-card .headshot { width:70px !important; height:78px !important; }
}
@media (max-width: 1120px) {
  .player-card, .player-card.disabled { min-height: 96px !important; }
}
@media (max-width: 760px) {
  .queue-row { grid-template-columns: 1.7rem 68px minmax(0,1fr) !important; }
  .queue-headshot { width:68px !important; height:76px !important; }
  .overall-selections { grid-auto-columns: minmax(225px, 82vw) !important; }
  .host-core-settings { grid-template-columns: 1fr !important; }
}


/* v66 watchlist, dropdown, queue metrics and natural-height layout */
select {
  color-scheme: dark;
  background-color: #071a29 !important;
  background-image:
    linear-gradient(45deg, transparent 50%, #8fb2c6 50%),
    linear-gradient(135deg, #8fb2c6 50%, transparent 50%);
  background-position:
    calc(100% - 17px) calc(50% - 2px),
    calc(100% - 12px) calc(50% - 2px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  appearance: none;
  -webkit-appearance: none;
  padding-right: 36px !important;
}
select:hover, select:focus, select:active {
  background-color: #0a2335 !important;
  color: #f3fbff !important;
}
select option { background: #071a29; color: #f3fbff; }

.player-card { position: relative; }
.watchlist-btn {
  position: absolute;
  z-index: 2;
  top: 7px;
  left: 7px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 999px;
  border: 1px solid rgba(111,160,187,.45);
  background: rgba(3,18,29,.88);
  color: #91aebe;
  font-size: 1.15rem;
  line-height: 1;
}
.watchlist-btn:hover, .watchlist-btn.active {
  color: #ffd568;
  border-color: rgba(255,213,104,.75);
  background: rgba(80,58,10,.7);
}
.player-card.watched { box-shadow: inset 3px 0 0 rgba(255,213,104,.8); }

.queue-player-summary {
  grid-template-columns: minmax(0,1fr) minmax(62px,auto) minmax(70px,auto) !important;
  gap: 8px !important;
}
.queue-value {
  min-width: 62px;
  padding: 7px 8px;
  justify-items: center !important;
  border: 1px solid rgba(48,104,135,.58);
  border-radius: 8px;
  background: rgba(6,31,48,.75);
}
.queue-value + .queue-value { border-color: rgba(59,125,152,.7); }
.queue-value b { font-size: .9rem !important; line-height: 1.05; }
.queue-value small { font-size: .61rem !important; margin-top: 4px !important; }
.queue-teamline { align-self: center; }

.selection-values {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 6px;
}
.selection-values b {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border: 1px solid rgba(48,105,136,.55);
  border-radius: 999px;
  background: rgba(5,29,45,.8);
  color: #dff6ff;
  font-size: .68rem;
  white-space: nowrap;
}

/* Let the document grow instead of adding nested panel scrollbars. */
@media (min-width: 851px) {
  .side-stack {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    scrollbar-width: auto !important;
    padding-right: 0 !important;
  }
}
.rosters-card, .rosters, #rosters, .comparison-roster-list,
.all-rosters-card, .all-roster-grid, .all-roster-grid .roster-card,
.all-roster-grid .roster-body, .roster-body {
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}
.all-roster-grid { align-items: start; }
.all-roster-grid .roster-card { align-self: start; }

@media (max-width: 760px) {
  .queue-player-summary { grid-template-columns: 1fr 1fr !important; }
  .queue-teamline { grid-column: 1 / -1; }
}


/* v72.5 streamer mode and recommended pick */
.streamer-mode-toggle.active {
  border-color: rgba(41, 215, 245, .62);
  background: rgba(31, 191, 231, .14);
  color: #dff8ff;
}

.streamer-mode .code-box strong {
  letter-spacing: .16em;
}

.recommended-pick-panel {
  margin: 10px 0 12px;
}

.recommended-pick-panel.hidden {
  display: none;
}

.recommendation-mode-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 10px 0 8px;
  padding: 8px 10px;
  border: 1px solid rgba(64, 129, 158, .38);
  border-radius: 8px;
  background: rgba(3, 20, 32, .54);
}

.recommended-pick-card .recommendation-mode-bar {
  grid-column: 1 / -1;
  margin: 0 0 2px;
  padding: 7px 8px;
  background: rgba(2, 18, 31, .42);
}

.recommended-pick-card .recommendation-mode-options {
  justify-content: flex-start;
}

.recommendation-mode-bar > span {
  color: #93b4c4;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.recommendation-mode-options {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.recommendation-mode-options button {
  min-height: 28px;
  padding: 4px 9px !important;
  border-radius: 7px !important;
  border: 1px solid rgba(64, 129, 158, .5) !important;
  background: rgba(255,255,255,.035) !important;
  color: #b9d3df !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
}

.recommendation-mode-options button.active {
  border-color: rgba(107, 215, 255, .72) !important;
  background: rgba(41, 196, 232, .16) !important;
  color: #effcff !important;
}

.recommended-pick-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto 94px;
  gap: 10px 12px;
  align-items: center;
  min-height: 94px;
  padding: 12px;
  border: 1px solid rgba(44, 196, 232, .45);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(13, 95, 127, .42), rgba(4, 25, 39, .78)),
    rgba(4, 22, 35, .92);
  box-shadow: inset 3px 0 0 rgba(44, 214, 245, .9);
}

.recommended-pick-header {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(64, 129, 158, .32);
}

.recommended-pick-title {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.recommended-pick-title span {
  color: #76dcff;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.recommended-pick-title strong {
  color: #eefaff;
  font-size: .9rem;
}

.recommended-pick-collapsed {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 50px;
  padding: 8px 10px 8px 12px;
  border: 1px solid rgba(64, 129, 158, .44);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(14, 73, 99, .24), rgba(3, 20, 32, .74)),
    rgba(3, 20, 32, .72);
  color: #a9c5d3;
  font-size: .78rem;
  font-weight: 800;
}

.recommended-pick-collapsed-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.recommended-pick-collapsed-copy span {
  color: #78dfff;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.recommended-pick-collapsed-copy strong {
  color: #d8eef7;
  font-size: .84rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recommendation-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 0 0 auto;
  min-height: 30px;
  padding: 5px 10px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(107, 215, 255, .34) !important;
  background: rgba(5, 32, 49, .82) !important;
  color: #c7e8f4 !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
}

.recommendation-toggle-btn:hover:not(:disabled) {
  border-color: rgba(107, 215, 255, .68) !important;
  background: rgba(19, 75, 102, .86) !important;
  color: #f0fbff !important;
}

.recommendation-toggle-icon {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(2px) rotate(-135deg);
}

.recommendation-toggle-btn.is-collapsed .recommendation-toggle-icon {
  transform: translateY(-2px) rotate(45deg);
}

.recommended-alternatives {
  grid-column: 2 / -1;
  display: grid;
  grid-template-columns: auto repeat(2, minmax(0, 1fr));
  gap: 7px;
  align-items: stretch;
  min-width: 0;
  margin-top: 2px;
}

.recommended-alternatives > span {
  align-self: center;
  color: #82a5b8;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.recommended-alt {
  min-width: 0;
  display: grid;
  justify-items: start;
  gap: 2px;
  padding: 6px 8px !important;
  border-radius: 7px !important;
  border-color: rgba(64, 129, 158, .56) !important;
  background: rgba(2, 18, 31, .64) !important;
  text-align: left;
}

.recommended-alt span {
  color: #9beeff;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.recommended-alt strong,
.recommended-alt small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recommended-alt strong {
  color: #f0fbff;
  font-size: .8rem;
}

.recommended-alt small {
  color: #9db9c8;
  font-size: .68rem;
}

.recommended-pick-photo {
  width: 72px !important;
  height: 80px !important;
  border-radius: 9px !important;
}

.recommended-pick-photo img {
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: scale(1.12);
  transform-origin: center bottom;
}

.recommended-pick-copy {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.recommended-pick-kicker {
  color: #76dcff;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.recommended-pick-copy .player-name {
  justify-self: start;
  font-size: 1.04rem;
}

.recommended-pick-copy p {
  margin: 2px 0 0;
  color: #b9d3df;
  font-size: .82rem;
  line-height: 1.32;
}

.recommended-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 21px;
  margin-top: 2px;
  padding: 3px 8px;
  border: 1px solid rgba(48, 212, 241, .48);
  border-radius: 999px;
  background: rgba(29, 191, 229, .12);
  color: #9beeff;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.recommended-pick-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(62px, auto));
  gap: 7px;
}

.recommended-pick-values > div {
  display: grid;
  justify-items: center;
  min-width: 62px;
  padding: 8px 9px;
  border: 1px solid rgba(64, 129, 158, .56);
  border-radius: 8px;
  background: rgba(3, 20, 32, .74);
}

.recommended-pick-values span {
  color: #82a5b8;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.recommended-pick-values strong {
  color: #f0fbff;
  font-size: 1.05rem;
}

.recommended-pick-actions {
  display: grid;
  gap: 5px;
}

.recommended-pick-actions button {
  min-height: 30px;
  padding: 5px 9px !important;
  border-radius: 7px !important;
  font-size: .76rem !important;
}

.player-card.recommended {
  box-shadow: inset 4px 0 0 rgba(41, 218, 246, .9), 0 0 0 1px rgba(41, 218, 246, .16);
  background: linear-gradient(90deg, rgba(31, 182, 222, .07), rgba(255,255,255,.025));
}

.player-loading-state {
  display: flex;
  gap: 14px;
  align-items: center;
  min-height: 140px;
  padding: 18px;
  border: 1px solid rgba(64, 129, 158, .42);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(31, 182, 222, .12), rgba(255,255,255,.025)),
    rgba(3, 20, 32, .66);
}

.player-loading-state.quiet {
  align-items: flex-start;
}

.player-loading-state strong {
  color: #f0fbff;
  font-size: 1rem;
}

.player-loading-state p {
  margin: 5px 0 0;
  color: #b9d3df;
  line-height: 1.45;
}

.loading-puck {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 3px solid rgba(107, 215, 255, .25);
  border-top-color: rgba(107, 215, 255, .95);
  animation: spin 1s linear infinite;
  flex: 0 0 auto;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.draft-complete-panel {
  border-color: rgba(141, 240, 94, .28);
  background:
    linear-gradient(135deg, rgba(141, 240, 94, .08), rgba(41, 196, 232, .07)),
    rgba(16, 27, 46, .84);
}

.draft-complete-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.draft-complete-hero h2 {
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  line-height: 1;
}

.draft-complete-hero p {
  margin: .38rem 0 0;
  color: var(--muted);
}

.draft-complete-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.draft-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .65rem;
}

.draft-result-card {
  display: grid;
  gap: .65rem;
  min-width: 0;
  padding: .78rem;
  border: 1px solid rgba(107, 215, 255, .2);
  border-radius: 8px;
  background: rgba(3, 20, 32, .58);
}

.draft-result-head {
  display: flex;
  align-items: center;
  gap: .58rem;
  min-width: 0;
}

.draft-result-head strong,
.draft-result-head span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.draft-result-head span {
  color: var(--muted);
  font-size: .8rem;
}

.draft-result-avatar {
  width: 2.35rem;
  height: 2.35rem;
  flex: 0 0 auto;
}

.draft-result-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .4rem;
}

.draft-result-metrics div {
  min-width: 0;
  padding: .45rem;
  border: 1px solid rgba(64, 129, 158, .38);
  border-radius: 8px;
  background: rgba(7, 16, 29, .68);
}

.draft-result-metrics span {
  display: block;
  color: #82a5b8;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.draft-result-metrics strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.draft-result-card p {
  margin: 0;
  color: #b9d3df;
  font-size: .82rem;
}

.keeper-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}

.keeper-phase-panel {
  border-color: rgba(45, 204, 238, .52);
  background:
    linear-gradient(135deg, rgba(42, 191, 232, .12), rgba(8, 26, 44, .86)),
    rgba(4, 20, 32, .92);
}

.keeper-draft-waiting-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 210px;
  text-align: left;
  border-style: dashed;
  border-color: rgba(72, 154, 190, .48);
  background:
    radial-gradient(circle at 12% 22%, rgba(38, 194, 232, .12), transparent 36%),
    rgba(3, 18, 30, .76);
}

.keeper-draft-waiting-panel > div:last-child {
  max-width: 680px;
}

.keeper-draft-waiting-panel h2 {
  margin: .18rem 0 .35rem;
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.keeper-draft-waiting-panel p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.keeper-draft-waiting-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(77, 211, 241, .56);
  border-radius: 18px;
  color: #baf4ff;
  font-size: 1.7rem;
  font-weight: 950;
  background: linear-gradient(145deg, rgba(32, 173, 211, .25), rgba(5, 31, 49, .82));
  box-shadow: 0 14px 36px rgba(0, 0, 0, .24);
}

.keeper-phase-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.keeper-phase-head h2 {
  margin: .15rem 0;
  font-size: clamp(1.45rem, 3vw, 2.25rem);
  line-height: 1;
}

.keeper-phase-head p {
  margin: 0;
  color: var(--muted);
}

.keeper-phase-host-actions,
.keeper-selection-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
}

.keeper-phase-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: .8rem;
  align-items: start;
}

.keeper-selection-card,
.keeper-progress-card {
  display: grid;
  gap: .65rem;
  min-width: 0;
  border: 1px solid rgba(65, 139, 174, .42);
  border-radius: 9px;
  padding: .8rem;
  background: rgba(3, 20, 32, .58);
}

.keeper-selection-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.keeper-selection-summary > div {
  min-width: 0;
  border: 1px solid rgba(65, 139, 174, .34);
  border-radius: 8px;
  padding: .62rem;
  background: rgba(2, 18, 31, .6);
}

.keeper-selection-summary span,
.keeper-selection-summary small {
  display: block;
  color: var(--muted);
  font-size: .74rem;
}

.keeper-selection-summary strong {
  display: block;
  margin: .12rem 0;
  color: #f2fbff;
  font-size: 1rem;
}

.keeper-select-list,
.keeper-progress-list {
  display: grid;
  gap: .45rem;
  max-height: 58vh;
  overflow: auto;
  padding-right: .15rem;
}

.keeper-select-row {
  display: grid;
  grid-template-columns: 22px 50px minmax(0, 1fr) auto;
  gap: .6rem;
  align-items: center;
  min-width: 0;
  border: 1px solid rgba(65, 139, 174, .38);
  border-radius: 8px;
  padding: .48rem;
  background: rgba(255,255,255,.028);
  cursor: pointer;
}

.keeper-select-row:hover {
  border-color: rgba(107, 215, 255, .62);
  background: rgba(41, 196, 232, .06);
}

.keeper-select-row.selected {
  border-color: rgba(141, 240, 94, .54);
  background: rgba(141, 240, 94, .08);
}

.keeper-select-row.locked {
  cursor: default;
}

.keeper-select-row input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.keeper-select-check {
  width: 20px;
  height: 20px;
  border: 1px solid rgba(107, 215, 255, .5);
  border-radius: 5px;
  background: rgba(2, 18, 31, .82);
}

.keeper-select-row.selected .keeper-select-check {
  background: linear-gradient(135deg, #87ef5f, #27d6ff);
  box-shadow: inset 0 0 0 4px rgba(2, 18, 31, .82);
}

.keeper-select-headshot {
  width: 50px !important;
  height: 56px !important;
  border-radius: 8px !important;
}

.keeper-select-main {
  display: grid;
  gap: .16rem;
  min-width: 0;
}

.keeper-select-main strong,
.keeper-select-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.keeper-select-main small {
  color: var(--muted);
  font-size: .78rem;
}

.keeper-progress-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: .55rem;
  border: 1px solid rgba(65, 139, 174, .34);
  border-radius: 8px;
  padding: .48rem;
  background: rgba(255,255,255,.026);
}

.keeper-progress-row.ready {
  border-color: rgba(141, 240, 94, .42);
  background: rgba(141, 240, 94, .065);
}

.keeper-progress-logo {
  width: 36px !important;
  height: 36px !important;
}

.keeper-progress-row span {
  display: grid;
  min-width: 0;
}

.keeper-progress-row strong,
.keeper-progress-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.keeper-progress-row small {
  color: var(--muted);
  font-size: .72rem;
}

.keeper-progress-row b {
  color: #ffe8ad;
  font-size: .74rem;
}

.keeper-progress-row.ready b {
  color: #bfffd0;
}

.spectator-mode .team-only {
  display: none !important;
}

@media (max-width: 1020px) {
  .keeper-phase-grid,
  .keeper-selection-summary,
  .keeper-option-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .keeper-select-row {
    grid-template-columns: 22px 48px minmax(0, 1fr);
  }
  .keeper-select-row .compact-profile-btn {
    grid-column: 2 / -1;
    justify-self: start;
  }
}

@media (max-width: 980px) {
  .recommended-pick-card {
    grid-template-columns: 68px minmax(0, 1fr);
  }
  .recommended-pick-values,
  .recommended-pick-actions,
  .recommended-alternatives {
    grid-column: 1 / -1;
  }
  .recommended-pick-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .recommended-alternatives {
    grid-template-columns: 1fr;
  }
  .recommended-alternatives > span {
    align-self: auto;
  }
  .recommendation-mode-bar {
    align-items: stretch;
    flex-direction: column;
  }
  .recommendation-mode-options {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .recommended-pick-card {
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 9px;
  }
  .recommended-pick-header,
  .recommended-pick-collapsed {
    align-items: stretch;
    flex-direction: column;
  }
  .recommendation-toggle-btn {
    width: 100%;
  }
  .recommended-pick-photo {
    width: 58px !important;
    height: 66px !important;
  }
  .recommended-pick-actions {
    grid-template-columns: 1fr;
  }
}


/* v67 pre-lobby dashboard reskin */
#entryView.entry-grid {
  grid-template-columns: minmax(520px, 1.35fr) minmax(360px, .65fr);
  gap: 18px;
  align-items: stretch;
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 0;
}
.entry-hero {
  min-height: calc(100vh - 72px);
  padding: clamp(22px, 3vw, 44px) clamp(28px, 4vw, 64px) clamp(28px, 4vw, 64px);
  align-content: start;
  background:
    linear-gradient(135deg, rgba(3,23,37,.98), rgba(4,42,61,.94)),
    repeating-linear-gradient(90deg, transparent 0 13%, rgba(61,210,255,.035) 13% 13.2%);
  border: 1px solid rgba(37,190,238,.42);
  position: relative;
  overflow: hidden;
}
.entry-hero::before {
  content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(50,211,255,.13);
  border-radius:50%; right:-210px; top:50%; transform:translateY(-50%);
  box-shadow:0 0 0 70px rgba(50,211,255,.025),0 0 0 140px rgba(50,211,255,.018);
}
.entry-kicker { color:#78dcff; font-size:.78rem; font-weight:900; letter-spacing:.16em; display:flex; gap:9px; align-items:center; }
.entry-live-dot { width:8px; height:8px; border-radius:50%; background:#20ef88; box-shadow:0 0 12px #20ef88; }
.entry-brand-row { margin-top:10px; }
.entry-logo-mark { width:48px; height:48px; font-size:1.45rem; border:1px solid rgba(69,196,239,.42); background:rgba(4,38,57,.9); }
.entry-hero h1 { font-size:clamp(3rem,6vw,6.3rem); line-height:.9; letter-spacing:-.065em; max-width:900px; position:relative; }
.entry-hero h1 em { font-style:normal; color:#28cdf6; text-shadow:0 0 26px rgba(27,193,240,.22); }
.entry-hero p { max-width:760px; font-size:1.12rem; line-height:1.65; color:#b8cfdb; position:relative; }
.entry-scoreboard { max-width:460px; padding:18px 22px; border:1px solid rgba(42,183,229,.42); border-radius:12px; background:rgba(2,19,31,.78); position:relative; }
.entry-scoreboard div:first-child { display:grid; grid-template-columns:1fr auto; align-items:end; gap:3px 18px; }
.entry-scoreboard small { color:#79b6cb; font-weight:900; letter-spacing:.12em; }
.entry-scoreboard strong { grid-row:1 / span 2; grid-column:2; font-size:2.3rem; color:#f3fbff; }
.entry-scoreboard span { color:#38d1f7; font-size:.75rem; font-weight:800; }
.entry-scoreboard-track { display:flex; gap:5px; margin-top:13px; }
.entry-scoreboard-track i { height:4px; flex:1; background:#154157; border-radius:9px; }
.entry-scoreboard-track i:nth-child(-n+3) { background:#25ccef; box-shadow:0 0 8px rgba(37,204,239,.45); }
.entry-feature-grid { position:relative; }
.entry-feature-grid div { min-height:82px; background:rgba(3,25,39,.72); border-color:rgba(43,132,169,.38); }
.entry-feature-grid b { color:#ecfaff; }
.entry-feature-grid span { color:#9fbac8; line-height:1.35; }
.entry-feature-grid .site-activity-card {
  border-color:rgba(32,239,136,.34);
  background:linear-gradient(180deg,rgba(3,30,42,.82),rgba(2,24,35,.78));
}
.site-activity-card b {
  display:flex;
  align-items:center;
  gap:8px;
}
.site-activity-card b::before {
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#20ef88;
  box-shadow:0 0 12px rgba(32,239,136,.7);
}
.site-activity-card strong { color:#effbff; font-weight:900; }
#entryView .entry-card { background:linear-gradient(180deg,rgba(7,31,48,.98),rgba(3,20,32,.98)); border:1px solid rgba(43,145,184,.38); padding:20px; }
#entryView .entry-card h2 { font-size:1.28rem; text-transform:uppercase; letter-spacing:.045em; color:#effbff; border-bottom:1px solid rgba(52,135,168,.28); padding-bottom:12px; }
#entryView .entry-card label span { color:#c9dce5; }
#entryView .entry-card input,#entryView .entry-card select { min-height:45px; background:#061b2b; border-color:rgba(52,126,158,.55); }
#entryView .entry-card .primary,#entryView .entry-card .success { min-height:48px; text-transform:uppercase; letter-spacing:.045em; }
@media(max-width:980px){
  #entryView.entry-grid{grid-template-columns:1fr; padding:12px 0}.entry-hero{min-height:auto}.entry-hero h1{font-size:clamp(2.8rem,11vw,5rem)}
}


/* v68 X-Factor tier palette */
.xfactor-icon.tier-specialist { filter: sepia(.18) saturate(.9); }
.xfactor-icon.tier-specialist::before { filter: grayscale(.35) sepia(.28) hue-rotate(165deg) saturate(1.1) brightness(.9) drop-shadow(0 1px 2px rgba(0,0,0,.62)); }
.xfactor-icon.tier-all-star { filter: saturate(1.08); }
.xfactor-icon.tier-all-star::before { filter: sepia(.15) hue-rotate(165deg) saturate(1.35) brightness(1.02) drop-shadow(0 1px 3px rgba(0,127,255,.35)); }
.xfactor-icon.tier-elite { filter: saturate(1.2) brightness(1.06); }
.xfactor-icon.tier-elite::before { filter: sepia(.36) saturate(1.65) brightness(1.08) drop-shadow(0 1px 4px rgba(255,188,44,.48)); }
.profile-xfactor:has(.tier-specialist) { border-color: rgba(117,177,190,.38); }
.profile-xfactor:has(.tier-all-star) { border-color: rgba(80,157,255,.52); box-shadow: inset 0 0 20px rgba(31,112,255,.06); }
.profile-xfactor:has(.tier-elite) { border-color: rgba(255,196,66,.62); box-shadow: inset 0 0 22px rgba(255,178,28,.08); }


/* v68.1 exact tier palette based on in-game Specialist / All-Star / Elite colours */
.xfactor-icon.tier-specialist {
  background: linear-gradient(135deg,#171b20,#07090c 72%) !important;
  border-color:#88939d !important;
  box-shadow:0 0 0 2px rgba(157,169,180,.14),0 3px 9px rgba(0,0,0,.42) !important;
}
.xfactor-icon.tier-specialist::before {
  filter:grayscale(1) brightness(1.25) contrast(1.05) drop-shadow(0 1px 2px rgba(0,0,0,.7)) !important;
}
.xfactor-icon.tier-all-star {
  background:linear-gradient(135deg,#102e58,#08162d 72%) !important;
  border-color:#44a4ff !important;
  box-shadow:0 0 0 2px rgba(53,145,255,.18),0 0 12px rgba(32,126,255,.34) !important;
}
.xfactor-icon.tier-all-star::before {
  filter:sepia(.2) saturate(2.4) hue-rotate(166deg) brightness(1.18) drop-shadow(0 1px 3px rgba(20,118,255,.8)) !important;
}
.xfactor-icon.tier-elite {
  background:linear-gradient(135deg,#64160d,#250804 72%) !important;
  border-color:#ff542b !important;
  box-shadow:0 0 0 2px rgba(255,72,35,.18),0 0 13px rgba(255,55,21,.38) !important;
}
.xfactor-icon.tier-elite::before {
  filter:sepia(.45) saturate(4) hue-rotate(330deg) brightness(1.15) drop-shadow(0 1px 3px rgba(255,50,20,.85)) !important;
}
.profile-xfactor:has(.tier-specialist){border-color:rgba(145,157,168,.48)!important}
.profile-xfactor:has(.tier-all-star){border-color:rgba(61,151,255,.7)!important;box-shadow:inset 0 0 22px rgba(32,118,255,.1)!important}
.profile-xfactor:has(.tier-elite){border-color:rgba(255,77,42,.72)!important;box-shadow:inset 0 0 22px rgba(255,55,24,.1)!important}

/* v68.2 X-Factor tier blending hotfix
   Specialist keeps the original gold asset. All-Star and Elite recolour the
   asset itself without adding a boxed tile behind it. */
.xfactor-icon.tier-specialist,
.xfactor-icon.tier-all-star,
.xfactor-icon.tier-elite {
  background: transparent !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Restore the pre-tier Specialist appearance: use the source icon untouched. */
.xfactor-icon.tier-specialist {
  filter: none !important;
}
.xfactor-icon.tier-specialist::before {
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.62)) !important;
}

/* Tint only the source artwork so the transparent edges continue to blend. */
.xfactor-icon.tier-all-star {
  filter: none !important;
}
.xfactor-icon.tier-all-star::before {
  filter: sepia(.12) saturate(3.2) hue-rotate(164deg) brightness(1.12) contrast(1.04)
          drop-shadow(0 1px 3px rgba(29,126,255,.72)) !important;
}
.xfactor-icon.tier-elite {
  filter: none !important;
}
.xfactor-icon.tier-elite::before {
  filter: sepia(.35) saturate(4.2) hue-rotate(326deg) brightness(1.12) contrast(1.05)
          drop-shadow(0 1px 3px rgba(255,61,25,.75)) !important;
}

/* Tier is communicated by the artwork colour, not a coloured icon container. */
.profile-xfactor:has(.tier-specialist),
.profile-xfactor:has(.tier-all-star),
.profile-xfactor:has(.tier-elite) {
  box-shadow: none !important;
  background: rgba(9,35,51,.72) !important;
}
.profile-xfactor:has(.tier-specialist) { border-color: rgba(54,120,148,.52) !important; }
.profile-xfactor:has(.tier-all-star) { border-color: rgba(65,145,217,.58) !important; }
.profile-xfactor:has(.tier-elite) { border-color: rgba(196,92,64,.58) !important; }


/* v69.2 notification preferences */
.notification-preferences {
  display: grid;
  gap: .8rem;
  margin: .9rem 0;
  padding: .9rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}
.notification-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem .8rem;
}
.notification-type-grid label {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--text);
}
.notification-type-grid input { width: auto; }
@media (max-width: 620px) { .notification-type-grid { grid-template-columns: 1fr; } }


/* v69.3 draft progress summary */
.draft-progress-summary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
  min-width: min(100%, 290px);
}
.draft-progress-meter {
  position: relative;
  flex: 1 1 120px;
  width: clamp(90px, 11vw, 170px);
  height: 9px;
  overflow: hidden;
  border: 1px solid rgba(116, 205, 235, 0.26);
  border-radius: 999px;
  background: rgba(3, 17, 28, 0.8);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.45);
}
.draft-progress-bar {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #14b8d4, #79e6ff);
  box-shadow: 0 0 12px rgba(50, 211, 241, 0.4);
  transition: width 260ms ease;
}
.draft-progress-text {
  min-width: 3rem;
  color: #e8faff;
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
@media (max-width: 720px) {
  .draft-order-card .compact-section-head { align-items: flex-start; }
  .draft-progress-summary {
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .draft-progress-meter { flex-basis: 110px; }
}
@media (prefers-reduced-motion: reduce) {
  .draft-progress-bar { transition: none; }
}

/* v70 entry utilities and screenshot roster builder */
#entryView.entry-grid { grid-template-rows: auto auto auto; align-content: start; }
#entryView .entry-hero { grid-row: 1 / span 3; }
.entry-tools-card { align-self: start; }
.entry-tools-card h3 { margin: 0; font-size: 1rem; color: #eefaff; }
.entry-card-heading h2 { margin: .15rem 0 0; }
.entry-tool-block { display: grid; gap: .72rem; }
.entry-tool-divider { height: 1px; background: rgba(72, 152, 185, .28); margin: .15rem 0; }
.roster-builder { display: grid; gap: 1rem; min-width: min(920px, 82vw); }
.roster-builder-grid { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(280px, 1.3fr); gap: .8rem; }
.roster-builder-actions { justify-content: flex-start; }
.roster-ocr-text { min-height: 240px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; line-height: 1.45; }
.roster-builder-table-wrap { max-height: 45vh; overflow: auto; }
.roster-builder-table { min-width: 760px; }
.roster-builder-table input { min-width: 72px; padding: .55rem .62rem; }
.roster-builder-table td:nth-child(1) input { min-width: 150px; }
.roster-builder-table td:nth-child(4) input { min-width: 190px; }
.muted-cell { padding: 1.2rem !important; text-align: center; color: var(--muted); }
@media (max-width: 980px) {
  #entryView .entry-hero { grid-row: auto; }
  .roster-builder { min-width: 0; }
  .roster-builder-grid { grid-template-columns: 1fr; }
}

/* v70.2 roster builder */
.roster-builder-player-table{min-width:1180px}.roster-builder-player-table th{white-space:nowrap}.roster-builder-player-table td{vertical-align:top}.roster-builder-player-table input{min-width:90px}.roster-builder-player-table td:nth-child(1) input,.roster-builder-player-table td:nth-child(2) input{min-width:165px}.roster-builder-identity{display:grid;grid-template-columns:44px minmax(90px,1fr);gap:.35rem;align-items:center;min-width:250px}.roster-builder-identity img{width:44px;height:52px;object-fit:contain;object-position:center bottom;background:rgba(255,255,255,.04);border-radius:9px;grid-row:1/3}.roster-builder-identity input{min-width:0}.roster-builder-table-wrap{overflow-x:auto}.roster-builder .status{line-height:1.45}

/* v71 coordinate-aware screenshot roster review */
.roster-builder-player-table .roster-recognition {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .28rem .55rem;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}
.roster-builder-player-table .roster-recognition.good {
  color: #caffcf;
  border-color: rgba(95, 221, 126, .5);
  background: rgba(95, 221, 126, .1);
}
.roster-builder-player-table .roster-recognition.warn {
  color: #ffe7a9;
  border-color: rgba(255, 196, 86, .5);
  background: rgba(255, 196, 86, .1);
}
.roster-builder-player-table td small {
  display: block;
  max-width: 13rem;
  margin-top: .35rem;
  color: var(--muted);
  line-height: 1.35;
}

/* v71.3 roster OCR audit */
.roster-ocr-audit{display:block;margin-top:.28rem;color:#8fb2c9;font-size:.72rem;line-height:1.25;max-width:15rem;overflow-wrap:anywhere}.roster-builder-table td{vertical-align:top}

/* v72.3 lobby recovery */
.recovery-notice {
  margin: 0 0 0.8rem;
  padding: 0.72rem 0.9rem;
  border: 1px solid rgba(255, 196, 86, 0.38);
  border-radius: 10px;
  background: rgba(255, 196, 86, 0.08);
  color: #ffe8ad;
  line-height: 1.4;
}

.recovery-notice strong {
  color: #fff6dd;
}

#recoveryStatus {
  margin: 0;
}

#recoveryStatus.good {
  color: #bfffd0;
}

#recoveryStatus.warn {
  color: #ffe8ad;
}

/* v72.4 pre-draft setup review */
.setup-review {
  display: grid;
  gap: 0.9rem;
  min-width: min(760px, 82vw);
}

.setup-review-grid,
.setup-salary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.setup-review-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  padding: 0.72rem;
}

.setup-review-card span,
.setup-review-card small {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.3;
}

.setup-review-card strong {
  display: block;
  margin: 0.18rem 0;
  color: #f2fbff;
  font-size: 1.15rem;
  line-height: 1.15;
}

.setup-section {
  display: grid;
  gap: 0.5rem;
}

.setup-section h3,
.setup-alert-group h3 {
  margin: 0;
  color: #eefaff;
  font-size: 0.92rem;
}

.setup-table-wrap {
  max-height: none;
}

.setup-slot-table th,
.setup-slot-table td {
  padding: 0.5rem 0.58rem;
}

.setup-surplus {
  font-weight: 850;
}

.setup-surplus.good {
  color: #bfffd0;
}

.setup-surplus.warn {
  color: #ffe8ad;
}

.setup-surplus.danger {
  color: #ffd0d0;
}

.setup-alert-group {
  display: grid;
  gap: 0.45rem;
}

.setup-alert {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 0.65rem 0.75rem;
  line-height: 1.38;
}

.setup-alert.danger {
  color: #ffd0d0;
  border-color: rgba(255, 133, 133, 0.42);
  background: rgba(255, 133, 133, 0.08);
}

.setup-alert.warn {
  color: #ffe8ad;
  border-color: rgba(255, 196, 86, 0.42);
  background: rgba(255, 196, 86, 0.08);
}

.setup-alert.note {
  color: #c6d9e3;
  background: rgba(255, 255, 255, 0.035);
}

.setup-review-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.55rem;
  flex-wrap: wrap;
}

@media (max-width: 720px) {
  .setup-review {
    min-width: 0;
  }

  .setup-review-grid,
  .setup-salary-grid {
    grid-template-columns: 1fr;
  }
}

/* v75 keeper setup and selection visual consistency */
.modal-card-wide {
  width: min(1420px, 98vw);
}
.keeper-setup-modal .modal-body,
.keeper-assignment-modal .modal-body {
  padding: 1rem;
}
.keeper-current-setup {
  gap: 1rem;
}
.keeper-setup-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(52, 151, 190, .44);
  border-radius: 14px;
  background:
    radial-gradient(circle at 8% 20%, rgba(25, 210, 247, .14), transparent 38%),
    linear-gradient(110deg, rgba(7, 39, 58, .94), rgba(4, 23, 36, .94));
}
.keeper-setup-hero h3,
.keeper-rules-panel h3,
.keeper-team-selector-head h3 {
  margin: .18rem 0 .32rem;
  color: #f4fbff;
  font-size: 1.18rem;
}
.keeper-setup-hero p,
.keeper-team-selector-head p {
  margin: 0;
  color: #9fbdcc;
  line-height: 1.45;
}
.keeper-setup-count {
  display: grid;
  grid-template-columns: auto auto;
  align-items: end;
  min-width: 142px;
  padding: .72rem .9rem;
  border: 1px solid rgba(82, 188, 226, .42);
  border-radius: 12px;
  background: rgba(3, 22, 35, .78);
}
.keeper-setup-count span {
  grid-column: 1 / -1;
  color: #85a7b9;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.keeper-setup-count strong {
  color: #20dbff;
  font-size: 2rem;
  line-height: 1;
}
.keeper-setup-count small {
  padding: 0 0 .15rem .35rem;
  color: #a8c0ce;
}
.keeper-setup-config-grid {
  display: grid;
  grid-template-columns: minmax(230px, .72fr) minmax(300px, 1.28fr);
  gap: .75rem;
}
.keeper-setting-card {
  display: grid;
  align-content: center;
  gap: .3rem;
  min-width: 0;
  padding: .85rem .95rem;
  border: 1px solid rgba(56, 125, 160, .4);
  border-radius: 12px;
  background: rgba(5, 27, 42, .72);
}
.keeper-setting-card strong {
  color: #eef9ff;
  font-size: .98rem;
}
.keeper-setting-card small {
  color: #8faebf;
  line-height: 1.4;
}
.keeper-setting-kicker {
  color: #62dff8;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.keeper-protection-setting {
  grid-template-columns: minmax(0, 1fr) 84px;
  align-items: center;
}
.keeper-protection-setting .keeper-setting-kicker,
.keeper-protection-setting small {
  grid-column: 1 / -1;
}
.keeper-protection-setting input {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 52px;
  text-align: center;
  font-size: 1.15rem;
  font-weight: 900;
}
.keeper-rules-panel {
  display: grid;
  grid-template-columns: minmax(165px, .5fr) minmax(0, 1.5fr) minmax(180px, .55fr);
  align-items: end;
  gap: .8rem;
  padding: .85rem .95rem;
  border: 1px solid rgba(56, 125, 160, .36);
  border-radius: 12px;
  background: rgba(4, 23, 37, .62);
}
.keeper-rules-panel .keeper-option-grid {
  grid-template-columns: repeat(3, minmax(160px, 1fr));
}
.keeper-rules-panel > label {
  margin: 0;
}
.keeper-rules-panel .toolbar-check {
  min-height: 48px;
}
.keeper-team-selector {
  display: grid;
  gap: .72rem;
}
.keeper-team-selector-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding: .15rem .1rem 0;
}
.keeper-team-selection-progress {
  height: 7px;
  overflow: hidden;
  border: 1px solid rgba(50, 112, 145, .45);
  border-radius: 999px;
  background: rgba(2, 17, 28, .85);
}
.keeper-team-selection-progress span {
  display: block;
  width: var(--keeper-selection-progress, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #13d7ff, #8ef160);
  box-shadow: 0 0 16px rgba(36, 215, 248, .34);
  transition: width .2s ease;
}
.keeper-current-setup .keeper-division-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
}
.keeper-current-setup .keeper-division-card {
  gap: .55rem;
  padding: .66rem;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(7, 31, 47, .9), rgba(4, 22, 35, .82));
  transition: border-color .18s ease, box-shadow .18s ease;
}
.keeper-current-setup .keeper-division-card.complete {
  border-color: rgba(108, 224, 117, .38);
  box-shadow: inset 0 2px 0 rgba(108, 224, 117, .16);
}
.keeper-division-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  min-height: 34px;
}
.keeper-division-head > div {
  min-width: 0;
}
.keeper-division-head h3 {
  margin: 0;
  color: #6fe7ff;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.keeper-division-head span {
  display: block;
  margin-top: .1rem;
  color: #7898aa;
  font-size: .66rem;
}
.keeper-division-head .text-button {
  flex: 0 0 auto;
  padding: .25rem .35rem;
  color: #9dc2d4;
  font-size: .66rem;
  white-space: nowrap;
}
.keeper-current-setup .keeper-division-teams {
  gap: .38rem;
}
.keeper-current-setup .keeper-team-option {
  grid-template-columns: 50px minmax(0, 1fr) 24px;
  gap: .55rem;
  min-height: 62px;
  padding: .42rem .48rem;
  border: 1px solid rgba(48, 104, 134, .5);
  border-radius: 10px;
  background: rgba(3, 20, 32, .72);
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}
.keeper-current-setup .keeper-team-option:hover {
  border-color: rgba(25, 211, 248, .72);
  background: rgba(9, 43, 61, .86);
  transform: translateY(-1px);
}
.keeper-current-setup .keeper-team-option.selected {
  border-color: rgba(112, 230, 112, .66);
  background: linear-gradient(90deg, rgba(41, 143, 93, .2), rgba(5, 31, 43, .86));
  box-shadow: inset 3px 0 0 #80ed69;
}
.keeper-current-setup .keeper-team-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.keeper-current-setup .keeper-picker-logo {
  width: 50px !important;
  height: 50px !important;
  border-radius: 10px;
  background: radial-gradient(circle, rgba(255,255,255,.08), rgba(255,255,255,.02));
}
.keeper-team-option-copy {
  display: grid;
  gap: .1rem;
  min-width: 0;
}
.keeper-team-option-copy strong {
  overflow: hidden;
  color: #ecf8fe;
  font-size: .78rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.keeper-team-option-copy small {
  color: #6d94a8;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.keeper-team-option-check {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(86, 141, 167, .52);
  border-radius: 999px;
  color: transparent;
  background: rgba(2, 16, 27, .82);
  font-size: .76rem;
  font-weight: 950;
}
.keeper-team-option.selected .keeper-team-option-check {
  border-color: rgba(126, 239, 105, .78);
  color: #082216;
  background: #83ee69;
  box-shadow: 0 0 12px rgba(126, 239, 105, .25);
}
.keeper-setup-footer {
  position: sticky;
  bottom: -1rem;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: .25rem -1rem -1rem;
  padding: .85rem 1rem;
  border-top: 1px solid rgba(63, 132, 164, .48);
  background: rgba(5, 24, 38, .97);
  box-shadow: 0 -12px 28px rgba(0, 0, 0, .24);
}
.keeper-setup-footer > div {
  display: grid;
  gap: .14rem;
}
.keeper-setup-footer strong {
  color: #edf9ff;
}
.keeper-setup-footer small {
  color: #84a4b5;
}
.keeper-setup-footer .primary {
  min-width: 190px;
  min-height: 42px;
}

/* Keeper protection rows mirror the regular draft board. */
.keeper-select-list {
  gap: 6px;
  padding: 2px 3px 8px 1px;
}
.keeper-player-card {
  position: relative;
}
.keeper-player-card.selected {
  border-color: rgba(129, 238, 101, .7) !important;
  background: linear-gradient(90deg, rgba(17, 62, 50, .96), rgba(5, 28, 40, .98)) !important;
  box-shadow: inset 4px 0 0 #83ee69, 0 0 0 1px rgba(131, 238, 105, .08);
}
.keeper-player-card.locked {
  cursor: default;
}
.keeper-player-card.locked:not(.selected) {
  filter: saturate(.72);
}
.keeper-player-checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.keeper-select-toggle {
  position: absolute;
  z-index: 2;
  top: 7px;
  left: 7px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid rgba(100, 157, 184, .58);
  border-radius: 999px;
  color: #9bb8c7;
  background: rgba(3, 18, 29, .9);
  font-size: 1rem;
  font-weight: 950;
  line-height: 1;
}
.keeper-select-toggle:hover:not(:disabled) {
  border-color: rgba(32, 215, 255, .82);
  color: #dffaff;
  background: rgba(6, 55, 73, .94);
}
.keeper-select-toggle.active {
  border-color: rgba(131, 238, 105, .82);
  color: #082216;
  background: #83ee69;
}
.keeper-select-toggle:disabled {
  opacity: .62;
}
.keeper-protected-tag {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  min-height: 21px;
  padding: 2px 8px;
  border: 1px solid rgba(87, 143, 169, .42);
  border-radius: 999px;
  color: #8eacbc;
  background: rgba(4, 24, 38, .72);
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.keeper-protected-tag.active {
  border-color: rgba(131, 238, 105, .52);
  color: #caffbc;
  background: rgba(77, 166, 70, .16);
}
.keeper-protected-tag.locked:not(.active) {
  color: #8b9ea8;
}
.keeper-player-card .keeper-row-actions {
  grid-template-columns: 1fr !important;
}
.keeper-player-card .keeper-protect-btn:disabled {
  border: 1px solid rgba(102, 133, 148, .3);
  color: #8197a2 !important;
  background: rgba(67, 88, 99, .2) !important;
  opacity: 1;
}
.keeper-player-card.selected .keeper-protect-btn:disabled {
  border-color: rgba(131, 238, 105, .34);
  color: #c8ffbb !important;
  background: rgba(68, 145, 61, .18) !important;
}

@media (max-width: 1180px) {
  .keeper-current-setup .keeper-division-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .keeper-rules-panel {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}
@media (max-width: 760px) {
  .modal-card-wide {
    width: min(100%, 98vw);
  }
  .keeper-setup-hero,
  .keeper-setup-config-grid {
    grid-template-columns: 1fr;
  }
  .keeper-setup-count {
    justify-self: stretch;
  }
  .keeper-rules-panel .keeper-option-grid,
  .keeper-current-setup .keeper-division-grid {
    grid-template-columns: 1fr;
  }
  .keeper-team-selector-head,
  .keeper-setup-footer {
    align-items: stretch;
    flex-direction: column;
  }
  .keeper-team-selector-head .keeper-board-actions,
  .keeper-setup-footer .primary {
    width: 100%;
  }
  .keeper-player-card .keeper-row-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* v76 keeper-board row containment and spacing */
.keeper-select-list {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 10px !important;
  overflow-x: hidden;
}
.keeper-select-list > .keeper-player-card {
  flex: 0 0 auto;
  width: 100%;
  height: auto !important;
  min-height: 94px !important;
  margin: 0 !important;
  box-sizing: border-box;
  overflow: hidden !important;
  isolation: isolate;
}
.keeper-select-list > .keeper-player-card:hover {
  transform: none;
}
.keeper-player-card .player-identity,
.keeper-player-card .player-stat-strip,
.keeper-player-card .keeper-row-actions {
  min-width: 0;
}
@media (max-width: 1120px) {
  .keeper-select-list > .keeper-player-card {
    min-height: 118px !important;
  }
}
@media (max-width: 720px) {
  .keeper-select-list {
    gap: 12px !important;
  }
  .keeper-select-list > .keeper-player-card {
    min-height: 210px !important;
  }
}


/* v77 client-specific recommendations and explicit commissioner overrides */
.host-override-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 187, 72, .58);
  border-radius: 9px;
  background: linear-gradient(90deg, rgba(116, 68, 8, .34), rgba(34, 25, 15, .78));
  box-shadow: inset 3px 0 0 rgba(255, 187, 72, .92);
  color: #ffe8b8;
  font-size: .78rem;
  line-height: 1.35;
}
.host-override-notice.hidden { display: none; }
.host-override-notice strong {
  flex: 0 0 auto;
  color: #ffd273;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.host-override-notice b { color: #fff4d6; }
.player-actions .draft-btn.override-pick-btn {
  border-color: rgba(255, 187, 72, .72) !important;
  background: linear-gradient(180deg, rgba(203, 119, 15, .96), rgba(151, 76, 6, .96)) !important;
  color: #fff8e8 !important;
  box-shadow: inset 0 0 0 1px rgba(255, 225, 164, .14);
}
.player-actions .draft-btn.override-pick-btn:hover:not(:disabled) {
  border-color: rgba(255, 220, 145, .92) !important;
  background: linear-gradient(180deg, rgba(226, 139, 28, .98), rgba(177, 91, 9, .98)) !important;
}
@media (max-width: 760px) {
  .host-override-notice { align-items: flex-start; flex-direction: column; gap: 4px; }
}

/* v78 guided flow, phase clarity, role-aware actions, and keeper claiming */
.phase-status-header {
  position: sticky;
  top: 8px;
  z-index: 180;
  display: grid;
  grid-template-columns: 48px minmax(0, 1.6fr) minmax(220px, .9fr) auto;
  gap: 14px;
  align-items: center;
  margin: 10px 0 12px;
  padding: 13px 15px;
  border: 1px solid rgba(56, 174, 215, .34);
  border-radius: 12px;
  background: linear-gradient(110deg, rgba(5, 29, 44, .98), rgba(4, 18, 30, .98));
  box-shadow: 0 10px 28px rgba(0, 6, 12, .34), inset 4px 0 0 rgba(65, 226, 255, .72);
  backdrop-filter: blur(12px);
}
.phase-status-header.tone-your-turn,
.phase-status-header.tone-ready,
.phase-status-header.tone-complete { border-color: rgba(75, 220, 147, .48); box-shadow: 0 10px 28px rgba(0, 6, 12, .34), inset 4px 0 0 rgba(75, 220, 147, .88); }
.phase-status-header.tone-override,
.phase-status-header.tone-warning { border-color: rgba(255, 187, 72, .52); box-shadow: 0 10px 28px rgba(0, 6, 12, .34), inset 4px 0 0 rgba(255, 187, 72, .92); }
.phase-status-header.tone-keeper { border-color: rgba(151, 116, 255, .48); box-shadow: 0 10px 28px rgba(0, 6, 12, .34), inset 4px 0 0 rgba(151, 116, 255, .88); }
.phase-status-header.tone-waiting { opacity: .96; }
.phase-status-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(86, 211, 244, .45);
  border-radius: 50%;
  background: rgba(11, 57, 78, .72);
  color: #6deaff;
  font-size: 1.05rem;
  font-weight: 950;
}
.tone-your-turn .phase-status-icon,
.tone-ready .phase-status-icon,
.tone-complete .phase-status-icon { border-color: rgba(75, 220, 147, .58); background: rgba(20, 91, 62, .62); color: #88ffc3; }
.tone-override .phase-status-icon,
.tone-warning .phase-status-icon { border-color: rgba(255, 187, 72, .65); background: rgba(106, 63, 10, .62); color: #ffd273; }
.tone-keeper .phase-status-icon { border-color: rgba(151, 116, 255, .62); background: rgba(60, 40, 118, .62); color: #c6b4ff; }
.phase-status-copy { min-width: 0; }
.phase-status-copy h2 { margin: 2px 0 3px; font-size: clamp(1rem, 1.7vw, 1.3rem); }
.phase-status-copy p { margin: 0; color: #b5c8d4; font-size: .82rem; line-height: 1.4; }
.phase-status-meta { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 6px; }
.phase-status-meta .pill { font-size: .7rem; white-space: nowrap; }
.phase-status-action { display: grid; justify-items: stretch; gap: 4px; min-width: 150px; }
.phase-status-action button { min-height: 42px; white-space: nowrap; }
.phase-status-action small { max-width: 230px; color: #9fb5c3; font-size: .65rem; line-height: 1.25; text-align: right; }
.warning-button {
  border-color: rgba(255, 187, 72, .78) !important;
  background: linear-gradient(180deg, rgba(209, 126, 18, .98), rgba(151, 76, 6, .98)) !important;
  color: #fff7e5 !important;
}
.warning-button:hover:not(:disabled) { background: linear-gradient(180deg, rgba(232, 145, 31, .98), rgba(180, 92, 9, .98)) !important; }

.player-action-guidance {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 9px 0 10px;
  padding: 9px 11px;
  border: 1px solid rgba(55, 142, 183, .34);
  border-radius: 8px;
  background: rgba(6, 29, 43, .76);
  font-size: .74rem;
}
.player-action-guidance strong { flex: 0 0 auto; color: #d9f7ff; }
.player-action-guidance span { color: #9fb8c7; line-height: 1.35; }
.player-action-guidance.tone-good { border-color: rgba(75, 220, 147, .38); background: rgba(11, 64, 47, .34); }
.player-action-guidance.tone-override,
.player-action-guidance.tone-warn { border-color: rgba(255, 187, 72, .44); background: rgba(92, 55, 9, .28); }
.player-actions .disabled-action { opacity: .56; }
.player-action-reason,
.recommendation-action-reason {
  grid-column: 1 / -1;
  display: block;
  color: #8ea7b7;
  font-size: .61rem;
  line-height: 1.25;
}
.player-action-reason {
  width: 100%;
  max-width: 92px;
  min-height: 1.5em;
  text-align: center;
}
.recommendation-action-reason { max-width: none; text-align: left; }

.recommendation-owner-banner {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 1px solid rgba(65, 226, 255, .3);
  border-radius: 8px;
  background: rgba(6, 36, 52, .72);
}
.recommendation-owner-logo { width: 34px; height: 34px; flex: 0 0 34px; }
.recommendation-owner-banner div { min-width: 0; display: grid; gap: 1px; }
.recommendation-owner-banner span { color: #78dff3; font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.recommendation-owner-banner strong { overflow: hidden; color: #eefbff; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }

.keeper-wizard-stepper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.keeper-wizard-step {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid rgba(42, 91, 117, .52);
  border-radius: 9px;
  background: rgba(4, 23, 35, .7);
  color: #7892a1;
}
.keeper-wizard-step span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .7rem;
  font-weight: 950;
}
.keeper-wizard-step strong { font-size: .72rem; text-transform: uppercase; letter-spacing: .045em; }
.keeper-wizard-step.active { border-color: rgba(65, 226, 255, .62); background: rgba(10, 65, 84, .48); color: #65eaff; }
.keeper-wizard-step.complete { border-color: rgba(75, 220, 147, .4); color: #79e9af; }
.keeper-wizard-step.complete span { font-size: 0; }
.keeper-wizard-step.complete span::after { content: "✓"; font-size: .72rem; }
.keeper-wizard-step-panel { display: grid; gap: 14px; }
.keeper-wizard-actions { display: flex; justify-content: flex-end; gap: 9px; }
.keeper-wizard-actions.inline { align-items: center; }
.keeper-rules-panel.guided { align-items: start; }
.keeper-setup-count.compact { min-width: 210px; }
.keeper-setup-count.compact strong { font-size: .9rem; line-height: 1.25; }
.keeper-review-screen { display: grid; gap: 14px; }
.keeper-review-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.keeper-review-note,
.keeper-claim-message {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 12px;
  border: 1px solid rgba(65, 226, 255, .28);
  border-radius: 9px;
  background: rgba(6, 34, 49, .7);
  color: #a9c2cf;
  font-size: .76rem;
  line-height: 1.4;
}
.keeper-review-note strong { flex: 0 0 auto; color: #70e8ff; }
.keeper-file-drop { padding: 15px; border: 1px dashed rgba(65, 226, 255, .42); border-radius: 10px; background: rgba(5, 30, 44, .62); }
.keeper-file-drop input { margin-top: 8px; }
.guided-footer { position: sticky; bottom: -1px; z-index: 2; }

.keeper-claim-screen { display: grid; gap: 14px; }
.keeper-claim-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px; border: 1px solid rgba(65, 226, 255, .3); border-radius: 11px; background: linear-gradient(120deg, rgba(8, 58, 76, .68), rgba(4, 24, 37, .84)); }
.keeper-claim-hero h3 { margin: 3px 0 4px; }
.keeper-claim-hero p { margin: 0; color: #a9bfcc; }
.keeper-claim-count { display: grid; justify-items: center; min-width: 90px; padding: 10px; border: 1px solid rgba(75, 220, 147, .42); border-radius: 10px; background: rgba(14, 75, 52, .36); }
.keeper-claim-count strong { color: #83ffc0; font-size: 1.55rem; }
.keeper-claim-count span { color: #a8c8b7; font-size: .67rem; text-transform: uppercase; }
.keeper-claim-message.warn { border-color: rgba(255, 187, 72, .44); background: rgba(92, 55, 9, .26); }
.keeper-claim-message.warn strong { color: #ffd273; }
.keeper-claim-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; max-height: 53vh; overflow: auto; padding-right: 3px; }
.keeper-claim-card { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 9px; align-items: center; min-height: 62px; padding: 9px 10px; border: 1px solid rgba(39, 84, 108, .58); border-radius: 9px; background: rgba(4, 23, 35, .8); cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.keeper-claim-card.available:hover { transform: translateY(-1px); border-color: rgba(65, 226, 255, .55); }
.keeper-claim-card.selected { border-color: rgba(75, 220, 147, .78); background: rgba(13, 76, 53, .42); box-shadow: inset 3px 0 0 #4bdc93; }
.keeper-claim-card.unavailable { cursor: not-allowed; opacity: .55; }
.keeper-claim-card input { position: absolute; opacity: 0; pointer-events: none; }
.keeper-claim-logo { width: 40px; height: 40px; }
.keeper-claim-copy { min-width: 0; display: grid; gap: 2px; }
.keeper-claim-copy strong { overflow: hidden; color: #eefaff; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.keeper-claim-copy small { color: #8da6b5; font-size: .65rem; }
.keeper-claim-status { padding: 4px 6px; border-radius: 999px; font-size: .58rem; text-transform: uppercase; }
.keeper-claim-status.good { background: rgba(75, 220, 147, .16); color: #7af0b1; }
.keeper-claim-status.claimed,
.keeper-claim-status.commissioner { background: rgba(125, 145, 157, .15); color: #9fb0ba; }
.keeper-claim-footer { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 12px; border: 1px solid rgba(45, 94, 119, .45); border-radius: 10px; background: rgba(3, 20, 31, .9); }
.keeper-claim-footer > div:first-child { display: grid; gap: 2px; }
.keeper-claim-footer strong { color: #e6f8ff; }
.keeper-claim-footer small { color: #8ea8b7; }
.keeper-claim-actions { display: flex; gap: 8px; }

.commissioner-flow-banner { display: grid; grid-template-columns: repeat(4, minmax(90px, 1fr)); gap: 7px; padding: 11px; border: 1px solid rgba(65, 226, 255, .28); border-radius: 10px; background: rgba(5, 31, 45, .76); }
.commissioner-flow-banner p { grid-column: 1 / -1; margin: 3px 0 0; color: #9fb7c5; font-size: .7rem; }
.commissioner-flow-step { display: flex; gap: 6px; align-items: center; color: #718b9a; font-size: .65rem; text-transform: uppercase; }
.commissioner-flow-step span { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid currentColor; border-radius: 50%; font-weight: 900; }
.commissioner-flow-step.active { color: #63e9ff; }
.commissioner-flow-step.complete { color: #78e8ad; }

@media (max-width: 1120px) {
  .phase-status-header { grid-template-columns: 44px minmax(0, 1fr) auto; }
  .phase-status-meta { grid-column: 2 / -1; justify-content: flex-start; }
  .keeper-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .keeper-claim-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .phase-status-header { position: relative; top: auto; grid-template-columns: 38px minmax(0, 1fr); gap: 9px; padding: 11px; }
  .phase-status-icon { width: 36px; height: 36px; }
  .phase-status-meta,
  .phase-status-action { grid-column: 1 / -1; width: 100%; }
  .phase-status-action small { max-width: none; text-align: left; }
  .player-action-guidance { align-items: flex-start; flex-direction: column; gap: 3px; }
  .keeper-wizard-stepper { gap: 4px; }
  .keeper-wizard-step { justify-content: center; padding: 6px; }
  .keeper-wizard-step strong { display: none; }
  .keeper-review-grid,
  .keeper-claim-grid { grid-template-columns: 1fr; }
  .keeper-claim-hero { grid-template-columns: 1fr; }
  .keeper-claim-count { justify-self: stretch; grid-template-columns: auto auto; justify-content: center; gap: 6px; align-items: baseline; }
  .keeper-claim-footer { align-items: stretch; flex-direction: column; }
  .keeper-claim-actions { display: grid; grid-template-columns: 1fr; }
  .keeper-wizard-actions,
  .keeper-wizard-actions.inline { display: grid; grid-template-columns: 1fr; width: 100%; }
  .commissioner-flow-banner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v78: keep role-aware actions readable when the three-column draft workspace narrows the board. */
@media (min-width: 1121px) and (max-width: 1800px) {
  .player-card,
  .player-card.disabled {
    grid-template-columns: 70px minmax(0, 1fr) 60px 78px 88px !important;
    grid-template-areas:
      "photo identity overall aav actions"
      "photo stats stats stats actions";
    align-items: center;
  }
  .player-row-photo { grid-area: photo; }
  .player-identity { grid-area: identity; }
  .player-overall-value { grid-area: overall; }
  .player-aav-value { grid-area: aav; }
  .player-stat-strip { grid-area: stats; max-width: 420px; }
  .player-actions { grid-area: actions; }
}

/* v79 unified phase / turn bar and keeper scroll stability */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.legacy-phase-action {
  display: none !important;
}
.phase-status-header.unified-status-panel {
  grid-template-columns: 44px minmax(0, 1fr) minmax(430px, auto);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}
.unified-status-panel .phase-status-copy {
  display: grid;
  align-content: center;
}
.unified-status-panel .phase-status-meta {
  justify-content: flex-start;
  margin-top: 7px;
}
.unified-status-controls {
  display: grid;
  justify-items: end;
  gap: 8px;
  min-width: 0;
}
.unified-status-primary {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  width: 100%;
}
.unified-status-panel .timer-box {
  min-width: 118px;
  min-height: 42px;
  padding: 7px 12px;
  border: 1px solid rgba(49, 164, 202, .52);
  border-radius: 9px;
  background: rgba(3, 24, 37, .78);
  font-size: clamp(1.05rem, 1.55vw, 1.45rem);
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}
.unified-status-panel .phase-status-action {
  min-width: 170px;
}
.unified-status-panel .phase-status-action small {
  max-width: 250px;
}
.unified-utility-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  width: 100%;
}
.unified-utility-actions button {
  min-height: 34px;
  padding: 7px 10px;
  font-size: .72rem;
  white-space: nowrap;
}

@media (max-width: 1250px) {
  .phase-status-header.unified-status-panel {
    grid-template-columns: 44px minmax(0, 1fr);
  }
  .unified-status-controls {
    grid-column: 2 / -1;
    justify-items: stretch;
  }
  .unified-status-primary,
  .unified-utility-actions {
    justify-content: flex-start !important;
  }
  .unified-status-panel .phase-status-action {
    min-width: min(260px, 100%);
  }
}

@media (max-width: 760px) {
  .phase-status-header.unified-status-panel {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 9px;
    padding: 11px;
  }
  .unified-status-controls {
    grid-column: 1 / -1;
  }
  .unified-status-primary {
    display: grid;
    grid-template-columns: minmax(105px, .65fr) minmax(0, 1.35fr);
    align-items: stretch;
  }
  .unified-status-panel .timer-box,
  .unified-status-panel .phase-status-action,
  .unified-status-panel .phase-status-action button {
    width: 100%;
    min-width: 0;
  }
  .unified-status-panel .phase-status-action small {
    text-align: left;
  }
  .unified-utility-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .unified-utility-actions button {
    width: 100%;
  }
}

/* Keep nested unified-bar elements from inheriting the old standalone-header grid placement. */
.unified-status-panel .phase-status-meta,
.unified-status-panel .phase-status-action {
  grid-column: auto !important;
}
.unified-status-panel .phase-status-meta {
  width: auto !important;
}


/* v79.1 keeper roster-review progression hotfix */
.keeper-board-complete {
  position: sticky;
  bottom: -1rem;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin: 0 -1rem -1rem;
  padding: .9rem 1rem;
  border-top: 1px solid rgba(65, 226, 255, .3);
  background: linear-gradient(180deg, rgba(8, 25, 40, .97), rgba(5, 18, 31, .99));
  box-shadow: 0 -12px 28px rgba(0, 0, 0, .3);
}
.keeper-board-complete > div:first-child {
  display: grid;
  gap: .2rem;
}
.keeper-board-complete strong {
  color: #f4fbff;
  font-size: .96rem;
}
.keeper-board-complete small {
  color: #9fb7c5;
}
.keeper-board-complete-actions {
  display: flex;
  justify-content: flex-end;
  gap: .55rem;
  flex-wrap: wrap;
}
@media (max-width: 720px) {
  .keeper-board-complete {
    align-items: stretch;
    flex-direction: column;
  }
  .keeper-board-complete-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}


/* v80 menu-style live draft clock and scroll-away floating timer */
.phase-status-header.unified-status-panel {
  position: relative;
  top: auto;
}
.unified-status-primary {
  align-items: stretch;
}
.draft-clock-card {
  --clock-progress: 0%;
  display: grid;
  grid-template-columns: 52px minmax(190px, 1fr);
  gap: 11px;
  align-items: center;
  width: min(355px, 100%);
  min-height: 82px;
  padding: 10px 12px;
  border: 1px solid rgba(42, 183, 229, .42);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(2, 23, 36, .96), rgba(2, 17, 28, .94));
  box-shadow: inset 0 0 0 1px rgba(29, 110, 145, .08), 0 8px 20px rgba(0, 6, 12, .22);
  overflow: hidden;
}
.draft-clock-logo {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(64, 190, 231, .36);
  border-radius: 11px;
  background: rgba(4, 38, 56, .82);
  color: #6ce6ff;
  font-size: 1rem;
  font-weight: 950;
  overflow: hidden;
}
.draft-clock-logo .team-avatar,
.floating-draft-clock-logo .team-avatar {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: inherit;
  background: transparent;
}
.draft-clock-logo .team-avatar img,
.floating-draft-clock-logo .team-avatar img {
  width: 86%;
  height: 86%;
  object-fit: contain;
}
.draft-clock-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2px 12px;
  min-width: 0;
}
.draft-clock-copy > small {
  grid-column: 1;
  color: #79b6cb;
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .12em;
  line-height: 1;
}
.draft-clock-copy > .timer-box {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f3fbff;
  font-family: inherit;
  font-size: clamp(1.75rem, 2.2vw, 2.35rem);
  font-variant-numeric: tabular-nums;
  font-weight: 950;
  letter-spacing: .015em;
  line-height: .95;
  text-align: right;
}
.draft-clock-copy > #draftClockContext {
  grid-column: 1;
  color: #38d1f7;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.draft-clock-track {
  grid-column: 1 / -1;
  display: flex;
  gap: 5px;
  margin-top: 7px;
}
.draft-clock-track i {
  flex: 1;
  height: 4px;
  border-radius: 9px;
  background: #154157;
  transition: background .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.draft-clock-track i.active {
  background: #25ccef;
  box-shadow: 0 0 8px rgba(37, 204, 239, .45);
}
.draft-clock-card.urgent {
  border-color: rgba(255, 187, 72, .68);
  animation: draft-clock-pulse 1s ease-in-out infinite;
}
.draft-clock-card.urgent .timer-box,
.floating-draft-clock.urgent strong { color: #ffd36f; }
.draft-clock-card.urgent .draft-clock-track i.active { background: #ffbd55; box-shadow: 0 0 8px rgba(255, 189, 85, .48); }
.draft-clock-card.expired,
.floating-draft-clock.expired { border-color: rgba(255, 91, 91, .72); }
.draft-clock-card.expired .timer-box,
.floating-draft-clock.expired strong { color: #ff8f8f; }
.draft-clock-card.expired .draft-clock-track i { background: rgba(255, 91, 91, .22); }
.draft-clock-card.paused { opacity: .82; }
.draft-clock-card.no-timer .draft-clock-track { opacity: .34; }
@keyframes draft-clock-pulse {
  0%, 100% { box-shadow: inset 0 0 0 1px rgba(255, 187, 72, .06), 0 8px 20px rgba(0, 6, 12, .22); }
  50% { box-shadow: inset 0 0 0 1px rgba(255, 187, 72, .16), 0 0 20px rgba(255, 187, 72, .16); }
}

.floating-draft-clock {
  --clock-progress: 0%;
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 260;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 18px;
  gap: 9px;
  align-items: center;
  width: min(286px, calc(100vw - 36px));
  min-height: 70px;
  padding: 9px 10px;
  border: 1px solid rgba(42, 183, 229, .58);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(2, 25, 39, .98), rgba(2, 15, 25, .98));
  box-shadow: 0 15px 38px rgba(0, 4, 9, .48), inset 3px 0 0 rgba(37, 204, 239, .76);
  color: inherit;
  text-align: left;
  cursor: pointer;
  animation: floating-clock-in .18s ease-out;
  backdrop-filter: blur(12px);
}
.floating-draft-clock.hidden { display: none !important; }
.floating-draft-clock:hover { transform: translateY(-1px); border-color: rgba(72, 218, 255, .78); }
.floating-draft-clock-logo {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 9px;
  background: rgba(5, 43, 62, .88);
  color: #6ce6ff;
  font-weight: 950;
  overflow: hidden;
}
.floating-draft-clock-copy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1px 8px;
  min-width: 0;
}
.floating-draft-clock-copy small {
  color: #79b6cb;
  font-size: .57rem;
  font-weight: 950;
  letter-spacing: .1em;
}
.floating-draft-clock-copy strong {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: #f4fbff;
  font-size: 1.65rem;
  font-variant-numeric: tabular-nums;
  font-weight: 950;
  line-height: 1;
}
.floating-draft-clock-copy > #floatingDraftClockContext {
  grid-column: 1;
  overflow: hidden;
  color: #35caef;
  font-size: .61rem;
  font-weight: 850;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.floating-draft-clock-progress {
  grid-column: 1 / -1;
  height: 3px;
  margin-top: 5px;
  border-radius: 99px;
  background: #153d51;
  overflow: hidden;
}
.floating-draft-clock-progress i {
  display: block;
  width: var(--clock-progress);
  height: 100%;
  border-radius: inherit;
  background: #25ccef;
  box-shadow: 0 0 8px rgba(37, 204, 239, .5);
  transition: width .22s linear;
}
.floating-draft-clock.urgent .floating-draft-clock-progress i { background: #ffbd55; }
.floating-draft-clock.expired .floating-draft-clock-progress i { background: #ff6565; }
.floating-draft-clock-return {
  color: #86b5c7;
  font-size: .9rem;
  font-weight: 950;
}
@keyframes floating-clock-in {
  from { opacity: 0; transform: translateY(-8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 1250px) {
  .draft-clock-card { width: min(365px, 100%); }
  .unified-status-primary { align-items: center; }
}
@media (max-width: 760px) {
  .unified-status-primary {
    grid-template-columns: 1fr;
  }
  .draft-clock-card,
  .unified-status-panel .phase-status-action {
    width: 100%;
  }
  .draft-clock-card {
    grid-template-columns: 45px minmax(0, 1fr);
    min-height: 72px;
    padding: 8px 10px;
  }
  .draft-clock-logo { width: 42px; height: 42px; }
  .draft-clock-copy > .timer-box { font-size: 1.8rem; }
  .floating-draft-clock {
    top: auto;
    right: 10px;
    bottom: 10px;
    width: calc(100vw - 20px);
    max-width: 420px;
  }
  body.has-floating-draft-clock { padding-bottom: 84px; }
}
@media (prefers-reduced-motion: reduce) {
  .draft-clock-card.urgent,
  .floating-draft-clock { animation: none; }
}


/* v81 legal disclosure and required display-name validation */

/* v82 streamlined keeper setup and franchise-focused roster review */
.keeper-wizard-content {
  display: grid;
  min-height: 0;
}

.keeper-wizard-step-panel {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.keeper-wizard-footer {
  position: sticky;
  bottom: -1rem;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: .25rem -1rem -1rem;
  padding: .9rem 1rem;
  border-top: 1px solid rgba(65, 226, 255, .34);
  background: linear-gradient(180deg, rgba(7, 28, 43, .98), rgba(4, 20, 33, .995));
  box-shadow: 0 -14px 30px rgba(0, 0, 0, .3);
}

.keeper-wizard-footer-copy {
  display: grid;
  gap: .15rem;
  min-width: 0;
}

.keeper-wizard-footer-copy > span {
  color: #67def6;
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.keeper-wizard-footer-copy strong {
  overflow: hidden;
  color: #f2fbff;
  font-size: .96rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.keeper-wizard-footer-copy small {
  color: #94afbd;
  line-height: 1.35;
}

.keeper-wizard-footer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  flex: 0 0 auto;
}

.keeper-wizard-footer-actions .primary {
  min-width: 190px;
  min-height: 43px;
}

.keeper-assignment-modal {
  width: min(1500px, 98vw);
}

.keeper-assignment-workspace {
  gap: .85rem;
}

.keeper-assignment-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(48, 163, 203, .42);
  border-radius: 15px;
  background:
    radial-gradient(circle at 5% 15%, rgba(33, 211, 247, .15), transparent 34%),
    linear-gradient(120deg, rgba(7, 41, 59, .96), rgba(4, 23, 36, .96));
}

.keeper-assignment-hero h3 {
  margin: .2rem 0 .3rem;
  color: #f5fbff;
  font-size: 1.25rem;
}

.keeper-assignment-hero p {
  max-width: 780px;
  margin: 0;
  color: #9db8c6;
  line-height: 1.45;
}

.keeper-assignment-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(78px, 1fr));
  gap: .45rem;
}

.keeper-assignment-overview > span {
  display: grid;
  place-items: center;
  min-width: 86px;
  padding: .62rem .7rem;
  border: 1px solid rgba(61, 137, 168, .45);
  border-radius: 11px;
  background: rgba(2, 20, 32, .76);
  text-align: center;
}

.keeper-assignment-overview b {
  color: #eaf9ff;
  font-size: 1.35rem;
  line-height: 1;
}

.keeper-assignment-overview small {
  margin-top: .2rem;
  color: #7f9caa;
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.keeper-assignment-overview .warn b { color: #ffd27a; }
.keeper-assignment-overview .good b { color: #77edb0; }

.keeper-assignment-layout {
  display: grid;
  grid-template-columns: minmax(255px, 310px) minmax(0, 1fr);
  gap: .85rem;
  align-items: start;
}

.keeper-franchise-panel {
  position: sticky;
  top: 72px;
  display: grid;
  gap: .65rem;
  padding: .75rem;
  border: 1px solid rgba(44, 106, 136, .55);
  border-radius: 15px;
  background: rgba(4, 23, 36, .9);
}

.keeper-franchise-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
}

.keeper-franchise-panel-head > div {
  display: grid;
  gap: .18rem;
}

.keeper-franchise-panel-head strong {
  color: #eaf8ff;
  font-size: .88rem;
}

.keeper-franchise-list {
  display: grid;
  gap: .38rem;
  max-height: 57vh;
  overflow-y: auto;
  padding-right: .15rem;
}

.keeper-franchise-nav-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: center;
  width: 100%;
  min-height: 58px;
  padding: .45rem .52rem;
  border: 1px solid rgba(47, 91, 115, .55);
  border-radius: 11px;
  background: rgba(7, 31, 46, .82);
  color: #dceef7;
  text-align: left;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.keeper-franchise-nav-card:hover {
  transform: translateY(-1px);
  border-color: rgba(76, 205, 239, .58);
  background: rgba(9, 48, 66, .88);
}

.keeper-franchise-nav-card.selected {
  border-color: rgba(76, 220, 245, .82);
  background: linear-gradient(100deg, rgba(10, 73, 91, .9), rgba(6, 38, 54, .92));
  box-shadow: inset 3px 0 0 #4bdcf5, 0 0 0 1px rgba(75, 220, 245, .08);
}

.keeper-franchise-nav-card.needs-attention:not(.selected) {
  border-color: rgba(239, 181, 77, .42);
}

.keeper-franchise-nav-logo {
  width: 40px;
  height: 40px;
}

.keeper-franchise-nav-copy,
.keeper-franchise-nav-metrics {
  display: grid;
  gap: .1rem;
  min-width: 0;
}

.keeper-franchise-nav-copy strong,
.keeper-franchise-nav-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.keeper-franchise-nav-copy strong { font-size: .76rem; }
.keeper-franchise-nav-copy small { color: #7f9eae; font-size: .63rem; }
.keeper-franchise-nav-metrics { justify-items: end; }
.keeper-franchise-nav-metrics b { color: #6ee7ff; font-size: .92rem; }
.keeper-franchise-nav-metrics small { color: #7893a0; font-size: .56rem; text-transform: uppercase; }

.keeper-assignment-tools {
  padding: .55rem .6rem;
  border: 1px solid rgba(45, 90, 113, .48);
  border-radius: 10px;
  background: rgba(2, 17, 28, .56);
}

.keeper-assignment-tools summary {
  cursor: pointer;
  color: #a9c7d5;
  font-size: .72rem;
  font-weight: 850;
}

.keeper-assignment-tools p {
  margin: .45rem 0;
  color: #7f9aa8;
  font-size: .65rem;
  line-height: 1.4;
}

.keeper-assignment-tools button {
  width: 100%;
  margin-top: .35rem;
}

.keeper-assignment-main {
  display: grid;
  gap: .85rem;
  min-width: 0;
}

.keeper-focused-roster,
.keeper-player-finder {
  display: grid;
  gap: .75rem;
  min-width: 0;
  padding: .85rem;
  border: 1px solid rgba(45, 103, 132, .55);
  border-radius: 15px;
  background: rgba(5, 26, 40, .86);
}

.keeper-focused-roster-head,
.keeper-player-finder-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
}

.keeper-focused-team-identity {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
  min-width: 0;
}

.keeper-focused-team-logo {
  width: 64px;
  height: 64px;
  padding: .32rem;
  border: 1px solid rgba(61, 150, 185, .4);
  border-radius: 14px;
  background: rgba(3, 20, 32, .8);
}

.keeper-focused-team-identity h3,
.keeper-player-finder-head h3 {
  margin: .12rem 0 .25rem;
  color: #f1faff;
  font-size: 1.08rem;
}

.keeper-owner-state {
  display: inline-flex;
  align-items: baseline;
  gap: .45rem;
  max-width: 100%;
}

.keeper-owner-state strong { color: #dff4fc; font-size: .74rem; }
.keeper-owner-state small { color: #7f9aa8; font-size: .65rem; }
.keeper-owner-state.connected strong { color: #70ecad; }
.keeper-owner-state.available strong { color: #76dff5; }

.keeper-mobile-team-select {
  display: grid;
  gap: .22rem;
  min-width: 235px;
}

.keeper-mobile-team-select span,
.keeper-player-search-field span {
  color: #83a6b7;
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.keeper-focused-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .45rem;
}

.keeper-focused-metrics > div {
  display: grid;
  gap: .13rem;
  padding: .52rem .6rem;
  border: 1px solid rgba(47, 94, 118, .5);
  border-radius: 10px;
  background: rgba(3, 20, 31, .62);
}

.keeper-focused-metrics span { color: #7895a4; font-size: .61rem; font-weight: 850; text-transform: uppercase; }
.keeper-focused-metrics strong { color: #e7f7fe; font-size: .9rem; }

.keeper-focused-roster-copy {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
}

.keeper-focused-roster-copy h4 {
  margin: 0 0 .18rem;
  color: #e9f8ff;
}

.keeper-focused-roster-copy p,
.keeper-player-finder-head p {
  margin: 0;
  color: #809ba9;
  font-size: .72rem;
  line-height: 1.4;
}

.keeper-focused-player-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .42rem;
  max-height: 31rem;
  overflow-y: auto;
  padding-right: .15rem;
}

.keeper-focused-player {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr) auto;
  gap: .55rem;
  align-items: center;
  min-height: 57px;
  padding: .42rem;
  border: 1px solid rgba(44, 87, 110, .5);
  border-radius: 11px;
  background: rgba(3, 18, 29, .62);
}

.keeper-focused-player-photo {
  width: 43px;
  height: 45px;
  border-radius: 9px;
}

.keeper-focused-player > span {
  display: grid;
  gap: .12rem;
  min-width: 0;
}

.keeper-focused-player strong,
.keeper-focused-player small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.keeper-focused-player strong { color: #e8f7fe; font-size: .75rem; }
.keeper-focused-player small { color: #7d99a7; font-size: .63rem; }
.keeper-focused-player button { min-height: 31px; padding: .38rem .55rem; }

.keeper-player-finder-head > div { min-width: 0; }
.keeper-finder-target {
  display: flex;
  align-items: center;
  gap: .45rem;
  max-width: 250px;
  padding: .4rem .55rem;
  border: 1px solid rgba(54, 132, 164, .48);
  border-radius: 10px;
  background: rgba(4, 32, 46, .75);
}

.keeper-finder-target-logo { width: 34px; height: 34px; }
.keeper-finder-target strong {
  overflow: hidden;
  color: #dff7ff;
  font-size: .72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.keeper-player-search-field {
  display: grid;
  gap: .25rem;
}

.keeper-player-finder .keeper-search-results {
  max-height: 31rem;
}

.keeper-player-finder .keeper-player-row {
  grid-template-columns: 52px minmax(0, 1fr) minmax(105px, auto);
  min-height: 67px;
  padding: .48rem .55rem;
  border-color: rgba(43, 88, 111, .52);
  background: rgba(3, 19, 30, .68);
}

.keeper-player-finder .keeper-headshot {
  width: 50px;
  height: 52px;
}

.keeper-player-finder .keeper-player-actions button {
  min-width: 105px;
}

.keeper-assignment-footer {
  margin-top: 0;
}

@media (max-width: 1120px) {
  .keeper-assignment-layout {
    grid-template-columns: 1fr;
  }
  .keeper-franchise-panel {
    position: static;
  }
  .keeper-franchise-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-height: 23rem;
  }
  .keeper-focused-player-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .keeper-wizard-footer,
  .keeper-assignment-hero,
  .keeper-focused-roster-head,
  .keeper-player-finder-head,
  .keeper-focused-roster-copy {
    align-items: stretch;
    flex-direction: column;
  }
  .keeper-wizard-footer {
    display: grid;
  }
  .keeper-wizard-footer-copy strong {
    white-space: normal;
  }
  .keeper-wizard-footer-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .keeper-wizard-footer-actions button,
  .keeper-wizard-footer-actions .primary {
    width: 100%;
    min-width: 0;
  }
  .keeper-assignment-hero {
    grid-template-columns: 1fr;
  }
  .keeper-assignment-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .keeper-franchise-list {
    grid-template-columns: 1fr;
  }
  .keeper-mobile-team-select,
  .keeper-finder-target {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  .keeper-focused-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .keeper-focused-metrics > div:last-child {
    grid-column: 1 / -1;
  }
  .keeper-focused-player,
  .keeper-player-finder .keeper-player-row {
    grid-template-columns: 44px minmax(0, 1fr);
  }
  .keeper-focused-player button,
  .keeper-player-finder .keeper-player-actions {
    grid-column: 1 / -1;
    width: 100%;
  }
  .keeper-player-finder .keeper-player-actions button {
    width: 100%;
  }
}

/* v82.1 keeper roster row fit and readability */
.keeper-player-finder .keeper-player-row {
  grid-template-columns: 52px minmax(0, 1fr) 116px;
  min-height: 82px;
  height: auto;
  align-items: center;
  padding: .58rem .62rem;
}

.keeper-player-finder .keeper-player-main {
  align-content: center;
  gap: .16rem;
  padding: .08rem 0;
}

.keeper-player-finder .keeper-player-main strong,
.keeper-player-finder .keeper-player-main .keeper-player-meta,
.keeper-player-finder .keeper-player-main .keeper-player-assignment {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

.keeper-player-finder .keeper-player-main strong {
  color: #f0faff;
  font-size: .82rem;
  line-height: 1.2;
}

.keeper-player-finder .keeper-player-main .keeper-player-meta {
  color: #b7d0dc;
  font-size: .68rem;
  line-height: 1.28;
}

.keeper-player-finder .keeper-player-main .keeper-player-assignment {
  margin-top: .06rem;
  color: #6fcfe8;
  font-size: .63rem;
  line-height: 1.28;
}

.keeper-player-finder .keeper-player-actions {
  width: 116px;
  min-width: 116px;
  align-self: center;
}

.keeper-player-finder .keeper-player-actions button {
  width: 100%;
  min-width: 0;
  white-space: nowrap;
}

.keeper-focused-player {
  min-height: 66px;
  height: auto;
}

.keeper-focused-player strong {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.keeper-focused-player .keeper-focused-player-meta {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.28;
}

@media (max-width: 780px) {
  .keeper-player-finder .keeper-player-row {
    grid-template-columns: 48px minmax(0, 1fr);
    min-height: 0;
  }

  .keeper-player-finder .keeper-player-actions {
    width: 100%;
    min-width: 0;
  }
}

/* v83 guided onboarding and commissioner centre */
#entryView.entry-grid {
  grid-template-columns: minmax(460px, .9fr) minmax(560px, 1.1fr);
  grid-template-rows: auto auto;
  align-items: start;
  align-content: start;
}
#entryView .entry-hero {
  position: sticky;
  top: 18px;
  min-height: calc(100vh - 48px);
}
.entry-onboarding-card {
  position: relative;
  z-index: 1;
  padding: 0 !important;
  overflow: hidden;
  gap: 0 !important;
}
.entry-onboarding-card:has(.nhl-logo-select.open) {
  z-index: 80;
  overflow: visible;
}
.entry-onboarding-heading {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  padding: 20px 20px 16px;
  border-bottom: 1px solid rgba(51, 135, 169, .28);
}
#entryView .entry-onboarding-heading h2 {
  border: 0;
  padding: 0;
  margin: 3px 0 5px;
}
.entry-onboarding-heading p {
  margin: 0;
  color: #9fb7c5;
  line-height: 1.4;
}
.entry-onboarding-help {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid rgba(72, 220, 151, .35);
  border-radius: 999px;
  color: #7cebb1;
  background: rgba(20, 100, 67, .2);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.saved-lobby-resume {
  margin: 14px 20px 0;
  padding: 12px 13px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(64, 221, 155, .48);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(12, 76, 61, .44), rgba(4, 35, 49, .9));
  box-shadow: inset 3px 0 0 #42df9d, 0 8px 22px rgba(0, 0, 0, .16);
}
.saved-lobby-resume-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
}
.saved-lobby-resume-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #8ff0bd;
  background: rgba(52, 206, 139, .13);
  border: 1px solid rgba(77, 224, 160, .3);
  font-size: 1.2rem;
  font-weight: 900;
}
.saved-lobby-resume-text {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.saved-lobby-resume-text small {
  color: #72e8ac;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .09em;
}
.saved-lobby-resume-text strong {
  color: #f0fff8;
  font-size: .92rem;
}
.saved-lobby-resume-text span {
  color: #a7c4b7;
  font-size: .68rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.saved-lobby-resume-button {
  min-width: 142px;
  min-height: 44px;
  background: linear-gradient(135deg, #42dca0, #55c8f2) !important;
  color: #031923 !important;
}

.entry-path-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
  padding: 14px 20px;
  background: rgba(1, 14, 24, .48);
  border-bottom: 1px solid rgba(51, 135, 169, .24);
}
.entry-path-tab {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  text-align: left;
  padding: 11px 12px;
  color: #9db2bf;
  border: 1px solid rgba(45, 91, 117, .52);
  background: rgba(3, 22, 34, .76);
}
.entry-path-tab:hover { border-color: rgba(58, 196, 239, .55); }
.entry-path-tab.active {
  color: #effbff;
  border-color: rgba(52, 210, 250, .72);
  background: linear-gradient(135deg, rgba(8, 65, 84, .74), rgba(5, 36, 51, .85));
  box-shadow: inset 3px 0 0 #34d2fa;
}
.entry-path-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #4addff;
  background: rgba(35, 196, 236, .12);
  border: 1px solid rgba(45, 194, 234, .28);
  font-size: 1.15rem;
}
.entry-path-tab > span:last-child { min-width: 0; display: grid; gap: 2px; }
.entry-path-tab strong { color: inherit; font-size: .82rem; }
.entry-path-tab small { color: #829aa8; font-size: .65rem; line-height: 1.3; }
.entry-flow-panel { display: grid; min-height: 520px; }
.entry-flow-stepper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 15px 20px 0;
}
.entry-flow-stepper.two-step { grid-template-columns: repeat(2, 1fr); }
.entry-flow-stepper button {
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 8px 9px;
  color: #708997;
  border: 1px solid rgba(40, 82, 104, .55);
  background: rgba(2, 19, 30, .62);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.entry-flow-stepper button span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: .64rem;
}
.entry-flow-stepper button.active { color: #62e6ff; border-color: rgba(64, 216, 250, .56); background: rgba(8, 63, 82, .52); }
.entry-flow-stepper button.complete { color: #70e7aa; border-color: rgba(65, 200, 133, .4); }
.entry-flow-stepper button.complete span { font-size: 0; }
.entry-flow-stepper button.complete span::after { content: "✓"; font-size: .68rem; }
.entry-flow-stepper button:disabled { cursor: default; opacity: .55; }
.entry-flow-step {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px 20px 20px;
}
.entry-step-intro {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(50, 121, 151, .25);
}
.entry-step-intro > div { min-width: 0; }
.entry-step-intro span,
.entry-settings-heading span,
.entry-control-label {
  color: #66dffb;
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.entry-step-intro h3 { margin: 3px 0 0; color: #f2fbff; font-size: 1.08rem; }
.entry-step-intro p { max-width: 290px; margin: 0; color: #91a9b7; font-size: .72rem; line-height: 1.4; text-align: right; }
.entry-control-group { display: grid; gap: 8px; }
.league-type-grid,
.draft-preset-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.league-type-card,
.draft-preset-grid button {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 4px;
  min-height: 84px;
  padding: 11px;
  text-align: left;
  color: #adbec8;
  border: 1px solid rgba(42, 84, 107, .68);
  background: rgba(3, 21, 33, .78);
}
.league-type-card b,
.draft-preset-grid b { color: #e8f7fd; font-size: .76rem; line-height: 1.25; }
.league-type-card small,
.draft-preset-grid small { color: #849da9; font-size: .63rem; line-height: 1.35; }
.league-type-card.selected,
.draft-preset-grid button.selected {
  border-color: rgba(49, 211, 250, .72);
  background: linear-gradient(145deg, rgba(9, 71, 91, .66), rgba(5, 37, 52, .82));
  box-shadow: inset 3px 0 0 #38d5fa;
}
.draft-preset-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.draft-preset-grid button { min-height: 68px; }
.segmented-control {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 3px;
  border: 1px solid rgba(45, 94, 119, .62);
  border-radius: 10px;
  background: rgba(2, 17, 27, .8);
}
.segmented-control button {
  min-width: 0;
  padding: 9px 11px;
  color: #839ca9;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.segmented-control button.selected { color: #eafaff; background: rgba(21, 112, 143, .55); box-shadow: 0 4px 14px rgba(0,0,0,.2); }
.compact-field { margin-top: 2px; }
.create-nhl-team-field {
  display: grid;
  gap: .35rem;
  color: var(--muted);
  font-size: .9rem;
}
.create-nhl-team-field > span {
  color: var(--text);
  font-weight: 780;
}
.nhl-logo-native-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.nhl-logo-select {
  position: relative;
  z-index: 6;
}
.nhl-logo-select.open {
  z-index: 120;
}
.nhl-logo-select-button {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 54px;
  padding: 7px 10px;
  text-align: left;
  border: 1px solid rgba(47, 105, 132, .74);
  border-radius: 11px;
  background: linear-gradient(180deg, rgba(6, 34, 50, .94), rgba(3, 22, 35, .96));
  color: #edf9ff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.nhl-logo-select-button:hover:not(:disabled),
.nhl-logo-select-button:focus-visible:not(:disabled),
.nhl-logo-select.open .nhl-logo-select-button {
  border-color: rgba(84, 214, 250, .76);
  background: linear-gradient(180deg, rgba(10, 55, 77, .98), rgba(4, 31, 47, .98));
  box-shadow: 0 0 0 2px rgba(57, 200, 243, .1), inset 0 1px 0 rgba(255,255,255,.08);
  filter: none;
}
.nhl-logo-select-button span,
.nhl-logo-option span {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.nhl-logo-select-button strong,
.nhl-logo-option strong {
  overflow: hidden;
  color: #edf9ff;
  font-size: .86rem;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nhl-logo-select-button small,
.nhl-logo-option small {
  color: #7fa3b4;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.nhl-logo-select-button b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(83, 143, 168, .48);
  border-radius: 999px;
  color: #93c4d8;
  font-size: .66rem;
  line-height: 1;
}
.nhl-logo-select.open .nhl-logo-select-button b {
  transform: rotate(180deg);
}
.nhl-logo-select-current-logo,
.nhl-logo-option-logo {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.04);
}
.nhl-logo-select-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 130;
  display: grid;
  gap: 4px;
  max-height: min(420px, 62vh);
  padding: 6px;
  overflow: auto;
  border: 1px solid rgba(61, 132, 163, .76);
  border-radius: 12px;
  background: rgba(3, 20, 32, .98);
  box-shadow: 0 18px 44px rgba(0,0,0,.38), 0 0 0 1px rgba(93, 214, 248, .08);
}
.nhl-logo-option {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 6px 8px;
  text-align: left;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #edf9ff;
}
.nhl-logo-option:hover,
.nhl-logo-option:focus-visible {
  border-color: rgba(77, 207, 247, .55);
  background: rgba(13, 64, 87, .78);
  filter: none;
}
.nhl-logo-option.selected {
  border-color: rgba(113, 231, 255, .7);
  background: linear-gradient(90deg, rgba(34, 149, 191, .42), rgba(5, 33, 49, .88));
  box-shadow: inset 3px 0 0 #48d8ff;
}
.entry-settings-section {
  display: grid;
  gap: 11px;
  padding: 13px;
  border: 1px solid rgba(42, 91, 116, .5);
  border-radius: 11px;
  background: rgba(2, 19, 30, .52);
}
.entry-settings-heading,
.host-settings-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.entry-settings-heading > div,
.host-settings-section-heading > div { display: grid; gap: 2px; }
.entry-settings-heading strong,
.host-settings-section-heading strong { color: #edfaff; font-size: .82rem; }
.entry-settings-heading small,
.host-settings-section-heading small { color: #8299a7; font-size: .64rem; text-align: right; }
.create-roster-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.entry-advanced-settings,
.entry-recovery-tools,
.host-advanced-tools {
  border: 1px solid rgba(43, 88, 112, .52);
  border-radius: 10px;
  background: rgba(2, 18, 29, .62);
  overflow: hidden;
}
.entry-advanced-settings summary,
.entry-recovery-tools summary,
.host-advanced-tools summary {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 13px;
  color: #dceef5;
  font-weight: 800;
  font-size: .75rem;
}
.entry-advanced-settings summary small { color: #7f97a5; font-weight: 500; }
.entry-advanced-body,
.entry-recovery-tools > div,
.host-tool-stack { display: grid; gap: 11px; padding: 0 13px 13px; }
.entry-flow-footer {
  position: sticky;
  bottom: 0;
  z-index: 3;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-top: auto;
  padding: 13px 20px;
  border-top: 1px solid rgba(49, 124, 154, .35);
  background: rgba(3, 22, 34, .98);
  box-shadow: 0 -12px 28px rgba(0,0,0,.18);
}
.entry-flow-footer-copy { min-width: 0; display: grid; gap: 2px; }
.entry-flow-footer-copy strong { color: #eefaff; font-size: .76rem; }
.entry-flow-footer-copy small { color: #829ba9; font-size: .64rem; }
.entry-flow-footer button { min-width: 130px; }
.create-league-review { display: grid; gap: 11px; }
.create-review-hero,
.join-preview-hero {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(48, 192, 231, .43);
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(8, 63, 82, .7), rgba(3, 27, 41, .88));
}
.create-review-hero > div,
.join-preview-hero > div { min-width: 0; display: grid; gap: 3px; }
.create-review-hero span,
.join-preview-hero span { color: #61e0fb; font-size: .62rem; font-weight: 900; letter-spacing: .08em; }
.create-review-hero strong,
.join-preview-hero strong { color: #f2fbff; font-size: 1.05rem; overflow-wrap: anywhere; }
.create-review-hero small,
.join-preview-hero small { color: #93aebb; }
.create-review-hero > b,
.join-preview-hero > b { flex: 0 0 auto; padding: 7px 9px; border-radius: 999px; color: #67e7ff; background: rgba(24, 156, 193, .17); border: 1px solid rgba(54, 202, 240, .36); font-size: .64rem; }
.create-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.create-review-warning,
.create-review-ready,
.join-preview-note {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  border-radius: 9px;
  font-size: .7rem;
}
.create-review-warning { border: 1px solid rgba(255, 184, 65, .42); background: rgba(91, 56, 8, .24); color: #ffd486; }
.create-review-ready { border: 1px solid rgba(66, 218, 145, .36); background: rgba(11, 79, 51, .24); color: #87eeb9; }
.create-review-warning span,
.create-review-ready span,
.join-preview-note span { color: #9eb5c1; }
.join-league-preview { display: grid; gap: 9px; }
.join-preview-hero > b.keeper { color: #d1b6ff; border-color: rgba(166, 117, 246, .42); background: rgba(91, 50, 162, .22); }
.join-preview-hero > b.standard { color: #74efb1; border-color: rgba(76, 215, 147, .38); background: rgba(22, 108, 69, .2); }
.join-preview-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.join-preview-facts > div { min-width: 0; display: grid; gap: 3px; padding: 9px; border: 1px solid rgba(43, 88, 111, .48); border-radius: 8px; background: rgba(2, 18, 28, .58); }
.join-preview-facts span { color: #718c9b; font-size: .58rem; text-transform: uppercase; font-weight: 800; }
.join-preview-facts strong { color: #e6f7fd; font-size: .7rem; overflow-wrap: anywhere; }
.join-preview-note { border: 1px solid rgba(51, 139, 172, .38); background: rgba(7, 51, 68, .28); }
.join-flow-footer { margin: 0; padding: 12px; border: 1px solid rgba(46, 105, 132, .4); border-radius: 10px; box-shadow: none; }
.entry-recovery-tools { margin: 0 20px 18px; }

.standard-join-screen {
  display: grid;
  gap: 11px;
}
.standard-join-heading small {
  padding: 5px 8px;
  border: 1px solid rgba(75, 220, 147, .34);
  border-radius: 999px;
  color: #7eeab1;
  background: rgba(13, 79, 53, .22);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.standard-join-grid.keeper-claim-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: min(320px, 42vh);
}
.standard-join-card {
  min-height: 60px;
}
.standard-join-logo {
  width: 38px;
  height: 38px;
}
.standard-join-empty {
  padding: 12px;
  border: 1px dashed rgba(77, 147, 175, .45);
  border-radius: 10px;
  color: #93acba;
  background: rgba(3, 20, 31, .58);
  font-size: .76rem;
}
.standard-join-custom-card {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) minmax(170px, .8fr);
  gap: 10px;
  align-items: center;
  min-height: 68px;
  padding: 10px;
  border: 1px solid rgba(48, 101, 128, .56);
  border-radius: 10px;
  background: rgba(3, 20, 31, .72);
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.standard-join-custom-card:hover {
  border-color: rgba(65, 226, 255, .55);
  background: rgba(8, 38, 55, .78);
}
.standard-join-custom-card.selected {
  border-color: rgba(75, 220, 147, .78);
  background: rgba(13, 76, 53, .38);
  box-shadow: inset 3px 0 0 #4bdc93;
}
.standard-join-custom-card > input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.standard-join-custom-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(92, 178, 206, .42);
  border-radius: 10px;
  color: #79e9ff;
  background: rgba(9, 46, 64, .7);
  font-size: 1.2rem;
  font-weight: 900;
}
.standard-join-custom-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.standard-join-custom-copy strong {
  color: #eefaff;
  font-size: .78rem;
}
.standard-join-custom-copy small {
  color: #8da6b5;
  font-size: .65rem;
}
.standard-join-custom-input {
  min-width: 0;
  width: 100%;
}

@media (max-width: 760px) {
  .standard-join-grid.keeper-claim-grid,
  .standard-join-custom-card {
    grid-template-columns: 1fr;
  }
}

/* Commissioner Centre */
.host-settings-panel {
  width: min(980px, calc(100vw - 1rem)) !important;
  padding: 0 !important;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 0 !important;
  overflow: hidden !important;
  border-radius: 18px 0 0 18px;
  background: linear-gradient(180deg, rgba(6, 29, 44, .99), rgba(2, 18, 29, .99));
}
.host-settings-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding: 18px 20px 14px;
  border-bottom: 1px solid rgba(48, 125, 157, .32);
}
.host-settings-header h2 { margin: 3px 0 3px; font-size: 1.3rem; }
.host-settings-header p { margin: 0; color: #8ea8b6; font-size: .72rem; }
.host-quick-controls { display: grid; gap: 9px; padding: 13px 20px; border-bottom: 1px solid rgba(46, 111, 139, .28); background: rgba(1, 15, 24, .42); }
.host-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.host-quick-grid button {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 1px 7px;
  align-items: center;
  text-align: left;
  padding: 9px;
  color: #dceef5;
  border-color: rgba(42, 91, 116, .58);
  background: rgba(3, 24, 37, .74);
}
.host-quick-grid button > span { grid-row: 1 / span 2; width: 29px; height: 29px; display: grid; place-items: center; border-radius: 8px; color: #58dffb; background: rgba(34, 182, 220, .12); }
.host-quick-grid button b { font-size: .7rem; }
.host-quick-grid button small { color: #77909d; font-size: .58rem; overflow-wrap: anywhere; }
.host-quick-grid button:disabled { opacity: .42; }
.host-settings-nav {
  display: flex;
  gap: 3px;
  overflow-x: auto;
  padding: 8px 14px 0;
  border-bottom: 1px solid rgba(49, 117, 145, .32);
  scrollbar-width: thin;
}
.host-settings-nav button {
  flex: 0 0 auto;
  padding: 9px 11px 10px;
  color: #8299a6;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 8px 8px 0 0;
  background: transparent;
  box-shadow: none;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.host-settings-nav button.active { color: #63e2fc; border-bottom-color: #43d7f7; background: rgba(13, 73, 93, .35); }
.host-settings-content { min-height: 0; overflow-y: auto; padding: 17px 20px 24px; }
.host-settings-tab-panel { display: grid; align-content: start; gap: 13px; max-width: 850px; }
.host-overview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.host-overview-grid > div { min-width: 0; display: grid; gap: 3px; padding: 13px; border: 1px solid rgba(45, 95, 119, .46); border-radius: 10px; background: rgba(3, 22, 34, .68); }
.host-overview-grid span,
.host-guidance-card span,
.host-danger-zone span { color: #64dcf7; font-size: .59rem; font-weight: 900; letter-spacing: .08em; }
.host-overview-grid strong { color: #f0fbff; font-size: .88rem; overflow-wrap: anywhere; }
.host-overview-grid small { color: #7f98a5; font-size: .62rem; line-height: 1.35; }
.host-guidance-card { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 15px; border: 1px solid rgba(61, 203, 239, .38); border-radius: 11px; background: linear-gradient(120deg, rgba(8, 61, 79, .56), rgba(3, 26, 40, .76)); }
.host-guidance-card > div { display: grid; gap: 3px; }
.host-guidance-card strong { color: #effaff; }
.host-guidance-card p { margin: 0; color: #91aab7; font-size: .7rem; }
.host-guidance-card button { flex: 0 0 auto; }
.host-settings-subsection { display: grid; gap: 11px; padding: 13px; border: 1px solid rgba(44, 92, 115, .45); border-radius: 10px; background: rgba(2, 18, 29, .48); }
.host-settings-section-heading.compact { padding-bottom: 7px; border-bottom: 1px solid rgba(43, 90, 113, .35); }
.host-action-list { display: grid; gap: 8px; }
.host-team-join-policy {
  align-items: center;
  min-height: 46px;
  border-color: rgba(68, 171, 206, .42);
  background: rgba(5, 31, 45, .62);
}
.host-team-join-policy span {
  color: #dff5fc;
  line-height: 1.35;
}
.host-action-list button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 14px; text-align: left; padding: 13px; border-color: rgba(43, 93, 117, .55); background: rgba(3, 23, 35, .68); }
.host-action-list button span { color: #e8f8fd; font-weight: 800; }
.host-action-list button small { grid-column: 1; color: #829ba7; }
.host-action-list button b { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: #54d9f8; font-size: .7rem; }
.host-info-note { padding: 13px; border: 1px solid rgba(53, 137, 169, .35); border-radius: 10px; background: rgba(7, 50, 67, .26); }
.host-info-note strong { color: #dff7ff; }
.host-info-note p { margin: 4px 0 0; color: #8fa8b5; font-size: .7rem; line-height: 1.45; }
.host-danger-zone { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-top: 8px; padding: 14px; border: 1px solid rgba(240, 82, 95, .38); border-radius: 10px; background: rgba(82, 19, 28, .22); }
.host-danger-zone > div { display: grid; gap: 3px; }
.host-danger-zone span { color: #ff9aa5; }
.host-danger-zone strong { color: #ffe9ec; }
.host-danger-zone p { margin: 0; color: #b79398; font-size: .68rem; }
.host-settings-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 12px 20px;
  border-top: 1px solid rgba(48, 124, 154, .36);
  background: rgba(2, 18, 29, .98);
  box-shadow: 0 -12px 30px rgba(0,0,0,.2);
}
.host-settings-footer > div:first-child { min-width: 0; display: grid; gap: 2px; }
.host-settings-footer strong { color: #dceff6; font-size: .73rem; }
.host-settings-footer strong.warn { color: #ffd078; }
.host-settings-footer small { color: #78919e; font-size: .61rem; }
.host-settings-footer > div:last-child { display: flex; gap: 8px; flex: 0 0 auto; }

@media (max-width: 1180px) {
  #entryView.entry-grid { grid-template-columns: 1fr; }
  #entryView .entry-hero { position: static; min-height: auto; }
  .entry-onboarding-card { min-height: 0; }
}
@media (max-width: 760px) {
  .entry-path-tabs,
  .league-type-grid,
  .draft-preset-grid,
  .create-roster-grid,
  .join-preview-facts,
  .host-overview-grid,
  .host-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .entry-step-intro { align-items: flex-start; flex-direction: column; }
  .entry-step-intro p { max-width: none; text-align: left; }
  .entry-flow-footer { grid-template-columns: 1fr 1fr; }
  .entry-flow-footer-copy { grid-column: 1 / -1; grid-row: 1; }
  .entry-flow-footer button { min-width: 0; }
  .host-settings-panel { width: 100vw !important; border-radius: 0; }
  .host-settings-footer { align-items: stretch; flex-direction: column; }
  .host-settings-footer > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px) {
  .entry-onboarding-heading { flex-direction: column; }
  .entry-path-tabs,
  .league-type-grid,
  .draft-preset-grid,
  .create-roster-grid,
  .join-preview-facts,
  .host-overview-grid,
  .host-quick-grid { grid-template-columns: 1fr; }
  .entry-flow-stepper button strong { display: none; }
  .entry-flow-stepper button { padding: 7px; }
  .entry-flow-step { padding: 15px 14px; }
  .entry-flow-footer { padding: 12px 14px; }
  .host-settings-header,
  .host-quick-controls,
  .host-settings-content,
  .host-settings-footer { padding-left: 13px; padding-right: 13px; }
  .host-guidance-card,
  .host-danger-zone { align-items: stretch; flex-direction: column; }
  .host-guidance-card button,
  .host-danger-zone button { width: 100%; }
}

/* v83.1 prominent saved-lobby rejoin */
@media (max-width: 680px) {
  .saved-lobby-resume { grid-template-columns: 1fr; margin: 12px 14px 0; gap: 10px; }
  .saved-lobby-resume-button { width: 100%; }
}

/* v84 landing page balance and mobile keeper roster review */
@media (min-width: 1181px) {
  #entryView.entry-grid {
    grid-template-columns: minmax(520px, 46fr) minmax(620px, 54fr);
    gap: 18px;
  }

  #entryView .entry-hero {
    min-height: calc(100vh - 48px);
    padding: clamp(28px, 3.1vw, 52px);
    align-content: center;
  }

  #entryView .entry-brand-row {
    display: grid;
    justify-items: start;
    gap: 12px;
  }

  #entryView .entry-site-logo {
    width: clamp(205px, 18vw, 285px);
    max-width: 100%;
  }

  #entryView .entry-hero h1 {
    max-width: 680px;
    font-size: clamp(3.7rem, 5.1vw, 6rem);
    line-height: .93;
  }

  #entryView .entry-hero p {
    max-width: 650px;
  }

  #entryView .entry-scoreboard {
    width: min(100%, 560px);
    margin-top: 4px;
  }
}

@media (max-height: 850px) and (min-width: 1181px) {
  #entryView .entry-hero {
    padding-top: 24px;
    padding-bottom: 24px;
    gap: 15px;
  }
  #entryView .entry-site-logo { width: clamp(180px, 15vw, 235px); }
  #entryView .entry-hero h1 { font-size: clamp(3.25rem, 4.4vw, 5rem); }
  #entryView .entry-hero p { font-size: 1rem; line-height: 1.5; }
  #entryView .entry-feature-grid { display: none; }
}

@media (max-width: 760px) {
  #entryView.entry-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 8px 0 18px;
  }

  #entryView .entry-hero {
    order: 0;
    min-height: 0;
    padding: 22px 18px;
    gap: 14px;
    border-radius: 0 0 22px 22px;
  }

  #entryView .entry-kicker {
    font-size: .58rem;
    letter-spacing: .13em;
  }

  #entryView .entry-brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  #entryView .entry-site-logo {
    width: min(42vw, 175px);
  }

  #entryView .entry-brand-row > .badge {
    display: none;
  }

  #entryView .entry-hero h1 {
    max-width: none;
    margin: 0;
    font-size: clamp(2.75rem, 14vw, 4.35rem);
    line-height: .91;
    letter-spacing: -.06em;
  }

  #entryView .entry-hero p {
    max-width: 34rem;
    margin: 0;
    font-size: .93rem;
    line-height: 1.5;
  }

  #entryView .entry-scoreboard {
    width: 100%;
    margin-top: 2px;
  }

  #entryView .entry-feature-grid {
    display: none;
  }

  #entryView .entry-onboarding-card {
    order: 1;
    margin: 0 8px;
    border-radius: 18px;
  }

  .entry-onboarding-heading {
    padding: 17px 15px 13px;
  }

  .entry-onboarding-heading p {
    font-size: .72rem;
  }
}

/* Full-screen keeper review workspace on phones */
@media (max-width: 780px) {
  .modal-root:has(.keeper-assignment-modal) {
    padding: 0;
    place-items: stretch;
    background: #06101b;
  }

  .keeper-assignment-modal.modal-card {
    display: flex;
    flex-direction: column;
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    border: 0;
    border-radius: 0;
  }

  .keeper-assignment-modal .modal-head {
    position: relative;
    flex: 0 0 auto;
    min-height: 70px;
    padding: max(14px, env(safe-area-inset-top)) 16px 14px;
    z-index: 20;
  }

  .keeper-assignment-modal .modal-head h2 {
    font-size: clamp(1.35rem, 6.4vw, 1.8rem);
  }

  .keeper-assignment-modal .modal-head button {
    min-width: 78px;
    min-height: 46px;
  }

  .keeper-assignment-modal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 12px 12px calc(92px + env(safe-area-inset-bottom));
  }

  .keeper-assignment-workspace {
    display: block;
  }

  .keeper-assignment-hero {
    display: none;
  }

  .keeper-assignment-layout {
    display: block;
  }

  .keeper-franchise-panel {
    position: static;
    display: block;
    padding: 0;
    margin: 0 0 10px;
    border: 0;
    background: transparent;
  }

  .keeper-franchise-panel-head,
  .keeper-franchise-list {
    display: none;
  }

  .keeper-assignment-tools {
    margin: 8px 0 12px;
  }

  .keeper-assignment-main {
    display: grid;
    gap: 12px;
    min-width: 0;
  }

  .keeper-focused-roster,
  .keeper-player-finder {
    min-width: 0;
    padding: 12px;
    border-radius: 15px;
  }

  .keeper-focused-roster-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .keeper-focused-team-identity {
    min-width: 0;
  }

  .keeper-focused-team-identity h3 {
    font-size: 1.18rem;
  }

  .keeper-mobile-team-select {
    display: grid;
    width: 100%;
    max-width: none;
    position: sticky;
    top: 0;
    z-index: 8;
    padding: 8px;
    border: 1px solid rgba(67, 174, 215, .48);
    border-radius: 12px;
    background: rgba(4, 27, 41, .97);
  }

  .keeper-mobile-team-select select {
    min-height: 46px;
    font-size: 16px;
  }

  .keeper-focused-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }

  .keeper-focused-metrics > div,
  .keeper-focused-metrics > div:last-child {
    grid-column: auto;
    min-width: 0;
    padding: 9px;
  }

  .keeper-focused-metrics > div:last-child {
    grid-column: 1 / -1;
  }

  .keeper-focused-roster-copy {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .keeper-focused-roster-copy .pill {
    justify-self: stretch;
    text-align: center;
    font-size: .85rem;
    padding: .55rem .75rem;
  }

  .keeper-focused-player-list,
  .keeper-search-results {
    display: grid;
    gap: 9px;
    max-height: none;
    overflow: visible;
  }

  .keeper-focused-player,
  .keeper-player-finder .keeper-player-row {
    position: relative;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 8px 10px;
    align-items: center;
    min-height: 0;
    height: auto;
    padding: 10px;
    overflow: hidden;
    border-radius: 14px;
  }

  .keeper-focused-player-photo,
  .keeper-player-finder .keeper-headshot {
    grid-column: 1;
    grid-row: 1;
    width: 56px;
    height: 56px;
    align-self: start;
  }

  .keeper-focused-player > span,
  .keeper-player-finder .keeper-player-main {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    align-self: center;
  }

  .keeper-focused-player strong,
  .keeper-player-finder .keeper-player-main strong {
    display: block;
    font-size: .96rem;
    line-height: 1.2;
    white-space: normal;
  }

  .keeper-focused-player .keeper-focused-player-meta,
  .keeper-player-finder .keeper-player-meta,
  .keeper-player-finder .keeper-player-assignment {
    display: block;
    margin-top: 3px;
    font-size: .73rem;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .keeper-focused-player > button,
  .keeper-player-finder .keeper-player-actions {
    position: static;
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    margin: 0;
    align-self: stretch;
  }

  .keeper-focused-player > button,
  .keeper-player-finder .keeper-player-actions button {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: .68rem .8rem;
    font-size: .84rem;
  }

  .keeper-player-finder-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .keeper-finder-target {
    width: 100%;
    max-width: none;
  }

  .keeper-player-search-field input {
    min-height: 48px;
    font-size: 16px;
  }

  .keeper-assignment-footer.keeper-board-complete {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1005;
    display: block;
    margin: 0;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    background: rgba(3, 24, 37, .98);
    box-shadow: 0 -12px 30px rgba(0, 0, 0, .42);
  }

  .keeper-assignment-footer > div:first-child {
    display: none;
  }

  .keeper-board-complete-actions {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 8px;
    width: 100%;
  }

  .keeper-board-complete-actions button {
    width: 100%;
    min-width: 0;
    min-height: 50px;
    padding: .65rem .5rem;
    white-space: normal;
    line-height: 1.15;
  }
}

@media (max-width: 390px) {
  .keeper-board-complete-actions {
    grid-template-columns: 1fr;
  }
  .keeper-assignment-modal .modal-body {
    padding-bottom: calc(148px + env(safe-area-inset-bottom));
  }
}

/* v84.1 mobile player-finder stacking hotfix */
@media (max-width: 780px) {
  .keeper-player-finder .keeper-search-results {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: max-content !important;
    align-content: start !important;
    gap: 10px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .keeper-player-finder .keeper-search-results > .keeper-player-row {
    position: relative !important;
    inset: auto !important;
    z-index: auto !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    grid-template-rows: minmax(58px, auto) auto !important;
    align-items: start !important;
    align-self: auto !important;
    gap: 9px 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 122px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 11px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .keeper-player-finder .keeper-search-results > .keeper-player-row > .keeper-headshot {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    align-self: start !important;
  }

  .keeper-player-finder .keeper-search-results > .keeper-player-row > .keeper-player-main {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-self: stretch !important;
    gap: 3px !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .keeper-player-finder .keeper-search-results > .keeper-player-row > .keeper-player-main > * {
    position: static !important;
    display: block !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .keeper-player-finder .keeper-search-results > .keeper-player-row > .keeper-player-actions {
    position: static !important;
    inset: auto !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: auto !important;
    justify-self: stretch !important;
  }

  .keeper-player-finder .keeper-search-results > .keeper-player-row > .keeper-player-actions > button {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: .7rem .85rem !important;
    line-height: 1.15 !important;
  }
}


/* v85 recommendation confidence, keeper host identity and league roster cards */
.keeper-host-team-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid rgba(90,197,223,.34);border-radius:12px;background:rgba(4,28,42,.66)}
.keeper-host-team-status>div{display:flex;align-items:center;gap:10px}.keeper-host-team-logo{width:42px!important;height:42px!important}.keeper-host-team-status span{display:grid;gap:2px}.keeper-host-team-status small{color:#88adbd;font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.keeper-host-team-status strong{color:#effbff}.keeper-host-team-status.included{box-shadow:inset 3px 0 0 #63dc94}.keeper-host-team-status.warning{border-color:rgba(255,184,69,.7);background:rgba(96,57,7,.28);box-shadow:inset 3px 0 0 #ffbd4a}
.recommendation-confidence-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recommendation-confidence{color:#92afbd;font-size:.68rem;font-weight:800}.recommendation-confidence b{color:#eaf9ff;font-size:.78rem}.recommended-tag.excellent{border-color:rgba(93,230,145,.7);background:rgba(45,194,105,.15);color:#a9f7c5}.recommended-tag.great{border-color:rgba(64,205,238,.65);background:rgba(31,181,218,.14);color:#a5eeff}.recommended-tag.good{border-color:rgba(154,210,97,.6);background:rgba(107,168,51,.12);color:#d4f6aa}.recommended-tag.situational{border-color:rgba(255,182,69,.65);background:rgba(212,132,24,.13);color:#ffd28b}.recommendation-reasons{display:grid;gap:4px;margin:4px 0 1px}.recommendation-reasons span{display:flex;align-items:flex-start;gap:6px;color:#c3dbe5;font-size:.76rem;line-height:1.28}.recommendation-reasons i{display:inline-grid;place-items:center;flex:0 0 16px;width:16px;height:16px;border-radius:50%;background:rgba(61,207,127,.15);color:#7aefa9;font-style:normal;font-size:.62rem;font-weight:950}.recommendation-summary{color:#829fad!important;font-size:.7rem!important}
.all-rosters-card{min-height:72vh}.all-roster-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px!important;align-items:start}.league-roster-card{min-width:0;overflow:hidden;border:1px solid rgba(62,134,164,.38);border-radius:15px;background:linear-gradient(160deg,rgba(12,53,72,.78),rgba(3,20,31,.95));box-shadow:0 14px 35px rgba(0,0,0,.2)}.league-roster-card.my-team{border-color:rgba(117,226,151,.62);box-shadow:inset 0 3px 0 rgba(117,226,151,.72),0 14px 35px rgba(0,0,0,.22)}.league-roster-hero{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px}.league-roster-logo{width:58px!important;height:58px!important;border-radius:13px!important}.league-roster-identity{display:grid;min-width:0;gap:2px}.league-roster-identity span{color:#76dfff;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.league-roster-identity strong{overflow:hidden;color:#f2fbff;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.league-roster-identity small{color:#8ca9b8;font-size:.72rem}.league-roster-overall{display:grid;justify-items:center;min-width:66px;padding:8px;border:1px solid rgba(87,165,195,.36);border-radius:10px;background:rgba(1,16,27,.58)}.league-roster-overall span{color:#7f9eae;font-size:.55rem;font-weight:900;letter-spacing:.07em}.league-roster-overall strong{color:#fff;font-size:1.3rem}.league-roster-progress{height:4px;background:rgba(255,255,255,.06)}.league-roster-progress span{display:block;height:100%;background:linear-gradient(90deg,#17bde2,#6ae3a0)}.league-roster-status{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px}.league-roster-status span{padding:4px 7px;border:1px solid rgba(70,133,158,.32);border-radius:999px;background:rgba(2,19,30,.52);color:#aac3cf;font-size:.65rem;font-weight:800}.league-roster-status span:first-child{color:#e9f8ff}.league-roster-status .danger{border-color:rgba(255,91,91,.55);color:#ffaaaa}.league-roster-ratings{display:grid;gap:8px;padding:4px 14px 13px}.league-roster-ratings>div{display:grid;gap:4px}.league-roster-ratings span{display:flex;justify-content:space-between;color:#a8c2ce;font-size:.68rem}.league-roster-ratings b{font-weight:800}.league-roster-ratings em{color:#eefaff;font-style:normal;font-weight:900}.league-roster-ratings i{height:6px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}.league-roster-ratings u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2589d9,#3bd7ce);text-decoration:none}.league-roster-details{border-top:1px solid rgba(70,133,158,.25)}.league-roster-details summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;cursor:pointer;color:#cbe1ea;font-size:.72rem;font-weight:850;list-style:none}.league-roster-details summary::-webkit-details-marker{display:none}.league-roster-details summary span:before{content:'▸';display:inline-block;margin-right:7px;color:#6bdcff;transition:transform .15s}.league-roster-details[open] summary span:before{transform:rotate(90deg)}.league-roster-details summary b{color:#82a5b5;font-size:.65rem}.league-roster-player-list{display:grid;max-height:380px;overflow:auto;padding:0 10px 10px}.league-roster-player{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 5px;border-top:1px solid rgba(75,132,153,.18)}.league-roster-player>span{color:#668b9c;font-size:.68rem;text-align:center}.league-roster-player>div{display:grid;min-width:0;gap:2px}.league-roster-player strong{overflow:hidden;color:#e8f7fd;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.league-roster-player small{overflow:hidden;color:#87a5b4;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.keeper-host-team-status{align-items:stretch;flex-direction:column}.keeper-host-team-status button{width:100%}.recommended-pick-card{grid-template-columns:64px minmax(0,1fr)!important}.recommended-pick-values,.recommended-pick-actions{grid-column:1/-1}.recommendation-reasons span{font-size:.72rem}.all-roster-grid{grid-template-columns:1fr!important}.league-roster-hero{grid-template-columns:50px minmax(0,1fr) auto}.league-roster-logo{width:50px!important;height:50px!important}}

/* v85.1: Let expanded League Rosters cards grow with their player lists.
   The page remains the only scrolling surface, avoiding nested scrollbars. */
.league-roster-player-list {
  max-height: none;
  overflow: visible;
}

.league-roster-details[open],
.league-roster-details[open] .league-roster-player-list {
  overflow: visible;
}


/* v86.1 live draft presentation: informative, not blocking */
.live-draft-presentation{position:fixed;top:18px;left:50%;z-index:1600;width:min(760px,calc(100vw - 32px));pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-14px);transition:opacity .18s ease,transform .22s ease,visibility .18s ease}
.live-draft-presentation.active{opacity:1;visibility:visible;transform:translate(-50%,0)}
.pick-presentation-card{min-height:112px;display:grid;grid-template-columns:82px minmax(0,1fr) 90px;align-items:center;gap:18px;padding:14px 18px;border:1px solid rgba(120,211,255,.48);border-radius:20px;background:linear-gradient(135deg,rgba(8,26,43,.97),rgba(13,59,81,.96));box-shadow:0 18px 48px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.1);overflow:hidden;animation:pickCardIn .32s cubic-bezier(.2,.8,.2,1) both}
.pick-presentation-logo{width:68px;height:68px;font-size:22px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.3))}
.pick-presentation-copy{min-width:0}.pick-presentation-copy span{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:850;color:#7fd7ff;margin-bottom:4px}.pick-presentation-copy strong{display:block;font-size:clamp(23px,3vw,34px);line-height:1.05;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick-presentation-copy small{display:block;margin-top:7px;font-size:14px;color:#c9d9e6}.pick-presentation-player{height:94px;display:flex;align-items:flex-end;justify-content:center}.pick-presentation-player img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,0,0,.3));animation:pickPlayerIn .4s .05s both}.pick-presentation-player b{font-size:34px;color:#fff;align-self:center}
.round-transition-card{display:flex;align-items:center;justify-content:center;gap:14px;min-height:72px;padding:12px 20px;border:1px solid rgba(120,211,255,.45);border-radius:18px;background:linear-gradient(145deg,rgba(10,29,49,.97),rgba(12,71,93,.96));box-shadow:0 16px 42px rgba(0,0,0,.4);animation:roundCardIn .3s cubic-bezier(.2,.8,.2,1) both}.round-transition-card span{letter-spacing:.22em;font-size:12px;font-weight:900;color:#85dcff}.round-transition-card strong{font-size:42px;line-height:1;color:#fff;text-shadow:0 0 24px rgba(60,201,255,.3)}.round-transition-card small{font-size:14px;color:#d2e4ee}
@keyframes pickCardIn{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}@keyframes pickPlayerIn{from{opacity:0;transform:translateX(20px) scale(.94)}to{opacity:1;transform:none}}@keyframes roundCardIn{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
.player-card.drafted-away,.queue-row.drafted-away{animation:draftedAway .34s ease forwards}@keyframes draftedAway{to{opacity:0;transform:translateX(20px) scale(.98)}}
.roster-pick-pulse{animation:rosterPickPulse .65s ease}@keyframes rosterPickPulse{35%{box-shadow:0 0 0 2px rgba(64,213,145,.38),0 14px 34px rgba(21,180,120,.15)}}
.recommendation-refresh{animation:recommendationRefresh .5s ease}@keyframes recommendationRefresh{45%{opacity:.55;transform:translateY(3px)}100%{opacity:1;transform:none}}
.live-draft-active .phase-status-header.on-clock-highlight{box-shadow:0 0 0 1px rgba(74,190,255,.35),0 18px 45px rgba(24,139,210,.14)}
.live-draft-my-turn .phase-status-header{animation:myTurnPulse 1.8s ease-in-out infinite}.live-draft-my-turn #playerList{box-shadow:inset 0 0 0 1px rgba(60,220,150,.16)}@keyframes myTurnPulse{50%{box-shadow:0 0 0 4px rgba(61,224,153,.12),0 20px 55px rgba(32,181,121,.18)}}
.queue-row{transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.queue-row:hover{transform:translateY(-2px)}
@media(max-width:720px){.live-draft-presentation{top:10px;width:calc(100vw - 20px)}.pick-presentation-card{grid-template-columns:58px minmax(0,1fr);min-height:82px;padding:11px 13px;gap:11px;border-radius:16px}.pick-presentation-logo{width:52px;height:52px}.pick-presentation-player{display:none}.pick-presentation-copy strong{font-size:22px}.pick-presentation-copy small{font-size:12px;margin-top:4px}.round-transition-card{min-height:58px;padding:9px 14px;gap:9px}.round-transition-card strong{font-size:32px}.round-transition-card small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.pick-presentation-card,.pick-presentation-player,.round-transition-card,.player-card.drafted-away,.queue-row.drafted-away,.roster-pick-pulse,.recommendation-refresh,.live-draft-my-turn .phase-status-header{animation:none!important;transition:none!important}}}


/* v87 Draft Results */
.draft-complete-panel { position:relative; overflow:hidden; padding:clamp(1rem,2.5vw,1.6rem); display:grid; gap:1.25rem; }
.draft-complete-panel::before { content:""; position:absolute; inset:-35% 45% auto -10%; height:24rem; background:radial-gradient(circle,rgba(141,240,94,.18),transparent 68%); pointer-events:none; }
.draft-complete-trophy { position:absolute; right:clamp(1rem,4vw,4rem); top:.4rem; width:7rem; height:7rem; display:grid; place-items:center; opacity:.16; transform:rotate(7deg); pointer-events:none; }
.draft-complete-trophy span { font-size:5.5rem; filter:drop-shadow(0 0 18px rgba(255,211,91,.45)); }
.draft-complete-trophy i { position:absolute; inset:8%; border:1px solid rgba(255,211,91,.35); border-radius:50%; animation:results-ring 3.2s ease-in-out infinite; }
@keyframes results-ring { 50% { transform:scale(1.13); opacity:.35; } }
.draft-complete-panel.results-reveal { animation:results-panel-reveal .8s cubic-bezier(.2,.8,.2,1) both; }
@keyframes results-panel-reveal { from { opacity:.2; transform:translateY(24px) scale(.985); } to { opacity:1; transform:none; } }
.draft-league-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.55rem; }
.draft-league-summary>div { padding:.72rem; border:1px solid rgba(107,215,255,.2); border-radius:10px; background:rgba(3,20,32,.62); min-width:0; }
.draft-league-summary span { display:block; color:#82a5b8; font-size:.61rem; font-weight:900; letter-spacing:.09em; }
.draft-league-summary strong { display:block; margin-top:.18rem; font-size:1.08rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.draft-awards,.draft-results-teams { display:grid; gap:.7rem; }
.draft-award-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.6rem; }
.draft-award-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:.65rem; padding:.8rem; border:1px solid rgba(255,211,91,.25); border-radius:11px; background:linear-gradient(135deg,rgba(255,211,91,.09),rgba(3,20,32,.72)); animation:award-rise .55s ease both; animation-delay:var(--award-delay); }
@keyframes award-rise { from { opacity:0; transform:translateY(10px); } }
.draft-award-card>span { font-size:1.45rem; }
.draft-award-card small,.draft-award-card strong,.draft-award-card em { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.draft-award-card small { color:#e5ba43; font-size:.62rem; font-weight:900; letter-spacing:.08em; }
.draft-award-card strong { font-size:.95rem; }
.draft-award-card em { color:var(--muted); font-size:.76rem; font-style:normal; }
.draft-award-logo { width:2.25rem; height:2.25rem; }
.draft-result-card { position:relative; transition:transform .18s ease,border-color .18s ease; }
.draft-result-card:hover { transform:translateY(-2px); border-color:rgba(141,240,94,.38); }
.draft-result-card.my-team { border-color:rgba(141,240,94,.5); box-shadow:0 0 0 1px rgba(141,240,94,.12); }
.draft-result-grade { margin-left:auto; display:grid; place-items:center; min-width:2.55rem; height:2.55rem; padding:.2rem; border-radius:50%; color:#06111c; background:linear-gradient(145deg,#dfff75,#78e4a0); font-size:1.05rem; box-shadow:0 6px 18px rgba(141,240,94,.18); }
.draft-result-bars { display:grid; gap:.35rem; }
.draft-result-bars>div>span { display:flex; justify-content:space-between; color:#8eb1c4; font-size:.66rem; font-weight:900; }
.draft-result-bars i { display:block; height:.32rem; overflow:hidden; border-radius:99px; background:rgba(78,118,139,.25); }
.draft-result-bars u { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#34bce7,#8df05e); }
.draft-result-top-pick { color:#9fc0d0; }
@media(max-width:800px){ .draft-league-summary{grid-template-columns:repeat(2,minmax(0,1fr));}.draft-league-summary>div:last-child{grid-column:1/-1}.draft-complete-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.draft-complete-actions .primary{grid-column:1/-1}.draft-complete-trophy{display:none}.draft-award-grid,.draft-result-grid{grid-template-columns:1fr} }
@media(prefers-reduced-motion:reduce){ .draft-complete-trophy i,.draft-award-card,.draft-complete-panel.results-reveal{animation:none!important} }

/* v87.1 Draft Results recap polish */
.player-actions .draft-btn.disabled-action{white-space:normal;overflow-wrap:anywhere;min-height:34px;height:auto;line-height:1.08;padding:.45rem .35rem!important}
.player-action-reason{display:block!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:100%;line-height:1.25;color:#9db6c5;font-size:.68rem;padding:.15rem .1rem 0;overflow-wrap:anywhere}

.draft-complete-panel{padding:0;background:#061827;border-color:rgba(76,195,235,.28);gap:0;overflow:hidden}
.draft-complete-panel::before,.draft-complete-trophy{display:none}
.results-story-hero{position:relative;min-height:330px;padding:clamp(1.35rem,4vw,3.25rem);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:2rem;align-items:end;overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(67,214,255,.22),transparent 28%),radial-gradient(circle at 20% 120%,rgba(118,240,151,.18),transparent 42%),linear-gradient(145deg,#07192a 0%,#0a3145 58%,#081c2b 100%)}
.results-story-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 47%,rgba(255,255,255,.025) 47% 48%,transparent 48% 100%);background-size:28px 28px;opacity:.7;pointer-events:none}
.results-story-copy{position:relative;z-index:2;max-width:720px}.results-story-copy h2{margin:.18rem 0 .7rem;font-size:clamp(3.1rem,8vw,7.4rem);line-height:.84;letter-spacing:-.065em;text-transform:uppercase}.results-story-copy p{max-width:680px;margin:0;color:#c2d8e4;font-size:clamp(.95rem,1.6vw,1.18rem);line-height:1.5}
.results-winner-spotlight{position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:1rem;border:1px solid rgba(170,235,255,.3);border-radius:18px;background:rgba(4,22,34,.72);backdrop-filter:blur(12px);box-shadow:0 18px 55px rgba(0,0,0,.24)}
.results-winner-kicker{grid-column:1/-1;color:#78ddff;font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.results-winner-logo{width:3.5rem;height:3.5rem}.results-winner-spotlight strong,.results-winner-spotlight small{display:block}.results-winner-spotlight strong{font-size:1rem}.results-winner-spotlight small{color:#91abba;margin-top:.18rem}.results-winner-spotlight>b{display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:50%;background:#c5ff73;color:#07121c;font-size:1.25rem;box-shadow:0 0 30px rgba(197,255,115,.22)}
.results-orbit{position:absolute;right:8%;top:8%;width:220px;height:220px;opacity:.18}.results-orbit span{position:absolute;inset:0;display:grid;place-items:center;font-size:5rem}.results-orbit i{position:absolute;inset:10%;border:1px solid rgba(136,226,255,.58);border-radius:50%;animation:resultsOrbit 8s linear infinite}.results-orbit i:nth-child(2){inset:25%;animation-direction:reverse;animation-duration:5s}@keyframes resultsOrbit{to{transform:rotate(360deg)}}
.results-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(105,203,235,.18);border-bottom:1px solid rgba(105,203,235,.18);background:#041522}.results-summary-strip>div{padding:1rem 1.2rem;border-right:1px solid rgba(105,203,235,.14);min-width:0}.results-summary-strip>div:last-child{border-right:0}.results-summary-strip span,.results-summary-strip strong{display:block}.results-summary-strip span{color:#7398aa;font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.results-summary-strip strong{margin-top:.22rem;font-size:1.05rem;white-space:normal;overflow-wrap:anywhere}
.results-section{padding:clamp(1.25rem,3vw,2.4rem);gap:1rem}.results-section+.results-section{border-top:1px solid rgba(105,203,235,.16)}.results-section-heading{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start}.results-section-heading>span{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:1px solid rgba(104,213,255,.34);border-radius:50%;color:#72dfff;font-weight:900;font-size:.72rem}.results-section-heading h3{margin:.15rem 0 .22rem;font-size:clamp(1.45rem,2.5vw,2.15rem)}.results-section-heading p{margin:0;color:#8faebe}
.draft-award-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.draft-award-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"icon logo" "label logo" "team team" "detail detail";align-content:end;min-height:172px;padding:1.05rem;border-radius:16px;overflow:hidden;background:linear-gradient(150deg,rgba(11,54,73,.98),rgba(4,21,34,.98));border:1px solid rgba(104,210,245,.22);box-shadow:none}.draft-award-card::before{content:"";position:absolute;inset:auto -20% -55% 20%;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(94,224,255,.18),transparent 68%)}.draft-award-icon{grid-area:icon;font-size:1.65rem}.draft-award-card>small{grid-area:label;color:#75dfff;font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-top:.7rem}.draft-award-card>strong{grid-area:team;margin-top:.22rem;font-size:1.18rem;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip}.draft-award-card>em{grid-area:detail;margin-top:.35rem;color:#afc6d2;font-size:.8rem;font-style:normal;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.draft-award-logo{grid-area:logo;width:3rem;height:3rem;align-self:start;justify-self:end;opacity:.9}.draft-award-card.award-1{background:linear-gradient(145deg,rgba(49,72,35,.98),rgba(7,29,31,.98));border-color:rgba(196,255,110,.32)}
.draft-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.85rem}.draft-result-card{position:relative;padding:1rem;border-radius:16px;background:linear-gradient(145deg,rgba(8,35,51,.98),rgba(4,20,31,.98));border:1px solid rgba(99,197,231,.2);overflow:hidden}.draft-result-card::after{content:"";position:absolute;right:-25px;top:-35px;width:105px;height:105px;border:1px solid rgba(105,218,255,.12);border-radius:50%}.draft-result-rank{position:absolute;right:.75rem;top:.65rem;color:rgba(137,216,240,.18);font-size:2.7rem;font-weight:950;letter-spacing:-.06em}.draft-result-card.my-team{border-color:rgba(134,244,111,.55);box-shadow:inset 0 0 0 1px rgba(134,244,111,.1)}.draft-result-head{position:relative;z-index:1;padding-right:3.7rem}.draft-result-grade{position:absolute;right:0;top:2.9rem}.draft-result-metrics>div strong{white-space:normal;overflow-wrap:anywhere}.draft-result-bars i{height:.42rem}.draft-result-bars u{background:linear-gradient(90deg,#27b9e8,#8af26a);transition:width .8s cubic-bezier(.2,.8,.2,1)}.draft-result-recap{min-height:2.6em;margin:.75rem 0;color:#c2d5df;line-height:1.35;white-space:normal;overflow:visible}.draft-result-top-pick{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:center;padding-top:.7rem;border-top:1px solid rgba(103,196,226,.16);white-space:normal}.draft-result-top-pick span{color:#799bae;text-transform:uppercase;font-size:.6rem;font-weight:900;letter-spacing:.08em}.draft-result-top-pick b{overflow-wrap:anywhere}.draft-result-top-pick em{color:#73e2ff;font-style:normal;font-weight:800}
.results-export-section{background:linear-gradient(180deg,rgba(4,20,32,.1),rgba(8,42,57,.42))}.results-export-section .draft-complete-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.35rem}.results-export-section .draft-complete-actions button{min-height:44px}.results-export-section .draft-complete-actions .primary{min-width:210px}
@media(max-width:950px){.results-story-hero{grid-template-columns:1fr;min-height:300px}.results-winner-spotlight{max-width:520px}.draft-award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.results-summary-strip>div:nth-child(3){border-right:0}.results-summary-strip>div:nth-child(n+4){border-top:1px solid rgba(105,203,235,.14)}}
@media(max-width:620px){.results-story-hero{padding:1.25rem;min-height:360px;align-content:end}.results-story-copy h2{font-size:3.6rem}.results-orbit{right:-45px;top:20px}.results-winner-spotlight{grid-template-columns:auto minmax(0,1fr) auto}.results-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.results-summary-strip>div{border-top:1px solid rgba(105,203,235,.12)}.results-summary-strip>div:nth-child(odd){border-right:1px solid rgba(105,203,235,.14)}.results-summary-strip>div:nth-child(even){border-right:0}.results-summary-strip>div:last-child{grid-column:1/-1}.draft-award-grid,.draft-result-grid{grid-template-columns:1fr}.draft-award-card{min-height:150px}.results-section{padding:1.15rem}.results-section-heading{gap:.7rem}.results-export-section .draft-complete-actions{display:grid;grid-template-columns:1fr 1fr}.results-export-section .draft-complete-actions .primary,.results-export-section .draft-complete-actions button:last-child{grid-column:1/-1}.player-actions .draft-btn.disabled-action{font-size:.7rem!important}}
@media(prefers-reduced-motion:reduce){.results-orbit i,.draft-award-card,.draft-complete-panel.results-reveal,.draft-result-bars u{animation:none!important;transition:none!important}}


/* v87.2 results layout and completed free-agent polish */
.draft-award-card { isolation:isolate; }
.draft-award-card > *:not(.draft-award-watermark) { position:relative; z-index:2; }
.draft-award-watermark {
  position:absolute !important;
  right:-1.4rem;
  bottom:-1.65rem;
  width:9.5rem !important;
  height:9.5rem !important;
  opacity:.105 !important;
  filter:saturate(.9) drop-shadow(0 0 20px rgba(95,220,255,.12));
  transform:rotate(-7deg);
  pointer-events:none;
  z-index:1;
}
.draft-award-watermark img { width:100%; height:100%; object-fit:contain; }
.draft-award-watermark:has(img[src*="TBL_light.svg"]) {
  opacity:.2 !important;
  filter:brightness(1.55) saturate(1.18) drop-shadow(0 0 24px rgba(116,225,255,.2));
}

/* v90.58 golden highest-grade draft award */
.draft-award-card.draft-award-highest-grade {
  border-color:rgba(255,203,72,.62);
  background:
    radial-gradient(circle at 82% 12%,rgba(255,226,116,.2),transparent 34%),
    linear-gradient(145deg,rgba(111,78,22,.92) 0%,rgba(27,63,45,.94) 54%,rgba(5,23,33,.98) 100%);
  box-shadow:inset 0 1px rgba(255,238,181,.18),0 18px 42px rgba(148,94,18,.16);
}
.draft-award-card.draft-award-highest-grade::before {
  background:radial-gradient(circle,rgba(255,207,70,.32),transparent 68%);
}
.draft-award-card.draft-award-highest-grade::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,243,168,.16),transparent 38%,rgba(255,194,67,.08) 72%,transparent 100%);
}
.draft-award-card.draft-award-highest-grade .draft-award-icon {
  color:#ffd867;
  text-shadow:0 0 18px rgba(255,201,65,.35);
}
.draft-award-card.draft-award-highest-grade > small {
  color:#ffdd76;
}
.draft-award-card.draft-award-highest-grade > strong {
  color:#fff6dc;
}
.draft-award-card.draft-award-highest-grade > em {
  color:#ffe59c;
  font-weight:850;
}
.draft-award-card.draft-award-highest-grade .draft-award-watermark {
  opacity:.15 !important;
  filter:brightness(1.12) saturate(1.06) sepia(.22) drop-shadow(0 0 22px rgba(255,206,79,.14));
}
.draft-result-head {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  padding-right:3.2rem;
}
.draft-result-head > div { min-width:0; }
.draft-result-grade {
  position:static !important;
  grid-column:3;
  grid-row:1;
  margin-left:.35rem;
  align-self:center;
  z-index:3;
}
.draft-result-rank { z-index:0; }
.draft-result-metrics { grid-template-columns:minmax(0,.85fr) minmax(110px,1.25fr) minmax(0,1fr); }
.draft-result-metrics > div { min-height:62px; }
.draft-result-metrics strong {
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  line-height:1.15;
}
.draft-result-metrics > div:nth-child(2) strong { font-size:.9rem; }
@media (max-width:1180px) and (min-width:621px) {
  .draft-result-grid { grid-template-columns:repeat(2,minmax(300px,1fr)); }
}
@media (max-width:620px) {
  .draft-result-head { padding-right:2.8rem; }
  .draft-result-metrics { grid-template-columns:1fr 1fr; }
  .draft-result-metrics > div:last-child { grid-column:1/-1; }
  .draft-award-watermark { width:8rem !important; height:8rem !important; right:-1rem; bottom:-1.2rem; }
}

/* v87.3 rapid-pick presentation */
.pick-burst-card{min-height:100px;display:grid;grid-template-columns:92px minmax(0,1fr) 70px;align-items:center;gap:16px;padding:14px 18px;border:1px solid rgba(120,211,255,.48);border-radius:20px;background:linear-gradient(135deg,rgba(8,26,43,.98),rgba(13,59,81,.97));box-shadow:0 18px 48px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.1);overflow:hidden;animation:pickCardIn .32s cubic-bezier(.2,.8,.2,1) both}
.pick-burst-count{display:grid;place-items:center;align-content:center;min-height:68px;border:1px solid rgba(116,222,255,.28);border-radius:16px;background:rgba(5,22,36,.56)}
.pick-burst-count strong{font-size:34px;line-height:1;color:#7fe2ff}.pick-burst-count span{margin-top:5px;font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#b7d3df}
.pick-burst-copy{min-width:0}.pick-burst-copy>span{display:block;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#80dfff}.pick-burst-copy strong{display:block;margin-top:5px;font-size:24px;line-height:1.1;color:#fff;white-space:normal}.pick-burst-copy small{display:block;margin-top:6px;color:#c1d8e4;white-space:normal}
.pick-burst-team{display:grid;place-items:center}.pick-burst-team .pick-presentation-logo{width:58px;height:58px}
@media(max-width:720px){.pick-burst-card{grid-template-columns:66px minmax(0,1fr);min-height:82px;padding:11px 13px;gap:11px;border-radius:16px}.pick-burst-count{min-height:58px}.pick-burst-count strong{font-size:27px}.pick-burst-copy strong{font-size:18px}.pick-burst-copy small{font-size:11px}.pick-burst-team{display:none}}
@media(prefers-reduced-motion:reduce){.pick-burst-card{animation:none!important}}


/* v88 replay, statistics and comparison */
.pick-value-chart{display:grid;gap:.65rem}.pick-value-row{display:grid;grid-template-columns:28px 42px minmax(180px,1.2fr) minmax(160px,2fr) 48px;align-items:center;gap:.7rem;padding:.75rem .85rem;border:1px solid rgba(102,202,235,.18);border-radius:13px;background:rgba(5,25,38,.7)}.pick-value-rank{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(100,215,255,.12);font-weight:900;color:#79ddff}.pick-value-logo{width:38px;height:38px}.pick-value-team{min-width:0}.pick-value-team strong,.pick-value-team small{display:block}.pick-value-team small{margin-top:.18rem;color:#87a9b9;white-space:normal}.pick-value-track{height:9px;border-radius:999px;background:#0b3144;overflow:hidden}.pick-value-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#35bfe8,#91f36e)}.pick-value-track i.negative{background:linear-gradient(90deg,#ee8c55,#e85d6d)}.pick-value-row>b{color:#8cf276;text-align:right}.pick-value-row>b.negative{color:#ff8b91}
.results-timeline-preview{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .8rem}.timeline-round{grid-column:1/-1;padding:.5rem 0 .1rem;border-bottom:1px solid rgba(102,202,235,.18);color:#72dfff;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.timeline-pick{display:grid;grid-template-columns:42px 38px minmax(0,1fr);align-items:center;gap:.6rem;padding:.65rem;border-radius:12px;background:rgba(5,28,42,.72);border:1px solid rgba(101,199,230,.15)}.timeline-number{color:#74dfff;font-weight:900}.timeline-logo{width:34px;height:34px}.timeline-pick strong,.timeline-pick small{display:block}.timeline-pick small{margin-top:.15rem;color:#87a7b7;white-space:normal}.timeline-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.draft-replay-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:rgba(1,8,14,.82);backdrop-filter:blur(12px)}.draft-replay-overlay.hidden{display:none}.draft-replay-shell{position:relative;width:min(760px,96vw);border:1px solid rgba(106,218,255,.4);border-radius:24px;background:linear-gradient(145deg,#071f31,#0b3f58);box-shadow:0 28px 90px rgba(0,0,0,.55);overflow:hidden}.draft-replay-close{position:absolute;right:14px;top:12px;z-index:2;width:42px;height:42px;border-radius:50%;font-size:1.5rem}.draft-replay-stage{min-height:430px;display:grid;place-items:center;padding:3rem}.replay-card{display:grid;justify-items:center;text-align:center;gap:.85rem;width:100%}.replay-round{color:#74dcff;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.replay-team-logo{width:110px;height:110px}.replay-card>span{color:#9ebdca;font-size:1.05rem}.replay-player{display:flex;align-items:center;gap:1rem;padding:1rem 1.35rem;border-radius:18px;background:rgba(2,15,26,.55);border:1px solid rgba(119,217,250,.22)}.replay-player img{width:92px;height:92px;object-fit:contain}.replay-player strong{display:block;font-size:2rem}.replay-player small{display:block;margin-top:.3rem;color:#a8c5d2}.draft-replay-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;border-top:1px solid rgba(105,203,235,.2);background:rgba(3,17,28,.7)}.draft-replay-controls label{display:flex;align-items:center;gap:.45rem}.draft-replay-controls select{min-height:40px}.comparison-versus>div small{display:block;color:#789caf;margin-top:.18rem}.comparison-metrics.enhanced em{display:block;margin-top:.12rem;color:#789caf;font-size:.65rem;font-style:normal}.comparison-metrics .metric-lead{color:#91f36e;text-shadow:0 0 16px rgba(145,243,110,.2)}
@media(max-width:720px){.pick-value-row{grid-template-columns:26px 36px minmax(0,1fr) 42px}.pick-value-track{grid-column:3/5}.pick-value-logo{width:34px;height:34px}.results-timeline-preview{grid-template-columns:1fr}.draft-replay-stage{min-height:360px;padding:2rem 1rem}.replay-team-logo{width:82px;height:82px}.replay-player{width:100%;padding:.8rem}.replay-player img{width:70px;height:70px}.replay-player strong{font-size:1.35rem}.draft-replay-controls{flex-wrap:wrap}}

/* v88.1 focused recap, explore views and narrated replay */
.results-explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.results-explore-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:145px;padding:1.15rem;text-align:left;border:1px solid rgba(106,211,245,.25);border-radius:18px;background:linear-gradient(145deg,rgba(8,38,54,.92),rgba(5,24,38,.96));color:#fff}.results-explore-card:hover{transform:translateY(-2px);border-color:rgba(112,224,255,.55)}.results-explore-card>span{font-size:2rem}.results-explore-card small{display:block;color:#74dfff;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.results-explore-card strong{display:block;margin-top:.3rem;font-size:1.2rem}.results-explore-card p{margin:.4rem 0 0;color:#9dbac8;white-space:normal}.results-explore-card>b{color:#73e2ff;white-space:nowrap}
.draft-explore-overlay{position:fixed;inset:0;z-index:9999;padding:1rem;background:rgba(1,8,14,.86);backdrop-filter:blur(12px)}.draft-explore-overlay.hidden{display:none}.draft-explore-shell{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);height:min(92vh,900px);margin:auto;border:1px solid rgba(106,218,255,.38);border-radius:24px;background:linear-gradient(145deg,#071d2d,#092f43);box-shadow:0 28px 90px rgba(0,0,0,.6);overflow:hidden}.draft-explore-shell>header{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;border-bottom:1px solid rgba(105,203,235,.2)}.draft-explore-shell h2{margin:.2rem 0}.draft-explore-shell p{margin:0;color:#9db8c5}.draft-explore-close{align-self:start}.draft-explore-body{overflow:auto;padding:1.25rem}.results-timeline-preview.full{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-replay-action{position:sticky;top:-1.25rem;z-index:3;padding:.75rem 0 1rem;background:linear-gradient(#082b3e 70%,transparent)}
.pick-value-explainer{padding:1rem 1.1rem;margin-bottom:1rem;border:1px solid rgba(115,224,255,.24);border-radius:15px;background:rgba(5,25,38,.72)}.pick-value-explainer strong{font-size:1.05rem}.pick-value-explainer p{margin:.35rem 0;color:#a9c2ce;white-space:normal}.pick-value-explainer>div{display:flex;flex-wrap:wrap;gap:1rem;font-weight:800}.value-positive{color:#90ef75}.value-negative{color:#ff8b91}.pick-value-team em{display:block;margin-top:.18rem;color:#bfd2db;font-size:.72rem;font-style:normal;white-space:normal}
.replay-story{max-width:580px;padding:.8rem 1rem;border:1px solid rgba(112,220,255,.2);border-radius:15px;background:rgba(3,18,30,.5)}.replay-story>span{color:#73ddff;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.replay-story h3{margin:.25rem 0;font-size:1.5rem}.replay-story p{margin:0;color:#abc3ce;white-space:normal}
@media(max-width:720px){.results-explore-grid{grid-template-columns:1fr}.results-explore-card{grid-template-columns:auto minmax(0,1fr);min-height:130px}.results-explore-card>b{grid-column:2}.draft-explore-overlay{padding:0}.draft-explore-shell{height:100dvh;border-radius:0}.draft-explore-shell>header{padding:1rem}.draft-explore-body{padding:1rem}.results-timeline-preview.full{grid-template-columns:1fr}.pick-value-row{grid-template-columns:26px 36px minmax(0,1fr) 42px}.pick-value-team em{grid-column:1/-1}.replay-story h3{font-size:1.2rem}}

/* v88.2 Draft Movie and plain-language value grades */
.value-grade-explainer .value-neutral{color:#79ddff}.pick-value-grade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.pick-value-grade-card{position:relative;display:grid;grid-template-columns:34px 46px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:1rem;border:1px solid rgba(111,218,250,.22);border-radius:17px;background:linear-gradient(145deg,rgba(7,34,49,.96),rgba(5,23,35,.96));overflow:hidden}.pick-value-grade-card:after{content:"";position:absolute;inset:auto -15% -55% 25%;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(67,208,250,.12),transparent 68%);pointer-events:none}.pick-value-grade-card.tone-elite,.pick-value-grade-card.tone-great{border-color:rgba(142,241,111,.42)}.pick-value-grade-card.tone-reach{border-color:rgba(255,132,139,.35)}.pick-value-card-rank{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(101,215,250,.13);color:#7adeff;font-weight:900}.pick-value-card-copy{min-width:0}.pick-value-card-copy small,.pick-value-card-copy strong,.pick-value-card-copy span{display:block}.pick-value-card-copy small{font-size:.62rem;letter-spacing:.08em;color:#72d8fa;font-weight:900}.pick-value-card-copy strong{font-size:1rem;margin-top:.12rem}.pick-value-card-copy span{color:#a9c5d1;margin-top:.12rem}.pick-value-letter{font-size:2rem;line-height:1;color:#9af67c}.tone-reach .pick-value-letter{color:#ff989e}.pick-value-percent{grid-column:2/4;display:flex;align-items:baseline;gap:.4rem}.pick-value-percent strong{font-size:1.35rem}.pick-value-percent span{color:#86a8b8;font-size:.72rem}.pick-value-counts{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.pick-value-counts span{padding:.3rem .5rem;border-radius:999px;background:rgba(93,198,231,.1);font-size:.68rem;color:#a9c8d4}.pick-value-grade-card>p{grid-column:2/-1;margin:0;color:#b5cbd5;font-size:.75rem;line-height:1.45}
.draft-movie-launch{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.25rem 1.35rem;border:1px solid rgba(107,219,255,.32);border-radius:18px;background:linear-gradient(135deg,rgba(12,62,84,.96),rgba(8,31,47,.96));box-shadow:0 16px 42px rgba(0,0,0,.24)}.draft-movie-launch small{color:#7fe3ff;font-weight:900;letter-spacing:.09em}.draft-movie-launch h3{margin:.2rem 0;font-size:1.45rem}.draft-movie-launch p{margin:0;color:#a8c1cc}.timeline-details{margin-top:1rem;border:1px solid rgba(107,205,238,.2);border-radius:15px;background:rgba(4,22,34,.62)}.timeline-details summary{cursor:pointer;padding:1rem 1.1rem;font-weight:900;color:#aee9ff}.timeline-details[open] summary{border-bottom:1px solid rgba(107,205,238,.16)}.timeline-details .results-timeline-preview{padding:1rem}
.draft-movie-shell{width:min(1180px,97vw);height:min(94vh,920px);background:linear-gradient(145deg,#04131f,#072c41 58%,#0a4156);border-color:rgba(101,223,255,.48)}.draft-movie-stage{min-height:0;height:calc(100% - 72px);padding:0}.draft-movie-frame{position:relative;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);grid-template-rows:auto 1fr auto;gap:1.2rem;width:100%;height:100%;padding:2.2rem 2.4rem 1.5rem;overflow:hidden}.draft-movie-frame:before{content:"";position:absolute;width:520px;height:520px;left:-180px;bottom:-280px;border:1px solid rgba(105,224,255,.12);border-radius:50%;box-shadow:0 0 0 90px rgba(105,224,255,.03),0 0 0 180px rgba(105,224,255,.025)}.draft-movie-frame.event-leader{background:radial-gradient(circle at 18% 28%,rgba(138,241,106,.16),transparent 34%)}.draft-movie-frame.event-steal{background:radial-gradient(circle at 18% 28%,rgba(76,218,255,.18),transparent 34%)}.draft-movie-frame.event-reach{background:radial-gradient(circle at 18% 28%,rgba(255,126,112,.15),transparent 34%)}.draft-movie-frame.event-final{background:radial-gradient(circle at 18% 28%,rgba(255,213,82,.2),transparent 38%)}.movie-topline{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;color:#75dbfb;font-weight:900;letter-spacing:.12em;font-size:.7rem}.movie-story{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.movie-story>small{color:#78ddff;font-weight:900;letter-spacing:.12em}.movie-story h2{margin:.5rem 0 .55rem;font-size:clamp(2rem,4.5vw,4.25rem);line-height:.95;max-width:660px}.movie-story p{max-width:560px;margin:0;color:#b1cad5;font-size:1.08rem;line-height:1.55}.movie-pick-chip{display:flex;align-items:center;gap:.7rem;margin-top:1.3rem;padding:.65rem .85rem;border:1px solid rgba(121,218,248,.24);border-radius:15px;background:rgba(2,14,23,.48)}.movie-pick-chip .movie-pick-logo{width:38px;height:38px}.movie-pick-chip>img{width:48px;height:48px;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.05)}.movie-pick-chip strong,.movie-pick-chip span{display:block}.movie-pick-chip span{color:#8faeba;font-size:.75rem}.movie-race{position:relative;z-index:1;align-self:center;padding:1rem;border:1px solid rgba(109,215,248,.2);border-radius:20px;background:rgba(2,17,27,.64);box-shadow:0 22px 54px rgba(0,0,0,.32)}.movie-race-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.65rem;color:#84dffb;font-size:.68rem;font-weight:900;letter-spacing:.1em}.movie-race-heading b{color:#9af57b}.movie-race-row{display:grid;grid-template-columns:28px 34px minmax(105px,1fr) minmax(120px,2fr) 46px 62px;align-items:center;gap:.5rem;min-height:48px;padding:.38rem .45rem;border-radius:11px}.movie-race-row+.movie-race-row{margin-top:.18rem}.movie-race-row.leader{background:linear-gradient(90deg,rgba(146,244,113,.15),rgba(146,244,113,.02));box-shadow:inset 3px 0 #9af579}.movie-rank{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(105,216,248,.11);font-weight:900}.movie-race-logo{width:30px;height:30px}.movie-race-row>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.movie-race-row i{height:9px;border-radius:999px;background:#0c3244;overflow:hidden}.movie-race-row i u{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#31c3ee,#8cf475);transition:width .45s ease}.movie-race-row>b{text-align:right;color:#dff8ff}.movie-race-row em{font-style:normal;font-size:.58rem;color:#9af579;font-weight:900}.movie-progress{grid-column:1/-1;align-self:end;height:5px;border-radius:999px;background:rgba(124,219,247,.12);overflow:hidden}.movie-progress i{display:block;height:100%;background:linear-gradient(90deg,#2cc5f5,#99f377);transition:width .35s ease}.draft-movie-shell .draft-replay-controls{height:72px}
@media(max-width:820px){.pick-value-grade-grid{grid-template-columns:1fr}.draft-movie-launch{align-items:stretch;flex-direction:column}.draft-movie-launch button{width:100%}.draft-movie-shell{width:100vw;height:100dvh;border-radius:0}.draft-movie-frame{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto;padding:1.4rem 1rem 1rem;gap:.8rem}.movie-story h2{font-size:clamp(1.8rem,10vw,3rem)}.movie-story p{font-size:.9rem}.movie-race{align-self:stretch;overflow:auto}.movie-race-row{grid-template-columns:25px 30px minmax(90px,1fr) minmax(90px,1.5fr) 42px}.movie-race-row em{display:none}.movie-topline{font-size:.58rem}.movie-pick-chip{margin-top:.75rem}.draft-movie-shell .draft-replay-controls{height:auto;min-height:68px}.draft-movie-stage{height:calc(100% - 76px)}}


/* v88.3 cap-aware strategy grades and standings-race polish */
.pick-value-components{grid-column:2/4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.pick-value-components>div{padding:.55rem .65rem;border:1px solid rgba(105,210,242,.16);border-radius:11px;background:rgba(4,20,31,.46)}.pick-value-components strong,.pick-value-components span{display:block}.pick-value-components strong{font-size:1.18rem}.pick-value-components span{margin-top:.1rem;color:#8fb0be;font-size:.68rem}.movie-race-row.my-team{outline:2px solid rgba(56,202,244,.78);background:linear-gradient(90deg,rgba(43,194,236,.22),rgba(43,194,236,.04));box-shadow:0 0 22px rgba(43,194,236,.14)}.movie-race-row.moved-up em{color:#9af579}.movie-race-row.moved-down em{color:#ff9299}.movie-race-row.held em{color:#86a8b8}.movie-race-row em{display:block;text-align:right}.movie-export-button{margin-left:auto}.draft-replay-controls{flex-wrap:wrap}.draft-replay-controls .movie-export-button{min-width:130px}@media(max-width:820px){.pick-value-components{grid-column:1/-1}.movie-export-button{width:100%;margin-left:0}.draft-replay-controls{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.movie-race-row.my-team{outline-width:1px}}


/* v88.4 League Personalities + Draft Movie */
.league-personality-intro{padding:1.35rem 1.45rem;margin-bottom:1rem;border:1px solid rgba(107,219,255,.28);border-radius:20px;background:radial-gradient(circle at 92% 15%,rgba(71,215,255,.16),transparent 30%),linear-gradient(135deg,#09283a,#061923)}
.league-personality-intro>span{color:#7fe4ff;font-size:.7rem;font-weight:950;letter-spacing:.13em}.league-personality-intro h3{margin:.25rem 0 .35rem;font-size:clamp(1.7rem,3vw,2.7rem)}.league-personality-intro p{margin:0;max-width:760px;color:#a9c2cd;line-height:1.55}
.league-personality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.league-personality-card{position:relative;overflow:hidden;padding:1.15rem;border:1px solid rgba(99,205,238,.25);border-radius:20px;background:linear-gradient(145deg,rgba(6,30,43,.98),rgba(8,44,58,.94));box-shadow:0 16px 38px rgba(0,0,0,.18)}.league-personality-card.my-team{border-color:#7feaff;box-shadow:0 0 0 2px rgba(74,213,255,.16),0 18px 44px rgba(0,0,0,.24)}.personality-watermark{position:absolute;right:-.1rem;bottom:-1.1rem;font-size:8.5rem;opacity:.055;filter:saturate(.7);transform:rotate(-8deg)}.personality-rank{position:absolute;right:1rem;top:1rem;color:rgba(143,220,243,.42);font-size:2rem;font-weight:950}.league-personality-card header{position:relative;display:flex;align-items:center;gap:.75rem;padding-right:3.2rem}.personality-logo{width:46px;height:46px}.league-personality-card header div{min-width:0;flex:1}.league-personality-card header small,.league-personality-card header strong{display:block}.league-personality-card header small{color:#74ddfc;font-size:.62rem;font-weight:950;letter-spacing:.11em}.league-personality-card header strong{font-size:1.05rem}.league-personality-card header>b{display:grid;place-items:center;min-width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#b0ff79,#65e6b5);color:#062330;font-size:1.5rem;box-shadow:0 8px 24px rgba(107,238,165,.18)}.league-personality-card section{position:relative;display:flex;align-items:center;gap:1rem;margin:1.1rem 0;padding:1rem;border-radius:16px;background:rgba(1,16,26,.46);border:1px solid rgba(112,216,248,.16)}.personality-icon{font-size:2.3rem}.league-personality-card section h4{margin:0 0 .2rem;font-size:1.25rem}.league-personality-card section p{margin:0;color:#a9c2cc;font-size:.82rem;line-height:1.45}.personality-grades{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.personality-grades>div{min-width:0;padding:.7rem;border:1px solid rgba(104,207,239,.17);border-radius:13px;background:rgba(2,18,28,.55)}.personality-grades span,.personality-grades b{display:block}.personality-grades span{color:#83aeba;font-size:.55rem;font-weight:900;letter-spacing:.07em}.personality-grades b{margin-top:.15rem;font-size:1.25rem}.personality-grades .overall{border-color:rgba(145,244,111,.36);background:rgba(111,225,128,.08)}.league-personality-card footer{position:relative;display:flex;justify-content:space-between;gap:.7rem;margin-top:.9rem;color:#8fb1bd;font-size:.7rem}.league-personality-card footer em{font-style:normal;text-align:right}
.draft-movie-shell{grid-template-rows:74px 1fr 72px}.draft-movie-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.35rem;border-bottom:1px solid rgba(111,218,249,.18);background:rgba(2,16,26,.74)}.draft-movie-header small{display:block;color:#6edafa;font-size:.62rem;font-weight:950;letter-spacing:.12em}.draft-movie-header h2{margin:.1rem 0 0;font-size:1.45rem}.draft-movie-header .draft-replay-close{position:static;flex:0 0 auto;min-width:74px;height:42px;border-radius:12px;background:#0e3850;color:#eafaff}.draft-movie-stage{height:auto}.draft-movie-frame{padding:1.7rem 2.2rem 1.25rem}.movie-player-card{position:relative;display:grid;grid-template-columns:62px 118px minmax(0,1fr) 86px;align-items:center;gap:1rem;width:min(620px,100%);margin-top:1.35rem;padding:.85rem 1rem;border:1px solid rgba(113,220,252,.35);border-radius:22px;background:linear-gradient(135deg,rgba(5,35,50,.95),rgba(7,62,78,.9));box-shadow:0 20px 52px rgba(0,0,0,.32)}.movie-card-team-logo{width:54px;height:54px}.movie-player-portrait{height:112px;border-radius:17px;overflow:hidden;background:radial-gradient(circle at 50% 30%,rgba(124,228,255,.18),rgba(3,20,31,.75));display:grid;place-items:center}.movie-player-portrait img{width:100%;height:100%;object-fit:contain}.movie-player-info{min-width:0}.movie-player-info span,.movie-player-info strong,.movie-player-info em{display:block}.movie-player-info span{color:#79ddfa;font-size:.7rem;font-weight:900;letter-spacing:.08em}.movie-player-info strong{margin:.2rem 0;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.05}.movie-player-info em{color:#a7c5d0;font-style:normal}.movie-player-card>b{font-size:2.45rem;line-height:.8;color:#91f476;text-align:center}.movie-player-card>b small{display:block;margin-top:.35rem;color:#99beca;font-size:.55rem;letter-spacing:.1em}.movie-story h2{font-size:clamp(2.2rem,4vw,4.5rem)}
@media(max-width:900px){.league-personality-grid{grid-template-columns:1fr}.personality-grades{grid-template-columns:repeat(2,minmax(0,1fr))}.draft-movie-shell{grid-template-rows:68px 1fr auto}.draft-movie-header{padding:.75rem 1rem}.draft-movie-header h2{font-size:1.1rem}.draft-movie-frame{padding:1rem}.movie-player-card{grid-template-columns:44px 78px minmax(0,1fr) 60px;gap:.65rem;padding:.65rem}.movie-card-team-logo{width:40px;height:40px}.movie-player-portrait{height:78px}.movie-player-info strong{font-size:1.1rem}.movie-player-card>b{font-size:1.75rem}.league-personality-card footer{flex-direction:column}.league-personality-card footer em{text-align:left}}

.draft-movie-shell{display:grid!important}.draft-movie-frame.event-swing{background:radial-gradient(circle at 18% 28%,rgba(177,105,255,.18),transparent 36%)}.draft-movie-frame.event-run{background:radial-gradient(circle at 18% 28%,rgba(255,172,72,.16),transparent 36%)}.draft-movie-frame.event-star{background:radial-gradient(circle at 18% 28%,rgba(255,95,180,.14),transparent 36%)}.draft-movie-frame.event-round{background:radial-gradient(circle at 18% 28%,rgba(92,153,255,.15),transparent 36%)}

/* v88.5 personality and Draft Movie polish */
.draft-explore-overlay.personality-mode{padding:.45rem}
.draft-explore-overlay.personality-mode .draft-explore-shell{width:min(1480px,99vw);height:min(97vh,980px)}
.draft-explore-overlay.personality-mode .draft-explore-body{padding:1rem 1.15rem 1.2rem;overflow:auto;scrollbar-width:none}
.draft-explore-overlay.personality-mode .draft-explore-body::-webkit-scrollbar{display:none}
.draft-explore-overlay.personality-mode .league-personality-intro{padding:1rem 1.2rem;margin-bottom:.8rem}
.draft-explore-overlay.personality-mode .league-personality-intro h3{font-size:clamp(1.45rem,2.2vw,2.2rem)}
.draft-explore-overlay.personality-mode .league-personality-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:.8rem}
.draft-explore-overlay.personality-mode .league-personality-card{padding:.9rem}
.draft-explore-overlay.personality-mode .league-personality-card section{margin:.75rem 0;padding:.75rem}
.personality-grades{align-items:stretch}
.personality-grades>div{display:grid;grid-template-rows:minmax(2.1rem,auto) 1fr;align-items:center;text-align:center}
.personality-grades span{display:flex;align-items:center;justify-content:center;min-height:2.1rem;line-height:1.15}
.personality-grades b{align-self:end;line-height:1}
.draft-movie-frame{grid-template-columns:minmax(470px,1.08fr) minmax(390px,.92fr)}
.movie-player-card{grid-template-columns:54px 104px minmax(0,1fr) 72px;width:100%;max-width:600px;gap:.8rem}
.movie-player-info strong{overflow-wrap:anywhere;word-break:normal;max-width:100%}
.movie-player-card>b{position:relative;z-index:2;min-width:0}
@media(max-width:1050px){
  .draft-movie-frame{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:auto}
  .movie-story{justify-content:flex-start}
  .movie-player-card{max-width:none}
  .movie-race{align-self:stretch}
}
@media(max-width:620px){
  .movie-player-card{grid-template-columns:42px 76px minmax(0,1fr);grid-template-areas:"team portrait info" "overall overall overall"}
  .movie-card-team-logo{grid-area:team}.movie-player-portrait{grid-area:portrait}.movie-player-info{grid-area:info}
  .movie-player-card>b{grid-area:overall;display:flex;justify-content:flex-end;align-items:baseline;gap:.35rem;padding-top:.25rem;border-top:1px solid rgba(113,220,252,.18)}
  .movie-player-card>b small{display:inline;margin:0}
}

/* v88.7 story mix and personality grade label fit */
.personality-grades span {
  white-space: normal;
  overflow-wrap: normal;
  word-break: keep-all;
  font-size: clamp(.49rem, .68vw, .58rem);
}
.personality-grades > div {
  padding-inline: .5rem;
}
@media (max-width: 520px) {
  .personality-grades span { font-size: .54rem; }
}

/* v88.12 Draft Movie cleanup */
.draft-movie-header{
  min-width:0;
}
.draft-movie-title-wrap{
  min-width:0;
  flex:1 1 auto;
}
.draft-movie-title-wrap h2{
  overflow-wrap:anywhere;
}
.draft-movie-header .draft-replay-close{
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  flex:0 0 auto;
  min-width:142px;
  height:44px;
  padding:0 1rem;
  border:1px solid rgba(111,218,249,.34);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(18,66,90,.96),rgba(8,43,62,.96));
  color:#eefbff;
  font-weight:850;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.draft-movie-header .draft-replay-close span{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(111,218,249,.13);
  font-size:1.15rem;
  line-height:1;
}
.draft-movie-header .draft-replay-close b{
  font:inherit;
  white-space:nowrap;
}
.draft-movie-header .draft-replay-close:hover{
  transform:translateY(-1px);
  border-color:rgba(111,218,249,.75);
  background:linear-gradient(180deg,rgba(24,82,108,.98),rgba(10,51,72,.98));
  box-shadow:0 13px 30px rgba(0,0,0,.28);
}
.draft-movie-header .draft-replay-close:focus-visible{
  outline:3px solid rgba(111,218,249,.5);
  outline-offset:3px;
}
.draft-replay-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.draft-replay-playback{
  display:flex;
  align-items:center;
  gap:.65rem;
  min-width:0;
}
.draft-movie-share-note{
  margin:0;
  max-width:460px;
  color:#9fc1cd;
  font-size:.78rem;
  line-height:1.35;
  text-align:right;
}
@media (max-width:760px){
  .draft-movie-header{
    gap:.7rem;
    padding:.8rem .9rem;
  }
  .draft-movie-header .draft-replay-close{
    min-width:44px;
    width:44px;
    padding:0;
  }
  .draft-movie-header .draft-replay-close b{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
  .draft-movie-header .draft-replay-close span{
    background:transparent;
    font-size:1.4rem;
  }
  .draft-replay-controls{
    align-items:stretch;
    flex-direction:column;
    gap:.5rem;
  }
  .draft-replay-playback{
    width:100%;
    flex-wrap:wrap;
  }
  .draft-movie-share-note{
    max-width:none;
    text-align:left;
    font-size:.72rem;
  }
}


/* v89 visual polish and mobile UX */
:root{
  --v89-surface:#061b2a;
  --v89-surface-raised:#082438;
  --v89-border:rgba(91,204,240,.25);
  --v89-border-strong:rgba(61,213,255,.58);
  --v89-shadow:0 14px 36px rgba(0,0,0,.26);
  --v89-shadow-raised:0 20px 52px rgba(0,0,0,.36);
  --v89-ease:cubic-bezier(.2,.78,.2,1);
}

/* Consistent panel depth and interaction language */
.card,.panel,.player-card,.queue-row,.roster-card,.league-roster-card,.recommendation-card,
.phase-status-header,.draft-clock-card,.keeper-player-card,.league-personality-card{
  transition:border-color .2s var(--v89-ease),box-shadow .2s var(--v89-ease),transform .2s var(--v89-ease),background-color .2s ease;
}
.player-card,.queue-row,.league-roster-card,.keeper-player-card{
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
@media (hover:hover){
  .player-card:hover,.queue-row:hover,.league-roster-card:hover,.keeper-player-card:hover{
    transform:translateY(-2px);
    border-color:rgba(72,214,255,.58);
    box-shadow:var(--v89-shadow-raised);
  }
}
button{
  transition:transform .16s var(--v89-ease),box-shadow .16s var(--v89-ease),border-color .16s ease,filter .16s ease,background-color .16s ease;
}
@media (hover:hover){button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}button:active:not(:disabled){transform:translateY(0) scale(.985)}}

/* Stronger selected states */
.player-card.queued{
  border-color:rgba(51,208,255,.86)!important;
  background:linear-gradient(100deg,rgba(25,151,196,.14),rgba(5,27,42,.98) 34%);
  box-shadow:inset 4px 0 0 #31cff8,0 12px 30px rgba(0,0,0,.25),0 0 0 1px rgba(49,207,248,.1);
}
.player-card.watched{
  border-color:rgba(255,213,104,.58)!important;
  box-shadow:inset 4px 0 0 #ffd568,0 12px 30px rgba(0,0,0,.24);
}
.player-card.recommended{
  border-color:rgba(91,236,166,.76)!important;
  box-shadow:inset 4px 0 0 #65eeaa,0 15px 36px rgba(0,0,0,.27),0 0 22px rgba(74,226,154,.08);
}
.queue-row{overflow:hidden;transform-origin:center;}
.queue-row.queue-pick-pending{box-shadow:0 0 0 1px rgba(42,207,251,.42),0 10px 28px rgba(0,0,0,.24)}
.player-card.drafted-away,.queue-row.drafted-away{animation:v89DraftedAway .52s var(--v89-ease) forwards!important;pointer-events:none}
@keyframes v89DraftedAway{0%{opacity:1;transform:none;max-height:260px}55%{opacity:.15;transform:translateX(24px) scale(.985);max-height:260px}100%{opacity:0;transform:translateX(42px) scale(.97);max-height:0;margin-block:0;padding-block:0;border-width:0}}

/* More visible team identity in the unified status bar */
.phase-status-icon.has-team-logo{padding:5px;background:linear-gradient(145deg,rgba(14,62,85,.92),rgba(5,31,48,.96));overflow:hidden}
.phase-status-team-logo,.phase-status-team-logo img{width:100%;height:100%;object-fit:contain}
.phase-status-copy h2{letter-spacing:-.015em}
.phase-status-header.unified-status-panel{box-shadow:var(--v89-shadow),inset 4px 0 0 rgba(67,206,247,.55)}
.unified-status-panel .phase-status-action{min-width:0;max-width:250px}
.unified-status-panel .phase-status-action button{width:100%;min-width:0;white-space:normal;line-height:1.15;padding-inline:14px;overflow-wrap:anywhere}
.unified-status-primary{min-width:0}
.draft-clock-card{flex:0 1 315px;min-width:250px}
@media (min-width:1251px){
  .phase-status-header.unified-status-panel{grid-template-columns:44px minmax(300px,1fr) minmax(0,560px)}
  .unified-status-controls{width:100%;max-width:560px}
  .unified-status-primary{display:grid;grid-template-columns:minmax(250px,1fr) minmax(170px,220px)}
}
@media (max-width:1250px){
  .unified-status-controls{grid-column:1/-1!important}
  .unified-status-primary{width:100%}
  .unified-status-panel .phase-status-action{max-width:none}
}

/* Rapid-pick notice: centered and legible on phones */
@media (max-width:720px){
  .live-draft-presentation{left:10px;right:10px;top:max(10px,env(safe-area-inset-top));width:auto;transform:none}
  .pick-burst-card{grid-template-columns:74px minmax(0,1fr)!important;align-items:center;text-align:center;padding:13px!important}
  .pick-burst-count{justify-self:center;width:70px;min-height:70px!important;text-align:center}
  .pick-burst-count strong,.pick-burst-count span{width:100%;text-align:center}
  .pick-burst-copy{display:grid;justify-items:center;text-align:center}
  .pick-burst-copy>span,.pick-burst-copy strong,.pick-burst-copy small{text-align:center}
}
@media (max-width:440px){
  .pick-burst-card{grid-template-columns:1fr!important;gap:8px!important}
  .pick-burst-count{grid-template-columns:auto auto;gap:8px;width:auto;min-height:48px!important;padding:6px 14px}
  .pick-burst-count span{margin:0}
}

/* Mobile Draft Movie: preserve the full story and player card */
@media (max-width:900px){
  .draft-movie-shell{width:100vw!important;max-width:none;height:100dvh!important;max-height:none;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto!important}
  .draft-movie-stage{min-height:0;overflow:hidden}
  .draft-movie-frame{display:flex!important;flex-direction:column!important;gap:14px!important;height:100%!important;overflow-y:auto!important;overscroll-behavior:contain;padding:16px 14px 20px!important}
  .movie-topline{flex:0 0 auto;width:100%}
  .movie-story{display:flex!important;flex:0 0 auto;justify-content:flex-start!important;min-width:0}
  .movie-story h2{font-size:clamp(2rem,9vw,3.3rem)!important;line-height:1.02!important;margin:.42rem 0 .55rem!important;max-width:100%;text-wrap:balance}
  .movie-story p{font-size:1rem!important;line-height:1.45!important;max-width:100%}
  .movie-player-card{display:grid!important;opacity:1;visibility:visible;grid-template-columns:52px 92px minmax(0,1fr) 64px!important;grid-template-areas:none!important;width:100%!important;max-width:none!important;min-height:116px;margin-top:14px!important;padding:10px!important;gap:10px!important}
  .movie-card-team-logo{width:46px!important;height:46px!important}
  .movie-player-portrait{height:94px!important}
  .movie-player-info strong{font-size:clamp(1.2rem,5.5vw,1.7rem)!important;overflow-wrap:break-word}
  .movie-player-card>b{display:block!important;border:0!important;padding:0!important;font-size:2rem!important;text-align:center}
  .movie-player-card>b small{display:block!important;margin-top:5px!important}
  .movie-race{flex:0 0 auto;width:100%;max-height:none!important;overflow:visible!important;padding:12px!important}
  .movie-race-row{grid-template-columns:28px 34px minmax(86px,1.4fr) minmax(72px,1fr) 45px!important;min-height:48px}
  .movie-progress{flex:0 0 5px;width:100%;margin-top:2px}
  .draft-replay-controls{position:relative;z-index:3;background:rgba(2,18,29,.98);border-top:1px solid rgba(91,205,240,.2);padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}
  .draft-movie-share-note{display:none}
}
@media (max-width:520px){
  .movie-player-card{grid-template-columns:44px 76px minmax(0,1fr)!important;grid-template-areas:"team portrait info" "overall overall overall"!important}
  .movie-card-team-logo{grid-area:team}.movie-player-portrait{grid-area:portrait}.movie-player-info{grid-area:info}
  .movie-player-card>b{grid-area:overall!important;display:flex!important;justify-content:flex-end;align-items:baseline;gap:5px;border-top:1px solid rgba(113,220,252,.18)!important;padding-top:7px!important}
  .movie-player-card>b small{display:inline!important;margin:0!important}
}

/* Mobile sizing, spacing and touch comfort */
@media (max-width:760px){
  body{font-size:15px}
  .app-shell,.main-content{padding-inline:10px}
  .player-list{gap:12px}
  .player-card{border-radius:18px;padding:14px!important;box-shadow:0 10px 28px rgba(0,0,0,.24)}
  .player-actions{gap:8px}
  .player-actions button{min-height:48px;border-radius:12px}
  .queue-row{border-radius:14px;padding:10px!important}
  .phase-status-header.unified-status-panel{border-radius:16px}
  .unified-status-primary{grid-template-columns:minmax(0,1fr)!important}
  .draft-clock-card{min-width:0;width:100%}
  .unified-status-panel .phase-status-action{width:100%;max-width:none}
}

@media(prefers-reduced-motion:reduce){
  .player-card,.queue-row,.league-roster-card,.keeper-player-card,button{transition:none!important}
  .player-card.drafted-away,.queue-row.drafted-away{animation:none!important}
}

/* v89.1 larger live team identity */
.phase-status-header.unified-status-panel{
  grid-template-columns:64px minmax(0,1fr) minmax(430px,auto);
  min-height:104px;
}
.phase-status-icon{
  width:60px;
  height:60px;
  border-radius:18px;
}
.phase-status-icon.has-team-logo{padding:8px}
.phase-status-team-logo,.phase-status-team-logo img{width:100%;height:100%;object-fit:contain}
@media (min-width:1251px){
  .phase-status-header.unified-status-panel{grid-template-columns:64px minmax(300px,1fr) minmax(0,560px)}
}
@media (max-width:1250px){
  .phase-status-header.unified-status-panel{grid-template-columns:58px minmax(0,1fr)}
  .phase-status-icon{width:54px;height:54px;border-radius:16px}
}
@media (max-width:760px){
  .phase-status-header.unified-status-panel{grid-template-columns:50px minmax(0,1fr);min-height:0}
  .phase-status-icon{width:46px;height:46px;border-radius:14px}
  .phase-status-icon.has-team-logo{padding:6px}
}


/* v90 premium profile + smooth queue countdown */
.queue-countdown-bar { transform-origin:left center; will-change:transform; transition:none !important; }
.queue-countdown-ring { will-change:background; }

.modal-card.player-profile-modal { width:min(1180px, calc(100vw - 32px)); max-height:calc(100vh - 28px); border-radius:28px; overflow:hidden; box-shadow:0 34px 100px rgba(0,0,0,.55), 0 0 0 1px rgba(82,210,255,.16); background:linear-gradient(145deg,#071d2d,#061523 52%,#091827); }
.player-profile-modal .modal-head { padding:14px 18px; background:rgba(4,19,31,.92); backdrop-filter:blur(18px); border-bottom:1px solid rgba(80,198,235,.2); }
.player-profile-modal .modal-body { padding:0; overflow:auto; }
.profile-premium { gap:0; }
.profile-hero-card { position:relative; display:grid; grid-template-columns:260px minmax(0,1fr) 170px; min-height:330px; overflow:hidden; padding:28px 32px 22px; align-items:center; background:radial-gradient(circle at 16% 35%,rgba(0,216,255,.22),transparent 36%),linear-gradient(120deg,rgba(15,61,84,.9),rgba(5,22,36,.94) 58%,rgba(14,31,48,.96)); border-bottom:1px solid rgba(92,208,239,.22); }
.profile-hero-card:after { content:""; position:absolute; inset:auto -12% -65% 30%; height:440px; border:1px solid rgba(88,224,255,.12); border-radius:50%; transform:rotate(-9deg); }
.profile-hero-glow { position:absolute; width:280px; height:280px; left:30px; top:35px; border-radius:50%; background:radial-gradient(circle,rgba(66,225,255,.24),transparent 68%); filter:blur(10px); }
.profile-photo-stage { position:relative; z-index:1; display:grid; place-items:center; align-self:end; }
.profile-photo-stage .profile-photo { width:230px !important; height:280px !important; border-radius:30px 30px 14px 14px !important; border:1px solid rgba(107,227,255,.35); background:linear-gradient(180deg,rgba(19,70,94,.86),rgba(4,19,30,.96)); box-shadow:0 24px 50px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.08); overflow:hidden; }
.profile-photo-stage .profile-photo img { width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 14px 20px rgba(0,0,0,.4)); }
.profile-identity { position:relative; z-index:1; min-width:0; padding:12px 28px; }
.profile-kicker,.profile-section-heading span { display:block; color:#76ddf7; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.profile-identity h3 { margin:5px 0 7px !important; font-size:clamp(2.2rem,4vw,4.35rem) !important; line-height:.95; letter-spacing:-.045em; text-wrap:balance; }
.profile-subline { color:#abc3d1; font-size:1rem; }
.profile-overall { position:relative; z-index:2; justify-self:end; align-self:center; min-width:150px; padding:18px 16px; text-align:center; border-radius:24px; border:1px solid rgba(106,239,150,.42); background:linear-gradient(165deg,rgba(47,109,68,.34),rgba(3,21,31,.88)); box-shadow:0 18px 38px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.08); }
.profile-overall span { color:#8ae9b0; font-weight:900; letter-spacing:.16em; font-size:.68rem; }
.profile-overall strong { display:block; color:#8fff72; font-size:5.4rem; line-height:.92; letter-spacing:-.08em; text-shadow:0 0 28px rgba(104,255,119,.28); }
.profile-overall small { display:block; color:#abc3d1; margin-top:8px; }
.profile-xfactors { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.profile-xfactor { position:relative; min-width:118px !important; padding:10px 12px !important; border-radius:16px !important; background:linear-gradient(145deg,rgba(10,40,57,.94),rgba(4,20,31,.86)) !important; box-shadow:0 12px 28px rgba(0,0,0,.25); animation:profileXfactorIn .55s cubic-bezier(.2,.85,.2,1) both; }
.profile-xfactor:nth-child(2){animation-delay:.08s}.profile-xfactor:nth-child(3){animation-delay:.16s}.profile-xfactor:nth-child(4){animation-delay:.24s}
.profile-xfactor .xfactor-icon.large { width:58px !important; height:58px !important; animation:profileXfactorPulse 3.2s ease-in-out infinite; }
@keyframes profileXfactorIn { from{opacity:0;transform:translateY(12px) scale(.94)} to{opacity:1;transform:none} }
@keyframes profileXfactorPulse { 0%,100%{filter:drop-shadow(0 0 6px rgba(56,197,255,.25))} 50%{filter:drop-shadow(0 0 16px rgba(84,220,255,.55))} }
.profile-dashboard { display:grid; grid-template-columns:1.05fr .95fr; gap:18px; padding:22px; background:linear-gradient(180deg,#061725,#04121d); }
.profile-layer { position:relative; overflow:hidden; border:1px solid rgba(61,137,171,.35); border-radius:22px; padding:20px; background:linear-gradient(145deg,rgba(10,35,51,.92),rgba(5,22,34,.96)); box-shadow:0 16px 34px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.035); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.profile-layer:hover { transform:translateY(-2px); border-color:rgba(75,203,238,.5); box-shadow:0 20px 40px rgba(0,0,0,.29),0 0 0 1px rgba(61,206,246,.06); }
.profile-section-heading { margin-bottom:15px; }
.profile-section-heading h4 { margin:3px 0 0; font-size:1.2rem; }
.profile-radar-card,.profile-attributes-card { grid-column:1 / -1; }
.profile-radar-wrap { display:grid; grid-template-columns:minmax(300px,480px) 1fr; align-items:center; gap:22px; }
.profile-radar { width:100%; max-height:330px; overflow:visible; }
.radar-grid polygon,.radar-grid line { fill:none; stroke:rgba(129,205,229,.22); stroke-width:1; }
.radar-shape { fill:rgba(54,217,255,.22); stroke:#53dffc; stroke-width:3; filter:drop-shadow(0 0 9px rgba(62,221,255,.3)); animation:radarReveal .75s ease-out both; transform-origin:150px 142px; }
.profile-radar text { fill:#9db9c8; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
@keyframes radarReveal { from{transform:scale(.15);opacity:0} to{transform:scale(1);opacity:1} }
.profile-radar-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.profile-radar-legend span { display:grid; grid-template-columns:48px 1fr; align-items:center; border:1px solid rgba(56,132,165,.32); border-radius:14px; padding:10px 12px; color:#abc3d1; background:rgba(3,18,29,.48); }
.profile-radar-legend b { color:#77e5ff; font-size:1.25rem; }
.contract-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.contract-grid>div { min-height:92px; padding:13px; border:1px solid rgba(60,137,168,.3); border-radius:15px; background:rgba(2,18,29,.45); }
.contract-grid span,.contract-grid small { display:block; color:#8faaba; font-size:.75rem; }
.contract-grid strong { display:block; margin:5px 0 2px; font-size:1.35rem; color:#f5fbff; overflow-wrap:anywhere; }
.profile-premium .profile-stats { grid-template-columns:repeat(auto-fit,minmax(88px,1fr)); }
.profile-premium .profile-stats div { min-height:80px; display:flex; flex-direction:column; justify-content:center; border-radius:15px; background:rgba(2,18,29,.48); }
.profile-premium .profile-stats strong { font-size:1.45rem; color:#f5fbff; }
.profile-bio-card .profile-list { display:grid; gap:7px; padding-left:18px; }
.profile-draft-line { display:grid; gap:4px; margin:15px 0 0; padding-top:12px; border-top:1px solid rgba(72,146,176,.25); color:#abc3d1; }
.profile-attributes-card .attribute-groups { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.profile-loading { animation:pulseOpacity 1.2s ease-in-out infinite; }
@keyframes pulseOpacity { 50%{opacity:.45} }

@media (max-width:900px) {
  .modal-card.player-profile-modal { width:100vw; max-height:100dvh; height:100dvh; border-radius:0; }
  .profile-hero-card { grid-template-columns:120px minmax(0,1fr); min-height:auto; padding:18px 16px; }
  .profile-photo-stage .profile-photo { width:116px !important; height:154px !important; border-radius:20px 20px 10px 10px !important; }
  .profile-identity { padding:4px 10px; }
  .profile-identity h3 { font-size:clamp(1.65rem,8vw,2.5rem) !important; }
  .profile-subline { font-size:.82rem; }
  .profile-overall { grid-column:1 / -1; justify-self:stretch; display:grid; grid-template-columns:auto auto 1fr; align-items:center; min-width:0; padding:11px 14px; text-align:left; margin-top:12px; }
  .profile-overall strong { font-size:3rem; margin:0 10px; }
  .profile-overall small { margin:0; text-align:right; }
  .profile-xfactors { gap:7px; margin-top:12px; }
  .profile-xfactor { min-width:92px !important; padding:8px !important; }
  .profile-xfactor .xfactor-icon.large { width:44px !important; height:44px !important; }
  .profile-dashboard { grid-template-columns:1fr; padding:12px; gap:12px; }
  .profile-radar-card,.profile-attributes-card { grid-column:auto; }
  .profile-radar-wrap { grid-template-columns:1fr; gap:8px; }
  .profile-radar { max-height:280px; }
  .profile-radar-legend { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-layer { border-radius:18px; padding:15px; }
}
@media (max-width:520px) {
  .profile-hero-card { grid-template-columns:94px minmax(0,1fr); }
  .profile-photo-stage .profile-photo { width:90px !important; height:122px !important; }
  .profile-identity h3 { font-size:1.7rem !important; }
  .profile-xfactor span:not(.xfactor-icon),.profile-xfactor small { display:none; }
  .profile-xfactor { min-width:auto !important; }
  .contract-grid { grid-template-columns:1fr 1fr; }
  .contract-grid>div { min-height:82px; }
  .profile-radar-legend { grid-template-columns:1fr; }
}
.queue-countdown-track span,#queueCountdownBar { transform-origin:left center; will-change:transform; transition:none !important; }


/* v90.1 tabbed player profiles and alumni-safe summaries */
.profile-tabs{
  position:sticky;
  top:0;
  z-index:8;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:12px 22px;
  border-bottom:1px solid rgba(72,167,202,.24);
  background:rgba(4,18,29,.94);
  backdrop-filter:blur(18px);
}
.profile-tabs button{
  min-width:0;
  display:grid;
  gap:2px;
  justify-items:start;
  padding:11px 14px;
  border:1px solid rgba(66,137,167,.28);
  border-radius:15px;
  background:rgba(8,31,46,.72);
  color:#d7e8f0;
  text-align:left;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.profile-tabs button:hover{transform:translateY(-1px);border-color:rgba(86,210,243,.5);background:rgba(11,46,65,.84)}
.profile-tabs button.active{border-color:#43d8fa;background:linear-gradient(145deg,rgba(20,91,116,.82),rgba(7,39,57,.92));box-shadow:0 10px 24px rgba(0,0,0,.2),inset 0 0 0 1px rgba(100,227,255,.08)}
.profile-tabs button span{font-weight:900;font-size:.93rem}
.profile-tabs button small{color:#89a9b9;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-tab-content{min-height:410px}
.profile-tab-panel[hidden]{display:none!important}
.profile-tab-panel{animation:profilePanelIn .24s ease both}
@keyframes profilePanelIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.profile-wide-card{grid-column:1/-1;min-height:280px}
.profile-summary-card{grid-column:1/-1}
.profile-scouting-summary{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr;gap:16px;align-items:stretch}
.profile-scouting-callout,.profile-scouting-points>div{border:1px solid rgba(60,139,171,.3);border-radius:17px;background:rgba(2,18,29,.5);padding:16px}
.profile-scouting-callout{display:flex;flex-direction:column;justify-content:center;min-height:170px;background:radial-gradient(circle at 20% 20%,rgba(53,218,255,.13),transparent 50%),rgba(2,18,29,.5)}
.profile-scouting-callout span,.profile-scouting-points span{color:#8daaba;font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.profile-scouting-callout strong{font-size:1.8rem;margin:7px 0;color:#f4fbff}
.profile-scouting-callout small{color:#78def7;font-weight:800}
.profile-scouting-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.profile-scouting-points>div{display:flex;flex-direction:column;justify-content:center;min-height:100px}
.profile-scouting-points strong{margin-top:6px;overflow-wrap:anywhere}
.profile-data-note{grid-column:1/-1;margin:0;padding:13px 15px;border-left:3px solid #56d7f5;border-radius:10px;background:rgba(38,117,144,.12);color:#a8c1cd}
.profile-attribute-unavailable{max-width:720px;margin:20px auto;padding:34px;text-align:center;border:1px dashed rgba(91,188,219,.38);border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(57,210,248,.11),transparent 52%),rgba(3,19,30,.4)}
.profile-attribute-unavailable-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border:1px solid rgba(92,215,246,.4);border-radius:20px;color:#6ee4ff;font-size:2rem;background:rgba(9,47,64,.68)}
.profile-attribute-unavailable h4{margin:0 0 8px;font-size:1.35rem}
.profile-attribute-unavailable p{margin:6px 0;color:#9fb8c5}
@media(max-width:900px){
  .profile-tabs{grid-template-columns:repeat(4,minmax(105px,1fr));overflow-x:auto;padding:10px 12px;scrollbar-width:none}
  .profile-tabs::-webkit-scrollbar{display:none}
  .profile-tabs button{min-width:105px;padding:10px 12px}
  .profile-scouting-summary{grid-template-columns:1fr}
  .profile-scouting-points{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .profile-tabs{grid-template-columns:repeat(4,112px)}
  .profile-tabs button small{display:none}
  .profile-tabs button{justify-items:center;text-align:center}
  .profile-scouting-points{grid-template-columns:1fr}
  .profile-attribute-unavailable{padding:24px 16px}
}

/* v90.3 compact, viewport-contained player profiles */
.player-profile-modal .modal-body{
  overflow:hidden;
  min-height:0;
}
.profile-premium{
  height:min(calc(100vh - 92px), 820px);
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.profile-hero-card{
  flex:0 0 224px;
  min-height:224px;
  grid-template-columns:180px minmax(0,1fr) 136px;
  padding:18px 26px 14px;
}
.profile-hero-glow{width:210px;height:210px;left:18px;top:18px}
.profile-photo-stage .profile-photo{
  width:172px!important;
  height:210px!important;
  border-radius:24px 24px 12px 12px!important;
}
.profile-identity{padding:0 18px}
.profile-identity h3{font-size:clamp(2rem,4.3vw,3.75rem)!important;line-height:.95!important;margin:7px 0 8px!important}
.profile-subline{font-size:.9rem}
.profile-xfactors{margin-top:12px;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.profile-xfactors::-webkit-scrollbar{display:none}
.profile-xfactor{min-width:112px!important;padding:9px!important;border-radius:14px!important}
.profile-xfactor .xfactor-icon.large{width:44px!important;height:44px!important}
.profile-xfactor span:not(.xfactor-icon){font-size:.78rem}
.profile-xfactor small{font-size:.65rem}
.profile-overall{min-width:126px;padding:16px 12px;border-radius:22px}
.profile-overall strong{font-size:4.4rem;line-height:.9}
.profile-tabs{position:relative;flex:0 0 auto;padding:9px 20px;gap:7px}
.profile-tabs button{padding:8px 12px;border-radius:13px}
.profile-tabs button span{font-size:.87rem}
.profile-tabs button small{font-size:.65rem}
.profile-tab-content{flex:1;min-height:0;overflow:hidden}
.profile-tab-panel{height:100%;min-height:0;overflow:hidden}
.profile-dashboard{height:100%;min-height:0;padding:14px 18px;gap:12px;overflow:hidden}
.profile-layer{padding:14px 16px;border-radius:18px}
.profile-section-heading{margin-bottom:9px}
.profile-section-heading h4{font-size:1rem;margin-top:2px}
[data-profile-panel="overview"]{grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr)}
[data-profile-panel="overview"] .profile-radar-card{grid-column:auto;min-width:0}
[data-profile-panel="overview"] .profile-bio-card{min-width:0}
.profile-radar-wrap{grid-template-columns:minmax(230px,360px) minmax(220px,1fr);gap:12px}
.profile-radar{max-height:235px}
.profile-radar-legend{gap:7px}
.profile-radar-legend span{padding:7px 9px;border-radius:11px;grid-template-columns:38px 1fr;font-size:.8rem}
.profile-radar-legend b{font-size:1rem}
.profile-bio-card .profile-list{gap:4px;font-size:.85rem;margin:5px 0}
.profile-draft-line{margin-top:9px;padding-top:8px;font-size:.84rem}
[data-profile-panel="attributes"] .profile-attributes-card,
[data-profile-panel="contract"] .profile-contract-card{height:100%;min-height:0;overflow:hidden}
.profile-attributes-card .attribute-groups{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.profile-attributes-card .attribute-group{padding:10px!important}
.profile-attributes-card .attribute-group h5{margin:0 0 7px!important;font-size:.8rem!important}
.profile-attributes-card .attribute-list{gap:3px!important}
.profile-attributes-card .attribute-row{min-height:24px!important;padding:3px 6px!important;font-size:.72rem!important}
.profile-wide-card{min-height:0}
.contract-grid{grid-template-columns:repeat(4,minmax(0,1fr));height:calc(100% - 42px);align-items:stretch}
.contract-grid>div{min-height:0;display:flex;flex-direction:column;justify-content:center;padding:16px}
.contract-grid strong{font-size:1.5rem}
[data-profile-panel="statistics"]{grid-template-columns:minmax(240px,.56fr) minmax(0,1.44fr)}
[data-profile-panel="statistics"] .profile-season-card,
[data-profile-panel="statistics"] .profile-career-card{height:100%;min-height:0}
[data-profile-panel="statistics"] .profile-season-card{display:flex;flex-direction:column;justify-content:flex-start}
[data-profile-panel="statistics"] .profile-career-card{display:flex;flex-direction:column;overflow:hidden}
.profile-career-totals{flex:0 0 auto;margin-bottom:9px}
.profile-career-history{flex:1;min-height:0;overflow:auto;border:1px solid rgba(60,137,168,.3);border-radius:13px;background:rgba(2,18,29,.45);scrollbar-color:rgba(72,190,225,.55) transparent}
.profile-career-history table{width:100%;border-collapse:separate;border-spacing:0;font-size:.78rem}
.profile-career-history th{position:sticky;top:0;z-index:1;padding:8px 10px;background:#092538;color:#7be4fb;text-align:right;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}
.profile-career-history th:first-child,.profile-career-history th:nth-child(2),.profile-career-history td:first-child,.profile-career-history td:nth-child(2){text-align:left}
.profile-career-history td{padding:7px 10px;border-top:1px solid rgba(67,133,161,.18);text-align:right;color:#d9e8ef;white-space:nowrap}
.profile-career-history tbody tr:hover td{background:rgba(35,138,173,.12)}
.profile-career-card .profile-stats div{min-height:54px}
.profile-career-card .profile-stats strong{font-size:1.12rem}

@media(max-width:900px){
  .profile-premium{height:calc(100dvh - 65px);max-height:none}
  .profile-hero-card{flex-basis:196px;min-height:196px;grid-template-columns:104px minmax(0,1fr) 90px;padding:14px 12px}
  .profile-photo-stage .profile-photo{width:100px!important;height:150px!important}
  .profile-identity{padding:0 8px}
  .profile-identity h3{font-size:clamp(1.6rem,6vw,2.5rem)!important}
  .profile-overall{grid-column:auto;display:block;justify-self:end;min-width:82px;padding:10px 7px;text-align:center;margin-top:0}
  .profile-overall strong{font-size:3rem;margin:4px 0}
  .profile-overall small{display:none}
  .profile-xfactor{min-width:74px!important}
  .profile-xfactor span:not(.xfactor-icon),.profile-xfactor small{display:none}
  .profile-tabs{padding:7px 10px}
  .profile-tabs button{min-width:96px;padding:8px 9px}
  .profile-dashboard{padding:10px;gap:9px}
  [data-profile-panel="overview"]{grid-template-columns:minmax(0,1.4fr) minmax(190px,.6fr)}
  .profile-radar-wrap{grid-template-columns:minmax(180px,280px) 1fr}
  .profile-radar{max-height:205px}
  .profile-radar-legend span{font-size:.72rem;padding:5px 7px}
  .contract-grid{grid-template-columns:repeat(2,minmax(0,1fr));height:auto}
  [data-profile-panel="statistics"]{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  [data-profile-panel="statistics"] .profile-season-card{height:auto}
}
@media(max-width:620px){
  .profile-hero-card{flex-basis:176px;min-height:176px;grid-template-columns:82px minmax(0,1fr) 72px;padding:11px 8px}
  .profile-photo-stage .profile-photo{width:78px!important;height:118px!important;border-radius:16px 16px 8px 8px!important}
  .profile-identity h3{font-size:1.5rem!important}
  .profile-subline{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .profile-xfactors{margin-top:8px}
  .profile-xfactor{min-width:54px!important;padding:5px!important}
  .profile-xfactor .xfactor-icon.large{width:36px!important;height:36px!important}
  .profile-overall{min-width:64px;border-radius:16px}
  .profile-overall strong{font-size:2.35rem}
  .profile-tabs{grid-template-columns:repeat(4,94px);overflow-x:auto}
  .profile-tabs button{min-width:94px}
  .profile-tabs button small{display:none}
  [data-profile-panel="overview"]{grid-template-columns:1fr}
  [data-profile-panel="overview"] .profile-bio-card{display:none}
  .profile-radar-wrap{grid-template-columns:1fr 1fr}
  .profile-radar{max-height:190px}
  .profile-radar-legend{grid-template-columns:1fr;gap:4px}
  .profile-radar-legend span{padding:4px 6px}
  .profile-layer{padding:10px;border-radius:14px}
  .profile-section-heading{margin-bottom:5px}
  .profile-attributes-card .attribute-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .profile-attributes-card .attribute-group{padding:7px!important}
  .profile-attributes-card .attribute-row{font-size:.65rem!important;padding:2px 4px!important}
  .contract-grid>div{padding:10px}
  .contract-grid strong{font-size:1.15rem}
  .profile-career-history table{font-size:.7rem}
  .profile-career-history th,.profile-career-history td{padding:6px 7px}
}

/* v90.3 contract enrichment, compact profile navigation and cleaner no-attribute profiles */
.profile-tabs{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:5px;
  padding:6px 18px;
  min-height:48px;
}
.profile-tabs button{
  flex:0 1 170px;
  min-width:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  border-radius:12px;
  text-align:center;
}
.profile-tabs button span{font-size:.86rem;line-height:1}
.profile-tabs button small{display:none!important}
.profile-tabs button.active{transform:none;box-shadow:0 6px 16px rgba(0,0,0,.18),inset 0 0 0 1px rgba(100,227,255,.08)}
.profile-tabs button:hover{transform:none}
.contract-source{margin-top:5px!important;font-size:.64rem!important;color:#6f94a6!important}

.profile-dashboard-no-attributes{
  display:block;
  padding:16px 20px;
}
.profile-dashboard-no-attributes .profile-summary-card{
  width:min(100%,980px);
  min-height:0;
  margin:0 auto;
}
.profile-summary-card .profile-section-heading{margin-bottom:12px}
.profile-scouting-summary{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.35fr);
  grid-template-areas:
    "hero facts"
    "traits facts"
    "note note";
  gap:12px;
  align-items:stretch;
}
.profile-scouting-hero{
  grid-area:hero;
  display:flex;
  min-height:135px;
  flex-direction:column;
  justify-content:center;
  padding:20px;
  border:1px solid rgba(70,188,220,.34);
  border-radius:18px;
  background:radial-gradient(circle at 15% 20%,rgba(64,220,255,.16),transparent 48%),linear-gradient(145deg,rgba(7,49,66,.82),rgba(2,21,32,.72));
}
.profile-scouting-eyebrow,.profile-scouting-facts span{
  color:#7dddf5;
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.profile-scouting-hero strong{
  margin:8px 0 5px;
  color:#f5fbff;
  font-size:clamp(1.45rem,2.6vw,2.25rem);
  line-height:1.04;
}
.profile-scouting-hero small{color:#9ec1cf;font-weight:700}
.profile-scouting-facts{
  grid-area:facts;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.profile-scouting-facts>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:15px;
  border:1px solid rgba(60,139,171,.3);
  border-radius:15px;
  background:rgba(2,18,29,.52);
}
.profile-scouting-facts strong{margin-top:7px;overflow-wrap:anywhere;color:#f2f8fb}
.profile-scouting-traits{
  grid-area:traits;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-content:start;
}
.profile-scouting-traits span{
  padding:7px 10px;
  border:1px solid rgba(69,191,225,.32);
  border-radius:999px;
  background:rgba(25,106,134,.18);
  color:#bdefff;
  font-size:.72rem;
  font-weight:800;
}
.profile-scouting-summary .profile-data-note{grid-area:note}
.profile-attribute-unavailable{
  max-width:860px;
  min-height:240px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:12px auto;
  padding:28px 34px;
}

@media(max-width:900px){
  .profile-tabs{justify-content:flex-start;overflow-x:auto;padding:6px 10px;scrollbar-width:none}
  .profile-tabs::-webkit-scrollbar{display:none}
  .profile-tabs button{flex:0 0 112px;min-width:112px;padding:9px 10px}
  .profile-scouting-summary{grid-template-columns:1fr;grid-template-areas:"hero" "facts" "traits" "note"}
  .profile-scouting-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
  .profile-tabs{min-height:44px;padding:5px 8px;gap:4px}
  .profile-tabs button{flex-basis:94px;min-width:94px;padding:8px 7px}
  .profile-dashboard-no-attributes{padding:9px}
  .profile-scouting-hero{min-height:105px;padding:15px}
  .profile-scouting-facts{grid-template-columns:1fr}
  .profile-scouting-facts>div{padding:11px;min-height:64px}
  .profile-scouting-traits{gap:5px}
  .profile-scouting-traits span{padding:6px 8px;font-size:.66rem}
  .profile-attribute-unavailable{min-height:0;padding:22px 16px}
}

/* v90.4 adaptive player profiles, goalie data and contract polish */
.profile-photo-stage .profile-photo{
  padding:4px 3px 10px;
  box-sizing:border-box;
}
.profile-photo-stage .profile-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  transform:scale(.95);
  transform-origin:center bottom;
}
.profile-tabs{
  display:grid;
  grid-template-columns:repeat(var(--profile-tab-count,4),minmax(112px,170px));
  justify-content:center;
  width:100%;
}
.profile-tabs button{width:100%;min-width:0!important;}
.profile-overview-with-bio{
  display:grid;
  grid-template-columns:minmax(0,2.15fr) minmax(270px,.9fr);
  gap:12px;
  align-items:stretch;
}
.profile-overview-single{display:block;}
.profile-overview-with-bio>.profile-layer{min-height:0;}
.profile-details-card{display:flex;flex-direction:column;}
.profile-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.profile-detail-grid>div,.profile-draft-summary{
  min-width:0;
  padding:11px 12px;
  border:1px solid rgba(60,139,171,.3);
  border-radius:13px;
  background:rgba(2,18,29,.5);
}
.profile-detail-grid span,.profile-draft-summary span{
  display:block;
  color:#7dddf5;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.profile-detail-grid strong,.profile-draft-summary strong{
  display:block;
  margin-top:5px;
  color:#f3fbff;
  font-size:.9rem;
  overflow-wrap:anywhere;
}
.profile-detail-grid small{display:block;margin-top:3px;color:#9db8c5;font-size:.72rem;line-height:1.25;}
.profile-draft-summary{margin-top:8px;}
.profile-adaptive-summary{display:flex;flex-direction:column;gap:10px;}
.profile-adaptive-grid{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(0,1.15fr);gap:10px;}
.profile-role-tile,.profile-goalie-snapshot,.profile-role-facts>div{
  border:1px solid rgba(60,139,171,.3);
  border-radius:16px;
  background:rgba(2,18,29,.52);
  padding:15px;
}
.profile-role-tile{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:120px;
  background:radial-gradient(circle at 15% 18%,rgba(64,220,255,.15),transparent 52%),linear-gradient(145deg,rgba(7,49,66,.82),rgba(2,21,32,.72));
}
.profile-role-tile span,.profile-goalie-snapshot>span,.profile-role-facts span{
  color:#7dddf5;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.profile-role-tile strong{margin:7px 0 4px;color:#f6fbff;font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.03;}
.profile-role-tile small{color:#9ec1cf;font-weight:800;}
.profile-role-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.profile-role-facts>div{display:flex;flex-direction:column;justify-content:center;min-height:120px;}
.profile-role-facts strong{margin-top:7px;color:#f2f8fb;overflow-wrap:anywhere;}
.profile-goalie-snapshot{display:flex;flex-direction:column;justify-content:center;}
.profile-goalie-snapshot .profile-stats{margin-top:9px;grid-template-columns:repeat(4,minmax(0,1fr));}
.profile-goalie-snapshot .profile-stats>div{padding:9px 7px;}
.profile-adaptive-summary .profile-data-note{margin:0;}
.profile-no-attributes .profile-tab-content{padding-top:0;}
.profile-no-attributes .profile-overview-with-bio{grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);}
.profile-no-attributes .profile-adaptive-summary{min-height:0;}
.profile-season-card .profile-stats,.profile-career-totals .profile-stats{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));}

@media(max-width:900px){
  .profile-tabs{display:flex;justify-content:flex-start;}
  .profile-tabs button{flex:0 0 112px;width:auto;}
  .profile-overview-with-bio,.profile-no-attributes .profile-overview-with-bio{grid-template-columns:1fr;}
  .profile-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:620px){
  .profile-photo-stage .profile-photo{padding:2px 2px 7px;}
  .profile-photo-stage .profile-photo img{transform:scale(.94);}
  .profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .profile-adaptive-grid{grid-template-columns:1fr;}
  .profile-role-facts{grid-template-columns:1fr 1fr;}
  .profile-role-tile,.profile-role-facts>div{min-height:82px;padding:11px;}
  .profile-goalie-snapshot{padding:11px;}
  .profile-goalie-snapshot .profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* v90.11 profile layout: contract in hero, attributes under overview, no clipped cards. */
.player-profile-modal .modal-body{
  overflow:hidden;
  min-height:0;
}
.profile-premium{
  height:min(calc(100dvh - 88px),860px);
  max-height:min(calc(100dvh - 88px),860px);
  min-height:0;
  overflow:hidden;
}
.profile-hero-card{
  flex:0 0 auto;
  min-height:268px;
  grid-template-columns:190px minmax(0,1fr) 126px;
  align-items:center;
  gap:12px;
  overflow:visible;
  padding:18px 24px 16px;
}
.profile-hero-card:after,.profile-hero-glow{pointer-events:none;}
.profile-photo-stage{
  align-self:center;
}
.profile-photo-stage .profile-photo{
  width:176px!important;
  height:220px!important;
}
.profile-photo-stage .profile-photo img{
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:scale(1.24)!important;
  transform-origin:center bottom!important;
}
.profile-identity{
  align-self:center;
  padding:0 16px;
}
.profile-identity h3{
  font-size:clamp(2rem,3.7vw,3.55rem)!important;
  line-height:1!important;
  letter-spacing:-.025em;
  margin:5px 0 6px!important;
}
.profile-subline{
  min-height:1.2em;
}
.profile-contract-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
  max-width:720px;
}
.profile-contract-strip>div{
  min-width:0;
  min-height:58px;
  padding:8px 10px;
  border:1px solid rgba(83,179,208,.3);
  border-radius:12px;
  background:rgba(2,18,29,.48);
}
.profile-contract-strip span,.profile-contract-strip small{
  display:block;
  color:#8fb3c2;
  font-size:.64rem;
  line-height:1.2;
}
.profile-contract-strip span{
  color:#7dddf5;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.profile-contract-strip strong{
  display:block;
  margin:3px 0 2px;
  color:#f3fbff;
  font-size:.98rem;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.profile-xfactors{
  flex-wrap:wrap;
  overflow:visible;
  max-height:none;
  margin-top:10px;
  padding-bottom:0;
}
.profile-xfactor{
  min-width:96px!important;
}
.profile-tabs{
  grid-template-columns:repeat(2,minmax(124px,180px));
}
.profile-tab-content{
  flex:1;
  min-height:0;
  overflow:auto;
  scrollbar-width:thin;
}
.profile-tab-panel{
  height:auto;
  min-height:100%;
  overflow:visible;
}
.profile-dashboard{
  height:auto;
  min-height:100%;
  align-content:start;
  overflow:visible;
}
.profile-overview-with-bio{
  grid-template-columns:minmax(0,2fr) minmax(260px,.82fr);
}
.profile-overview-skills{
  display:flex;
  flex-direction:column;
}
.profile-attribute-drawer{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(72,156,186,.24);
}
.profile-attribute-drawer summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  list-style:none;
  color:#f0fbff;
  font-weight:900;
}
.profile-attribute-drawer summary::-webkit-details-marker{display:none;}
.profile-attribute-drawer summary:after{
  content:"+";
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border:1px solid rgba(91,206,239,.35);
  border-radius:9px;
  color:#78e1fb;
  background:rgba(5,28,42,.72);
}
.profile-attribute-drawer[open] summary:after{
  content:"-";
}
.profile-attribute-drawer summary span{
  color:#7dddf5;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.profile-attribute-drawer summary b{
  margin-left:auto;
  color:#9cb8c6;
  font-size:.76rem;
}
.profile-attribute-drawer-body{
  margin-top:10px;
}
.profile-attribute-drawer .section-note{
  margin:0 0 8px;
}
.profile-attribute-drawer .attribute-groups{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:8px;
}
.profile-attribute-drawer .attribute-group{
  padding:10px!important;
  border-radius:12px;
}
.profile-attribute-drawer .attribute-group h5{
  margin:0 0 7px!important;
  font-size:.8rem!important;
}
.profile-attribute-drawer .attribute-list{
  gap:4px!important;
}
.profile-attribute-drawer .attribute-list div{
  min-height:23px;
  font-size:.72rem;
}

@media(max-width:900px){
  .profile-premium{
    height:calc(100dvh - 64px);
    max-height:none;
  }
  .profile-hero-card{
    min-height:214px;
    grid-template-columns:104px minmax(0,1fr) 84px;
    gap:8px;
    padding:12px 10px;
  }
  .profile-photo-stage .profile-photo{
    width:100px!important;
    height:150px!important;
  }
  .profile-photo-stage .profile-photo img{
    transform:scale(1.18)!important;
  }
  .profile-identity{
    padding:0 6px;
  }
  .profile-contract-strip{
    gap:6px;
    margin-top:8px;
  }
  .profile-contract-strip>div{
    min-height:48px;
    padding:7px;
  }
  .profile-contract-strip strong{
    font-size:.84rem;
  }
  .profile-contract-strip small{
    display:none;
  }
  .profile-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(110px,160px));
    justify-content:center;
  }
  .profile-tabs button{
    width:100%;
    flex:initial;
  }
  .profile-overview-with-bio,.profile-no-attributes .profile-overview-with-bio{
    grid-template-columns:1fr;
  }
  .profile-detail-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .profile-hero-card{
    min-height:194px;
    grid-template-columns:82px minmax(0,1fr) 68px;
    padding:10px 8px;
  }
  .profile-photo-stage .profile-photo{
    width:78px!important;
    height:118px!important;
  }
  .profile-photo-stage .profile-photo img{
    transform:scale(1.14)!important;
  }
  .profile-contract-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-contract-strip>div:nth-child(3){
    grid-column:1/-1;
  }
  .profile-contract-strip span{
    font-size:.58rem;
  }
  .profile-contract-strip strong{
    font-size:.78rem;
  }
  .profile-xfactors{
    gap:5px;
  }
  .profile-tabs{
    grid-template-columns:repeat(2,minmax(94px,1fr));
  }
  .profile-attribute-drawer .attribute-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
  }
  .profile-attribute-drawer .attribute-group{
    padding:7px!important;
  }
  .profile-attribute-drawer .attribute-list div{
    font-size:.65rem;
  }
}

/* Draft clock setup state: keep the text compact until a real turn clock starts. */
.draft-clock-card.not-started{
  min-width:310px;
}
.draft-clock-card.not-started .draft-clock-copy{
  grid-template-columns:minmax(0,1fr);
  align-content:center;
  align-items:start;
  gap:4px;
}
.draft-clock-card.not-started .draft-clock-copy>.timer-box{
  grid-column:1;
  grid-row:auto;
  width:100%;
  min-width:0;
  color:#f6fbff;
  font-size:clamp(1.35rem,1.8vw,1.7rem);
  line-height:1.05;
  text-align:left;
  white-space:normal;
}
.draft-clock-card.not-started .draft-clock-copy>#draftClockContext{
  grid-column:1;
  color:#8fb7c8;
  font-size:.68rem;
  letter-spacing:.08em;
}
.draft-clock-card.not-started .draft-clock-track{
  margin-top:3px;
}
@media(max-width:760px){
  .draft-clock-card.not-started{
    min-width:0;
  }
  .draft-clock-card.not-started .draft-clock-copy>.timer-box{
    font-size:1.35rem;
  }
}

/* v90.16 typography consistency pass */
:root{
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-display: var(--font);
  --type-xs:.72rem;
  --type-sm:.82rem;
  --type-base:.94rem;
  --type-md:1rem;
  --type-lg:1.14rem;
  --type-xl:1.34rem;
  --type-2xl:1.72rem;
  --type-3xl:clamp(2rem,3.5vw,3.35rem);
}
html{font-size:15px;}
body{
  font-family:var(--font);
  font-size:var(--type-base);
  line-height:1.45;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea,label,
.card,.modal-card,.player-card,.queue-row,.roster-card,.draft-result-card,.league-personality-card,
.profile-premium,.draft-movie-shell,.draft-explore-shell{
  font-family:var(--font)!important;
  letter-spacing:0;
}
h1,h2,h3,h4,h5,
.topbar h1,.hero-card h1,.entry-card h2,.card h2,.section-head h2,.compact-section-head h2,
.profile-identity h3,.profile-section-heading h4,.draft-result-head strong,.league-personality-card h4,
.movie-story h2,.draft-movie-header h2{
  font-family:var(--font-display)!important;
  letter-spacing:0!important;
  line-height:1.08;
}
.topbar h1{font-size:clamp(1.35rem,2vw,1.9rem)!important;}
.hero-card h1{font-size:clamp(2.35rem,5vw,4.6rem)!important;}
.entry-card h2,.card h2,.section-head h2,.compact-section-head h2{
  font-size:var(--type-lg)!important;
}
.section-note,.empty,.legal-copy p{
  font-size:var(--type-sm)!important;
  line-height:1.45;
}
button,.button,.primary,.ghost,.view-tab,.comparison-tab,.profile-tabs button,
input,select,textarea{
  font-size:var(--type-sm)!important;
  line-height:1.2;
}
label,.toolbar-check,.salary-range-control{
  font-size:var(--type-sm)!important;
}
.badge,.pill,.player-meta .pill,.queue-meta .pill{
  font-size:var(--type-xs)!important;
  line-height:1.15;
}
.player-name,.player-name-button,.queue-player-name{
  font-size:var(--type-md)!important;
  line-height:1.18!important;
  letter-spacing:0!important;
}
.player-subtitle,.player-source,.selection-copy small,.order-team-name,.roster-player{
  font-size:var(--type-xs)!important;
  line-height:1.25;
}
.player-value strong,.team-rating-summary b{
  font-size:var(--type-lg)!important;
  line-height:1;
}
.profile-identity h3{
  font-size:var(--type-3xl)!important;
}
.profile-kicker,.profile-section-heading span,
.profile-contract-strip span,.profile-detail-grid span,.profile-draft-summary span,
.profile-stats span,.profile-career-history th{
  font-size:var(--type-xs)!important;
  letter-spacing:.08em!important;
  line-height:1.15;
}
.profile-subline,.profile-contract-strip small,.profile-detail-grid small{
  font-size:var(--type-sm)!important;
}
.profile-contract-strip strong,.profile-detail-grid strong,.profile-draft-summary strong{
  font-size:var(--type-md)!important;
  line-height:1.15;
}
.profile-stats strong{
  font-size:var(--type-lg)!important;
  line-height:1.05;
}
.profile-career-card .profile-stats strong{
  font-size:var(--type-md)!important;
}
.profile-career-history table{
  font-size:var(--type-sm)!important;
}
.profile-career-history th,.profile-career-history td{
  line-height:1.2;
}
.profile-tabs button span{
  font-size:var(--type-sm)!important;
}
.profile-xfactor span:not(.xfactor-icon){
  font-size:var(--type-xs)!important;
}
.profile-xfactor small{
  font-size:.66rem!important;
}
.draft-result-grade,.personality-grades b,.draft-award-card strong{
  font-size:var(--type-lg)!important;
}
.timer-box,.draft-clock-card.not-started .draft-clock-copy>.timer-box{
  font-size:clamp(1.35rem,2vw,1.85rem)!important;
  letter-spacing:0!important;
}
@media(max-width:900px){
  html{font-size:14px;}
  .profile-identity h3{font-size:clamp(1.55rem,5.6vw,2.45rem)!important;}
  .profile-stats strong{font-size:var(--type-md)!important;}
}

/* v90.17 readable profile statistics */
[data-profile-panel="statistics"]{
  grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);
}
[data-profile-panel="statistics"] .profile-season-card{
  overflow:auto;
  scrollbar-color:rgba(72,190,225,.55) transparent;
}
.profile-stat-groups{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  min-height:0;
}
.profile-stat-group{
  --group-accent:#56d7ff;
  border:1px solid rgba(76,153,184,.28);
  border-left:3px solid var(--group-accent);
  border-radius:14px;
  padding:9px;
  background:linear-gradient(145deg,rgba(5,25,38,.76),rgba(2,15,24,.72));
}
.profile-stat-group h5{
  margin:0 0 7px;
  color:var(--group-accent);
  font-size:var(--type-xs);
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}
.profile-stat-group .profile-stats{
  grid-template-columns:repeat(auto-fit,minmax(68px,1fr));
  gap:6px;
}
.profile-stat-group .profile-stats>div{
  min-height:50px;
  padding:7px 8px;
  border-radius:10px;
  background:rgba(2,18,29,.5);
}
.profile-stat-group .profile-stats span{
  font-size:.68rem!important;
  letter-spacing:.04em!important;
}
.profile-stat-group .profile-stats strong{
  font-size:1rem!important;
  font-variant-numeric:tabular-nums;
}
.profile-stat-group-scoring{--group-accent:#55d8ff;}
.profile-stat-group-shooting{--group-accent:#f4c85f;}
.profile-stat-group-teams{--group-accent:#8dff8d;}
.profile-stat-group-physical{--group-accent:#ff8f8f;}
.profile-career-totals .profile-stat-groups{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.profile-history-shell{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.profile-table-legend{
  flex:0 0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.profile-table-legend span{
  --legend-accent:#56d7ff;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border:1px solid color-mix(in srgb,var(--legend-accent) 45%,transparent);
  border-left:3px solid var(--legend-accent);
  border-radius:999px;
  color:#d9eef5;
  background:rgba(4,24,37,.72);
  font-size:var(--type-xs);
  font-weight:900;
  line-height:1;
}
.profile-table-legend .scoring{--legend-accent:#55d8ff;}
.profile-table-legend .shooting{--legend-accent:#f4c85f;}
.profile-table-legend .teams{--legend-accent:#8dff8d;}
.profile-table-legend .physical{--legend-accent:#ff8f8f;}
.profile-career-history table{
  min-width:1120px;
  table-layout:fixed;
  font-variant-numeric:tabular-nums;
}
.profile-career-history th,
.profile-career-history td{
  box-sizing:border-box;
  padding:8px 9px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.profile-career-history th:first-child,
.profile-career-history td:first-child{
  position:sticky;
  left:0;
  z-index:3;
  width:80px;
  min-width:80px;
  max-width:80px;
  background:#061f31;
}
.profile-career-history th:nth-child(2),
.profile-career-history td:nth-child(2){
  position:sticky;
  left:80px;
  z-index:3;
  width:168px;
  min-width:168px;
  max-width:168px;
  overflow:hidden;
  text-overflow:ellipsis;
  background:#061f31;
  box-shadow:1px 0 0 rgba(76,153,184,.24);
}
.profile-career-history .skater-history th:nth-child(n+3),
.profile-career-history .skater-history td:nth-child(n+3){
  width:67px;
  min-width:67px;
  max-width:67px;
}
.profile-career-history .goalie-history th:nth-child(n+3),
.profile-career-history .goalie-history td:nth-child(n+3){
  width:80px;
  min-width:80px;
  max-width:80px;
}
.profile-career-history th:first-child,
.profile-career-history th:nth-child(2){
  z-index:5;
  background:#092538;
}
.profile-career-history tbody tr:nth-child(even) td{
  background-color:rgba(255,255,255,.015);
}
.profile-career-history tbody tr:nth-child(even) td:first-child,
.profile-career-history tbody tr:nth-child(even) td:nth-child(2){
  background-color:#082235;
}
.profile-career-history .skater-history th:nth-child(3),
.profile-career-history .skater-history th:nth-child(4),
.profile-career-history .skater-history th:nth-child(5),
.profile-career-history .skater-history th:nth-child(6),
.profile-career-history .skater-history td:nth-child(3),
.profile-career-history .skater-history td:nth-child(4),
.profile-career-history .skater-history td:nth-child(5),
.profile-career-history .skater-history td:nth-child(6){
  background-color:rgba(85,216,255,.045);
}
.profile-career-history .skater-history th:nth-child(7),
.profile-career-history .skater-history th:nth-child(8),
.profile-career-history .skater-history td:nth-child(7),
.profile-career-history .skater-history td:nth-child(8){
  background-color:rgba(244,200,95,.055);
}
.profile-career-history .skater-history th:nth-child(9),
.profile-career-history .skater-history th:nth-child(10),
.profile-career-history .skater-history th:nth-child(11),
.profile-career-history .skater-history th:nth-child(12),
.profile-career-history .skater-history td:nth-child(9),
.profile-career-history .skater-history td:nth-child(10),
.profile-career-history .skater-history td:nth-child(11),
.profile-career-history .skater-history td:nth-child(12){
  background-color:rgba(141,255,141,.04);
}
.profile-career-history .skater-history th:nth-child(13),
.profile-career-history .skater-history th:nth-child(14),
.profile-career-history .skater-history th:nth-child(15),
.profile-career-history .skater-history td:nth-child(13),
.profile-career-history .skater-history td:nth-child(14),
.profile-career-history .skater-history td:nth-child(15){
  background-color:rgba(255,143,143,.04);
}
.profile-career-history .skater-history td:nth-child(6){
  color:#fff;
  font-weight:900;
}
.profile-career-history .skater-history td:nth-child(7),
.profile-career-history .skater-history td:nth-child(8){
  color:#f4d37b;
}
.profile-career-history tbody tr:hover td,
.profile-career-history tbody tr:hover td:first-child,
.profile-career-history tbody tr:hover td:nth-child(2){
  background-color:rgba(35,138,173,.18);
}

@media(max-width:900px){
  [data-profile-panel="statistics"]{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
  }
  .profile-career-totals .profile-stat-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .profile-career-history table{
    min-width:980px;
  }
}
@media(max-width:620px){
  .profile-career-totals .profile-stat-groups{
    grid-template-columns:1fr;
  }
  .profile-career-history th:first-child,
  .profile-career-history td:first-child{
    width:68px;
    min-width:68px;
    max-width:68px;
  }
  .profile-career-history th:nth-child(2),
  .profile-career-history td:nth-child(2){
    left:68px;
    width:126px;
    min-width:126px;
    max-width:126px;
  }
}

/* v90.21 profile stat table highlight mask */
.profile-career-history{
  isolation:isolate;
}
.profile-career-history table{
  user-select:none;
}
.profile-career-history th:first-child,
.profile-career-history td:first-child,
.profile-career-history th:nth-child(2),
.profile-career-history td:nth-child(2){
  z-index:12;
  background:#061f31!important;
  background-clip:padding-box;
}
.profile-career-history th:first-child,
.profile-career-history th:nth-child(2){
  z-index:16;
  background:#071f31!important;
}
.profile-career-history td:nth-child(2),
.profile-career-history th:nth-child(2){
  box-shadow:8px 0 0 #061f31,1px 0 0 rgba(104,184,218,.24)!important;
}
.profile-career-history th:nth-child(2){
  box-shadow:8px 0 0 #071f31,1px 0 0 rgba(104,184,218,.24)!important;
}
.profile-career-history tbody tr:nth-child(even) td:first-child,
.profile-career-history tbody tr:nth-child(even) td:nth-child(2){
  background:#082235!important;
}
.profile-career-history tbody tr:nth-child(even) td:nth-child(2){
  box-shadow:8px 0 0 #082235,1px 0 0 rgba(104,184,218,.24)!important;
}
.profile-career-history tbody tr:hover td:first-child,
.profile-career-history tbody tr:hover td:nth-child(2){
  background:#0b3147!important;
}
.profile-career-history tbody tr:hover td:nth-child(2){
  box-shadow:8px 0 0 #0b3147,1px 0 0 rgba(124,216,249,.32)!important;
}

/* v90.22 player profile scouting-card polish */
.player-profile-modal{
  --profile-card-bg:linear-gradient(145deg,rgba(7,29,43,.96),rgba(3,17,27,.98));
  --profile-card-line:rgba(86,178,212,.32);
  --profile-card-line-strong:rgba(105,214,246,.48);
  --profile-soft-text:#9eb9c7;
}
.modal-card.player-profile-modal{
  border-radius:22px;
  background:linear-gradient(145deg,#061a2a,#061421 58%,#071827);
}
.player-profile-modal .modal-head{
  min-height:64px;
  padding:12px 16px;
  background:rgba(3,15,25,.96);
}
.player-profile-modal .modal-head h2{
  font-size:1.2rem;
  line-height:1.1;
}
.profile-hero-card{
  min-height:258px;
  grid-template-columns:188px minmax(0,1fr) 126px;
  gap:14px;
  padding:18px 24px 14px;
  background:
    radial-gradient(circle at 14% 50%,rgba(47,197,236,.18),transparent 34%),
    linear-gradient(120deg,rgba(10,52,73,.94),rgba(4,20,33,.97) 56%,rgba(8,23,38,.98));
}
.profile-photo-stage{
  align-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-top:8px;
}
.profile-photo-stage .profile-photo{
  position:relative;
  width:176px!important;
  height:218px!important;
  display:flex!important;
  align-items:flex-end;
  justify-content:center;
  padding:0!important;
  border-radius:20px 20px 10px 10px!important;
  border-color:rgba(103,215,246,.42);
  background:
    linear-gradient(180deg,rgba(29,91,117,.62),rgba(4,18,29,.98) 72%),
    radial-gradient(circle at 50% 20%,rgba(118,224,255,.18),transparent 55%);
}
.profile-photo-stage .profile-photo img{
  display:block;
  width:100%!important;
  height:112%!important;
  object-fit:cover!important;
  object-position:center bottom!important;
  transform:translateY(8px) scale(1.03)!important;
  transform-origin:center bottom!important;
}
.profile-photo-stage .profile-photo:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:18px;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(3,17,27,.44));
}
.profile-identity h3{
  letter-spacing:-.015em!important;
}
.profile-contract-strip{
  gap:7px;
}
.profile-contract-strip>div,
.profile-detail-grid>div,
.profile-draft-summary,
.profile-stat-group,
.profile-role-tile,
.profile-goalie-snapshot,
.profile-role-facts>div{
  border-radius:10px!important;
  border-color:var(--profile-card-line)!important;
  background:rgba(3,18,29,.62)!important;
}
.profile-contract-strip>div{
  min-height:56px;
  padding:8px 9px;
}
.profile-contract-strip strong{
  font-size:.96rem;
}
.profile-layer{
  border-radius:14px;
  border-color:var(--profile-card-line);
  background:var(--profile-card-bg);
  box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035);
}
.profile-layer:hover{
  transform:none;
  border-color:var(--profile-card-line-strong);
  box-shadow:0 12px 30px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.04);
}
.profile-section-heading{
  display:grid;
  gap:3px;
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(86,178,212,.18);
}
.profile-section-heading h4{
  margin:0;
}
.profile-radar-wrap{
  gap:10px;
}
.profile-radar{
  max-height:220px;
}
.profile-radar-legend span{
  border-radius:10px;
  background:rgba(3,18,29,.58);
}
.profile-attribute-drawer{
  border-top-color:rgba(86,178,212,.2);
}
.profile-attribute-drawer summary{
  min-height:34px;
}
.profile-attribute-drawer summary:after{
  width:24px;
  height:24px;
  border-radius:8px;
}
.profile-attribute-drawer .attribute-groups{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.profile-attribute-drawer .attribute-group{
  border-color:rgba(86,178,212,.24)!important;
  background:rgba(3,18,29,.58)!important;
}
.profile-stat-groups{
  gap:8px;
}
.profile-stat-group{
  padding:8px;
}
.profile-stat-group .profile-stats{
  gap:5px;
}
.profile-stat-group .profile-stats>div{
  min-height:48px;
  border-radius:8px;
  background:rgba(2,14,23,.54);
}
.profile-table-legend span{
  border-radius:7px;
  min-height:22px;
}
.profile-career-history{
  border-radius:10px;
  background:#041827;
}
.profile-career-history table{
  min-width:1140px;
}
.profile-career-history th{
  height:34px;
  padding:8px 8px;
  background:#071f31;
}
.profile-career-history td{
  height:34px;
  padding:7px 8px;
}
.profile-career-history tbody tr:nth-child(even) td{
  background-color:rgba(255,255,255,.018);
}
.profile-career-history tbody tr:hover td{
  background-color:rgba(35,138,173,.14);
}
.profile-career-history td::selection,
.profile-career-history th::selection{
  background:transparent;
}

/* v90.26 main draft board row polish */
#playerList.player-list{
  gap:6px;
  padding:2px 3px 8px;
}
#playerList .player-card,
#playerList .player-card.disabled{
  grid-template-columns:78px minmax(210px,1.55fr) 64px 84px minmax(205px,.92fr) 86px!important;
  gap:12px!important;
  min-height:96px!important;
  padding:8px 10px!important;
  align-items:center;
  border-radius:9px!important;
  border-color:rgba(63,127,158,.36)!important;
  background:linear-gradient(90deg,rgba(6,27,42,.97),rgba(4,20,32,.98))!important;
  box-shadow:0 6px 16px rgba(0,0,0,.16)!important;
  overflow:hidden!important;
}
#playerList .player-card:hover{
  transform:none!important;
  border-color:rgba(82,204,240,.56)!important;
  background:linear-gradient(90deg,rgba(8,35,53,.99),rgba(5,24,38,.99))!important;
  box-shadow:0 8px 20px rgba(0,0,0,.2)!important;
}
#playerList .player-card.queued{
  border-color:rgba(54,210,248,.72)!important;
  box-shadow:inset 4px 0 0 #31cff8,0 8px 20px rgba(0,0,0,.2)!important;
}
#playerList .player-card.watched:not(.queued):not(.recommended){
  border-color:rgba(255,213,104,.48)!important;
  box-shadow:inset 4px 0 0 #ffd568,0 8px 20px rgba(0,0,0,.18)!important;
}
#playerList .player-card.recommended{
  border-color:rgba(95,230,158,.68)!important;
  background:linear-gradient(90deg,rgba(12,50,42,.98),rgba(4,20,32,.98) 42%)!important;
  box-shadow:inset 4px 0 0 #65eeaa,0 8px 22px rgba(0,0,0,.2)!important;
}
#playerList .player-row-photo,
#playerList .player-card .headshot{
  width:78px!important;
  height:86px!important;
  border-radius:9px!important;
  border-color:rgba(77,151,188,.36);
}
#playerList .player-row-photo img,
#playerList .player-card .headshot img{
  transform:scale(1.12);
}
#playerList .watchlist-btn{
  top:6px;
  left:6px;
  width:24px;
  height:24px;
  font-size:1rem;
  border-radius:7px;
  background:rgba(3,18,29,.9);
}
#playerList .player-identity{
  gap:4px;
  align-content:center;
}
#playerList .player-name-button{
  font-size:1rem!important;
  line-height:1.12;
}
#playerList .player-subtitle{
  gap:5px;
  color:#aec5d0;
  font-size:.78rem!important;
  line-height:1.15;
}
#playerList .player-source{
  display:none!important;
}
#playerList .player-card .xfactor-icons.compact{
  gap:5px;
  margin-top:2px;
  max-height:44px;
}
#playerList .player-card .xfactor-icon{
  width:2.15rem!important;
  height:2.15rem!important;
}
#playerList .player-value{
  min-height:58px;
  padding:7px 6px;
  border-left:1px solid rgba(50,103,130,.36);
}
#playerList .player-value span{
  color:#86a8b8;
  font-size:.62rem;
  letter-spacing:.07em;
}
#playerList .player-value strong{
  font-size:1.22rem;
}
#playerList .player-aav-value strong{
  font-size:.92rem;
}
#playerList .player-stat-strip{
  grid-template-columns:repeat(4,minmax(42px,1fr));
  gap:5px;
}
#playerList .player-stat-strip>div{
  min-height:46px;
  padding:6px 4px;
  border-radius:7px;
  border-color:rgba(48,101,128,.36);
  background:rgba(5,27,42,.68);
}
#playerList .player-stat-strip span{
  color:#83a4b5;
  font-size:.58rem;
}
#playerList .player-stat-strip strong{
  font-size:.86rem;
}
#playerList .player-actions{
  width:86px;
  gap:5px!important;
  align-self:center;
}
#playerList .player-actions button{
  min-height:29px;
  padding:5px 8px!important;
  border-radius:7px!important;
  border:1px solid rgba(92,157,186,.34);
  box-shadow:inset 0 1px rgba(255,255,255,.05)!important;
  font-size:.72rem!important;
  font-weight:850;
  line-height:1.05;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .12s ease!important;
}
#playerList .player-actions button:hover:not(:disabled),
#playerList .player-actions button:focus-visible:not(:disabled){
  transform:translateY(-1px)!important;
  filter:none!important;
  outline:0;
  box-shadow:0 0 0 1px rgba(114,218,250,.16),0 6px 14px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.08)!important;
}
#playerList .player-actions button:active:not(:disabled){
  transform:translateY(0)!important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.28)!important;
}
#playerList .player-actions .draft-btn.success{
  border-color:rgba(105,228,153,.5)!important;
  background:linear-gradient(180deg,rgba(93,220,123,.96),rgba(43,157,85,.96))!important;
  color:#06190d!important;
}
#playerList .player-actions .draft-btn.success:hover:not(:disabled),
#playerList .player-actions .draft-btn.success:focus-visible:not(:disabled){
  border-color:rgba(147,255,185,.76)!important;
  background:linear-gradient(180deg,rgba(125,242,154,.98),rgba(51,178,96,.98))!important;
  color:#031409!important;
}
#playerList .player-actions .queue-btn{
  border-color:rgba(88,183,220,.42)!important;
  background:rgba(8,45,65,.82)!important;
  color:#dbf4fb!important;
}
#playerList .player-actions .queue-btn:hover:not(:disabled),
#playerList .player-actions .queue-btn:focus-visible:not(:disabled){
  border-color:rgba(110,218,250,.62)!important;
  background:rgba(14,63,88,.94)!important;
  color:#f3fcff!important;
}
#playerList .player-actions .queue-btn.primary:not(:disabled){
  background:linear-gradient(180deg,#27adff,#83e4ff)!important;
  color:#041421!important;
}
#playerList .player-actions .queue-btn.primary:hover:not(:disabled),
#playerList .player-actions .queue-btn.primary:focus-visible:not(:disabled){
  border-color:rgba(151,238,255,.82)!important;
  background:linear-gradient(180deg,#51ceff,#b8f3ff)!important;
  color:#03111d!important;
}
#playerList .player-actions .queue-btn.queued{
  border-color:rgba(65,210,250,.62)!important;
  background:rgba(20,92,124,.82)!important;
}
#playerList .player-actions .profile-btn{
  border-color:rgba(93,151,179,.32)!important;
  background:rgba(3,20,32,.74)!important;
  color:#bcd5df!important;
}
#playerList .player-actions .profile-btn:hover:not(:disabled),
#playerList .player-actions .profile-btn:focus-visible:not(:disabled){
  border-color:rgba(118,197,230,.52)!important;
  background:rgba(7,35,53,.9)!important;
  color:#ecfbff!important;
}
#playerList .player-actions .danger{
  border-color:rgba(255,118,127,.55)!important;
  background:rgba(120,35,46,.68)!important;
  color:#ffe2e5!important;
}
#playerList .player-actions .danger:hover:not(:disabled),
#playerList .player-actions .danger:focus-visible:not(:disabled){
  border-color:rgba(255,150,157,.75)!important;
  background:rgba(148,45,57,.82)!important;
}
#playerList .player-actions .disabled-action,
#playerList .player-actions button:disabled{
  border-color:rgba(103,128,142,.24)!important;
  background:rgba(65,82,93,.18)!important;
  color:#7f99a6!important;
  opacity:1!important;
}
#playerList .player-action-reason{
  padding-top:1px;
  font-size:.62rem;
  line-height:1.15;
  color:#95afbd;
}

@media(max-width:900px){
  #playerList .player-card,
  #playerList .player-card.disabled{
    grid-template-columns:76px minmax(0,1fr) 60px 78px!important;
    grid-template-areas:
      "photo identity overall aav"
      "stats stats stats actions"!important;
    min-height:116px!important;
  }
  #playerList .player-row-photo,
  #playerList .player-card .headshot{grid-area:photo;}
  #playerList .player-identity{grid-area:identity;}
  #playerList .player-overall-value{grid-area:overall;}
  #playerList .player-aav-value{grid-area:aav;}
  #playerList .player-stat-strip{grid-area:stats;max-width:none;}
  #playerList .player-actions{
    grid-area:actions;
    width:auto;
    grid-template-columns:1fr!important;
  }
}
@media(max-width:620px){
  #playerList .player-card,
  #playerList .player-card.disabled{
    grid-template-columns:70px minmax(0,1fr) 62px!important;
    grid-template-areas:
      "photo identity overall"
      "photo identity aav"
      "stats stats stats"
      "actions actions actions"!important;
    gap:8px!important;
    min-height:0!important;
  }
  #playerList .player-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #playerList .player-row-photo,
  #playerList .player-card .headshot{
    width:70px!important;
    height:78px!important;
  }
}

@media(max-width:900px){
  .profile-hero-card{
    grid-template-columns:104px minmax(0,1fr) 84px;
  }
  .profile-photo-stage{
    padding-top:4px;
  }
  .profile-photo-stage .profile-photo{
    width:100px!important;
    height:148px!important;
  }
  .profile-photo-stage .profile-photo img{
    height:112%!important;
    transform:translateY(6px) scale(1.02)!important;
  }
  .profile-section-heading{gap:2px;}
}
@media(max-width:620px){
  .profile-photo-stage .profile-photo{
    width:78px!important;
    height:116px!important;
  }
  .profile-photo-stage .profile-photo img{
    transform:translateY(5px) scale(1.02)!important;
  }
}

/* v90.27 scoped draft header and toolbar polish */
#draftView > .topbar{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:58px;
  margin-bottom:8px;
  padding:8px 10px;
  border:1px solid rgba(52,132,166,.28);
  border-radius:12px;
  background:linear-gradient(90deg,rgba(5,24,38,.95),rgba(3,17,28,.96));
}
#draftView > .topbar > div:first-child{
  min-width:0;
}
#draftView > .topbar .brand-row{
  gap:7px;
}
#draftView > .topbar h1{
  margin-top:3px;
  font-size:clamp(1.1rem,1.45vw,1.42rem)!important;
  letter-spacing:-.01em!important;
}
#draftView > .topbar p{
  max-width:68ch;
  margin-top:2px;
  overflow:hidden;
  color:#9fb7c5;
  font-size:.78rem!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#draftView > .topbar .topbar-site-brand{
  width:34px;
  height:34px;
  border-radius:8px;
}
#draftView > .topbar .badge{
  min-height:24px;
  padding:3px 8px;
  border-radius:7px;
  font-size:.68rem!important;
}
#draftView > .topbar .top-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  max-width:760px;
}
#draftView > .topbar .top-actions button{
  min-height:32px;
  padding:6px 10px;
  border-radius:8px;
  font-size:.74rem!important;
  line-height:1.05;
  white-space:nowrap;
}
#draftView > .topbar .top-actions button:hover,
#draftView > .topbar .top-actions button:focus-visible{
  border-color:rgba(87,203,239,.58);
  background:linear-gradient(180deg,rgba(18,62,86,.92),rgba(8,34,52,.94));
  box-shadow:0 0 0 2px rgba(67,198,238,.12);
}
#draftView > .topbar .top-actions button.primary:hover,
#draftView > .topbar .top-actions button.primary:focus-visible{
  background:linear-gradient(180deg,#51ceff,#b8f3ff);
  color:#03111d;
}
#draftView > .topbar .top-actions button.danger:hover,
#draftView > .topbar .top-actions button.danger:focus-visible{
  border-color:rgba(255,118,118,.72);
  background:linear-gradient(180deg,rgba(185,48,57,.92),rgba(116,24,35,.94));
}
#draftView > .topbar #leaveBtn{
  min-width:62px;
}
#phaseStatusHeader.unified-status-panel{
  grid-template-columns:50px minmax(260px,1fr) minmax(420px,.9fr);
  gap:12px;
  align-items:center;
  margin:0 0 12px;
  padding:11px 12px;
  border-radius:12px;
  border-color:rgba(63,171,210,.32);
  background:
    linear-gradient(90deg,rgba(6,30,46,.98),rgba(4,19,31,.98)),
    radial-gradient(circle at 18% 50%,rgba(66,210,248,.12),transparent 42%);
}
#phaseStatusHeader .phase-status-icon{
  width:44px;
  height:44px;
  border-radius:11px;
  font-size:.95rem;
}
#phaseStatusHeader .phase-status-copy{
  min-width:0;
}
#phaseStatusHeader .phase-status-copy .eyebrow{
  font-size:.62rem!important;
  letter-spacing:.11em!important;
}
#phaseStatusHeader .phase-status-copy h2{
  margin-top:2px;
  font-size:clamp(1rem,1.45vw,1.28rem);
  line-height:1.08;
}
#phaseStatusHeader .phase-status-copy p{
  max-width:72ch;
  margin-top:4px;
  color:#a5bdca;
  font-size:.78rem;
  line-height:1.25;
}
#phaseStatusHeader .phase-status-meta{
  gap:5px;
  margin-top:6px;
}
#phaseStatusHeader .phase-status-meta .pill{
  min-height:22px;
  padding:3px 7px;
  border-radius:6px;
  font-size:.66rem!important;
}
#phaseStatusHeader .unified-status-controls{
  display:grid;
  gap:7px;
  min-width:0;
}
#phaseStatusHeader .unified-status-primary{
  display:grid;
  grid-template-columns:minmax(260px,330px) minmax(150px,1fr);
  gap:8px;
  align-items:stretch;
}
#phaseStatusHeader .draft-clock-card{
  width:100%;
  min-height:70px;
  grid-template-columns:44px minmax(0,1fr);
  gap:9px;
  padding:8px 10px;
  border-radius:10px;
  background:linear-gradient(145deg,rgba(4,27,42,.96),rgba(2,16,27,.96));
}
#phaseStatusHeader .draft-clock-logo{
  width:42px;
  height:42px;
  border-radius:9px;
}
#phaseStatusHeader .draft-clock-copy{
  gap:1px 9px;
}
#phaseStatusHeader .draft-clock-copy > small{
  font-size:.58rem;
}
#phaseStatusHeader .draft-clock-copy > .timer-box,
#phaseStatusHeader .draft-clock-card.not-started .draft-clock-copy > .timer-box{
  font-size:clamp(1.42rem,1.9vw,2.02rem)!important;
  line-height:.95;
}
#phaseStatusHeader .draft-clock-copy > #draftClockContext{
  font-size:.62rem;
}
#phaseStatusHeader .draft-clock-track{
  gap:4px;
  margin-top:6px;
}
#phaseStatusHeader .draft-clock-track i{
  height:3px;
}
#phaseStatusHeader .phase-status-action{
  min-width:0;
  max-width:none;
  display:grid;
  align-content:center;
  gap:3px;
}
#phaseStatusHeader .phase-status-action button{
  width:100%;
  min-height:42px;
  padding:8px 12px;
  border-radius:9px;
  font-size:.78rem!important;
  line-height:1.1;
}
#phaseStatusHeader .phase-status-action small{
  max-width:none;
  color:#8fa9b8;
  font-size:.62rem;
  line-height:1.22;
  text-align:left;
}
#phaseStatusHeader .unified-utility-actions{
  justify-content:flex-end!important;
  gap:5px;
}
#phaseStatusHeader .unified-utility-actions button{
  min-height:30px;
  padding:5px 8px;
  border-radius:8px;
  font-size:.66rem!important;
}
#phaseStatusHeader .phase-status-action button:hover,
#phaseStatusHeader .phase-status-action button:focus-visible,
#phaseStatusHeader .unified-utility-actions button:hover,
#phaseStatusHeader .unified-utility-actions button:focus-visible{
  border-color:rgba(87,203,239,.58);
  background:linear-gradient(180deg,rgba(18,62,86,.92),rgba(8,34,52,.94));
  box-shadow:0 0 0 2px rgba(67,198,238,.12);
}
#phaseStatusHeader .phase-status-action button.primary:hover,
#phaseStatusHeader .phase-status-action button.primary:focus-visible{
  background:linear-gradient(180deg,#51ceff,#b8f3ff);
  color:#03111d;
}
#phaseStatusHeader.tone-your-turn{
  border-color:rgba(79,224,151,.48);
}
#phaseStatusHeader.tone-warning,
#phaseStatusHeader.tone-override{
  border-color:rgba(255,187,72,.48);
}
#phaseStatusHeader.tone-complete,
#phaseStatusHeader.tone-ready{
  border-color:rgba(107,235,153,.44);
}
#draftBoardPanel .players-card > .toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1.45fr) repeat(3,minmax(112px,.7fr)) minmax(126px,.72fr) minmax(170px,.85fr) minmax(160px,.85fr);
  gap:7px;
  align-items:stretch;
  padding:8px;
  border:1px solid rgba(55,127,160,.26);
  border-radius:10px;
  background:rgba(3,18,29,.54);
}
#draftBoardPanel .players-card > .toolbar > *{
  min-width:0;
}
#draftBoardPanel .players-card > .toolbar input,
#draftBoardPanel .players-card > .toolbar select{
  min-height:38px;
  border-radius:8px!important;
  border-color:rgba(73,143,175,.32)!important;
  background-color:#041827!important;
  font-size:.78rem!important;
}
#draftBoardPanel .players-card > .toolbar input:hover,
#draftBoardPanel .players-card > .toolbar select:hover{
  border-color:rgba(86,190,226,.5)!important;
}
#draftBoardPanel .players-card > .toolbar input:focus,
#draftBoardPanel .players-card > .toolbar select:focus{
  border-color:rgba(85,219,255,.7)!important;
  box-shadow:0 0 0 2px rgba(72,203,244,.13)!important;
}
#draftBoardPanel .players-card > .toolbar #searchInput{
  padding-left:12px;
}
#draftBoardPanel .players-card > .toolbar .toolbar-check,
#draftBoardPanel .players-card > .toolbar .salary-range-control{
  min-height:38px;
  padding:6px 9px;
  border-radius:8px;
  border-color:rgba(73,143,175,.32);
  background:rgba(4,24,38,.74);
}
#draftBoardPanel .players-card > .toolbar .toolbar-check{
  display:flex;
  align-items:center;
  gap:7px;
}
#draftBoardPanel .players-card > .toolbar .toolbar-check span,
#draftBoardPanel .players-card > .toolbar .salary-range-control span{
  font-size:.72rem!important;
  line-height:1.1;
}
#draftBoardPanel .players-card > .toolbar .toolbar-check input{
  width:15px;
  height:15px;
  min-height:0;
}
#draftBoardPanel .players-card > .toolbar .salary-range-control{
  display:grid;
  gap:4px;
}
#draftBoardPanel .players-card > .toolbar .salary-range-control input[type="range"]{
  min-height:0;
}
#draftBoardPanel .players-card > .toolbar .filter-active,
#draftBoardPanel .players-card > .toolbar .toolbar-check.filter-active,
#draftBoardPanel .players-card > .toolbar .salary-range-control.filter-active{
  border-color:rgba(83,213,249,.64)!important;
  box-shadow:inset 3px 0 0 rgba(64,210,247,.72);
  background-color:rgba(8,42,59,.86)!important;
}
#draftBoardPanel .players-card > .toolbar .toolbar-check.filter-active{
  border-color:rgba(107,231,152,.56)!important;
  box-shadow:inset 3px 0 0 rgba(105,230,150,.82);
}
#draftBoardPanel .players-card > .toolbar #sortInput.filter-active{
  border-color:rgba(255,204,96,.58)!important;
  box-shadow:inset 3px 0 0 rgba(255,204,96,.72);
}

@media(max-width:1250px){
  #draftView > .topbar{
    grid-template-columns:1fr;
    align-items:start;
  }
  #draftView > .topbar .top-actions{
    justify-content:flex-start;
    max-width:none;
  }
  #phaseStatusHeader.unified-status-panel{
    grid-template-columns:46px minmax(0,1fr);
  }
  #phaseStatusHeader .unified-status-controls{
    grid-column:1/-1;
  }
  #phaseStatusHeader .unified-status-primary{
    grid-template-columns:minmax(250px,330px) minmax(180px,1fr);
  }
  #draftBoardPanel .players-card > .toolbar{
    grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(120px,1fr));
  }
  #draftBoardPanel .players-card > .toolbar .toolbar-check,
  #draftBoardPanel .players-card > .toolbar .salary-range-control,
  #draftBoardPanel .players-card > .toolbar #sortInput{
    grid-column:auto;
  }
}
@media(max-width:760px){
  #phaseStatusHeader .unified-status-primary{
    grid-template-columns:1fr;
  }
  #phaseStatusHeader .unified-utility-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #draftBoardPanel .players-card > .toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #draftBoardPanel .players-card > .toolbar #searchInput,
  #draftBoardPanel .players-card > .toolbar .salary-range-control,
  #draftBoardPanel .players-card > .toolbar #sortInput{
    grid-column:1/-1;
  }
}
@media(max-width:520px){
  #draftBoardPanel .players-card > .toolbar{
    grid-template-columns:1fr;
  }
  #draftBoardPanel .players-card > .toolbar #searchInput,
  #draftBoardPanel .players-card > .toolbar .salary-range-control,
  #draftBoardPanel .players-card > .toolbar #sortInput{
    grid-column:auto;
  }
}

/* v90.28 corrective draft header and filter toolbar polish */
#draftView > .topbar{
  border-radius:10px;
}
#phaseStatusHeader.unified-status-panel{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:88px;
  padding:10px 12px;
  border-radius:11px;
  overflow:hidden;
}
#phaseStatusHeader .phase-status-icon{
  flex:0 0 44px;
  width:44px;
  height:44px;
  border-radius:10px;
}
#phaseStatusHeader .phase-status-copy{
  flex:1 1 380px;
  max-width:760px;
}
#phaseStatusHeader .phase-status-copy h2{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#phaseStatusHeader .phase-status-copy p{
  max-width:54rem;
}
#phaseStatusHeader .phase-status-meta .pill{
  min-width:0;
  white-space:nowrap;
}
#phaseStatusHeader .unified-status-controls{
  flex:0 1 620px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 8px;
  margin-left:auto;
}
#phaseStatusHeader .unified-status-primary{
  flex:0 1 auto;
  display:flex;
  justify-content:flex-end;
  align-items:stretch;
  gap:8px;
  min-width:0;
}
#phaseStatusHeader .draft-clock-card{
  flex:0 0 330px;
  min-width:300px;
  max-width:330px;
  min-height:68px;
}
#phaseStatusHeader .draft-clock-copy > .timer-box,
#phaseStatusHeader .draft-clock-card.not-started .draft-clock-copy > .timer-box{
  font-size:clamp(1.38rem,1.75vw,1.92rem)!important;
}
#phaseStatusHeader .phase-status-action{
  flex:0 0 178px;
  max-width:178px;
}
#phaseStatusHeader .phase-status-action button{
  min-height:42px;
  padding:8px 12px;
  border-radius:8px;
  white-space:nowrap;
}
#phaseStatusHeader .phase-status-action small{
  display:none;
}
#phaseStatusHeader .unified-utility-actions{
  flex:0 1 100%;
  display:flex!important;
  justify-content:flex-end!important;
  gap:6px;
}
#phaseStatusHeader .unified-utility-actions button{
  min-height:30px;
  padding:5px 8px;
  border-radius:7px;
}

#draftBoardPanel .players-card > .toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  padding:8px;
  overflow:visible;
}
#draftBoardPanel .players-card > .toolbar input,
#draftBoardPanel .players-card > .toolbar select,
#draftBoardPanel .players-card > .toolbar .toolbar-check,
#draftBoardPanel .players-card > .toolbar .salary-range-control{
  min-height:38px;
}
#draftBoardPanel .players-card > .toolbar #searchInput{
  flex:1 1 260px;
  min-width:230px;
  max-width:360px;
}
#draftBoardPanel .players-card > .toolbar #positionFilter,
#draftBoardPanel .players-card > .toolbar #handednessFilter{
  flex:0 1 118px;
  min-width:112px;
}
#draftBoardPanel .players-card > .toolbar #teamFilter{
  flex:1 1 136px;
  min-width:128px;
  max-width:170px;
}
#draftBoardPanel .players-card > .toolbar .toolbar-check{
  flex:0 0 150px;
  justify-content:center;
}
#draftBoardPanel .players-card > .toolbar .salary-range-control{
  flex:1 1 220px;
  min-width:190px;
  max-width:280px;
}
#draftBoardPanel .players-card > .toolbar #sortInput{
  flex:1 1 190px;
  min-width:180px;
  max-width:260px;
}
#draftBoardPanel .players-card > .toolbar .filter-active,
#draftBoardPanel .players-card > .toolbar .toolbar-check.filter-active,
#draftBoardPanel .players-card > .toolbar .salary-range-control.filter-active{
  border-color:rgba(84,197,231,.5)!important;
  box-shadow:inset 0 -2px 0 rgba(67,206,247,.62);
  background-color:rgba(6,31,47,.82)!important;
}
#draftBoardPanel .players-card > .toolbar .toolbar-check.filter-active{
  border-color:rgba(106,223,149,.48)!important;
  box-shadow:inset 0 -2px 0 rgba(106,223,149,.62);
}
#draftBoardPanel .players-card > .toolbar #sortInput.filter-active{
  border-color:rgba(255,204,96,.48)!important;
  box-shadow:inset 0 -2px 0 rgba(255,204,96,.62);
}

@media(max-width:1450px){
  #phaseStatusHeader.unified-status-panel{
    align-items:flex-start;
  }
  #phaseStatusHeader .unified-status-controls{
    flex-basis:560px;
  }
  #phaseStatusHeader .draft-clock-card{
    flex-basis:300px;
    min-width:280px;
  }
  #phaseStatusHeader .phase-status-action{
    flex-basis:160px;
    max-width:160px;
  }
}
@media(max-width:1180px){
  #phaseStatusHeader.unified-status-panel{
    flex-wrap:wrap;
  }
  #phaseStatusHeader .phase-status-copy{
    flex-basis:calc(100% - 60px);
  }
  #phaseStatusHeader .unified-status-controls{
    flex:1 1 100%;
  }
  #phaseStatusHeader .unified-status-primary,
  #phaseStatusHeader .unified-utility-actions{
    justify-content:flex-start!important;
  }
}
@media(max-width:760px){
  #phaseStatusHeader .unified-status-primary{
    flex:1 1 100%;
    flex-wrap:wrap;
  }
  #phaseStatusHeader .draft-clock-card,
  #phaseStatusHeader .phase-status-action{
    flex:1 1 100%;
    min-width:0;
    max-width:none;
  }
  #phaseStatusHeader .unified-utility-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #draftBoardPanel .players-card > .toolbar #searchInput,
  #draftBoardPanel .players-card > .toolbar #teamFilter,
  #draftBoardPanel .players-card > .toolbar #sortInput,
  #draftBoardPanel .players-card > .toolbar .salary-range-control{
    max-width:none;
  }
}
@media(max-width:520px){
  #draftBoardPanel .players-card > .toolbar > *{
    flex:1 1 100%!important;
    max-width:none!important;
  }
}

/* v90.29 draft header command bar refinement */
#phaseStatusHeader.unified-status-panel{
  display:grid;
  grid-template-columns:48px minmax(360px,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:86px;
  padding:9px 10px 9px 12px;
  border-radius:10px;
  background:
    linear-gradient(90deg,rgba(5,28,43,.98),rgba(3,17,29,.98)),
    radial-gradient(circle at 8% 48%,rgba(74,213,244,.13),transparent 30rem);
}
#phaseStatusHeader .phase-status-icon{
  width:44px;
  height:44px;
  border-radius:10px;
  box-shadow:inset 0 0 0 1px rgba(106,213,247,.24);
}
#phaseStatusHeader .phase-status-copy{
  min-width:0;
  max-width:none;
}
#phaseStatusHeader .phase-status-copy h2{
  margin-top:2px;
  font-size:clamp(1.03rem,1.18vw,1.34rem);
  line-height:1.06;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#phaseStatusHeader .phase-status-copy p{
  max-width:58rem;
  margin-top:4px;
  font-size:.74rem;
  line-height:1.22;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#phaseStatusHeader .phase-status-meta{
  margin-top:7px;
}
#phaseStatusHeader .phase-status-meta .pill{
  min-height:22px;
  padding:3px 7px;
  border-radius:6px;
  background:rgba(8,37,55,.82);
}
#phaseStatusHeader .unified-status-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:8px;
  width:auto;
  max-width:none;
  margin-left:auto;
}
#phaseStatusHeader .unified-status-primary{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
#phaseStatusHeader .draft-clock-card{
  flex:0 0 324px;
  min-width:324px;
  max-width:324px;
  min-height:60px;
  padding:7px 9px;
  grid-template-columns:40px minmax(0,1fr);
  border-radius:9px;
  background:linear-gradient(145deg,rgba(6,32,49,.98),rgba(3,19,31,.98));
}
#phaseStatusHeader .draft-clock-logo{
  width:38px;
  height:38px;
  border-radius:8px;
}
#phaseStatusHeader .draft-clock-copy{
  gap:1px 8px;
}
#phaseStatusHeader .draft-clock-copy > small{
  font-size:.56rem;
  letter-spacing:.12em;
}
#phaseStatusHeader .draft-clock-copy > .timer-box,
#phaseStatusHeader .draft-clock-card.not-started .draft-clock-copy > .timer-box{
  font-size:clamp(1.48rem,1.65vw,1.95rem)!important;
  line-height:.92;
}
#phaseStatusHeader .draft-clock-copy > #draftClockContext{
  font-size:.6rem;
  letter-spacing:.09em;
}
#phaseStatusHeader .draft-clock-track{
  gap:4px;
  margin-top:5px;
}
#phaseStatusHeader .draft-clock-track i{
  height:3px;
}
#phaseStatusHeader .phase-status-action{
  flex:0 0 176px;
  max-width:176px;
}
#phaseStatusHeader .phase-status-action button{
  min-height:44px;
  padding:8px 12px;
  border-radius:8px;
  font-size:.74rem!important;
  white-space:nowrap;
}
#phaseStatusHeader .phase-status-action small{
  display:none;
}
#phaseStatusHeader .unified-utility-actions{
  display:flex!important;
  flex:0 0 auto;
  flex-wrap:nowrap;
  justify-content:flex-end!important;
  gap:5px;
}
#phaseStatusHeader .unified-utility-actions button{
  min-height:32px;
  padding:5px 8px;
  border-radius:7px;
  font-size:.62rem!important;
}
#phaseStatusHeader.tone-your-turn{
  border-color:rgba(95,229,157,.5);
  box-shadow:inset 4px 0 0 rgba(95,229,157,.72),0 16px 42px rgba(0,0,0,.24);
}
#phaseStatusHeader.tone-live{
  box-shadow:inset 4px 0 0 rgba(65,199,239,.62),0 16px 42px rgba(0,0,0,.2);
}
@media(max-width:1580px){
  #phaseStatusHeader.unified-status-panel{
    grid-template-columns:48px minmax(300px,1fr) minmax(0,720px);
  }
  #phaseStatusHeader .draft-clock-card{
    flex-basis:292px;
    min-width:292px;
    max-width:292px;
  }
  #phaseStatusHeader .phase-status-action{
    flex-basis:158px;
    max-width:158px;
  }
  #phaseStatusHeader .unified-utility-actions button{
    padding-inline:7px;
  }
}
@media(max-width:1320px){
  #phaseStatusHeader.unified-status-panel{
    grid-template-columns:48px minmax(0,1fr);
  }
  #phaseStatusHeader .unified-status-controls{
    grid-column:1/-1;
    width:100%;
    flex-wrap:wrap;
    justify-content:flex-start;
    margin-left:0;
  }
  #phaseStatusHeader .unified-status-primary{
    flex:1 1 100%;
  }
  #phaseStatusHeader .unified-utility-actions{
    flex-wrap:wrap;
    justify-content:flex-start!important;
  }
}
@media(max-width:760px){
  #phaseStatusHeader.unified-status-panel{
    grid-template-columns:42px minmax(0,1fr);
    min-height:0;
  }
  #phaseStatusHeader .phase-status-icon{
    width:40px;
    height:40px;
  }
  #phaseStatusHeader .phase-status-copy h2,
  #phaseStatusHeader .phase-status-copy p{
    white-space:normal;
  }
  #phaseStatusHeader .unified-status-primary{
    flex-wrap:wrap;
  }
  #phaseStatusHeader .draft-clock-card,
  #phaseStatusHeader .phase-status-action{
    flex:1 1 100%;
    min-width:0;
    max-width:none;
  }
  #phaseStatusHeader .unified-utility-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
}

/* v90.30 centered clock header hierarchy */
#draftView > .topbar .topbar-site-brand{
  width:48px;
  height:48px;
}
#draftView > .topbar{
  min-height:78px;
  padding:10px 12px;
}
#phaseStatusHeader.unified-status-panel{
  position:relative;
  display:grid;
  grid-template-columns:88px minmax(260px,1fr) minmax(220px,260px);
  grid-template-areas:
    "logo status action"
    "logo status utilities";
  column-gap:16px;
  row-gap:6px;
  align-items:center;
  min-height:116px;
  padding:14px;
  border-radius:11px;
  overflow:hidden;
}
#phaseStatusHeader .phase-status-icon{
  grid-area:logo;
  justify-self:start;
  align-self:center;
  width:78px;
  height:78px;
  border-radius:15px;
  padding:9px;
  font-size:1.2rem;
  background:linear-gradient(145deg,rgba(14,64,86,.96),rgba(5,29,46,.98));
  box-shadow:inset 0 0 0 1px rgba(115,220,248,.28),0 14px 28px rgba(0,0,0,.22);
}
#phaseStatusHeader .phase-status-copy{
  grid-area:status;
  z-index:2;
  align-self:center;
  width:100%;
  max-width:min(520px,calc(50vw - 315px));
  min-width:0;
}
#phaseStatusHeader .phase-status-copy h2{
  font-size:clamp(1.15rem,1.42vw,1.62rem);
  line-height:1.05;
}
#phaseStatusHeader .phase-status-copy p{
  max-width:100%;
  font-size:.78rem;
  line-height:1.28;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
#phaseStatusHeader .phase-status-meta{
  margin-top:8px;
}
#phaseStatusHeader .unified-status-controls,
#phaseStatusHeader .unified-status-primary{
  display:contents;
}
#phaseStatusHeader .draft-clock-card{
  position:absolute;
  left:50%;
  top:50%;
  z-index:1;
  width:clamp(390px,28vw,480px);
  min-width:390px;
  max-width:480px;
  min-height:82px;
  transform:translate(-50%,-50%);
  grid-template-columns:56px minmax(0,1fr);
  gap:11px;
  padding:10px 13px;
  border-radius:12px;
  background:
    linear-gradient(145deg,rgba(7,35,54,.98),rgba(3,18,31,.99)),
    radial-gradient(circle at 50% 0%,rgba(81,215,249,.16),transparent 72%);
  box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 0 0 1px rgba(89,196,231,.24);
}
#phaseStatusHeader .draft-clock-logo{
  width:52px;
  height:52px;
  border-radius:11px;
}
#phaseStatusHeader .draft-clock-copy{
  gap:2px 10px;
}
#phaseStatusHeader .draft-clock-copy > small{
  font-size:.64rem;
  letter-spacing:.13em;
}
#phaseStatusHeader .draft-clock-copy > .timer-box,
#phaseStatusHeader .draft-clock-card.not-started .draft-clock-copy > .timer-box{
  font-size:clamp(2.15rem,3vw,3rem)!important;
  line-height:.9;
}
#phaseStatusHeader .draft-clock-copy > #draftClockContext{
  font-size:.68rem;
}
#phaseStatusHeader .draft-clock-track{
  gap:5px;
  margin-top:7px;
}
#phaseStatusHeader .draft-clock-track i{
  height:4px;
}
#phaseStatusHeader .phase-status-action{
  grid-area:action;
  z-index:2;
  justify-self:stretch;
  align-self:end;
  width:100%;
  max-width:none;
}
#phaseStatusHeader .phase-status-action button{
  width:100%;
  min-height:54px;
  padding:10px 14px;
  border-radius:10px;
  font-size:.82rem!important;
}
#phaseStatusHeader .unified-utility-actions{
  grid-area:utilities;
  z-index:2;
  justify-self:end;
  align-self:start;
  display:flex!important;
  flex-wrap:wrap;
  justify-content:flex-end!important;
  gap:5px;
  max-width:270px;
}
#phaseStatusHeader .unified-utility-actions button{
  min-height:28px;
  padding:4px 7px;
  border-radius:7px;
  font-size:.6rem!important;
}
@media(max-width:1480px){
  #phaseStatusHeader.unified-status-panel{
    grid-template-columns:82px minmax(0,1fr) minmax(190px,240px);
    grid-template-areas:
      "logo status action"
      "clock clock utilities";
    min-height:0;
  }
  #phaseStatusHeader .phase-status-icon{
    width:72px;
    height:72px;
  }
  #phaseStatusHeader .phase-status-copy{
    max-width:none;
  }
  #phaseStatusHeader .draft-clock-card{
    position:static;
    grid-area:clock;
    justify-self:stretch;
    width:100%;
    min-width:0;
    max-width:none;
    transform:none;
  }
}
@media(max-width:820px){
  #phaseStatusHeader.unified-status-panel{
    grid-template-columns:66px minmax(0,1fr);
    grid-template-areas:
      "logo status"
      "clock clock"
      "action action"
      "utilities utilities";
  }
  #phaseStatusHeader .phase-status-icon{
    width:58px;
    height:58px;
    border-radius:13px;
    padding:7px;
  }
  #phaseStatusHeader .phase-status-copy h2,
  #phaseStatusHeader .phase-status-copy p{
    white-space:normal;
  }
  #phaseStatusHeader .phase-status-action{
    align-self:stretch;
  }
  #phaseStatusHeader .unified-utility-actions{
    width:100%;
    max-width:none;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* v90.32 lobby team card polish */
#teamList .team-row{
  position:relative;
  overflow:hidden;
  min-height:58px;
  isolation:isolate;
  --team-primary-rgb:10 42 62;
  --team-secondary-rgb:52 180 216;
  --team-glow-rgb:107 215 255;
  border-color:rgb(var(--team-secondary-rgb) / .36);
  background:
    linear-gradient(105deg,rgb(var(--team-primary-rgb) / .36) 0%,rgb(var(--team-secondary-rgb) / .22) 46%,rgba(3,18,30,.86) 100%),
    rgba(3,20,32,.86);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045);
}
#teamList .team-row::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 91% 48%,rgb(var(--team-secondary-rgb) / .26),transparent 34%),
    linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.38) 72%,rgba(0,0,0,.2));
  opacity:.72;
  transition:opacity .18s ease,background .18s ease;
}
#teamList .team-row.current::before,
#teamList .team-row:hover::before{
  opacity:.95;
}
#teamList .team-row.current,
#teamList .team-row:hover{
  border-color:rgb(var(--team-secondary-rgb) / .58);
}
#teamList .team-row.lobby-picking{
  border-color:rgb(var(--team-glow-rgb) / .95);
  box-shadow:
    inset 4px 0 0 rgb(var(--team-glow-rgb) / .95),
    inset 0 0 0 1px rgb(var(--team-glow-rgb) / .3),
    0 0 0 2px rgb(var(--team-glow-rgb) / .32),
    0 0 18px rgb(var(--team-glow-rgb) / .3),
    0 0 42px rgb(var(--team-glow-rgb) / .18);
  animation:teamRowPickingSurge 2.8s ease-in-out infinite;
}
#teamList .team-row.lobby-picking::before{
  opacity:1;
  background:
    radial-gradient(circle at 13% 52%,rgb(var(--team-glow-rgb) / .48),transparent 31%),
    radial-gradient(circle at 91% 48%,rgb(var(--team-glow-rgb) / .36),transparent 37%),
    linear-gradient(90deg,rgba(0,0,0,.02),rgba(0,0,0,.37) 72%,rgba(0,0,0,.2));
}
#teamList .team-row.lobby-picking::after{
  content:"";
  position:absolute;
  inset:-20% -30%;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 27%,rgb(var(--team-glow-rgb) / .42) 48%,transparent 69%);
  opacity:.65;
  transform:translateX(-80%);
  animation:teamRowPickingSweep 4.1s cubic-bezier(.22,.72,.28,1) infinite;
}
#teamList .team-row-bg-logo{
  position:absolute;
  right:-1.85rem;
  top:-2.08rem;
  z-index:0;
  width:8.25rem;
  height:8.25rem;
  transform:rotate(-7deg);
  opacity:1;
  pointer-events:none;
}
#teamList .team-row-bg-logo::before{
  content:"";
  position:absolute;
  inset:-.35rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(3,13,22,.58),rgba(3,13,22,.14) 49%,transparent 72%);
  box-shadow:inset 0 0 0 1px rgb(var(--team-secondary-rgb) / .1);
}
#teamList .team-row-bg-logo img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.25;
  filter:saturate(1.04) brightness(1.08) drop-shadow(0 0 18px rgb(var(--team-secondary-rgb) / .14));
}
#teamList .team-row-bg-logo img[src*="TBL_light.svg"]{
  opacity:.4;
  filter:brightness(1.68) saturate(1.22) drop-shadow(0 0 22px rgba(116,225,255,.24));
}
#teamList .team-row-rank{
  position:relative;
  z-index:1;
  display:grid!important;
  place-items:center;
  width:2rem;
  height:2rem;
  min-width:2rem;
  padding:0!important;
  line-height:1!important;
  text-align:center;
  font-variant-numeric:tabular-nums;
  border-color:rgb(var(--team-secondary-rgb) / .36);
  background:rgba(5,24,37,.62);
  color:#d8f6ff;
}
#teamList .team-row-copy,
#teamList .team-actions{
  position:relative;
  z-index:1;
}
#teamList .team-row-copy{
  min-width:0;
  text-shadow:0 1px 8px rgba(0,0,0,.62);
}
#teamList .team-actions button{
  position:relative;
  z-index:1;
  background:rgba(4,23,36,.72);
  border-color:rgb(var(--team-secondary-rgb) / .28);
}
#teamList .team-row.lobby-picking .team-row-copy strong{
  font-size:.88rem;
  line-height:1.12;
}
#teamList .team-row.lobby-picking .team-row-copy small{
  font-size:.74rem;
}
#teamList .team-row-picking-badge{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.62rem;
  padding:.18rem .42rem;
  border:1px solid rgb(var(--team-glow-rgb) / .78);
  border-radius:999px;
  background:
    linear-gradient(180deg,rgb(var(--team-glow-rgb) / .3),rgba(4,23,36,.76)),
    rgba(4,23,36,.86);
  color:#effcff;
  font-size:.62rem;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-shadow:0 1px 5px rgba(0,0,0,.65);
  box-shadow:0 0 18px rgb(var(--team-glow-rgb) / .3);
}
#teamList .team-row.lobby-picking .team-row-rank{
  border-color:rgb(var(--team-glow-rgb) / .86);
  background:
    radial-gradient(circle at 50% 35%,rgb(var(--team-glow-rgb) / .46),rgba(5,24,37,.76)),
    rgba(5,24,37,.78);
  color:#fff;
  box-shadow:0 0 22px rgb(var(--team-glow-rgb) / .34);
}
#teamList .team-row.has-team-bg-logo{
  padding-right:4.75rem;
}
@keyframes teamRowPickingSurge{
  0%,100%{
    box-shadow:
      inset 4px 0 0 rgb(var(--team-glow-rgb) / .88),
      inset 0 0 0 1px rgb(var(--team-glow-rgb) / .22),
      0 0 0 1px rgb(var(--team-glow-rgb) / .18),
      0 0 0 2px rgb(var(--team-glow-rgb) / .24),
      0 0 22px rgb(var(--team-glow-rgb) / .22);
  }
  50%{
    box-shadow:
      inset 5px 0 0 rgb(var(--team-glow-rgb) / 1),
      inset 0 0 0 1px rgb(var(--team-glow-rgb) / .42),
      0 0 0 1px rgb(var(--team-glow-rgb) / .28),
      0 0 0 3px rgb(var(--team-glow-rgb) / .38),
      0 0 38px rgb(var(--team-glow-rgb) / .42);
  }
}
@keyframes teamRowPickingSweep{
  0%,34%{
    transform:translateX(-86%);
    opacity:0;
  }
  50%{
    opacity:.74;
  }
  76%,100%{
    transform:translateX(82%);
    opacity:0;
  }
}
@media(prefers-reduced-motion:reduce){
  #teamList .team-row.lobby-picking,
  #teamList .team-row.lobby-picking::after{
    animation:none;
  }
}
@media(max-width:760px){
  #teamList .team-row-bg-logo{
    right:-1.85rem;
    top:-1.82rem;
    width:7.55rem;
    height:7.55rem;
  }
  #teamList .team-row.has-team-bg-logo{
    padding-right:4.25rem;
  }
}

/* v90.35 player profile team watermark branding */
.profile-hero-card{
  isolation:isolate;
}
.profile-team-watermark{
  position:absolute;
  left:58%;
  top:22px;
  z-index:0;
  width:clamp(8.5rem,15vw,11rem);
  height:clamp(8.5rem,15vw,11rem);
  pointer-events:none;
  transform:translateX(-50%) rotate(-7deg);
}
.profile-team-watermark::before{
  content:"";
  position:absolute;
  inset:-.55rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(3,13,22,.7),rgba(3,13,22,.26) 48%,transparent 72%);
  box-shadow:inset 0 0 0 1px rgba(104,210,245,.08);
}
.profile-team-watermark-logo{
  position:relative;
  z-index:1;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:transparent!important;
  opacity:.16!important;
  filter:saturate(.9) drop-shadow(0 0 22px rgba(95,220,255,.12));
}
.profile-team-watermark-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.profile-team-watermark-logo.custom-team-avatar{
  display:grid;
  place-items:center;
  border-radius:50%!important;
  background:hsl(var(--team-hue,195),55%,30%)!important;
  color:#e9fbff;
  font-size:3.8rem;
  font-weight:950;
}
.profile-team-watermark.drafted-brand .profile-team-watermark-logo{
  opacity:.19!important;
}
.profile-team-watermark-logo:has(img[src*="TBL_light.svg"]){
  opacity:.28!important;
  filter:brightness(1.55) saturate(1.18) drop-shadow(0 0 26px rgba(116,225,255,.2));
}
.profile-team-watermark.drafted-brand .profile-team-watermark-logo:has(img[src*="TBL_light.svg"]){
  opacity:.32!important;
}
@media(max-width:900px){
  .profile-team-watermark{
    left:auto;
    right:1rem;
    top:10px;
    width:7.5rem;
    height:7.5rem;
    transform:rotate(-7deg);
  }
}
@media(max-width:520px){
  .profile-team-watermark{
    right:.35rem;
    width:5.6rem;
    height:5.6rem;
    opacity:.9;
  }
}

/* v90.38 batch add-team modal */
.manual-team-controls{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.manual-team-controls #openAddTeamsBtn,
.manual-team-controls #randomizeOrderBtn{
  grid-column:auto;
}
.manual-team-controls #openAddTeamsBtn,
.manual-team-controls #randomizeOrderBtn{
  min-height:2.35rem;
  color:#041421;
  border:1px solid rgba(121,224,255,.64);
  background:linear-gradient(135deg,#25a8ff,#83e4ff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 9px 20px rgba(18,143,197,.16);
  filter:none!important;
}
.manual-team-controls #openAddTeamsBtn:hover:not(:disabled),
.manual-team-controls #openAddTeamsBtn:focus-visible:not(:disabled),
.manual-team-controls #randomizeOrderBtn:hover:not(:disabled),
.manual-team-controls #randomizeOrderBtn:focus-visible:not(:disabled){
  color:#03111d;
  border-color:rgba(151,238,255,.86);
  background:linear-gradient(135deg,#51ceff,#b8f3ff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 11px 24px rgba(31,164,220,.24);
  filter:none!important;
}
.manual-team-controls #openAddTeamsBtn:focus-visible,
.manual-team-controls #randomizeOrderBtn:focus-visible{
  outline:2px solid rgba(115,232,255,.44);
  outline-offset:2px;
}
.add-teams-modal .modal-body{
  padding:0;
}
.add-teams-flow{
  display:grid;
  gap:1rem;
  padding:1rem;
}
.add-teams-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:1rem 1.1rem;
  border:1px solid rgba(52,151,190,.44);
  border-radius:14px;
  background:
    radial-gradient(circle at 8% 18%,rgba(25,210,247,.13),transparent 38%),
    linear-gradient(110deg,rgba(7,39,58,.94),rgba(4,23,36,.94));
}
.add-teams-hero h3,
.add-teams-panel-head h4,
.add-teams-custom-panel h4{
  margin:.12rem 0 .22rem;
}
.add-teams-hero p,
.add-teams-custom-panel p{
  max-width:58rem;
  margin:0;
  color:#9db8c6;
  line-height:1.35;
}
.add-teams-summary{
  display:grid;
  justify-items:center;
  min-width:126px;
  padding:.78rem .95rem;
  border:1px solid rgba(75,220,147,.42);
  border-radius:12px;
  background:rgba(10,63,47,.35);
}
.add-teams-summary span,
.add-teams-summary small,
.add-teams-progress-row small,
.add-teams-footer span,
.add-teams-footer small{
  color:#88a9b8;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.add-teams-summary strong{
  color:#85f16f;
  font-size:2rem;
  line-height:1;
}
.add-teams-progress-row{
  display:grid;
  grid-template-columns:minmax(0,260px) minmax(0,1fr);
  gap:1rem;
  align-items:center;
  padding:.8rem 1rem;
  border:1px solid rgba(39,84,108,.56);
  border-radius:12px;
  background:rgba(3,19,30,.66);
}
.add-teams-progress-row > div:first-child{
  display:grid;
  gap:.16rem;
}
.add-teams-progress-row strong{
  color:#edf9ff;
  font-size:.9rem;
}
.add-teams-progress{
  margin:0;
}
.add-teams-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,330px);
  gap:1rem;
  align-items:start;
}
.add-teams-nhl-panel,
.add-teams-custom-panel{
  min-width:0;
  border:1px solid rgba(39,84,108,.56);
  border-radius:14px;
  background:rgba(3,19,30,.7);
}
.add-teams-nhl-panel{
  padding:.85rem;
}
.add-teams-custom-panel{
  display:grid;
  gap:.85rem;
  padding:1rem;
}
.add-teams-panel-head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  margin-bottom:.72rem;
}
.add-teams-toolbar,
.add-teams-footer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  justify-content:flex-end;
}
.add-teams-toolbar button{
  min-height:2.1rem;
  padding:.45rem .62rem;
  white-space:nowrap;
}
.add-teams-division-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
}
.add-teams-division-card{
  gap:.52rem;
  padding:.62rem;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(7,31,47,.9),rgba(4,22,35,.82));
  transition:border-color .18s ease,box-shadow .18s ease;
}
.add-teams-division-card.complete{
  border-color:rgba(108,224,117,.38);
  box-shadow:inset 0 2px 0 rgba(108,224,117,.16);
}
.add-team-option{
  grid-template-columns:46px minmax(0,1fr) auto!important;
  gap:.52rem!important;
  min-height:58px!important;
  padding:.42rem .46rem!important;
  border-radius:10px!important;
  background:rgba(3,20,32,.72)!important;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.add-team-option:hover{
  border-color:rgba(25,211,248,.72);
  background:rgba(9,43,61,.86)!important;
  transform:translateY(-1px);
}
.add-team-option.selected{
  border-color:rgba(112,230,112,.66)!important;
  background:linear-gradient(90deg,rgba(41,143,93,.2),rgba(5,31,43,.86))!important;
  box-shadow:inset 3px 0 0 #80ed69;
}
.add-team-option.existing{
  opacity:.62;
  cursor:not-allowed;
  transform:none;
}
.add-team-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.add-teams-picker-logo{
  width:46px!important;
  height:46px!important;
  border-radius:10px;
  background:radial-gradient(circle,rgba(255,255,255,.08),rgba(255,255,255,.02));
}
.add-team-state{
  display:grid;
  place-items:center;
  min-width:3.7rem;
  min-height:1.8rem;
  padding:0 .5rem;
  border:1px solid rgba(86,141,167,.52);
  border-radius:999px;
  color:#9ab6c4;
  background:rgba(2,16,27,.82);
  font-size:.6rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}
.add-team-option.selected .add-team-state{
  border-color:rgba(126,239,105,.78);
  color:#082216;
  background:#83ee69;
  box-shadow:0 0 12px rgba(126,239,105,.25);
}
.add-team-option.existing .add-team-state{
  color:#839aa6;
  background:rgba(96,111,122,.16);
}
.add-teams-custom-panel label{
  display:grid;
  gap:.38rem;
}
.add-teams-custom-list{
  display:grid;
  gap:.48rem;
  max-height:28vh;
  overflow:auto;
  padding-right:.1rem;
}
.add-teams-empty-custom{
  padding:.72rem;
  border:1px dashed rgba(79,142,168,.45);
  border-radius:10px;
  color:#8ba8b7;
  font-size:.82rem;
}
.add-teams-custom-chip{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:.55rem;
  align-items:center;
  min-height:46px;
  padding:.42rem;
  border:1px solid rgba(52,151,190,.42);
  border-radius:10px;
  background:rgba(5,31,45,.78);
}
.add-teams-custom-avatar{
  width:34px!important;
  height:34px!important;
}
.add-teams-custom-chip strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.add-teams-custom-chip button{
  width:2rem;
  min-height:2rem;
  padding:0;
}
.add-teams-footer{
  position:sticky;
  bottom:-1rem;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:.1rem -1rem -1rem;
  padding:.85rem 1rem;
  border-top:1px solid rgba(63,132,164,.48);
  background:rgba(5,24,38,.97);
  box-shadow:0 -12px 28px rgba(0,0,0,.24);
}
.add-teams-footer > div:first-child{
  display:grid;
  gap:.14rem;
}
.add-teams-footer strong{
  color:#edf9ff;
}
@media(max-width:1180px){
  .add-teams-layout{
    grid-template-columns:1fr;
  }
  .add-teams-division-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .manual-team-controls,
  .add-teams-hero,
  .add-teams-progress-row{
    grid-template-columns:1fr;
  }
  .add-teams-summary{
    justify-items:start;
  }
  .add-teams-panel-head,
  .add-teams-footer{
    align-items:stretch;
    flex-direction:column;
  }
  .add-teams-toolbar,
  .add-teams-footer-actions{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .add-teams-division-grid{
    grid-template-columns:1fr;
  }
}

/* v90.51 player profile compact hero */
.profile-hero-card{
  min-height:220px;
  grid-template-columns:160px minmax(0,1fr) 108px;
  gap:10px;
  padding:14px 20px 12px;
}
.profile-hero-glow{
  width:178px;
  height:178px;
  left:18px;
  top:16px;
}
.profile-photo-stage{
  padding-top:4px;
}
.profile-photo-stage .profile-photo{
  width:150px!important;
  height:186px!important;
  border-radius:18px 18px 9px 9px!important;
}
.profile-photo-stage .profile-photo img{
  height:111%!important;
  transform:translateY(7px) scale(1.02)!important;
}
.profile-identity{
  padding:0 12px;
}
.profile-kicker{
  font-size:.66rem;
  letter-spacing:.12em;
}
.profile-identity h3{
  font-size:clamp(1.85rem,3.15vw,3.05rem)!important;
  line-height:.98!important;
  margin:3px 0 4px!important;
}
.profile-subline{
  font-size:.82rem;
  line-height:1.2;
}
.profile-contract-strip{
  gap:6px;
  margin-top:7px;
  max-width:650px;
}
.profile-contract-strip>div{
  min-height:48px;
  padding:6px 8px;
  border-radius:9px!important;
}
.profile-contract-strip span,
.profile-contract-strip small{
  font-size:.58rem;
  line-height:1.12;
}
.profile-contract-strip strong{
  margin:2px 0 1px;
  font-size:.84rem;
  line-height:1.04;
}
.profile-xfactors{
  flex-wrap:nowrap;
  overflow-x:auto;
  max-height:62px;
  gap:6px;
  margin-top:7px;
  padding-bottom:1px;
}
.profile-xfactor{
  flex:0 0 auto;
  min-width:82px!important;
  padding:6px 7px!important;
  border-radius:11px!important;
}
.profile-xfactor .xfactor-icon.large{
  width:38px!important;
  height:38px!important;
}
.profile-xfactor span:not(.xfactor-icon){
  font-size:.68rem;
  line-height:1.05;
}
.profile-xfactor small{
  font-size:.56rem;
  line-height:1.05;
}
.profile-overall{
  min-width:104px;
  padding:11px 8px;
  border-radius:18px;
}
.profile-overall span{
  font-size:.58rem;
}
.profile-overall strong{
  font-size:3.55rem;
  line-height:.88;
}
.profile-overall small{
  margin-top:5px;
  font-size:.72rem;
  line-height:1.15;
}
.profile-team-watermark{
  top:12px;
  width:clamp(7rem,12vw,9rem);
  height:clamp(7rem,12vw,9rem);
}

@media(max-width:900px){
  .profile-hero-card{
    min-height:182px;
    grid-template-columns:88px minmax(0,1fr) 72px;
    gap:7px;
    padding:10px 9px;
  }
  .profile-photo-stage .profile-photo{
    width:84px!important;
    height:126px!important;
  }
  .profile-photo-stage .profile-photo img{
    transform:translateY(5px) scale(1.02)!important;
  }
  .profile-identity{
    padding:0 4px;
  }
  .profile-identity h3{
    font-size:clamp(1.45rem,5.4vw,2.12rem)!important;
  }
  .profile-subline{
    font-size:.74rem;
  }
  .profile-contract-strip{
    gap:5px;
    margin-top:6px;
  }
  .profile-contract-strip>div{
    min-height:42px;
    padding:5px 6px;
  }
  .profile-contract-strip strong{
    font-size:.76rem;
  }
  .profile-xfactors{
    max-height:48px;
    margin-top:6px;
    gap:5px;
  }
  .profile-xfactor{
    min-width:52px!important;
    padding:5px!important;
  }
  .profile-xfactor .xfactor-icon.large{
    width:32px!important;
    height:32px!important;
  }
  .profile-overall{
    min-width:66px;
    padding:8px 6px;
    border-radius:15px;
  }
  .profile-overall strong{
    font-size:2.45rem;
  }
}
@media(max-width:620px){
  .profile-hero-card{
    min-height:164px;
    grid-template-columns:70px minmax(0,1fr) 58px;
    padding:8px 7px;
  }
  .profile-photo-stage .profile-photo{
    width:66px!important;
    height:100px!important;
    border-radius:14px 14px 7px 7px!important;
  }
  .profile-photo-stage .profile-photo img{
    transform:translateY(4px) scale(1.02)!important;
  }
  .profile-identity h3{
    font-size:1.42rem!important;
  }
  .profile-contract-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .profile-contract-strip>div:nth-child(3){
    grid-column:auto;
  }
  .profile-contract-strip span,
  .profile-contract-strip small{
    font-size:.5rem;
  }
  .profile-contract-strip strong{
    font-size:.68rem;
  }
  .profile-overall{
    min-width:54px;
    padding:7px 5px;
  }
  .profile-overall strong{
    font-size:2rem;
  }
  .profile-overall small,
  .profile-subline{
    display:none;
  }
  .profile-team-watermark{
    top:6px;
    width:4.8rem;
    height:4.8rem;
  }
}

/* v90.53 add-teams modal polish */
.modal-card.add-teams-modal{
  width:min(1360px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  border-radius:18px;
  background:
    linear-gradient(145deg,rgba(5,22,35,.98),rgba(3,15,25,.99)),
    #051927;
  box-shadow:0 28px 86px rgba(0,0,0,.55),0 0 0 1px rgba(86,196,231,.16);
}
.add-teams-modal .modal-head{
  min-height:58px;
  padding:12px 16px;
  border-bottom:1px solid rgba(75,164,199,.24);
  background:rgba(3,15,25,.96);
}
.add-teams-modal .modal-head h2{
  font-size:1.25rem;
}
.add-teams-modal .modal-body{
  overflow:hidden;
}
.add-teams-flow{
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  gap:0;
  height:min(calc(100dvh - 86px),820px);
  min-height:0;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 0%,rgba(47,206,246,.12),transparent 28%),
    linear-gradient(180deg,rgba(5,24,38,.98),rgba(2,13,22,.98));
}
.add-teams-hero{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(420px,auto);
  gap:1rem;
  align-items:center;
  padding:16px 18px;
  border:0;
  border-bottom:1px solid rgba(64,137,169,.24);
  border-radius:0;
  background:
    radial-gradient(circle at 8% 18%,rgba(49,203,245,.14),transparent 36%),
    linear-gradient(100deg,rgba(8,40,59,.88),rgba(4,20,33,.72));
}
.add-teams-hero-copy{
  min-width:0;
}
.add-teams-hero h3{
  margin:.12rem 0 .22rem;
  font-size:1.45rem;
  line-height:1.05;
}
.add-teams-hero p{
  max-width:52rem;
  color:#a7bfcb;
  font-size:.9rem;
}
.add-teams-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.55rem;
}
.add-teams-summary{
  min-width:0;
  justify-items:start;
  min-height:76px;
  padding:.72rem .8rem;
  border:1px solid rgba(73,142,174,.38);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(7,31,47,.84),rgba(3,17,28,.94));
}
.add-teams-summary.primary{
  border-color:rgba(119,238,106,.5);
  background:linear-gradient(145deg,rgba(21,84,55,.54),rgba(3,19,29,.94));
}
.add-teams-summary span,
.add-teams-summary small,
.add-teams-progress-row span,
.add-teams-progress-row small,
.add-teams-footer span,
.add-teams-footer small{
  color:#8db0bf;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.add-teams-summary strong{
  color:#effaff;
  font-size:1.75rem;
  line-height:.98;
  letter-spacing:-.03em;
}
.add-teams-summary.primary strong{
  color:#8cf277;
}
.add-teams-progress-row{
  display:grid;
  grid-template-columns:minmax(260px,360px) minmax(0,1fr);
  gap:1.1rem;
  align-items:center;
  padding:10px 18px;
  border:0;
  border-bottom:1px solid rgba(64,137,169,.22);
  border-radius:0;
  background:rgba(2,14,24,.54);
}
.add-teams-progress-row > div:first-child{
  gap:.12rem;
}
.add-teams-progress-row strong{
  color:#edf9ff;
  font-size:.88rem;
  line-height:1.1;
}
.add-teams-progress.keeper-team-selection-progress{
  height:7px;
  margin:0;
  border-radius:999px;
  background:rgba(77,127,150,.22);
  box-shadow:inset 0 0 0 1px rgba(87,169,197,.16);
}
.add-teams-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(290px,330px);
  gap:12px;
  min-height:0;
  padding:12px;
  overflow:hidden;
}
.add-teams-nhl-panel,
.add-teams-custom-panel{
  min-height:0;
  border:1px solid rgba(64,137,169,.34);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(5,27,42,.9),rgba(3,17,28,.96));
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.add-teams-nhl-panel{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding:12px;
  overflow:hidden;
}
.add-teams-panel-head{
  flex:0 0 auto;
  align-items:start;
  margin:0;
}
.add-teams-panel-head h4,
.add-teams-custom-panel h4{
  margin:.1rem 0 .14rem;
  font-size:1rem;
}
.add-teams-panel-head p,
.add-teams-custom-panel p{
  margin:0;
  color:#95b1bf;
  font-size:.78rem;
  line-height:1.32;
}
.add-teams-toolbar button{
  min-height:2rem;
  padding:.42rem .66rem;
  border-radius:9px;
  font-size:.72rem!important;
}
.add-teams-division-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:.7rem;
  min-height:0;
  overflow:auto;
  padding:1px 3px 4px 1px;
  scrollbar-width:thin;
}
.add-teams-division-card{
  min-width:0;
  gap:.48rem;
  padding:.58rem;
  border-radius:11px;
  border-color:rgba(74,149,180,.3);
  background:
    linear-gradient(180deg,rgba(8,35,52,.9),rgba(3,20,32,.88)),
    rgba(3,20,32,.9);
}
.add-teams-division-card.complete{
  border-color:rgba(126,239,105,.5);
  box-shadow:inset 0 2px 0 rgba(126,239,105,.34);
}
.add-teams-division-card .keeper-division-head{
  align-items:start;
  gap:.5rem;
}
.add-teams-division-card .keeper-division-head h3{
  margin:0;
  color:#7ce6ff;
  font-size:.72rem;
  letter-spacing:.08em;
}
.add-teams-division-card .keeper-division-head span{
  color:#8fb1bf;
  font-size:.64rem;
}
.add-teams-division-card .text-button{
  min-height:1.55rem;
  padding:.12rem .18rem;
  color:#91e8ff;
  font-size:.66rem;
  white-space:nowrap;
}
.add-teams-division-card .keeper-division-teams{
  display:grid;
  gap:.4rem;
}
.add-team-option{
  position:relative;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  gap:.48rem!important;
  min-height:54px!important;
  padding:.4rem .42rem!important;
  border-color:rgb(var(--team-secondary-rgb,86 178 212) / .24)!important;
  border-radius:9px!important;
  background:
    linear-gradient(105deg,rgb(var(--team-primary-rgb,10 42 62) / .28),rgb(var(--team-secondary-rgb,52 180 216) / .12) 54%,rgba(3,18,29,.92)),
    rgba(3,18,29,.9)!important;
  overflow:hidden;
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.add-team-option:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:radial-gradient(circle at 96% 30%,rgb(var(--team-glow-rgb,107 215 255) / .16),transparent 38%);
  pointer-events:none;
}
.add-team-option:hover{
  border-color:rgb(var(--team-glow-rgb,107 215 255) / .6)!important;
  background:
    linear-gradient(105deg,rgb(var(--team-primary-rgb,10 42 62) / .36),rgb(var(--team-secondary-rgb,52 180 216) / .16) 54%,rgba(4,22,35,.94)),
    rgba(4,22,35,.94)!important;
  transform:translateY(-1px);
}
.add-team-option.selected{
  border-color:rgb(var(--team-glow-rgb,126 239 105) / .76)!important;
  background:
    linear-gradient(105deg,rgb(var(--team-primary-rgb,10 42 62) / .46),rgb(var(--team-glow-rgb,126 239 105) / .18),rgba(5,28,36,.94)),
    rgba(5,28,36,.94)!important;
  box-shadow:inset 3px 0 0 rgb(var(--team-glow-rgb,126 239 105) / .95),0 0 18px rgb(var(--team-glow-rgb,126 239 105) / .12);
}
.add-team-option.existing{
  opacity:.58;
  filter:saturate(.75);
  cursor:not-allowed;
}
.add-team-option input{
  position:absolute!important;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.add-team-option .add-teams-picker-logo,
.add-team-option .keeper-team-option-copy,
.add-team-option .add-team-state{
  position:relative;
  z-index:1;
}
.add-teams-picker-logo{
  width:38px!important;
  height:38px!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.035)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.add-team-option .keeper-team-option-copy{
  display:grid;
  min-width:0;
  gap:.06rem;
}
.add-team-option .keeper-team-option-copy strong{
  overflow:hidden;
  color:#edf8fd;
  font-size:.76rem;
  line-height:1.08;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.add-team-option .keeper-team-option-copy small{
  overflow:hidden;
  color:#82aaba;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.035em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.add-team-state{
  min-width:auto;
  min-height:1.5rem;
  padding:0 .42rem;
  border-color:rgba(89,156,184,.42);
  border-radius:999px;
  color:#9fc0cc;
  background:rgba(2,15,25,.78);
  font-size:.55rem;
}
.add-team-option.selected .add-team-state{
  color:#062115;
  border-color:rgba(137,246,111,.82);
  background:#8af06d;
}
.add-team-option.existing .add-team-state{
  color:#a4b4bd;
  background:rgba(111,126,137,.15);
}
.add-teams-custom-panel{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  padding:12px;
  overflow:hidden;
}
.add-teams-custom-head{
  padding:.1rem .05rem .2rem;
}
.add-teams-custom-form{
  display:grid;
  gap:.55rem;
  padding:.72rem;
  border:1px solid rgba(69,140,171,.3);
  border-radius:11px;
  background:rgba(2,16,27,.62);
}
.add-teams-custom-form label{
  display:grid;
  gap:.35rem;
}
.add-teams-custom-form label span{
  color:#8fb1bf;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.add-teams-custom-form input{
  min-height:2.55rem;
  border-radius:9px;
}
.add-teams-custom-form button{
  min-height:2.45rem;
  border-radius:9px;
}
.add-teams-custom-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  margin-bottom:.5rem;
  color:#7dddf5;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.add-teams-custom-list-head b{
  display:grid;
  place-items:center;
  min-width:1.55rem;
  min-height:1.55rem;
  border:1px solid rgba(88,178,212,.36);
  border-radius:999px;
  color:#eaf8fd;
  background:rgba(4,24,38,.82);
}
.add-teams-custom-list{
  flex:1;
  min-height:0;
  max-height:none;
  gap:.45rem;
  overflow:auto;
  padding-right:.08rem;
}
.add-teams-empty-custom{
  display:grid;
  gap:.22rem;
  min-height:96px;
  align-content:center;
  padding:.85rem;
  border:1px dashed rgba(79,142,168,.42);
  border-radius:11px;
  color:#8ba8b7;
  background:rgba(2,15,25,.45);
}
.add-teams-empty-custom strong{
  color:#d9eaf1;
}
.add-teams-empty-custom span{
  color:#8ba8b7;
  font-size:.78rem;
  line-height:1.3;
}
.add-teams-custom-chip{
  grid-template-columns:34px minmax(0,1fr) 30px;
  min-height:44px;
  padding:.38rem;
  border-radius:9px;
  background:linear-gradient(90deg,rgba(9,42,57,.82),rgba(3,18,29,.92));
}
.add-teams-custom-chip button{
  width:1.85rem;
  min-height:1.85rem;
  border-radius:8px;
}
.add-teams-footer{
  position:static;
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:0;
  padding:12px 16px;
  border-top:1px solid rgba(64,137,169,.28);
  background:rgba(3,15,25,.96);
  box-shadow:0 -14px 34px rgba(0,0,0,.22);
}
.add-teams-footer strong{
  font-size:.96rem;
}
.add-teams-footer-actions button{
  min-width:9rem;
  min-height:2.45rem;
  border-radius:9px;
}
@media(max-width:1180px){
  .add-teams-flow{
    height:min(calc(100dvh - 78px),860px);
  }
  .add-teams-hero{
    grid-template-columns:1fr;
  }
  .add-teams-summary-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .add-teams-layout{
    grid-template-columns:1fr;
    overflow:auto;
  }
  .add-teams-division-grid{
    grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
    overflow:visible;
  }
  .add-teams-custom-panel{
    overflow:visible;
  }
}
@media(max-width:760px){
  .modal-card.add-teams-modal{
    width:100vw;
    max-height:100dvh;
    border-radius:0;
  }
  .add-teams-flow{
    height:calc(100dvh - 58px);
  }
  .add-teams-hero,
  .add-teams-progress-row{
    grid-template-columns:1fr;
    padding:12px;
  }
  .add-teams-summary-grid{
    grid-template-columns:1fr;
  }
  .add-teams-layout{
    padding:10px;
  }
  .add-teams-panel-head,
  .add-teams-footer{
    align-items:stretch;
    flex-direction:column;
  }
  .add-teams-toolbar,
  .add-teams-footer-actions{
    display:grid;
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  .add-teams-footer-actions button{
    min-width:0;
  }
  .add-teams-division-grid{
    grid-template-columns:1fr;
  }
}

/* v90.55 add-teams fit and team watermarks */
.add-teams-layout{
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) auto;
  align-items:stretch;
}
.add-teams-division-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  flex:1 1 auto;
  gap:.55rem;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  padding-right:.25rem;
  scrollbar-color:rgba(91,206,239,.48) transparent;
}
.add-teams-division-card{
  gap:.4rem;
  padding:.5rem;
}
.add-teams-division-card .keeper-division-teams{
  gap:.32rem;
}
.add-team-option{
  grid-template-columns:32px minmax(0,1fr) auto!important;
  gap:.4rem!important;
  min-height:45px!important;
  padding:.32rem .38rem!important;
}
.add-teams-picker-logo{
  width:32px!important;
  height:32px!important;
}
.add-team-option .keeper-team-option-copy strong{
  font-size:.7rem;
}
.add-team-option .keeper-team-option-copy small{
  font-size:.54rem;
}
.add-team-state{
  min-height:1.34rem;
  padding:0 .34rem;
  font-size:.5rem;
}
.add-team-bg-logo{
  position:absolute;
  right:2.15rem;
  top:-.85rem;
  z-index:0;
  width:4.55rem;
  height:4.55rem;
  pointer-events:none;
  transform:rotate(-7deg);
}
.add-team-bg-logo:before{
  content:"";
  position:absolute;
  inset:-.22rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(3,13,22,.58),rgba(3,13,22,.16) 52%,transparent 74%);
}
.add-team-bg-logo img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:.18;
  filter:saturate(1.05) brightness(1.12) drop-shadow(0 0 16px rgb(var(--team-glow-rgb,107 215 255) / .18));
}
.add-team-bg-logo img[src*="TBL_light.svg"]{
  opacity:.42;
  filter:brightness(1.9) saturate(1.28) drop-shadow(0 0 22px rgba(116,225,255,.34));
}
.add-team-option.existing{
  opacity:1;
  filter:saturate(.82);
}
.add-team-option.existing .add-teams-picker-logo,
.add-team-option.existing .keeper-team-option-copy,
.add-team-option.existing .add-team-state{
  opacity:.58;
}
.add-team-option.existing .add-team-bg-logo img{
  opacity:.2;
}
.add-team-option.existing .add-team-bg-logo img[src*="TBL_light.svg"]{
  opacity:.5;
  filter:brightness(2.05) saturate(1.32) drop-shadow(0 0 24px rgba(116,225,255,.38));
}
.add-teams-custom-panel{
  order:2;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(360px,1.1fr) minmax(240px,.72fr);
  gap:.75rem;
  align-items:center;
  padding:10px 12px;
  overflow:visible;
}
.add-teams-custom-head{
  padding:0;
}
.add-teams-custom-panel h4{
  margin:.08rem 0 .1rem;
}
.add-teams-custom-panel p{
  font-size:.73rem;
}
.add-teams-custom-form{
  grid-template-columns:minmax(180px,1fr) auto;
  align-items:end;
  gap:.5rem;
  padding:.52rem;
}
.add-teams-custom-form input,
.add-teams-custom-form button{
  min-height:2.2rem;
}
.add-teams-custom-list{
  max-height:58px;
  overflow:auto;
}
.add-teams-empty-custom{
  min-height:50px;
  padding:.55rem .65rem;
}
.add-teams-custom-chip{
  min-height:38px;
  grid-template-columns:30px minmax(0,1fr) 28px;
}
.add-teams-custom-avatar{
  width:30px!important;
  height:30px!important;
}
@media(max-width:1180px){
  .add-teams-division-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow-y:auto;
  }
  .add-teams-custom-panel{
    grid-template-columns:minmax(0,1fr) minmax(320px,1.1fr);
  }
  .add-teams-custom-panel > div:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:960px){
  .add-teams-division-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow-y:auto;
  }
  .add-teams-custom-panel{
    grid-template-columns:1fr;
  }
  .add-teams-custom-form{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .add-teams-division-grid{
    grid-template-columns:1fr;
  }
}

/* v91 Mobile Experience */
.mobile-draft-nav{display:none}
.mobile-load-more{width:100%;min-height:48px;margin:.65rem 0 0}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body.mobile-draft-experience{padding-bottom:calc(78px + env(safe-area-inset-bottom));}
  body.mobile-draft-experience .legal-footer{display:none}
  body.mobile-draft-experience button,
  body.mobile-draft-experience select,
  body.mobile-draft-experience input{min-height:44px}
  body.mobile-draft-experience button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.12}

  .mobile-draft-nav{
    position:fixed;z-index:1300;left:0;right:0;bottom:0;
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    min-height:64px;padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));
    border-top:1px solid rgba(87,190,225,.42);
    background:rgba(3,17,29,.96);backdrop-filter:blur(16px);
    box-shadow:0 -14px 38px rgba(0,0,0,.42)
  }
  .mobile-draft-nav.hidden{display:none!important}
  .mobile-draft-nav button{
    position:relative;display:grid;place-items:center;align-content:center;gap:2px;
    min-width:0!important;min-height:54px!important;padding:4px 2px!important;
    border:0!important;border-radius:11px!important;color:#8eacba!important;background:transparent!important;
    box-shadow:none!important;font-size:.66rem!important
  }
  .mobile-draft-nav button span{font-size:1.15rem;line-height:1}
  .mobile-draft-nav button b{font-size:.62rem;letter-spacing:.02em;white-space:nowrap}
  .mobile-draft-nav button.active{color:#eafaff!important;background:linear-gradient(180deg,rgba(37,185,230,.22),rgba(22,118,155,.14))!important;box-shadow:inset 0 0 0 1px rgba(78,209,244,.45)!important}
  .mobile-draft-nav em{position:absolute;top:3px;right:calc(50% - 22px);display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;color:#06151f;background:#70e9ff;font-size:.55rem;font-style:normal;font-weight:900}

  .unified-phase-status{position:sticky!important;top:0;z-index:850;margin:0!important;border-radius:0 0 14px 14px!important;box-shadow:0 12px 34px rgba(0,0,0,.34)}
  .unified-phase-status .phase-status-copy p,.unified-phase-status .phase-status-meta{display:none}
  .unified-phase-status .phase-status-main{min-height:auto!important;padding:.62rem .7rem!important}
  .unified-status-controls{gap:.45rem!important}
  .draft-clock-card{min-height:66px!important;padding:.45rem!important}
  .draft-clock-logo{width:48px!important;height:48px!important}
  .timer-box{font-size:1.65rem!important}
  .unified-utility-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .unified-utility-actions button{font-size:.72rem!important;padding:.45rem!important}
  .floating-draft-clock{bottom:calc(70px + env(safe-area-inset-bottom))!important;left:8px!important;right:8px!important;width:auto!important}

  .app-grid{display:block!important;min-height:0!important}
  .side-stack,.workspace{width:100%!important;min-width:0!important}
  body.mobile-draft-experience .view-tabs{display:none!important}

  body[data-mobile-draft-view="players"] .side-stack,
  body[data-mobile-draft-view="players"] .comparison-card,
  body[data-mobile-draft-view="players"] #lineupPanel,
  body[data-mobile-draft-view="players"] #allRostersPanel{display:none!important}
  body[data-mobile-draft-view="players"] .draft-grid{display:block!important}
  body[data-mobile-draft-view="players"] .players-card{display:block!important}

  body[data-mobile-draft-view="queue"] .workspace,
  body[data-mobile-draft-view="queue"] .side-stack>section:not(.queue-card),
  body[data-mobile-draft-view="queue"] .side-stack>div:not(.queue-card){display:none!important}
  body[data-mobile-draft-view="queue"] .side-stack{display:block!important}
  body[data-mobile-draft-view="queue"] .queue-card{display:block!important;margin:0!important}

  body[data-mobile-draft-view="team"] .side-stack,
  body[data-mobile-draft-view="team"] .players-card,
  body[data-mobile-draft-view="team"] #lineupPanel,
  body[data-mobile-draft-view="team"] #allRostersPanel{display:none!important}
  body[data-mobile-draft-view="team"] .draft-grid{display:block!important}
  body[data-mobile-draft-view="team"] .comparison-card{display:block!important}

  body[data-mobile-draft-view="league"] .workspace{display:none!important}
  body[data-mobile-draft-view="league"] .side-stack{display:block!important}
  body[data-mobile-draft-view="league"] .side-stack>section{display:none!important}
  body[data-mobile-draft-view="league"] .side-stack>section:first-child{display:block!important}
  body[data-mobile-draft-view="league"] .side-stack>div{display:none!important}

  body[data-mobile-draft-view="chat"] .app-grid,
  body[data-mobile-draft-view="chat"] .unified-phase-status,
  body[data-mobile-draft-view="chat"] .floating-draft-clock{display:none!important}
  body[data-mobile-draft-view="chat"] #draftChat{
    position:fixed!important;z-index:1250!important;inset:0 0 calc(64px + env(safe-area-inset-bottom)) 0!important;
    display:flex!important;flex-direction:column!important;width:auto!important;height:auto!important;max-height:none!important;border-radius:0!important
  }
  body[data-mobile-draft-view="chat"] #draftChat .chat-toggle{flex:0 0 auto;border-radius:0!important}
  body[data-mobile-draft-view="chat"] #draftChat .chat-panel-body{display:flex!important;flex:1;min-height:0;flex-direction:column}
  body[data-mobile-draft-view="chat"] #draftChat .chat-messages{flex:1;max-height:none!important;overflow:auto!important}
  body[data-mobile-draft-view="chat"] #draftChat .chat-form{padding-bottom:max(.65rem,env(safe-area-inset-bottom))}
  body:not([data-mobile-draft-view="chat"]) #draftChat{display:none!important}

  .players-card,.queue-card,.comparison-card,.side-stack>.card{margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;padding:12px!important}
  .toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.45rem!important}
  .toolbar #searchInput{grid-column:1/-1}
  .toolbar .salary-range-control,.toolbar .toolbar-check{grid-column:1/-1}
  .recommended-pick-panel{margin-inline:-4px}

  #playerList.player-list{display:grid!important;gap:.58rem!important;overflow:visible!important;max-height:none!important}
  #playerList .player-row,#playerList .player-card{
    min-height:0!important;height:auto!important;grid-template-columns:70px minmax(0,1fr)!important;
    gap:.65rem!important;padding:.65rem!important;border-radius:14px!important;overflow:hidden!important
  }
  #playerList .player-headshot,#playerList .headshot{grid-row:1/4;width:68px!important;height:82px!important;align-self:start}
  #playerList .player-main,#playerList .player-info{min-width:0!important}
  #playerList .player-name{font-size:1.05rem!important;white-space:normal!important}
  #playerList .player-stats,#playerList .player-values{grid-column:2!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.35rem!important}
  #playerList .player-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.4rem!important;width:100%!important}
  #playerList .player-actions button{width:100%!important;min-width:0!important;font-size:.78rem!important;padding:.5rem .35rem!important}
  #playerList .player-actions button:first-child:nth-last-child(3){grid-column:1/-1}
  #playerList .xfactor-list{flex-wrap:wrap!important}
  #playerList .player-disabled-hint{grid-column:1/-1!important;white-space:normal!important}

  .queue-card .section-head{align-items:flex-start!important}
  .queue-preference{padding:.8rem!important}
  .queue-list{display:grid!important;gap:.62rem!important;overflow:visible!important;max-height:none!important}
  .queue-item,.queue-row{
    position:relative!important;display:grid!important;grid-template-columns:42px 72px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;gap:.35rem .55rem!important;
    min-height:132px!important;height:auto!important;margin:0!important;padding:.65rem!important;overflow:hidden!important
  }
  .queue-item>* ,.queue-row>*{position:static!important;transform:none!important;min-width:0!important}
  .queue-item .queue-rank,.queue-row .queue-rank{grid-row:1/4!important}
  .queue-item .headshot,.queue-row .headshot{grid-row:1/4!important;width:72px!important;height:92px!important}
  .queue-item .queue-copy,.queue-row .queue-copy{grid-column:3!important}
  .queue-item .queue-values,.queue-row .queue-values{grid-column:3!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:.35rem!important}
  .queue-item .queue-actions,.queue-row .queue-actions{grid-column:2/4!important;display:flex!important;flex-wrap:wrap!important;gap:.35rem!important}
  .queue-item button,.queue-row button{min-width:44px!important;flex:1 1 44px!important;padding:.35rem!important}
  #clearQueueBtn{width:100%!important}

  .modal-root{align-items:stretch!important;padding:0!important;overflow:hidden!important}
  .modal-card{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  .modal-card .modal-head{flex:0 0 auto;min-height:60px!important;padding:.65rem .85rem!important}
  .modal-card .modal-body{flex:1!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
  .modal-card.player-profile-modal{height:100dvh!important;max-height:100dvh!important}
  .player-profile-modal .modal-body{overflow-y:auto!important}
  .profile-hero-card{grid-template-columns:92px minmax(0,1fr) 76px!important;gap:.55rem!important;min-height:0!important;padding:.7rem!important}
  .profile-photo-stage{width:92px!important;height:128px!important}
  .profile-photo-stage .profile-photo{width:92px!important;height:128px!important}
  .profile-identity h3{font-size:1.65rem!important;line-height:.98!important;overflow-wrap:anywhere}
  .profile-contract-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.3rem!important}
  .profile-contract-strip>div{padding:.42rem!important}
  .profile-contract-strip strong{font-size:.92rem!important}
  .profile-xfactors{gap:.35rem!important;overflow-x:auto!important;padding-bottom:.2rem}
  .profile-xfactor{min-width:84px!important;padding:.4rem!important}
  .profile-overall{width:76px!important;padding:.45rem!important}
  .profile-overall strong{font-size:2.5rem!important}
  .profile-tabs{position:sticky!important;top:0;z-index:8;display:flex!important;overflow-x:auto!important;padding:.42rem!important;background:rgba(2,14,24,.96)}
  .profile-tabs button{flex:1 0 112px!important;min-height:42px!important}
  .profile-overview-grid,[data-profile-panel="statistics"]{display:block!important;padding:.7rem!important}
  .profile-layer{margin-bottom:.7rem!important;padding:.75rem!important}
  .profile-radar-wrap{grid-template-columns:1fr!important}
  .profile-radar{max-width:260px!important;margin:auto}
  .profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .profile-stat-groups{grid-template-columns:1fr!important}
  .profile-career-history{max-height:none!important;overflow:auto!important}

  .modal-card.add-teams-modal .modal-body{overflow-y:auto!important;padding:0 0 calc(76px + env(safe-area-inset-bottom))!important}
  .add-teams-flow{display:block!important;height:auto!important;min-height:100%!important;overflow:visible!important}
  .add-teams-hero{grid-template-columns:1fr!important;padding:.85rem!important}
  .add-teams-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .add-teams-summary{min-height:62px!important;padding:.5rem!important}
  .add-teams-summary strong{font-size:1.25rem!important}
  .add-teams-progress-row{grid-template-columns:1fr!important;padding:.7rem .85rem!important}
  .add-teams-layout{display:block!important;padding:.7rem!important;overflow:visible!important}
  .add-teams-nhl-panel,.add-teams-custom-panel{display:block!important;overflow:visible!important;margin-bottom:.7rem}
  .add-teams-division-grid{display:block!important;max-height:none!important;overflow:visible!important}
  .add-teams-division-card{margin-bottom:.65rem}
  .add-teams-custom-list{max-height:240px!important;overflow:auto!important}
  .add-teams-footer{position:sticky!important;bottom:0;z-index:5;display:grid!important;grid-template-columns:1fr!important;gap:.45rem!important;padding:.65rem!important;background:rgba(3,17,28,.97)}

  .lobby-hero-actions,.compact-actions,.horizontal-actions,.clock-actions{flex-wrap:wrap!important}
  .lobby-hero-actions button,.compact-actions button,.horizontal-actions button{flex:1 1 130px!important;min-width:0!important}
  .team-list{max-height:none!important;overflow:visible!important}
}

@media(max-width:390px){
  .profile-hero-card{grid-template-columns:78px minmax(0,1fr) 64px!important}
  .profile-photo-stage,.profile-photo-stage .profile-photo{width:78px!important;height:112px!important}
  .profile-identity h3{font-size:1.35rem!important}
  .profile-overall{width:64px!important}
  .profile-overall strong{font-size:2rem!important}
  .profile-contract-strip{grid-template-columns:1fr 1fr!important}
  .profile-contract-strip>div:nth-child(3){grid-column:1/-1}
  .toolbar{grid-template-columns:1fr!important}
  .toolbar>*{grid-column:1!important}
}

@media(max-width:760px){
  #playerList .player-card{display:grid!important;grid-template-columns:70px minmax(0,1fr)!important;grid-template-areas:"photo identity" "photo values" "stats stats" "actions actions"!important}
  #playerList .player-card .player-row-photo{grid-area:photo!important;width:70px!important;height:92px!important}
  #playerList .player-card .player-identity{grid-area:identity!important;min-width:0!important}
  #playerList .player-card .player-overall-value{grid-area:values!important;justify-self:start!important}
  #playerList .player-card .player-aav-value{grid-area:values!important;justify-self:end!important}
  #playerList .player-card .player-stat-strip{grid-area:stats!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.3rem!important}
  #playerList .player-card .player-actions{grid-area:actions!important}
  #playerList .player-card .watchlist-btn{position:absolute!important;top:.45rem!important;right:.45rem!important;z-index:2}

  .queue-row{display:grid!important;grid-template-columns:36px 70px minmax(0,1fr)!important;grid-template-areas:"rank photo main" "actions actions actions"!important;gap:.5rem!important;min-height:0!important;height:auto!important}
  .queue-row .queue-rank{grid-area:rank!important;align-self:start!important}
  .queue-row .queue-headshot{grid-area:photo!important;width:70px!important;height:88px!important;border-radius:12px!important;overflow:hidden!important}
  .queue-row .queue-headshot img{width:100%!important;height:100%!important;object-fit:cover!important}
  .queue-row .queue-main{grid-area:main!important;min-width:0!important}
  .queue-row .queue-player-name{white-space:normal!important;overflow-wrap:anywhere!important}
  .queue-row .queue-player-summary{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.3rem!important}
  .queue-row .queue-teamline{grid-column:1/-1!important}
  .queue-row .queue-actions{grid-area:actions!important;display:grid!important;grid-template-columns:2fr repeat(3,1fr)!important;gap:.35rem!important}
  .queue-row .queue-actions button{width:100%!important;min-width:0!important}
}


/* v91.1 Mobile responsive polish */
.mobile-section-nav{display:none}
@media(max-width:760px){
  :root{--mobile-bottom-nav-height:70px}
  body.mobile-draft-experience{padding-bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom))!important}
  .mobile-draft-nav{min-height:var(--mobile-bottom-nav-height)!important}
  .mobile-nav-svg{display:grid!important;place-items:center;width:22px;height:22px}
  .mobile-nav-svg svg{width:22px;height:22px;fill:currentColor}
  .mobile-draft-nav button b{font-size:.68rem!important}
  .mobile-draft-nav em{min-width:21px;height:21px;font-size:.62rem!important;top:0}

  .mobile-section-nav{
    position:sticky;top:0;z-index:840;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;
    padding:.55rem .7rem;background:rgba(3,17,29,.97);border-bottom:1px solid rgba(79,190,226,.28);
    box-shadow:0 8px 22px rgba(0,0,0,.22)
  }
  .mobile-section-nav.hidden,.mobile-section-nav button.hidden{display:none!important}
  .mobile-section-nav button{min-width:0!important;min-height:44px!important;padding:.55rem .65rem!important;font-size:.82rem!important;white-space:normal!important}
  .mobile-section-nav button.active{border-color:#58ddff!important;background:linear-gradient(180deg,rgba(40,190,233,.25),rgba(16,90,125,.22))!important;color:#f4fcff!important}

  /* Independent Team and League destinations */
  body[data-mobile-draft-view="team"][data-mobile-team-view="roster"] .side-stack,
  body[data-mobile-draft-view="team"][data-mobile-team-view="roster"] #lineupPanel,
  body[data-mobile-draft-view="team"][data-mobile-team-view="roster"] #allRostersPanel{display:none!important}
  body[data-mobile-draft-view="team"][data-mobile-team-view="roster"] #draftBoardPanel,
  body[data-mobile-draft-view="team"][data-mobile-team-view="roster"] .draft-grid,
  body[data-mobile-draft-view="team"][data-mobile-team-view="roster"] .comparison-card{display:block!important}
  body[data-mobile-draft-view="team"][data-mobile-team-view="roster"] .players-card{display:none!important}
  body[data-mobile-draft-view="team"][data-mobile-team-view="lineup"] .side-stack,
  body[data-mobile-draft-view="team"][data-mobile-team-view="lineup"] #draftBoardPanel,
  body[data-mobile-draft-view="team"][data-mobile-team-view="lineup"] #allRostersPanel{display:none!important}
  body[data-mobile-draft-view="team"][data-mobile-team-view="lineup"] #lineupPanel{display:block!important}
  body[data-mobile-draft-view="league"][data-mobile-league-view="lobby"] .workspace{display:none!important}
  body[data-mobile-draft-view="league"][data-mobile-league-view="lobby"] .side-stack{display:block!important}
  body[data-mobile-draft-view="league"][data-mobile-league-view="all-rosters"] .side-stack,
  body[data-mobile-draft-view="league"][data-mobile-league-view="all-rosters"] #draftBoardPanel,
  body[data-mobile-draft-view="league"][data-mobile-league-view="all-rosters"] #lineupPanel{display:none!important}
  body[data-mobile-draft-view="league"][data-mobile-league-view="all-rosters"] .workspace,
  body[data-mobile-draft-view="league"][data-mobile-league-view="all-rosters"] #allRostersPanel{display:block!important}

  /* Never allow action text to escape its box */
  .lobby-hero-actions,.compact-actions,.horizontal-actions,.clock-actions,.host-actions,.override-bar,.unified-utility-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem!important;width:100%!important
  }
  .lobby-hero-actions>*,.compact-actions>*,.horizontal-actions>*,.clock-actions>*,.host-actions>*,.override-bar>*,.unified-utility-actions>*{
    min-width:0!important;width:100%!important;max-width:100%!important;min-height:48px!important;padding:.55rem .45rem!important;
    white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-align:center!important;font-size:.74rem!important;line-height:1.15!important
  }
  #hostSettingsOpenBtn{font-size:0!important} #hostSettingsOpenBtn:after{content:"⚙ Commissioner";font-size:.74rem}
  #streamerModeBtn{font-size:0!important} #streamerModeBtn:after{content:"◉ Streamer";font-size:.74rem}
  #copyWatchLinkBtn{font-size:0!important} #copyWatchLinkBtn:after{content:"◉ Spectator link";font-size:.74rem}
  #copyLobbyBtn{font-size:0!important} #copyLobbyBtn:after{content:"↗ Lobby link";font-size:.74rem}
  .phase-status-action,.phase-primary-action,[data-phase-action="start-review"]{grid-column:1/-1!important;width:100%!important;min-height:54px!important;font-size:.88rem!important}
  .phase-status-main,.phase-status-layout{min-width:0!important;overflow:hidden!important}

  /* One-column filters: no horizontal clipping */
  .toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.55rem!important;width:100%!important;min-width:0!important;overflow:visible!important}
  .toolbar>*{grid-column:1!important;min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .toolbar select,.toolbar input{font-size:16px!important}
  .salary-range-control{overflow:hidden!important;padding:.7rem!important}
  .salary-range-control input[type="range"]{width:100%!important;min-width:0!important}

  /* Phone player cards use explicit rows; OVR and AAV cannot overlap */
  #playerList .player-card{
    position:relative!important;display:grid!important;
    grid-template-columns:78px minmax(0,1fr) minmax(72px,.72fr)!important;
    grid-template-areas:"photo identity identity" "overall overall aav" "stats stats stats" "actions actions actions"!important;
    gap:.62rem!important;padding:.72rem!important;overflow:hidden!important
  }
  #playerList .player-card .player-row-photo{grid-area:photo!important;width:78px!important;height:102px!important;align-self:start!important}
  #playerList .player-card .player-identity{grid-area:identity!important;padding-right:2.2rem!important}
  #playerList .player-card .player-overall-value{grid-area:overall!important;justify-self:stretch!important}
  #playerList .player-card .player-aav-value{grid-area:aav!important;justify-self:stretch!important}
  #playerList .player-card .player-overall-value,#playerList .player-card .player-aav-value{
    position:static!important;transform:none!important;display:grid!important;grid-template-columns:auto 1fr!important;align-items:end!important;
    gap:.35rem!important;min-width:0!important;padding:.48rem .58rem!important;border:1px solid rgba(71,151,184,.35)!important;border-radius:10px!important;background:rgba(3,18,29,.72)!important
  }
  #playerList .player-card .player-overall-value span,#playerList .player-card .player-aav-value span{font-size:.58rem!important;line-height:1!important}
  #playerList .player-card .player-overall-value strong,#playerList .player-card .player-aav-value strong{font-size:1.25rem!important;line-height:1!important;text-align:right!important;white-space:nowrap!important}
  #playerList .player-card .player-stat-strip{grid-area:stats!important}
  #playerList .player-card .player-actions{grid-area:actions!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  #playerList .player-card .draft-btn{grid-column:1/-1!important}
  #playerList .player-card .watchlist-btn{top:.45rem!important;right:.45rem!important}

  /* Queue cards: natural height and isolated controls */
  .queue-list{gap:.75rem!important}
  .queue-row,.queue-item{grid-template-columns:38px 76px minmax(0,1fr)!important;grid-template-rows:auto auto!important;min-height:0!important;height:auto!important;overflow:visible!important}
  .queue-row .queue-actions,.queue-item .queue-actions{display:grid!important;grid-template-columns:2fr repeat(3,minmax(44px,1fr))!important;width:100%!important}
  .queue-row .queue-actions button,.queue-item .queue-actions button{min-width:0!important;width:100%!important;overflow:hidden!important}

  /* Full-height, genuinely scrollable modal/bottom-sheet behavior */
  .modal-root{position:fixed!important;inset:0!important;height:100dvh!important;overflow:hidden!important}
  .modal-card{height:100dvh!important;max-height:100dvh!important;min-height:0!important}
  .modal-card>.modal-body,.modal-card .player-profile-body,.player-profile-modal .modal-body{
    flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;overscroll-behavior-y:contain!important;padding-bottom:calc(var(--mobile-bottom-nav-height) + 20px + env(safe-area-inset-bottom))!important
  }
  .profile-hero-card{grid-template-columns:82px minmax(0,1fr) 68px!important;padding:.55rem!important;gap:.45rem!important}
  .profile-photo-stage,.profile-photo-stage .profile-photo{width:82px!important;height:112px!important}
  .profile-identity h3{font-size:1.4rem!important;line-height:1!important}
  .profile-overall{width:68px!important}
  .profile-overall strong{font-size:2.15rem!important}
  .profile-tabs{top:0!important;z-index:20!important}
  .profile-tabs button{flex:1 0 104px!important}

  /* Mobile action popups become bounded bottom sheets */
  .player-action-popover,.player-selection-popup,.pick-action-popup,.context-popover,[role="menu"].floating-menu{
    position:fixed!important;z-index:1600!important;left:8px!important;right:8px!important;top:auto!important;bottom:calc(var(--mobile-bottom-nav-height) + 8px + env(safe-area-inset-bottom))!important;
    width:auto!important;max-width:none!important;max-height:min(62dvh,520px)!important;overflow-y:auto!important;transform:none!important;border-radius:18px!important;padding:.75rem!important;
    box-shadow:0 24px 70px rgba(0,0,0,.58)!important
  }
  .live-draft-presentation{left:8px!important;right:8px!important;top:8px!important;width:auto!important;max-width:calc(100vw - 16px)!important}
  .pick-presentation-card,.pick-burst-card,.round-transition-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important}
  .pick-presentation-copy strong,.pick-presentation-copy small{white-space:normal!important;overflow-wrap:anywhere!important}

  /* Roster/lineup surfaces */
  #lineupPanel,#allRostersPanel{width:100%!important;min-width:0!important}
  .lineup-card,.all-rosters-card,.comparison-card{margin:0!important;border-radius:0!important;border-inline:0!important;padding:.8rem!important}
  .lineup-grid,.league-roster-grid,.all-rosters-grid{grid-template-columns:1fr!important}
  .lineup-card .section-head,.all-rosters-card .section-head,.comparison-card .section-head{align-items:stretch!important;flex-direction:column!important;gap:.6rem!important}

  /* iPhone safe areas */
  .mobile-draft-nav{padding-bottom:calc(6px + env(safe-area-inset-bottom))!important}
  .floating-draft-clock{bottom:calc(var(--mobile-bottom-nav-height) + 8px + env(safe-area-inset-bottom))!important}
}
@media(max-width:390px){
  .lobby-hero-actions,.compact-actions,.horizontal-actions,.clock-actions,.host-actions,.override-bar,.unified-utility-actions{grid-template-columns:1fr 1fr!important}
  #playerList .player-card{grid-template-columns:70px minmax(0,1fr) minmax(66px,.7fr)!important}
  #playerList .player-card .player-row-photo{width:70px!important;height:94px!important}
}


/* v91.2 Mobile regression fixes */
@media(max-width:760px){
  /* The secondary Team/League navigation is moved directly below the phase
     header by JS. Keep it visible and easy to discover at the top. */
  .mobile-section-nav{
    position:sticky!important;
    top:0!important;
    z-index:910!important;
    margin:0!important;
    padding:.55rem .7rem!important;
    border-top:1px solid rgba(79,190,226,.22)!important;
  }

  /* Explicitly target the real topbar/action containers. Previous selectors
     missed .top-actions, which allowed long desktop labels to collide. */
  #draftView>.topbar{display:block!important;padding:.8rem!important}
  #draftView>.topbar>div:first-child{min-width:0!important}
  #draftView>.topbar .top-actions,
  .manual-team-controls,
  .phase-status-actions,
  .phase-status-action-wrap,
  .keeper-primary-actions,
  .commissioner-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.5rem!important;
    width:100%!important;
    min-width:0!important;
    margin-top:.65rem!important;
  }
  #draftView>.topbar .top-actions>*,
  .manual-team-controls>*,
  .phase-status-actions>*,
  .phase-status-action-wrap>*,
  .keeper-primary-actions>*,
  .commissioner-actions>*{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:48px!important;
    padding:.55rem .4rem!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
    text-overflow:clip!important;
    line-height:1.1!important;
    font-size:.72rem!important;
    text-align:center!important;
  }
  #draftView>.topbar .top-actions #leaveBtn{grid-column:auto!important}

  /* Replace the longest topbar labels with concise phone labels. */
  body.mobile-draft-experience #hostSettingsOpenBtn,
  body.mobile-draft-experience #streamerModeBtn,
  body.mobile-draft-experience #copyWatchLinkBtn,
  body.mobile-draft-experience #copyLobbyBtn{font-size:0!important}
  body.mobile-draft-experience #hostSettingsOpenBtn::after{content:"⚙ Commissioner";font-size:.72rem}
  body.mobile-draft-experience #streamerModeBtn::after{content:"◉ Streamer";font-size:.72rem}
  body.mobile-draft-experience #copyWatchLinkBtn::after{content:"◉ Spectator";font-size:.72rem}
  body.mobile-draft-experience #copyLobbyBtn::after{content:"↗ Lobby link";font-size:.72rem}

  /* Review/start is a full-width primary action, never a narrow clipped tile. */
  #phaseStatusPrimaryAction,
  .phase-status-action,
  [data-phase-action="start-review"],
  #hostStartDraftBtn,
  [data-keeper-review-start]{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:54px!important;
    padding:.7rem .65rem!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    font-size:.86rem!important;
  }

  /* All Rosters must occupy its own full-width mobile workspace. */
  body[data-mobile-draft-view="league"][data-mobile-league-view="all-rosters"] #allRostersPanel,
  body[data-mobile-draft-view="league"][data-mobile-league-view="all-rosters"] .all-rosters-card,
  body[data-mobile-draft-view="league"][data-mobile-league-view="all-rosters"] #allRosterGrid{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:390px){
  #draftView>.topbar .top-actions,
  .manual-team-controls,
  .phase-status-actions,
  .phase-status-action-wrap{grid-template-columns:1fr 1fr!important}
}


/* v91.4 Mobile lobby review layout recovery */
@media (max-width:760px){
  /* Remove v91.2 generated labels and show only the real button text. */
  body.mobile-draft-experience #hostSettingsOpenBtn,
  body.mobile-draft-experience #streamerModeBtn,
  body.mobile-draft-experience #copyWatchLinkBtn,
  body.mobile-draft-experience #copyLobbyBtn{
    font-size:.82rem!important;
  }
  body.mobile-draft-experience #hostSettingsOpenBtn::after,
  body.mobile-draft-experience #streamerModeBtn::after,
  body.mobile-draft-experience #copyWatchLinkBtn::after,
  body.mobile-draft-experience #copyLobbyBtn::after{
    content:none!important;
    display:none!important;
  }

  /* The setup card is one clear vertical flow on phones. */
  #phaseStatusHeader.unified-status-panel{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    grid-template-areas:
      "icon copy"
      "controls controls"!important;
    gap:.8rem!important;
    padding:1rem!important;
    overflow:hidden!important;
  }
  #phaseStatusHeader .phase-status-icon{grid-area:icon!important;align-self:start!important}
  #phaseStatusHeader .phase-status-copy{grid-area:copy!important;min-width:0!important}
  #phaseStatusHeader .unified-status-controls{
    grid-area:controls!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:.75rem!important;
    width:100%!important;
    min-width:0!important;
  }
  #phaseStatusHeader .unified-status-primary{
    display:flex!important;
    flex-direction:column!important;
    gap:.7rem!important;
    width:100%!important;
    min-width:0!important;
  }
  #phaseStatusHeader .phase-status-action{
    order:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  #phaseStatusHeader .phase-status-action button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:56px!important;
    padding:.85rem 1rem!important;
    font-size:1rem!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    text-align:center!important;
  }
  #phaseStatusHeader .phase-status-action small{
    display:none!important;
  }
  #phaseStatusHeader .draft-clock-card{
    order:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:86px!important;
  }
  #phaseStatusHeader .unified-utility-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.55rem!important;
    width:100%!important;
    min-width:0!important;
  }
  #phaseStatusHeader .unified-utility-actions>*{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    white-space:normal!important;
  }
  #phaseStatusHeader #notificationDebugBtn:nth-last-child(1){grid-column:1/-1!important}

  /* Match the optical size of all five bottom navigation icons. */
  .mobile-draft-nav button>span,
  .mobile-draft-nav .mobile-nav-svg{
    width:28px!important;
    height:28px!important;
    font-size:1.55rem!important;
    display:grid!important;
    place-items:center!important;
  }
  .mobile-draft-nav .mobile-nav-svg svg{
    width:27px!important;
    height:27px!important;
    fill:currentColor!important;
  }
}


/* v91.5 - exact mobile pre-draft review card layout */
@media (max-width: 760px) {
  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.85rem !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 1rem !important;
    overflow: hidden !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase > .phase-status-icon {
    position: absolute !important;
    left: 1rem !important;
    top: 1rem !important;
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    margin: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase > .phase-status-copy {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 72px !important;
    margin: 0 0 0 88px !important;
    padding: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase > .phase-status-copy p,
  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase > .phase-status-copy h2,
  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase > .phase-status-copy .eyebrow {
    width: 100% !important;
    max-width: none !important;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase > .unified-status-controls {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.7rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase .unified-status-primary {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.7rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase .phase-status-action {
    order: 1 !important;
    display: block !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    writing-mode: horizontal-tb !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase .phase-status-action > button[data-phase-action="start-review"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: 56px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase .phase-status-action > small {
    display: none !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase .draft-clock-card {
    order: 2 !important;
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 88px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase .unified-utility-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.55rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase .unified-utility-actions > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader.mobile-review-phase #notificationDebugBtn {
    grid-column: 1 / -1 !important;
  }
}

/* v91.6 - live mobile clock and pick presentation recovery */
@media (max-width: 760px) {
  /* Keep the fixed pre-draft review layout isolated. Live draft states use a
     separate full-width command stack so the clock cannot inherit desktop
     flex-basis/min-width rules. */
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    grid-template-areas:
      "icon copy"
      "controls controls" !important;
    align-items: start !important;
    gap: .8rem !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 1rem !important;
    overflow: hidden !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) > .phase-status-icon {
    grid-area: icon !important;
    position: static !important;
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    margin: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) > .phase-status-copy {
    grid-area: copy !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) > .unified-status-controls {
    grid-area: controls !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .72rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .unified-status-primary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .7rem !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .phase-status-action,
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    flex: none !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .phase-status-action {
    order: 1 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .phase-status-action button {
    width: 100% !important;
    min-height: 54px !important;
    padding: .8rem 1rem !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-card {
    order: 2 !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .75rem !important;
    min-height: 104px !important;
    padding: .8rem !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-logo {
    width: 62px !important;
    height: 62px !important;
    border-radius: 14px !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto !important;
    align-items: end !important;
    gap: 3px .75rem !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-copy > small {
    grid-column: 1 !important;
    grid-row: 1 !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    white-space: normal !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-copy > #draftClockContext {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-width: 100% !important;
    font-size: .76rem !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-copy > .timer-box,
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-card.not-started .draft-clock-copy > .timer-box {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    min-width: 4.6ch !important;
    font-size: clamp(2.2rem, 11vw, 3.15rem) !important;
    line-height: .92 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-track {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    margin-top: .5rem !important;
  }

  /* Latest-pick and rapid-pick notices use a true phone card. These selectors
     intentionally outrank older desktop presentation rules appended later. */
  html body.mobile-draft-experience .live-draft-presentation {
    top: max(10px, env(safe-area-inset-top)) !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    max-width: none !important;
    transform: translateY(-12px) !important;
  }

  html body.mobile-draft-experience .live-draft-presentation.active {
    transform: translateY(0) !important;
  }

  html body.mobile-draft-experience .pick-presentation-card {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) !important;
    min-height: 82px !important;
    gap: .7rem !important;
    padding: .72rem .8rem !important;
    border-radius: 17px !important;
    width: 100% !important;
  }

  html body.mobile-draft-experience .pick-presentation-logo {
    width: 50px !important;
    height: 50px !important;
  }

  html body.mobile-draft-experience .pick-presentation-player,
  html body.mobile-draft-experience .pick-burst-team {
    display: none !important;
  }

  html body.mobile-draft-experience .pick-presentation-copy,
  html body.mobile-draft-experience .pick-burst-copy {
    min-width: 0 !important;
    text-align: center !important;
  }

  html body.mobile-draft-experience .pick-presentation-copy strong,
  html body.mobile-draft-experience .pick-burst-copy strong {
    font-size: 1.14rem !important;
    line-height: 1.16 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
  }

  html body.mobile-draft-experience .pick-presentation-copy small,
  html body.mobile-draft-experience .pick-burst-copy small {
    margin-top: .28rem !important;
    font-size: .72rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }

  html body.mobile-draft-experience .pick-burst-card {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    align-items: center !important;
    min-height: 88px !important;
    gap: .7rem !important;
    width: 100% !important;
    padding: .72rem .8rem !important;
    border-radius: 17px !important;
  }

  html body.mobile-draft-experience .pick-burst-count {
    min-height: 62px !important;
    border-radius: 14px !important;
  }

  html body.mobile-draft-experience .pick-burst-count strong {
    font-size: 1.8rem !important;
  }

  html body.mobile-draft-experience .pick-burst-count span {
    max-width: 54px !important;
    text-align: center !important;
    line-height: 1.05 !important;
  }

  html body.mobile-draft-experience .round-transition-card {
    width: 100% !important;
    min-height: 68px !important;
    padding: .65rem .85rem !important;
    border-radius: 16px !important;
    text-align: center !important;
  }
}


/* v91.7 - component-level mobile live clock reset */
@media (max-width: 760px) {
  body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .unified-status-primary {
    contain: layout !important;
  }
  body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .phase-status-action button {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }
  body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-card .draft-clock-copy {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-card .timer-box {
    font-size: clamp(2.25rem, 12vw, 3.35rem) !important;
  }
}


/* v91.8 - true compact mobile draft clock */
@media (max-width: 760px) {
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .unified-status-controls,
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .unified-status-primary,
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .unified-utility-actions {
    grid-column: 1 / -1 !important;
  }
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .unified-status-primary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "action" "clock" !important;
  }
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-card {
    grid-area: clock !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 88px !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
  }
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) .draft-clock-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto !important;
    overflow: visible !important;
  }
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) #timerBox {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    min-width: 4.2ch !important;
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
    line-height: .92 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-align: right !important;
  }
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) #draftClockEyebrow {
    grid-column: 1 !important;
    grid-row: 1 !important;
    white-space: nowrap !important;
  }
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) #draftClockContext {
    grid-column: 1 !important;
    grid-row: 2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  html body.mobile-draft-experience #phaseStatusHeader:not(.mobile-review-phase) #draftClockTrack {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    width: 100% !important;
  }
}
