.download-list{
  display:flex;
  gap:22px;
  align-items:flex-start;
  margin-top:18px;
}
.download-item{
  background:var(--surface);
  border:1px solid var(--border-light);
  padding:22px;
  border-radius:12px;
  min-width:260px;
  flex:1 1 320px;
  box-shadow:0 10px 30px rgba(0,0,0,0.45);
  display:flex;
  flex-direction:column;
}

.download-item .btn{ align-self:flex-start }
.download-item .btn.primary{ padding:10px 18px }
.platform{
  font-weight:800;
  font-size:18px;
  color:var(--text-primary);
  margin-bottom:8px;
}
.download-group{ display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; align-items:center }
.download-group > a.btn, .download-group > p.download-fallback { flex: 0 0 auto }
.download-group > .older-versions { order: 99; flex-basis: 100%; width: 100%; margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,0.03) }
.download-btn{ margin-top:12px; text-decoration:none }
.download-item p{ color:var(--text-secondary); margin:6px 0 }

.download-btn.btn{ padding:10px 16px; border-radius:10px; font-size:14px }
.older-versions{ margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,0.03); display:flex; flex-direction:column; gap:8px }
.older-versions > strong{ font-size:13px; color:var(--text-muted); font-weight:700 }
.older-versions ul{ list-style:none; margin:0; padding:0; display:flex; gap:8px; flex-wrap:wrap; overflow:hidden }
.older-versions > ul{ max-height:0; opacity:0; transform:translateY(-6px); transition: max-height 260ms ease, opacity 220ms ease, transform 200ms ease }
.older-versions.open > ul{ max-height: 1000px; opacity:1; transform:none }

.older-versions.grouped{ position:relative }
.older-versions.grouped .older-versions-toggle{ margin-top:0 }
.older-versions .older-versions-toggle{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:10px; background: rgba(78,205,196,0.12); border:1px solid rgba(78,205,196,0.16); color:var(--text-primary); font-weight:700; cursor:pointer }
.older-versions.grouped .dropdown-panel{ max-height:0; opacity:0; overflow:hidden; margin-top:0; padding-top:0; transition: max-height 300ms ease, opacity 260ms ease }
.older-versions.grouped.open .dropdown-panel{ max-height: 2000px; opacity:1; margin-top:8px; padding-top:8px }
.older-versions.grouped .linux-section{ margin:6px 0 }
.older-versions.grouped .linux-section > strong{ display:block; margin-bottom:6px; color:var(--text-secondary); font-size:13px }

.linux-section ul{ list-style:none; margin:0; padding:0; display:flex; gap:8px; flex-wrap:wrap; overflow:hidden }
.linux-section ul{ max-height:0; opacity:0; transform:translateY(-6px); transition: max-height 260ms ease, opacity 220ms ease, transform 200ms ease }
.linux-section.open ul{ max-height: 1000px; opacity:1; transform:none }
.linux-section .section-toggle{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:8px; background: rgba(78,205,196,0.12); border:1px solid rgba(78,205,196,0.16); color:var(--text-primary); font-weight:700; cursor:pointer; margin-top:6px }
.linux-section .section-toggle:hover{ background:rgba(78,205,196,0.16); transform:translateY(-2px) }
.older-versions ul:empty::before{ content: 'No older versions'; color:var(--text-muted); font-size:13px }
.older-versions li{ margin:0 }
.older-versions a.download-btn, .older-versions a.version-pill{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:10px; background:transparent; border:1px solid rgba(255,255,255,0.03); color:var(--text-secondary); text-decoration:none; font-size:13px }
.older-versions a.download-btn:hover, .older-versions a.version-pill:hover{ background: rgba(255,255,255,0.02); color:var(--text-primary); transform:translateY(-2px) }

.download-group .no-older-versions{ color:var(--text-muted); font-size:13px; margin-top:6px }

.download-group { align-items:center }
.download-group .btn.ghost { padding:8px 12px; border-radius:10px; font-size:13px }
.download-group .format-name{ color:var(--text-secondary); font-weight:700; margin-right:8px }

.download-fallback{ margin-top:8px; font-size:13px; color:var(--text-muted); display:none }
.download-fallback a{ color:var(--text-secondary); text-decoration:underline }

