/* Skip link + utility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:.5rem;z-index:100}
.skip-link:focus{top:0}

/* High-contrast default palette */
html, body { background:#000; color:#fff; }
a { color:#0ff; text-decoration:underline; }
a:focus, button:focus, input:focus { outline:2px solid currentColor; outline-offset:2px; }

/* Tables */
table { width:100%; border-collapse:collapse; }
th, td { border:2px solid #fff; padding:.5rem; text-align:left; }
caption { text-align:left; font-weight:600; margin-bottom:.5rem; }

/* Header/footer neutral backgrounds */
.site-header, .site-footer { background:#000; border-color:#fff; }

/* Remove any leftover theme toggle styles if they existed */
.theme-toggle, .theme-toggle-checkbox { display:none !important; }

/* Make inline nav breathe a bit */
.site-nav .page-link { margin-left:1rem; }
/* Nav as a semantic list, one link per line */
.nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-list li {
  margin: .25rem 0;        /* vertical spacing */
}
.nav-list a {
  display: block;          /* each link on its own "line" for arrowing */
}

/* If you want them to lay out horizontally on wide screens, uncomment: */
@media (min-width: 800px) {
  .nav-list { display: flex; gap: 1rem; }
  .nav-list li { margin: 0; }
  .nav-list a { display: inline-block; }
}

/* Next net section */
.home-next-nets {
  border: 2px solid #fff;
  padding: 1.5rem;
  margin: 2rem 0;
  background: #111;
}

.home-next-nets h2,
.home-next-nets h3,
.home-next-nets h4,
.home-next-nets h5 {
  margin-top: 1rem;
  margin-bottom: .5rem;
}

.next-net-card,
.next-net-item {
  border: 2px solid #444;
  padding: 1rem;
  margin-top: 1rem;
  background: #000;
}

.next-net-meta {
  margin: .5rem 0 1rem;
}

.next-net-label {
  display: inline-block;
  font-weight: 600;
  margin-right: .5rem;
}

.next-net-duration,
.next-net-tz {
  margin-left: .5rem;
}

.next-net-accordion {
  margin-top: 1.5rem;
}

.next-net-accordion summary {
  cursor: pointer;
  font-weight: 600;
}

.next-net-accordion summary:focus {
  outline: 2px solid currentColor;
  outline-offset: .2rem;
}

.next-net-accordion-body {
  margin-top: 1rem;
}

.home-week-nets {
  border: 0;
  padding: 0;
  background: transparent;
}

.home-week-nets .nets-header {
  margin-bottom: 1rem;
}

.home-week-nets table {
  background: #000;
}

/* Live indicator for in-progress nets */
.next-net-live {
  color: #26ff26; /* high-contrast green */
  font-weight: 700;
  margin-left: .35rem;
}

.week-empty-message {
  margin: 0 0 1rem;
  font-style: italic;
}

.week-category-filter {
  border: 2px solid #444;
  padding: 1rem;
  margin: 1rem 0;
  background: #000;
}

.week-category-filter legend {
  font-weight: 600;
}

.week-category-options {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
}

.week-category-option {
  display: flex;
  align-items: center;
  gap: .25rem;
}

.week-category-actions {
  margin-top: .75rem;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}

.week-category-actions button {
  background: #111;
  color: #fff;
  border: 2px solid #fff;
  padding: .25rem .75rem;
  cursor: pointer;
}

.week-category-actions button:hover {
  background: #222;
}

.week-category-actions button:focus {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* News pager */
.news-section { border: 2px solid #444; padding: 1rem; margin: 2rem 0; background: #000; }
.pager-toolbar { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: .75rem; }
.pager-toolbar label, .pager-label { font-weight: 600; }
.pager-toolbar select { background:#111; color:#fff; border:2px solid #fff; padding:.25rem .5rem; }
.pager-nav { display: inline-flex; align-items: center; gap: .25rem; }
.pager-nav button { background:#111; color:#fff; border:2px solid #fff; padding:.25rem .5rem; cursor:pointer; }
.pager-nav button[disabled] { opacity:.5; cursor: default; }
.pager-nav [data-pager-pages] { display:inline-flex; gap:.25rem; margin: 0 .25rem; }
.pager-help { margin-top: .25rem; font-size: .9rem; color:#ccc; }

/* Pager size button group */
.pager-size-buttons { display: inline-flex; gap: .25rem; }
.pager-size-buttons button { background:#111; color:#fff; border:2px solid #fff; padding:.25rem .5rem; cursor:pointer; }
.pager-size-buttons button[aria-pressed="true"] { background:#fff; color:#000; }

/* Pager search */
.pager-search { display:flex; gap:.5rem; align-items:center; margin:.5rem 0 1rem; flex-wrap:wrap; }
.pager-search input[type="search"] { background:#111; color:#fff; border:2px solid #fff; padding:.25rem .5rem; min-width: 16rem; }
.pager-search button { background:#111; color:#fff; border:2px solid #fff; padding:.25rem .5rem; cursor:pointer; }

/* Category filter */
.pager-cats { display:flex; gap:.5rem; align-items:center; margin:.25rem 0 1rem; flex-wrap:wrap; }
.pager-cats select { background:#111; color:#fff; border:2px solid #fff; padding:.25rem .5rem; }
.pager-cats button { background:#111; color:#fff; border:2px solid #fff; padding:.25rem .5rem; cursor:pointer; }
.pager-cat-active { display:flex; gap:.5rem; flex-wrap:wrap; }
.pager-cat-chip { background:#fff; color:#000; border:2px solid #fff; padding:.15rem .5rem; }

/* Responsive tweaks for mobile / large type use */
.view-toggle {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.75rem;
}
.view-toggle button,
.view-toggle .time-utc-toggle {
  flex: 1 1 auto;
  min-width: 8rem;
}
.view-toggle .time-utc-toggle {
  text-align: left;
}
.next-net-card,
.next-net-item,
.net-desc,
.home-next-nets,
.nets-section,
.home-week-nets {
  word-break: break-word;
}
.home-week-nets .view-table,
.nets-section .view-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.home-week-nets table,
.nets-section table {
  min-width: 100%;
}
@media (max-width: 720px) {
  body {
    line-height: 1.6;
  }
  .nets-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .view-toggle button,
  .view-toggle .time-utc-toggle {
    min-width: 0;
  }
  .view-toggle {
    width: 100%;
  }
  .home-next-nets,
  .nets-section {
    padding: 1.25rem;
  }
}

/* UTC add-on chip and toggle label */
.next-net-utc { color:#aaa; }
.time-utc-toggle { margin-left:.75rem; }
.pager-cat-chip button { margin-left:.35rem; background:#111; color:#fff; border:2px solid #fff; padding:.1rem .35rem; cursor:pointer; }

/* Subtle timestamp for data freshness */
.data-updated {
  font-size: 0.85rem;
  color: #ccc;
  margin-top: 0.5rem;
}

/* Contextual spacing within common blocks */
.home-next-nets .data-updated,
.next-net-card-block .data-updated,
.nco-table-container .data-updated {
  margin-top: 0.75rem;
  display: block;
}

/* Diagnostic helper (visible, high-contrast, small) */
.data-diag {
  margin-top: .35rem;
  padding: .25rem .5rem;
  border: 2px dashed #0ff;
  color: #0ff;
  background: #001b1b;
  font-size: .9rem;
}
