/* ---- site-header.css ---- */
.xa-unified-site-header {
  --xa-header-bg: #0C0F14;
  --xa-header-border: #1F2630;
  --xa-header-text: #EEF2F7;
  --xa-header-dim: #8A93A2;
  --xa-header-green: #1E5BE6;
  --xa-header-menu-bg: #12161D;
  --xa-header-overlay: rgba(0, 0, 0, 0.54);
  --xa-wallet-panel-bg: #12161D;
  --xa-wallet-panel-border: #2A313D;
  --xa-wallet-panel-muted: #9AA4B2;
  --xa-wallet-panel-subtle: #171C24;
  position: relative;
  z-index: 3000;
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  color: var(--xa-header-text);
  font-family: "Hanken Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 12px;
  line-height: 1.5;
}

html[data-theme="light"] .xa-unified-site-header {
  --xa-header-bg: rgba(250, 250, 250, 0.92);
  --xa-header-border: #ECECEE;
  --xa-header-text: #111113;
  --xa-header-dim: #5C5C63;
  --xa-header-green: #1E5BE6;
  --xa-header-menu-bg: #FFFFFF;
  --xa-header-overlay: rgba(0, 0, 0, 0.22);
  --xa-wallet-panel-bg: #FFFFFF;
  --xa-wallet-panel-border: #E5E5E8;
  --xa-wallet-panel-muted: #68686F;
  --xa-wallet-panel-subtle: #F6F6F7;
}

.xa-unified-site-header *,
.xa-unified-site-header *::before,
.xa-unified-site-header *::after {
  box-sizing: border-box;
}

.xa-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.xa-unified-site-header .header {
  position: relative;
  z-index: 3001;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 40px;
  min-height: 40px;
  padding: 6px 16px;
  background: var(--xa-header-bg);
  border-bottom: 1px solid var(--xa-header-border);
}

html[data-theme="light"] .xa-unified-site-header .header {
  box-shadow: 0 10px 28px rgba(42, 34, 20, 0.07);
  backdrop-filter: blur(18px);
}

.xa-unified-site-header .header-left,
.xa-unified-site-header .xa-header-actions {
  display: flex;
  align-items: center;
  min-width: 0;
}

.xa-unified-site-header .header-left {
  gap: 16px;
}

.xa-unified-site-header .xa-header-actions {
  gap: 12px;
}

.xa-unified-site-header .wallet-connect-shell {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.xa-unified-site-header .wallet-connect-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  padding: 0 14px;
  gap: 6px;
  border: 1px solid #2B6AF2;
  border-radius: 8px;
  background: #1E5BE6;
  color: #FFFFFF;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(30, 91, 230, 0.22);
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.xa-unified-site-header .wallet-connect-btn:hover,
.xa-unified-site-header .wallet-connect-btn:focus-visible,
.xa-unified-site-header .wallet-connect-shell.open .wallet-connect-btn {
  border-color: #3978F4;
  background: #2B6AF2;
  outline: none;
  box-shadow: 0 4px 12px rgba(30, 91, 230, 0.28);
}

.xa-unified-site-header .wallet-connect-btn-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.xa-unified-site-header .wallet-connect-btn-icon svg {
  width: 15px;
  height: 15px;
}

.xa-unified-site-header .wallet-connect-shell.connected .wallet-connect-btn-icon::after {
  position: absolute;
  right: -3px;
  bottom: -2px;
  width: 6px;
  height: 6px;
  border: 1px solid #1E5BE6;
  border-radius: 50%;
  background: #36D399;
  content: '';
}

.xa-unified-site-header .wallet-connect-shell.connecting .wallet-connect-btn-icon {
  animation: xa-wallet-connecting 900ms ease-in-out infinite alternate;
}

@keyframes xa-wallet-connecting {
  from { opacity: 0.42; }
  to { opacity: 1; }
}

.xa-unified-site-header .wallet-connect-btn-label-mobile {
  display: none;
}

.xa-unified-site-header .wallet-connect-panel[hidden] {
  display: none;
}

.xa-unified-site-header .wallet-connect-panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 3200;
  width: min(600px, calc(100vw - 24px));
  padding: 18px;
  border: 1px solid var(--xa-wallet-panel-border);
  border-radius: 14px;
  background: var(--xa-wallet-panel-bg);
  color: var(--xa-header-text);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
  text-align: left;
  animation: xa-wallet-panel-enter 160ms ease-out both;
}

html[data-theme="light"] .xa-unified-site-header .wallet-connect-panel {
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.16);
}

@keyframes xa-wallet-panel-enter {
  from {
    opacity: 0;
    transform: translateY(-5px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.xa-unified-site-header .wallet-connect-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.xa-unified-site-header .wallet-connect-eyebrow {
  display: block;
  margin-bottom: 3px;
  color: #6F9AFF;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.2;
}

.xa-unified-site-header .wallet-connect-panel h2 {
  margin: 0;
  color: var(--xa-header-text);
  font-family: inherit;
  font-size: 20px;
  font-weight: 780;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.xa-unified-site-header .wallet-connect-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--xa-wallet-panel-border);
  border-radius: 7px;
  background: transparent;
  color: var(--xa-wallet-panel-muted);
  cursor: pointer;
}

.xa-unified-site-header .wallet-connect-close:hover,
.xa-unified-site-header .wallet-connect-close:focus-visible {
  background: var(--xa-wallet-panel-subtle);
  color: var(--xa-header-text);
  outline: none;
}

.xa-unified-site-header .wallet-connect-intro {
  margin: 11px 0 15px;
  color: var(--xa-wallet-panel-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

.xa-unified-site-header .wallet-provider-view[hidden],
.xa-unified-site-header .wallet-connected-view[hidden] {
  display: none;
}

.xa-unified-site-header .wallet-connected-view {
  display: grid;
  margin-top: 14px;
  gap: 10px;
}

.xa-unified-site-header .wallet-connected-summary {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 54px;
  padding: 10px 0;
  gap: 9px;
  border-bottom: 1px solid var(--xa-wallet-panel-border);
}

.xa-unified-site-header .wallet-connected-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(39, 190, 128, 0.3);
  border-radius: 50%;
  color: #67D8AA;
}

.xa-unified-site-header .wallet-connected-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.xa-unified-site-header .wallet-connected-copy strong {
  color: var(--xa-header-text);
  font-size: 16px;
  font-weight: 750;
  line-height: 1.2;
}

.xa-unified-site-header .wallet-connected-copy small {
  color: var(--xa-wallet-panel-muted);
  font-size: 13px;
  line-height: 1.2;
}

.xa-unified-site-header .wallet-connected-badge {
  padding: 4px 6px;
  border: 1px solid rgba(39, 190, 128, 0.32);
  border-radius: 999px;
  color: #67D8AA;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
}

html[data-theme="light"] .xa-unified-site-header .wallet-connected-badge,
html[data-theme="light"] .xa-unified-site-header .wallet-connected-mark {
  color: #11724D;
}

.xa-unified-site-header .wallet-connected-address {
  display: block;
  overflow-wrap: anywhere;
  padding: 6px 0;
  color: var(--xa-header-text);
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  line-height: 1.6;
}

.xa-unified-site-header .wallet-connected-actions {
  display: grid;
  grid-template-columns: 1fr 0.8fr 1fr;
  gap: 7px;
}

.xa-unified-site-header .wallet-connected-actions button,
.xa-unified-site-header .wallet-connected-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 8px;
  border: 1px solid var(--xa-wallet-panel-border);
  border-radius: 8px;
  background: var(--xa-wallet-panel-subtle);
  color: var(--xa-header-text);
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
}

.xa-unified-site-header .wallet-connected-actions button:hover,
.xa-unified-site-header .wallet-connected-actions button:focus-visible,
.xa-unified-site-header .wallet-connected-actions a:hover,
.xa-unified-site-header .wallet-connected-actions a:focus-visible {
  border-color: #4F80EF;
  outline: none;
}

.xa-unified-site-header .wallet-connected-actions .wallet-disconnect-action {
  color: #FF7770;
}

html[data-theme="light"] .xa-unified-site-header .wallet-connected-actions .wallet-disconnect-action {
  color: #B3263B;
}

@media (min-width: 769px) {
  .xa-unified-site-header .wallet-connect-shell.connected .wallet-connect-panel {
    width: min(460px, calc(100vw - 32px));
  }
}

.xa-unified-site-header .wallet-profile-card[hidden],
.xa-unified-site-header .wallet-profile-enable-view[hidden],
.xa-unified-site-header .wallet-profile-active-view[hidden] {
  display: none;
}

.xa-unified-site-header .wallet-profile-card {
  margin-top: 8px;
  padding: 16px 0 0;
  border-top: 1px solid var(--xa-wallet-panel-border);
}

.xa-unified-site-header .wallet-profile-enable-view,
.xa-unified-site-header .wallet-profile-active-view {
  display: grid;
  gap: 10px;
}

.xa-unified-site-header .wallet-profile-heading {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.xa-unified-site-header .wallet-profile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: #6F9AFF;
}

.xa-unified-site-header .wallet-profile-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.xa-unified-site-header .wallet-profile-copy strong {
  color: var(--xa-header-text);
  font-size: 12.5px;
  font-weight: 750;
  line-height: 1.2;
}

.xa-unified-site-header .wallet-profile-copy small {
  color: var(--xa-wallet-panel-muted);
  font-size: 12px;
  line-height: 1.4;
}

.xa-unified-site-header .wallet-profile-primary,
.xa-unified-site-header .wallet-profile-actions button,
.xa-unified-site-header .wallet-profile-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--xa-wallet-panel-border);
  border-radius: 8px;
  background: transparent;
  color: var(--xa-header-text);
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none;
}