.download-item.show .download-fallback{ display:none }

.download-item.active-format-windows .download-fallback[data-format="windows"]{ display:block }
.download-item.active-format-macos .download-fallback[data-format="macos"]{ display:block }
.download-item.active-format-linux_appimage .download-fallback[data-format="linux_appimage"]{ display:block }
.download-item.active-format-linux_deb .download-fallback[data-format="linux_deb"]{ display:block }
.download-item.active-format-linux_flatpak .download-fallback[data-format="linux_flatpak"]{ display:block }

.badge{
  display:inline-block;
  background:transparent;
  color:var(--warning);
  font-size:12px;
  font-weight:700;
  margin-left:8px;
}

.download-item.experimental{ opacity:0.95; border-style:solid; border-color: rgba(255,255,255,0.04); }
.download-item.experimental .download-btn{ border-color:var(--border); }
.download-item.experimental .platform{ color:var(--text-secondary); }

.download-cta{ margin-top:26px; display:flex; justify-content:center }

.download-item .download-cta{ margin-top:auto }
.github-cta{ display:inline-flex; align-items:center; gap:10px; padding:10px 16px; border-radius:10px; font-weight:700; color:var(--text-primary); border:1px solid rgba(255,255,255,0.04); background:transparent }
.github-cta .github-icon{ display:inline-block; vertical-align:middle; color:var(--text-primary); opacity:0.95 }
.github-cta:hover{ background:rgba(255,255,255,0.02); transform:translateY(-3px); box-shadow:0 10px 30px rgba(0,0,0,0.45) }

.open-source-section { padding: 40px 0; }
.open-source-rect{
  max-width: 920px;
  margin: 0 auto;
  background: rgba(10,15,26,0.66);
  border-radius: 14px;
  padding: 28px 30px;
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 3px solid rgba(255,255,255,0.08);
  box-shadow: 0 20px 48px rgba(0,0,0,0.55);
}
.open-source-rect h2{ margin:0 0 12px; font-size:24px; color:var(--text-primary) }
.open-source-rect p{ color:var(--text-secondary); line-height:1.6; margin-bottom:16px }
.open-source-rect .download-cta{ display:flex; justify-content:flex-end }
.open-source-rect .github-cta{ padding:12px 18px; font-size:15px }

.downloads-intro{
  max-width:920px;
  color:var(--text-secondary);
  font-size:16px;
  line-height:1.6;
  margin:12px 0 18px 0;
  padding:10px 14px;
  background: rgba(255,255,255,0.01);
  border-left: 3px solid rgba(78,205,196,0.08);
  border-radius: 8px;
}

.downloads-divider{
  width: calc(100% - 48px);
  height: 2px;
  margin: 28px auto;
  background: linear-gradient(90deg, rgba(255,255,255,0.00), rgba(255,255,255,0.20), rgba(255,255,255,0.00));
  box-shadow: 0 6px 18px rgba(0,0,0,0.5);
  border-radius: 2px;
  opacity: 1;
}

/* fix for phone screens */
@media (max-width: 880px) {
  .download-list {
    flex-direction: column;
    align-items: stretch;
  }
  .download-item {
    flex: none;
    width: 100%;
    min-width: auto;
  }
}

/* Global fallback download bar */
#download-fallback-container{ position:fixed; right:16px; bottom:18px; z-index:120; transition:opacity 220ms ease, transform 220ms ease; opacity:0; transform: translateY(12px); pointer-events:none }
#download-fallback-container .fallback-inner{ display:flex; align-items:center; gap:10px; background:var(--surface); padding:10px 12px; border-radius:10px; border:1px solid rgba(255,255,255,0.04); box-shadow:0 10px 30px rgba(0,0,0,0.45) }
#download-fallback-container .fallback-inner .fallback-message{ color:var(--text-secondary); font-size:13px }
#download-fallback-container .fallback-inner a.btn.ghost{ padding:8px 12px }
#download-fallback-container .fallback-inner button#download-fallback-close{ margin-left:6px; background:transparent; border:none; color:var(--text-secondary); font-size:16px; cursor:pointer }
#download-fallback-container.show{ opacity:1; transform:none; pointer-events:auto }
