/* Shared download indicator; remains visible when runtime updates button text. */
:is([data-download], [data-preview-download], [data-platform="ios"], [data-platform="android"], [data-dl-pc])::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  vertical-align: middle;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2015v5h16v-5%22/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-5-5%205%205%205-5M4%2015v5h16v-5%22/%3E%3C/svg%3E") center / contain no-repeat;
}
[data-download] > svg, [data-preview-download] > svg { display: none; }
.link-btn[data-dl-pc]::before { margin-right: 6px; }

/* Download actions use a solid surface without a border or outer focus ring. */
body :is([data-download], [data-preview-download], [data-platform="ios"], [data-platform="android"], [data-dl-pc]) { border: 0; }
body :is([data-download], [data-preview-download], [data-platform="ios"], [data-platform="android"], [data-dl-pc]):focus-visible { outline: none; box-shadow: none; text-decoration: underline; text-underline-offset: 4px; }
body.landing-home [data-preview-download]:focus-visible, body.landing-home [data-download]:focus-visible { outline: none; }