.xa-unified-site-header .wallet-profile-primary:disabled {
  cursor: wait;
  opacity: 0.65;
}

.xa-unified-site-header .wallet-profile-optional {
  margin-left: 6px;
  color: var(--xa-wallet-panel-muted);
  font-size: 11px;
  font-weight: 500;
}

.xa-unified-site-header .wallet-profile-primary:hover:not(:disabled),
.xa-unified-site-header .wallet-profile-primary:focus-visible,
.xa-unified-site-header .wallet-profile-actions a:focus-visible,
.xa-unified-site-header .wallet-profile-actions button:focus-visible {
  border-color: #4F80EF;
  outline: 2px solid #4F80EF;
  outline-offset: 2px;
}

.xa-unified-site-header .wallet-profile-sync-badge {
  padding: 4px 6px;
  border: 1px solid rgba(39, 190, 128, 0.32);
  border-radius: 999px;
  color: #67D8AA;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
}

html[data-theme="light"] .xa-unified-site-header .wallet-profile-sync-badge {
  color: #11724D;
}

.xa-unified-site-header .wallet-profile-actions {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 7px;
}

.xa-unified-site-header .wallet-profile-actions button {
  border-color: var(--xa-wallet-panel-border);
  background: transparent;
  color: var(--xa-wallet-panel-muted);
}

.xa-unified-site-header .wallet-connect-providers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.xa-unified-site-header .wallet-provider-section + .wallet-provider-section {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid var(--xa-wallet-panel-border);
}

.xa-unified-site-header .wallet-provider-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  gap: 10px;
}

