@font-face {
  font-family: Inter;
  src: url("/room-assets/inter-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  color-scheme: dark;
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-synthesis: none;
  color: #eef3fa;
  background: #0d1422;
  --bg: #0d1422;
  --surface: #172337;
  --raised: #213149;
  --line: #304159;
  --text: #eef3fa;
  --muted: #adbbcd;
  --accent: #6ce5dc;
  --notice: #ffb8ac;
  --warning: #ffdb98;
  --success: #8cf3da;
  scrollbar-color: #52657e var(--bg);
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
button,
a,
summary {
  -webkit-tap-highlight-color: transparent;
}
a {
  color: var(--accent);
  text-underline-offset: 3px;
}
button {
  cursor: pointer;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--raised);
  font-weight: 600;
  transition: background 0.15s;
}
button:hover {
  background: #2c405c;
}
button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
button.primary {
  background: var(--accent);
  color: #10272a;
  border-color: var(--accent);
}
button.primary:hover {
  background: #9aeee8;
}
button.quiet {
  background: transparent;
  border-color: transparent;
  color: var(--accent);
}
button[aria-pressed="true"] {
  background: #244c53;
  border-color: var(--accent);
  color: #a4fff5;
}
button:focus-visible,
a:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
::selection {
  background: #316b77;
  color: white;
}
input,
select,
textarea {
  min-width: 0;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #40536e;
  border-radius: 6px;
  background: #111d2e;
}
input::placeholder,
textarea::placeholder {
  color: #8e9fb5;
}
input,
textarea {
  caret-color: var(--accent);
}
input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  accent-color: var(--accent);
}
textarea {
  resize: vertical;
  min-height: 76px;
}
label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
}
label.check {
  flex-direction: row;
  align-items: center;
  color: var(--text);
  font-size: 13px;
}
form > label {
  margin: 12px 0;
}
select {
  text-overflow: ellipsis;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1 {
  font-size: 24px;
  line-height: 1.22;
  letter-spacing: -0.025em;
  margin-bottom: 6px;
}
h2 {
  font-size: 16px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  margin-bottom: 0;
}
h3 {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 8px;
}
p,
li {
  line-height: 1.5;
}
p {
  max-width: 80ch;
  margin-bottom: 12px;
}
small {
  font-size: 11px;
}
strong {
  font-weight: 650;
}
[hidden] {
  display: none !important;
}
.office-shell {
  display: grid;
  grid-template-columns: 218px minmax(0, 1fr);
  min-height: 100dvh;
}
.office-sidebar {
  position: sticky;
  top: 0;
  height: 100dvh;
  padding: 22px 14px 16px;
  background: #111b2c;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
}
.wordmark {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
  font-size: 15px;
  font-weight: 700;
  margin: 0 8px 32px;
}
.league-mark {
  display: grid;
  place-items: center;
  background: var(--accent);
  color: #10272a;
  border-radius: 10px;
  width: 40px;
  height: 40px;
  letter-spacing: -1px;
  font-size: 16px;
}
.wordmark small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-weight: 500;
}
.section-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  text-decoration: none;
  color: var(--muted);
  font-weight: 650;
  border-radius: 7px;
}
.section-link[aria-current] {
  color: var(--accent);
  background: #1d3445;
}
.nav-group {
  margin-bottom: 7px;
}
.sidebar-tools {
  padding: 6px 0 8px 39px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sidebar-tools a {
  font-size: 12px;
  padding: 8px 5px;
  text-decoration: none;
  color: var(--muted);
  border-left: 2px solid transparent;
}
.sidebar-tools a[aria-current] {
  border-color: var(--accent);
  color: var(--text);
  font-weight: 650;
  padding-left: 10px;
}
.nav-group:not(:has(.section-link[aria-current])) .sidebar-tools {
  display: none;
}
.weekly {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  font-size: 12px;
  color: var(--muted);
}
.office-workspace {
  min-width: 0;
}
.office-context {
  min-height: 70px;
  padding: 12px 28px;
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid var(--line);
  background: #111b2c;
}
.office-context > label {
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex: 1;
  max-width: 455px;
  white-space: nowrap;
}
.capture-date {
  margin-left: auto;
  color: var(--muted);
  font-size: 11px;
}
.info-link {
  display: grid;
  place-items: center;
  min-width: 36px;
  min-height: 36px;
  border-radius: 6px;
  color: var(--muted);
}
.player-search-shortcut { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 44px; min-height: 44px; color: var(--text); text-decoration: none; white-space: nowrap; }
.player-search-shortcut span { font-size: 12px; }
.player-search-shortcut:hover, .player-search-shortcut[aria-current] { color: var(--accent); }
.player-search { max-width: 760px; }
.player-search label { max-width: 420px; }
.player-search input { width: 100%; min-height: 44px; font-size: 16px; }
.player-search #player-search-help { margin-top: 8px; }
.player-search-count { font-weight: 650; margin: 20px 0 4px; }
.player-search-results { list-style: none; padding: 0; margin: 0 0 14px; }
.player-search-results li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.player-search-results li div { min-width: 0; }
.player-search-results strong a { display: inline-flex; align-items: center; min-height: 44px; }
.player-search-results li div span { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.player-search-results li > span { color: var(--muted); font-size: 12px; text-align: right; overflow-wrap: anywhere; }
.mobile-brand,
.tool-nav {
  display: none;
}
.office-main {
  padding: 24px 28px 32px;
  max-width: 1240px;
  margin: auto;
}
.page-heading {
  margin-bottom: 18px;
}
.page-heading p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 0;
}
.toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 12px 0 16px;
}
.toolbar > label {
  min-width: 150px;
}
.toolbar > .muted {
  margin: 0;
  flex: 1;
}
.toolbar .check {
  min-width: 0;
}
.toolbar a {
  font-size: 13px;
}
.panel,
.package {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
  margin-top: 14px;
  min-width: 0;
}
.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.panel-title > span {
  color: var(--muted);
  font-size: 12px;
}
.split,
.package-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.split > * {
  min-width: 0;
}
.muted {
  font-size: 12px;
  color: var(--muted);
}
.panel > .muted {
  margin: 12px 0 0;
}
.empty {
  color: var(--muted);
  padding: 20px 0;
  margin: 0;
}
.notice {
  color: #ffb8ac;
  font-size: 13px;
  margin: 10px 0;
}
.notice:empty {
  display: none;
}
.notice-neutral {
  color: var(--muted);
}
.notice-success {
  color: var(--success);
}
.notice-warning {
  color: var(--warning);
}
.notice-error {
  color: var(--notice);
}
.post-fields {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
  display: grid;
  gap: 12px;
}
.panel-title h2[tabindex="-1"]:focus-visible,
.table-scroll:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.tool-cluster {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.tool-cluster + .tool-cluster {
  margin-top: 8px;
}
.tool-cluster-label {
  padding: 6px 5px 2px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.trade-package-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 14px;
}
.trade-package-summary-side {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  text-align: left;
  white-space: normal;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: transparent;
}
.trade-package-summary-heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 4px 12px;
  min-height: 44px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}
