/* Central de downloads: os mesmos tokens, chanfros e efeitos do site e do app. */
.dl-shell { max-width: calc(var(--page) + var(--gutter) * 2); margin: 0 auto; padding: calc(var(--nav-h) + 62px) var(--gutter) 72px; }
.dl-head { display: flex; align-items: center; justify-content: space-between; gap: 36px; animation: rise .65s var(--ease) both; }
.dl-head h1 { margin-top: 14px; font-size: clamp(34px, 4.4vw, 58px); letter-spacing: -1.4px; line-height: 1.12; }
.dl-head p { margin-top: 18px; color: var(--mut); font-size: 16px; line-height: 1.65; }
.dl-head-status { display: flex; align-items: center; gap: 14px; padding: 17px 20px; border: 1px solid rgba(255, 37, 64, .25); background: linear-gradient(135deg, rgba(255, 37, 64, .1), rgba(255, 255, 255, .02)); }
.dl-head-status strong { display: block; font: 700 10px var(--display); letter-spacing: 1.7px; }
.dl-head-status small { display: block; margin-top: 6px; color: var(--mut); font-size: 12px; }
.dl-head-status > svg { margin-left: 14px; color: var(--red-soft); }
.dl-status-light { flex-shrink: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 14px rgba(255, 37, 64, .65); animation: led 2.4s ease-in-out infinite; }
.dl-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 40px; padding: 14px 0; border-top: 1px solid var(--hair); }
.dl-toolbar > span { color: #9b9ba8; font-size: 12.5px; }
.dl-toolbar .gbtn { height: 34px; font-size: 9px; letter-spacing: 1px; }
.dl-toolbar .gbtn svg { width: 14px; height: 14px; }
.dl-toolbar .gbtn:disabled svg { animation: spin 1s linear infinite; }
.dl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.dl-card { min-width: 0; padding: 1px; background: linear-gradient(140deg, rgba(255, 37, 64, .6), rgba(255, 255, 255, .11) 38%, rgba(255, 255, 255, .05)); transition: transform .25s var(--ease), background .25s ease; animation: rise .65s var(--ease) both; }
.dl-card:nth-child(2) { animation-delay: .08s; }
.dl-card:hover { transform: translateY(-3px); background: linear-gradient(140deg, rgba(255, 37, 64, .9), rgba(255, 37, 64, .22) 45%, rgba(255, 255, 255, .09)); }
.dl-card-body { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; padding: 28px; background: radial-gradient(ellipse at 0 0, rgba(255, 37, 64, .09), transparent 60%), var(--carbon); }
.dl-card-body::before { content: ""; position: absolute; top: 26px; bottom: 26px; left: 0; width: 2px; background: var(--red); box-shadow: 0 0 18px rgba(255, 37, 64, .6); }
.dl-card-body > :not(.dl-number) { position: relative; z-index: 1; }
.dl-number { position: absolute; top: 66px; right: 22px; color: rgba(255, 255, 255, .035); font: 800 114px/1 var(--display); letter-spacing: -7px; pointer-events: none; }
.dl-card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dl-app-icon { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid rgba(255, 37, 64, .32); background: linear-gradient(135deg, rgba(255, 37, 64, .15), rgba(255, 37, 64, .03)); color: var(--red-soft); }
.dl-app-icon svg { width: 26px; height: 26px; }
.dl-app-heading { margin-top: 24px; }
.dl-app-heading .eyebrow { font-size: 9px; letter-spacing: 2px; }
.dl-app-heading h2 { margin-top: 9px; font-size: clamp(24px, 2.5vw, 32px); font-weight: 650; letter-spacing: -.6px; }
.dl-description { max-width: 430px; margin-top: 14px; color: #9a9aa7; font-size: 14px; line-height: 1.65; }
.dl-features { display: flex; flex-wrap: wrap; gap: 6px; margin: 18px 0 24px; padding: 0; list-style: none; }
.dl-features li { padding: 5px 8px; border: 1px solid var(--hair-2); background: rgba(255, 255, 255, .025); color: #b4b4c0; font: 600 8px var(--display); letter-spacing: .8px; }
.dl-features li:first-child { border-color: rgba(255, 37, 64, .25); background: rgba(255, 37, 64, .075); color: var(--red-soft); }
.dl-release { margin-top: auto; padding: 20px; border: 1px solid var(--hair); background: rgba(0, 0, 0, .3); }
.dl-version-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dl-version-row small, .dl-file-meta dt { display: block; color: #92929f; font: 700 8px var(--display); letter-spacing: 1.5px; }
.dl-version-row strong { display: block; margin-top: 8px; color: #fff; font: 700 32px/1.1 var(--mono); letter-spacing: -1.3px; text-shadow: 0 0 24px rgba(255, 37, 64, .35); overflow-wrap: anywhere; }
.dl-platform { display: flex; align-items: center; gap: 7px; flex-shrink: 0; color: #b4b4bf; font: 600 8px var(--display); letter-spacing: 1px; }
.dl-platform svg { width: 15px; height: 15px; fill: currentColor; stroke: none; }
.dl-file-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 20px; margin: 19px 0 0; padding-top: 16px; border-top: 1px solid var(--hair); }
.dl-file-meta > div { min-width: 0; }
.dl-file-meta .dl-file { grid-column: 1 / -1; }
.dl-file-meta dd { margin: 4px 0 0; color: #d4d4df; font-size: 13px; overflow-wrap: anywhere; }
.dl-file-meta .dl-file dd { font: 11px/1.6 var(--mono); }
.dl-download { width: 100%; margin-top: 20px; justify-content: space-between; font-size: 11px; letter-spacing: 1.2px; }
.dl-download svg { width: 17px; height: 17px; }
.dl-download span { margin-right: auto; }
.dl-download[aria-disabled="true"] { background: linear-gradient(180deg, #25252d, #17171d); color: #a1a1ae; box-shadow: none; cursor: not-allowed; }
.dl-edition-note { margin-top: 12px; color: #90909d; font-size: 11.5px; line-height: 1.5; }
.dl-release-note { margin-top: 12px; color: var(--amber-soft); font-size: 12px; line-height: 1.5; }
.dl-access { display: flex; align-items: center; gap: 14px; margin-top: 22px; padding: 18px 20px; border: 1px solid var(--hair-2); background: linear-gradient(110deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .01)); }
.dl-access-icon { flex-shrink: 0; display: grid; place-items: center; width: 40px; height: 40px; color: var(--red-soft); border: 1px solid rgba(255, 37, 64, .25); background: rgba(255, 37, 64, .09); }
.dl-access > div:first-of-type { flex-grow: 1; min-width: 0; }
.dl-access strong { display: block; font: 700 10px var(--display); letter-spacing: 1.4px; }
.dl-access p { margin-top: 4px; color: #9d9daa; font-size: 13px; }
.dl-access-actions { display: flex; flex-wrap: wrap; flex-shrink: 0; gap: 8px; }
.dl-access-actions a { height: 36px; font-size: 8.5px; letter-spacing: .8px; }
.dl-access[data-state="allowed"] { border-color: rgba(255, 37, 64, .25); background: rgba(255, 37, 64, .045); }
.dl-access[data-state="blocked"] { border-color: rgba(255, 37, 64, .4); }
.dl-shared { margin-top: 14px; padding: 17px 20px; }
.dl-guide { margin-top: 42px; padding-top: 30px; border-top: 1px solid var(--hair); }
.dl-guide-head h2 { margin-top: 8px; font-size: 23px; font-weight: 600; letter-spacing: -.3px; }
.dl-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 24px 0 0; padding: 0; list-style: none; }
.dl-steps li { display: flex; align-items: flex-start; gap: 13px; }
.dl-steps li > span { padding-top: 1px; color: var(--red-soft); font: 600 18px var(--mono); }
.dl-steps strong { font: 600 13px var(--display); }
.dl-steps p { margin-top: 5px; color: var(--mut); font-size: 13px; }
.dl-noscript { margin-top: 20px; padding: 16px; color: var(--amber-soft); border: 1px solid var(--hair-2); }
.dl-noscript a { text-decoration: underline; }
@media (max-width: 1000px) {
  .dl-head-status { max-width: 290px; }
  .dl-head-status > svg { display: none; }
  .dl-card-body { padding: 24px; }
  .dl-access { flex-wrap: wrap; }
  .dl-access-actions { margin-left: 54px; }
}
@media (max-width: 720px) {
  .dl-shell { padding-top: calc(var(--nav-h) + 36px); }
  .dl-head { align-items: flex-start; flex-direction: column; gap: 24px; }
  .dl-head-status { max-width: none; padding: 13px 16px; }
  .dl-head p br { display: none; }
  .dl-toolbar { margin-top: 26px; }
  .dl-grid { grid-template-columns: 1fr; gap: 18px; }
  .dl-card-body { padding: 24px; }
  .dl-description { max-width: none; }
  .dl-steps { grid-template-columns: 1fr; gap: 20px; }
  .dl-access { align-items: flex-start; padding: 16px; }
  .dl-access > div:first-of-type { flex-basis: calc(100% - 54px); }
  .dl-access-actions { flex-wrap: wrap; margin-left: 0; width: 100%; }
  .dl-access-actions a { flex: 1 1 130px; }
}
@media (max-width: 380px) {
  .dl-card-body { padding: 20px 16px; }
  .dl-release { padding: 16px; }
  .dl-version-row strong { font-size: 28px; }
  .dl-head h1 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .dl-head, .dl-card, .dl-status-light { animation: none; }
  .dl-card { transition: none; }
}
