.nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 100;
      display: flex;
      align-items: stretch;
      padding: 0.65rem 1.5rem;
      min-height: 52px;
      background: transparent;
      border-bottom: 1px solid var(--hero-border);
      box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
    }

/* Glass lives here  not on .nav  so fixed mobile drawer is not clipped to the bar */

.nav-brand {
      display: flex;
      align-items: center;
      gap: 1rem;
      flex-wrap: nowrap;
      position: relative;
      z-index: 2;
    }

.nav-wordmark {
      font-weight: 800;
      font-size: 1.1rem;
      letter-spacing: 0.1em;
      color: var(--text);
      line-height: 1;
      user-select: none;
    }

.nav-logo {
      display: flex;
      align-items: center;
      flex-shrink: 0;
      line-height: 0;
      text-decoration: none;
      color: inherit;
    }

.nav-logo img {
      height: 42px;
      width: 42px;
      max-height: 42px;
      display: block;
      object-fit: contain;
    }

.nav-menu-panel {
      display: flex;
      align-items: center;
      /* Center link strip in the bar (logo left, actions right) */
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      margin-left: 0;
      z-index: 3;
    }

.nav-actions {
      display: flex;
      align-items: center;
      gap: 0.65rem;
      margin-left: auto;
      align-self: center;
      position: relative;
      z-index: 2;
    }

/** Signed-in header: RISE portfolio (USD) + Deposit (swap) — sits left of Connect/wallet. */
.nav-wallet-extras {
      display: flex;
      align-items: center;
      gap: 0.55rem;
      flex-shrink: 0;
      margin-right: 0.1rem;
    }

.nav-wallet-extras[hidden] {
      display: none !important;
    }

.nav-wallet-extras__portfolio {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      gap: 0.06rem;
      min-width: 0;
      line-height: 1.15;
    }

.nav-wallet-extras__label {
      font-size: 0.62rem;
      font-weight: 650;
      letter-spacing: 0.02em;
      text-transform: none;
      color: var(--text-muted);
    }

.nav-wallet-extras__usd {
      font-size: 0.88rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      letter-spacing: -0.02em;
      color: #4ade80;
    }

html[data-theme="light"] .nav-wallet-extras__usd {
      color: #059669;
    }

.nav-deposit-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 32px;
      padding: 0 0.65rem;
      flex-shrink: 0;
      border-radius: 8px;
      border: 1px solid color-mix(in srgb, #3b82f6 55%, var(--hero-border));
      background: #3b82f6;
      color: #ffffff;
      font: inherit;
      font-weight: 750;
      font-size: 0.68rem;
      letter-spacing: 0.02em;
      text-decoration: none;
      white-space: nowrap;
      transition: filter 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
    }

.nav-deposit-btn:hover {
      filter: brightness(1.06);
      transform: translateY(-1px);
    }

.nav-deposit-btn:focus-visible {
      outline: 2px solid color-mix(in srgb, #3b82f6 70%, transparent);
      outline-offset: 2px;
    }

html[data-theme="light"] .nav-deposit-btn {
      border-color: #2563eb;
      background: #2563eb;
    }

/* Desktop: more horizontal rhythm between portfolio, deposit, wallet, profile */
@media (min-width: 768px) {
      .nav-actions {
        gap: 1.05rem;
      }
      .nav-wallet-extras {
        gap: 1rem;
        margin-right: 0.45rem;
      }
      .nav-deposit-btn {
        padding: 0 0.85rem;
      }
      .wallet-connect {
        padding: 0 0.65rem 0 0.65rem;
        gap: 0.38rem;
      }
      .nav-profile-btn:not(:has(.nav-profile-btn__soon:not([hidden]))) {
        gap: 0;
        padding: 2px;
        width: 40px;
        min-width: 40px;
        height: 40px;
        border-radius: 50%;
      }
    }

.theme-toggle {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      padding: 0;
      line-height: 0;
      flex-shrink: 0;
      border-radius: 8px;
      border: 1px solid var(--hero-border);
      background: var(--bg-elevated);
      color: var(--text);
      cursor: pointer;
      transition: border-color 0.2s, transform 0.2s;
    }

.theme-toggle:hover {
      border-color: rgba(255, 255, 255, 0.48);
      transform: translateY(-1px);
    }

.theme-toggle svg {
      width: 16px;
      height: 16px;
      display: block;
    }

.nav-dashboard-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      height: 32px;
      padding: 0 0.55rem;
      flex-shrink: 0;
      border-radius: 8px;
      border: 1px solid var(--hero-border);
      background: var(--bg-elevated);
      color: var(--text);
      font: inherit;
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 0.03em;
      line-height: 1;
      white-space: nowrap;
      text-decoration: none;
      cursor: pointer;
      transition: border-color 0.2s, transform 0.2s, background 0.14s ease;
    }

.nav-dashboard-btn:hover {
      border-color: rgba(255, 255, 255, 0.48);
      transform: translateY(-1px);
    }

.nav-profile-wrap {
      position: relative;
      z-index: 2;
    }

.nav-profile-wrap.is-open .nav-profile-btn {
      border-color: rgba(255, 255, 255, 0.42);
    }