.trade-package-summary-heading > span {
  color: var(--muted);
  font-size: 12px;
}
.trade-package-summary-assets {
  font-size: 12px;
  overflow-wrap: anywhere;
}
.trade-package-summary-warning {
  color: var(--notice);
  font-size: 12px;
}
@media (max-width: 700px) {
  .trade-package-summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
}
.segments {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
  scrollbar-width: thin;
  white-space: nowrap;
  margin-bottom: 14px;
}
.segments button {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  padding: 11px 14px;
  flex-shrink: 0;
  font-size: 13px;
}
.segments button[aria-selected="true"] {
  color: var(--accent);
  border-color: var(--accent);
}
.segments button:hover {
  background: #1a2a3d;
}
.tab-view .tab-view > .segments {
  margin-top: 4px;
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  text-align: left;
}
th {
  color: var(--muted);
  font-weight: 500;
  font-size: 11px;
  white-space: nowrap;
  background: #1b2b41;
  padding: 10px;
}
td {
  padding: 9px 10px;
  border-bottom: 1px solid #2a3a51;
  vertical-align: middle;
}
tbody tr:last-child td {
  border-bottom: 0;
}
tbody tr:hover {
  background: #1d2d43;
}
.table-scroll {
  overflow-x: auto;
  max-width: 100%;
  scrollbar-width: thin;
}
.player {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 190px;
}
.player img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #2b3b52;
  object-fit: cover;
}
.player strong {
  display: block;
  font-size: 13px;
  white-space: nowrap;
}
.player small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
  white-space: nowrap;
}
.position {
  font-size: 10px;
  line-height: 1.25;
  display: inline-block;
  padding: 2px 5px;
  border-radius: 4px;
  background: #36435a;
  color: #dfe8f5;
  font-weight: 650;
  min-width: 25px;
  text-align: center;
}
.position-QB {
  background: #633342;
  color: #ffc2cf;
}
.position-RB {
  background: #194c4a;
  color: #8cf3da;
}
.position-WR {
  background: #2a4166;
  color: #acd2ff;
}
.position-TE {
  background: #604827;
  color: #ffdb98;
}
.player-link {
  padding: 0;
  background: transparent;
  border: 0;
  text-align: left;
}
.player-link:hover {
  background: transparent;
  color: var(--accent);
}
.roster-filters {
  margin: 0 0 14px;
}
.roster-filters > label:first-child {
  min-width: 180px;
  flex: 1;
}
.roster-filters > label:last-child {
  min-width: 130px;
  max-width: 180px;
}
.roster-table th:nth-child(n + 2),
.roster-table td:nth-child(n + 2) {
  text-align: right;
}
.lineup-row,
.lineup-list > div:not(.item-list) {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.lineup-row > span:last-child,
.lineup-list > div > span:last-child {
  margin-left: auto;
  font-variant-numeric: tabular-nums;
}
.actions {
  padding-left: 20px;
  margin: 0;
}
.actions li {
  padding: 0 0 12px 4px;
}
.actions li:last-child {
  padding-bottom: 0;
}
.actions a {
  font-weight: 650;
}
.actions p {
  color: var(--muted);
  margin: 5px 0 0;
  font-size: 13px;
}
summary {
  cursor: pointer;
  font-weight: 600;
  padding: 10px 0;
  color: var(--muted);
  font-size: 12px;
}
details[open] > summary {
  color: var(--text);
}
details > p,
details > div {
  margin-top: 12px;
}
.protected {
  border-block: 1px solid var(--line);
  margin: 16px 0;
  padding: 4px 0;
}
.check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0;
}
.trade-side {
  padding: 0 0 8px;
}
.package-title {
  font-size: 17px;
  line-height: 1.4;
  font-weight: 650;
  color: var(--accent);
  margin-bottom: 10px;
}
.trade-side > .muted,
.trade-side > .notice {
  font-size: 13px;
}
.trade-side details {
  border-top: 1px solid var(--line);
}
.asset-tools {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 12px;
  margin: 16px 0;
}
.asset-row {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.asset-row > div {
  flex: 1;
}
.asset-row small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}
.asset-row > span {
  text-align: right;
}
.section-label {
  margin-bottom: 6px;
}
.waiver-row,
.listing {
  display: grid;
  grid-template-columns: 1fr 1.3fr auto;
  gap: 18px;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.waiver-row { align-items: start; }
.waiver-row:last-child,
.listing:last-child {
  border-bottom: 0;
}
.waiver-row strong {
  font-size: 13px;
}
.waiver-metrics {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
}
.waiver-coverage { margin: 16px 0; max-width: 720px; }
.waiver-coverage h3 { margin: 0 0 8px; font-size: 14px; }
.waiver-coverage-track { display: flex; height: 8px; overflow: hidden; border-radius: 4px; background: var(--line); }
.waiver-coverage-track span { background: var(--accent); }
.waiver-coverage-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.waiver-coverage-filters button { min-height: 44px; }
.waiver-coverage p { color: var(--muted); font-size: 12px; margin: 8px 0 0; }
.waiver-drop-control {
  margin: 14px 0;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.waiver-drop-control > label {
  display: block;
  max-width: 28rem;
}
.waiver-drop-control select { width: 100%; }
.waiver-drop-control p:last-child { margin-bottom: 0; }
.usage {
  font-size: 12px;
  color: var(--muted);
}
.usage span {
  display: block;
  padding: 4px 0;
}
.usage summary {
  padding: 7px 0;
}
.listing p {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 5px;
}
.listing h3 {
  margin-bottom: 5px;
}
.finish-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.finish-row > span {
  flex: 1;
}
.finish-row button {
  font-size: 12px;
  padding: 7px;
}
.rooting,
.board-row {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.rooting:last-child,
.board-row:last-child {
  border-bottom: 0;
}
.rooting p,
.board-row p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}
.board-row .toolbar {
  margin: 10px 0 0;
}
.rookie-candidate { max-width: 680px; }
.rookie-candidate label { max-width: 560px; }
.rookie-candidate textarea { min-height: 96px; width: 100%; }
.rookie-candidate form button { margin-top: 12px; }
.rookie-candidate > button { margin-top: 12px; }
.board-row div > a { display: inline-block; margin-top: 8px; }
.rookie-note-editor { margin: 14px 0; max-width: 620px; padding: 14px; background: var(--input); border-radius: 8px; }
.rookie-note-editor h3 { margin: 0 0 8px; }
.rookie-note-editor p { margin: 8px 0; color: var(--muted); font-size: 12px; }
.rookie-note-editor textarea { width: 100%; min-height: 96px; }
.rookie-note-editor .toolbar { margin-top: 12px; }
.rookie-note-changed { padding: 10px 0; }
.receipt {
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.receipt .panel-title > span {
  font-size: 11px;
  white-space: nowrap;
}
.receipt ul {
  padding-left: 18px;
}
.trade-tree {
  border-left: 1px solid var(--line);
  list-style: none;
}
.trade-tree > li {
  padding: 8px 0;
}
.trade-tree p {
  font-size: 12px;
  margin-bottom: 8px;
}
.poll {
  padding: 4px 0;
}
.poll-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.poll-choices button {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
  text-align: left;
}
.poll-choices span {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}
.loading {
  padding: 30px;
}
@media (max-width: 1100px) {
  .office-shell {
    grid-template-columns: 185px minmax(0, 1fr);
  }
  .office-main {
    padding: 20px;
  }
  .office-context {
    padding: 12px 20px;
    gap: 12px;
  }
  .capture-date {
    display: none;
  }
  .check-grid {
    grid-template-columns: 1fr 1fr;
  }
  .waiver-row {
    grid-template-columns: 1fr auto;
  }
  .waiver-row > div {
    grid-row: 2;
    grid-column: 1/-1;
  }
  .waiver-row > button {
    grid-row: 1;
    grid-column: 2;
  }
  .split {
    gap: 18px;
  }
}
@media (max-width: 700px) {
  :root {
    font-size: 14px;
  }
  .office-shell {
    display: block;
  }
  .office-sidebar {
    position: fixed;
    z-index: 5;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    height: auto;
    padding: 0 8px env(safe-area-inset-bottom);
    border-right: 0;
    border-top: 1px solid var(--line);
    background: #111b2c;
  }
  .office-sidebar nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
  }
  .office-sidebar .wordmark,
  .office-sidebar .sidebar-tools,
  .office-sidebar .weekly {
    display: none;
  }
  .nav-group {
    margin: 0;
  }
  .section-link {
    flex-direction: column;
    gap: 4px;
    padding: 10px 1px 9px;
    font-size: clamp(8px, 2.5vw, 10px);
    white-space: nowrap;
    border-radius: 0;
    min-height: 60px;
  }
  .section-link[aria-current] {
    background: transparent;
    border-top: 2px solid var(--accent);
    padding-top: 8px;
  }
  .office-context {
    padding: 10px 14px;
    gap: 8px;
    flex-wrap: wrap;
  }
  .mobile-brand {
    display: block;
    font-size: 12px;
    font-weight: 750;
    flex: 1;
  }
  .mobile-brand span {
    font-weight: 500;
    color: var(--muted);
    margin-left: 5px;
  }
  .office-context > label {
    order: 3;
    max-width: none;
    flex-basis: 100%;
    font-size: 11px;
    gap: 8px;
  }
  .office-context > label select {
    flex: 1;
  }
  .info-link {
    min-width: 32px;
    min-height: 32px;
  }
  .tool-nav {
    display: flex;
    gap: 4px;
    padding: 0 10px;
    overflow-x: auto;
    scrollbar-width: thin;
    border-bottom: 1px solid var(--line);
    background: #111b2c;
    white-space: nowrap;
  }
  .tool-nav a {
    padding: 14px 9px 11px;
    font-size: 12px;
    text-decoration: none;
    color: var(--muted);
    border-bottom: 2px solid transparent;
  }
  .tool-nav a[aria-current] {
    color: var(--accent);
    border-color: var(--accent);
  }
  .office-main {
    padding: 18px 14px calc(84px + env(safe-area-inset-bottom));
  }
  .page-heading {
    margin-bottom: 14px;
  }
  h1 {
    font-size: 22px;
  }
  h2 {
    font-size: 15px;
  }
  .page-heading p {
    font-size: 12px;
    line-height: 1.45;
  }
  .segments {
    margin-bottom: 12px;
  }
  .segments button {
    font-size: 12px;
    padding: 12px 10px;
    min-height: 44px;
  }
  .panel,
  .package {
    padding: 14px;
    margin-top: 12px;
  }
  .panel-title {
    gap: 8px;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
  }
  .panel-title button {
    font-size: 12px;
  }
  .toolbar {
    gap: 10px;
    margin: 10px 0 12px;
  }
  .toolbar > label {
    min-width: 0;
    flex: 1;
  }
  .toolbar > .muted {
    flex-basis: 100%;
  }
  input,
  select,
  textarea {
    font-size: 16px;
    min-height: 44px;
  }
  button {
    min-height: 44px;
    padding: 9px 11px;
  }
  summary {
    min-height: 44px;
    display: list-item;
    padding: 12px 0;
  }
  .roster-filters > label:first-child {
    min-width: 0;
  }
  .roster-filters > label:last-child {
    min-width: 0;
    width: 40%;
  }
  .player {
    min-width: 166px;
    gap: 8px;
  }
  .player img {
    width: 32px;
    height: 32px;
  }
  .player strong {
    font-size: 12px;
  }
  .player small {
    font-size: 10px;
  }
  .roster-table th:nth-child(2),
  .roster-table td:nth-child(2),
  .roster-table th:nth-child(4),
  .roster-table td:nth-child(4) {
    display: none;
  }
  .roster-table td,
  .roster-table th {
    padding: 8px 4px;
  }
  .roster-table button {
    font-size: 11px;
    padding: 8px 5px;
  }
  .roster-table .player {
    min-width: 0;
  }
  .roster-table .player strong {
    white-space: normal;
  }
  .roster-table .player small {
    white-space: normal;
  }
  .split,
  .package-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .trade-side {
    padding-bottom: 0;
  }
  .package-title {
    font-size: 16px;
  }
  .trade-side h3 {
    margin-bottom: 6px;
  }
  .trade-side > .muted,
  .trade-side > .notice {
    font-size: 12px;
  }
  .asset-tools {
    grid-template-columns: 1fr;
  }
  .asset-row > span {
    font-size: 12px;
  }
  .asset-row small {
    font-size: 10px;
  }
  .check-grid {
    grid-template-columns: 1fr;
  }
  .listing {
    grid-template-columns: 1fr auto;
    gap: 5px 12px;
  }
  .listing > div:nth-child(2) {
    grid-column: 1/-1;
  }
  .listing > button {
    grid-row: 1;
    grid-column: 2;
  }
  .waiver-row {
    gap: 6px 10px;
    padding: 12px 0;
  }
  .waiver-row > div {
    font-size: 12px;
  }
  .receipt {
    padding: 14px;
  }
  .receipt .split {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .receipt li {
    font-size: 12px;
  }
  .receipt h3 {
    font-size: 12px;
  }
  .receipt .panel-title {
    align-items: flex-start;
  }
  .receipt .panel-title h2 {
    flex: 1;
  }
  .poll-choices {
    gap: 8px;
  }
  .poll-choices button {
    padding: 12px;
  }
  .finish-row {
    font-size: 12px;
  }
  .finish-row button {
    padding: 7px 8px;
  }
  .board-row .toolbar button {
    font-size: 12px;
  }
  .tab-view [role="tabpanel"] > section > label {
    margin: 8px 0;
  }
  .table-scroll {
    margin-inline: -3px;
  }
  .tool-nav a:focus-visible,
  .segments button:focus-visible {
    outline-offset: -3px;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 10;
  transform: translateY(-150%);
  padding: 10px 16px;
  background: var(--accent);
  color: var(--bg);
  border-radius: 6px;
}
.skip-link:focus {
  transform: none;
}
.office-main:focus,
h1:focus {
  outline: none;
}
.player-detail > summary {
  display: flex;
  padding: 0;
  color: var(--text);
  min-height: 36px;
}
.player-detail .row-chevron {
  flex-shrink: 0;
  align-self: center;
  margin-left: 8px;
  color: var(--muted);
}
.player-detail[open] .row-chevron {
  transform: rotate(180deg);
}
.player-detail > p {
  font-size: 12px;
  color: var(--muted);
  margin: 8px 0 0;
  max-width: 28ch;
  text-align: left;
}
.office-main {
  padding-top: 18px;
}
.item-list > .panel:first-child {
  margin-top: 0;
}
.lineup-list > .item-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 28px;
}
.lineup-row {
  padding: 9px 0;
}
.lineup-slot {
  flex: 0 0 6rem;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.lineup-row > div { min-width: 0; }
.lineup-assistive {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.history-list {
  border-top: 1px solid var(--line);
}
.history-row {
  border-bottom: 1px solid var(--line);
}
.history-row > summary {
  padding: 12px 0;
  color: var(--text);
}
.history-row-header { padding: 12px 0 0; }
.history-row > details > summary { min-height: 44px; padding: 10px 0; color: var(--accent); cursor: pointer; }
.protected-choice { display: flex; gap: 8px; align-items: center; min-height: 44px; }
.poll-choice > button { width: 100%; }
.poll-choice > p { margin: 0 0 8px; }
.history-heading {
  display: inline-flex;
  width: calc(100% - 24px);
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}
.history-heading time {
  font-size: 11px;
  font-weight: 400;
  color: var(--muted);
  white-space: nowrap;
}
.history-assets {
  display: block;
  margin: 6px 0 0 18px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--muted);
}
.history-row > .receipt {
  border: 0;
  border-radius: 0;
  margin: 0 0 12px;
}
.page-heading {
  margin-bottom: 14px;
}
.panel {
  padding: 14px;
}
.panel-title {
  margin-bottom: 10px;
}
.segments {
  margin-bottom: 10px;
}
@media (max-width: 700px) {
  .lineup-list > .item-list {
    grid-template-columns: 1fr;
  }
  .trade-sides > section + section {
    padding-top: 14px;
    border-top: 1px solid var(--line);
  }
  .history-heading {
    flex-wrap: wrap;
    gap: 4px;
  }
  table:not(.roster-table) {
    min-width: 600px;
  }
  .player-detail > summary {
    min-height: 44px;
  }
  .player-detail .row-chevron {
    margin-left: 3px;
  }
  .office-main {
    padding-top: 14px;
  }
  .page-heading {
    margin-bottom: 10px;
  }
  .panel {
    padding: 12px;
  }
}

/* Shared league refresh; retain the compact Sleeper-inspired header. */
.office-sync {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-shrink: 0;
  color: var(--accent);
}
.sync-notice {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
  margin-bottom: 12px;
  display: grid;
  gap: 4px;
}
.sync-notice p {
  margin: 0;
}
.sync-notice:empty {
  display: none;
}
.source-dates {
  display: grid;
  gap: 8px;
  font-size: 13px;
  margin: 18px 0;
}
.source-dates > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
}
.source-dates dt {
  color: var(--muted);
  min-width: 150px;
}
.source-dates dd {
  margin: 0;
}
@media (max-width: 760px) {
  .office-context .capture-date {
    order: 4;
    margin: 0;
    flex-basis: 100%;
  }
  .office-context .office-sync {
    min-height: 44px;
  }
}

@media (max-width: 760px) {
  .office-context .capture-date {
    display: block;
  }
}

.mobile-review {
  display: none;
}
@media (max-width: 760px) {
  .office-context .capture-date {
    flex-basis: auto;
    flex: 1;
  }
  .mobile-review {
    display: inline-flex;
    align-items: center;
    order: 4;
    min-height: 44px;
    color: var(--accent);
    font-size: 12px;
    text-underline-offset: 3px;
  }
}
/* Compact Front Office home and league conversations. */
.hub-shortcuts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  padding: 0 0 18px;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--line);
}
.hub-shortcuts a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
}
.hub-home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 28px 36px;
}
.hub-home-grid h2 {
  margin: 0 0 16px;
  font-size: 18px;
}
.hub-recent {
  min-width: 0;
  border-left: 1px solid var(--line);
  padding-left: 28px;
}
.hub-home-grid { margin-block: 28px; }
.hub-home-grid > section { min-width: 0; }
.hub-home-grid .hub-list > li:first-child { padding-top: 0; }
.hub-home-grid .hub-list a { display: inline-flex; align-items: center; min-height: 44px; }
.hub-move-heading { display: flex; align-items: center; flex-wrap: wrap; column-gap: 16px; }
.hub-home-secondary { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 36px; padding-block: 26px; margin-bottom: 24px; border-block: 1px solid var(--line); }
.hub-home-secondary h2 { margin: 0 0 16px; font-size: 18px; }
.hub-home-secondary .hub-shortcuts { display: flex; align-content: start; border: 0; margin: 0; padding: 0 0 0 28px; gap: 0 24px; }
.hub-home-secondary .hub-shortcuts h2 { flex-basis: 100%; }
.hub-home-secondary .hub-shortcuts a { min-height: 44px; }
.hub-section-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}
.hub-section-head h2 {
  margin-top: 0;
}
.hub-opponent {
  display: flex;
  align-items: center;
  gap: 14px;
}
.hub-opponent img {
  width: 56px;
  height: 56px;
  object-fit: contain;
}
.hub-opponent strong {
  font-size: 20px;
  line-height: 1.3;
}
.hub-opponent span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
}
.hub-talking-point {
  max-width: 60ch;
}
.hub-list {
  padding: 0;
  margin: 0;
  list-style: none;
}
.hub-list > li {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.hub-list > li:last-child {
  border-bottom: 0;
}
.hub-list p {
  margin: 7px 0;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.hub-list small {
  display: block;
  color: var(--muted);
  margin: 5px 0;
}
.hub-list a,
.hub-list strong {
  font-weight: 600;
}
.hub-row-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
}
.hub-form {
  max-width: 820px;
  display: grid;
  gap: 18px;
}
.hub-form > label,
.hub-reply > label {
  display: grid;
  gap: 7px;
}
.hub-form textarea {
  width: 100%;
  min-height: 86px;
  resize: vertical;
}
.hub-form .toolbar {
  margin: 0;
}
.hub-filter {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  max-width: 420px;
}
.hub-filter select {
  flex: 1;
}
.hub-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 0;
  border: 0;
  margin: 0;
}
.hub-checks legend {
  padding: 0 0 8px;
  font-weight: 600;
}
.hub-checks label {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 36px;
}
.hub-package-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
}
.hub-package-grid h3 {
  margin: 0 0 12px;
}
.hub-package-grid label {
  display: grid;
  gap: 7px;
}
.hub-assets {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}
.hub-assets li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.hub-assets button {
  font-size: 12px;
}
.hub-disclosure {
  padding: 12px 0;
}
.hub-disclosure summary {
  cursor: pointer;
  min-height: 36px;
}
.hub-dealbreaker-profile {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  color: var(--muted);
}
.hub-dealbreaker-profile .player-name-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--accent);
  font-weight: 600;
}
.hub-thread {
  border-top: 1px solid var(--line);
  padding: 16px 0;
}
.hub-thread > summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  padding: 6px 0;
}
.hub-thread > summary span {
  color: var(--muted);
}
.hub-thread[open] > summary {
  margin-bottom: 12px;
}
.hub-thread .hub-reply {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 16px;
}
.hub-history {
  margin-top: 28px;
}
.hub-history table,
.hub-standings {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}
.hub-history th,
.hub-history td,
.hub-standings th,
.hub-standings td {
  text-align: left;
  padding: 12px 8px;
  border-bottom: 1px solid var(--line);
}
.hub-history small {
  display: block;
  color: var(--accent);
  margin-top: 4px;
}
.call-result {
  font-size: 12px;
  text-transform: capitalize;
  color: var(--muted);
}
.call-result.hit {
  color: #8ee2bd;
}
.call-result.miss {
  color: #ffadb7;
}
@media (max-width: 760px) {
  .hub-home-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .hub-recent {
    grid-column: auto;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 22px 0 0;
  }
  .hub-home-secondary { grid-template-columns: 1fr; gap: 24px; }
  .hub-home-secondary .hub-shortcuts { padding: 20px 0 0; border-top: 1px solid var(--line); }
  .hub-shortcuts {
    gap: 4px 20px;
    padding-bottom: 12px;
    margin-bottom: 20px;
  }
  .hub-shortcuts a,
  .hub-checks label {
    min-height: 44px;
  }
  .hub-home-grid .hub-decisions {
    padding-top: 0;
  }
  .hub-package-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .hub-package-grid > section + section {
    border-top: 1px solid var(--line);
    padding-top: 18px;
  }
  .hub-section-head {
    gap: 8px;
  }
  .hub-opponent strong {
    font-size: 18px;
  }
  .hub-history th,
  .hub-history td {
    padding: 10px 4px;
    font-size: 12px;
  }
  .hub-list > li {
    padding: 12px 0;
  }
}

