body.has-currency-dialog { overflow: hidden; }
.currency-trigger { display: inline-flex; align-items: center; justify-content: center; gap: .375rem; min-height: 2.625rem; padding: .5rem .625rem; color: #c7c1d9; background: #1a1c27; border: 1px solid #343546; border-radius: .75rem; font-size: .8125rem; font-weight: 600; }
.currency-trigger:hover, .currency-trigger[aria-expanded="true"] { color: #f0ebff; border-color: #746993; background: #242433; }
.currency-trigger .icon { width: 1rem; height: 1rem; }
.currency-dialog { width: min(32rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.25rem; color: var(--text); background: #181a24; border: 1px solid #414354; border-radius: 1.25rem; box-shadow: 0 26px 90px #0009; }
.currency-dialog::backdrop { background: #070810ba; backdrop-filter: blur(6px); }
.currency-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.currency-dialog-heading h2 { font-size: 1.25rem; }
.currency-dialog-heading p { margin-top: .25rem; color: #aaa7b8; font-size: .8125rem; }
.currency-search { display: flex; align-items: center; gap: .625rem; margin-top: 1rem; padding: 0 .75rem; border: 1px solid #414454; border-radius: .75rem; background: #11131b; }
.currency-search .icon { color: #9995aa; width: 1.125rem; height: 1.125rem; }
.currency-search input { width: 100%; min-height: 3rem; background: transparent; border: 0; outline: 0; font-size: 1rem; }
.currency-options { display: grid; gap: .375rem; max-height: min(26rem, 55dvh); margin-top: .75rem; overflow-y: auto; overscroll-behavior: contain; }
.currency-options button { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.5rem; padding: .625rem .75rem; color: #c9c6d2; background: transparent; border: 1px solid transparent; border-radius: .75rem; text-align: left; }
.currency-options button:hover { background: #222431; }
.currency-options button[aria-selected="true"] { color: #eee8ff; background: #302940; border-color: #604f7a; }
.currency-options button > span:first-child { display: grid; min-width: 0; }
.currency-options strong { font-size: .875rem; }
.currency-options small { overflow: hidden; color: #9f9bab; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.currency-options button > span:last-child { flex: none; color: #9ee7bc; font-size: .8125rem; }
.currency-status, .currency-empty { margin-top: .75rem; color: #9f9bab; font-size: .75rem; text-align: center; }
@media (max-width: 420px) { .currency-trigger .icon { display: none; } .currency-trigger { padding-inline: .5rem; } }
