@media (max-width: 760px) {
  :root {
    --tlfl-sticky-action-top: 3.25rem;
  }

  html {
    overflow-x: clip;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  body {
    margin: 0;
    min-width: 0;
    overflow-x: clip;
    padding: 0.75rem;
  }

  @supports not (overflow: clip) {

    html,
    body {
      overflow-x: hidden;
    }
  }

  img,
  video,
  canvas {
    max-width: 100%;
  }

  h1 {
    font-size: clamp(1.85rem, 9vw, 2.45rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  h2,
  h3 {
    overflow-wrap: anywhere;
  }

  p {
    max-width: 100%;
  }

  label,
  legend {
    line-height: 1.25;
  }

  select,
  textarea,
  input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="color"]) {
    font-size: 16px;
    max-width: 100%;
  }

  textarea {
    min-height: 7rem;
  }

  form p>select,
  form p>textarea,
  form p>input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="color"]) {
    width: min(100%, 24rem);
  }

  .primary-action-link,
  .updates-primary-button,
  input[type="submit"] {
    align-items: center;
    appearance: none;
    border-radius: 10px;
    box-shadow: 0 7px 16px rgb(31 85 171 / 0.20), inset 0 1px 0 rgb(255 255 255 / 0.16);
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.72rem 1rem;
    text-align: center;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .primary-action-link,
  .updates-primary-button,
  .ui-button-primary,
  .draft-pick-modal input[type="submit"] {
    background: linear-gradient(180deg, var(--tlfl-blue), var(--tlfl-blue-dark));
    border-color: var(--tlfl-blue-dark);
    color: #ffffff;
  }

  .primary-action-link:active,
  .updates-primary-button:active,
  .ui-button:active,
  .draft-pick-modal button:active,
  .draft-pick-modal input[type="submit"]:active,
  .draft-board-action-column button:active,
  .draft-countdown-icon-button:active {
    box-shadow: 0 3px 8px rgb(17 24 39 / 0.16), inset 0 1px 2px rgb(17 24 39 / 0.16);
    transform: translateY(1px);
  }

  .ui-button,
  .draft-pick-modal button,
  .draft-pick-modal input[type="submit"],
  .draft-board-action-column button,
  .draft-countdown-icon-button {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  .tlfl-teams-email-link {
    -webkit-tap-highlight-color: transparent;
  }

  .tlfl-teams-email-link:hover,
  .tlfl-teams-email-link:active {
    background: var(--tlfl-blue);
    border-color: var(--tlfl-blue);
    color: #ffffff;
  }

  .tlfl-teams-email-link:focus:not(:focus-visible) {
    outline: 0;
  }

  .page-heading-row {
    display: grid;
    gap: 0.75rem;
  }

  .page-heading-row h1 {
    min-width: 0;
  }

  .page-actions,
  .scores-expand-actions,
  .test-standings-actions,
  .draft-countdown-controls {
    gap: 0.55rem;
  }

  .page-actions,
  .season-selector,
  .tlfl-team-selector,
  .score-lab-controls,
  .test-standings-actions {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
  }

  .season-selector {
    justify-self: start;
    width: min(100%, 7.5rem);
  }

  .ui-form-panel {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
    width: min(100%, 24rem);
  }

  .ui-select,
  .ui-input {
    font-size: 16px;
    width: 100%;
  }

  .ui-table-shell-compact {
    width: 100%;
  }

  .season-selector-select,
  .scores-mobile-week-select,
  .tlfl-team-selector select,
  .score-lab-controls select,
  .test-standings-editor select {
    width: 100%;
  }

  .season-selector-select,
  .scores-mobile-week-select {
    appearance: none;
    background:
      linear-gradient(45deg, transparent 50%, #12366f 50%) calc(100% - 1rem) 50% / 0.38rem 0.38rem no-repeat,
      linear-gradient(135deg, #12366f 50%, transparent 50%) calc(100% - 0.72rem) 50% / 0.38rem 0.38rem no-repeat,
      linear-gradient(180deg, #ffffff, #f3f6fb);
    border: 1px solid #aebbd0;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgb(17 24 39 / 0.08);
    color: #111827;
    font: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.1;
    min-height: 2.7rem;
    padding: 0.55rem 2rem 0.55rem 0.75rem;
  }

  .season-selector-select:focus,
  .scores-mobile-week-select:focus {
    border-color: var(--tlfl-blue);
    box-shadow: 0 0 0 3px rgb(31 85 171 / 0.16);
    outline: 0;
  }

  body>table,
  .executed-trades-table,
  .injured-reserves-table,
  .super-bowl-champions-table,
  .leaders-table,
  .draft-pick-modal table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body>table th,
  body>table td {
    white-space: nowrap;
  }

  .flash {
    margin-left: 0;
    margin-right: 0;
  }

  .global-nav {
    margin-bottom: 0.75rem;
    position: sticky;
    top: 0;
    z-index: 1100;
  }

  .global-nav-brand img {
    height: 2.72rem;
    width: 2.72rem;
  }

  .global-nav.global-nav-open {
    height: 100dvh;
    max-height: none;
    min-height: 100dvh;
    overflow-y: auto;
  }

  .global-nav.global-nav-open>a:not(.global-nav-brand),
  .global-nav.global-nav-open>.global-nav-menu-auth,
  .global-nav.global-nav-open>details {
    min-width: 0;
  }

  .global-nav a:not(.global-nav-brand),
  .global-nav summary,
  .global-nav-button,
  .global-nav-compact a:not(.global-nav-brand),
  .global-nav-compact summary,
  .global-nav-compact .global-nav-button {
    min-height: 2.65rem;
    white-space: normal;
    width: 100%;
  }

  .global-nav .global-nav-brand {
    -webkit-tap-highlight-color: transparent;
    min-height: 0;
    padding: 0;
    width: auto;
  }

  .global-nav .global-nav-brand:hover,
  .global-nav .global-nav-brand:active {
    background: transparent;
    color: #ffffff;
  }

  .global-nav .global-nav-brand:focus:not(:focus-visible) {
    outline: 0;
  }

  .global-nav .global-nav-mobile-auth {
    min-width: 0;
  }

  .global-nav .global-nav-mobile-auth a:not(.global-nav-brand) {
    min-height: 2.45rem;
    white-space: nowrap;
    width: auto;
  }

  .global-nav .global-nav-mobile-auth .global-nav-profile-link {
    max-width: min(11rem, 52vw);
  }

  .global-nav .global-nav-mobile-auth .global-nav-profile-link span:last-child {
    max-width: min(7rem, 34vw);
  }

  .global-nav-auth {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
  }

  .global-nav-auth form,
  .global-nav-auth .button_to,
  .global-nav-menu-auth form,
  .global-nav-menu-auth .button_to,
  .global-nav-button {
    width: 100%;
  }

  .global-nav-profile-link span {
    max-width: none;
  }

  .global-nav-menu {
    box-shadow: none;
  }

  .global-nav-team-menu {
    gap: 0.75rem;
    grid-template-columns: 1fr;
    max-height: none;
    padding: 0.75rem;
  }

  .score-ticker {
    border-radius: 8px;
    margin-bottom: 1rem;
  }

  .score-ticker-game {
    -webkit-tap-highlight-color: transparent;
    flex-basis: 7.8rem;
  }

  .score-ticker-game .score-ticker-record {
    transform: translateX(0.65rem);
  }

  .score-ticker-game::before {
    display: none;
  }

  .score-ticker-game:hover {
    background: #ffffff;
    color: #111827;
  }

  .score-ticker-game:hover .score-ticker-status,
  .score-ticker-game:hover .score-ticker-team {
    filter: none;
    opacity: 1;
  }

  .score-ticker-game:hover::after {
    background:
      linear-gradient(90deg,
        color-mix(in srgb, var(--score-ticker-away-color, var(--tlfl-blue)) 70%, #ffffff),
        color-mix(in srgb, var(--score-ticker-home-color, var(--tlfl-blue)) 70%, #ffffff));
  }

  .score-ticker-game:focus:not(:focus-visible) {
    outline: 0;
  }

  .score-ticker-week-form {
    display: none;
  }

  .commissioner-roster-warnings {
    margin: 0 0 1rem;
    padding: 0.75rem;
  }

  .commissioner-roster-warnings summary {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: 1fr auto;
  }

  .commissioner-roster-warnings-count {
    justify-self: start;
  }

  .commissioner-roster-warnings-toggle {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .home-dashboard {
    gap: 1rem;
  }

  .home-panel,
  .draft-preview,
  .article-detail {
    padding: 0.85rem;
  }

  .article-card-overlay,
  .article-hero-overlay {
    padding: 1rem;
  }

  .article-card h1,
  .article-hero h1,
  .article-detail h1 {
    font-size: clamp(1.7rem, 9vw, 2.45rem);
  }

  .article-card p,
  .article-hero p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  .article-inline-image img {
    margin-left: 0;
    width: 100%;
  }

  .article-byline span {
    display: block;
    margin-left: 0;
    margin-top: 0.25rem;
  }

  .article-byline span::before {
    content: "";
    margin-right: 0;
  }

  .home-power-rankings-table {
    table-layout: fixed;
  }

  .home-power-rankings-rank-heading span {
    display: none;
  }

  .home-power-rankings-rank-heading::after {
    content: "RK";
  }

  .home-power-rankings-team span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .scores-week-selector:not([data-scores-matchups-target="weekTrack"]),
  .standings-tabs {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }

  .scores-matchups {
    gap: 0.85rem;
  }

  .scores-heading-row {
    align-items: stretch;
  }

  .scores-heading-controls {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
  }

  .score-overrides-heading-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .scores-heading-controls .season-selector,
  .scores-mobile-week-form {
    display: block;
    margin: 0;
    min-width: 0;
    width: 100%;
  }

  .scores-scoreboard .scores-week-scroll {
    display: none;
  }

  .scores-scoreboard,
  .scores-scoreboard:not(.scores-week-scroll-overflowing) {
    max-width: none;
    width: 100%;
  }

  .scores-scoreboard>turbo-frame,
  .scores-matchups,
  .scores-expand-actions,
  .scores-matchup-card {
    max-width: none;
    width: 100%;
  }

  .scores-scoreboard .scores-matchups {
    gap: 1.35rem;
  }

  .scores-scoreboard .scores-matchup-card {
    border: 2px solid #94a3b8;
    box-shadow: 0 0.6rem 1.1rem rgb(15 23 42 / 0.14);
  }

  .scores-scoreboard .scores-matchup-card::after {
    background: #cbd5e1;
    content: "";
    display: block;
    height: 0.28rem;
  }

  .scores-matchup-summary {
    grid-template-columns: minmax(0, 1fr) minmax(5.7rem, 6.42rem);
  }

  :is(.scores-page-scoreboard, .score-lab-scoreboard) .scores-matchup-summary {
    grid-template-columns: minmax(0, 1fr) minmax(6.27rem, 7.06rem);
  }

  .scores-team-row {
    --scores-mobile-score-column: 2.25rem;
    --scores-mobile-score-inset: 0.5rem;
    gap: 0.45rem;
    grid-template-columns: minmax(0, 1fr) var(--scores-mobile-score-column) var(--scores-mobile-score-inset);
    min-height: 0;
    padding: 0.65rem;
  }

  :is(.scores-page-scoreboard, .score-lab-scoreboard) .scores-team-row {
    --scores-mobile-score-inset: 0;

    gap: 0.2rem;
    padding: 0.65rem 0.35rem;
  }

  .scores-scoreboard.scores-week-scroll-overflowing .scores-team-row {
    grid-template-columns: minmax(0, 1fr) var(--scores-mobile-score-column) var(--scores-mobile-score-inset);
  }

  .scores-team-identity {
    min-width: 0;
  }

  :is(.scores-page-scoreboard, .score-lab-scoreboard) .scores-team-identity {
    gap: 0.3rem;
  }

  .scores-team-identity span {
    font-size: 1rem;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .scores-scoreboard.scores-week-scroll-overflowing .scores-team-identity span {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .scores-team-identity .scores-team-name-record {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
  }

  .scores-team-identity .scores-team-name {
    white-space: nowrap;
  }

  .scores-team-identity .scores-team-record {
    color: #4b5563;
    font-size: 0.84rem;
    line-height: 1;
    margin-left: 0;
  }

  .scores-team-row strong,
  .scores-team-score {
    grid-column: 2;
    font-size: 1.05rem;
    justify-self: end;
    min-width: 100%;
    text-align: right;
  }

  .scores-team-row-winner .scores-team-score::after {
    border-bottom-width: 0.32rem;
    border-right-width: 0.43rem;
    border-top-width: 0.32rem;
    left: calc(100% + 0.32rem - var(--scores-team-score-offset));
  }

  :is(.scores-page-scoreboard, .score-lab-scoreboard) .scores-team-row-winner .scores-team-score::after {
    content: none;
  }

  :is(.scores-page-scoreboard, .score-lab-scoreboard) .scores-team-row-winner::after {
    border-bottom: 0.32rem solid transparent;
    border-right: 0.43rem solid #000000;
    border-top: 0.32rem solid transparent;
    content: "";
    height: 0;
    opacity: 0.9;
    position: absolute;
    right: -1px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
  }

  .scores-scoreboard .scores-remaining-summary,
  .scores-scoreboard .scores-players-remaining {
    display: none;
  }

  .score-overrides-form .scores-remaining-summary,
  .score-overrides-form .scores-players-remaining {
    display: none;
  }

  .scores-remaining-summary {
    align-items: flex-start;
    grid-column: 1 / -1;
    justify-self: start;
    text-align: left;
  }

  .scores-players-remaining {
    grid-column: 1 / -1;
    justify-self: start;
    white-space: normal;
  }

  .scores-game-status {
    align-self: stretch;
    border-left: 1px solid #d1d5db;
    border-top: 0;
    min-width: 0;
    padding: 0.35rem 0.25rem;
  }

  :is(.scores-page-scoreboard, .score-lab-scoreboard) .scores-game-status {
    --scores-control-pill-font-size: 0.7rem;
    --scores-control-pill-height: 1.65rem;
    --scores-control-pill-width: 5.55rem;

    gap: 0.4rem;
  }

  .scores-rosters {
    gap: 0.8rem;
    grid-template-columns: 1fr;
    padding: 0.75rem;
  }

  .scores-scoreboard .scores-roster-tablist {
    background:
      linear-gradient(90deg, rgb(31 85 171 / 0.08), rgb(31 85 171 / 0.02)),
      #f9fafb;
    border-top: 1px solid #e5e7eb;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0.75rem 0.75rem 0;
  }

  .scores-roster-tab {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    color: #111827;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 900;
    gap: 0.4rem;
    justify-content: center;
    min-height: 2.45rem;
    min-width: 0;
    padding: 0.45rem 0.5rem;
  }

  .scores-roster-tab-active {
    background: color-mix(in srgb, var(--score-team-primary-color, var(--tlfl-blue)) 12%, #ffffff);
    border-color: var(--score-team-primary-color, var(--tlfl-blue));
    box-shadow: inset 0 0 0 1px var(--score-team-primary-color, var(--tlfl-blue));
  }

  .scores-roster-tab img {
    flex: 0 0 auto;
    height: 1.35rem;
    object-fit: contain;
    width: 1.35rem;
  }

  .scores-roster-tab span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .scores-scoreboard .scores-roster-panel {
    display: none;
  }

  .scores-scoreboard .scores-roster-panel-active {
    display: block;
  }

  .scores-roster-heading {
    align-items: start;
    grid-template-columns: 1fr;
  }

  .scores-remaining-summary,
  .scores-players-remaining {
    justify-self: start;
  }

  .scores-roster {
    border-radius: 8px;
  }

  .scores-scoreboard .scores-roster table,
  .scores-scoreboard .scores-roster thead,
  .scores-scoreboard .scores-roster tbody,
  .scores-scoreboard .scores-roster tfoot {
    display: block;
    width: 100%;
  }

  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster tr {
    align-items: stretch;
    display: grid;
    grid-template-columns: minmax(2.15rem, max-content) minmax(0, 1fr) clamp(3.5rem, 11vw, 3.95rem);
    width: 100%;
  }

  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster tbody tr.scores-roster-row-final {
    box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--score-team-primary-color, var(--tlfl-blue)) 14%, #cbd5e1);
  }

  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster tbody tr.scores-roster-row-final td {
    border-bottom-color: transparent;
  }

  .score-overrides-scoreboard .score-overrides-form .scores-roster table {
    min-width: 0;
  }

  .score-overrides-scoreboard .score-overrides-form .scores-roster {
    background:
      linear-gradient(var(--tlfl-table-header-bg), var(--tlfl-table-header-bg)) 0 0 / 100% 3rem no-repeat,
      #ffffff;
  }

  .score-overrides-scoreboard .score-overrides-form .scores-roster tr {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(2.15rem, max-content) minmax(0, 1fr) clamp(2.65rem, 8vw, 2.95rem) clamp(4.7rem, 15vw, 5.35rem) clamp(4rem, 15vw, 5rem);
    width: 100%;
  }

  .score-overrides-scoreboard .score-overrides-points-input {
    width: min(4.4rem, 100%);
  }

  .scores-scoreboard .scores-roster th,
  .scores-scoreboard .scores-roster td {
    align-items: center;
    display: flex;
    min-width: 0;
    padding: 0.5rem 0.2rem;
    white-space: nowrap;
  }

  .scores-scoreboard .scores-roster .scores-roster-number {
    justify-content: center;
  }

  .scores-scoreboard .scores-roster th:nth-child(2),
  .scores-scoreboard .scores-roster td:nth-child(2) {
    overflow: visible;
    padding-right: 0.15rem;
    text-overflow: clip;
    width: auto;
  }

  .scores-scoreboard .scores-roster tbody td:nth-child(2) {
    white-space: nowrap;
  }

  .scores-roster-game-badge {
    margin-left: -3px;
  }

  .scores-scoreboard .scores-roster th:nth-child(1),
  .scores-scoreboard .scores-roster td:nth-child(1) {
    padding-left: 0.4rem;
  }

  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster th:nth-child(4),
  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster td:nth-child(4),
  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster tfoot td:nth-child(3),
  .score-overrides-scoreboard .scores-roster th:nth-child(3),
  .score-overrides-scoreboard .scores-roster td:nth-child(3),
  .score-overrides-scoreboard .scores-roster th:nth-child(4),
  .score-overrides-scoreboard .scores-roster td:nth-child(4),
  .score-overrides-scoreboard .scores-roster tfoot td:nth-child(2) {
    padding-left: 0.35rem;
    padding-right: 0.2rem;
  }

  .score-overrides-scoreboard .scores-roster th:nth-child(3),
  .score-overrides-scoreboard .scores-roster td:nth-child(3),
  .score-overrides-scoreboard .scores-roster th:nth-child(4),
  .score-overrides-scoreboard .scores-roster td:nth-child(4),
  .score-overrides-scoreboard .scores-roster tfoot td:nth-child(2) {
    padding-right: 0.35rem;
  }

  .score-overrides-scoreboard .scores-roster th:nth-child(6),
  .score-overrides-scoreboard .scores-roster td:nth-child(6),
  .score-overrides-scoreboard .scores-roster tfoot td:nth-child(4) {
    box-sizing: border-box;
    font-size: 0.78rem;
    justify-self: stretch;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
    text-align: center;
    width: 100%;
  }

  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster th:nth-child(3),
  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster tbody td:nth-child(3),
  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster tfoot td:nth-child(2),
  .score-overrides-scoreboard .scores-roster th:nth-child(5),
  .score-overrides-scoreboard .scores-roster tbody td:nth-child(5),
  .score-overrides-scoreboard .scores-roster tfoot td:nth-child(3) {
    display: none;
  }

  .scores-scoreboard .scores-roster tbody tr:last-child td {
    border-bottom: 0;
  }

  .scores-scoreboard .scores-roster tfoot tr {
    border-top: 2px solid var(--tlfl-table-border-strong);
  }

  .scores-scoreboard .scores-roster tfoot td {
    border-top: 0;
  }

  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster tfoot td:first-child {
    grid-column: 1 / 3;
  }

  .scores-scoreboard:not(.score-overrides-scoreboard) .scores-roster tfoot .scores-roster-total-score {
    display: flex;
    grid-column: 3;
    justify-content: center;
    width: 100%;
  }

  .score-overrides-scoreboard .scores-roster tfoot td:first-child {
    grid-column: 1 / 4;
  }

  .score-overrides-scoreboard .scores-roster tfoot td:nth-child(2) {
    grid-column: 4;
  }

  .score-overrides-scoreboard .scores-roster tfoot td:nth-child(4) {
    grid-column: 5;
  }

  .nfl-team-seniorities-form-editable,
  .keepers-form,
  .admin-regular-season-trades-form,
  .trade-form,
  .player-assignment-assignment-form,
  .score-overrides-form-with-actions,
  [data-controller~="update-ir-actions"] {
    padding-bottom: 5.75rem;
  }

  .score-overrides-form-with-actions {
    padding-bottom: 7.25rem;
  }

  .nfl-team-seniorities-actions,
  .keepers-actions,
  .admin-regular-season-trades-actions,
  .trade-submit-selector,
  .player-assignment-add-action,
  .player-assignment-filters .player-assignment-add-action,
  .score-overrides-save-bar-mobile-bottom {
    align-items: stretch;
    background: var(--tlfl-surface);
    border: 0;
    border-radius: 0;
    border-top: 1px solid var(--tlfl-border-subtle);
    bottom: 0;
    box-shadow: 0 -8px 24px rgb(17 24 39 / 0.14);
    display: grid;
    grid-template-columns: 1fr;
    left: 0;
    margin: 0;
    padding: 0.65rem 0.75rem calc(0.65rem + env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    top: auto;
    width: auto;
    z-index: 1200;
  }

  .nfl-team-seniorities-actions .page-action-primary,
  .keepers-actions .page-action-primary,
  .admin-regular-season-trades-actions .page-action-primary,
  .trade-submit-selector,
  .player-assignment-add-action,
  .player-assignment-filters .player-assignment-add-action,
  .score-overrides-save-bar-mobile-bottom .page-action-primary {
    margin-left: 0;
    width: 100%;
  }

  .nfl-team-seniorities-actions .primary-action-link,
  .keepers-actions .primary-action-link,
  .admin-regular-season-trades-actions .primary-action-link,
  .trade-submit-selector .primary-action-link,
  .player-assignment-add-action .primary-action-link,
  .score-overrides-save-bar-mobile-bottom .ui-button {
    width: 100%;
  }

  .score-overrides-save-bar:not(.score-overrides-save-bar-mobile-bottom),
  .update-ir-save-bar {
    top: var(--tlfl-sticky-action-top);
  }

  .score-overrides-save-bar:not(.score-overrides-save-bar-mobile-bottom) {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .update-ir-save-bar {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
    margin-bottom: 0.75rem;
    position: sticky;
    width: 100%;
    z-index: 950;
  }

  .update-ir-save-controls {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    width: 100%;
  }

  .trade-selection-layout {
    display: contents;
  }

  .update-ir-week-field,
  .trade-week-selector {
    background: var(--tlfl-surface);
    border: 1px solid var(--tlfl-border-subtle);
    border-radius: 8px;
    box-shadow: var(--tlfl-shadow-card);
    box-sizing: border-box;
    margin: 0 0 0.75rem;
    padding: 0.75rem;
    position: sticky;
    top: var(--tlfl-sticky-action-top);
    width: 100%;
    z-index: 950;
  }

  .update-ir-week-field {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
    position: static;
  }

  .update-ir-team-field,
  .trade-team-selector {
    background: var(--tlfl-surface);
    border: 1px solid var(--tlfl-border-subtle);
    border-radius: 8px;
    box-shadow: 0 4px 14px rgb(17 24 39 / 0.05);
    box-sizing: border-box;
    margin: 0 0 0.75rem;
    padding: 0.75rem;
    width: 100%;
  }

  .update-ir-team-field {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 0;
  }

  .update-ir-save-bar .ui-select,
  .update-ir-save-bar .update-ir-team-select,
  .trade-week-selector .ui-select,
  .trade-team-selector .ui-select {
    width: 100%;
  }

  .update-ir-save-action {
    background: var(--tlfl-surface);
    border-top: 1px solid var(--tlfl-border-subtle);
    bottom: 0;
    box-shadow: 0 -8px 24px rgb(17 24 39 / 0.14);
    left: 0;
    margin-left: 0;
    padding: 0.65rem 0.75rem calc(0.65rem + env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    z-index: 1200;
  }

  .update-ir-save-action .primary-action-link {
    display: flex;
    width: 100%;
  }

  .keepers-actions .primary-action-link,
  .admin-regular-season-trades-actions .primary-action-link,
  .trade-submit-selector .primary-action-link,
  .update-ir-save-action .primary-action-link,
  .score-overrides-save-bar-mobile-bottom .ui-button,
  .draft-pick-submit-button {
    font: inherit;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.1;
  }

  .trade-protections-control .trade-protections-input {
    box-sizing: border-box;
    justify-self: start;
    min-width: 0;
    max-width: 2.6rem;
    padding-left: 0.3rem;
    padding-right: 0.3rem;
    width: 2.6rem !important;
  }

  .trade-form .trade-protections-control input.trade-protections-input {
    max-width: 2.6rem;
    width: 2.6rem !important;
  }

  .update-ir-changes-form .player-assignment-table-shell {
    overflow-x: visible;
  }

  .update-ir-changes-form .update-ir-roster-table {
    font-size: clamp(0.72rem, 2.8vw, 0.86rem);
    min-width: 0;
    table-layout: fixed;
    width: 100%;
  }

  .update-ir-changes-form .update-ir-roster-table th,
  .update-ir-changes-form .update-ir-roster-table td {
    padding: 0.4rem 0.24rem;
    white-space: normal;
  }

  .update-ir-roster-table th:nth-child(1),
  .update-ir-roster-table td:nth-child(1) {
    width: 2.25rem;
  }

  .update-ir-roster-table th:nth-child(3),
  .update-ir-roster-table td:nth-child(3) {
    width: 3rem;
  }

  .update-ir-roster-table tbody td:nth-child(1),
  .update-ir-roster-table tbody td:nth-child(3) {
    font-size: 0.9rem;
    line-height: 1.15;
  }

  .update-ir-active-roster-table th:nth-child(4),
  .update-ir-active-roster-table td:nth-child(4) {
    width: 5.45rem;
  }

  .update-ir-list-table th:nth-child(4),
  .update-ir-list-table td:nth-child(4) {
    display: none;
  }

  .update-ir-list-table th:nth-child(5),
  .update-ir-list-table td:nth-child(5) {
    width: 5.45rem;
  }

  .update-ir-reserve-table th:nth-child(4),
  .update-ir-reserve-table td:nth-child(4) {
    width: 4.65rem;
  }

  .update-ir-reserve-table th:nth-child(5),
  .update-ir-reserve-table td:nth-child(5) {
    width: 2.05rem;
  }

  .update-ir-roster-table .tlfl-team-row-actions {
    gap: 0.14rem;
  }

  .update-ir-roster-table .tlfl-team-icon-button {
    font-size: 0.78rem;
    height: 1.62rem;
    width: 1.62rem;
  }

  .update-ir-roster-table .tlfl-team-reserve-button {
    font-size: 0.58rem;
  }

  .update-ir-player-link[data-player-name-fit-target] {
    font-size: 1rem;
    line-height: 1.15;
  }

  .update-ir-replacement-label {
    font-size: 1rem;
    line-height: 1.15;
  }

  .standings-table {
    font-size: 0.8rem;
    min-width: 40rem;
  }

  .standings-page .standings-table {
    font-size: 0.84rem;
  }

  .standings-page .standings-conference-row th {
    font-size: 0.84rem;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }

  .playoff-standings-table {
    min-width: 42rem;
  }

  .standings-team-column {
    width: 14rem;
  }

  .standings-table th,
  .standings-table td {
    padding: 0.38rem 0.35rem;
  }

  .standings-key-table {
    width: 100%;
  }

  .leaders-scroll {
    margin-top: 1rem;
  }

  .leaders-scroll-controls {
    display: none;
  }

  .leaders-scroll-controls,
  .draft-scroll-controls {
    top: 0.5rem;
  }

  .leaders-grid {
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .leaders-card {
    min-width: 0;
    width: 100%;
  }

  .leaders-table-wrap {
    overflow-x: hidden;
  }

  .leaders-table-wrap>.leaders-table {
    display: table;
    table-layout: fixed;
    width: 100%;
  }

  .leaders-table th,
  .leaders-table td {
    padding: 0.55rem 0.5rem;
  }

  .leaders-table .leaders-rank {
    width: 3.25rem;
  }

  .leaders-player-fit-name {
    font-size: 1rem;
    line-height: 1;
  }

  .leaders-table .leaders-number {
    width: 3rem;
  }

  .leaders-table .leaders-tlfl-column {
    width: 4.35rem;
  }

  .tlfl-team-page-controls {
    margin: 0.75rem 0 1rem;
    width: 100%;
  }

  .tlfl-team-selector {
    align-items: stretch;
    display: grid;
    gap: 0.35rem;
    grid-template-columns: 1fr;
    width: min(100%, 24rem);
  }

  .tlfl-team-selector label {
    color: #475569;
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
  }

  .tlfl-team-selector select {
    appearance: none;
    background:
      linear-gradient(45deg, transparent 50%, #12366f 50%) calc(100% - 1rem) 50% / 0.38rem 0.38rem no-repeat,
      linear-gradient(135deg, #12366f 50%, transparent 50%) calc(100% - 0.72rem) 50% / 0.38rem 0.38rem no-repeat,
      linear-gradient(180deg, #ffffff, #f3f6fb);
    border: 1px solid #aebbd0;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgb(17 24 39 / 0.08);
    color: #111827;
    font: inherit;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.1;
    min-height: 2.8rem;
    padding: 0.6rem 2rem 0.6rem 0.75rem;
    width: 100%;
  }

  .tlfl-team-selector select:focus {
    border-color: var(--tlfl-blue);
    box-shadow: 0 0 0 3px rgb(31 85 171 / 0.16);
    outline: 0;
  }

  .tlfl-team-current-history-separator {
    display: none;
  }

  .tlfl-team-past-seasons-section {
    margin-top: 0;
  }

  .tlfl-team-past-seasons-table {
    font-size: 0.76rem;
    line-height: 1.15;
    table-layout: fixed;
    width: 100%;
  }

  .tlfl-team-past-seasons-year-col {
    width: 3rem;
  }

  .tlfl-team-past-seasons-owner-col {
    width: 6rem;
  }

  .tlfl-team-past-seasons-record-col {
    width: 3.75rem;
  }

  .tlfl-team-past-seasons-result-col {
    width: auto;
  }

  .tlfl-team-past-seasons-table th,
  .tlfl-team-past-seasons-table td {
    padding: 0.55rem 0.35rem;
  }

  .tlfl-team-past-seasons-table th:nth-child(1),
  .tlfl-team-past-seasons-table td:nth-child(1) {
    padding-left: 0.3rem;
    padding-right: 0.3rem;
    width: 3rem;
  }

  .tlfl-team-past-seasons-table th:nth-child(2),
  .tlfl-team-past-seasons-table td:nth-child(2) {
    overflow-wrap: normal;
    padding-right: 0.3rem;
    white-space: normal !important;
    width: 6rem;
    word-break: normal;
  }

  .tlfl-team-past-seasons-owner-name-desktop {
    display: none;
  }

  .tlfl-team-past-seasons-owner-name-mobile {
    display: inline-block;
  }

  .tlfl-team-past-seasons-owner-name-line {
    display: block;
  }

  .tlfl-team-past-seasons-table th:nth-child(3),
  .tlfl-team-past-seasons-table td:nth-child(3) {
    padding-left: 0.3rem;
    padding-right: 0.3rem;
    width: 3.75rem;
  }

  .tlfl-team-past-seasons-record-label-desktop {
    display: none;
  }

  .tlfl-team-past-seasons-record-label-mobile {
    display: inline;
  }

  .tlfl-team-past-seasons-table th:nth-child(4),
  .tlfl-team-past-seasons-table td:nth-child(4) {
    padding-left: 0.35rem;
    width: auto;
  }

  .tlfl-team-past-seasons-result-split-mobile .tlfl-team-past-seasons-result-desktop {
    display: none;
  }

  .tlfl-team-past-seasons-result-split-mobile .tlfl-team-past-seasons-result-mobile {
    display: inline;
  }

  .tlfl-team-past-seasons-result-line {
    display: block;
  }

  .tlfl-team-past-seasons-actions {
    justify-content: center;
    padding: 0.55rem;
  }

  .tlfl-team-past-seasons-toggle {
    min-height: 2.15rem;
    width: 100%;
  }

  .player-profile-hero {
    border-left-width: 0.32rem;
    border-radius: 8px;
    gap: 0.85rem;
    grid-template-columns: 1fr;
    margin-bottom: 1rem;
    min-height: 0;
    padding: 0.75rem;
  }

  .tlfl-team-profile-hero {
    align-items: start;
    border-left-width: 1px;
    column-gap: 0.75rem;
    grid-template-columns: 4.2rem minmax(0, 1fr);
    padding-bottom: 0.55rem;
    padding-top: 0.7rem;
    row-gap: 0.45rem;
  }

  .player-profile-hero::after {
    display: none;
  }

  .player-profile-media {
    min-height: 11rem;
  }

  .tlfl-team-profile-media {
    align-self: start;
    border-radius: 8px;
    grid-column: 1;
    grid-row: 1;
    height: 4.15rem;
    min-height: 4.15rem;
    width: 4.2rem;
  }

  .player-profile-headshot {
    height: min(12rem, 112%);
  }

  .tlfl-team-profile-logo {
    height: 3.8rem;
    width: 3.8rem;
  }

  .tlfl-team-profile-hero .player-profile-summary {
    display: contents;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    text-align: left;
  }

  .player-profile-summary h1 {
    font-size: clamp(1.75rem, 10vw, 2.4rem);
    line-height: 1.05;
    white-space: normal;
  }

  .tlfl-team-profile-hero .player-profile-summary h1 {
    font-size: clamp(1.45rem, 8vw, 2rem);
    grid-column: 2;
    grid-row: 1;
    line-height: 1.02;
    margin-bottom: 0;
  }

  .tlfl-team-title-city,
  .tlfl-team-title-name {
    display: block;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contacts {
    align-items: flex-start;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
    text-align: left;
    width: 100%;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contacts-multiple {
    align-items: stretch;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contact {
    align-content: start;
    align-items: start;
    background: rgb(255 255 255 / 0.82);
    border: 1px solid rgb(17 24 39 / 0.10);
    border-radius: 8px;
    box-shadow: 0 2px 7px rgb(17 24 39 / 0.06);
    box-sizing: border-box;
    display: grid;
    flex: 0 0 var(--tlfl-owner-contact-width, calc((100% - 0.4rem) / 2));
    gap: 0.18rem;
    grid-template-columns: minmax(0, 1fr);
    max-width: 100%;
    min-width: 0;
    padding: 0.42rem 0.6rem;
    text-align: left;
    width: var(--tlfl-owner-contact-width, calc((100% - 0.4rem) / 2));
  }

  .tlfl-team-profile-hero .tlfl-team-user-contact-single-detail {
    gap: 0.04rem;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contact span {
    display: block;
    min-width: 0;
    overflow: hidden;
    overflow-wrap: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contact span:first-child {
    color: #111827;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.15;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contact span:not(:first-child) {
    color: #475569;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.18;
    overflow-wrap: anywhere;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contact a {
    color: #12366f;
    overflow-wrap: normal;
    text-decoration: none;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contact a:hover {
    text-decoration: underline;
  }

  .tlfl-team-profile-hero .tlfl-team-user-contact span:nth-child(2)::before {
    display: none;
  }

  .player-profile-meta,
  .tlfl-team-profile-meta-row,
  .tlfl-team-user-contact {
    gap: 0.35rem 0.45rem;
  }

  .player-profile-stats-panel {
    border-left: 0;
    padding-left: 0;
  }

  .tlfl-team-profile-hero .player-profile-stats-panel {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
  }

  .player-profile-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0.75rem;
  }

  .tlfl-team-profile-hero .player-profile-stat-grid {
    gap: 0.35rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .player-profile-stat strong {
    font-size: 1.85rem;
  }

  .tlfl-team-profile-hero .player-profile-stat strong {
    font-size: clamp(1.25rem, 6vw, 1.7rem);
    white-space: nowrap;
  }

  .tlfl-team-profile-hero .player-profile-stat-label,
  .tlfl-team-profile-hero .player-profile-stat-rank {
    font-size: 0.74rem;
  }

  .tlfl-team-roster-layout {
    gap: 0.85rem;
    grid-template-columns: 1fr;
  }

  .tlfl-team-section {
    border-radius: 8px;
    margin-bottom: 1rem;
  }

  .tlfl-team-section-header {
    border-radius: 8px 8px 0 0;
    padding: 0.7rem 0.8rem;
  }

  .tlfl-team-roster-table {
    border-collapse: separate;
    border-spacing: 0;
    display: block;
    padding: 0.65rem;
  }

  .tlfl-team-roster-table thead {
    display: none;
  }

  .tlfl-team-roster-table tbody {
    display: grid;
    gap: 0.65rem;
  }

  .tlfl-team-roster-table tbody tr,
  .tlfl-team-roster-table tbody tr:nth-child(even) {
    align-items: start;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgb(17 24 39 / 0.06);
    display: grid;
    gap: 0.28rem 0.65rem;
    grid-template-areas:
      "headshot card";
    grid-template-columns: 3.9rem minmax(0, 1fr);
    padding: 0.55rem;
    position: relative;
  }

  .tlfl-team-roster-table tbody tr:hover,
  .tlfl-team-roster-table tbody tr:nth-child(even):hover {
    background: #ffffff;
  }

  .tlfl-team-roster-table td,
  .tlfl-team-roster-table.tlfl-team-roster-table td,
  .tlfl-team-roster-table tbody td:not(.tlfl-team-player-headshot-cell),
  .tlfl-team-roster-table tbody tr:nth-child(even) td:not(.tlfl-team-player-headshot-cell) {
    background: transparent;
    border: 0;
    border-radius: 0;
    height: auto;
    min-height: 0;
    padding: 0;
    text-align: left;
    width: auto;
  }

  .tlfl-team-roster-table .tlfl-team-player-headshot-cell,
  .tlfl-team-roster-table.tlfl-team-roster-table .tlfl-team-player-headshot-cell {
    grid-area: headshot;
    padding: 0;
    width: auto;
  }

  .tlfl-team-player-headshot-frame,
  .tlfl-team-player-headshot-spacer {
    height: 3.45rem;
    width: 3.45rem;
  }

  .tlfl-team-roster-table td.tlfl-team-player-name-cell,
  .tlfl-team-roster-table td.tlfl-team-player-position-cell,
  .tlfl-team-roster-table td.tlfl-team-player-nfl-cell,
  .tlfl-team-roster-table td.tlfl-team-player-bye-cell,
  .tlfl-team-roster-table td.tlfl-team-player-points-cell,
  .tlfl-team-roster-table td.tlfl-team-player-replacement-cell,
  .tlfl-team-roster-table td.tlfl-team-player-status-cell,
  .tlfl-team-roster-table td.tlfl-team-mobile-details-cell {
    display: none;
  }

  .tlfl-team-roster-table td.tlfl-team-mobile-card-cell,
  .tlfl-team-roster-table.tlfl-team-roster-table td.tlfl-team-mobile-card-cell,
  .tlfl-team-roster-table tbody td.tlfl-team-mobile-card-cell:not(.tlfl-team-player-headshot-cell) {
    display: block;
    grid-area: card;
    min-width: 0;
    width: 100%;
  }

  .tlfl-team-mobile-card-grid {
    align-items: center;
    column-gap: 0.3rem;
    display: grid;
    grid-template-areas:
      "position name name caret"
      "nfl nfl points caret"
      "details details details details";
    grid-template-columns: 2.65rem 1.65rem minmax(0, 1fr) 1.45rem;
    min-width: 0;
    position: relative;
    row-gap: 0.35rem;
  }

  .tlfl-team-mobile-card-position {
    align-items: center;
    background: #eef4ff;
    border: 1px solid #bfd1f2;
    border-radius: 999px;
    color: #172554;
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 900;
    grid-area: position;
    justify-content: center;
    line-height: 1;
    padding: 0.28rem 0.38rem;
    text-align: center;
    width: 2.65rem;
  }

  .tlfl-team-mobile-card-name {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    font-weight: 800;
    gap: 0.25rem 0.35rem;
    grid-area: name;
    justify-self: start;
    max-width: 100%;
    min-width: 0;
  }

  .tlfl-team-mobile-card-name a {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .tlfl-team-mobile-card-nfl {
    color: #334155;
    display: grid;
    font-size: 0.82rem;
    font-weight: 800;
    gap: 0.25rem;
    grid-area: nfl;
    grid-template-columns: 1.55rem minmax(0, 1fr);
    line-height: 1;
    min-width: 0;
    white-space: nowrap;
  }

  .tlfl-team-mobile-card-nfl span {
    color: #64748b;
    font-weight: 900;
  }

  .tlfl-team-mobile-card-points {
    color: #475569;
    display: inline-flex;
    flex-wrap: wrap;
    font-size: 0.86rem;
    font-weight: 800;
    gap: 0.25rem;
    grid-area: points;
    justify-self: start;
    max-width: 100%;
    min-width: 0;
  }

  .tlfl-team-mobile-card-points span {
    color: #64748b;
    font-weight: 900;
  }

  .tlfl-team-mobile-card-details {
    display: block;
    grid-area: details;
    grid-column: 1 / -1;
    grid-row: 3;
    min-width: 0;
    overflow: visible;
    width: 100%;
  }

  .tlfl-team-mobile-card-details summary {
    align-items: center;
    align-self: center;
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    border-radius: 999px;
    color: var(--tlfl-blue-dark);
    cursor: pointer;
    display: inline-flex;
    height: 1.38rem;
    justify-content: center;
    justify-self: end;
    list-style: none;
    position: absolute;
    right: 0;
    top: 0.35rem;
    width: 1.38rem;
    z-index: 1;
  }

  .tlfl-team-mobile-card-details summary::-webkit-details-marker {
    display: none;
  }

  .tlfl-team-mobile-card-details summary::after {
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    content: "";
    height: 0.32rem;
    margin-top: -0.11rem;
    transform: rotate(45deg);
    width: 0.32rem;
  }

  .tlfl-team-mobile-card-details[open] summary::after {
    margin-top: 0.15rem;
    transform: rotate(-135deg);
  }

  .tlfl-team-mobile-card-details-grid {
    border-top: 1px solid #e5e7eb;
    box-sizing: border-box;
    display: none;
    gap: 0.4rem 0.75rem;
    grid-template-columns: max-content minmax(0, 1fr);
    justify-self: stretch;
    margin-top: 0.15rem;
    min-width: 12rem;
    padding-top: 0.5rem;
    width: 100%;
  }

  .tlfl-team-mobile-card-details[open] .tlfl-team-mobile-card-details-grid {
    display: grid;
  }

  .tlfl-team-mobile-card-details-grid span {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 900;
  }

  .tlfl-team-mobile-card-details-grid strong,
  .tlfl-team-player-mobile-details-grid strong {
    color: #334155;
    font-size: 0.86rem;
    font-weight: 400;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
  }

  .tlfl-team-roster-table td:empty::before {
    content: none;
  }

  .tlfl-team-roster-table td.tlfl-team-player-name-cell,
  .tlfl-team-roster-table td.tlfl-team-player-position-cell,
  .tlfl-team-roster-table td.tlfl-team-player-nfl-cell,
  .tlfl-team-roster-table td.tlfl-team-player-bye-cell,
  .tlfl-team-roster-table td.tlfl-team-player-points-cell,
  .tlfl-team-roster-table td.tlfl-team-player-replacement-cell,
  .tlfl-team-roster-table td.tlfl-team-player-status-cell,
  .tlfl-team-roster-table td.tlfl-team-mobile-details-cell {
    display: none;
  }

  .tlfl-team-detail-table:not(.tlfl-team-roster-table) th,
  .tlfl-team-detail-table:not(.tlfl-team-roster-table) td {
    padding: 0.55rem 0.6rem;
  }

  .tlfl-team-schedule-table {
    font-size: 0.92rem;
  }

  .tlfl-team-schedule-table th:nth-child(1),
  .tlfl-team-schedule-table td:nth-child(1) {
    width: 3.4rem;
  }

  .tlfl-team-schedule-opponent {
    white-space: normal;
  }

  .tlfl-teams-card>table,
  .nfl-team-card table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .tlfl-teams-card>table {
    display: table;
    overflow-x: visible;
  }

  .nfl-teams-index .nfl-team-card table {
    display: table;
    overflow-x: visible;
  }

  .keepers-form .nfl-team-card table {
    display: table;
    overflow-x: visible;
    width: 100%;
  }

  .nfl-teams,
  .keepers-form .nfl-teams {
    grid-template-columns: 1fr;
  }

  .nfl-team-card {
    padding: 0.75rem;
  }

  .tlfl-teams-card {
    padding: 0;
  }

  .tlfl-teams-card .nfl-team-card-header {
    padding: 0.75rem 0.75rem 0.68rem 0.9rem;
  }

  .tlfl-teams-card>table,
  .nfl-teams-index .nfl-team-card>table {
    margin: 0 0.85rem;
    width: calc(100% - 1.7rem);
  }

  .tlfl-teams-card>table th:nth-child(1),
  .tlfl-teams-card>table td:nth-child(1),
  .nfl-teams-index .nfl-team-roster-table th:nth-child(1),
  .nfl-teams-index .nfl-team-roster-table td:nth-child(1),
  .keepers-form .nfl-team-card table th:nth-child(1),
  .keepers-form .nfl-team-card table td:nth-child(1) {
    width: 3rem;
  }

  .nfl-team-card-header {
    align-items: flex-start;
  }

  .nfl-teams-index .nfl-team-card-header {
    align-items: center;
    padding: 0.85rem 0.85rem 0;
  }

  .nfl-teams-index .nfl-team-card-header img {
    height: 2.05rem;
    width: 2.05rem;
  }

  .nfl-team-card-meta {
    font-size: 0.75rem;
  }

  .tlfl-teams-owner-links {
    font-size: 0.94rem;
  }

  .tlfl-teams-owner-separator {
    margin: 0 0.36rem;
  }

  .nfl-team-card-header h2 {
    font-size: 1.25rem;
  }

  .nfl-team-seniority-control {
    align-items: stretch;
  }

  .nfl-team-card .nfl-team-roster-table-commissioner th:nth-child(4),
  .nfl-team-card .nfl-team-roster-table-commissioner td:nth-child(4) {
    padding-left: 0.15rem;
    padding-right: 0;
    width: 5.15rem;
  }

  .nfl-team-roster-table-readonly-seniority th:nth-child(4),
  .nfl-team-roster-table-readonly-seniority td:nth-child(4) {
    padding-left: 0.15rem;
    padding-right: 0.15rem;
    width: 5.05rem;
  }

  .nfl-team-card tbody tr:hover {
    background: transparent;
  }

  .nfl-teams-index .nfl-team-roster-table tbody tr:hover td {
    background: #ffffff;
  }

  .nfl-teams-index .nfl-team-roster-table tbody tr:nth-child(even):hover td {
    background: var(--tlfl-table-row-alt);
  }

  .nfl-teams-index .nfl-team-roster-table tbody tr.nfl-team-seniority-row-unsaved:hover td,
  .nfl-teams-index .nfl-team-roster-table tbody tr.nfl-team-seniority-row-unsaved:nth-child(even):hover td {
    background: #fff7ed;
  }

  .player-assignment-filters {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .player-assignment-filter-controls {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .player-assignment-search-field .player-search-input {
    min-width: 0;
    width: 100%;
  }

  .player-assignment-filters fieldset {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.7rem;
    margin: 0;
    min-width: 0;
  }

  .player-assignment-filters .sticky-form-actions {
    width: auto;
  }

  .player-assignment-roster-header {
    align-items: flex-start;
    gap: 0.75rem;
  }

  .update-ir-roster-header {
    align-items: center;
  }

  .update-ir-roster-header-selected {
    width: 100%;
  }

  .player-assignment-roster-header img {
    height: 3rem;
    width: 3rem;
  }

  .player-assignment-roster-header h2 {
    font-size: 1.25rem;
  }

  :root {
    --player-assignment-table-min-width: 26rem;
  }

  .player-assignment-roster-table,
  .player-assignment-players-table {
    min-width: var(--player-assignment-table-min-width);
    width: 100%;
  }

  .player-assignment-roster-table th,
  .player-assignment-roster-table td,
  .player-assignment-players-table th,
  .player-assignment-players-table td {
    padding: 0.5rem;
    white-space: nowrap;
  }

  .update-ir-replacements {
    max-width: 100%;
  }

  .transactions-layout,
  .trade-team-layout {
    grid-template-columns: 1fr;
  }

  .trade-team-selector,
  .trade-team-assets,
  .trade-asset-fieldset {
    max-width: none;
    width: 100%;
  }

  .trade-team-name {
    min-width: 0;
  }

  .trade-team-name span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .executed-trades-table,
  .injured-reserves-table {
    --transaction-mobile-label-font-size: 1rem;
    display: table;
    font-size: var(--transaction-mobile-label-font-size);
    max-width: none;
    min-width: 100%;
    overflow: visible;
    table-layout: auto;
    width: max-content;
  }

  .executed-trades-table th,
  .executed-trades-table td,
  .injured-reserves-table th,
  .injured-reserves-table td {
    height: 2.1rem;
    line-height: 1.15;
    overflow: visible;
    padding: 0.12rem;
    text-overflow: clip;
    white-space: nowrap;
  }

  .executed-trades-table tbody + tbody tr:first-child td {
    border-top: 0.65rem solid var(--tlfl-page-background);
    box-shadow: inset 0 2px 0 #9fb0c5;
  }

  .executed-trades-table tbody tr:last-child td,
  .executed-trades-table tbody:last-of-type tr:last-child td {
    border-bottom: 2px solid #b8c5d6;
  }

  .executed-trades-table th.transaction-select-column,
  .executed-trades-table td.transaction-select-column,
  .injured-reserves-table th.transaction-select-column,
  .injured-reserves-table td.transaction-select-column,
  .executed-trades-table .transaction-select-column,
  .injured-reserves-table .transaction-select-column {
    width: 1rem;
  }

  .executed-trades-table th.transaction-effective-column,
  .executed-trades-table td.transaction-effective-column,
  .injured-reserves-table th.transaction-effective-column,
  .injured-reserves-table td.transaction-effective-column,
  .executed-trades-table .transaction-effective-column,
  .injured-reserves-table .transaction-effective-column {
    width: 2.8rem;
  }

  .executed-trades-table th.transaction-effective-column,
  .executed-trades-table td.transaction-effective-column,
  .injured-reserves-table th.transaction-effective-column,
  .injured-reserves-table td.transaction-effective-column {
    padding-right: 0.5rem;
  }

  .executed-trades-table th.transaction-team-column,
  .executed-trades-table td.transaction-team-column,
  .injured-reserves-table th.transaction-team-column,
  .injured-reserves-table td.transaction-team-column {
    padding-left: 0.5rem;
  }

  .executed-trades-table th.transaction-team-column,
  .executed-trades-table td.transaction-team-column,
  .injured-reserves-table th.transaction-team-column,
  .injured-reserves-table td.transaction-team-column,
  .executed-trades-table .transaction-team-column,
  .injured-reserves-table .transaction-team-column {
    width: 7rem;
  }

  .executed-trades-table.transactions-commissioner-table th.transaction-select-column,
  .executed-trades-table.transactions-commissioner-table td.transaction-select-column,
  .injured-reserves-table.transactions-commissioner-table th.transaction-select-column,
  .injured-reserves-table.transactions-commissioner-table td.transaction-select-column {
    max-width: 1.45rem;
    min-width: 1.45rem;
    width: 1.45rem;
  }

  .executed-trades-table.transactions-commissioner-table th.transaction-team-column,
  .executed-trades-table.transactions-commissioner-table td.transaction-team-column,
  .injured-reserves-table.transactions-commissioner-table th.transaction-team-column,
  .injured-reserves-table.transactions-commissioner-table td.transaction-team-column {
    width: 7rem;
  }

  .transactions-section {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .transactions-layout .transaction-effective-week[data-mobile-label],
  .transactions-layout .transaction-team-label[data-transaction-abbreviation],
  .transactions-layout .transaction-player-label[data-short-name],
  .transactions-layout .transaction-draft-pick-label[data-mobile-label] {
    font-size: 0;
  }

  .transactions-layout .transaction-effective-week[data-mobile-label]::before,
  .transactions-layout .transaction-team-label[data-transaction-abbreviation]::before,
  .transactions-layout .transaction-player-label[data-short-name]::before,
  .transactions-layout .transaction-draft-pick-label[data-mobile-label]::before {
    display: inline-block;
    font-size: var(--transaction-mobile-label-font-size);
    line-height: 1.15;
  }

  .transactions-layout .transaction-effective-week[data-mobile-label]::before {
    content: attr(data-mobile-label);
  }

  .transactions-layout .transaction-team-label[data-transaction-abbreviation]::before {
    content: attr(data-transaction-abbreviation);
  }

  .transactions-layout .transaction-player-label[data-short-name]::before {
    content: attr(data-short-name);
  }

  .transactions-layout .transaction-draft-pick-label[data-mobile-label]::before {
    content: attr(data-mobile-label);
  }

  .transactions-layout .transaction-activity-suffix[data-mobile-label="activated"],
  .transactions-layout .transaction-activity-suffix[data-mobile-label="added"] {
    font-size: 0;
  }

  .transactions-layout .transaction-activity-suffix[data-mobile-label="activated"]::before,
  .transactions-layout .transaction-activity-suffix[data-mobile-label="added"]::before {
    content: attr(data-mobile-label);
    display: inline-block;
    font-size: var(--transaction-mobile-label-font-size);
    line-height: 1.15;
  }

  .transactions-layout .transaction-custom-activity-desktop {
    display: none;
  }

  .transactions-layout .transaction-custom-activity-mobile {
    display: inline;
  }

  .executed-trades-table .trade-team-name,
  .injured-reserves-table .trade-team-name {
    gap: 0.18rem;
  }

  .executed-trades-table .transaction-team-badge::before,
  .injured-reserves-table .transaction-team-badge::before {
    height: 1.12rem;
    width: 0.16rem;
  }

  .executed-trades-table .trade-team-name img,
  .injured-reserves-table .trade-team-name img {
    display: block;
    height: 1.4rem;
    width: 1.4rem;
  }

  .transaction-team-entry {
    align-items: center;
    flex-direction: row;
    gap: 0.22rem;
    line-height: 1;
  }

  .transaction-team-entry .transaction-team-badge {
    flex: 1 1 auto;
    max-width: 100%;
  }

  .transaction-trades-left {
    font-size: 0.56rem;
    gap: 0.14rem;
    height: 1rem;
    justify-content: center;
    min-width: 1.16rem;
    padding: 0 0.22rem;
  }

  .transaction-trades-left-number {
    font-size: 0.68rem;
  }

  .transaction-trades-left-label {
    display: none;
  }

  .updates-panel {
    border-radius: 8px;
    max-width: none;
    padding: 0.9rem;
  }

  .updates-scheduled-panel,
  .updates-readiness-panel {
    margin-bottom: 0.85rem;
  }

  .privileged-page-header {
    border-left-width: 1px;
    border-top: 5px solid var(--privileged-header-accent);
    display: grid;
    padding: 1.1rem 1rem;
  }

  .updates-section-nav {
    display: grid;
    grid-template-columns: 1fr;
  }

  .updates-section-nav a {
    border-radius: 8px;
    justify-content: flex-start;
  }

  .updates-panel h2,
  .updates-panel h3,
  .updates-panel h4 {
    font-size: 1rem;
    margin-bottom: 0.55rem;
  }

  .updates-description {
    font-size: 0.88rem;
    line-height: 1.35;
    margin-bottom: 0.7rem;
  }

  .updates-task-group {
    margin-top: 1.1rem;
  }

  .updates-section {
    border-radius: 10px;
    padding: 0.85rem;
  }

  .updates-group-heading {
    align-items: flex-start;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.7rem;
  }

  .updates-section-number {
    border-radius: 8px;
    flex-basis: 2.25rem;
    height: 2.25rem;
  }

  .updates-group-heading h2 {
    font-size: 1.05rem;
  }

  .updates-group-heading p {
    font-size: 0.86rem;
  }

  .updates-task-grid {
    gap: 0.85rem;
    grid-template-columns: 1fr;
  }

  .updates-task-grid-four-up {
    grid-auto-rows: auto;
  }

  .updates-task-grid-four-up>.updates-function-card {
    height: auto;
  }

  .updates-overview-grid {
    gap: 0.85rem;
    grid-template-columns: 1fr;
  }

  .updates-function-card {
    border-left: 1px solid #cbd5e1;
    border-top: 4px solid var(--updates-section-accent, var(--tlfl-blue));
    box-shadow: 0 1px 3px rgb(15 23 42 / 0.1);
  }

  .updates-function-card .updates-action-form {
    border: 1px solid #dbe4f4;
    border-radius: 8px;
    margin: 0.65rem 0 0.8rem;
    padding: 0.75rem;
  }

  .updates-task-details summary {
    font-size: 0.84rem;
    padding: 0.65rem 0.7rem;
  }

  .updates-task-details-content {
    padding: 0.75rem;
  }

  .updates-monitoring-details>summary {
    align-items: flex-start;
    flex-wrap: wrap;
    font-size: 0.84rem;
    justify-content: flex-start;
    padding: 0.65rem 0.7rem;
  }

  .updates-monitoring-summary-badges {
    margin-left: 1.1rem;
    width: 100%;
  }

  .updates-primary-button,
  .updates-inline-field {
    max-width: none;
    width: 100%;
  }

  .updates-inline-field input {
    min-height: 2.75rem;
    width: 100%;
  }

  .updates-schedule-note {
    border-radius: 8px;
    font-size: 0.84rem;
    line-height: 1.35;
    margin-bottom: 0.75rem;
    padding: 0.6rem 0.65rem;
  }

  .updates-change-heading {
    font-size: 0.74rem;
    margin-bottom: 0.35rem;
  }

  .updates-change-list {
    border-radius: 8px;
    font-size: 0.84rem;
    line-height: 1.32;
    margin-bottom: 0.8rem;
  }

  .updates-change-list li {
    overflow-wrap: anywhere;
    padding: 0.5rem 0.6rem 0.5rem 1.35rem;
  }

  .updates-change-list li::before {
    left: 0.55rem;
    top: 0.9rem;
  }

  .updates-change-list code {
    overflow-wrap: anywhere;
  }

  .updates-readiness-list,
  .tank01-live-game-summary {
    grid-template-columns: 1fr;
  }

  .updates-readiness-list {
    gap: 0.55rem;
  }

  .updates-readiness-item {
    border-radius: 8px;
    padding: 0.65rem;
  }

  .updates-readiness-heading {
    align-items: flex-start;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: 1fr auto;
  }

  .updates-readiness-heading strong {
    font-size: 0.9rem;
  }

  .updates-readiness-badge {
    font-size: 0.66rem;
  }

  .updates-readiness-item p {
    font-size: 0.84rem;
  }

  .updates-scheduled-table-wrap {
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;
  }

  .updates-scheduled-table {
    display: block;
    font-size: 0.86rem;
    min-width: 0;
    width: 100%;
  }

  .updates-scheduled-table thead {
    display: none;
  }

  .updates-scheduled-table tbody {
    display: grid;
    gap: 0.65rem;
  }

  .updates-scheduled-table tr {
    background: #ffffff;
    border: 1px solid var(--tlfl-table-border);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgb(17 24 39 / 0.05);
    display: grid;
    overflow: hidden;
  }

  .updates-scheduled-table tbody tr:nth-child(even),
  .updates-scheduled-table tbody tr:hover {
    background: #ffffff;
  }

  .updates-scheduled-table td {
    align-items: start;
    border-bottom: 1px solid var(--tlfl-table-border);
    display: grid;
    gap: 0.55rem;
    grid-template-columns: minmax(5.4rem, 34%) minmax(0, 1fr);
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 0.55rem 0.65rem;
    white-space: normal;
  }

  .updates-scheduled-table td:nth-child(2),
  .updates-scheduled-table td:nth-child(3) {
    white-space: normal;
  }

  .updates-scheduled-table td::before {
    color: #64748b;
    content: attr(data-label);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
  }

  .updates-scheduled-table td:first-child {
    background: var(--tlfl-table-header-bg);
    min-width: 0;
  }

  .updates-scheduled-table td:last-child {
    border-bottom: 0;
  }

  .updates-sync-message-row td,
  .updates-sync-message-row td:first-child {
    background: #f8fafc;
    color: #374151;
    font-weight: 700;
  }

  .updates-sync-message-row code {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .update-progress {
    max-width: none;
    width: 100%;
  }

  .tank01-live-game-table,
  .test-standings-editor {
    min-width: 60rem;
  }

  .score-lab-game-box-header {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
  }

  .score-lab-game-score {
    justify-content: start;
  }

  .draft-recent-picks {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .draft-scroll-controls {
    display: none;
  }

  #draft_live_content {
    --draft-sticky-clock-top: 3.55rem;
  }

  #draft_live_content.draft-live-content-viewer {
    --draft-sticky-clock-top: 3.04rem;
  }

  .draft-sticky-clock-row {
    row-gap: 0.45rem;
    margin-bottom: 1rem;
    padding: 0 0 0.45rem;
    z-index: 1090;
  }

  .draft-clock-stack {
    display: grid;
    gap: 0;
    position: relative;
    width: 100%;
  }

  .draft-current-team {
    grid-column: 1;
    grid-row: 1;
    min-height: 5.75rem;
    padding: 0.8rem 6.8rem 0.75rem 0.85rem;
    width: 100%;
  }

  .draft-countdown {
    align-self: center;
    background: transparent;
    box-shadow: none;
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    min-height: 0;
    overflow: visible;
    padding: 0.55rem 0.85rem 0.55rem 0;
    position: relative;
    width: auto;
    z-index: 1;
  }

  .draft-countdown::before {
    content: none;
  }

  .draft-countdown-expired .draft-countdown {
    background: transparent;
  }

  .draft-countdown-team-name[data-mobile-label] {
    font-size: 0;
  }

  .draft-countdown-team-name[data-mobile-label]::before {
    content: attr(data-mobile-label);
    font-size: 1.35rem;
    line-height: 1.05;
  }

  .draft-recent-picks-section {
    display: none;
  }

  .draft-round .draft-board-pick-column {
    display: none;
  }

  .draft-round .draft-board-team-column {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
    width: 8.1rem;
  }

  .draft-round th.draft-board-team-heading {
    font-size: 0;
  }

  .draft-round th.draft-board-team-heading::before {
    content: attr(data-mobile-label);
    font-size: 1rem;
  }

  .draft-team-cell {
    gap: 0.35rem;
  }

  .draft-team-cell>span {
    min-width: 0;
  }

  .draft-team-name[data-mobile-label] {
    font-size: 0;
  }

  .draft-team-name[data-mobile-label]::before {
    content: attr(data-mobile-label);
    font-size: 1rem;
  }

  .draft-board-player-name[data-mobile-label] {
    font-size: 0 !important;
  }

  .draft-board-player-name[data-mobile-label]::before {
    content: attr(data-mobile-label);
    font-size: 1rem;
  }

  .draft-board-action-column .button_to {
    display: inline-flex;
    margin: 0;
  }

  .draft-board-action-column button {
    align-items: center;
    appearance: none;
    background: linear-gradient(180deg, #ffffff, #edf4ff);
    border: 1px solid #b7c6dd;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgb(17 24 39 / 0.12), inset 0 1px 0 rgb(255 255 255 / 0.85);
    color: var(--tlfl-blue-dark);
    display: inline-flex;
    font: inherit;
    font-size: 0;
    font-weight: 900;
    height: 2.35rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: relative;
    width: 2.35rem;
  }

  .draft-board-action-column button[aria-label="Make Pick"] {
    background: linear-gradient(180deg, var(--tlfl-blue), var(--tlfl-blue-dark));
    border-color: var(--tlfl-blue-dark);
    color: #ffffff;
  }

  .draft-board-action-column button[aria-label="Clear Pick"] {
    background: linear-gradient(180deg, #fff7f7, #fee2e2);
    border-color: #fca5a5;
    color: #991b1b;
  }

  .draft-current-team,
  .draft-countdown,
  .draft-recent-pick {
    flex-basis: 100%;
    width: 100%;
  }

  .draft-countdown {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr;
  }

  .draft-countdown:not(.draft-countdown-viewer) {
    align-items: end;
    column-gap: 0.55rem;
    grid-template-columns: 1fr;
    justify-items: end;
  }

  .draft-clock-stack-commissioner {
    gap: 0;
  }

  .draft-clock-stack-commissioner .draft-current-team {
    grid-row: 1;
  }

  .draft-clock-stack-commissioner .draft-countdown:not(.draft-countdown-viewer) {
    display: contents;
  }

  .draft-clock-stack-commissioner .draft-countdown:not(.draft-countdown-viewer) .draft-countdown-controls {
    justify-content: flex-end;
    position: absolute;
    right: 0;
    top: -3.7rem;
    z-index: 3;
  }

  .draft-clock-stack-commissioner .draft-countdown:not(.draft-countdown-viewer) .draft-countdown-display {
    align-self: center;
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    margin-right: 0.85rem;
    z-index: 2;
  }

  .draft-sticky-clock-row>.draft-available-positions-button {
    font-size: 0.74rem;
    height: 2.35rem;
    margin-left: auto;
    padding-left: 2.5rem;
    z-index: 2;
  }

  .draft-countdown-display {
    margin-left: 0;
    text-align: right;
  }

  .draft-countdown-viewer {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    grid-template-columns: auto;
    justify-items: end;
    justify-self: end;
    min-height: 0;
  }

  .draft-countdown:not(.draft-countdown-viewer) .draft-countdown-display,
  .draft-countdown-viewer .draft-countdown-display {
    background: #111827;
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.12), 0 6px 14px rgb(15 23 42 / 0.18);
    color: #ffffff;
    font-size: clamp(1.9rem, 10vw, 2.45rem);
    font-weight: 900;
    line-height: 1;
    margin: 0;
    min-width: 5.6rem;
    padding: 0.25rem 0.7rem 0.35rem;
    text-align: center;
  }

  .draft-clock-stack .draft-countdown-display {
    margin: 0;
    position: absolute;
    right: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
  }

  .draft-countdown-expired .draft-countdown:not(.draft-countdown-viewer) .draft-countdown-display,
  .draft-countdown-expired .draft-countdown-viewer .draft-countdown-display {
    background: #991b1b;
  }

  .draft-countdown-viewer .draft-countdown-controls {
    display: none;
  }

  .draft-countdown-controls {
    gap: 0.3rem;
    justify-content: flex-start;
  }

  .draft-countdown:not(.draft-countdown-viewer) .draft-countdown-controls {
    justify-content: flex-end;
    min-width: 0;
  }

  .draft-countdown-icon-button {
    appearance: none;
    background: linear-gradient(180deg, #ffffff, #edf4ff);
    border: 1px solid #b7c6dd;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgb(17 24 39 / 0.10), inset 0 1px 0 rgb(255 255 255 / 0.85);
    color: var(--tlfl-blue-dark);
    font-weight: 900;
    height: 2.35rem;
    width: 2.35rem;
  }

  .draft-available-positions-modal {
    height: calc(100dvh - 0.7rem);
    max-height: calc(100dvh - 0.7rem);
    max-width: calc(100vw - 0.7rem);
    width: calc(100vw - 0.7rem);
  }

  .draft-available-positions-modal-header {
    gap: 0.75rem;
    padding: 0.78rem 0.8rem;
  }

  .draft-available-positions-modal-header h2 {
    font-size: 1.25rem;
  }

  .draft-available-positions-toolbar {
    align-items: stretch;
    display: grid;
    gap: 0.55rem;
    padding: 0.62rem 0.7rem;
  }

  .draft-available-position-filter-control {
    align-items: stretch;
    display: grid;
    gap: 0.35rem;
  }

  .draft-available-position-filter-label {
    font-size: 0.68rem;
  }

  .draft-available-position-filters {
    display: grid;
    gap: 0.2rem;
    grid-auto-flow: initial;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    width: 100%;
  }

  .draft-available-position-filter {
    font-size: 0.7rem;
    min-height: 1.9rem;
    min-width: 0;
    padding: 0.4rem 0.2rem;
  }

  .draft-available-positions-meta {
    justify-content: space-between;
    width: 100%;
  }

  .draft-available-position-count {
    font-size: 0.72rem;
    min-width: 0;
    text-align: left;
  }

  .draft-available-position-legend {
    gap: 0.5rem;
  }

  .draft-available-position-legend-item {
    font-size: 0.68rem;
  }

  .draft-available-positions-grid {
    gap: 0.72rem;
    grid-template-columns: 1fr;
    padding: 0.72rem;
  }

  .draft-available-team h3 {
    min-height: 3rem;
  }

  .draft-position-slots {
    gap: 0.2rem;
    padding: 0.48rem;
  }

  .draft-position-slot {
    font-size: 0.68rem;
    min-height: 1.62rem;
  }

  .draft-available-team-logo {
    height: 1.85rem;
    width: 1.85rem;
  }

  .draft-countdown:not(.draft-countdown-viewer) .draft-countdown-controls label {
    font-size: 0;
    gap: 0;
  }

  .draft-countdown:not(.draft-countdown-viewer) .draft-countdown-limit-label {
    border-right: 1px solid #d6deea;
    margin-right: 0.08rem;
    padding-right: 0.08rem;
  }

  .draft-countdown:not(.draft-countdown-viewer) .draft-countdown-controls input {
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #111827;
    font: inherit;
    font-weight: 900;
    line-height: 1;
    min-height: 2.25rem;
    padding: 0.4rem 0.62rem 0.4rem 0.72rem;
    text-align: center;
    width: 4.2rem;
  }

  .draft-recent-pick {
    align-items: flex-start;
    gap: 0.75rem;
  }

  .draft-recent-pick-player div {
    font-size: 1.15rem;
  }

  .draft-pick-modal,
  .player-modal {
    max-height: calc(100dvh - 0.75rem);
    width: calc(100vw - 0.75rem);
  }

  .draft-pick-modal {
    border: 1px solid #cfd8e6;
    border-radius: 12px;
    box-shadow: 0 18px 42px rgb(15 23 42 / 0.24);
    padding: 0;
  }

  .draft-pick-modal-header {
    gap: 0.75rem;
  }

  .draft-modal-close {
    align-items: center;
    appearance: none;
    background: linear-gradient(180deg, #ffffff, #edf2f7);
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    box-shadow: 0 4px 10px rgb(17 24 39 / 0.12), inset 0 1px 0 rgb(255 255 255 / 0.85);
    color: #334155;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0;
    height: 2.35rem;
    justify-content: center;
    padding: 0;
    position: relative;
    width: 2.35rem;
  }

  .draft-pick-modal input[type="submit"] {
    border-radius: 10px;
    font: inherit;
    font-weight: 900;
    min-height: 2.8rem;
    width: 100%;
  }

  .draft-pick-modal button:not(.draft-pick-modal-close) {
    appearance: none;
    background: linear-gradient(180deg, #ffffff, #edf4ff);
    border: 1px solid #b7c6dd;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgb(17 24 39 / 0.10), inset 0 1px 0 rgb(255 255 255 / 0.85);
    color: var(--tlfl-blue-dark);
    font: inherit;
    font-weight: 900;
    min-height: 2.8rem;
    padding: 0.7rem 1rem;
    width: 100%;
  }

  .draft-pick-modal form>p:last-child {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: 1fr;
  }

  .player-modal-content {
    max-height: calc(100dvh - 0.75rem);
    padding: 0.75rem;
  }

  .player-modal-header {
    right: 1.6rem;
    top: 1.6rem;
  }

  .player-modal-content .player-profile-hero {
    border-left-width: 1px;
    grid-template-columns: 1fr;
  }

  .player-modal-content .player-profile-summary h1 {
    font-size: 1.65rem;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .player-modal-content .player-profile-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .player-profile-stat-grid--three,
  .player-modal-content .player-profile-stat-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .user-auth-page,
  .user-profile,
  .user-admin-form-page {
    max-width: none;
    padding: 0.9rem;
    width: 100%;
  }

  .user-auth-form {
    gap: 0.9rem;
  }

  .user-auth-field {
    gap: 0.45rem;
  }

  .user-auth-field label {
    font-size: 0.95rem;
  }

  .user-auth-field input:not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="hidden"]) {
    min-height: 2.7rem;
    padding: 0.62rem 0.75rem;
    width: 100%;
  }

  .user-auth-actions .primary-action-link {
    font: inherit;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.1;
    min-height: 2.85rem;
    width: 100%;
  }

  .user-edit-page {
    padding: 0;
  }

  .user-edit-header,
  .user-form-panel,
  .user-form-actions,
  .user-role-fields {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }

  .user-notification-fields .user-section-subheader,
  .user-notification-options {
    padding-left: 0.9rem;
    padding-right: 0.9rem;
  }

  .form-grid,
  .user-password-fields {
    grid-template-columns: 1fr;
  }

  .user-profile-header {
    display: contents;
  }

  .user-profile {
    display: flex;
    flex-direction: column;
  }

  .user-profile-heading {
    order: 1;
  }

  .user-profile-details {
    grid-template-columns: 1fr;
    order: 2;
    width: 100%;
  }

  .user-profile-details dd {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .user-profile-actions {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: 1fr;
    justify-content: stretch;
    margin-top: 1rem;
    order: 4;
  }

  .user-profile-notifications {
    order: 3;
    width: 100%;
  }

  .user-profile-actions .primary-action-link,
  .user-profile-logout-form,
  .user-profile-logout-button {
    width: 100%;
  }

  .user-form-actions {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: 1fr;
  }

  .user-form-actions .primary-action-link,
  .user-form-cancel-link {
    width: 100%;
  }

  .users-admin-table {
    min-width: 64rem;
    table-layout: auto;
  }

  .admin-players-toolbar {
    align-items: stretch;
  }

  .admin-players-toolbar .page-action-primary {
    margin-left: 0;
    width: 100%;
  }

  .admin-players-toolbar .ui-button {
    width: 100%;
  }

  .admin-players-table {
    min-width: 42rem;
  }

  .overall-records-table-wrap {
    border-radius: 6px;
    box-shadow: none;
    overflow-x: hidden;
  }

  .overall-records-table {
    font-size: 0.84rem;
    min-width: 0;
    table-layout: fixed;
    width: 100%;
  }

  .overall-records-table th,
  .overall-records-table td {
    padding: 0.58rem 0.22rem;
  }

  .overall-records-table th:first-child,
  .overall-records-table td:first-child {
    width: 2.25rem;
  }

  .overall-records-table th:nth-child(2),
  .overall-records-table td:nth-child(2) {
    padding-left: 0.38rem;
    padding-right: 0.1rem;
    width: 34%;
  }

  .overall-records-table th:nth-child(3),
  .overall-records-table th:nth-child(4),
  .overall-records-table th:nth-child(5),
  .overall-records-table td:nth-child(3),
  .overall-records-table td:nth-child(4),
  .overall-records-table td:nth-child(5) {
    width: 2.35rem;
  }

  .overall-records-table th:nth-child(6),
  .overall-records-table td:nth-child(6) {
    width: 3rem;
  }

  .overall-records-header-label-full,
  .overall-records-team-name-full {
    display: none;
  }

  .overall-records-header-label-mobile,
  .overall-records-team-name-mobile {
    display: inline;
  }

  .overall-records-team-name-mobile {
    display: block;
  }

  .overall-records-team-link {
    gap: 0.35rem;
    max-width: 100%;
    width: 100%;
  }

  .overall-records-team-logo {
    height: 1.55rem;
    width: 1.55rem;
  }

  .overall-records-team-name-mobile {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .overall-records-sort-link {
    gap: 0.22rem;
    min-height: 1.25rem;
  }

  .overall-records-sort-link::after {
    border-left-width: 0.22rem;
    border-right-width: 0.22rem;
  }

  .overall-records-table th[aria-sort="ascending"] .overall-records-sort-link::after {
    border-bottom-width: 0.34rem;
  }

  .overall-records-table th[aria-sort="descending"] .overall-records-sort-link::after {
    border-top-width: 0.34rem;
  }

  .league-records-photo-frame {
    max-width: 18rem;
    width: 100%;
  }

  .super-bowl-champions-table {
    display: block;
    min-width: 0;
    overflow: visible;
    width: 100%;
  }

  .super-bowl-champions-table thead {
    display: none;
  }

  .super-bowl-champions-table tbody {
    display: block;
  }

  .super-bowl-champions-table tbody tr {
    align-items: start;
    display: grid;
    column-gap: 1.05rem;
    grid-template-columns: max-content minmax(0, 1fr);
  }

  .super-bowl-champions-table th,
  .super-bowl-champions-table td {
    border-bottom: 0;
    min-width: 0;
    white-space: normal;
  }

  .super-bowl-champions-table tbody tr {
    border-bottom: 3px solid #cbd5e1;
  }

  .super-bowl-champions-table td:first-child,
  .super-bowl-champions-table td:nth-child(2) {
    grid-row: 1;
  }

  .super-bowl-champions-table td:first-child {
    align-items: center;
    align-self: stretch;
    display: flex;
    font-size: 1.68rem;
    font-weight: 900;
    grid-column: 1;
    line-height: 1;
    padding-right: 0;
    width: auto;
  }

  .super-bowl-champions-table td:nth-child(2) {
    grid-column: 2;
    padding-left: 0;
    width: auto;
  }

  .super-bowl-champions-table td:nth-child(3) {
    grid-column: 1 / -1;
    grid-row: 2;
    padding-top: 0;
  }

  .super-bowl-champion-team {
    display: block;
    line-height: 1.1;
  }

  .super-bowl-champion-team span,
  .super-bowl-champion-owners {
    overflow-wrap: anywhere;
  }

  .super-bowl-banner-list {
    flex-wrap: nowrap;
    justify-content: flex-start;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 0.45rem;
    -webkit-overflow-scrolling: touch;
  }

  .super-bowl-banner {
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
  }

  .super-bowl-banner-frame {
    height: 10.95rem;
    padding: 0.38rem;
    width: 7.2rem;
  }

  .super-bowl-banner {
    padding: 0.56rem 0.47rem 0.69rem;
  }

  .super-bowl-banner-team {
    font-size: 1.16rem;
    margin-bottom: 0.3rem;
    min-height: 1.25rem;
  }

  .super-bowl-banner-team,
  .super-bowl-banner-word-art {
    transform: translate(var(--banner-word-art-mobile-offset-x, var(--banner-word-art-offset-x, 0)),
        var(--banner-word-art-mobile-offset-y, var(--banner-word-art-offset-y, 0)));
  }

  .super-bowl-banner-team-long {
    font-size: 0.99rem;
  }

  .super-bowl-banner-word-art {
    height: 1.25rem;
    margin-bottom: 0.3rem;
  }

  .super-bowl-banner-logo {
    height: 3.66rem;
    margin-bottom: 0.3rem;
    transform: translate(var(--banner-logo-mobile-offset-x, var(--banner-logo-offset-x, 0)),
        var(--banner-logo-mobile-offset-y, var(--banner-logo-offset-y, 0)));
    width: 4.64rem;
  }

  .super-bowl-banner-logo img {
    height: 3.66rem;
    width: 4.64rem;
  }

  .super-bowl-banner-title {
    font-size: 0.96rem;
    margin-bottom: 0.3rem;
  }

  .super-bowl-banner-title-year {
    transform: translate(var(--banner-title-year-mobile-offset-x, var(--banner-title-year-offset-x, 0)),
        var(--banner-title-year-mobile-offset-y, var(--banner-title-year-offset-y, 0)));
  }

  .super-bowl-banner-year {
    font-size: 1.16rem;
  }

  .super-bowl-banner-tlfl-logo {
    height: 1.16rem;
    transform: translate(var(--banner-tlfl-logo-mobile-offset-x, var(--banner-tlfl-logo-offset-x, 0)),
        var(--banner-tlfl-logo-mobile-offset-y, var(--banner-tlfl-logo-offset-y, 0)));
    width: 1.59rem;
  }
}

@media (max-width: 480px) {
  :root {
    --tlfl-page-gutter: 0.55rem;
  }

  body {
    padding: var(--tlfl-page-gutter);
  }

  h1 {
    margin-bottom: 1rem;
  }

  .global-nav {
    padding: 0.16rem var(--tlfl-page-gutter);
  }

  .global-nav-menu-toggle {
    height: 2.55rem;
    width: 2.55rem;
  }

  #draft_live_content {
    --draft-sticky-clock-top: 3.35rem;
  }

  #draft_live_content.draft-live-content-viewer {
    --draft-sticky-clock-top: 3.04rem;
  }

  .score-ticker-game {
    flex-basis: 7.3rem;
  }

  .score-ticker-scroll {
    flex-basis: 1.65rem;
    width: 1.65rem;
  }

  .article-card::after,
  .article-hero::after {
    background: linear-gradient(180deg, rgb(0 0 0 / 0.08) 0%, rgb(0 0 0 / 0.78) 100%);
  }

  .article-card-overlay,
  .article-hero-overlay {
    padding: 0.85rem;
  }

  .draft-preview-pick-list li {
    grid-template-columns: 1fr;
  }

  .scores-week-selector:not([data-scores-matchups-target="weekTrack"]),
  .standings-tabs {
    margin-left: -0.55rem;
    margin-right: -0.55rem;
    padding-left: 0.55rem;
    padding-right: 0.55rem;
  }

  .scores-team-identity img {
    height: 1.65rem;
    width: 1.65rem;
  }

  .scores-team-identity span {
    font-size: 0.94rem;
  }

  .scores-rosters {
    padding: 0.55rem;
  }

  .standings-table {
    min-width: 38rem;
  }

  .player-profile-media {
    min-height: 9.5rem;
  }

  .tlfl-team-profile-media {
    height: 4.15rem;
    min-height: 4.15rem;
  }

  .player-profile-stat-grid,
  .player-modal-content .player-profile-stat-grid {
    gap: 0.45rem 0;
    padding-left: 0.45rem;
    padding-right: 0.45rem;
  }

  .player-profile-stat strong,
  .player-modal-content .player-profile-stat strong {
    font-size: 1.55rem;
  }

  .tlfl-team-roster-table {
    padding: 0.5rem;
  }

  .tlfl-team-roster-table tbody tr,
  .tlfl-team-roster-table tbody tr:nth-child(even) {
    grid-template-columns: 3.35rem minmax(0, 1fr);
    padding: 0.48rem;
  }

  .tlfl-team-mobile-card-grid {
    grid-template-columns: 2.65rem 1.55rem minmax(0, 1fr) 1.38rem;
  }

  .tlfl-team-player-headshot-frame,
  .tlfl-team-player-headshot-spacer {
    height: 3rem;
    width: 3rem;
  }

  .tlfl-team-player-points-cell,
  .tlfl-team-player-replacement-cell,
  .tlfl-team-player-mobile-details-grid strong {
    font-size: 0.8rem;
  }

  .nfl-team-card,
  .updates-panel,
  .home-panel,
  .draft-preview,
  .article-detail,
  .user-auth-page,
  .user-profile,
  .user-admin-form-page {
    padding: 0.75rem;
  }

  .tlfl-teams-card {
    padding: 0;
  }

  .draft-countdown-team {
    align-items: flex-start;
  }

  .draft-countdown-team img {
    height: 3rem;
    width: 3rem;
  }

  .draft-recent-pick {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .draft-recent-pick-images {
    grid-column: 1;
  }

  .draft-recent-pick-player {
    grid-column: 2;
  }

  .player-modal-content {
    padding: 0.55rem;
  }

  .super-bowl-champions-table {
    min-width: 0;
  }

  .super-bowl-champions-table tbody tr {
    column-gap: 0.95rem;
    grid-template-columns: max-content minmax(0, 1fr);
  }

  .super-bowl-champions-table th,
  .super-bowl-champions-table td {
    padding: 0.55rem;
  }

  .super-bowl-champions-table td:first-child {
    font-size: 1.56rem;
    padding-right: 0;
  }

  .super-bowl-champions-table td:nth-child(2) {
    padding-left: 0;
  }

  .super-bowl-banner-frame {
    height: 9.95rem;
    padding: 0.34rem;
    width: 6.55rem;
  }

  .super-bowl-banner {
    padding: 0.51rem 0.43rem 0.62rem;
  }

  .super-bowl-banner-team {
    font-size: 1.05rem;
    margin-bottom: 0.27rem;
    min-height: 1.13rem;
  }

  .super-bowl-banner-team-long {
    font-size: 0.9rem;
  }

  .super-bowl-banner-word-art {
    height: 1.13rem;
    margin-bottom: 0.27rem;
  }

  .super-bowl-banner-logo {
    height: 3.32rem;
    margin-bottom: 0.27rem;
    width: 4.21rem;
  }

  .super-bowl-banner-logo img {
    height: 3.32rem;
    width: 4.21rem;
  }

  .super-bowl-banner-title {
    font-size: 0.87rem;
    margin-bottom: 0.27rem;
  }

  .super-bowl-banner-year {
    font-size: 1.05rem;
  }

  .super-bowl-banner-tlfl-logo {
    height: 1.05rem;
    width: 1.44rem;
  }
}