.xa-unified-site-header .wallet-provider-section-head strong {
  color: var(--xa-header-text);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.xa-unified-site-header .wallet-provider-section-head span {
  color: var(--xa-wallet-panel-muted);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.xa-unified-site-header .wallet-provider {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto 16px;
  align-items: center;
  width: 100%;
  min-height: 64px;
  padding: 10px 11px;
  gap: 9px;
  border: 1px solid var(--xa-wallet-panel-border);
  border-radius: 10px;
  background: var(--xa-wallet-panel-subtle);
  color: var(--xa-header-text);
  font-family: inherit;
  text-align: left;
}

.xa-unified-site-header .wallet-provider--wide {
  grid-column: 1 / -1;
}

.xa-unified-site-header button.wallet-provider {
  cursor: pointer;
}

.xa-unified-site-header button.wallet-provider:disabled {
  cursor: wait;
  opacity: 0.62;
}

.xa-unified-site-header button.wallet-provider[data-wallet-enabled="false"]:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

.xa-unified-site-header button.wallet-provider:hover,
.xa-unified-site-header button.wallet-provider:focus-visible,
.xa-unified-site-header button.wallet-provider.selected {
  border-color: #4F80EF;
  outline: none;
  box-shadow: inset 0 0 0 1px rgba(30, 91, 230, 0.18);
}

.xa-unified-site-header .wallet-provider-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
}

.xa-unified-site-header .wallet-provider-mark img {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

.xa-unified-site-header .wallet-provider-mark > svg {
  display: block;
  width: 34px;
  height: 34px;
}

.xa-unified-site-header .wallet-provider-mark--walletconnect svg {
  display: block;
  width: 34px;
  height: 34px;
}

.xa-unified-site-header .wallet-provider-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.xa-unified-site-header .wallet-provider-copy strong {
  color: var(--xa-header-text);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
}

.xa-unified-site-header .wallet-provider-copy small {
  color: var(--xa-wallet-panel-muted);
  font-size: 11.5px;
  line-height: 1.3;
}

.xa-unified-site-header .wallet-provider-tag {
  padding: 4px 6px;
  border: 1px solid var(--xa-wallet-panel-border);
  border-radius: 999px;
  color: var(--xa-wallet-panel-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
}

.xa-unified-site-header button.wallet-provider.selected .wallet-provider-tag {
  border-color: rgba(30, 91, 230, 0.34);
  background: rgba(30, 91, 230, 0.1);
  color: #6F9AFF;
}

html[data-theme="light"] .xa-unified-site-header button.wallet-provider.selected .wallet-provider-tag {
  color: #174EC1;
}

.xa-unified-site-header .wallet-provider-chevron {
  display: inline-flex;
  color: var(--xa-wallet-panel-muted);
}

.xa-unified-site-header .wallet-connect-safety {
  display: flex;
  align-items: flex-start;
  margin-top: 12px;
  padding: 4px 0;
  gap: 8px;
  color: var(--xa-wallet-panel-muted);
  font-size: 12px;
  line-height: 1.45;
}

html[data-theme="light"] .xa-unified-site-header .wallet-connect-safety {
  color: #11724D;
}

.xa-unified-site-header .wallet-connect-safety > span:first-child {
  display: inline-flex;
  flex: 0 0 auto;
  margin-top: 1px;
}

.xa-unified-site-header .wallet-connect-preview-note {
  margin: 10px 0 0;
  color: var(--xa-wallet-panel-muted);
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
}

.xa-unified-site-header .wallet-connect-preview-note.error {
  color: #FF7770;
}

.xa-unified-site-header .logo,
.xa-unified-site-header .logo-mobile {
  color: #EEF2F7;
  font-weight: 700;
  letter-spacing: 2px;
  text-decoration: none;
}

.xa-unified-site-header .xlmarmy-brand,
.xa-unified-site-header .xlmarmy-brand-mobile {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 1 auto;
  min-width: 0;
  line-height: 0;
  text-decoration: none;
}

.xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile {
  display: none;
}

.xa-unified-site-header .xlmarmy-brand-image {
  display: block;
  width: auto;
  height: 28px;
  max-width: 100%;
  object-fit: contain;
}

.xa-unified-site-header .xlmarmy-brand-wordmark-light {
  display: none;
}

html[data-theme="light"] .xa-unified-site-header .xlmarmy-brand,
html[data-theme="light"] .xa-unified-site-header .xlmarmy-brand-mobile,
html[data-theme="light"] .xa-unified-site-header .mobile-menu-brand {
  padding: 3px 8px;
  border: 1px solid rgba(18, 21, 26, 0.08);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.96), rgba(0, 0, 0, 0.9)),
    #111113;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 8px 18px rgba(0, 0, 0, 0.12);
}

html[data-theme="light"] .xa-unified-site-header .xlmarmy-brand-image {
  height: 28px;
  filter: none;
}

html[data-theme="light"] .xa-unified-site-header .xlmarmy-brand--responsive {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html[data-theme="light"] .xa-unified-site-header .xlmarmy-brand--responsive .xlmarmy-brand-wordmark-dark {
  display: none;
}

html[data-theme="light"] .xa-unified-site-header .xlmarmy-brand--responsive .xlmarmy-brand-wordmark-light {
  display: block;
}

.xa-unified-site-header .xlmarmy-header-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 1 auto;
  min-width: 0;
  margin-left: 10px;
}

.xa-unified-site-header .research-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 28px;
  padding: 0 12px;
  border: 1px solid #252C37;
  border-radius: 999px;
  background: #16243F;
  color: #EEF2F7;
  font-family: "Hanken Grotesk", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(30, 91, 230, 0.22);
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.xa-unified-site-header .research-nav-btn[aria-current="page"],
.xa-unified-site-header .xlmarmy-nav-menu.is-section-active .xlmarmy-nav-trigger {
  border-color: #315EBC;
  background: #1A2947;
  color: #FFFFFF;
}

.xa-unified-site-header .research-nav-btn:hover,
.xa-unified-site-header .research-nav-btn:focus-visible {
  border-color: #1E5BE6;
  background: #1A1F29;
  color: #FFFFFF;
  outline: none;
  transform: translateY(-1px);
}

.xa-unified-site-header .section-nav-btn {
  border-color: #252C37;
  background: #16243F;
  color: #EEF2F7;
}

.xa-unified-site-header .section-nav-btn:focus-visible {
  border-color: #1E5BE6;
  background: #1A1F29;
  color: #FFFFFF;
}

html[data-theme="light"] .xa-unified-site-header .research-nav-btn {
  border-color: #E8E8EA;
  background: #EBF1FE;
  color: #111113;
  box-shadow: none;
}

html[data-theme="light"] .xa-unified-site-header .research-nav-btn:hover,
html[data-theme="light"] .xa-unified-site-header .research-nav-btn:focus-visible {
  border-color: #E8E8EA;
  background: #F4F4F5;
  color: #111113;
}

html[data-theme="light"] .xa-unified-site-header .research-nav-btn[aria-current="page"],
html[data-theme="light"] .xa-unified-site-header .xlmarmy-nav-menu.is-section-active .xlmarmy-nav-trigger {
  border-color: #BFD0F7;
  background: #DDE8FF;
  color: #153D8F;
}

.xa-unified-site-header .xlmarmy-nav-menu {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.xa-unified-site-header .xlmarmy-nav-trigger {
  gap: 4px;
  appearance: none;
  cursor: pointer;
}

.xa-unified-site-header .xlmarmy-nav-chevron,
.xa-unified-site-header .mobile-menu-group-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 160ms ease;
}

.xa-unified-site-header .xlmarmy-nav-chevron {
  width: 12px;
  height: 12px;
  transform: rotate(90deg);
}

.xa-unified-site-header .xlmarmy-nav-chevron svg {
  width: 12px;
  height: 12px;
}

.xa-unified-site-header .xlmarmy-nav-menu.open .xlmarmy-nav-chevron {
  transform: rotate(-90deg);
}

.xa-unified-site-header .xlmarmy-nav-dropdown[hidden] {
  display: none;
}

.xa-unified-site-header .xlmarmy-nav-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 3200;
  display: grid;
  width: 356px;
  padding: 10px;
  border: 1px solid var(--xa-wallet-panel-border);
  border-radius: 12px;
  background: var(--xa-header-menu-bg);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.34);
}

.xa-unified-site-header .xlmarmy-nav-dropdown::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 8px;
  content: '';
}

html[data-theme="light"] .xa-unified-site-header .xlmarmy-nav-dropdown {
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.16);
}

.xa-unified-site-header .xlmarmy-nav-dropdown-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-height: 54px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--xa-header-text);
  text-decoration: none;
  transition: background-color 140ms ease, color 140ms ease;
}

.xa-unified-site-header .xlmarmy-nav-dropdown-item strong {
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.25;
}

.xa-unified-site-header .xlmarmy-nav-dropdown-item small {
  color: var(--xa-wallet-panel-muted);
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.4;
}

.xa-unified-site-header .xlmarmy-nav-dropdown-item:hover,
.xa-unified-site-header .xlmarmy-nav-dropdown-item:focus-visible,
.xa-unified-site-header .xlmarmy-nav-dropdown-item[aria-current="page"] {
  background: #1A2947;
  color: #FFFFFF;
  outline: none;
}

html[data-theme="light"] .xa-unified-site-header .xlmarmy-nav-dropdown-item:hover,
html[data-theme="light"] .xa-unified-site-header .xlmarmy-nav-dropdown-item:focus-visible,
html[data-theme="light"] .xa-unified-site-header .xlmarmy-nav-dropdown-item[aria-current="page"] {
  background: #EBF1FE;
  color: #153D8F;
}

.xa-unified-site-header .theme-toggle-btn,
.xa-unified-site-header .fullscreen-btn,
.xa-unified-site-header .hamburger-btn,
.xa-unified-site-header .mobile-menu-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--xa-header-border);
  background: transparent;
  color: var(--xa-header-dim);
  cursor: pointer;
  font-family: inherit;
  line-height: 1;
  transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.xa-unified-site-header .theme-toggle-btn,
.xa-unified-site-header .fullscreen-btn {
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 4px;
}

.xa-unified-site-header .fullscreen-btn {
  font-size: 14px;
}

.xa-unified-site-header .hamburger-btn {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border-color: transparent;
  border-radius: 4px;
}

.xa-unified-site-header .theme-toggle-btn:hover,
.xa-unified-site-header .fullscreen-btn:hover,
.xa-unified-site-header .hamburger-btn:hover,
.xa-unified-site-header .mobile-menu-close:hover {
  color: var(--xa-header-text);
  border-color: color-mix(in srgb, var(--xa-header-dim) 62%, transparent);
  background: rgba(255, 255, 255, 0.06);
}