.hub-recent .hub-list > li {
  padding: 10px 0;
}
@media (max-width: 760px) {
  .hub-shortcuts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .hub-shortcuts a {
    font-size: 12px;
  }
}

.mobile-tool-picker,.mobile-feedback,.desktop-tools {display:none}
.round-picker {display:flex;flex-direction:row;align-items:center;gap:12px;max-width:340px;margin:0 0 20px}
.round-picker select {flex:1}
.discussion-intro {max-width:72ch;font-size:15px;line-height:1.6}
.discussion-note {color:var(--muted);font-size:12px;line-height:1.6;max-width:80ch;margin:18px 0}
.discussion-packages,.gm-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:24px 0}
.discussion-side ul {padding:0;list-style:none;margin:14px 0}
.discussion-side li {padding:8px 0}
.discussion-side p {line-height:1.6;max-width:60ch}
.discussion-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:720px}
.discussion-choices button {display:flex;justify-content:space-between;align-items:center;text-align:left;gap:14px;min-height:48px;padding:12px}
.discussion-choices button[aria-pressed="true"] {border-color:var(--accent);color:var(--accent)}
.gm-ballot {display:grid;align-content:start;gap:12px}
.gm-ballot label {margin:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px}
.gm-ballot select {width:100%;min-height:44px}
.gm-ballot button {justify-self:start;min-height:44px}
.gm-board {list-style:none;padding:0;margin:0}
.gm-board>li {display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.gm-board>li>span:last-child {text-align:right;font-variant-numeric:tabular-nums}
.gm-board small {display:block;color:var(--muted);font-size:11px}
.discussion-preview {margin:0;padding:7px 14px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
@media(max-width:700px){
 .office-context {display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:6px;padding:8px 14px}
 .office-context>.mobile-brand {min-width:0}
 .office-context>label {grid-column:1/-1;order:5;display:flex;align-items:center;font-size:12px;margin:0}
 .office-context>label select {font-size:16px;min-width:0;min-height:44px}
 .office-context .capture-date {display:none}
 .office-context .mobile-review {display:none}
 .office-context .info-link {min-width:44px;min-height:44px}
 .mobile-brand {display:flex;align-items:center;gap:6px}
 .mobile-brand a {color:var(--muted);font-size:12px;text-underline-offset:3px}
 .mobile-brand span {display:none}
 .office-context .mobile-feedback {display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px}
 .tool-nav {display:none}
 .mobile-tool-picker {display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);background:#111b2c}
 .mobile-tool-picker label {white-space:nowrap;font-size:12px}
 .mobile-tool-picker select {width:100%;min-width:0;font-size:16px;min-height:44px}
 .office-main {padding-top:16px}
 body:has(.office-shell) #lfe-feedback .lfe-fb-launch {display:none}
 .discussion-packages,.gm-columns {grid-template-columns:1fr;gap:24px;margin:20px 0}
 .discussion-side+section {border-top:1px solid var(--line);padding-top:20px}
 .discussion-choices {grid-template-columns:1fr}
 .gm-board .player img {width:32px;height:32px}
 .gm-board .player strong {font-size:13px}
}
@media(max-width:1700px) { .player-search-shortcut span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; } }

.duel-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:20px 0}
.duel-picker>p{margin-bottom:14px}
.duel-progress{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.duel-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.duel-choices button{min-height:160px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}
.duel-choices .player{display:flex;flex-direction:column;gap:10px;min-width:0}
.duel-choices .player img{height:60px;width:60px}
.duel-choices .player strong{white-space:normal;font-size:15px}
.duel-choices button[aria-pressed="true"]{border-color:var(--accent)}
.duel-picked{color:var(--accent);font-size:12px}
.duel-status{min-height:24px;margin:10px 0;color:var(--accent);font-size:13px}
.duel-navigation{display:flex;justify-content:space-between;gap:12px}
.duel-navigation button{min-height:44px}
.league-splits ul{list-style:none;padding:0;margin:0}
.league-splits li{padding:10px 0;border-bottom:1px solid var(--line)}
.league-splits li>p{font-size:13px;margin:0 0 4px}
.duel-tally{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}
.duel-tally strong{color:var(--text);font-variant-numeric:tabular-nums}
.duel-results{max-width:760px;margin:20px 0}
.duel-review{margin-top:24px}
.duel-review>summary{min-height:44px;padding:12px 0;cursor:pointer;box-sizing:border-box}
.duel-review .duel-picker{padding:16px 0}
.league-splits li>.duel-your-choice{margin-top:8px;color:var(--accent);font-size:12px}
@media(max-width:700px){.duel-columns{grid-template-columns:1fr;gap:28px}.duel-choices button{min-height:140px;padding:12px 6px}.duel-choices .player img{height:48px;width:48px}.duel-choices .player strong{font-size:14px}}
:root:has(.owner-dialog[open]) { overflow: hidden; }
.owner-dialog {
  box-sizing: border-box;
  width: min(440px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 28px;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.owner-dialog::backdrop { background: rgb(6 12 22 / 80%); }
.owner-dialog h2 { margin: 0 28px 12px 0; font-size: 24px; }
.owner-dialog p { color: var(--muted); line-height: 1.55; }
.owner-dialog form { display: grid; gap: 20px; margin-top: 24px; }
.owner-dialog select { width: 100%; min-height: 44px; font-size: 16px; }
.owner-dialog button { min-height: 44px; }
.owner-dialog .owner-close { position: absolute; right: 12px; top: 12px; width: 44px; padding: 0; display: grid; place-items: center; border: 0; background: transparent; }
.owner-dialog .owner-daily-note { margin: 16px 0 0; font-size: 12px; text-align: center; }
.owner-empty { max-width: 540px; padding-block: 28px; }
.owner-empty p { color: var(--muted); line-height: 1.55; }

.roster-news { position: relative; min-width: 0; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.roster-news-heading { display: flex; align-items: center; justify-content: space-between; min-height: 44px; margin-bottom: 8px; padding-right: 148px; }
.roster-news-heading h2 { margin: 0; font-size: 18px; }
.roster-news-refresh { position: absolute; top: 0; right: 0; }
.roster-news button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px; }
.roster-news-viewport { overflow: hidden; }
.roster-news-track { display: flex; gap: 24px; touch-action: pan-y pinch-zoom; }
.roster-news-slide { flex: 0 0 calc((100% - 24px) / 2); min-width: 0; display: flex; flex-direction: column; padding: 8px 4px; }
.roster-news-player { display: flex; gap: 12px; align-items: center; }
.roster-news-player img { width: 48px; height: 48px; border-radius: 50%; background: var(--surface); object-fit: cover; }
.roster-news-player h3 { margin: 0 0 3px; font-size: 16px; line-height: 1.4; }
.roster-news-player span { color: var(--muted); font-size: 12px; }
.roster-news-headline { margin: 12px 0; line-height: 1.5; font-size: 15px; max-width: 65ch; }
.roster-news-headline a { color: var(--text); text-decoration: none; }
.roster-news-headline a:hover { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.roster-news-headline svg { display: inline; vertical-align: middle; margin-left: 4px; color: var(--accent); }
.roster-news-source { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: auto; padding-top: 4px; font-size: 11px; color: var(--muted); }
.roster-news-controls { position: absolute; right: 52px; top: 0; display: flex; align-items: center; gap: 6px; }
.roster-news-controls>span { font-size: 12px; color: var(--muted); padding-right: 6px; font-variant-numeric: tabular-nums; }
.roster-news-note { margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.roster-news-notice { margin: 8px 0 0; color: #ffb8ac; font-size: 12px; }
.roster-news-empty { padding: 12px 0; color: var(--muted); font-size: 14px; }
@media (max-width: 760px) {
  .roster-news-slide { flex-basis: 100%; padding-inline: 4px; box-sizing: border-box; }
  .roster-news-heading { padding-right: 168px; }
  .roster-news-heading h2 { font-size: 16px; }
}

.roster-news .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }


.season-history-table { width:100%; table-layout:auto; margin:18px 0; font-variant-numeric:tabular-nums; }
.season-history-table th[scope="row"] { text-align:left; font-weight:600; overflow-wrap:anywhere; }
.season-mobile-points { display:none; }
@media(max-width:600px) { .season-history-table { font-size:12px; } .season-history-table th,.season-history-table td { padding:10px 4px; } .season-history-table th:first-child { width:37%; } .season-points { display:none; } .season-mobile-points { display:block; font-size:11px; font-weight:400; color:var(--muted); } }

.market-missing{display:block;color:var(--muted);font-size:11px;font-weight:400}

.draft-value-table{width:100%;table-layout:auto;font-variant-numeric:tabular-nums}.draft-value-table th[scope=row]{text-align:left;font-weight:600;overflow-wrap:anywhere}
@media(max-width:600px){.draft-value-table{font-size:12px}.draft-value-table th,.draft-value-table td{padding:10px 4px}.draft-value-table th[scope=row]{width:38%}}
table.season-history-table,
table.draft-value-table { min-width:0; }
.season-history-table th,
.draft-value-table th { white-space:normal; }

.decision-comparison { display:grid; gap:20px; margin-block:18px; min-width:0; }
.decision-comparison .panel { min-width:0; }
.decision-hold-sides,.decision-provider-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.decision-provider { min-width:0; }
.decision-provider h4 { margin-bottom:6px; }
.decision-provider p { font-size:12px; }
.decision-provider table { width:100%; min-width:0; table-layout:fixed; }
.decision-provider th,.decision-provider td { padding:8px 4px; white-space:normal; overflow-wrap:anywhere; text-align:left; }
.decision-markets { margin-top:18px; }
.decision-sources { padding:18px; border:1px solid var(--line); border-radius:8px; }
.decision-sources dl>div { display:flex; flex-wrap:wrap; gap:8px; margin-block:8px; }
.decision-sources dt { color:var(--muted); }
.decision-sources dd { margin:0; }
.decision-sources pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }
.decision-goal-review { border:0; margin:0; padding:0; min-width:0; }
.finder-target, .calculator-draft-review { margin:18px 0; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.finder-target h2, .calculator-draft-review h2 { margin:0 0 10px; font-size:18px; }
.finder-target p, .calculator-draft-review p { max-width:75ch; line-height:1.5; }
.finder-custom-trade { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin:16px 0; padding-top:14px; border-top:1px solid var(--line); }
.finder-custom-trade p { flex-basis:100%; margin:0; }
.finder-custom-trade label { display:grid; gap:6px; }
.calculator-draft-review .hub-package-grid { margin:16px 0; }
.calculator-draft-review .toolbar { margin-bottom:12px; }
.calculator-rescue { margin:16px 0; padding:16px 18px; border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.calculator-rescue p { margin:8px 0; max-width:75ch; line-height:1.5; }
.calculator-rescue .toolbar { margin-top:10px; }
.decision-search-controls { padding:16px; border:1px solid var(--line); border-radius:8px; margin-block:18px; }
.decision-search-controls .toolbar { align-items:end; }
.decision-save { margin-block:22px; padding:18px; border:1px solid var(--line); border-radius:8px; }
.decision-form { display:grid; gap:16px; max-width:720px; margin-top:18px; }
.decision-form>label { display:grid; gap:7px; }
.decision-form textarea { resize:vertical; }
.decision-form fieldset { display:flex; flex-wrap:wrap; gap:16px; border:1px solid var(--line); border-radius:6px; padding:14px; }
.decision-form fieldset .check { margin:0; }
.decision-form button { justify-self:start; }
.decision-list { display:grid; gap:16px; margin-top:20px; }
.decision-list h2 { margin-top:0; font-size:18px; }
.decision-premise>div { margin-block:16px; }
.decision-premise dt { color:var(--muted); font-size:12px; margin-bottom:6px; }
.decision-premise dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.decision-observation { border-top:1px solid var(--line); margin-top:16px; padding-top:12px; }
.decision-observation p { white-space:pre-wrap; overflow-wrap:anywhere; }
.decision-recheck { border:1px solid var(--line); border-radius:8px; padding:18px; margin-block:20px; }
@media(max-width:700px) {
 .decision-hold-sides,.decision-provider-grid { grid-template-columns:1fr; }
 .decision-hold-sides>section+section,.decision-provider+.decision-provider { border-top:1px solid var(--line); padding-top:12px; }
 .decision-form button,.decision-search-controls button { min-height:44px; }
 .decision-search-controls .toolbar { align-items:stretch; }
 .decision-search-controls label { flex:1 1 100%; }
 .decision-form fieldset { flex-direction:column; }
}

.trade-evidence { margin-top:18px; }
.evidence-player-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
.evidence-player,.evidence-receipt,.review-evidence { min-width:0; border:1px solid var(--line); padding:16px; border-radius:8px; margin-block:14px; }
.evidence-player h4,.evidence-receipt h4 { margin:0 0 8px; }
.evidence-source { display:block; color:var(--muted); font-size:11px; margin-top:5px; overflow-wrap:anywhere; }
.evidence-facts { display:grid; gap:14px; margin-block:16px; }
.evidence-facts>div { min-width:0; }
.evidence-facts dt { font-size:12px; color:var(--muted); margin-bottom:4px; }
.evidence-facts dd { margin:0; overflow-wrap:anywhere; }
.evidence-player .table-scroll { margin-top:12px; }
.evidence-player table { min-width:350px; width:100%; }
.evidence-player th,.evidence-player td { font-size:12px; padding:8px 5px; }
.evidence-comparables>label { display:grid; gap:6px; max-width:280px; margin-block:16px; }
.evidence-receipt>p { margin-block:8px; overflow-wrap:anywhere; }
.draft-availability-controls { align-items:end; }
.draft-availability-controls label { display:grid; gap:6px; }
.draft-coverage { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-block:16px; }
.draft-coverage dt { font-size:12px; color:var(--muted); }
.draft-coverage dd { margin:4px 0 0; }
.draft-board-filter { margin: 12px 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; }
.draft-board-filter label { display: flex; flex-direction: row; align-items: center; gap: 8px; font-weight: 600; }
.draft-board-filter p { margin: 6px 0 0; font-size: 13px; }
.draft-availability-table { width:100%; }
.draft-availability-table small { display:block; color:var(--muted); }
.draft-targets { display:flex; gap:12px; flex-wrap:wrap; padding:14px; border:1px solid var(--line); border-radius:8px; }
.draft-targets legend { padding-inline:6px; }
.draft-trade-back>label { display:grid; gap:6px; margin-block:14px; max-width:640px; }
.draft-trade-back>button { margin-block:16px; }
@media(max-width:700px) {
 .evidence-player-grid { grid-template-columns:1fr; }
 .evidence-player,.evidence-receipt,.review-evidence { padding:12px; }
 .draft-coverage { grid-template-columns:1fr; }
 .draft-availability-controls>label { flex:1 1 100%; }
 .draft-targets { flex-direction:column; }
 .draft-trade-back>button { min-height:44px; width:100%; }
}

.draft-source-list { overflow-wrap:anywhere; padding-left:20px; }

.evidence-source .evidence-source { padding-left:10px; }

.draft-source-formats { margin-block:18px; }
.draft-source-formats>details { margin-block:12px; padding:10px; border:1px solid var(--line); border-radius:6px; }
.draft-source-formats pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; }

.draft-primary-controls > label:first-child { flex:0 1 130px; }
.draft-primary-controls > label:last-child { flex:1 1 260px; }
.draft-disclosure { margin-block:14px; border-block:1px solid var(--line); padding-block:4px; }
.draft-disclosure > summary { min-height:36px; align-content:center; font-size:13px; }
.draft-disclosure[open] > summary { margin-bottom:12px; }
.draft-sample-settings .toolbar { margin-bottom:8px; }
.draft-sample-context p { margin-block:8px 14px; font-size:13px; }
.draft-prospect-filters { margin-block:0 8px; border:0; padding:0; }
.draft-row-detail { margin-top:4px; }
.draft-row-detail > summary { font-size:12px; color:var(--muted); }
.draft-methodology p { max-width:75ch; }
.draft-methodology .notice { color:var(--muted); }
@media(max-width:700px) {
 .receipt-filters,.market-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }
 .receipt-filters > label,.market-filters > label { min-width:0; font-size:14px; }
 .receipt-filters .filter-search,.market-filters .filter-search,.market-filters > .muted { grid-column:1 / -1; }
 .receipt-filters > button { justify-self:start; }
 .draft-primary-controls { display:grid; grid-template-columns:100px minmax(0,1fr); gap:10px; }
 .draft-primary-controls > label { min-width:0; font-size:14px; }
 .draft-prospect-controls > label { font-size:14px; }
 .draft-disclosure > summary { min-height:44px; }
 .draft-prospect-filters { margin-block:0 8px; }
}

.draft-change-highlights { margin: 18px 0 22px; }
.draft-change-highlights > h3 { margin: 0 0 6px; font-size: 15px; }
.draft-change-highlights > p { margin: 0 0 14px; }
.draft-change-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.draft-change-group h3 { margin: 0 0 10px; font-size: 13px; }
.draft-change-group ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.draft-change-label { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; font-variant-numeric: tabular-nums; }
.draft-change-label span { overflow-wrap: anywhere; }
.draft-change-track { height: 5px; background: var(--line); margin: 5px 0 3px; border-radius: 3px; }
.draft-change-track span { display: block; height: 100%; background: var(--accent); border-radius: inherit; }
.draft-change-group small { font-size: 11px; }
@media (max-width: 600px) { .draft-change-grid { grid-template-columns: 1fr; gap: 18px; } }
.lineup-review > .panel + .panel { margin-top: 18px; }
.saved-lineup-row > div { min-width: 0; }
.saved-lineup-row small { display: block; color: var(--notice); font-size: 12px; }
.lineup-difference { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; }
.lineup-difference p { margin: 6px 0 0; }
.position-plan-chart { display: grid; gap: 10px; margin: 16px 0; }
.position-plan-chart-row { display: grid; grid-template-columns: 32px minmax(60px, 1fr) minmax(125px, auto); align-items: center; gap: 10px; font-size: 12px; font-variant-numeric: tabular-nums; }
.position-plan-track { display: flex; height: 8px; background: var(--input); border-radius: 4px; overflow: hidden; }
.position-plan-active { background: var(--accent); }
.position-plan-other { background: var(--muted); }
.position-plan-detail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 16px; }
.position-plan-detail h3 { margin: 0 0 8px; font-size: 14px; }
.position-plan-detail ul { list-style: none; margin: 0; padding: 0; }
.position-plan-detail li { padding: 8px 0; border-bottom: 1px solid var(--line); }
.position-plan-detail li span { display: block; color: var(--muted); font-size: 12px; }
.position-plan-links { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 600px) { .position-plan-detail { grid-template-columns: 1fr; gap: 18px; } .position-plan-chart-row { grid-template-columns: 28px minmax(40px, 1fr) minmax(115px, auto); } }
.position-priorities { margin: 18px 0; }
.position-priorities h3 { margin: 0 0 8px; font-size: 14px; }
.position-priorities > div { display: flex; flex-wrap: wrap; gap: 8px; }
.position-priorities button { min-height: 44px; text-align: left; }
.position-priorities button[aria-pressed="true"] { border-color: var(--accent); }
.recruitment-focus { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 14px; }
.recruitment-focus h3 { font-size: 14px; margin: 0 0 6px; }
.recruitment-focus label { display: block; margin-top: 12px; }
.recruitment-focus textarea { display: block; width: 100%; max-width: 60ch; min-height: 72px; margin-top: 6px; }
.recruitment-focus p[role="status"] { margin: 8px 0 0; }

/* Front Office navigation: primary destinations, tools, then personal shortcuts. */
@media (min-width: 701px) {
  .office-shell { display: block; }
  .office-sidebar { position: relative; top: auto; height: auto; min-height: 58px; padding: 0 24px; border-right: 0; border-bottom: 1px solid var(--line); flex-direction: row; align-items: center; gap: 20px; }
  .office-sidebar .wordmark { flex: 0 0 auto; margin: 0; font-size: 13px; }
  .office-sidebar .league-mark { width: 34px; height: 34px; font-size: 13px; }
  .office-sidebar .wordmark small { margin-top: 1px; font-size: 10px; }
  .office-sidebar nav { display: flex; align-self: stretch; align-items: stretch; gap: 2px; min-width: 0; }
  .office-sidebar .nav-group { display: flex; margin: 0; }
  .office-sidebar .section-link { border-radius: 0; border-bottom: 2px solid transparent; padding: 10px 12px; white-space: nowrap; }
  .office-sidebar .section-link[aria-current] { border-color: var(--accent); background: #1d3445; }
  .office-sidebar .sidebar-tools { display: none; }
  .office-sidebar .weekly { margin: 0 0 0 auto; white-space: nowrap; }
  .office-context { min-height: 58px; padding-top: 8px; padding-bottom: 8px; }
  .desktop-tools { display: flex; align-items: center; min-width: 0; padding-right: 28px; border-bottom: 1px solid var(--line); background: #111b2c; }
  .tool-nav { display: flex; flex: 1; min-width: 0; align-items: stretch; gap: 14px; padding: 0 28px; overflow-x: auto; }
  .desktop-tool-menu { flex: 0 0 118px; width: 118px; min-height: 36px; margin-left: 12px; padding: 6px 8px; font-size: 12px; }
  .tool-nav .tool-cluster { flex-direction: row; align-items: center; gap: 2px; flex: 0 0 auto; }
  .tool-nav .tool-cluster + .tool-cluster { margin: 0; }
  .tool-nav .tool-cluster-label { padding: 0 6px 0 0; font-size: 11px; }
  .tool-nav a { display: block; padding: 14px 9px 12px; white-space: nowrap; color: var(--muted); text-decoration: none; font-size: 12px; border-bottom: 2px solid transparent; }
  .tool-nav a[aria-current] { color: var(--accent); border-color: var(--accent); }
}
.office-wayfinding { padding: 10px 28px; border-bottom: 1px solid var(--line); background: #0f1929; }
.office-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 12px; }
.office-breadcrumbs li + li::before { content: "/"; color: var(--muted); margin-right: 6px; }
.office-breadcrumbs a { color: var(--muted); }
.office-breadcrumbs [aria-current] { color: var(--text); font-weight: 600; }
.office-bookmarks { display: flex; align-items: center; gap: 8px; margin-top: 8px; position: relative; min-width: 0; }
.bookmark-links { display: flex; align-items: center; gap: 6px; overflow-x: auto; min-width: 0; flex: 1; scrollbar-width: thin; }
.bookmark-links a, .bookmark-links > span { white-space: nowrap; font-size: 12px; }
.bookmark-links a { padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; color: var(--text); text-decoration: none; }
.bookmark-links a[aria-current] { border-color: var(--accent); color: var(--accent); }
.bookmark-links > span { color: var(--muted); }
.bookmark-toggle { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; min-height: 36px; }
.bookmark-manager > summary { cursor: pointer; padding: 8px; white-space: nowrap; font-size: 12px; color: var(--accent); }
.bookmark-panel { position: absolute; z-index: 7; right: 0; top: calc(100% + 4px); width: min(390px, 90vw); padding: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
.bookmark-panel p { color: var(--muted); font-size: 12px; margin: 8px 0; }
.bookmark-panel ol { list-style: none; margin: 0; padding: 0; }
.bookmark-panel li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 4px; padding: 5px 0; }
.bookmark-panel li span { overflow-wrap: anywhere; }
.bookmark-panel li button { display: grid; place-items: center; min-width: 36px; padding: 6px; }
.bookmark-error { color: var(--notice); margin: 0; font-size: 12px; }
@media (max-width: 700px) {
  .office-wayfinding { padding: 8px 14px; }
  .office-bookmarks { flex-wrap: wrap; }
  .bookmark-links { flex-basis: 100%; order: 2; }
  .bookmark-toggle, .bookmark-manager > summary { min-height: 44px; }
  .bookmark-panel { top: 44px; }
  .bookmark-panel li button { min-width: 44px; min-height: 44px; }
}
@media (min-width: 701px) and (max-width: 900px) {
  .office-sidebar { gap: 8px; padding: 0 14px; }
  .desktop-tools { padding-right: 14px; }
  .tool-nav { padding-left: 14px; padding-right: 14px; }
  .office-sidebar .weekly { display: none; }
  .office-sidebar .section-link { padding-left: 8px; padding-right: 8px; }
  .office-context .mobile-review { display: inline-flex; align-items: center; min-height: 36px; white-space: nowrap; font-size: 12px; }
}
.meeting-margins { margin: 14px 0 20px; max-width: 760px; }
.meeting-lineups { margin:18px 0; max-width:760px; }
.meeting-lineups h3 { font-size:16px; margin:0 0 6px; }
.meeting-lineups > p { color:var(--muted); font-size:13px; }
.meeting-lineups > details { border-top:1px solid var(--line); }
.meeting-lineups > details > summary { min-height:44px; padding:12px 0; }
.meeting-margins figcaption { font-size: 13px; font-weight: 650; }
.meeting-margins p { margin: 5px 0 10px; color: var(--muted); font-size: 12px; }
.meeting-margins ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.meeting-margins li { display: grid; grid-template-columns: 82px minmax(70px, 1fr) 96px; gap: 10px; align-items: center; font-size: 12px; font-variant-numeric: tabular-nums; }
.margin-track { display: flex; height: 10px; }
.margin-half { display: flex; flex: 1; min-width: 0; background: var(--input); }
.margin-loss { justify-content: flex-end; border-right: 1px solid var(--muted); }
.margin-half i { display: block; height: 100%; }
.margin-loss i { background: var(--muted); }
.margin-win i { background: var(--accent); }
@media (max-width: 700px) { .meeting-margins li { grid-template-columns: 72px minmax(45px, 1fr) 82px; gap: 6px; font-size: 11px; } }

/* Place team controls in the primary bar where there is room. */
.office-top { display: contents; }
.desktop-review { display: none; }
@media (min-width: 1451px) {
  .office-top { display: flex; align-items: center; min-width: 0; background: #111b2c; border-bottom: 1px solid var(--line); }
  .office-top .office-sidebar { flex: 0 0 auto; border: 0; padding-right: 0; }
  .office-top .office-sidebar .weekly { display: none; }
  .office-top .office-context { flex: 1; min-width: 0; justify-content: flex-end; border: 0; padding: 8px 24px 8px 12px; gap: 10px; }
  .office-top .office-context > label { flex: 0 1 340px; min-width: 0; max-width: 340px; margin: 0; gap: 8px; }
  .office-top .office-context > label select { min-width: 0; width: 100%; }
  .office-top .capture-date { flex: 0 0 auto; margin-left: 0; white-space: nowrap; }
  .office-top .desktop-review { display: inline-flex; flex: 0 0 auto; align-items: center; color: var(--muted); font-size: 12px; white-space: nowrap; }
}
@media (min-width: 1101px) and (max-width: 1450px) {
  .office-top .office-sidebar { gap: 8px; padding-left: 14px; }
  .office-top .section-link { padding-left: 8px; padding-right: 8px; }
  .office-top .office-context { padding-right: 14px; }
}
.watchlist-scope { max-width: 260px; }
.watchlist-missing { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 14px; }
.watchlist-missing h3 { margin: 0 0 6px; font-size: 14px; }
.watchlist-missing p { color: var(--muted); font-size: 12px; }
.watchlist-missing ul { list-style: none; margin: 0; padding: 0; max-width: 320px; }
.watchlist-missing li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 0; }
.watchlist-missing li > span { min-width: 0; overflow-wrap: anywhere; }
.watchlist-missing li small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.watchlist-missing li button { flex-shrink: 0; }
@media (max-width: 700px) { .roster-table.owner-column th:last-child, .roster-table.owner-column td:last-child { display: none; } }
.watchlist-owner { display: none; }
@media (max-width: 700px) { .watchlist-owner { display: block; color: var(--muted); font-size: 11px; margin: 3px 0 0 42px; } }

.season-comparison { margin:24px 0; max-width:900px; }
.season-comparison h2 { margin-bottom:6px; }
.season-comparison-legend { display:flex; gap:18px; font-size:12px; margin:14px 0; }
.season-comparison-legend span:first-child, .season-comparison-dot { color:var(--accent); }
.season-comparison-legend span:last-child, .season-comparison-diamond { color:#f2bd6b; }
.season-comparison-list { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.season-comparison-list li { display:grid; grid-template-columns:minmax(100px, 1fr) minmax(100px, 2fr) 110px; align-items:center; gap:14px; font-size:13px; }
.season-comparison-name { overflow-wrap:anywhere; }
.team-history-legend { display:flex; flex-wrap:wrap; gap:14px; margin:14px 0; color:var(--muted); font-size:12px; }
.team-opponents { max-width:620px; margin:12px 0; }
.team-opponents summary { color:var(--accent); cursor:pointer; padding:9px 0; }
.team-opponents p { font-size:13px; }
.opponent-legend { display:flex; flex-wrap:wrap; gap:14px; color:var(--muted); }
.opponent-legend span::before { content:""; display:inline-block; width:9px; height:9px; margin-right:5px; background:var(--accent); }
.opponent-legend span:nth-child(2)::before { background:var(--warning); }
.opponent-legend span:nth-child(3)::before { background:var(--muted); }
.team-opponents ul { list-style:none; margin:0; padding:0; }
.team-opponents li { border-top:1px solid var(--line); }
.team-opponents li > details > summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; color:var(--text); }
.team-opponents li > details > summary > span:first-child { overflow-wrap:anywhere; font-weight:700; }
.team-opponents summary small { color:var(--muted); }
.team-opponents summary small span { color:var(--accent); }
.opponent-track { display:flex; height:5px; background:var(--raised); }
.opponent-track i:first-child { background:var(--accent); }
.opponent-track i:nth-child(2) { background:var(--warning); }
.opponent-track i:nth-child(3) { background:var(--muted); }
.opponent-games { padding:0 0 12px 12px; }
.opponent-games summary { font-size:13px; }
.team-history-legend span { display:inline-flex; align-items:center; gap:6px; }
.team-history-legend i { display:inline-block; width:9px; height:9px; }
.team-history-h2h { background:var(--accent); border-radius:50%; }
.team-history-allplay { background:#f2bd6b; transform:rotate(45deg); }
.team-history-list { list-style:none; padding:0; margin:0 0 18px; max-width:760px; }
.team-history-season { display:grid; grid-template-columns:100px minmax(0,1fr); gap:18px; padding:16px 0; border-top:1px solid var(--line); }
.team-history-year strong, .team-history-year span { display:block; }
.team-history-year strong { font-size:18px; }
.team-history-year span { color:var(--muted); font-size:12px; margin-top:3px; }
.team-history-season p { margin:0 0 8px; }
.team-history-season a { font-size:13px; }
.team-history-comparison { margin:10px 0; max-width:420px; }
.team-history-comparison p { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.team-history-track { position:relative; height:18px; margin:0 7px 4px; background:linear-gradient(var(--line),var(--line)) center / 100% 2px no-repeat; }
.team-history-track span { position:absolute; top:50%; width:10px; height:10px; }
.team-history-track .team-history-h2h { top:35%; transform:translate(-50%,-50%); }
.team-history-track .team-history-allplay { top:65%; transform:translate(-50%,-50%) rotate(45deg); }
.team-season-high { margin:14px 0; padding-top:12px; border-top:1px solid var(--line); }
.team-season-high h3 { font-size:13px; margin:0 0 8px; }
.team-high-week + .team-high-week { margin-top:14px; }
.team-high-week > p { font-size:13px; }
.team-high-week > p span { color:var(--muted); }
.team-high-scores { display:grid; gap:6px; max-width:420px; margin:8px 0 10px; }
.team-high-score { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 12px; font-size:12px; }
.team-high-score > span:first-child { overflow-wrap:anywhere; }
.team-high-score strong { font-variant-numeric:tabular-nums; }
.team-high-track { grid-column:1 / -1; height:4px; background:var(--raised); }
.team-high-track > span { display:block; height:100%; background:var(--accent); }
.team-high-score + .team-high-score .team-high-track > span { background:var(--warning); }
.team-high-starters summary { color:var(--accent); cursor:pointer; padding:8px 0; }
.team-matchup-lineups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; max-width:620px; }
.team-matchup-lineups h4 { margin:8px 0 4px; font-size:12px; overflow-wrap:anywhere; }
.team-high-starters ul { list-style:none; padding:0; margin:0 0 10px; }
.team-high-starters li { display:flex; justify-content:space-between; gap:12px; padding:5px 0; border-bottom:1px solid var(--line); font-size:12px; }
.team-high-starters li span { white-space:nowrap; font-variant-numeric:tabular-nums; }

.team-weekly-results { margin:10px 0 14px; }
.team-weekly-results > summary { color:var(--accent); cursor:pointer; padding:8px 0; }
.team-weekly-results > div { max-width:420px; }
.team-weekly-results p { font-size:12px; }
.team-week-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; }
.team-week-choice, .team-week-missing { display:flex; flex-direction:column; min-width:0; gap:4px; padding:6px 3px; font-size:11px; font-variant-numeric:tabular-nums; }
.team-week-choice { text-align:left; border:1px solid var(--line); background:transparent; }
.team-week-choice > span:first-child { display:flex; justify-content:space-between; width:100%; }
.team-week-choice strong { font-size:11px; white-space:nowrap; }
.team-week-bar { display:flex; align-items:flex-end; width:100%; height:32px; background:var(--raised); }
.team-week-bar i { display:block; width:100%; background:var(--accent); }
.team-week-missing { border:1px dashed var(--line); color:var(--muted); }
.team-week-selected { margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.team-week-league { margin:14px 0; padding-top:12px; border-top:1px solid var(--line); }
.team-week-league h4 { margin:0 0 5px; font-size:13px; }
.team-week-league summary { color:var(--accent); cursor:pointer; padding:8px 0; }
.team-week-league-scores { list-style:none; margin:0; padding:0; }
.team-week-league-scores li { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:4px 8px; padding:6px 0; font-size:12px; font-variant-numeric:tabular-nums; }
.team-week-league-scores li > span:nth-child(2) { overflow-wrap:anywhere; }
.team-week-league-scores .is-own { color:var(--accent); font-weight:700; }
.team-week-league-track { grid-column:2 / -1; height:4px; background:var(--raised); }
.team-week-league-track i { display:block; height:100%; background:var(--muted); }
.team-week-league-scores .is-own i { background:var(--accent); }
@media (max-width:700px) { .team-week-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:370px) { .team-week-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

@media (max-width:700px) {
  .team-history-season { grid-template-columns:70px minmax(0,1fr); gap:10px; }
  .team-matchup-lineups { grid-template-columns:minmax(0,1fr); gap:4px; }
}
.season-comparison-track { position:relative; height:20px; margin-inline:8px; background:linear-gradient(#40516b,#40516b) center / 100% 2px no-repeat; }
.season-comparison-line { position:absolute; top:9px; height:2px; background:#a9bad0; }
.season-comparison-dot,.season-comparison-diamond { position:absolute; top:50%; transform:translate(-50%,-50%); line-height:1; font-size:15px; }
.season-comparison-values { font-variant-numeric:tabular-nums; white-space:nowrap; text-align:right; }
.season-comparison-scale { display:flex; justify-content:space-between; margin:4px 124px 0 calc((100% - 138px) / 3 + 22px); font-size:11px; }
@media(max-width:600px) { .season-comparison-list li { grid-template-columns:minmax(0,1fr) 104px; gap:3px 10px; } .season-comparison-track { grid-column:1 / -1; grid-row:2; } .season-comparison-scale { margin:4px 8px 0; } }

.season-comparison .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }

/* Matchup of the Week: light-weight first foundation. */
.featured-home-link {
  display: block;
  margin: 1rem 0;
  padding: 0.85rem 1rem;
  border: 1px solid #31566a;
  border-radius: 12px;
  color: #9deaf4;
  background: #102638;
  font-weight: 700;
}
.featured-home-link span {
  float: right;
}
.featured-experience {
  max-width: 1100px;
}
.featured-poster {
  position: relative;
  overflow: hidden;
  margin: 1.5rem 0;
  padding: clamp(2rem, 6vw, 5rem);
  border: 1px solid #31566a;
  border-radius: 18px;
  background:
    radial-gradient(ellipse at 80% 0%, #1b6170, transparent 48%),
    linear-gradient(135deg, #081424, #162d42);
}
.featured-poster h2 {
  max-width: 18ch;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}
.featured-poster p {
  max-width: 60ch;
}
.featured-kicker {
  color: #9deaf4;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.featured-teams {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 1rem;
}
.featured-team {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 1.15rem;
  align-items: center;
  padding: 1.25rem;
  border: 1px solid #31566a;
  border-radius: 12px;
  background: #102638;
}
.featured-team-logo { width: 96px; height: 96px; overflow: hidden; border-radius: 10px; background: #0a1926; }
.featured-team-logo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.featured-team strong { display: block; margin-top: .65rem; color: #9deaf4; font-size: clamp(1.05rem, 2vw, 1.45rem); line-height: 1.2; }
.featured-team p { overflow-wrap: anywhere; }
.featured-team h2 {
  margin: 0;
  font-size: 1.2rem;
}
.featured-team p {
  margin: 0.4rem 0;
}

/* A directed, user-started sequence. The moving camera uses only transforms. */
.pregame { scroll-margin-top: 8px; margin: 1.5rem 0 2rem; border: 1px solid #345567; border-radius: 18px; overflow: hidden; background: #0b192a; }
.office-screen-offstage { position: fixed; inset: 0; visibility: hidden; pointer-events: none; }
.pregame-screen { position: relative; overflow: hidden; isolation: isolate; height: clamp(270px, 43vh, 500px); background: #07121f; color: white; }
.pregame-world, .pregame-sky, .pregame-lights, .pregame-upper-stand, .pregame-lower-stand, .pregame-field { position: absolute; inset: 0; }
.pregame-world { overflow: hidden; transform: scale(1.02); }
.pregame-sky { background: radial-gradient(ellipse at 50% 72%, #174660 0, #102c45 30%, #071321 78%); }
.pregame-lights { inset: 7% 0 auto; height: 13%; background: radial-gradient(ellipse at 14% 45%, #eafcff 0 1%, #85e1f9 2%, transparent 17%), radial-gradient(ellipse at 86% 45%, #fff0d0 0 1%, #ffca82 2%, transparent 17%); opacity: .8; }
.pregame-upper-stand { inset: 19% -12% 35%; border-radius: 50%; border: clamp(12px, 4vw, 46px) solid #12283b; box-shadow: 0 0 0 10px #284253, inset 0 0 0 7px #3f5661; background: repeating-linear-gradient(90deg, #91bdd0 0 1px, #14273a 1px 6px); opacity: .55; transform: perspective(500px) rotateX(30deg); }
.pregame-lower-stand { inset: 38% -19% -32%; border-radius: 50%; background: repeating-linear-gradient(90deg, #c2d3cb 0 1px, #132c3d 1px 7px); border: 18px solid #243d50; transform: perspective(500px) rotateX(48deg); opacity: .5; }
.pregame-field { inset: 71% -12% -40%; border-radius: 50%; background: repeating-linear-gradient(0deg, transparent 0 11%, #a8e3dd 11% 11.5%, transparent 11.5% 22%), repeating-linear-gradient(90deg, #194a4a 0 10%, #1d5453 10% 20%); transform: perspective(420px) rotateX(55deg); box-shadow: 0 0 40px #77c2bd44; }
.pregame-screen::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; background: linear-gradient(90deg, #03101ecc, transparent 35% 65%, #03101ecc), linear-gradient(0deg, #06101ee6, transparent 43%); }
.pregame-scorebug { position: absolute; z-index: 3; top: 6%; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: .65rem; font-size: clamp(.55rem, 1.1vw, .75rem); font-weight: 800; letter-spacing: .1em; }
.pregame-scorebug b { color: #071b26; background: #9deaf4; padding: .35em .5em; border-radius: 3px; }
.pregame-scorebug span { color: #d9eaf0; }
.pregame-title-card { position: absolute; z-index: 3; inset: 26% 0 auto; text-align: center; display: grid; justify-items: center; gap: .5rem; opacity: 0; pointer-events: none; }
.pregame-title-card span, .pregame-title-card small { color: #a4dbe4; font-size: clamp(.55rem, 1.4vw, .85rem); letter-spacing: .23em; font-weight: 800; }
.pregame-title-card strong { font-size: clamp(1.8rem, 6.8vw, 5rem); line-height: .9; letter-spacing: -.04em; font-weight: 900; }
.pregame-versus { position: absolute; z-index: 2; inset: 0; display: grid; grid-template-columns: 1fr 1fr; }
.pregame-manager { position: relative; min-width: 0; overflow: hidden; }
.pregame-manager img { position: absolute; height: 83%; width: 86%; object-fit: contain; object-position: center bottom; bottom: 0; left: 7%; }
.pregame-manager-name { position: absolute; z-index: 2; bottom: 8%; left: 9%; right: 9%; display: grid; gap: .2rem; text-shadow: 0 2px 10px #000; }
.pregame-manager-right img { transform: scaleX(-1); }
.pregame-manager-right .pregame-manager-name { text-align: right; }
.pregame-manager-name span { color: #a4dbe4; font-size: clamp(.6rem, 1.3vw, .9rem); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.pregame-manager-name strong { font-size: clamp(1.1rem, 3.7vw, 2.8rem); line-height: 1; letter-spacing: -.035em; }
.pregame-manager-name small { font-size: clamp(.7rem, 1.2vw, .85rem); overflow-wrap: anywhere; }
.pregame-vs { position: absolute; left: 50%; top: 72%; transform: translate(-50%, -50%); font-size: clamp(1rem, 3vw, 2rem); font-style: italic; color: #a3ecf4; text-shadow: 0 0 24px #59d8f8; }
.pregame-screen[data-active="true"] .pregame-world { animation: pregame-camera 20s cubic-bezier(.22,1,.36,1) both; }
.pregame-screen[data-active="true"] .pregame-title-card { animation: pregame-title 20s linear both; }
.pregame-screen[data-active="true"] .pregame-versus { animation: pregame-reveal 20s linear both; }
.pregame-screen[data-active="true"] .pregame-manager-left > img { animation: pregame-left 20s cubic-bezier(.22,1,.36,1) both; }
.pregame-screen[data-active="true"] .pregame-manager-right > img { animation: pregame-right 20s cubic-bezier(.22,1,.36,1) both; }
.pregame-screen[data-paused="true"] * { animation-play-state: paused !important; }
@keyframes pregame-camera { 0% { transform: scale(1.32) translateY(3%); } 100% { transform: scale(1.02) translateY(0); } }
@keyframes pregame-title { 0%, 2% { opacity: 0; transform: translateY(12px); } 9%, 38% { opacity: 1; transform: translateY(0); } 44%, 100% { opacity: 0; transform: translateY(-8px); } }
@keyframes pregame-reveal { 0%, 45.5% { opacity: 0; } 46.5%, 100% { opacity: 1; } }
@keyframes pregame-left { 0%, 45.5% { transform: translateX(-9%); } 52%, 100% { transform: translateX(0); } }
@keyframes pregame-right { 0%, 45.5% { transform: translateX(9%) scaleX(-1); } 52%, 100% { transform: translateX(0) scaleX(-1); } }
.pregame-controls { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem 1.35rem; }
.pregame-controls h2 { margin: 0; font-size: 1.2rem; }
.pregame-controls p { margin: .25rem 0 0; color: #b4c5d3; font-size: .85rem; }
.pregame-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.pregame-buttons button { min-height: 44px; padding: .65rem 1rem; border: 1px solid #6eb5c2; border-radius: 8px; color: #fff; background: #153d50; font: inherit; font-weight: 700; cursor: pointer; }
.pregame-buttons button:focus-visible { outline: 3px solid #a0ebf3; outline-offset: 3px; }
@media (max-width: 600px) { .pregame-screen { height: clamp(270px, 45vh, 430px); } .pregame-controls { align-items: flex-start; flex-direction: column; } .pregame-manager img { width: 100%; left: 0; } }
@media (prefers-reduced-motion: reduce) { .pregame-screen[data-active="true"] .pregame-world, .pregame-screen[data-active="true"] .pregame-title-card, .pregame-screen[data-active="true"] .pregame-versus, .pregame-screen[data-active="true"] .pregame-manager > img { animation: none; } .pregame-screen[data-active="true"] .pregame-title-card { opacity: 0; } .pregame-screen[data-active="true"] .pregame-versus { opacity: 1; } }

/* Six-player lineups enter one second after the managers, on the musical build. */
.pregame-roster { position: absolute; z-index: 3; left: 3%; width: 32%; bottom: 36%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(3px, .6vw, 7px); opacity: 0; pointer-events: none; }
.pregame-manager-right .pregame-roster { left: auto; right: 3%; }
.pregame-unit { position: relative; overflow: hidden; min-width: 0; height: clamp(42px, 7vh, 60px); border: 1px solid #80dce8a0; border-radius: 7px; background: linear-gradient(145deg, #266d7bdf, #091625f2 70%); box-shadow: 0 0 13px #77e8f544; }
.pregame-manager-right .pregame-unit { border-color: #c49af4aa; background: linear-gradient(145deg, #62467ddf, #101325f2 70%); box-shadow: 0 0 13px #bd8cf544; }
.pregame-manager .pregame-unit-photo { position: absolute; inset: 3px 5px 13px; width: calc(100% - 10px); height: calc(100% - 16px); object-fit: contain; object-position: center bottom; transform: none; }
.pregame-manager-right .pregame-unit-photo { transform: none; }
.pregame-unit-fallback { position: absolute; inset: 0; display: grid; place-items: center; color: #c5f6ff; opacity: .6; font-size: 1.2rem; font-weight: 900; }
.pregame-unit-number { position: absolute; z-index: 1; top: 2px; left: 4px; color: #cffaff; font-size: 9px; font-weight: 800; }
.pregame-unit-name { position: absolute; z-index: 1; bottom: 0; left: 0; right: 0; overflow: hidden; padding: 2px 3px; background: #06111de8; color: white; font-size: clamp(8px, .85vw, 11px); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.pregame-screen[data-active="true"] .pregame-roster { opacity: 1; }
.pregame-screen[data-active="true"] .pregame-unit { animation: pregame-unit-arrive 20s cubic-bezier(.22,1,.36,1) both; }
.pregame-screen[data-active="true"] .pregame-unit:nth-child(2) { animation-delay: 70ms; }
.pregame-screen[data-active="true"] .pregame-unit:nth-child(3) { animation-delay: 140ms; }
.pregame-screen[data-active="true"] .pregame-unit:nth-child(4) { animation-delay: 210ms; }
.pregame-screen[data-active="true"] .pregame-unit:nth-child(5) { animation-delay: 280ms; }
.pregame-screen[data-active="true"] .pregame-unit:nth-child(6) { animation-delay: 350ms; }
.pregame-screen[data-state="finished"] .pregame-roster { opacity: 1; }
@keyframes pregame-unit-arrive { 0%, 51% { opacity: 0; transform: translateY(12px) scale(.94); } 54%, 100% { opacity: 1; transform: translateY(0) scale(1); } }
.pregame-roster-accessible { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.pregame-roster-links { margin: 12px 0; color: var(--muted); font-size: 12px; }
.pregame-roster-links p { margin: 6px 0; }
@media (prefers-reduced-motion: reduce) { .pregame-screen[data-active="true"] .pregame-unit { animation: none; } }

.pregame-unit-short { display: none; }
@media (max-width: 600px) {
  .pregame-roster { width: 44%; bottom: 27%; grid-template-columns: 1fr; gap: 2px; }
  .pregame-unit { height: 34px; }
  .pregame-manager .pregame-unit-photo { inset: 0 3px 10px; width: calc(100% - 6px); height: calc(100% - 10px); }
  .pregame-unit-number { font-size: 8px; }
  .pregame-unit-name { font-size: 9px; line-height: 1; }
  .pregame-unit-full { display: none; }
  .pregame-unit-short { display: inline; }
}

/* A quick exchange follows the player reveal. */
.pregame-bubble { position: absolute; z-index: 5; top: 14%; left: 50%; width: min(37%, 250px); padding: .55rem .7rem; border: 1px solid #80dce8; border-radius: 12px; background: #0d2434f2; color: white; box-shadow: 0 6px 20px #0008; opacity: 0; transform: translateX(-50%); text-align: left; }
.pregame-bubble strong { display: block; color: #99e5ef; font-size: clamp(9px, .9vw, 11px); letter-spacing: .12em; }
.pregame-bubble span { display: block; margin-top: .2rem; font-size: clamp(11px, 1.2vw, 15px); font-weight: 700; line-height: 1.2; }
.pregame-bubble-cato { top: 39%; border-color: #c49af4; }
.pregame-bubble-cato strong { color: #ddc7fc; }
.pregame-screen[data-active="true"] .pregame-bubble-hao { animation: pregame-hao-talk 20s ease-out both; }
.pregame-screen[data-active="true"] .pregame-bubble-cato { animation: pregame-cato-talk 20s ease-out both; }
@keyframes pregame-hao-talk { 0%, 59% { opacity: 0; transform: translate(-50%, 8px); } 61%, 100% { opacity: 1; transform: translate(-50%, 0); } }
@keyframes pregame-cato-talk { 0%, 75% { opacity: 0; transform: translate(-50%, 8px); } 77%, 100% { opacity: 1; transform: translate(-50%, 0); } }
@media (max-width: 600px) { .pregame-bubble { width: 42%; padding: .4rem .45rem; } }
@media (prefers-reduced-motion: reduce) { .pregame-screen[data-active="true"] .pregame-bubble { animation: none; opacity: 1; transform: translateX(-50%); } .pregame-screen[data-active="true"] .pregame-bubble-cato { top: 42%; } }
.pregame-bubble::after { content: ""; position: absolute; top: 65%; width: 10px; height: 10px; background: #0d2434; border-bottom: 1px solid #80dce8; border-left: 1px solid #80dce8; transform: rotate(45deg); left: -6px; }
.pregame-bubble-cato::after { left: auto; right: -6px; border: 0; border-top: 1px solid #c49af4; border-right: 1px solid #c49af4; }

.pregame-screen[data-state="finished"] .pregame-bubble { opacity: 1; }
@media (max-width: 600px) {
  .pregame-scorebug { display: none; }
  .pregame-bubble { top: 8%; }
  .pregame-bubble-cato { top: 28%; }
}
@media (max-width: 600px) and (prefers-reduced-motion: reduce) {
  .pregame-screen[data-active="true"] .pregame-bubble-cato { top: 28%; }
}
.lineup-projection-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:14px 0; font-variant-numeric:tabular-nums; }
.lineup-projection-comparison > div { display:grid; gap:4px; padding:12px; border:1px solid var(--line); border-radius:6px; }
.lineup-projection-comparison span { color:var(--muted); font-size:12px; }
.lineup-projection-comparison strong { font-size:18px; }
.lineup-projection-comparison p { grid-column:1 / -1; margin:0; font-size:13px; }

.capital-overview { margin:12px 0 22px; max-width:760px; }
.capital-overview h3 { margin-bottom:6px; }
.capital-grid-scroll { overflow-x:auto; border-radius:6px; }
table.capital-grid { width:100%; min-width:0; table-layout:fixed; font-variant-numeric:tabular-nums; border-collapse:separate; border-spacing:4px; }
.capital-grid th,.capital-grid td { text-align:center; white-space:normal; padding:10px 4px; }
.capital-grid th:first-child { text-align:left; width:70px; }
.capital-grid td { border:1px solid var(--line); border-radius:4px; font-weight:600; }
.capital-grid td.capital-owned { background:rgba(108,229,220,.15); color:var(--text); }
.capital-grid td.capital-empty { color:var(--muted); }
@media(max-width:600px) { .capital-grid th,.capital-grid td { font-size:12px; padding:9px 3px; } .capital-grid th:first-child { width:48px; } }

.taxi-preview { margin:12px 0 22px; max-width:760px; }
.taxi-preview h3 { margin-bottom:6px; }
.taxi-preview-list { list-style:none; padding:0; margin:12px 0; border-top:1px solid var(--line); }
.taxi-preview-list li { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 0; border-bottom:1px solid var(--line); }
.taxi-preview-list li > span:first-child { display:grid; gap:3px; }
.taxi-preview-list small { color:var(--muted); }
.taxi-preview-list li > span:last-child { text-align:right; font-size:13px; }

.trade-roster-impact { border-left:2px solid var(--line); padding-left:12px; margin:12px 0; }
.trade-roster-impact strong { font-variant-numeric:tabular-nums; }
.trade-roster-impact p { margin:5px 0 0; color:var(--muted); font-size:12px; }

.pregame-manager-logo { border-radius: 20px; filter: drop-shadow(0 10px 30px #0008); }
.matchup-archive { margin: 2rem 0; }
.matchup-archive h2 { font-size: 1.1rem; }
.matchup-archive p, .matchup-limitation { color: var(--muted); }
.matchup-archive ul { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; }
.matchup-archive a { display: block; padding: .7rem .9rem; border: 1px solid var(--line); border-radius: 8px; color: var(--text); text-decoration: none; }
.matchup-archive a[aria-current] { border-color: var(--accent); color: var(--accent); }

.pregame-manager-right > .pregame-manager-logo { transform: none; }
.pregame-screen[data-active="true"] .pregame-manager-right > .pregame-manager-logo { animation: pregame-right-logo 20s cubic-bezier(.22,1,.36,1) both; }
@keyframes pregame-right-logo { 0%, 45.5% { transform: translateX(9%); } 52%, 100% { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .pregame-screen[data-active="true"] .pregame-manager-right > .pregame-manager-logo { animation: none; } }
.matchup-score { margin: 12px 0; padding: 12px 14px; background: var(--surface, #182638); border: 1px solid var(--line); border-radius: 6px; }
.matchup-score-pair { display: flex; align-items: center; gap: 18px; }
.matchup-score-pair > div { display: grid; gap: 2px; min-width: 0; }
.matchup-score-pair strong { font-size: 22px; font-variant-numeric: tabular-nums; }
.matchup-score-pair div > span, .matchup-score-divider { color: var(--muted); }
.matchup-score p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.matchup-lineups { margin:12px 0 18px; max-width:960px; }
.matchup-lineups summary { color:var(--accent); cursor:pointer; padding:10px 0; min-height:44px; }
.matchup-lineups p { max-width:75ch; font-size:13px; }
.matchup-projections { display:grid; gap:10px; max-width:620px; margin:12px 0; }
.matchup-projection { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; font-size:13px; font-variant-numeric:tabular-nums; }
.matchup-projection-track { grid-column:1 / -1; height:5px; background:var(--raised); }
.matchup-projection-track i { display:block; height:100%; background:var(--accent); }
.matchup-projection + .matchup-projection i { background:var(--warning); }
.matchup-schedule-summary { max-width:620px; margin:20px 0 12px; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.matchup-schedule-summary h3 { margin:0 0 4px; font-size:14px; }
.matchup-schedule-summary p { margin:0 0 10px; color:var(--muted); }
.matchup-schedule-count { display:grid; grid-template-columns:minmax(110px, 1fr) 3fr; gap:8px; font-size:12px; line-height:1.5; }
.matchup-schedule-count span { color:var(--muted); }
.matchup-rehearsal { max-width:620px; margin:12px 0 18px; }
.matchup-rehearsal summary { font-weight:600; }
.matchup-rehearsal label { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; }
.matchup-rehearsal select { max-width:100%; }
.matchup-rehearsal-result { margin-top:12px; font-size:13px; }
.matchup-rehearsal-result p { margin:6px 0; }
.matchup-starter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.matchup-starter-team h3 { font-size:14px; margin:12px 0 6px; }
.matchup-starter-team table { width:100%; min-width:0; table-layout:fixed; border-collapse:collapse; font-size:12px; }
.matchup-starter-team th, .matchup-starter-team td { padding:7px 4px; text-align:right; border-bottom:1px solid var(--line); font-variant-numeric:tabular-nums; }
.matchup-starter-team th:first-child, .matchup-starter-team td:first-child { text-align:left; width:52%; overflow-wrap:anywhere; }
.matchup-starter-team small { display:block; color:var(--muted); overflow-wrap:anywhere; font-size:12px; line-height:1.4; }
@media (max-width:700px) { .matchup-starter-grid { grid-template-columns:minmax(0,1fr); gap:10px; } }
.lineup-cover { border-top: 1px solid var(--line); margin-top: 20px; padding-top: 16px; }
.lineup-cover h3 { font-size: 15px; margin: 0 0 6px; }
.lineup-cover p { color: var(--muted); font-size: 13px; margin: 0 0 12px; }
.lineup-rehearsal { margin: 12px 0 16px; }
.lineup-rehearsal > summary, .rehearsal-bench > summary, .rehearsal-result > details > summary { cursor: pointer; color: var(--accent); padding: 10px 0; }
.lineup-rehearsal > p { max-width: 70ch; }
.rehearsal-marked { margin:12px 0; padding:12px 0; border-block:1px solid var(--line); }
.rehearsal-marked > strong { font-size:13px; }
.rehearsal-marked > p { margin:6px 0; }
.rehearsal-marked ul { margin:6px 0 10px; padding:0; list-style:none; font-size:13px; }
.rehearsal-marked li { display:flex; align-items:center; gap:8px; min-height:44px; }
.rehearsal-marked-toggle { display:grid; place-items:center; width:44px; height:44px; flex:none; cursor:pointer; }
.rehearsal-marked-toggle input { width:18px; height:18px; accent-color:var(--accent); }
.rehearsal-marked button { max-width:100%; text-align:left; }
.rehearsal-marked button[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
.rehearsal-choices { border: 0; margin: 8px 0 12px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.rehearsal-choices legend { font-weight: 700; padding: 0 0 4px; }
.rehearsal-choices .rehearsal-choice { display: flex; flex-direction: row; align-items: center; gap: 10px; min-height: 44px; padding: 5px 0; border-bottom: 1px solid var(--line); color: var(--text); font-size: 13px; text-align: left; }
.rehearsal-choices input { width: 18px; min-width: 18px; min-height: 18px; height: 18px; accent-color: var(--accent); }
.rehearsal-choices small { display: block; color: var(--muted); font-size: 12px; }
.rehearsal-result { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.rehearsal-review { margin: 12px 0; padding: 12px; background: var(--raised); }
.rehearsal-result > p[role="status"] { color: var(--text); font-weight: 700; }
.rehearsal-result ul { padding-left: 20px; line-height: 1.7; }
.rehearsal-search { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-top: 12px; }
.rehearsal-search label { display: grid; gap: 4px; width: 150px; }
.rehearsal-search a { min-height: 44px; display: inline-flex; align-items: center; }
@media (max-width: 600px) { .rehearsal-choices { grid-template-columns: 1fr; } }
.roster-origins { margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid var(--line); max-width: 760px; }
.roster-origins h3 { font-size: 15px; margin: 0 0 6px; }
.roster-origins p { color: var(--muted); font-size: 13px; margin: 0 0 12px; }
.origin-disclosure > summary { display: grid; gap: 8px; cursor: pointer; padding: 0 0 4px; list-style: none; }
.origin-disclosure > summary::-webkit-details-marker { display: none; }
.origin-overview-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-size: 14px; }
.origin-open-label, .origin-close-label { color: var(--accent); font-size: 12px; white-space: nowrap; }
.origin-close-label, .origin-disclosure[open] .origin-open-label { display: none; }
.origin-disclosure[open] .origin-close-label { display: inline; }
.origin-overview-bar { display: flex; gap: 2px; height: 6px; overflow: hidden; }
.origin-overview-bar > span { flex-basis: 0; min-width: 2px; }
.origin-color-draft { background: #6ce5dc; }
.origin-color-trade { background: #9dbbff; }
.origin-color-waiver { background: #ffdb98; }
.origin-color-other { background: #d1b7f4; }
.origin-color-unknown { background: #8293a9; }
.origin-overview-legend { display: flex; flex-wrap: wrap; gap: 4px 16px; color: var(--muted); font-size: 12px; }
.origin-overview-legend > span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.origin-overview-legend i { width: 7px; height: 7px; border-radius: 50%; }
.origin-overview-legend strong { color: var(--text); font-variant-numeric: tabular-nums; }
.origin-disclosure[open] > p:first-of-type { margin-top: 14px; }
.origin-groups, .origin-players { list-style: none; margin: 0; padding: 0; }
.origin-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin-bottom: 12px; }
.origin-groups > li { border-bottom: 1px solid var(--line); min-width: 0; }
.origin-groups summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 7px 0; font-size: 13px; }
.origin-groups summary strong { font-variant-numeric: tabular-nums; }
.origin-groups summary::after { content: "+"; color: var(--muted); }
.origin-groups details[open] summary::after { content: "−"; }
.origin-label { display: grid; gap: 6px; flex: 1; }
.origin-track { display: block; height: 4px; background: var(--line); overflow: hidden; }
.origin-track > span { display: block; height: 100%; background: var(--accent); }
.origin-players { padding-bottom: 8px; }
.origin-players li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 5px 0; font-size: 13px; }
.origin-players small { color: var(--muted); }
@media (max-width: 600px) { .origin-groups { grid-template-columns: 1fr; } }
.cover-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.cover-row { border-bottom: 1px solid var(--line); padding: 10px 0; min-width: 0; }
.cover-row-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 13px; }
.cover-row-top > strong { white-space: nowrap; font-variant-numeric: tabular-nums; }
.cover-track { height: 4px; background: var(--raised); margin: 7px 0 5px; }
.cover-track span { display: block; height: 100%; background: var(--accent); }
.cover-row small { color: var(--muted); font-size: 12px; }
.cover-row .cover-availability, .lineup-availability { display: block; color: var(--warning); font-size: 12px; margin-top: 3px; }
.cover-inline-availability { color: var(--warning); }
.scenario-lineup { margin-top: 6px; font-size: 12px; }
.scenario-lineup > summary { cursor: pointer; color: var(--accent); padding: 4px 0; }
.scenario-lineup > p { margin: 6px 0; font-size: 12px; }
.scenario-lineup > ul { list-style: none; padding: 0; margin: 6px 0 10px; }
.scenario-lineup li { display: grid; grid-template-columns: 74px minmax(0,1fr); gap: 8px; padding: 4px 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.scenario-slot { color: var(--muted); }
.cover-options { margin-top: 6px; font-size: 12px; }
.cover-options summary { cursor: pointer; color: var(--accent); padding: 4px 0; }
.cover-options > p { margin: 5px 0 2px; font-size: 12px; }
.cover-position-links { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 0 10px; }
.cover-position-links a { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 36px; padding: 0 8px; border: 1px solid var(--line); border-radius: 6px; font-weight: 700; }
.cover-options > small { display: block; margin-top: 5px; }
@media (max-width: 700px) {
  .cover-list { grid-template-columns: 1fr; }
  .cover-options summary { box-sizing: border-box; min-height: 44px; padding: 12px 0; }
  .scenario-lineup > summary { box-sizing: border-box; min-height: 44px; padding: 12px 0; }
  .cover-options a { display: inline-flex; align-items: center; min-height: 44px; }
}

.asset-select {
  min-width: 150px;
  display: grid;
  gap: 6px;
}
.asset-select-profile, .poll-profile {
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.poll-choice > .poll-profile { margin: 8px 0 0; }
.asset-select-profile .player-name-link,
.poll-profile .player-name-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
@media (max-width: 600px) {
  .toolbar > .asset-select { min-width: 0; flex: 1; }
}

.rookie-candidate-link { margin-block: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.rookie-candidate-link summary { cursor: pointer; font-weight: 600; }
.rookie-candidate-link label { display: grid; gap: 6px; margin-block: 12px; }

.waiver-lineup-effect { margin-top: 4px; color: var(--muted); font-size: 12px; }
.waiver-lineup-effect > summary { padding: 7px 0; cursor: pointer; color: var(--accent); }
.waiver-lineup-effect > p { margin: 5px 0; }

/* Header controls keep each surface's typography and alignment. */
.table-sort-button {
  display: inline-flex;
  align-items: center;
  justify-content: inherit;
  gap: 0.35em;
  max-width: 100%;
  min-height: 1.8em;
  padding: 0.12em 0;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  text-transform: inherit;
  cursor: pointer;
}
.table-sort-button:hover {
  color: var(--accent, #168a74);
}
.table-sort-button:focus-visible {
  outline: 2px solid var(--ring, #168a74);
  outline-offset: 3px;
}
.table-sort-indicator {
  flex: 0 0 auto;
  font-size: 0.9em;
  opacity: 0.5;
}
[aria-sort="ascending"] .table-sort-indicator,
[aria-sort="descending"] .table-sort-indicator {
  opacity: 1;
}

.weekly-ritual {
  margin: 0 0 30px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  padding: 22px 24px;
}
.weekly-ritual-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-bottom: 20px;
}
.weekly-ritual-heading h2 {
  margin: 0;
  font-size: 19px;
}
.weekly-ritual-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}
.weekly-ritual-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.9fr) minmax(210px, 1fr);
  gap: 24px;
}
.weekly-ritual-layout > :only-child {
  grid-column: 1 / -1;
}
.weekly-ritual h3 {
  margin: 0 0 8px;
  font-size: 21px;
  line-height: 1.35;
}
.weekly-ritual-label {
  margin: 0 0 8px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.weekly-ritual-body {
  max-width: 65ch;
  color: var(--muted);
  line-height: 1.6;
  margin: 0 0 14px;
}
.weekly-ritual-progress {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 20px;
  font-size: 12px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.weekly-ritual-progress:empty {
  display: none;
}
.weekly-ritual-deadline {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.weekly-ritual-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.weekly-ritual-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 6px;
  color: #10272a;
  background: var(--accent);
  text-decoration: none;
  font-weight: 700;
}
.weekly-ritual-primary:hover {
  background: #9aeee8;
}
.weekly-ritual .league-share-trigger {
  min-height: 44px;
}
.weekly-ritual-review {
  border-left: 1px solid var(--line);
  padding-left: 24px;
  align-self: stretch;
}
.weekly-ritual-review h3 {
  font-size: 15px;
}
.weekly-ritual-review > p:not(.weekly-ritual-label) {
  margin: 8px 0 16px;
  color: var(--muted);
  line-height: 1.5;
}
.weekly-ritual-published {
  display: block;
  margin: -8px 0 16px;
  color: var(--muted);
  font-size: 11px;
}
.weekly-ritual-previous {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 16px;
  margin-top: 20px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
  font-size: 12px;
  line-height: 1.5;
}
.weekly-ritual-previous > span {
  color: var(--muted);
}
.weekly-ritual-previous > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
@media (max-width: 760px) {
  .weekly-ritual {
    padding: 18px;
    margin-bottom: 24px;
  }
  .weekly-ritual-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  .weekly-ritual-heading {
    margin-bottom: 18px;
  }
  .weekly-ritual h3 {
    font-size: 19px;
  }
  .weekly-ritual-review {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 16px 0 0;
  }
  .weekly-ritual-review h3 {
    font-size: 15px;
  }
}
@media (max-width: 420px) {
  .weekly-ritual-actions > * {
    width: 100%;
  }
}

.league-share-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
}
.league-share-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow-y: auto;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  color: var(--text);
  box-shadow: 0 24px 80px #0008;
}
.league-share-dialog::backdrop {
  background: #050a14c7;
}
.league-share-dialog h2 {
  padding-right: 30px;
  margin: 0 0 12px;
  font-size: 1.35rem;
}
.league-share-dialog > p {
  color: var(--muted);
  line-height: 1.6;
}
.league-share-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
}
.league-share-preview {
  display: grid;
  gap: 8px;
  margin: 22px 0 16px;
  font-weight: 600;
}
.league-share-preview textarea {
  width: 100%;
  min-height: 160px;
  resize: vertical;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
  color: var(--text);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.league-share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.league-share-actions button {
  min-height: 44px;
}
.league-share-status {
  min-height: 1.6em;
  margin: 12px 0 0;
}
.league-share-dialog .league-share-preview-help {
  font-size: 12px;
  margin: -4px 0 16px;
}
.league-share-messenger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
}
.league-share-messenger span {
  color: var(--muted);
  font-size: 12px;
}
.linked-call {
  margin: 16px 0 24px;
  padding: 16px;
  border: 1px solid var(--accent);
  border-radius: 10px;
  scroll-margin-top: 100px;
}
.linked-call > h2 {
  margin: 0 0 12px;
  font-size: 1rem;
}
.linked-call .hub-list {
  margin-bottom: 0;
}
.ballot-share {
  margin: 16px 0;
}
@media (max-width: 500px) {
  .league-share-dialog {
    padding: 22px 18px;
  }
  .league-share-actions > button {
    flex: 1 1 auto;
  }
}

.rooting h3 { margin: 0 0 8px; }
.rooting p + p { margin-top: 6px; }
.rooting p strong { color: var(--text); }
.rooting ul { display: flex; flex-wrap: wrap; gap: 5px 18px; margin: 9px 0 0; padding-left: 18px; color: var(--muted); font-size: 13px; }

.market-value-chart { margin: 18px 0 24px; }
.market-value-chart figcaption { color: var(--text); font-weight: 700; font-size: 16px; }
.market-value-chart > p { color: var(--muted); font-size: 12px; line-height: 1.5; max-width: 80ch; margin: 6px 0 10px; }
.market-value-legend { display: flex; gap: 16px; color: var(--muted); font-size: 12px; }
.market-value-legend span::before { content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 6px; border-radius: 2px; background: var(--accent); }
.market-value-legend span + span::before { background: #a6a2ef; }
.market-value-chart ol { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; padding: 0; margin: 12px 0 0; }
.market-value-chart li { min-width: 0; font-variant-numeric: tabular-nums; }
.market-value-label { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 12px; }
.market-value-label span, .market-value-detail { color: var(--muted); font-size: 11px; }
.market-value-track { display: flex; width: 100%; height: 8px; overflow: hidden; margin: 5px 0; background: var(--raised); border-radius: 4px; }
.market-value-players { background: var(--accent); }
.market-value-picks { background: #a6a2ef; }
@media (max-width: 700px) { .market-value-chart ol { grid-template-columns: 1fr; } }

.player-name-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: 0.18em;
}
.player-name-link:hover {
  color: var(--accent);
  text-decoration-color: currentColor;
}
.player-name-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 4px;
}
.player-detail > details > summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  color: var(--muted);
  font-size: 0.78rem;
}
.player-detail > details > p {
  margin: 8px 0;
}
.player-profile {
  max-width: 1480px;
}
.player-profile .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.profile-hero {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px 0 28px;
}
.profile-portrait {
  position: relative;
  flex: 0 0 112px;
  width: 112px;
  height: 112px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #536072;
  color: white;
  font-size: 2rem;
  font-weight: 700;
}
.profile-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.profile-identity {
  flex: 1 1 300px;
  min-width: 0;
}
.profile-identity h1 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 3vw, 2.7rem);
  line-height: 1.06;
  overflow-wrap: anywhere;
}
.profile-position {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
  color: var(--text);
  font-size: 1.1rem;
  font-weight: 600;
}
.profile-nfl-team {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.profile-nfl-team img {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.profile-personal {
  margin: 0;
  color: var(--muted);
}
.profile-context {
  min-height: 68px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 130px;
  padding-left: 20px;
  border-left: 1px solid var(--line);
}
.profile-context small,
.profile-context span {
  color: var(--muted);
  overflow-wrap: anywhere;
}
.profile-context strong {
  max-width: 180px;
  overflow-wrap: anywhere;
}
.profile-context-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; }
.profile-context-actions a { display: inline-flex; align-items: center; text-decoration: none; }
.profile-roster-toggle {
  align-self: flex-start;
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent);
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}
.profile-roster {
  margin: 0 0 20px;
}
.profile-roster .roster-filters {
  margin: 16px 0;
}
.profile-roster-close {
  min-height: 44px;
}
.profile-roster-table td:first-child {
  min-width: 180px;
}
.profile-roster-table td:first-child small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}
.profile-roster-scroll-hint {
  display: none;
}
.profile-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.profile-actions button,
.profile-trades {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 6px;
  white-space: nowrap;
  font-weight: 700;
}
.profile-actions button.quiet {
  border-color: #7388a7;
  color: var(--text);
}
.profile-trades {
  background: var(--accent);
  color: #10272a;
  text-decoration: none;
}
.profile-trades:hover {
  background: #9aeee8;
  color: #10272a;
}
.profile-eyebrow {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--accent);
}
.profile-missing {
  margin: 0 0 12px;
  padding: 12px 14px;
  border-left: 3px solid var(--accent);
  background: var(--surface);
  color: var(--muted);
  line-height: 1.5;
}
.profile-navigation {
  display: flex;
  gap: 20px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 20px;
  overflow-x: auto;
}
.profile-navigation a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 10px;
  color: var(--muted);
  border-bottom: 3px solid transparent;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.profile-navigation a[aria-current="page"] {
  color: var(--accent);
  border-bottom-color: var(--accent);
}
.profile-overview-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(370px, 1.7fr) minmax(
      210px,
      0.95fr
    );
  gap: 12px;
  align-items: stretch;
}
.profile-panel {
  min-width: 0;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}
.profile-panel h2 {
  font-size: 1.15rem;
  margin: 0;
}
.profile-panel-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}
.profile-panel-heading > span,
.profile-subtitle {
  color: var(--muted);
  font-size: 0.8rem;
}
.profile-subtitle {
  margin: 5px 0 0;
}
.profile-quick dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 16px 0 0;
}
.profile-quick dl > div {
  padding: 9px 8px;
  border-left: 1px solid var(--line);
  min-width: 0;
}
.profile-quick dl > div:nth-child(3n + 1) {
  border-left: 0;
  padding-left: 0;
}
.profile-quick dl > div:nth-child(n + 4) {
  border-top: 1px solid var(--line);
}
.profile-panel dt {
  color: var(--muted);
  font-size: 0.8rem;
}
.profile-panel dd {
  margin: 7px 0 0;
  color: var(--text);
  font-weight: 700;
  overflow-wrap: anywhere;
}
.profile-fantasy dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 24px 0 0;
}
.profile-fantasy dl > div {
  min-width: 0;
  padding: 0 13px;
  border-left: 1px solid var(--line);
}
.profile-fantasy dl > div:first-child {
  padding-left: 0;
  border: 0;
}
.profile-fantasy dd {
  font-size: 1.7rem;
}
.profile-fantasy small {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}
.profile-week-comparison {
  display: grid;
  gap: 5px;
  margin: 18px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  line-height: 1.4;
}
.profile-week-comparison strong {
  font-size: 0.9rem;
}
.profile-week-comparison span {
  color: var(--muted);
  font-size: 0.8rem;
}
.profile-availability dl {
  margin: 12px 0 0;
}
.profile-availability dl > div {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid var(--line);
}
.profile-availability dd {
  margin: 0;
  font-weight: 500;
}
.profile-schedule-detail {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 400;
}
.profile-production,
.profile-history,
.profile-market {
  margin-top: 14px;
}
.profile-market dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 500px;
  margin: 16px 0 0;
}
.profile-market dd {
  font-size: 1.4rem;
}
.profile-market small {
  display: block;
  color: var(--muted);
  margin-top: 5px;
}
.profile-panel-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.profile-panel-actions a,
.profile-panel-heading > a {
  white-space: nowrap;
  font-weight: 600;
}
.profile-select select {
  min-height: 40px;
  min-width: 150px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
}
.profile-chart {
  display: flex;
  align-items: end;
  gap: 14px;
  min-width: 0;
  margin: 24px 0 12px;
}
.profile-chart-column {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 0;
  color: var(--text);
  font-size: 0.8rem;
}
.profile-chart-track {
  height: 110px;
  width: 100%;
  display: flex;
  align-items: end;
  border-bottom: 1px solid #67738b;
  border-top: 1px solid var(--line);
}
.profile-chart-track i {
  display: block;
  width: 75%;
  max-width: 75px;
  margin: 0 auto;
  background: #59c7ee;
}
.profile-chart-track i.negative {
  background: var(--warning);
}
.profile-chart-track.has-negative {
  position: relative;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.profile-chart-track.has-negative::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: 1px solid #67738b;
}
.profile-chart-track.has-negative i {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 50%;
}
.profile-chart-track.has-negative i.negative {
  top: 50%;
  bottom: auto;
}
.profile-chart-column small {
  color: var(--muted);
}
.profile-chart-details summary {
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  color: var(--accent);
}
.profile-chart-details table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}
.profile-chart-details th, .profile-chart-details td { white-space: normal; overflow-wrap: anywhere; }
.profile-chart-details th:first-child { width: 12%; }
.profile-start-summary { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 10px 0; font-size: 0.8rem; }
.profile-start-summary span, .profile-start-summary p { color: var(--muted); }
.profile-start-summary p { flex: 0 0 100%; margin: 0; line-height: 1.5; }
.profile-start-legend { margin: 0; }
.profile-chart-column .profile-start-marker { color: var(--accent); font-size: 0.7rem; }
.profile-note,
.profile-capture {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.5;
}
.profile-capture {
  margin: 16px 0 24px;
}
.profile-timeline {
  display: flex;
  gap: 0;
  margin: 22px 0 8px;
  padding: 8px 0 0;
  list-style: none;
  overflow-x: auto;
}
.profile-timeline li {
  flex: 1 0 180px;
  min-width: 0;
  padding: 16px 16px 4px 0;
  border-top: 2px solid #52627f;
  position: relative;
}
.profile-timeline-full {
  display: block;
  overflow: visible;
  margin-left: 6px;
}
.profile-timeline-full li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  column-gap: 12px;
  align-items: start;
  border-top: 0;
  border-left: 2px solid #52627f;
  padding: 0 0 18px 22px;
}
.profile-timeline-full .profile-event-icon {
  grid-row: span 2;
  margin: 0;
}
.profile-timeline-full p {
  grid-column: 2;
  margin: 3px 0 0;
}
.profile-timeline-full small {
  grid-column: 3;
  grid-row: 1;
}
.profile-timeline-full a {
  grid-column: 2;
}
.profile-timeline-full .profile-dot {
  top: 6px;
  left: -7px;
}
.profile-dot {
  position: absolute;
  top: -7px;
  left: 0;
  width: 12px;
  height: 12px;
  border: 2px solid #8598bc;
  border-radius: 50%;
  background: var(--surface);
}
.profile-timeline-current .profile-dot {
  border-color: var(--accent);
  background: var(--accent);
}
.profile-event-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-bottom: 8px;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--accent);
  font-size: 1.2rem;
}
.profile-timeline strong,
.profile-timeline small,
.profile-timeline a {
  display: block;
}
.profile-timeline p {
  margin: 5px 0;
  overflow-wrap: anywhere;
}
.profile-timeline small {
  color: var(--muted);
}
.profile-timeline a {
  margin-top: 6px;
  font-size: 0.85rem;
}
.profile-prospect {
  margin-top: 18px;
}
.profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.player-profile a:focus-visible,
.player-profile button:focus-visible,
.player-profile select:focus-visible,
.player-profile summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
@media (max-width: 1100px) {
  .profile-hero {
    flex-wrap: wrap;
  }
  .profile-actions {
    margin-left: auto;
  }
  .profile-overview-grid {
    grid-template-columns: 1fr 1.4fr;
  }
  .profile-availability {
    grid-column: 1 / -1;
  }
  .profile-availability dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
  }
}
@media (max-width: 700px) {
  .profile-roster-scroll-hint {
    display: block;
  }
  .profile-hero {
    gap: 14px;
    padding: 16px 0 20px;
  }
  .profile-portrait {
    flex-basis: 72px;
    width: 72px;
    height: 72px;
  }
  .profile-identity {
    flex-basis: calc(100% - 90px);
  }
  .profile-identity h1 {
    font-size: 1.8rem;
  }
  .profile-context {
    flex: 1 1 125px;
    min-width: 0;
    min-height: 60px;
    padding-left: 12px;
  }
  .profile-actions {
    width: 100%;
    margin: 0;
  }
  .profile-actions > * {
    flex: 1;
  }
  .profile-navigation {
    gap: 4px;
  }
  .profile-overview-grid,
  .profile-grid {
    grid-template-columns: 1fr;
  }
  .profile-availability {
    grid-column: auto;
  }
  .profile-panel {
    padding: 16px;
  }
  .profile-fantasy dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 0;
    margin-top: 18px;
  }
  .profile-fantasy dl > div:nth-child(3) {
    border: 0;
    padding-left: 0;
  }
  .profile-panel-heading {
    flex-wrap: wrap;
  }
  .profile-panel-actions {
    width: 100%;
    justify-content: space-between;
  }
  .profile-chart {
    gap: 5px;
    overflow-x: auto;
    padding-bottom: 8px;
  }
  .profile-chart-column {
    flex: 1 0 56px;
    font-size: 0.7rem;
  }
  .profile-chart-track {
    height: 100px;
  }
  .profile-timeline {
    display: block;
    overflow: visible;
    margin-left: 6px;
  }
  .profile-timeline li {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    column-gap: 12px;
    align-items: start;
    border-top: 0;
    border-left: 2px solid #52627f;
    padding: 0 0 18px 22px;
  }
  .profile-timeline .profile-event-icon {
    grid-row: span 2;
    margin: 0;
  }
  .profile-timeline p {
    grid-column: 2;
    margin: 3px 0 0;
  }
  .profile-timeline small {
    grid-column: 3;
    grid-row: 1;
  }
  .profile-timeline a {
    grid-column: 2;
  }
  .profile-timeline .profile-dot {
    top: 6px;
    left: -7px;
  }
}
.profile-bio-source {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}
.profile-personal {
  overflow-wrap: anywhere;
}

.profile-chart-axis {
  flex: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--muted);
  font-size: 0.8rem;
  text-align: right;
}
.profile-chart-axis > div {
  height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.profile-chart-column small {
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 700px) {
  .profile-chart-axis {
    font-size: 0.7rem;
  }
  .profile-chart-axis > div {
    height: 100px;
  }
}
