:root {
  color-scheme:light dark;
  --bg:#f5f6f8;
  --surface:#fff;
  --ink:#17202d;
  --muted:#596473;
  --line:#dce1e8;
  --accent:#075fb4;
  --soft:#edf1f6;
  --card:#142335;
  --card-muted:#bcc9d8;
  --blue:#cce5ff;
  --max:1180px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit
}
a:focus-visible,summary:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:5px;
  border-radius:3px
}
a,summary {
  -webkit-tap-highlight-color:transparent
}
.container {
  width:min(calc(100% - 80px),var(--max));
  margin-inline:auto
}
.skip {
  position:absolute;
  inset-inline-start:24px;
  top:-100px;
  padding:12px 18px;
  background:var(--ink);
  color:var(--bg);
  z-index:10
}
.skip:focus {
  top:12px
}
.site-header {
  border-bottom:1px solid var(--line)
}
.nav {
  min-height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  font-size:18px;
  font-weight:650;
  letter-spacing:-.03em
}
.brand img {
  display:block
}
.nav-links {
  display:flex;
  gap:32px
}
.nav-links a {
  padding-block:12px;
  text-decoration:none;
  font-size:14px;
  color:var(--muted)
}
.nav-links a:hover,.quiet-link:hover,.footer a:hover {
  color:var(--accent)
}
.breadcrumb {
  display:flex;
  gap:14px;
  padding-top:34px;
  font-size:12px;
  color:var(--muted)
}
.breadcrumb a {
  text-decoration:none
}
.breadcrumb>span:last-child {
  color:var(--ink)
}
.hero {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:80px;
  align-items:center;
  padding:66px 0 92px
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 24px;
  color:var(--accent);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em
}
.line {
  width:24px;
  height:1px;
  background:currentColor
}
h1 {
  font-size:clamp(48px,5.2vw,72px);
  line-height:1.06;
  letter-spacing:-.06em;
  font-weight:550;
  margin:0 0 27px
}
h1 em {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  letter-spacing:-.055em;
  color:var(--accent)
}
.intro {
  color:var(--muted);
  font-size:17px;
  line-height:1.8;
  margin:0 0 38px
}
.quiet-link {
  display:inline-flex;
  gap:24px;
  align-items:center;
  text-underline-offset:6px;
  font-size:14px;
  font-weight:550
}
.latest-card {
  position:relative;
  overflow:hidden;
  background:linear-gradient(125deg,#152b43,#111d2d);
  color:#fff;
  padding:34px 36px 24px;
  border:1px solid #31445a;
  border-radius:18px;
  box-shadow:0 22px 48px -25px #13233770
}
.latest-card:before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 100% 0,#37618835,transparent 65%);
  pointer-events:none
}
.latest-card>* {
  position:relative
}
.card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:28px
}
.latest-label {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#d7e7f7
}
.status-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--blue)
}
.platform-mark {
  width:25px;
  height:25px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3px;
  opacity:.75
}
.platform-mark i {
  background:#d0e7fd
}
.card-kicker {
  color:var(--card-muted);
  font-size:13px;
  margin:0 0 4px
}
.release-title h2 {
  font-size:36px;
  line-height:1.2;
  font-weight:550;
  letter-spacing:-.045em;
  margin:0 0 10px
}
.release-title>p:last-child {
  font-size:13px;
  color:var(--card-muted);
  margin:0
}
.release-meta {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:28px 0 26px;
  padding-top:23px;
  border-top:1px solid #ffffff20
}
.release-meta dt {
  font-size:11px;
  color:var(--card-muted);
  margin-bottom:4px
}
.release-meta dd {
  margin:0;
  font-size:14px;
  font-weight:550
}
.download-button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:54px;
  padding:14px 20px;
  text-decoration:none;
  border:1px solid #d5eaff;
  border-radius:8px;
  background:var(--blue);
  color:#142335;
  font-size:14px;
  font-weight:650;
  transition:background .15s,box-shadow .15s
}
.download-button:hover {
  background:#e7f3ff;
  box-shadow:0 3px 16px #0002
}
.latest-card a:focus-visible,.latest-card summary:focus-visible {
  outline-color:#cce5ff
}
.compatibility {
  text-align:center;
  color:var(--card-muted);
  font-size:11px;
  margin:12px 0 20px
}
.checksum {
  border-top:1px solid #ffffff20
}
.checksum summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:44px;
  cursor:pointer;
  color:#d7e7f7;
  font-size:12px
}
.checksum summary::-webkit-details-marker,.legacy-aliases summary::-webkit-details-marker {
  display:none
}
.checksum[open] summary>span,.legacy-aliases[open] summary>span>span {
  transform:rotate(45deg)
}
.checksum-content {
  padding-bottom:8px
}
.checksum-content p {
  font-size:12px;
  color:var(--card-muted);
  margin:4px 0 10px
}
.checksum-content code {
  display:block;
  padding:12px;
  background:#ffffff09;
  border:1px solid #ffffff18;
  border-radius:6px;
  font:11px/1.8 ui-monospace,monospace;
  overflow-wrap:anywhere;
  color:#d7e7f7;
  user-select:all
}
.checksum-content a {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:44px;
  color:#d7e7f7;
  font-size:12px;
  text-underline-offset:4px
}
.archive-section {
  border-top:1px solid var(--line);
  padding:48px 0 64px
}
.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:32px
}
.section-heading .eyebrow {
  margin-bottom:12px;
  font-size:10px
}
.section-heading h2 {
  font-size:32px;
  line-height:1.2;
  letter-spacing:-.045em;
  font-weight:550;
  margin:0
}
.section-heading h2>span {
  color:var(--accent)
}
.section-heading>p {
  margin:0;
  color:var(--muted);
  font-size:13px
}
.archive-table-wrap {
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:var(--surface)
}
.archive-table {
  width:100%;
  border-collapse:collapse;
  text-align:start
}
.archive-table th {
  text-align:start
}
.archive-table thead th {
  background:var(--soft);
  font-size:10px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  padding:14px 24px
}
.archive-table tbody th,.archive-table tbody td {
  padding:22px 24px;
  border-top:1px solid var(--line);
  font-weight:400
}
.version-number {
  display:block;
  font-size:18px;
  font-weight:600;
  line-height:1.3;
  letter-spacing:-.02em
}
.build-date {
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:5px
}
.package-type {
  display:block;
  font-size:13px;
  font-weight:500
}
.legacy-label {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:2px
}
.file-size {
  font-size:12px;
  color:var(--muted);
  white-space:nowrap
}
.row-actions {
  display:flex;
  align-items:center;
  justify-content:end;
  gap:22px
}
.archive-download {
  display:inline-flex;
  align-items:center;
  gap:17px;
  min-height:40px;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  color:var(--accent)
}
.archive-download:hover {
  text-decoration:underline;
  text-underline-offset:5px
}
.hash-link {
  display:flex;
  align-items:center;
  min-height:40px;
  font-size:10px;
  color:var(--muted);
  text-underline-offset:4px
}
.legacy-aliases {
  margin-top:20px;
  border-bottom:1px solid var(--line);
  font-size:12px;
  color:var(--muted)
}
.legacy-aliases summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:18px 0;
  color:var(--muted)
}
.legacy-aliases summary>span {
  display:flex;
  gap:20px
}
.legacy-aliases p {
  max-width:630px;
  margin-top:0
}
.legacy-aliases ul {
  list-style:none;
  padding:0;
  margin:0 0 18px
}
.legacy-aliases li {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid var(--line)
}
.legacy-aliases li>a:first-child {
  overflow-wrap:anywhere;
  flex:1;
  min-width:180px
}
.legacy-aliases li a {
  text-underline-offset:4px
}
.support-strip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:29px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.support-strip>div {
  display:flex;
  align-items:center;
  gap:20px
}
.support-icon {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:50%;
  font-size:20px;
  color:var(--accent)
}
.support-strip h2 {
  font-size:15px;
  letter-spacing:-.02em;
  margin:0 0 3px;
  font-weight:600
}
.support-strip p {
  font-size:12px;
  color:var(--muted);
  margin:0
}
.support-strip>a {
  display:inline-flex;
  align-items:center;
  gap:24px;
  min-height:44px;
  font-size:12px;
  font-weight:600;
  text-underline-offset:5px
}
.footer {
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  justify-content:space-between;
  align-items:center;
  padding-block:28px 42px;
  font-size:10px;
  color:var(--muted)
}
.footer p {
  margin:0
}
.footer a {
  text-underline-offset:4px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.empty-state {
  padding-block:30px;
  color:var(--muted)
}
@media(prefers-color-scheme:dark) {
  :root {
    --bg:#0e151f;
    --surface:#141e2b;
    --ink:#eef2f7;
    --muted:#abb6c6;
    --line:#2c3848;
    --accent:#98caff;
    --soft:#192536
  }
  .brand img {
    filter:brightness(1.7)
  }
  .latest-card {
    box-shadow:0 22px 48px -25px #000;
    border-color:#42556b
  }
}
@media(max-width:1000px) {
  .hero {
    gap:38px
  }
  .latest-card {
    padding:28px
  }
  .archive-table tbody th,.archive-table tbody td,.archive-table thead th {
    padding-inline:18px
  }
  .row-actions {
    gap:16px
  }
}
@media(max-width:740px) {
  .container {
    width:calc(100% - 40px)
  }
  .nav {
    min-height:76px;
    gap:16px
  }
  .brand {
    font-size:15px;
    gap:8px
  }
  .brand img {
    width:24px;
    height:24px
  }
  .nav-links {
    gap:16px
  }
  .nav-links a {
    font-size:12px
  }
  .nav-links a:last-child {
    display:none
  }
  .breadcrumb {
    padding-top:24px
  }
  .hero {
    grid-template-columns:1fr;
    gap:38px;
    padding:42px 0 48px
  }
  .hero-copy {
    max-width:500px
  }
  h1 {
    font-size:clamp(44px,9vw,64px)
  }
  .intro {
    font-size:15px;
    max-width:440px;
    margin-bottom:24px
  }
  .desktop-break {
    display:none
  }
  .latest-card {
    padding:28px 26px 18px
  }
  .latest-card .release-title h2 {
    font-size:32px
  }
  .section-heading {
    align-items:start;
    flex-direction:column;
    gap:14px
  }
  .section-heading h2 {
    font-size:29px
  }
  .section-heading>p br {
    display:none
  }
  .archive-section {
    padding:34px 0 40px
  }
  .archive-table thead {
    display:none
  }
  .archive-table,.archive-table tbody {
    display:block
  }
  .archive-table tr {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px 12px;
    padding:20px
  }
  .archive-table tr+tr {
    border-top:1px solid var(--line)
  }
  .archive-table tbody th,.archive-table tbody td {
    display:block;
    padding:0;
    border:0
  }
  .archive-table tbody th {
    grid-column:1;
    grid-row:1
  }
  .archive-table tbody td:nth-child(2) {
    grid-column:1;
    grid-row:2;
    display:flex;
    align-items:center;
    gap:8px
  }
  .legacy-label {
    margin-top:0
  }
  .archive-table tbody td:nth-child(3) {
    grid-column:2;
    grid-row:1;
    text-align:end;
    padding-top:3px
  }
  .archive-table tbody td:nth-child(4) {
    grid-column:1/-1;
    grid-row:3
  }
  .row-actions {
    justify-content:start;
    gap:28px;
    margin-top:6px
  }
  .build-date {
    font-size:11px
  }
  .archive-download,.hash-link {
    min-height:44px
  }
  .support-strip {
    align-items:start;
    flex-direction:column;
    gap:14px;
    padding-block:24px
  }
  .support-strip>a {
    margin-inline-start:62px
  }
  .footer {
    gap:14px;
    padding-bottom:28px
  }
  .footer>p:nth-child(2) {
    order:3;
    width:100%
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  * {
    transition:none!important
  }
}
@media(prefers-contrast:more) {
  :root {
    --muted:var(--ink)
  }
  .latest-card {
    --card-muted:#fff
  }
  .archive-table-wrap,.support-strip,.site-header {
    border-color:var(--ink)
  }
}
/* Per-platform downloads retain the same card vocabulary as the original archive. */
.hero { grid-template-columns:1fr; padding-bottom:32px; }
.platform-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:56px; }
.platform-grid .latest-card { min-width:0; padding:28px 24px 18px; }
.platform-grid .latest-card h2 { font-size:28px; }
@media(max-width:1000px) { .platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:740px) { .platform-grid { grid-template-columns:1fr; } }
