/* Shared app identity and decorative action icons. All controls keep their text labels. */
body[data-site-icons] {
  /* generated-mark:start */
  --site-brand-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Crect%20width%3D%2264%22%20height%3D%2264%22%20rx%3D%2215%22%20fill%3D%22%23101720%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%2262%22%20height%3D%2262%22%20rx%3D%2214%22%20fill%3D%22none%22%20stroke%3D%22%23E5BF7B%22%20stroke-opacity%3D%22.3%22%2F%3E%3Cpath%20d%3D%22M19%2043%2032%2018l13%2025H19Z%22%20fill%3D%22none%22%20stroke%3D%22%23E5BF7B%22%20stroke-width%3D%223.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%0A%20%20%3Ccircle%20cx%3D%2232%22%20cy%3D%2218%22%20r%3D%226%22%20fill%3D%22%23F1D49F%22%2F%3E%0A%20%20%3Ccircle%20cx%3D%2219%22%20cy%3D%2243%22%20r%3D%225%22%20fill%3D%22%23E5BF7B%22%2F%3E%0A%20%20%3Ccircle%20cx%3D%2245%22%20cy%3D%2243%22%20r%3D%225%22%20fill%3D%22%23E5BF7B%22%2F%3E%3C%2Fsvg%3E");
  /* generated-mark:end */
  --site-icon-search: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22m16%2016%204.5%204.5%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-copy: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%2212%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M15%208V5a2%202%200%200%200-2-2H5a2%202%200%200%200-2%202v8a2%202%200%200%200%202%202h3%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-share: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2015V3m-4%204%204-4%204%204M6%2011H4v10h16V11h-2%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-download: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v12m-4-4%204%204%204-4M4%2016v5h16v-5%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-external: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M14%203h7v7m0-7L10%2014M10%205H4a1%201%200%200%200-1%201v14a1%201%200%200%200%201%201h14a1%201%200%200%200%201-1v-6%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-close: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%206%2012%2012M6%2018%2018%206%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-check: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%2012%204.5%204.5L19%207%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-link: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m10%2013%204-4m-6%206-1.5%201.5a3.5%203.5%200%200%201-5-5L6%207a3.5%203.5%200%200%201%205%200m2%2010a3.5%203.5%200%200%200%205%200l4.5-4.5a3.5%203.5%200%200%200-5-5L16%209%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-book: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%206c-3-2-6-2-9-1v15c3-1%206-1%209%201%203-2%206-2%209-1V5c-3-1-6-1-9%201Zm0%200v15%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-retry: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%208a8%208%200%201%200%20.5%207M20%203v5h-5%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-arrow-right: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h16m-6-6%206%206-6%206%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-arrow-up: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020V4m-6%206%206-6%206%206%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-route: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.75%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2218%22%20r%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%226%22%20r%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M7.5%2018H15a3%203%200%200%200%200-6H9a3%203%200%200%201%200-6h7.5%22%2F%3E%3C%2Fsvg%3E");
}

