/* Shared download catalog additions; the landing-page design stays in styles.css. */
.release-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.release-grid .download-card { min-width: 0; scroll-margin-top: 2rem; }
.release-grid .download-card > h3 { min-height: 2.8em; }
.download-actions { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; margin-top: .75rem; }
.release-grid .download-actions { min-height: calc(96px + .6rem); }
.download-details { margin-top: 1.25rem; }
.download-details .release-meta { margin-block: 0 .65rem; }
.release-grid .download-card:target { outline: 3px solid var(--gold); outline-offset: 4px; }
.release-page { padding-block: 3rem; }
.release-page h1 { font-family: var(--serif); font-size: clamp(2.3rem, 5vw, 3.5rem); font-weight: 400; line-height: 1.15; }
.release-page > p { margin-block: 1.5rem; max-width: 48rem; }
.release-series { max-width: 54rem; margin-block: 2.5rem; }
.release-series p, .release-series ul { margin-block: .85rem; }
.release-series ul { padding-left: 1.5rem; list-style: disc; }
.release-series li + li { margin-top: .6rem; }
.series-label { color: var(--muted); font-size: .85rem; }
.release-page .release-grid { margin-block: 2rem; }
.experimental-notice { max-width: 48rem; margin-block: 2rem; padding: 1.5rem; border-left: 3px solid var(--gold-ink); background: var(--sage-mist); }
.experimental-notice h2 { font-family: var(--sans); font-size: 1.1rem; font-weight: 600; letter-spacing: normal; }
.experimental-notice p { margin-top: .75rem; }
.download-primary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex: 0 0 auto; width: min(13.5rem, 100%); min-width: 0; min-height: 48px; margin-top: 0; padding: .5rem .6rem; border-radius: 3px; background: var(--paper); color: var(--deep-teal); font-size: .95rem; font-weight: 600; line-height: 1.2; text-align: left; overflow-wrap: anywhere; text-decoration: none; }
.download-primary:hover { background: var(--gold); color: var(--deep-teal); }
.store-browser-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .75rem; }
.download-card .store-browser-link { color: var(--paper); }
.installer-meta { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
.installer-meta .store-browser-link { min-height: 0; font-size: inherit; white-space: nowrap; }
.checksum, .checksum:last-child { border: 0; font-size: .68rem; margin-block: .35rem; }
.checksum summary { display: inline-flex; align-items: center; gap: .4rem; min-height: 36px; padding: .35rem .15rem; color: var(--inverse-muted); font-size: inherit; font-weight: 400; }
.checksum summary::after { position: static; font-size: .8rem; color: inherit; }
.checksum summary:hover { color: var(--porcelain); }
.checksum code { display: block; overflow-wrap: anywhere; margin-top: .25rem; color: var(--inverse-muted); }
.checksum summary:focus-visible { outline-color: var(--gold); }
.installation { max-width: 48rem; margin-top: 3rem; }
.installation h3 { margin-top: 1.5rem; }
.installation p { margin-top: .65rem; }
.release-entry { border-top: 1px solid var(--rule); margin-top: 2rem; padding-block: 2rem; }
.release-entry > p { margin-top: 1rem; }
.release-notes { white-space: pre-wrap; overflow-wrap: anywhere; }
.release-notes-formatted { white-space: normal; }
.release-notes-formatted h3 { margin-block: 1.75rem .65rem; }
.release-notes-formatted p, .release-notes-formatted ul { margin-block: .85rem; }
.release-notes-formatted ul { padding-left: 1.5rem; list-style: disc; }
.release-notes-formatted li + li { margin-top: .5rem; }
.history-platform { margin-top: 1rem; max-width: 48rem; }
/* Experimental downloads: one compact card per operating system. */
.prototype-downloads { margin-top: 1rem; }
.prototype-version { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; color: var(--muted); font-size: .85rem; }
.prototype-version a { font-size: .78rem; }
.prototype-badge { display: inline-block; padding: .15rem .5rem; border-radius: 3px; background: var(--sage-mist); color: var(--deep-teal); font-size: .72rem; }
.prototype-warning { margin-top: 1.15rem; padding-left: .8rem; border-left: 2px solid var(--gold-ink); color: var(--muted); font-size: .8rem; }
.prototype-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.75rem; }
.prototype-card { display: flex; flex-direction: column; min-width: 0; padding: 1.5rem; border: 1px solid var(--rule); border-radius: 8px; background: var(--porcelain); scroll-margin-top: 2rem; }
.prototype-card h2 { font-family: var(--sans); font-size: 1.25rem; font-weight: 600; letter-spacing: -.025em; }
.prototype-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: .9rem; margin-block: 1.25rem; }
.prototype-option { min-width: 0; }
.prototype-button { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 44px; padding: .6rem .85rem; border-radius: 4px; background: var(--deep-teal); color: var(--porcelain); font-size: .9rem; font-weight: 600; text-decoration: none; }
.prototype-button:hover { background: var(--teal-hover); color: var(--porcelain); }
.action-icon { flex: 0 0 18px; width: 18px; height: 18px; }
.prototype-button .action-icon { color: var(--gold); }
.prototype-option-meta { margin-top: .3rem; color: var(--muted); font-size: .72rem; }
.prototype-unavailable { display: flex; justify-content: space-between; gap: .5rem; min-height: 44px; align-items: center; color: var(--muted); font-size: .9rem; }
.prototype-unavailable > span { font-size: .72rem; }
.prototype-card-footer { margin-top: auto; padding-top: .75rem; border-top: 1px solid var(--rule); color: var(--muted); font-size: .75rem; }
.prototype-help { border: 0; }
.prototype-help:last-child { border: 0; }
.prototype-help summary { display: inline-block; min-height: 32px; padding: .45rem 1.2rem 0 0; font-size: .75rem; color: var(--deep-teal); }
.prototype-help summary::after { top: .35rem; right: 0; font-size: .9rem; }
.prototype-help p { margin: .5rem 0 0; font-size: .75rem; line-height: 1.6; }
.prototype-card-pending { background: transparent; }
.prototype-coming-soon { margin-top: 1.5rem; max-width: 15rem; color: var(--muted); }
.prototype-coming-soon > span { display: inline-block; padding: .2rem .55rem; border-radius: 3px; background: var(--sage-mist); color: var(--muted); font-size: .72rem; }
.prototype-coming-soon p { margin-top: .7rem; font-size: .85rem; line-height: 1.6; }
.prototype-extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1.5rem; margin-top: 1.25rem; }
.prototype-extra, .prototype-extra:last-child { min-width: 0; border-top: 1px solid var(--rule); border-bottom: 0; scroll-margin-top: 2rem; }
.prototype-extra summary { min-height: 44px; padding: .7rem 1.5rem .7rem 0; font-size: .75rem; font-weight: 400; color: var(--muted); }
.prototype-extra summary::after { top: .6rem; font-size: .95rem; }
.prototype-extra-body { padding: .25rem 0 1rem; font-size: .8rem; }
.prototype-extra-body p { margin: .5rem 0; color: var(--muted); font-size: inherit; line-height: 1.7; }
.prototype-technical + .prototype-technical { margin-top: 1.5rem; }
.prototype-technical h3 { font-size: .85rem; }
.prototype-technical code { display: block; overflow-wrap: anywhere; color: var(--muted); font-size: .68rem; }
.prototype-filename { overflow-wrap: anywhere; }
.prototype-note-date { font-size: .72rem; }
.prototype-public-link { margin-top: 1.5rem; font-size: .75rem; }
@media (max-width: 900px) {
  .prototype-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .prototype-grid { grid-template-columns: 1fr; }
  .prototype-card { padding: 1.25rem; }
  .prototype-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .prototype-coming-soon { margin-block: 1rem; max-width: none; }
  .prototype-extras { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 380px) {
  .prototype-options { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) { .release-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .release-grid { grid-template-columns: 1fr; }
  .release-page { padding-block: 2rem; }
}
