/* Page-scoped CSS for download.css, lifted verbatim out of the inline <style> block
   download.html carried (#7007). A plain file rather than an inline block or a
   .razor.css: the selectors below use sibling and descendant combinators that
   Blazor's CSS isolation rewriter would silently change the meaning of, and a
   file caches while an inline block is re-sent with every page. */

  /* Page-local layout only. Every colour comes from the design system's tokens
     (assets/saascade.css) — nothing here invents one, so the page follows the
     visitor's light/dark setting exactly as the rest of the site does. */
  .page-head{padding:var(--space-2xl) 0 var(--space-lg)}
  .dl-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-md) 0 0}
  .dl-buttons .btn{flex:1 1 15rem;justify-content:flex-start}
  .dl-extra{margin:var(--space-sm) 0 0;color:var(--muted);font-size:var(--step--1)}
  .dl-extra a{font-weight:var(--weight-label)}
  .checksums{width:100%;border-collapse:collapse;margin:var(--space-sm) 0 0;font-size:var(--step--1)}
  .checksums th,.checksums td{text-align:left;vertical-align:top;padding:.4rem .8rem .4rem 0;
    border-bottom:1px solid var(--border)}
  .checksums th{color:var(--text-strong);font-weight:var(--weight-heading);white-space:nowrap}
  .checksums td.hash{font-family:var(--mono);font-size:var(--font-size-mono);color:var(--muted);
    word-break:break-all}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .os-steps{margin:var(--space-md) 0 0}
  .os-steps h3{margin-top:var(--space-md)}
  .note-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);
    padding:var(--space-md);margin:var(--space-md) 0 0}
  .note-card > :last-child{margin-bottom:0}
  .stream-explain{max-width:var(--measure);margin-top:var(--space-md)}
  .kbd{font-family:var(--mono);font-size:var(--font-size-mono);color:var(--text-strong)}
  main .section{padding:var(--space-xl) 0}
  /* The shared nav collapses to a burger only at 760px; with seven links it
     overflows between 760 and ~900, so it wraps instead of pushing the page
     sideways. Page-local because the design system is shared with pages this
     ticket does not touch. */
  @media (max-width:980px){
    .nav-inner{height:auto;padding:.5rem 0;flex-wrap:wrap}
    .nav-links{flex-wrap:wrap;justify-content:flex-end}
  }

/* --- the SHA-256 beside each download button (#7019) --------------------
   Rendered by the server from the same manifest entry as the button above it. */
.installer-hash{margin:.35rem 0 1rem;max-width:100%}
.installer-hash-line{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0}
.installer-hash-label{font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.installer-hash-line code{overflow-wrap:anywhere;font-size:var(--font-size-mono);color:var(--text-strong)}
.installer-hash-verify,.installer-hash-scan{margin:.25rem 0 0;font-size:var(--step--1);color:var(--muted)}
table.checksums td code{overflow-wrap:anywhere;font-size:var(--font-size-mono)}


/* --- "What is in Stable today" (#7040) -----------------------------------
   Thirty-odd short titles, derived from the feature catalogue. Columns rather
   than one long stack, because the point of the list is that a reader sees how
   much is in there at a glance rather than reading it end to end. */
.stable-today-list{list-style:none;padding:0;margin:var(--space-md) 0 var(--space-sm);
  columns:3 14rem;column-gap:var(--space-lg)}
.stable-today-list li{break-inside:avoid;padding:.25rem 0 .25rem 1.1rem;position:relative;
  font-size:var(--step--1)}
.stable-today-list li::before{content:"\2713";position:absolute;left:0;color:var(--ok)}
