/* download.css -- gated download affordances. Uses glance.css tokens. */

/* single-download button in the card */
.dl-sec .dl-btn {
  width: 100%; font-family: var(--font-ui); font-size: 14px; font-weight: 700;
  color: #fff; background: var(--focus); border: 0; border-radius: 10px;
  padding: 12px; cursor: pointer; letter-spacing: 0.03em; transition: filter 140ms ease;
}
.dl-sec .dl-btn:hover { filter: brightness(1.06); }
.dl-sec .dl-btn:disabled { background: var(--ink-3); cursor: default; }
/* locked (signed-out) variant reads as a quiet prompt, not a primary action */
.dl-sec .dl-btn.dl-locked {
  color: var(--ink-2); background: var(--glass-strong);
  border: 1px solid var(--hairline); font-weight: 400;
}
.dl-sec .dl-btn.dl-locked:hover { color: var(--ink); filter: none; }

/* visible "Select" entry point for multi-download (bottom-left; long-press still works) */
.dl-select-fab {
  position: fixed; left: max(14px, env(safe-area-inset-left));
  bottom: max(16px, env(safe-area-inset-bottom)); z-index: 24;
  font-family: var(--font-ui); font-size: 13px; font-weight: 700; letter-spacing: 0.02em;
  color: var(--ink-2); background: var(--glass-strong);
  border: 1px solid var(--hairline); border-radius: 9999px; padding: 10px 18px;
  cursor: pointer; box-shadow: 0 8px 30px rgba(20,18,16,0.16);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.dl-select-fab:hover { color: var(--ink); }
.dl-select-fab[hidden] { display: none; }
.dl-select-hint {
  position: fixed; left: 50%; transform: translateX(-50%);
  bottom: max(64px, calc(env(safe-area-inset-bottom) + 64px)); z-index: 24;
  font-family: var(--font-ui); font-size: 12px; color: #fff;
  background: rgba(20,18,16,0.82); border-radius: 9999px; padding: 8px 14px;
  white-space: nowrap; pointer-events: none;
}
.dl-select-hint[hidden] { display: none; }

/* bottom selection -> download bar */
.dl-bar {
  position: fixed; left: 50%; transform: translateX(-50%);
  bottom: max(16px, env(safe-area-inset-bottom)); z-index: 25;
  display: flex; align-items: center; gap: 12px;
  max-width: calc(100vw - 24px);
  padding: 8px 8px 8px 16px;
  background: var(--glass-card, rgba(255,255,255,0.86));
  -webkit-backdrop-filter: saturate(1.3) blur(24px); backdrop-filter: saturate(1.3) blur(24px);
  border: 1px solid var(--hairline); border-radius: 9999px;
  box-shadow: 0 12px 48px rgba(20,18,16,0.22);
  animation: dl-rise 200ms cubic-bezier(0.2,0,0,1);
}
.dl-bar[hidden] { display: none; }
@keyframes dl-rise { from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translateX(-50%); } }

.dl-bar-n { font-family: var(--font-ui); font-size: 13px; color: var(--ink-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.dl-bar-btn {
  font-family: var(--font-ui); font-size: 14px; font-weight: 700; color: #fff;
  background: var(--focus); border: 0; border-radius: 9999px; padding: 10px 18px;
  cursor: pointer; letter-spacing: 0.02em; white-space: nowrap; transition: filter 140ms ease;
}
.dl-bar-btn:hover { filter: brightness(1.06); }
.dl-bar-btn:disabled { background: var(--ink-3); cursor: default; }
.dl-bar-btn.dl-locked { font-size: 13px; font-weight: 400; background: var(--ink-2); }
.dl-bar-clear {
  font-family: var(--font-ui); font-size: 13px; color: var(--ink-3);
  background: none; border: 0; border-radius: 9999px; padding: 10px 12px; cursor: pointer;
}
.dl-bar-clear:hover { color: var(--ink); }
