/* Shared keyboard access and touch controls. */
.skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.75rem;
  left: 1rem;
  padding: 0.8rem 1rem;
  color: white;
  background: var(--navy);
  border-radius: 0.5rem;
  transform: translateY(-200%);
}

.skip-link:focus { transform: none; }
#main-content:focus { outline: none; }

input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}

@supports selector(label:has(input:focus-visible)) {
  .checkbox-field input:focus-visible,
  .campaign-audience-option input:focus-visible,
  .campaign-recipient-option input:focus-visible {
    outline: none;
  }
}

:where(input, select, textarea, button, a, summary, [tabindex]) {
  scroll-margin-block: 8rem;
}

.poolwide-picks-scroll-button,
.pick-sheet-submission-close,
.standings-modal-close {
  width: 2.75rem;
  height: 2.75rem;
}

@media (any-pointer: coarse), (max-width: 64rem) {
  .button,
  .pick-sheet-actions .button,
  .pick-sheet-autopick-button,
  .pick-sheet-entry-switcher-link,
  .survivor-count-option,
  .poolwide-week-field select,
  .site-header nav .nav-profile-link,
  .site-header .mobile-nav-profile .nav-profile-link,
  .poolwide-picks-sort-button,
  .pagination-page,
  .confidence-select:not([multiple]),
  .admin-survivor-entry-list .button,
  .pool-operation-button,
  .campaign-delete-form .button.danger,
  .pool-overview-action {
    min-height: 2.75rem;
    min-width: 2.75rem;
  }

  .checkbox-field { padding-block: 0.65rem; }
  .nav-admin-menu summary { min-height: 2.75rem; }
}


/* These controls use a filled keyboard cue instead of a focus frame. */
a.standings-username-link:focus,
a.poolwide-username-link:focus {
  outline: none;
  box-shadow: none;
}

a.standings-username-link,
a.poolwide-username-link {
  -webkit-tap-highlight-color: transparent;
}

a.standings-username-link:focus-visible,
a.poolwide-username-link:focus-visible,
.poolwide-picks-table tbody tr.is-current-account .poolwide-username-link:focus-visible,
.standings-card tbody tr.is-current-username a.standings-username-link:focus-visible {
  background-color: #d9e9e0;
  color: var(--navy);
  border-radius: 0.2rem;
}

@media (max-width: 48rem) {
  .site-header.mobile-nav-open [data-mobile-nav-target="menu"] :is(a, button, summary) {
    color: #ffffff;
    background: transparent;
    outline: none;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
  }

  .site-header.mobile-nav-open [data-mobile-nav-target="menu"] .nav-admin-menu-panel a {
    color: #e5eaf0;
  }

  .site-header.mobile-nav-open [data-mobile-nav-target="menu"] .mobile-nav-logout {
    color: var(--danger-dark);
    background: var(--danger-soft);
    border-color: #fecaca;
  }
}

@media screen and (max-width: 48rem) {
  .pick-sheet-print-button { display: none; }
}

a.standings-username-link.is-pointer-restored:focus-visible,
a.poolwide-username-link.is-pointer-restored:focus-visible,
.poolwide-picks-table tbody tr.is-current-account .poolwide-username-link.is-pointer-restored:focus-visible,
.standings-card tbody tr.is-current-username a.standings-username-link.is-pointer-restored:focus-visible {
  background-color: transparent;
  color: inherit;
}
