/* Existing visual system, with live account states and wallet forms. */
[hidden] { display: none !important; }
body:has(.modal-layer.open) #lumenFloat,
body:has(.modal-layer.open) #lumenFloatMenu { visibility: hidden; pointer-events: none; }
.auth-feedback { min-height: 1.4em; color: #cbb8ff; font-size: 13px; overflow-wrap: anywhere; }
.auth-address { overflow-wrap: anywhere; font-family: monospace; }
#walletModal .field, #bindInviteModal .field { display: grid; gap: 8px; margin: 18px 0; }
#walletModal input, #bindInviteModal input { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid #454255; background: #0d0e1b; color: #f5f2ff; font: inherit; }
#authSignedIn .button { margin-top: 12px; }
#authRegistration .button { margin-top: 12px; }
#walletModal .wallet-choice { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
#walletModal .wallet-choice-icon { display: block; width: 30px; height: 30px; flex: 0 0 30px; object-fit: contain; }
#walletModal .wallet-choice-name { min-width: 0; font: inherit; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; }
.live-notice { padding: 18px 0; border-bottom: 1px solid #343143; }
.live-notice h4 { margin: 0; }
.live-notice p { white-space: pre-wrap; }
.live-notice small { display: block; color: #a19ab6; }
.live-notice button { margin-top: 10px; }
.live-feedback, .live-empty { padding: 20px; color: #aaa2c2; text-align: center; }

/* Keep action feedback readable above the existing layered theme. */
#toastStack { top: max(16px, env(safe-area-inset-top)); right: 16px; width: min(420px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; }
#toastStack .toast { min-width: 0; width: 100%; padding: 16px; gap: 12px; align-items: flex-start; border: 1px solid #6c6484 !important; border-left: 4px solid #a996ee !important; background: #171522 !important; color: #faf8ff !important; box-shadow: 0 12px 32px #0008 !important; }
#toastStack .toast-content { flex: 1; min-width: 0; overflow-wrap: anywhere; }
#toastStack .toast b { color: #fff; font-size: 16px; line-height: 1.4; }
#toastStack .toast span { margin-top: 6px; color: #e3deef; font-size: 14px; line-height: 1.55; }
#toastStack .toast i { flex: 0 0 26px; width: 26px; height: 26px; font-size: 17px; font-weight: 700; background: #332949; border: 1px solid #9d8cc7; color: #dfd3ff; box-shadow: none; }
#toastStack .toast--success { border-left-color: #7cdfae !important; }
#toastStack .toast--success i { color: #8defbf; border-color: #5a997b; background: #19352b; }
#toastStack .toast--error { border-color: #b76578 !important; border-left-color: #ff849b !important; background: #2a1720 !important; }
#toastStack .toast--error i { color: #ffb5c3; border-color: #c27084; background: #4e2432; }
#toastStack .toast--warning { border-color: #ae8950 !important; border-left-color: #ffd08b !important; background: #292017 !important; }
#toastStack .toast--warning i { color: #ffdcaa; border-color: #b68f59; background: #48351e; }
#toastStack .toast-close { flex: 0 0 32px; width: 32px; height: 32px; border: 0; border-radius: 6px; background: transparent; color: #eee8fb; font-size: 24px; line-height: 1; cursor: pointer; }
#toastStack .toast-close:hover, #toastStack .toast-close:focus-visible { background: #ffffff18; outline: 2px solid #b5a4eb; }
.auth-feedback[data-state="error"], .live-form-feedback, .live-load-error { padding: 14px 16px; margin: 14px 0; border: 1px solid #a9586d; border-left: 4px solid #ff849b; border-radius: 10px; background: #351c29; color: #ffe5ec; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; }
.live-form-feedback[data-type="warning"], #liveAccountStatus[data-type="warning"] { border-color: #ae8950; border-left-color: #ffd08b; background: #302619; color: #ffe2b8; }
.live-form-feedback[data-type="success"] { border-color: #4e9474; border-left-color: #7cdfae; background: #19352b; color: #cdf5e3; }
.live-form-feedback[data-type="info"] { border-color: #766492; border-left-color: #b7a3e6; background: #252033; color: #e5dbff; }
.live-load-error strong { display: block; font-size: 16px; }
.live-load-error p { margin: 8px 0 12px; font-size: 14px; color: inherit; }
.live-load-error button { min-height: 40px; padding: 8px 16px; border: 1px solid #bc8ca3; border-radius: 8px; background: #512b3d; color: #fff0f5; font: inherit; cursor: pointer; }
@media (max-width: 600px) {
  #toastStack { right: 12px; width: calc(100vw - 24px); }
  #toastStack .toast { padding: 14px 12px; gap: 10px; }
}