.nav-profile-wrap.is-open .nav-profile-btn__media {
      box-shadow:
        0 0 0 2px color-mix(in srgb, var(--cyan, #38bdf8) 45%, transparent),
        0 1px 2px rgba(0, 0, 0, 0.12);
    }

.nav-profile-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0;
      height: 40px;
      min-width: 40px;
      width: 40px;
      padding: 2px;
      flex-shrink: 0;
      border-radius: 50%;
      border: 1px solid var(--hero-border);
      background: var(--bg-elevated);
      color: var(--text);
      font: inherit;
      font-weight: 700;
      font-size: 0.68rem;
      letter-spacing: 0.03em;
      text-transform: none;
      line-height: 1;
      white-space: nowrap;
      cursor: pointer;
      transition: border-color 0.2s, transform 0.2s, background 0.14s ease;
    }

.nav-profile-btn:hover {
      border-color: rgba(255, 255, 255, 0.48);
      transform: translateY(-1px);
    }

.nav-profile-btn.is-disabled {
      opacity: 0.7;
      cursor: not-allowed;
      pointer-events: none;
      transform: none !important;
    }

.nav-profile-btn__media {
      position: relative;
      width: 36px;
      height: 36px;
      flex-shrink: 0;
      border-radius: 50%;
      overflow: hidden;
      border: 1px solid color-mix(in srgb, var(--hero-border) 85%, transparent);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
    }

.nav-profile-btn__avatar-img,
.nav-profile-btn__avatar-ph {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border-radius: 50%;
    }

.nav-profile-btn__avatar-img {
      object-fit: cover;
      display: block;
    }

.nav-profile-btn__avatar-img[hidden] {
      display: none !important;
    }

.nav-profile-btn__avatar-ph {
      display: block;
      background: linear-gradient(145deg, #22c55e 0%, #15803d 48%, #14532d 100%);
    }

.nav-profile-btn__avatar-ph[hidden] {
      display: none !important;
    }

.nav-profile-btn__soon {
      flex: 1 1 auto;
      text-align: center;
      font-size: 0.68rem;
      font-weight: 750;
      letter-spacing: 0.02em;
    }

.nav-profile-btn__soon[hidden] {
      display: none !important;
    }

/** Wider pill when “Coming soon” replaces the avatar (dev flag). */
.nav-profile-btn:has(.nav-profile-btn__soon:not([hidden])) {
      width: auto;
      min-width: 7.5rem;
      height: 40px;
      padding: 0.1rem 0.65rem;
      border-radius: 999px;
      gap: 0.35rem;
    }

.nav-profile-panel {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      width: min(300px, calc(100vw - 1.5rem));
      overflow: visible;
      padding: 0;
      border-radius: 12px;
      border: 1px solid var(--hero-border);
      background: var(--nav-bg);
      backdrop-filter: blur(18px) saturate(1.12);
      box-shadow: 0 18px 50px rgba(0, 0, 0, 0.42);
      z-index: 103;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-6px);
      transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
      pointer-events: none;
    }

.nav-profile-panel .suite-studio__nav-foot--workspace-util {
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
      margin-top: 0.45rem;
      padding-top: 0.45rem;
      border-top: 1px solid var(--hero-border);
    }

.nav-profile-wrap.is-open .nav-profile-panel {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      pointer-events: auto;
    }

/* Bridge the pixel gap between the Profile trigger and the absolutely positioned panel.
   Without this, clicks/mousedown in the gap hit content behind the nav — wallet.js treats that as
   “outside” the wrap and closes the dropdown while moving toward the panel. */
.nav-profile-wrap.is-open::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      height: 12px;
      z-index: 102;
      pointer-events: auto;
    }

.nav-profile-panel__body {
      max-height: min(72dvh, 28rem);
      overflow-x: hidden;
      overflow-y: auto;
      padding: 0.75rem 0.85rem 0.9rem;
      overscroll-behavior: contain;
    }

.nav-profile-wallet-public-mount.rise-wallet-public-profile {
      margin: 0 0 1rem;
      padding: 0.65rem 0.72rem;
      border-radius: 0.62rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 90%, transparent);
      background: color-mix(in srgb, var(--bg-page) 40%, transparent);
    }

.rise-wallet-public-profile__field--balance .rise-wallet-public-profile__balance {
      display: flex;
      flex-direction: column;
      gap: 0.22rem;
      margin-top: 0.12rem;
    }

.rise-wallet-public-profile__balance-eth {
      font-size: 0.92rem;
      font-weight: 780;
      letter-spacing: 0.03em;
      color: var(--text);
      font-variant-numeric: tabular-nums;
    }

.rise-wallet-public-profile__balance-usd {
      font-size: 0.76rem;
      font-weight: 650;
      color: var(--text-muted);
      font-variant-numeric: tabular-nums;
    }