/* A single identity, with enough space for the linked wordmark to remain readable. */
body[data-site-icons] :is(.home-atlas-brand, .research-brand, .community-brand, .history-brand, .wallet-library-brand, .result-global-brand, .methodology-brand .brand-link, .wallet-breadcrumb .brand-link) {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
body[data-site-icons] :is(.research-brand, .community-brand, .history-brand, .wallet-library-brand, .result-global-brand, .methodology-brand .brand-link, .wallet-breadcrumb .brand-link)::before,
body[data-site-icons] .home-atlas-brand > span:first-child {
  content: '';
  display: inline-block;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: var(--site-brand-image) center / contain no-repeat;
  box-shadow: none;
  font-size: 0;
  transform: none;
}
body[data-site-icons] .home-atlas-brand > span:first-child::before,
body[data-site-icons] .home-atlas-brand > span:first-child::after { content: none; }

/* Icons support the label. They use empty pseudo-elements, so screen readers
   announce the existing accessible name without decorative glyphs. */
body[data-site-icons] :is(
  [data-copy-citation], [data-copy-address], #r-copy, #share-caption,
  #share-challenge, [data-copy-swap-scenario], [data-copy-scenario], #r-share, #share-native, #share-download,
  [data-search-clear], [data-search-retry], [data-swap-reset], [data-transaction-reset],
  [data-encyclopedia-search] button[type='submit'], #publication-close,
  .entry-exports > a
)::before {
  content: '';
  display: inline-block;
  flex: 0 0 auto;
  width: 1.05em;
  height: 1.05em;
  margin-inline-end: .5em;
  vertical-align: -.16em;
  background-color: currentColor;
  -webkit-mask: var(--action-icon) center / contain no-repeat;
  mask: var(--action-icon) center / contain no-repeat;
}
body[data-site-icons] :is([data-copy-citation], [data-copy-address], #r-copy, #share-caption) { --action-icon: var(--site-icon-copy); }
body[data-site-icons] :is(#share-challenge, [data-copy-swap-scenario], [data-copy-scenario]) { --action-icon: var(--site-icon-link); }
body[data-site-icons] :is(#r-share, #share-native) { --action-icon: var(--site-icon-share); }
body[data-site-icons] #share-download { --action-icon: var(--site-icon-download); }
body[data-site-icons] :is([data-search-clear], #publication-close) { --action-icon: var(--site-icon-close); }
body[data-site-icons] :is([data-search-retry], [data-swap-reset], [data-transaction-reset]) { --action-icon: var(--site-icon-retry); }
body[data-site-icons] [data-encyclopedia-search] button[type='submit'] { --action-icon: var(--site-icon-search); }
body[data-site-icons] .entry-exports > a { --action-icon: var(--site-icon-download); }
body[data-site-icons] .entry-exports > a[href^='#claim-'] { --action-icon: var(--site-icon-book); }

/* Existing decorative arrow spans share the same stroke, baseline and size. */
body[data-site-icons] :is(
  .research-sources a[target='_blank'] > span[aria-hidden='true'],
  .contents-utilities a > span[aria-hidden='true'],
  .wallet-related-arrow, .wallet-cta-link > span[aria-hidden='true'],
  .result-next-links a > span[aria-hidden='true'],
  .home-atlas-open > span[aria-hidden='true']
) {
  display: inline-block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  font-size: 0;
  line-height: 0;
  vertical-align: -.2em;
  background-color: currentColor;
  -webkit-mask: var(--action-icon, var(--site-icon-arrow-right)) center / contain no-repeat;
  mask: var(--action-icon, var(--site-icon-arrow-right)) center / contain no-repeat;
}
body[data-site-icons] .research-sources a[target='_blank'] > span[aria-hidden='true'] { --action-icon: var(--site-icon-external); }
body[data-site-icons] .contents-utilities a[href='#article-content'] > span[aria-hidden='true'] { --action-icon: var(--site-icon-arrow-up); }
body[data-site-icons] .home-atlas-open > span[aria-hidden='true'] { --action-icon: var(--site-icon-route); }
body[data-site-icons] .wallet-related-arrow { color: var(--site-gold, #e5bf7b); }

/* The only icon-only control already has a descriptive accessible name. */
body[data-site-icons] #share-close {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  font-size: 0;
}
body[data-site-icons] #share-close::before {
  content: '';
  position: absolute;
  inset: 11px;
  background-color: currentColor;
  -webkit-mask: var(--site-icon-close) center / contain no-repeat;
  mask: var(--site-icon-close) center / contain no-repeat;
}
@media (forced-colors: active) {
  body[data-site-icons] :is(button, .entry-exports > a)::before { background-color: ButtonText; }
  body[data-site-icons] :is(.research-sources a, .contents-utilities a) > span[aria-hidden='true'] { background-color: LinkText; }
}
