:root { color-scheme: dark; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #04080f; color: #eaf0fa; font-family: Sora, system-ui, sans-serif; font-size: 16px; line-height: 1.6; }
a { color: #7fb0ff; text-decoration: none; }
a:hover { color: #b8d3ff; }
a:focus-visible, button:focus-visible, select:focus-visible, summary:focus-visible { outline: 2px solid #8fd0ff; outline-offset: 2px; }
code { font-family: 'JetBrains Mono', monospace; font-size: .92em; color: #c9d3e3; }
table { border-collapse: collapse; width: 100%; font-size: 14px; }
th, td { padding: 12px 16px; text-align: left; border-bottom: 1px solid #142036; vertical-align: top; }
th { font-weight: 600; color: #8d9bb3; font-size: 13px; }

/* Collapsible rows */
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }
.chev { flex: 0 0 18px; transition: transform .15s; }
details[open] .chev { transform: rotate(180deg); }

/* Segmented controls (rank by, system): the same weight in both states, so nothing moves */
.seg button { min-height: 44px; padding: 0 18px; border: 0; background: #0a1322; color: #c9d3e3; font: inherit; font-weight: 600; cursor: pointer; }
.seg button[aria-pressed="true"] { background: #3b82ff; color: #04080f; }

/* Grids that only take column counts their item count fills */
.feature-grid { grid-template-columns: 1fr; }
.measure-grid { grid-template-columns: 1fr; }
@media (min-width: 560px) {
  .feature-grid, .measure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .feature-grid, .measure-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.nav-links { margin-left: auto; }
.bench-phone { display: none; }

/* Tablets: the benchmark table without its chart column. The full table needs 1094px plus a scrollbar (up to 17px). */
@media (min-width: 720px) and (max-width: 1119px) {
  .bench-inner { min-width: 0 !important; }
  .bench-grid { grid-template-columns: minmax(240px, 1.6fr) repeat(6, minmax(56px, 1fr)) !important; column-gap: 10px !important; }
  .bench-chart, .bench-axis { display: none !important; }
}

/* Phones */
@media (max-width: 719px) {
  .nav-links { order: 3; width: 100%; margin-left: 0 !important; justify-content: space-between; column-gap: 12px !important; }
  .nav-dl { margin-left: auto; }
  .coin-name { flex: 1 0 100% !important; max-width: none !important; }
  .coin-algo { flex: 0 0 auto !important; }
  .coin-hw { flex: 1 0 100% !important; }
  .seg-wrap { width: 100%; }
  .seg { flex-wrap: nowrap !important; }
  .seg button { flex: 1 1 auto; padding: 0 8px !important; font-size: 14px !important; white-space: nowrap; }
  .hv-label { flex: 1 0 100% !important; }
  .hv-val { flex: 1 1 0 !important; min-width: 0; }
  .bench-desk { display: none !important; }
  .bench-phone { display: block !important; }
}

/* Download cards: both buttons on one row, even the HiveOS card's longer pair */
.dl-btns a, .dl-btns button { padding: 0 14px !important; font-size: 15px !important; }