.rise-wallet-public-profile__heading {
      margin: 0 0 0.35rem;
      font-size: 0.58rem;
      font-weight: 900;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: color-mix(in srgb, var(--cyan, #38bdf8) 42%, var(--text-muted));
    }

.rise-wallet-public-profile__hint {
      margin: 0 0 0.55rem;
      font-size: 0.7rem;
      line-height: 1.42;
      color: var(--text-muted);
    }

.nav-profile-panel__quick {
      display: flex;
      flex-direction: column;
      gap: 0.18rem;
      margin: 0 0 0.65rem;
    }

.nav-profile-panel__quick-link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.45rem;
      padding: 0.42rem 0.48rem;
      border-radius: 0.45rem;
      font-size: 0.74rem;
      font-weight: 720;
      color: var(--text);
      text-decoration: none;
      border: 1px solid transparent;
      transition:
        background 0.14s ease,
        border-color 0.14s ease;
    }

.nav-profile-panel__quick-link:hover {
      border-color: color-mix(in srgb, var(--hero-border) 85%, transparent);
      background: color-mix(in srgb, var(--bg-page) 55%, transparent);
    }

.nav-profile-panel__quick-title {
      flex: 1 1 auto;
    }

.nav-profile-panel__quick-meta {
      flex: 0 0 auto;
      font-size: 0.66rem;
      font-weight: 750;
      font-variant-numeric: tabular-nums;
      color: color-mix(in srgb, var(--text-muted) 55%, var(--text));
      white-space: nowrap;
    }

.nav-profile-panel__quick-meta-sep {
      opacity: 0.65;
      margin: 0 0.06rem;
    }

.nav-profile-panel__settings-entry {
      display: flex;
      align-items: center;
      gap: 0.45rem;
      margin: 0;
      padding: 0.52rem 0.55rem;
      border-radius: 0.48rem;
      border: 1px solid color-mix(in srgb, var(--cyan, #38bdf8) 38%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan, #38bdf8) 12%, transparent);
      color: var(--text);
      font-size: 0.74rem;
      font-weight: 820;
      text-decoration: none;
      transition:
        transform 0.14s ease,
        border-color 0.14s ease,
        background 0.14s ease;
    }

.nav-profile-panel__settings-entry:hover {
      transform: translateY(-1px);
      border-color: color-mix(in srgb, var(--cyan, #38bdf8) 55%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan, #38bdf8) 18%, transparent);
    }

.nav-profile-panel__settings-ico {
      width: 1rem;
      height: 1rem;
      flex-shrink: 0;
      opacity: 0.92;
    }

.nav-profile-panel__theme-toggle {
      display: flex;
      align-items: center;
      gap: 0.45rem;
      width: 100%;
      box-sizing: border-box;
      margin: 0.55rem 0 0;
      padding: 0.5rem 0.55rem;
      border-radius: 0.48rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 92%, transparent);
      background: color-mix(in srgb, var(--bg-page) 40%, transparent);
      color: inherit;
      font: inherit;
      font-size: 0.74rem;
      font-weight: 780;
      text-align: left;
      cursor: pointer;
      transition:
        transform 0.14s ease,
        border-color 0.14s ease,
        background 0.14s ease;
    }

.nav-profile-panel__theme-toggle:hover {
      transform: translateY(-1px);
      border-color: color-mix(in srgb, var(--hero-border) 100%, transparent);
      background: color-mix(in srgb, var(--bg-page) 58%, transparent);
    }

.nav-profile-panel__theme-toggle-ico-wrap {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 1rem;
      height: 1rem;
      flex-shrink: 0;
      position: relative;
    }

/* One icon at a time: dark → sun (switch to light); light → moon (switch to dark). Matches `theme.js`. */
.nav-profile-panel__theme-toggle-ico-wrap .nav-profile-panel__theme-toggle-ico--sun,
.nav-profile-panel__theme-toggle-ico-wrap .nav-profile-panel__theme-toggle-ico--moon {
      display: none;
    }

html[data-theme="dark"] .nav-profile-panel__theme-toggle-ico-wrap .nav-profile-panel__theme-toggle-ico--sun {
      display: block;
    }

html[data-theme="light"] .nav-profile-panel__theme-toggle-ico-wrap .nav-profile-panel__theme-toggle-ico--moon {
      display: block;
    }

.nav-profile-panel__theme-toggle-ico {
      width: 1rem;
      height: 1rem;
      flex-shrink: 0;
      opacity: 0.92;
    }

.nav-profile-panel__theme-toggle-label {
      flex: 1 1 auto;
      min-width: 0;
    }

.rise-wallet-public-profile__field {
      display: flex;
      flex-direction: column;
      gap: 0.28rem;
      margin: 0 0 0.5rem;
      font-size: 0.68rem;
      font-weight: 750;
      color: color-mix(in srgb, var(--text-muted) 88%, var(--text));
    }

.rise-wallet-public-profile__input {
      width: 100%;
      box-sizing: border-box;
      padding: 0.38rem 0.52rem;
      border-radius: 0.45rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 88%, transparent);
      background: var(--bg-elevated);
      color: var(--text);
      font: inherit;
      font-size: 0.74rem;
    }

.rise-wallet-public-profile__avatar-row {
      display: flex;
      align-items: flex-start;
      gap: 0.55rem;
      flex-wrap: wrap;
      margin-top: 0.12rem;
    }

.rise-wallet-public-profile__avatar-preview {
      width: 5rem;
      height: 5rem;
      border-radius: 0.65rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 82%, transparent);
      background: color-mix(in srgb, var(--bg-page) 55%, transparent);
      overflow: hidden;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }

.rise-wallet-public-profile__avatar-preview--empty {
      background: color-mix(in srgb, var(--cyan, #38bdf8) 6%, var(--bg-elevated));
    }

.rise-wallet-public-profile__avatar-preview-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

.rise-wallet-public-profile__avatar-controls {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.35rem;
      min-width: 0;
      flex: 1;
    }

.rise-wallet-public-profile__avatar-file {
      max-width: 100%;
      font-size: 0.66rem;
      color: var(--text-muted);
    }

.rise-wallet-public-profile__remove-photo {
      cursor: pointer;
      padding: 0.28rem 0.48rem;
      border-radius: 0.4rem;
      border: 1px solid color-mix(in srgb, var(--hero-border) 88%, transparent);
      background: var(--bg-elevated);
      color: var(--text-muted);
      font: inherit;
      font-size: 0.65rem;
      font-weight: 700;
    }

.rise-wallet-public-profile__remove-photo:hover {
      color: var(--text);
      border-color: color-mix(in srgb, var(--text-muted) 35%, var(--hero-border));
    }

.rise-wallet-public-profile__ref-row {
      display: flex;
      align-items: stretch;
      gap: 0.45rem;
      margin-top: 0.12rem;
      flex-wrap: wrap;
    }

.rise-wallet-public-profile__ref-input {
      flex: 1 1 10rem;
      min-width: 0;
    }

.rise-wallet-public-profile__ref-apply {
      cursor: pointer;
      flex: 0 0 auto;
      padding: 0.38rem 0.72rem;
      border-radius: 0.45rem;
      border: 1px solid color-mix(in srgb, var(--cyan, #38bdf8) 42%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan, #38bdf8) 14%, var(--bg-elevated));
      color: var(--text);
      font: inherit;
      font-size: 0.72rem;
      font-weight: 800;
    }

.rise-wallet-public-profile__ref-apply:hover {
      border-color: color-mix(in srgb, var(--cyan, #38bdf8) 58%, var(--hero-border));
    }

.rise-wallet-public-profile__actions {
      margin: 0.35rem 0 0;
    }

.rise-wallet-public-profile__save {
      width: 100%;
      cursor: pointer;
      padding: 0.42rem 0.65rem;
      border-radius: 0.5rem;
      border: 1px solid color-mix(in srgb, var(--cyan, #38bdf8) 45%, var(--hero-border));
      background: color-mix(in srgb, var(--cyan, #38bdf8) 16%, var(--bg-elevated));
      color: var(--text);
      font: inherit;
      font-size: 0.72rem;
      font-weight: 800;
    }

.rise-wallet-public-profile__save:disabled {
      opacity: 0.52;
      cursor: not-allowed;
    }

.rise-wallet-public-profile__status {
      margin: 0.45rem 0 0;
      font-size: 0.66rem;
      line-height: 1.42;
      color: var(--text-muted);
}

.rise-wallet-public-profile__status--err {
      color: color-mix(in srgb, #f97316 82%, var(--text-muted));
    }

.nav-profile-panel .suite-studio__asset-bar--nav {
      flex-direction: column;
      align-items: stretch;
      justify-content: flex-start;
      gap: 0.35rem;
      margin: 0 0 1rem;
    }

.nav-profile-panel .suite-studio__asset-bar-label {
      width: 100%;
      margin: 0.25rem 0 0;
    }

.nav-profile-panel .suite-studio__asset-pop {
      width: 100%;
      flex: 0 0 auto;
      min-width: 0;
    }

.nav-profile-panel .suite-studio__asset-bar--nav .suite-studio__asset-menu {
      top: calc(100% + 0.28rem);
      bottom: auto;
      z-index: 60;
    }

.wallet-connect-wrap {
      position: relative;
      z-index: 2;
    }

.wallet-connect {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.3rem;
      height: 32px;
      padding: 0 0.5rem 0 0.55rem;
      flex-shrink: 0;
      border-radius: 8px;
      border: 1px solid var(--hero-border);
      background: var(--bg-elevated);
      color: var(--text);
      font: inherit;
      font-weight: 700;
      font-size: 0.72rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      line-height: 1;
      cursor: pointer;
      transition: border-color 0.2s, transform 0.2s, background 0.14s ease;
      max-width: 10.5rem;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

.wallet-connect:hover {
      border-color: rgba(255, 255, 255, 0.48);
      transform: translateY(-1px);
    }

.wallet-connect.is-disabled {
      opacity: 0.75;
      cursor: not-allowed;
      pointer-events: none;
      transform: none !important;
    }

.wallet-connect.is-disabled .wallet-connect__chev {
      display: none;
    }

.wallet-connect svg.wallet-connect__icon-wallet {
      width: 14px;
      height: 14px;
      flex-shrink: 0;
      display: block;
      opacity: 0.9;
    }

.wallet-connect__chev {
      width: 12px;
      height: 12px;
      flex-shrink: 0;
      opacity: 0.72;
      transition: transform 0.22s ease;
    }

.wallet-connect-wrap.is-open .wallet-connect__chev {
      transform: rotate(180deg);
    }

.wallet-connect.is-connected {
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
      font-weight: 600;
      font-size: 0.7rem;
      letter-spacing: 0.02em;
      text-transform: none;
      border-color: rgba(255, 255, 255, 0.55);
    }

.wallet-connect-wrap.is-open .wallet-connect {
      border-color: rgba(255, 255, 255, 0.42);
    }

.wallet-connect-panel {
      position: absolute;
      top: calc(100% + 10px);
      right: 0;
      width: min(300px, calc(100vw - 1.5rem));
      padding: 0.85rem 0.85rem 0.75rem;
      border-radius: 12px;
      border: 1px solid var(--hero-border);
      background: var(--nav-bg);
      backdrop-filter: blur(18px) saturate(1.12);
      box-shadow: 0 18px 50px rgba(0, 0, 0, 0.42);
      z-index: 102;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-6px);
      transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
      pointer-events: none;
    }

.wallet-connect-wrap.is-open .wallet-connect-panel {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
      pointer-events: auto;
    }

.wallet-connect-wrap.is-open::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 100%;
      height: 12px;
      z-index: 101;
      pointer-events: auto;
    }

/* Full-screen wallet connect / sign-in pending (matches in-wallet prompt UX) */
.wallet-pending-overlay {
      position: fixed;
      inset: 0;
      z-index: 2147483646;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: max(1.25rem, env(safe-area-inset-top, 0px)) 1.25rem max(1.25rem, env(safe-area-inset-bottom, 0px));
      pointer-events: auto;
      font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }

.wallet-pending-overlay[hidden] {
      display: none !important;
    }

.wallet-pending-overlay__backdrop {
      position: absolute;
      inset: 0;
      background: color-mix(in srgb, #000000 72%, transparent);
      backdrop-filter: blur(10px) saturate(1.1);
    }

html[data-theme="light"] .wallet-pending-overlay__backdrop {
      background: color-mix(in srgb, var(--bg-page, #ffffff) 22%, rgba(15, 23, 42, 0.42));
    }

.wallet-pending-overlay__card {
      position: relative;
      width: min(100%, 380px);
      border-radius: 28px;
      padding: 1.35rem 1.5rem 1.75rem;
      background: var(--bg-elevated, #1a1d29);
      box-shadow:
        0 0 0 1px var(--hero-border, rgba(255, 255, 255, 0.08)),
        0 24px 80px color-mix(in srgb, #000000 58%, transparent);
      color: var(--text, #f9fafb);
      text-align: center;
    }

html[data-theme="light"] .wallet-pending-overlay__card {
      box-shadow:
        0 0 0 1px var(--hero-border, #e5e7eb),
        0 24px 64px rgba(15, 23, 42, 0.14);
    }

.wallet-pending-overlay__top {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 2.25rem;
      margin-bottom: 1.35rem;
    }

.wallet-pending-overlay__back {
      position: absolute;
      left: -0.25rem;
      top: 50%;
      transform: translateY(-50%);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.5rem;
      height: 2.5rem;
      margin: 0;
      padding: 0;
      border: none;
      border-radius: 12px;
      background: transparent;
      color: var(--text-muted, #94a3b8);
      cursor: pointer;
      transition: background 0.15s ease, color 0.15s ease;
    }

.wallet-pending-overlay__back:hover {
      background: color-mix(in srgb, var(--text) 8%, transparent);
      color: var(--text, #f9fafb);
    }

.wallet-pending-overlay__back svg {
      width: 22px;
      height: 22px;
      display: block;
    }

.wallet-pending-overlay__title {
      margin: 0;
      font-size: 1.125rem;
      font-weight: 700;
      letter-spacing: 0.01em;
      line-height: 1.2;
      color: var(--text, #f9fafb);
    }

.wallet-pending-overlay__center {
      display: flex;
      justify-content: center;
      margin: 0.25rem 0 1.35rem;
    }

.wallet-pending-overlay__orbit {
      position: relative;
      width: 112px;
      height: 112px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

.wallet-pending-overlay__ring {
      position: absolute;
      inset: 0;
      border-radius: 50%;
      border: 2.5px solid color-mix(in srgb, var(--hero-border) 95%, transparent);
      border-top-color: var(--cyan, #3b82f6);
      border-right-color: color-mix(in srgb, var(--cyan) 45%, var(--hero-border));
      animation: wallet-pending-spin 0.9s linear infinite;
    }

.wallet-pending-overlay__icon-shell {
      position: relative;
      width: 72px;
      height: 72px;
      border-radius: 22px;
      background: color-mix(in srgb, var(--bg-page, #0f111a) 42%, var(--bg-elevated, #1a1d29));
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: inset 0 1px 0 color-mix(in srgb, var(--text) 5%, transparent);
    }

.wallet-pending-overlay__logo {
      width: 56px;
      height: 56px;
      display: block;
      object-fit: contain;
    }

.wallet-pending-overlay__status {
      margin: 0 0 0.4rem;
      font-size: 1.25rem;
      font-weight: 700;
      letter-spacing: 0.01em;
      line-height: 1.25;
      color: var(--text, #f9fafb);
    }

.wallet-pending-overlay__hint {
      margin: 0;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.45;
      color: var(--text-muted, #94a3b8);
    }

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

@media (prefers-reduced-motion: reduce) {
      .wallet-pending-overlay__ring {
        animation-duration: 2.4s;
      }
    }

html.wallet-pending-active,
html.wallet-pending-active body {
      overflow: hidden;
      touch-action: none;
    }

/** Referral card designer: hide spinner ring once save/download completes; user dismisses with back control. */
#referralActionPendingOverlay[data-referral-pending="done"] .wallet-pending-overlay__ring {
      visibility: hidden;
      animation: none;
    }

html.referral-action-pending-active,
html.referral-action-pending-active body {
      overflow: hidden;
      touch-action: none;
    }

/* Post-connect username (rise_wallet_public_profile.display_name) — only when missing */
.rise-username-onboarding {
      position: fixed;
      inset: 0;
      z-index: 2147483645;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1rem, env(safe-area-inset-bottom, 0px));
      font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }

.rise-username-onboarding[hidden] {
      display: none !important;
    }

.rise-username-onboarding__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.78);
      backdrop-filter: blur(12px) saturate(1.05);
    }

.rise-username-onboarding__card {
      position: relative;
      width: min(100%, 400px);
      padding: 1.75rem 1.5rem 1.65rem;
      border-radius: 20px;
      background: #121212;
      box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.06),
        0 28px 90px rgba(0, 0, 0, 0.55);
      color: #f4f4f5;
      text-align: center;
    }

.rise-username-onboarding__title {
      margin: 0 0 0.45rem;
      font-size: 1.35rem;
      font-weight: 700;
      letter-spacing: 0.01em;
      line-height: 1.2;
      color: #fff;
    }

.rise-username-onboarding__sub {
      margin: 0 0 1.35rem;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.4;
      color: #9ca3af;
    }

.rise-username-onboarding__input-wrap {
      display: flex;
      align-items: center;
      gap: 0.2rem;
      width: 100%;
      margin: 0 0 0.65rem;
      padding: 0.65rem 0.85rem;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.14);
      background: #1a1b1e;
      box-sizing: border-box;
      text-align: left;
    }

.rise-username-onboarding__at {
      flex-shrink: 0;
      font-size: 1rem;
      font-weight: 600;
      color: #6b7280;
      user-select: none;
    }

.rise-username-onboarding__input {
      flex: 1;
      min-width: 0;
      border: none;
      background: transparent;
      color: #e5e7eb;
      font-size: 1rem;
      font-weight: 500;
      outline: none;
    }

.rise-username-onboarding__input::placeholder {
      color: #6b7280;
    }

.rise-username-onboarding__err {
      margin: 0 0 0.75rem;
      font-size: 0.8125rem;
      line-height: 1.35;
      color: #f87171;
      text-align: left;
    }

.rise-username-onboarding__ref-block {
      margin: 0 0 1.1rem;
      text-align: left;
    }

.rise-username-onboarding__ref-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 0.35rem 0;
      border: none;
      background: transparent;
      color: #9ca3af;
      font: inherit;
      font-size: 0.875rem;
      font-weight: 500;
      cursor: pointer;
      text-align: left;
    }

.rise-username-onboarding__ref-toggle:hover {
      color: #d1d5db;
    }

.rise-username-onboarding__ref-chev {
      width: 18px;
      height: 18px;
      flex-shrink: 0;
      opacity: 0.75;
      transition: transform 0.2s ease;
    }

.rise-username-onboarding__ref-toggle.is-open .rise-username-onboarding__ref-chev {
      transform: rotate(180deg);
    }

.rise-username-onboarding__ref-panel {
      margin-top: 0.5rem;
    }

.rise-username-onboarding__ref-input {
      width: 100%;
      box-sizing: border-box;
      padding: 0.55rem 0.75rem;
      border-radius: 10px;
      border: 1px solid rgba(255, 255, 255, 0.12);
      background: #1a1b1e;
      color: #e5e7eb;
      font-size: 0.9375rem;
      outline: none;
    }

.rise-username-onboarding__legal {
      display: flex;
      gap: 0.55rem;
      align-items: flex-start;
      margin: 0 0 1.25rem;
      text-align: left;
      cursor: pointer;
    }

.rise-username-onboarding__checkbox {
      margin: 0.2rem 0 0;
      width: 1rem;
      height: 1rem;
      flex-shrink: 0;
      accent-color: #005bb5;
      cursor: pointer;
    }

.rise-username-onboarding__legal-text {
      font-size: 0.75rem;
      line-height: 1.45;
      color: #9ca3af;
    }

.rise-username-onboarding__link {
      color: #38bdf8;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

.rise-username-onboarding__link:hover {
      color: #7dd3fc;
    }

.rise-username-onboarding__asterisk {
      color: #ef4444;
      font-weight: 700;
    }

.rise-username-onboarding__submit {
      width: 100%;
      padding: 0.85rem 1rem;
      border: none;
      border-radius: 12px;
      background: #005bb5;
      color: #fff;
      font: inherit;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      cursor: pointer;
      transition: background 0.15s ease, opacity 0.15s ease;
    }

.rise-username-onboarding__submit:hover:not(:disabled) {
      background: #0066cc;
    }

.rise-username-onboarding__submit:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }

html.rise-username-onboarding-active,
html.rise-username-onboarding-active body {
      overflow: hidden;
      touch-action: none;
    }

html.rise-profile-photo-onboarding-active,
html.rise-profile-photo-onboarding-active body {
      overflow: hidden;
      touch-action: none;
    }

.rise-profile-photo-onboarding {
      position: fixed;
      inset: 0;
      z-index: 2147483645;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem max(1rem, env(safe-area-inset-bottom, 0px));
      font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }

.rise-profile-photo-onboarding[hidden] {
      display: none !important;
    }

.rise-profile-photo-onboarding__backdrop {
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.78);
      backdrop-filter: blur(12px) saturate(1.05);
    }

.rise-profile-photo-onboarding__card {
      position: relative;
      width: min(100%, 400px);
      padding: 1.75rem 1.5rem 1.65rem;
      border-radius: 20px;
      background: #121212;
      box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.06),
        0 28px 90px rgba(0, 0, 0, 0.55);
      color: #f4f4f5;
      text-align: center;
    }

.rise-profile-photo-onboarding__title {
      margin: 0 0 0.45rem;
      font-size: 1.35rem;
      font-weight: 700;
      letter-spacing: 0.01em;
      line-height: 1.2;
      color: #fff;
    }

.rise-profile-photo-onboarding__sub {
      margin: 0 0 1.25rem;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.45;
      color: #9ca3af;
    }

.rise-profile-photo-onboarding__preview {
      width: 112px;
      height: 112px;
      margin: 0 auto 1rem;
      border-radius: 50%;
      border: 2px solid rgba(255, 255, 255, 0.12);
      background: #1a1b1e;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      position: relative;
    }

.rise-profile-photo-onboarding__preview-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

.rise-profile-photo-onboarding__preview-ph {
      font-size: 0.75rem;
      line-height: 1.3;
      color: #6b7280;
      padding: 0.5rem;
      text-align: center;
    }

.rise-profile-photo-onboarding__file {
      width: 100%;
      margin: 0 0 0.75rem;
      font-size: 0.8125rem;
      color: #d1d5db;
    }

.rise-profile-photo-onboarding__err {
      margin: 0 0 0.75rem;
      font-size: 0.8125rem;
      line-height: 1.35;
      color: #f87171;
      text-align: left;
    }

.rise-profile-photo-onboarding__submit {
      width: 100%;
      padding: 0.85rem 1rem;
      margin-bottom: 0.55rem;
      border: none;
      border-radius: 12px;
      background: #005bb5;
      color: #fff;
      font: inherit;
      font-size: 1rem;
      font-weight: 700;
      letter-spacing: 0.02em;
      cursor: pointer;
      transition: background 0.15s ease, opacity 0.15s ease;
    }

.rise-profile-photo-onboarding__submit:hover:not(:disabled) {
      background: #0066cc;
    }

.rise-profile-photo-onboarding__submit:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }

.rise-profile-photo-onboarding__later {
      width: 100%;
      padding: 0.65rem 1rem;
      border: 1px solid rgba(255, 255, 255, 0.16);
      border-radius: 12px;
      background: transparent;
      color: #d1d5db;
      font: inherit;
      font-size: 0.9375rem;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    }

.rise-profile-photo-onboarding__later:hover {
      background: rgba(255, 255, 255, 0.06);
      border-color: rgba(255, 255, 255, 0.24);
      color: #fff;
    }

.wallet-connect-panel__status {
      min-height: 0;
      margin: 0 0 0.5rem;
      font-size: 0.72rem;
      color: var(--text-muted);
      line-height: 1.35;
    }

.wallet-connect-panel__status.is-error {
      color: #f87171;
    }

.wallet-connect-panel__status.is-ok {
      color: #4ade80;
    }

.wallet-connect-panel__status.is-hint {
      color: var(--text);
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.01em;
      line-height: 1.4;
      text-align: center;
      margin-bottom: 0.65rem;
    }

html[data-theme="light"] .wallet-connect-panel .wallet-connect-panel__status.is-hint {
      color: #0f172a;
    }

.wallet-opt__ico .wallet-connect-chain-ico__svg {
      width: 28px;
      height: 28px;
      display: block;
    }

@media (max-width: 380px) {
      .wallet-connect {
        max-width: 6.75rem;
        padding: 0 0.35rem 0 0.4rem;
        font-size: 0.62rem;
      }
      .nav-wordmark {
        display: none;
      }
    }

.nav-links {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.35rem 0.5rem;
      list-style: none;
      align-items: center;
      max-width: min(100%, 52rem);
    }

.nav-link-beta {
      font-size: 0.75em;
      font-weight: 800;
      opacity: 0.88;
      margin-left: 0.06em;
    }

.nav-links a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.45rem;
      min-width: 2.75rem;
      min-height: 2.75rem;
      color: var(--text-muted);
      text-decoration: none;
      border-radius: 10px;
      transition: color 0.2s, background 0.2s, opacity 0.2s;
    }

.nav-links a:hover {
      color: var(--text);
      background: rgba(255, 255, 255, 0.06);
    }

.nav-link-icon {
      width: 24px;
      height: 24px;
      flex-shrink: 0;
      opacity: 0.82;
      transition: opacity 0.2s, transform 0.2s;
    }

.nav-links a:hover .nav-link-icon {
      opacity: 1;
      transform: scale(1.05);
    }

/** Desktop (≥768px): center nav shows icon with a short label underneath (not a hover-only tooltip). */
@media (min-width: 768px) {
      .nav {
        min-height: 56px;
        align-items: center;
      }

      .nav .nav-menu-panel .nav-links {
        flex-wrap: nowrap;
        gap: 0.15rem 0.28rem;
        align-items: flex-end;
        justify-content: center;
        max-width: min(100%, 56rem);
      }

      .nav .nav-menu-panel .nav-links a {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 0.12rem;
        padding: 0.22rem 0.38rem 0.28rem;
        min-width: 2.65rem;
        min-height: auto;
      }

      .nav .nav-menu-panel .nav-link-text {
        position: static;
        left: auto;
        top: auto;
        bottom: auto;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: none;
        padding: 0;
        border: none;
        background: transparent !important;
        box-shadow: none !important;
        max-width: 5.5rem;
        min-width: 0;
        width: auto;
        font-size: 0.58rem;
        font-weight: 750;
        letter-spacing: 0.03em;
        line-height: 1.15;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        text-transform: none;
        color: inherit;
        z-index: auto;
        transition: color 0.2s, opacity 0.2s;
      }

      html[data-theme="dark"] .nav .nav-menu-panel .nav-link-text,
      html[data-theme="light"] .nav .nav-menu-panel .nav-link-text {
        color: inherit;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
      }

      .nav .nav-menu-panel .nav-links a:hover .nav-link-text,
      .nav .nav-menu-panel .nav-links a:focus-visible .nav-link-text {
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
      }

      .nav .nav-menu-panel .nav-links a:hover .nav-link-icon,
      .nav .nav-menu-panel .nav-links a:focus-visible .nav-link-icon {
        transform: scale(1.05);
      }

      html[data-rise-scope="dashboard"] .nav .nav-menu-panel .nav-links .nav-link-text,
      html[data-rise-scope="public"] .nav .nav-menu-panel .nav-links .nav-link-text {
        font-size: 0.58rem;
        font-weight: 750;
        max-width: 5.5rem;
        line-height: 1.15;
        text-align: center;
      }
    }

.nav-menu-btn {
      display: none;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      padding: 0;
      border: 1px solid var(--hero-border);
      border-radius: 8px;
      background: var(--bg-elevated);
      color: var(--text);
      cursor: pointer;
      transition: border-color 0.2s;
    }

.nav-menu-btn:hover {
      border-color: rgba(255, 255, 255, 0.48);
    }

.nav-menu-icon {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      width: 20px;
    }

.nav-menu-icon span {
      display: block;
      height: 2px;
      background: currentColor;
      border-radius: 1px;
      transition: transform 0.25s ease, opacity 0.2s;
    }

.nav.nav-menu-open .nav-menu-icon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }

.nav.nav-menu-open .nav-menu-icon span:nth-child(2) { opacity: 0; transform: scaleX(0); }

.nav.nav-menu-open .nav-menu-icon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.nav-menu-backdrop {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 198;
      background: rgba(0, 0, 0, 0.45);
    }

.nav.nav-menu-open .nav-menu-backdrop {
      display: block;
    }

.nav-anchor {
      scroll-margin-top: calc(var(--header-offset) + 0.75rem);
    }

.nav-anchor--block {
      min-height: 35vh;
      padding: 3rem 1.5rem;
      border-top: 1px solid var(--hero-border);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
    }

.nav-anchor__title {
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--text-muted);
      margin-bottom: 0.5rem;
    }

.nav-anchor__hint {
      font-size: 0.88rem;
      color: var(--text-muted);
      max-width: 28rem;
      line-height: 1.55;
    }

.nav-anchor__hint a {
      color: var(--cyan);
      text-decoration: none;
      font-weight: 600;
    }

.nav-anchor__hint a:hover {
      text-decoration: underline;
    }

.nav-anchor--prose {
      min-height: auto;
      padding: 3.25rem 1.5rem 3.5rem;
    }

@media (max-width: 767px) {
      .nav {
        z-index: 100000 !important;
        padding-right: calc(0.65rem + env(safe-area-inset-right, 0px)) !important;
        padding-left: calc(0.65rem + env(safe-area-inset-left, 0px)) !important;
      }
      .nav .nav__strip {
        position: relative;
        padding-right: 0;
      }
      .nav .nav-actions {
        position: static;
        margin-left: auto !important;
        width: auto;
        height: auto;
      }
      /* Full-viewport `.wallet-pending-overlay` lives in this strip on desktop; on mobile it must
         stay visible when shown (wallet sign-in + referral save/download). Generic hide-all would
         apply `display:none !important` and overrides removing the `hidden` attribute. */
      .nav .nav-actions > :not(#navMenuBtn):not(.wallet-pending-overlay) {
        display: none !important;
      }
      .nav .nav__bd {
        pointer-events: none !important;
      }
      .nav .nav-menu-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        z-index: 100003;
        pointer-events: auto !important;
        background: var(--bg-elevated) !important;
        background-image: none !important;
        background-color: var(--bg-elevated) !important;
        border: 1px solid var(--hero-border) !important;
        color: var(--text) !important;
      }
      .nav .nav-menu-btn:hover,
      .nav .nav-menu-btn:focus-visible {
        background: color-mix(in srgb, var(--bg-elevated) 88%, var(--text) 12%) !important;
        background-color: color-mix(in srgb, var(--bg-elevated) 88%, var(--text) 12%) !important;
        border-color: color-mix(in srgb, var(--hero-border) 65%, var(--text) 35%) !important;
        color: var(--text) !important;
      }
      .nav .nav-menu-panel {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: min(320px, 90vw);
        padding: calc(env(safe-area-inset-top, 0px) + 1rem) 1rem 1.25rem;
        transform: translateX(100%);
        transition: transform 0.28s ease;
        z-index: 100002;
        pointer-events: none;
        overflow-y: auto;
        overscroll-behavior: contain;
        color: var(--text);
        background: var(--nav-bg) !important;
        background-image: none !important;
        background-color: var(--nav-bg) !important;
        border-left: 1px solid var(--hero-border) !important;
        backdrop-filter: blur(18px) saturate(1.12);
        -webkit-backdrop-filter: blur(18px) saturate(1.12);
        opacity: 1 !important;
      }
      .nav.nav-menu-open .nav-menu-panel {
        transform: translateX(0);
        pointer-events: auto;
        background: var(--nav-bg) !important;
        background-image: none !important;
        background-color: var(--nav-bg) !important;
        opacity: 1 !important;
      }
      .nav .nav-menu-backdrop {
        z-index: 100001;
        background: rgba(0, 0, 0, 0.45) !important;
      }
      html[data-theme="light"] .nav .nav-menu-backdrop {
        background: rgba(15, 23, 42, 0.4) !important;
      }
      html[data-theme="dark"] .nav .nav-menu-backdrop {
        background: rgba(2, 6, 23, 0.62) !important;
      }
      .nav.nav-menu-open .nav-menu-panel,
      .nav.nav-menu-open .nav-menu-panel * {
        pointer-events: auto !important;
        touch-action: manipulation;
      }
      .nav .nav-links {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0.35rem;
        width: 100%;
      }
      .nav .nav-links li {
        width: 100%;
      }
      .nav .nav-links a {
        width: 100%;
        min-height: 44px;
        padding: 0.75rem 0.65rem;
        justify-content: flex-start;
        gap: 0.65rem;
        border-bottom: 1px solid var(--hero-border);
        border-radius: 0;
      }
      .nav .nav-menu-panel .nav-links a[aria-current="page"] {
        color: var(--text) !important;
        background: color-mix(in srgb, var(--cyan) 16%, transparent);
      }
      .nav .nav-menu-panel .nav-links a[aria-current="page"] .nav-link-icon {
        color: var(--cyan) !important;
        opacity: 1 !important;
      }
      .nav .nav-link-text {
        position: static;
        display: inline;
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
        padding: 0;
        border: 0;
        background: transparent;
      }
      .nav .nav-mobile-actions {
        margin-top: 0.75rem;
        display: grid;
        gap: 0.5rem;
        width: 100%;
        justify-items: stretch;
      }
      .nav .nav-menu-panel .theme-toggle,
      .nav .nav-menu-panel .wallet-connect-wrap,
      .nav .nav-menu-panel .nav-dashboard-btn,
      .nav .nav-menu-panel .nav-profile-wrap {
        width: 100% !important;
        max-width: none !important;
        min-width: 0;
        align-self: stretch;
      }
      .nav .nav-menu-panel .wallet-connect-wrap {
        position: static;
      }
      .nav .nav-menu-panel .wallet-connect,
      .nav .nav-menu-panel .nav-dashboard-btn,
      .nav .nav-menu-panel .nav-profile-btn {
        width: 100% !important;
        max-width: none !important;
        display: inline-flex;
        min-height: 44px;
        height: 44px;
        padding: 0 0.85rem;
        justify-content: center;
        border-radius: 10px;
        font-size: 0.85rem;
        letter-spacing: 0.01em;
        text-transform: none;
        text-align: center;
      }
      .nav .nav-menu-panel .wallet-connect-panel {
        position: static;
        top: auto;
        right: auto;
        left: auto;
        width: 100%;
        margin-top: 0.45rem;
        padding: 0.6rem;
        border-radius: 10px;
        box-shadow: none;
        transform: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
      }
      .nav .nav-menu-panel .wallet-connect-wrap.is-open .wallet-connect-panel {
        transform: none;
      }
      .nav .nav-menu-panel .wallet-connect-panel__status {
        margin-bottom: 0.45rem;
      }
      .nav .nav-menu-panel .wallet-opt {
        min-height: 44px;
        border-radius: 8px;
      }
      .nav .nav-menu-panel .wallet-opt__name {
        font-size: 0.86rem;
        font-weight: 800;
      }
      .nav .nav-menu-panel .wallet-opt__sub {
        display: none;
      }
      .nav .nav-menu-panel .wallet-opt__ico--ok,
      .nav .nav-menu-panel .wallet-opt__chev,
      .nav .nav-menu-panel .wallet-opt__ico .wallet-connect-chain-ico__svg {
        display: none !important;
      }
      .nav .nav-menu-panel .wallet-opt__logo-img {
        width: 28px;
        height: 28px;
        display: block;
      }
      .nav .nav-menu-panel .wallet-connect__label {
        font-size: 0.85rem;
        letter-spacing: 0.01em;
        text-transform: none;
      }
      .nav .nav-menu-panel .theme-toggle {
        width: 100% !important;
        max-width: none !important;
        display: inline-flex;
        min-height: 44px;
        height: 44px;
        border-radius: 10px;
        justify-content: center;
        gap: 0.55rem;
        padding: 0 0.85rem;
        text-align: center;
      }
      .nav .nav-menu-panel .theme-toggle::after {
        content: "Theme";
        font-size: 0.85rem;
        font-weight: 700;
        letter-spacing: 0.01em;
        line-height: 1;
      }
      .nav .nav-menu-panel .nav-profile-wrap {
        position: static;
      }
      .nav .nav-menu-panel .nav-profile-panel {
        position: static;
        top: auto;
        right: auto;
        width: 100%;
        margin-top: 0.45rem;
        border-radius: 10px;
        box-shadow: none;
        transform: none;
      }
      .nav .nav-menu-panel .nav-profile-wrap.is-open .nav-profile-panel {
        transform: none;
      }
      .nav .nav-menu-panel .nav-profile-panel__body {
        max-height: min(46dvh, 18rem);
      }
      .nav #navMenuBtn.nav-menu-btn {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed !important;
        top: 12px !important;
        right: 12px !important;
        transform: none;
        margin: 0 !important;
        z-index: 100004 !important;
        background: var(--bg-elevated) !important;
        background-color: var(--bg-elevated) !important;
        border: 1px solid var(--hero-border) !important;
        color: var(--text) !important;
      }
      .nav.nav-menu-open #navMenuBtn.nav-menu-btn {
        display: inline-flex !important;
        position: fixed !important;
        top: 12px !important;
        right: 12px !important;
      }
      #navMenuBtnSwapHard.nav-menu-btn {
        display: none !important;
      }
      html[data-route="dashboard-swap"] .nav {
        z-index: 2147483000 !important;
        pointer-events: auto !important;
      }
      html[data-route="dashboard-swap"] .nav #navMenuBtn.nav-menu-btn {
        display: none !important;
      }
      html[data-route="dashboard-swap"] #navMenuBtnSwapHard.nav-menu-btn {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: fixed !important;
        top: calc(env(safe-area-inset-top, 0px) + 12px) !important;
        left: 50% !important;
        right: auto !important;
        width: 40px !important;
        height: 40px !important;
        margin: 0 !important;
        z-index: 2147483647 !important;
        pointer-events: auto !important;
        transform: translateX(calc(-50% + 135px)) !important;
        background: var(--bg-elevated) !important;
        background-color: var(--bg-elevated) !important;
        color: var(--text) !important;
        border: 1px solid var(--hero-border) !important;
        border-radius: 10px !important;
      }
      html[data-route="dashboard-swap"] #navMenuBtnSwapHard.nav-menu-btn .nav-menu-icon span {
        background: currentColor !important;
        opacity: 1 !important;
      }
      .nav .nav-menu-panel .wallet-connect-panel,
      .nav .nav-menu-panel .nav-profile-panel,
      .nav .nav-menu-panel .suite-studio__asset-menu {
        background: var(--bg-elevated) !important;
        border-color: var(--hero-border) !important;
        color: var(--text) !important;
      }
      .nav .nav-menu-panel .wallet-opt,
      .nav .nav-menu-panel .wallet-opt__name,
      .nav .nav-menu-panel .wallet-connect-panel__status,
      .nav .nav-menu-panel .suite-studio__asset-bar-label,
      .nav .nav-menu-panel .suite-studio__asset-trigger-sym,
      .nav .nav-menu-panel .suite-studio__asset-trigger-usd,
      .nav .nav-menu-panel .suite-studio__asset-opt-label,
      .nav .nav-menu-panel .suite-studio__asset-opt-usd {
        color: var(--text) !important;
      }
      .nav .nav-menu-panel .wallet-opt-list {
        background: var(--bg-elevated) !important;
        border-color: var(--hero-border) !important;
      }
      .nav .nav-menu-panel .wallet-opt {
        border-bottom-color: var(--hero-border);
      }
      #navMenuBtnSwapFallback.nav-menu-btn {
        border: 1px solid var(--hero-border) !important;
        border-radius: 10px !important;
        background: var(--bg-elevated) !important;
        color: var(--text) !important;
      }
      #navMenuBtnSwapFallback.nav-menu-btn .nav-menu-icon span {
        background: currentColor !important;
      }
}

/* ── Public marketing nav links ─────────────────────────────── */

/* Hide public nav links on dashboard routes */
html[data-rise-scope="dashboard"] .nav-links__item--pub {
  display: none !important;
}

/* Hide dashboard-only links on public/home routes */
html[data-route="home"] .nav-links__item--dashboard-core,
html[data-route="home"] .nav-links__item--dashboard-suite {
  display: none !important;
}

/* Marketing (pub) strip is visible: hide mirrored dashboard row so Sports / Docs are not doubled. */
html[data-route="pub-sports-betting"] .nav-links__item--dashboard-core,
html[data-route="pub-prediction-markets"] .nav-links__item--dashboard-core,
html[data-route="pub-ai-suite"] .nav-links__item--dashboard-core,
html[data-route="pub-trading-deck"] .nav-links__item--dashboard-core,
html[data-route="products"] .nav-links__item--dashboard-core,
html[data-route="overview"] .nav-links__item--dashboard-core,
html[data-route="documentation"] .nav-links__item--dashboard-core,
html[data-route="swap"] .nav-links__item--dashboard-core,
html[data-route="dashboard-swap"] .nav-links__item--dashboard-core,
html[data-route="events-betting"] .nav-links__item--dashboard-core {
  display: none !important;
}

/* Active state for public nav links */
html[data-route="pub-sports-betting"] .nav-links__item--pub-sports a,
html[data-route="pub-prediction-markets"] .nav-links__item--pub-markets a,
html[data-route="pub-ai-suite"] .nav-links__item--pub-suite a,
html[data-route="pub-trading-deck"] .nav-links__item--pub-trading a,
html[data-route="documentation"] .nav-links__item--pub-docs a,
html[data-route="swap"] .nav-links__item--pub-swap a,
html[data-route="dashboard-swap"] .nav-links__item--pub-swap a {
  color: var(--text) !important;
  background: rgba(255,255,255,0.06);
}

/* Active state for dashboard hub row */
html[data-route="automated-trading"] .nav-links__item--dashboard-trade a {
  color: var(--text) !important;
  background: rgba(255,255,255,0.06);
}

/* Show public nav links on all public routes (exclude AI Suite until launch). */
html[data-route="home"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="pub-sports-betting"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="pub-prediction-markets"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="pub-ai-suite"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="pub-trading-deck"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="products"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="overview"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="documentation"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="swap"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="dashboard-swap"] .nav-links__item--pub:not(.nav-links__item--pub-suite),
html[data-route="events-betting"] .nav-links__item--pub:not(.nav-links__item--pub-suite) {
  display: list-item !important;
}