html[data-theme="light"] .xa-unified-site-header .theme-toggle-btn,
html[data-theme="light"] .xa-unified-site-header .fullscreen-btn,
html[data-theme="light"] .xa-unified-site-header .hamburger-btn {
  border-color: #E8E8EA;
  background: #FFFFFF;
  color: #5C5C63;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

.xa-unified-site-header .mobile-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  background: var(--xa-header-overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

.xa-unified-site-header .mobile-menu-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.xa-unified-site-header .mobile-menu {
  position: fixed;
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  z-index: 10001;
  display: none;
  width: min(360px, calc(100vw - 24px));
  max-width: 100vw;
  height: 100dvh;
  background: var(--xa-header-menu-bg);
  border-left: 1px solid var(--xa-header-border);
  border-right: 0;
  box-shadow: -18px 0 40px rgba(0, 0, 0, 0.24);
  transform: translate3d(100%, 0, 0);
  transition: transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.xa-unified-site-header .mobile-menu.open {
  transform: translate3d(0, 0, 0);
}

.xa-unified-site-header .mobile-menu-header {
  min-height: 64px;
  padding: 12px 14px 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px solid var(--xa-header-border);
}

.xa-unified-site-header .mobile-menu-brand {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  text-decoration: none;
}

.xa-unified-site-header .mobile-menu-brand-image {
  display: block;
  width: auto;
  height: 28px;
  object-fit: contain;
}

.xa-unified-site-header .mobile-menu-brand-image-light {
  display: none;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-brand {
  border-radius: 14px;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-brand-image {
  height: 28px;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-brand--responsive {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-brand--responsive .mobile-menu-brand-image-dark {
  display: none;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-brand--responsive .mobile-menu-brand-image-light {
  display: block;
  width: auto;
  height: 28px;
  max-width: min(168px, 50vw);
  aspect-ratio: auto;
  filter: none;
}

.xa-unified-site-header .mobile-menu-close {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 10px;
}

.xa-unified-site-header .mobile-menu-divider {
  height: 1px;
  background: var(--xa-header-border);
}

.xa-unified-site-header .mobile-menu-item {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 14px 20px;
  gap: 12px;
  border: 0;
  background: none;
  color: var(--xa-header-text);
  cursor: pointer;
  font-family: inherit;
  font-size: 14px;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.xa-unified-site-header .mobile-menu-item:hover,
.xa-unified-site-header .mobile-menu-item:active {
  background: #1A1F29;
}

.xa-unified-site-header .mobile-menu-item.active {
  color: #EEF2F7;
  background: #16243F;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-item:hover,
html[data-theme="light"] .xa-unified-site-header .mobile-menu-item:active {
  background: #F4F4F5;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-item.active {
  color: #111113;
  background: #EBF1FE;
}

.xa-unified-site-header .mobile-menu-item-icon {
  width: 22px;
  min-width: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.xa-unified-site-header .mobile-menu-brand-symbol img {
  display: block;
  width: 22px;
  height: auto;
  aspect-ratio: 100 / 84;
  object-fit: contain;
}

.xa-unified-site-header .mobile-menu-brand-symbol .mobile-menu-item-symbol-light {
  display: none;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-brand-symbol .mobile-menu-item-symbol-dark {
  display: none;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-brand-symbol .mobile-menu-item-symbol-light {
  display: block;
  filter: none;
}

.xa-unified-site-header .mobile-menu-item-label {
  flex: 1;
  text-align: left;
}

.xa-unified-site-header .mobile-menu-item-meta {
  color: var(--xa-header-dim);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.xa-unified-site-header .mobile-menu-group-chevron {
  width: 18px;
  height: 18px;
  color: var(--xa-header-dim);
  transform: rotate(90deg);
}

.xa-unified-site-header .mobile-menu-group-toggle[aria-expanded="true"] .mobile-menu-group-chevron {
  transform: rotate(-90deg);
}

.xa-unified-site-header .mobile-menu-group[hidden] {
  display: none;
}

.xa-unified-site-header .mobile-menu-group {
  display: grid;
  padding: 4px 10px 10px 54px;
  gap: 2px;
}

.xa-unified-site-header .mobile-menu-subitem {
  display: flex;
  min-height: 48px;
  padding: 8px 12px;
  border-radius: 9px;
  color: var(--xa-header-text);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.xa-unified-site-header .mobile-menu-subitem:hover,
.xa-unified-site-header .mobile-menu-subitem:active,
.xa-unified-site-header .mobile-menu-subitem.active {
  background: #1A2947;
}

html[data-theme="light"] .xa-unified-site-header .mobile-menu-subitem:hover,
html[data-theme="light"] .xa-unified-site-header .mobile-menu-subitem:active,
html[data-theme="light"] .xa-unified-site-header .mobile-menu-subitem.active {
  background: #EBF1FE;
}

.xa-unified-site-header .mobile-menu-subitem-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
}

.xa-unified-site-header .mobile-menu-subitem-copy strong {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.xa-unified-site-header .mobile-menu-subitem-copy small {
  color: var(--xa-header-dim);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
}

@media (pointer: coarse) {
  .xa-unified-site-header .research-nav-btn,
  .xa-unified-site-header .wallet-connect-btn,
  .xa-unified-site-header .theme-toggle-btn,
  .xa-unified-site-header .fullscreen-btn {
    position: relative;
  }

  .xa-unified-site-header .research-nav-btn::before,
  .xa-unified-site-header .wallet-connect-btn::before {
    position: absolute;
    inset: -8px -4px;
    content: '';
  }

  .xa-unified-site-header .theme-toggle-btn::before,
  .xa-unified-site-header .fullscreen-btn::before {
    position: absolute;
    inset: -8px -6px;
    content: '';
  }
}

@media (min-width: 769px) {
  .xa-unified-site-header .xa-header-actions {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .xa-unified-site-header .wallet-connect-shell {
    order: 1;
    flex: 0 0 auto;
  }

  .xa-unified-site-header .theme-toggle-btn {
    order: 2;
    flex: 0 0 28px;
  }

  .xa-unified-site-header .fullscreen-btn {
    order: 3;
    flex: 0 0 28px;
  }
}

@media (min-width: 769px) and (max-width: 900px) {
  .xa-unified-site-header .header {
    padding-right: 8px;
    padding-left: 8px;
  }

  .xa-unified-site-header .header-left {
    gap: 8px;
  }

  .xa-unified-site-header .xlmarmy-header-nav {
    gap: 4px;
    margin-left: 0;
  }

  .xa-unified-site-header .research-nav-btn {
    padding-right: 7px;
    padding-left: 7px;
  }

  .xa-unified-site-header .xa-header-actions {
    gap: 8px;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  .xa-unified-site-header .battlefield-nav-btn {
    display: none;
  }
}

@media (max-width: 768px) {
  .xa-unified-site-header .header {
    height: 44px;
    min-height: 44px;
    gap: 6px;
    padding: 6px max(8px, env(safe-area-inset-right, 0px)) 6px max(8px, env(safe-area-inset-left, 0px));
    overflow: visible;
  }

  .xa-unified-site-header .header-left {
    flex: 1;
    gap: 6px;
  }

  .xa-unified-site-header .hamburger-btn {
    display: inline-flex;
    flex: 0 0 44px;
  }

  .xa-unified-site-header .logo.xlmarmy-brand,
  .xa-unified-site-header .xlmarmy-header-nav {
    display: none !important;
  }

  .xa-unified-site-header .xa-header-actions {
    display: flex;
    flex: 0 0 auto;
    margin-left: auto;
    gap: 6px;
  }

  .xa-unified-site-header .xa-header-actions > .wallet-connect-shell {
    flex: 0 0 auto;
  }

  .xa-unified-site-header .xa-header-actions > .theme-toggle-btn,
  .xa-unified-site-header .xa-header-actions > .fullscreen-btn {
    display: none;
  }

  .xa-unified-site-header .wallet-connect-btn {
    flex: 0 0 auto;
    height: 32px;
    padding: 0 10px;
    gap: 6px;
    box-shadow: none;
  }

  .xa-unified-site-header .wallet-connect-btn-label-desktop {
    display: none;
  }

  .xa-unified-site-header .wallet-connect-btn-label-mobile {
    display: inline;
  }

  .xa-unified-site-header .wallet-connect-panel {
    position: fixed;
    top: 52px;
    right: 8px;
    left: 8px;
    width: auto;
    padding: 14px;
    max-height: calc(100dvh - 60px);
    overflow-y: auto;
  }

  .xa-unified-site-header .wallet-connect-providers {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .xa-unified-site-header .wallet-provider {
    grid-template-columns: 30px minmax(0, 1fr) auto 12px;
    padding: 8px 10px;
    gap: 7px;
  }

  .xa-unified-site-header .wallet-provider-mark,
  .xa-unified-site-header .wallet-provider-mark img,
  .xa-unified-site-header .wallet-provider-mark > svg {
    width: 30px;
    height: 30px;
  }

  .xa-unified-site-header .wallet-provider .wallet-provider-state {
    padding-left: 37px;
  }

  .xa-unified-site-header .wallet-provider--wide {
    grid-column: auto;
  }

  .xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile {
    display: inline-flex;
    align-items: center;
    flex: 1 1 104px;
    max-width: clamp(86px, 31vw, 138px);
    margin-left: 2px;
  }

  .xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile .xlmarmy-brand-image {
    height: 21px;
    max-width: 100%;
  }

  html[data-theme="light"] .xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile .xlmarmy-brand-image {
    height: 21px;
  }

  .xa-unified-site-header .mobile-menu-overlay,
  .xa-unified-site-header .mobile-menu {
    display: block;
  }

  body:not(.mobile-menu-open) .xa-unified-site-header .mobile-menu {
    display: none;
  }

  body.mobile-menu-open .xa-unified-site-header .mobile-menu {
    display: block;
  }

  .xa-unified-site-header .mobile-menu {
    width: 100vw;
    max-width: 100vw;
  }

  body.mobile-menu-open {
    overflow: hidden !important;
    touch-action: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .xa-unified-site-header .wallet-connect-panel {
    animation: none;
  }
}

/* ── Wallet provider cards: detection, connection progress, failure recovery ──
 * The card used to be a static row. It now reports whether the extension is
 * actually present, shows where the flow is while the wallet is deciding, and
 * keeps the failure on the card the user pressed instead of only in the footer.
 */
.xa-unified-site-header .wallet-provider-state {
  grid-column: 1 / -1;
  margin-top: 2px;
  padding-left: 43px;
  color: var(--xa-header-muted, #8d9aac);
  font-size: 11px;
  line-height: 1.4;
}

.xa-unified-site-header .wallet-provider-state[hidden] {
  display: none;
}

.xa-unified-site-header button.wallet-provider.is-last-used {
  border-color: rgba(79, 128, 239, 0.55);
}

.xa-unified-site-header button.wallet-provider.is-last-used .wallet-provider-state {
  color: #78a3ff;
}

.xa-unified-site-header button.wallet-provider.is-missing {
  opacity: 0.78;
}

.xa-unified-site-header button.wallet-provider.is-missing .wallet-provider-tag {
  border-color: rgba(224, 163, 58, 0.5);
  color: #e0a33a;
}

html[data-theme="light"] .xa-unified-site-header button.wallet-provider.is-missing .wallet-provider-tag {
  color: #96620b;
}

.xa-unified-site-header button.wallet-provider.has-error {
  border-color: rgba(244, 80, 103, 0.6);
  background: rgba(244, 80, 103, 0.07);
}

.xa-unified-site-header button.wallet-provider.has-error .wallet-provider-state {
  color: #f45067;
}

/* The card being connected stays enabled and animated while every other card dims. */
.xa-unified-site-header button.wallet-provider.is-connecting {
  border-color: #4F80EF;
  cursor: progress;
  opacity: 1;
}

.xa-unified-site-header button.wallet-provider.is-connecting .wallet-provider-state {
  position: relative;
  color: #78a3ff;
}

.xa-unified-site-header button.wallet-provider.is-connecting .wallet-provider-state::before {
  position: absolute;
  top: 50%;
  left: 24px;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border: 2px solid rgba(120, 163, 255, 0.32);
  border-radius: 50%;
  border-top-color: #78a3ff;
  content: '';
  animation: xa-wallet-spin 720ms linear infinite;
}

.xa-unified-site-header button.wallet-provider.is-connecting .wallet-provider-chevron {
  opacity: 0;
}

@keyframes xa-wallet-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .xa-unified-site-header button.wallet-provider.is-connecting .wallet-provider-state::before {
    animation: none;
  }
}

/* ---- site-laser.css ---- */
/* Decorative edges only. Never animate text, chart canvases, or transaction state. */
:where(
  .xa-unified-site-header .header,
  .xa-unified-site-header .research-nav-btn,
  .xa-unified-site-header .xlmarmy-nav-dropdown-item,
  .xa-unified-site-header .mobile-menu-subitem,
  [data-xa-laser-page="learning"] [data-screen-label="Explore catalog"] > div:first-child
) {
  position: relative;
  --xa-laser-color: #4885ff;
  --xa-laser-core: #d6faff;
}

:where(
  .xa-unified-site-header .header,
  .xa-unified-site-header .research-nav-btn,
  .xa-unified-site-header .xlmarmy-nav-dropdown-item,
  .xa-unified-site-header .mobile-menu-subitem,
  [data-xa-laser-page="learning"] [data-screen-label="Explore catalog"] > div:first-child
)::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset-inline: 12px;
  top: 0;
  height: 2px;
  border-radius: 2px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent, var(--xa-laser-color) 44%, var(--xa-laser-core) 64%, var(--xa-laser-color) 78%, transparent) no-repeat;
  background-size: 30% 100%;
  background-position: -45% 0;
  filter: drop-shadow(0 0 3px var(--xa-laser-color));
}

/* One arrival sweep, then quiet while reading. Hover/focus can replay it. */
:where(
  .xa-unified-site-header .header,
  [data-xa-laser-page="learning"] [data-screen-label="Explore catalog"] > div:first-child
)::after {
  animation: xa-site-laser-arrive 4.8s cubic-bezier(.4, 0, .2, 1) 1 both;
}

.xa-unified-site-header .header::after {
  top: auto;
  bottom: 0;
  height: 1px;
}

:where(
  .xa-unified-site-header .research-nav-btn,
  .xa-unified-site-header .xlmarmy-nav-dropdown-item,
  .xa-unified-site-header .mobile-menu-subitem
)::after {
  top: auto;
  bottom: 2px;
  height: 1px;
}

:where(
  .xa-unified-site-header .research-nav-btn,
  .xa-unified-site-header .xlmarmy-nav-dropdown-item,
  .xa-unified-site-header .mobile-menu-subitem,
  [data-xa-laser-page="news"] .xa-grid > article
):focus-within::after {
  animation: xa-site-laser-interact 2.4s ease-out 1 both;
}

@media (hover: hover) and (pointer: fine) {
  :where(
    .xa-unified-site-header .research-nav-btn,
    .xa-unified-site-header .xlmarmy-nav-dropdown-item,
    .xa-unified-site-header .mobile-menu-subitem,
    [data-xa-laser-page="news"] .xa-grid > article
  ):hover::after {
    animation: xa-site-laser-interact 2.4s ease-out 1 both;
  }
}

[data-xa-laser-page="news"] .xa-hero > div > a:focus-visible > div:first-child::after {
  animation: xa-site-laser-interact 2.4s ease-out 1 both;
}

@keyframes xa-site-laser-arrive {
  0%, 8% { background-position: -45% 0; opacity: 0; }
  18%, 72% { opacity: .9; }
  92%, 100% { background-position: 145% 0; opacity: 0; }
}

@keyframes xa-site-laser-interact {
  0% { background-position: -45% 0; opacity: 0; }
  15%, 72% { opacity: 1; }
  100% { background-position: 145% 0; opacity: 0; }
}

/* No extra scrolling, layers across content, or motion for accessibility modes. */
@media (prefers-reduced-motion: reduce), (forced-colors: active), print {
  :where(
    .xa-unified-site-header .header,
    .xa-unified-site-header .research-nav-btn,
    .xa-unified-site-header .xlmarmy-nav-dropdown-item,
    .xa-unified-site-header .mobile-menu-subitem,
    [data-xa-laser-page="learning"] [data-screen-label="Explore catalog"] > div:first-child
  )::after {
    animation: none !important;
    content: none;
    filter: none;
  }
}

/* ---- site-mobile-finish.css ---- */
/* Load after the generated explorer styles and Swap workspace styles. */
:root[data-theme='light'] .xa-swap-app {
  --swap-line: #DCDCDF;
  --swap-line-strong: #C7C7CC;
  --swap-green: #067a56;
  --swap-red: #c92d46;
}

:root[data-theme='light'] .xa-swap-ticket,
:root[data-theme='light'] .xa-swap-execution {
  box-shadow: 0 8px 28px rgba(39, 54, 74, 0.08);
}

:root[data-theme='light'] .xa-swap-field {
  background: #F6F6F7;
}

:root[data-theme='light'] .xa-swap-field:focus-within {
  background: #eef4ff;
}

@media (max-width: 768px) {
  /* Imported templates use inline sizes; override only the named mobile controls. */
  .xaapphead .xasearch input {
    min-height: 44px !important;
    font-size: 16px !important;
  }

  .xa-market-content .xa-market-categories button,
  .xa-market-content .xatabs button {
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 13px !important;
    line-height: 20px !important;
    touch-action: manipulation;
  }

  .xa-market-content .xatabs {
    display: flex !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
  }

  .xa-market-content .xa-market-categories button,
  .xa-market-content .xatabs button {
    flex: 0 0 auto !important;
    width: auto !important;
    padding-inline: 12px !important;
    white-space: nowrap;
  }

  .xa-market-content .xa-market-table-head {
    min-height: 46px !important;
  }

  .xa-market-content .xa-market-sort-control {
    min-height: 44px;
    align-content: center;
    touch-action: manipulation;
  }

  .xatrmobile-v2 .xamob-side-tabs {
    height: 52px !important;
  }

  .xatrmobile-v2 .xamob-side-tabs button,
  .xatrmobile-v2 .xamob-percent button,
  .xatrmobile-v2 .xamob-chart-tools button,
  .xatrmobile-v2 .xamob-chart-indicators button,
  .xatrmobile-v2 .xamob-actions button {
    min-width: 44px;
    min-height: 44px;
    height: 44px !important;
    flex-shrink: 0;
    touch-action: manipulation;
  }

  .xatrmobile-v2 .xamob-viewtabs,
  .xatrmobile-v2 .xamob-accountdock {
    height: 46px;
  }

  .xatrmobile-v2 .xamob-viewtabs button,
  .xatrmobile-v2 .xamob-accountdock button {
    min-height: 44px;
    height: 44px;
  }

  .xatrmobile-v2 .xamob-actions {
    height: 56px;
  }

  .xatrmobile-v2 .xamob-chart-tools,
  .xatrmobile-v2 .xamob-chart-indicators {
    min-height: 48px;
    height: auto;
    overflow-x: auto;
    flex-wrap: nowrap;
    overscroll-behavior-x: contain;
  }

  .xatrmobile-v2 .xamob-field {
    height: 48px !important;
  }

  .xatrmobile-v2 .xamob-field input,
  .xatrmobile-v2 .xamob-picker-search input {
    min-height: 44px;
    font-size: 16px !important;
  }

  .xatrmobile-v2 .xamob-slider {
    height: 44px !important;
    min-height: 44px;
    margin-block: 0 !important;
    background: transparent;
  }

  .xatrmobile-v2 .xamob-slider::-webkit-slider-runnable-track {
    height: 4px;
    border-radius: 2px;
    background: var(--bd2);
  }

  .xatrmobile-v2 .xamob-slider::-moz-range-track {
    height: 4px;
    border-radius: 2px;
    background: var(--bd2);
  }

  .xatrmobile-v2 .xamob-ticket {
    scroll-padding-bottom: 60px;
  }

  .xa-swap-chart-tools {
    flex-wrap: wrap;
    gap: 8px;
  }

  .xa-swap-token-search input,
  .xa-swap-slippage-custom input {
    min-height: 44px;
    font-size: 16px;
  }

  .xa-swap-token-chip {
    min-height: 44px;
  }

  .xa-swap-token-list {
    scroll-padding-block: 8px;
  }
}

@media (max-width: 360px) {
  /* Four 44px controls cannot fit the narrow ticket beside its order book. */
  .xatrmobile-v2 .xamob-percent {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
  }

  .xa-swap-slippage-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xa-swap-slippage-custom {
    grid-column: 1 / -1;
  }
}

/* ---- token-explorer-shell-page.css ---- */
html.xa-token-explorer-shell-root,
body.xa-token-explorer-shell-body {
  height: 100%;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: #FAFAFA;
}

html.xa-token-explorer-shell-root[data-theme="dark"],
html.xa-token-explorer-shell-root[data-theme="dark"] body.xa-token-explorer-shell-body {
  background: #0B0E13;
}

.xa-token-explorer-shell-layout {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: 100%;
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden;
}

.xa-token-explorer-shell-layout.has-development-ticker {
  grid-template-rows: auto 26px minmax(0, 1fr);
}

.xa-dex-development-ticker {
  position: relative;
  z-index: 9;
  display: flex;
  align-items: center;
  min-width: 0;
  overflow: hidden;
  border-block: 1px solid rgba(30, 91, 230, 0.2);
  background:
    linear-gradient(90deg, rgba(30, 91, 230, 0.12), rgba(61, 214, 140, 0.07) 50%, rgba(30, 91, 230, 0.12)),
    #f7faff;
  color: #173b78;
  pointer-events: none;
}

.xa-dex-development-ticker::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #f7faff 0, transparent 28px, transparent calc(100% - 28px), #f7faff 100%);
  pointer-events: none;
}

.xa-dex-development-ticker-track {
  display: flex;
  align-items: center;
  width: max-content;
  min-width: max-content;
  animation: xa-dex-development-ticker 24s linear infinite;
  will-change: transform;
}

.xa-dex-development-ticker-group {
  display: flex;
  flex: none;
  align-items: center;
  gap: 18px;
  padding: 0 34px;
  white-space: nowrap;
  font: 650 10px/24px 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;
  letter-spacing: 0.08em;
}

.xa-dex-development-ticker-group b {
  color: #1e5be6;
  font-weight: 800;
}

.xa-dex-development-ticker-group i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #18a978;
  box-shadow: 0 0 8px rgba(24, 169, 120, 0.75);
}

html[data-theme="dark"] .xa-dex-development-ticker {
  border-color: rgba(98, 140, 238, 0.22);
  background:
    linear-gradient(90deg, rgba(30, 91, 230, 0.14), rgba(61, 214, 140, 0.06) 50%, rgba(30, 91, 230, 0.14)),
    #0d131d;
  color: #b7c5dc;
}

html[data-theme="dark"] .xa-dex-development-ticker::after {
  background: linear-gradient(90deg, #0d131d 0, transparent 28px, transparent calc(100% - 28px), #0d131d 100%);
}

html[data-theme="dark"] .xa-dex-development-ticker-group b {
  color: #7ca2ff;
}

@keyframes xa-dex-development-ticker {
  to { transform: translateX(-50%); }
}

.xa-token-explorer-shell,
.xa-token-explorer-frame {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  overflow: hidden;
  background: #FAFAFA;
}

.xa-token-explorer-frame {
  opacity: 0;
  transition: opacity 220ms ease;
}

.xa-token-explorer-frame.is-ready {
  opacity: 1;
}

html[data-theme="dark"] .xa-token-explorer-shell,
html[data-theme="dark"] .xa-token-explorer-frame {
  background: #0B0E13;
}

@media (prefers-reduced-motion: reduce) {
  .xa-token-explorer-frame {
    transition: none;
  }

  .xa-dex-development-ticker-track {
    width: 100%;
    min-width: 0;
    animation: none;
  }

  .xa-dex-development-ticker-group {
    justify-content: center;
    width: 100%;
    padding-inline: 12px;
  }

  .xa-dex-development-ticker-group + .xa-dex-development-ticker-group {
    display: none;
  }
}

@media (max-width: 520px) {
  .xa-dex-development-ticker-group {
    gap: 10px;
    padding-inline: 18px;
    font-size: 9px;
    letter-spacing: 0.055em;
  }

  .xa-dex-development-ticker-group b,
  .xa-dex-development-ticker-group i {
    display: none;
  }
}
/* Retained workspaces must not participate in layout or hit testing. */
.xa-token-explorer-frame[hidden], .xa-dex-development-ticker[hidden] { display: none !important; }

/* DEX-only sharp navigation. Shared header and wallet-panel styling stay intact. */
body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .header {
  background: #060708;
  border-bottom-color: #24262A;
}

body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .research-nav-btn {
  border-radius: 3px;
  border-color: #24262A;
  background: #101113;
  color: #ADB1B8;
}

body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .research-nav-btn[aria-current="page"],
body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .xlmarmy-nav-menu.is-section-active .xlmarmy-nav-trigger {
  border-color: #2997FF;
  background: rgba(41, 151, 255, 0.12);
  color: #2997FF;
}

body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .research-nav-btn:hover {
  background: #17191C;
  color: #F0F1F3;
}

body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .wallet-connect-btn {
  border-radius: 3px;
  border-color: #0969CE;
  background: #0969CE;
  box-shadow: none;
}

body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .wallet-connect-btn:hover {
  background: #075CB8;
}

html[data-theme="light"] body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .header {
  background: #FFFFFF;
  border-bottom-color: #E3E3E6;
}

html[data-theme="light"] body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .research-nav-btn {
  background: #F6F6F7;
  border-color: #E3E3E6;
  color: #52525A;
}

html[data-theme="light"] body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .research-nav-btn[aria-current="page"],
html[data-theme="light"] body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .xlmarmy-nav-menu.is-section-active .xlmarmy-nav-trigger {
  background: rgba(9, 105, 206, 0.075);
  border-color: #0969CE;
  color: #0969CE;
}

html[data-theme="light"] body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell:not(.xa-swap-shell)) .xa-unified-site-header .research-nav-btn:hover {
  background: #F2F2F3;
  color: #18181B;
}

/* ---- brand fit ---- */
/* The phone home link is as wide as the icon it shows; its touch area (logo
   touch area, below) is 44px square round the icon. The header space beside
   it is not a link. */
@media (max-width: 768px) {
  .xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile{flex:0 0 auto;max-width:none}
  .xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile .xlmarmy-brand-image,
  html[data-theme="light"] .xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile .xlmarmy-brand-image{height:26px}
}

/* ---- logo touch area ---- */
/* The wordmark is the way home, but its link was only as tall as the
   artwork: 26px on phones, 28px beside the nav and in the phone menu, where
   the menu button beside it is 44px. An invisible layer as tall as the
   header row (44px on phones, 40px from 769px, 44px in the menu's 64px
   head) takes the taps above and below it; nothing moves or looks
   different, and it ends where the link does on either side. */
.xa-unified-site-header :is(.logo.xlmarmy-brand,.logo-mobile.xlmarmy-brand-mobile,.mobile-menu-brand){position:relative}
.xa-unified-site-header :is(.logo.xlmarmy-brand,.logo-mobile.xlmarmy-brand-mobile,.mobile-menu-brand)::after{content:'';position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
.xa-unified-site-header .logo.xlmarmy-brand::after{height:40px}
/* The icon alone is 41px wide on phones: the layer is at least 44px wide,
   centred on it, so the tap target is 44x44 while the link stays the icon. */
.xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile::after{left:50%;right:auto;width:max(100%,44px);transform:translate(-50%,-50%)}
/* The brand is the X ARMY icon alone (no wordmark text), drawn a little
   taller than the old wordmark so the ARMY plate inside it stays legible. */
.xa-unified-site-header .logo.xlmarmy-brand .xlmarmy-brand-image{height:32px!important;width:auto!important;max-width:none!important}
.xa-unified-site-header .logo-mobile.xlmarmy-brand-mobile .xlmarmy-brand-image{height:34px!important;width:auto!important;max-width:none!important}
.xa-unified-site-header .mobile-menu-brand--responsive .mobile-menu-brand-image{height:34px!important;width:auto!important;max-width:none!important}

/* ---- menu button in light ---- */
/* The source's light rule gives the 44px menu button the 28px theme and
   fullscreen buttons' white bordered tile; at the full header height it ran
   from above the window's top edge to the header line. In dark it is the bare
   icon; light now draws it the same. The theme and fullscreen buttons keep
   their tile. */
html[data-theme="light"] .xa-unified-site-header .hamburger-btn{border-color:transparent;background:transparent;box-shadow:none}

/* ---- header fonts ---- */
/* While a face the header is drawn in is still loading (xa-shell.js adds
   html.xa-font-wait-*, 3s at most), what its width would move is hidden, so
   it is drawn once, in its own font, instead of jumping when it arrives. */
html.xa-font-wait-nav .xa-unified-site-header .xlmarmy-header-nav,
html.xa-font-wait-wallet .xa-unified-site-header .wallet-connect-btn,
html.xa-font-wait-notfound main.xa-notfound > div{visibility:hidden}

/* ---- wallet icons ---- */
/* Until a wallet's own icon has loaded (xa-shell.js), its card shows an
   empty tile in the panel's border colour. It showed the site's own mark,
   so every wallet looked like XLM ARMY's for up to 1.3s. */
.xa-unified-site-header .wallet-provider-mark:empty{border-radius:24%;background:var(--xa-wallet-panel-border)}

/* ---- wallet panel fit ---- */
/* On desktop the panel hangs from the header with no height limit; on a short
   window or a phone held sideways its last wallets were below the screen and
   the page cannot scroll. It now scrolls inside itself, as it does on phones. */
@media (min-width: 769px) {
  .xa-unified-site-header .wallet-connect-panel{max-height:calc(100dvh - 64px);overflow-y:auto}
}

/* ---- wallet panel close on touch ---- */
/* The panel's x is 28px, the only one of the header's touch controls the
   coarse-pointer block does not give a larger hit area. The same invisible
   extension the theme and fullscreen buttons get, 7px past its 1px border,
   makes it 40x40; it looks the same. */
@media (pointer: coarse) {
  .xa-unified-site-header .wallet-connect-close{position:relative}
  .xa-unified-site-header .wallet-connect-close::before{position:absolute;inset:-7px;content:''}
}

/* ---- wallet provider blurbs ---- */
/* Beside the tag in the two-column grid a blurb gets about 100px, and its
   last line was often one word ("Foundation", "web", "networks"). Balanced
   lines keep at least two words on the last one. */
.xa-unified-site-header .wallet-provider-copy small{text-wrap:balance}

/* ---- wallet panel backdrop ---- */
/* While the panel is open an invisible layer under the header covers the
   framed app, so the tap that closes the panel does not also open what is
   under it. */
.xa-unified-site-header .xa-wallet-backdrop{position:fixed;inset:0;z-index:3000;background:transparent;-webkit-tap-highlight-color:transparent}
.xa-unified-site-header .xa-wallet-backdrop[hidden]{display:none}

/* ---- swap token picker open ---- */
/* The swap card's picker dims the page under it, but its scrim lives in the
   frame and stopped at the header, which stayed bright and live: the theme
   could be switched, and the wallet panel opened over the open picker. While
   the picker is open (html.xa-swap-dialog-open, set by xa-swap-bridge.js) the
   header, its bottom border included, gets the picker's own scrim, which takes
   its clicks; xa-shell.js also makes it inert. (::after is the header's laser
   line.) */
html.xa-swap-dialog-open .xa-unified-site-header .header::before{content:'';position:absolute;inset:0 0 -1px;z-index:3300;background:rgba(0,0,0,.6)}
html[data-theme="light"].xa-swap-dialog-open .xa-unified-site-header .header::before{background:rgba(0,0,0,.28)}

/* ---- keyboard focus in the header, on every page ---- */
body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header :is(.research-nav-btn,.wallet-connect-btn,.xlmarmy-brand,.theme-toggle-btn,.fullscreen-btn,.hamburger-btn,.mobile-menu-brand,.mobile-menu-close,.mobile-menu-item,.wallet-connect-close,button.wallet-provider,.wallet-connected-actions button,.wallet-connected-actions a):focus-visible{outline:2px solid #2997FF;outline-offset:2px}
html[data-theme="light"] body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header :is(.research-nav-btn,.wallet-connect-btn,.xlmarmy-brand,.theme-toggle-btn,.fullscreen-btn,.hamburger-btn,.mobile-menu-brand,.mobile-menu-close,.mobile-menu-item,.wallet-connect-close,button.wallet-provider,.wallet-connected-actions button,.wallet-connected-actions a):focus-visible{outline-color:#0969CE}
/* Where the control meets an edge that clips (the top of the window, the
   sides of the phone menu), the ring is drawn closer: the 44px menu button
   starts half a pixel above the window and the menu rows span the menu, so
   their rings sit inside them; above 768px the wallet button's top is 3.5px
   from the top of the window, so its ring sits 1px off it. */
body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header .header-left .hamburger-btn:focus-visible{outline-offset:-3px}
/* Up to 768px the ring is drawn round the icon image, which is the link's
   whole box (brand fit). */
body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header .xlmarmy-brand-mobile:focus-visible{outline:none}
body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header .xlmarmy-brand-mobile:focus-visible .xlmarmy-brand-image{outline:2px solid #2997FF;outline-offset:2px}
html[data-theme="light"] body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header .xlmarmy-brand-mobile:focus-visible .xlmarmy-brand-image{outline-color:#0969CE}
body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header .mobile-menu .mobile-menu-item:focus-visible{outline-offset:-2px}
@media (min-width: 769px) {
  body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header .wallet-connect-shell .wallet-connect-btn:focus-visible{outline-offset:1px}
}
/* A wallet card the keyboard scrolls into view keeps its ring inside the
   panel's scrolling box. */
body.xa-token-explorer-shell-body:has(.xa-token-explorer-shell) .xa-unified-site-header button.wallet-provider{scroll-margin:6px}


/* ---- not-found page ---- */
/* Outside the header no text colour is set, so the heading rendered black on
   the dark background and the link in the browser's default blue. The link
   is the page's one action: 42px tall, a full touch target on phones. */
main.xa-notfound{color:#EEF2F7}
main.xa-notfound .xa-notfound-dim{color:#8A93A2}
html[data-theme="light"] main.xa-notfound{color:#111113}
html[data-theme="light"] main.xa-notfound .xa-notfound-dim{color:#5C5C63}
main.xa-notfound .xa-notfound-mark{display:block}
main.xa-notfound .xa-notfound-mark-light,html[data-theme="light"] main.xa-notfound .xa-notfound-mark-dark{display:none}
html[data-theme="light"] main.xa-notfound .xa-notfound-mark-light{display:block}
main.xa-notfound .xa-notfound-cta{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:42px;padding:0 16px;border:1px solid #2997FF;border-radius:3px;background:rgba(41,151,255,.12);color:#2997FF;font-family:"Hanken Grotesk",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px;font-weight:700;letter-spacing:.09em;line-height:1;text-decoration:none;text-transform:uppercase;white-space:nowrap}
main.xa-notfound .xa-notfound-cta:hover{background:rgba(41,151,255,.2)}
main.xa-notfound .xa-notfound-cta:focus-visible{outline:2px solid #2997FF;outline-offset:2px}
html[data-theme="light"] main.xa-notfound .xa-notfound-cta{border-color:#0969CE;background:rgba(9,105,206,.075);color:#0969CE}
html[data-theme="light"] main.xa-notfound .xa-notfound-cta:hover{background:rgba(9,105,206,.14)}
html[data-theme="light"] main.xa-notfound .xa-notfound-cta:focus-visible{outline-color:#0969CE}
