/* Shared responsive polish for the mobile front end. */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: hidden;
    color: #e8edf5;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

#app {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0 auto;
    overflow-x: clip;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

input,
select,
textarea,
button {
    font: inherit;
}

input,
select,
textarea {
    min-width: 0;
    max-width: 100%;
}

button,
[role="button"],
a,
.van-button,
.van-tabbar-item {
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

:focus-visible {
    outline: 2px solid #f0b92a;
    outline-offset: 2px;
}

.van-nav-bar {
    padding-top: env(safe-area-inset-top, 0px);
}

.van-tabbar--fixed {
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

.van-button {
    min-height: 44px;
    border-radius: 8px;
    transition: filter 120ms ease, transform 120ms ease;
}

.van-button:active {
    filter: brightness(.92);
    transform: translateY(1px);
}

.van-button[disabled],
.van-button--disabled {
    cursor: not-allowed;
    opacity: .62;
}

@media (min-width: 751px) {
    body {
        background: #0b0e13;
    }
    #app {
        max-width: 750px;
        min-height: 100vh;
        background-color: #12161c;
        box-shadow: 0 0 36px rgba(0, 0, 0, .35);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


/* Brand theme components: keep the existing charcoal and warm gold palette. */
:root {
    --brand-gold: #f0b92a;
    --brand-gold-light: #ffd65c;
    --brand-gold-dark: #d99f12;
    --surface-main: #171c25;
    --surface-raised: #202630;
    --surface-input: #191e27;
    --text-primary: #f4f6fa;
    --text-muted: #929baa;
    --line-soft: rgba(255, 255, 255, .09);
}

::selection {
    color: #17130a;
    background: rgba(240, 185, 42, .45);
}

.van-button--default {
    color: #201a0b;
    background: linear-gradient(135deg, var(--brand-gold-light), var(--brand-gold));
    border: 1px solid rgba(255, 214, 92, .65);
    box-shadow: 0 5px 16px rgba(240, 185, 42, .15);
    font-weight: 700;
}

.van-button--default:active {
    background: var(--brand-gold-dark);
}

.van-button--plain {
    color: var(--brand-gold-light);
    background: transparent;
    border-color: rgba(240, 185, 42, .55);
    box-shadow: none;
}

.van-cell,
.van-field,
.van-cell-group,
.van-picker,
.van-calendar,
.van-datetime-picker,
.van-dropdown-menu__bar,
.van-action-sheet,
.van-share-sheet {
    color: var(--text-primary);
    background: var(--surface-raised);
}

.van-cell::after,
.van-cell-group::after,
.van-hairline--top-bottom::after {
    border-color: var(--line-soft);
}

.van-field__control,
.van-field__control::placeholder,
.van-cell__label {
    color: var(--text-muted);
}

.van-field__control {
    color: var(--text-primary);
}

.van-field__control:focus {
    caret-color: var(--brand-gold);
}

.input-box,
.input-box2,
.van-cell-group,
.van-picker,
.van-calendar,
.van-action-sheet {
    border-radius: 12px;
}

.input-box:focus-within,
.input-box2:focus-within {
    border-color: rgba(240, 185, 42, .72);
    box-shadow: 0 0 0 3px rgba(240, 185, 42, .1);
}

/* Vant 2 dialog and popup surfaces used by the MVC views. */
.van-overlay {
    background: rgba(4, 7, 12, .72);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.van-dialog,
.van-popup {
    color: var(--text-primary);
    background: var(--surface-main);
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 16px;
    box-shadow: 0 18px 54px rgba(0, 0, 0, .4);
    overflow: hidden;
}

.van-dialog__header,
.van-dialog__message,
.van-dialog__confirm,
.van-dialog__cancel,
.van-popup__close-icon {
    color: var(--text-primary);
}

.van-dialog__header {
    padding-top: 22px;
    font-size: 17px;
    font-weight: 700;
}

.van-dialog__message {
    color: #c5ccd7;
    line-height: 1.65;
}

.van-dialog__footer,
.van-dialog__content {
    border-color: var(--line-soft);
}

.van-dialog__confirm,
.van-dialog__confirm:active,
.van-picker__confirm,
.van-calendar__confirm {
    color: var(--brand-gold-light);
    font-weight: 700;
}

.van-dialog__cancel,
.van-picker__cancel {
    color: var(--text-muted);
}

.van-toast {
    min-width: 96px;
    max-width: min(80vw, 340px);
    padding: 12px 16px;
    color: #fff;
    background: rgba(31, 37, 48, .97);
    border: 1px solid rgba(240, 185, 42, .24);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.van-toast--text {
    padding: 10px 14px;
}

.van-toast__icon,
.van-toast__loading {
    color: var(--brand-gold-light);
}

.van-notify {
    padding-top: max(12px, env(safe-area-inset-top, 0px));
    padding-bottom: 12px;
    color: var(--text-primary);
    background: #252c37;
    border-bottom: 1px solid rgba(240, 185, 42, .36);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
}

.van-notify--success {
    background: #1e4738;
}

.van-notify--danger {
    background: #572b34;
}

.van-picker__toolbar,
.van-calendar__header,
.van-action-sheet__header {
    background: var(--surface-main);
}

.van-picker__cancel,
.van-picker__confirm,
.van-calendar__header-title,
.van-calendar__weekday,
.van-calendar__day--selected,
.van-calendar__day--start,
.van-calendar__day--end,
.van-calendar__day--middle {
    color: var(--brand-gold-light);
}

.van-tabs__line,
.van-switch--on,
.van-checkbox__icon--checked .van-icon,
.van-radio__icon--checked .van-icon {
    background-color: var(--brand-gold);
    border-color: var(--brand-gold);
}

.van-tab--active,
.van-dropdown-item__option--active,
.van-dropdown-item__option--active .van-dropdown-item__icon {
    color: var(--brand-gold-light);
}

.van-empty__description,
.van-list__finished-text,
.van-pull-refresh__text {
    color: var(--text-muted);
}

@media (max-width: 360px) {
    .van-dialog {
        width: calc(100vw - 48px);
    }
    .van-dialog__message {
        padding-right: 18px;
        padding-left: 18px;
    }
}


/* Layui layer (layer.js) used by wallet and cash pages. Keep the same brand look as Vant. */
body .layui-layer-shade {
    background: rgba(4, 7, 12, .74) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

body .layui-layer.layui-layer-dialog,
body .layui-layer.layui-layer-page,
body .layui-layer.layui-layer-iframe,
body .layui-layer.layui-layer-prompt {
    color: var(--text-primary);
    background: var(--surface-main);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 16px;
    box-shadow: 0 18px 54px rgba(0, 0, 0, .42);
    overflow: hidden;
}

body .layui-layer.layui-layer-dialog .layui-layer-content {
    color: #d6dce6 !important;
    background: transparent !important;
}

body .layui-layer-title {
    height: auto;
    min-height: 52px;
    padding: 15px 52px 14px 20px;
    color: var(--text-primary);
    background: linear-gradient(135deg, #222a36, #191e27);
    border-bottom: 1px solid var(--line-soft);
    line-height: 1.45;
    font-size: 16px;
    font-weight: 700;
    white-space: normal;
}

body .layui-layer-setwin {
    top: 18px;
    right: 16px;
}

body .layui-layer-setwin .layui-layer-close1 {
    opacity: .72;
    filter: grayscale(1) brightness(2.2);
}

body .layui-layer-setwin .layui-layer-close1:hover {
    opacity: 1;
}

body .layui-layer-content {
    color: #d6dce6;
    line-height: 1.65;
}

body .layui-layer.layui-layer-dialog .layui-layer-content {
    min-height: 56px;
    padding: 22px 22px 20px;
    font-size: 14px;
}

body .layui-layer.layui-layer-dialog .layui-layer-padding {
    padding-left: 60px;
}

body .layui-layer-btn {
    padding: 4px 18px 18px;
    border-top: 1px solid rgba(255, 255, 255, .045);
}

body .layui-layer-btn a {
    height: 38px;
    min-width: 84px;
    margin: 8px 0 0 10px;
    padding: 0 18px;
    color: #c3cad5;
    background: #2a313d;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 9px;
    line-height: 36px;
    font-weight: 600;
    transition: transform 120ms ease, filter 120ms ease;
}

body .layui-layer-btn a:active {
    transform: translateY(1px);
    filter: brightness(.94);
}

body .layui-layer-btn .layui-layer-btn0 {
    color: #211a09 !important;
    background: linear-gradient(135deg, var(--brand-gold-light), var(--brand-gold)) !important;
    border-color: var(--brand-gold) !important;
    box-shadow: 0 4px 12px rgba(240, 185, 42, .17);
}

body .layui-layer-btn .layui-layer-btn1 {
    color: #d2d8e1 !important;
    background: #2a313d !important;
    border-color: rgba(255, 255, 255, .1) !important;
}

body .layui-layer-prompt .layui-layer-input,
body .layui-layer-prompt textarea.layui-layer-input {
    display: block;
    width: calc(100% - 4px);
    max-width: 100%;
    height: 44px;
    margin: 4px 2px 0;
    padding: 0 13px;
    color: var(--text-primary);
    background: #11161e;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 9px;
    outline: none;
    font-size: 15px;
    transition: border-color 120ms ease, box-shadow 120ms ease;
}

body .layui-layer-prompt textarea.layui-layer-input {
    height: 104px;
    padding: 10px 13px;
    resize: vertical;
}

body .layui-layer-prompt .layui-layer-input:focus {
    border-color: var(--brand-gold);
    box-shadow: 0 0 0 3px rgba(240, 185, 42, .12);
}

body .layui-layer-msg {
    min-width: 0;
    max-width: min(88vw, 380px);
    color: #fff;
    background: rgba(31, 37, 48, .97);
    border: 1px solid rgba(240, 185, 42, .28);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}

body .layui-layer-msg .layui-layer-content {
    padding: 12px 18px;
    color: #fff;
    overflow-wrap: anywhere;
    text-align: center;
}

body .layui-layer-hui {
    min-width: 0;
    color: #fff;
    background: rgba(31, 37, 48, .96);
    border: 1px solid rgba(240, 185, 42, .24);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}

body .layui-layer-hui .layui-layer-content {
    padding: 12px 18px;
    color: #fff;
    line-height: 1.5;
}

body .layui-layer-tips .layui-layer-content {
    color: #f5f7fa;
    background: #27303b;
    border: 1px solid rgba(240, 185, 42, .25);
    border-radius: 9px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .28);
}

body .layui-layer-tips i.layui-layer-TipsT { border-bottom-color: #27303b; }
body .layui-layer-tips i.layui-layer-TipsB { border-top-color: #27303b; }
body .layui-layer-tips i.layui-layer-TipsL { border-right-color: #27303b; }
body .layui-layer-tips i.layui-layer-TipsR { border-left-color: #27303b; }

body .layui-m-layer0 .layui-m-layerchild,
body .layui-m-layer1 .layui-m-layerchild,
body .layui-m-layer2 .layui-m-layerchild {
    color: var(--text-primary);
    background: var(--surface-main);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 15px;
    box-shadow: 0 18px 54px rgba(0, 0, 0, .42);
}

body .layui-m-layercont {
    color: #d6dce6;
    line-height: 1.65;
}

body .layui-m-layerbtn {
    height: 48px;
    background: #202630;
    border-top: 1px solid var(--line-soft);
}

body .layui-m-layerbtn span {
    color: #c3cad5;
    background: transparent;
    border-color: var(--line-soft);
}

body .layui-m-layerbtn span[yes] {
    color: var(--brand-gold-light);
    font-weight: 700;
}

body .layui-m-layer-msg {
    color: #fff;
    background: rgba(31, 37, 48, .97);
    border: 1px solid rgba(240, 185, 42, .25);
    border-radius: 12px;
}

@media (max-width: 480px) {
    body .layui-layer.layui-layer-dialog,
    body .layui-layer.layui-layer-page,
    body .layui-layer.layui-layer-iframe,
    body .layui-layer.layui-layer-prompt {
        max-width: calc(100vw - 32px);
        border-radius: 14px;
    }
    body .layui-layer-dialog {
        min-width: 0;
        width: min(360px, calc(100vw - 32px));
    }
    body .layui-layer-prompt .layui-layer-input {
        width: calc(100% - 4px);
    }
}


/* Strong component selectors override layer.js default white surfaces and inline dimensions. */
html body .layui-layer.layui-layer-dialog {
    background: #171c25 !important;
    border: 1px solid rgba(240, 185, 42, .22) !important;
    border-radius: 16px !important;
    box-shadow: 0 22px 64px rgba(0, 0, 0, .52), 0 0 0 1px rgba(240, 185, 42, .04) !important;
}

html body .layui-layer.layui-layer-dialog .layui-layer-title {
    color: #f4f6fa !important;
    background: linear-gradient(135deg, #252d39, #191e27) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}

html body .layui-layer.layui-layer-dialog .layui-layer-content {
    color: #d6dce6 !important;
    background: #171c25 !important;
}

html body .layui-layer.layui-layer-dialog .layui-layer-btn {
    background: #171c25 !important;
    border-top: 1px solid rgba(255, 255, 255, .07) !important;
}

html body .layui-layer.layui-layer-dialog .layui-layer-btn a {
    color: #c3cad5 !important;
    background: #2a313d !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    border-radius: 9px !important;
}

html body .layui-layer.layui-layer-dialog .layui-layer-btn a.layui-layer-btn0 {
    color: #211a09 !important;
    background: linear-gradient(135deg, #ffd65c, #f0b92a) !important;
    border-color: #f0b92a !important;
}

html body .layui-layer.layui-layer-dialog .layui-layer-btn a.layui-layer-btn1 {
    color: #d2d8e1 !important;
    background: #2a313d !important;
    border-color: rgba(255, 255, 255, .1) !important;
}


/* Exact layer.js dialog DOM used by account and wallet prompts. */
html body div.layui-layer.layui-layer-dialog {
    color: #f3f4f6 !important;
    background: #171a20 !important;
    border: 1px solid rgba(240, 185, 42, .38) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .58), 0 0 0 1px rgba(240, 185, 42, .06) !important;
    overflow: hidden !important;
}

html body div.layui-layer.layui-layer-dialog > .layui-layer-title {
    min-height: 48px !important;
    height: auto !important;
    padding: 14px 48px 13px 18px !important;
    color: #f0b92a !important;
    background: #20242c !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(240, 185, 42, .18) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

html body div.layui-layer.layui-layer-dialog > .layui-layer-content {
    min-height: 58px !important;
    padding: 20px 19px !important;
    color: #e2e5ea !important;
    background: #171a20 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

html body div.layui-layer.layui-layer-dialog > .layui-layer-btn {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 9px !important;
    padding: 11px 16px 15px !important;
    background: #171a20 !important;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .06) !important;
}

html body div.layui-layer.layui-layer-dialog > .layui-layer-btn > a {
    float: none !important;
    min-width: 88px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    color: #c8cbd1 !important;
    background: #292d35 !important;
    border: 1px solid rgba(255, 255, 255, .11) !important;
    border-radius: 9px !important;
    line-height: 36px !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

html body div.layui-layer.layui-layer-dialog > .layui-layer-btn > a.layui-layer-btn0 {
    color: #17130a !important;
    background: #f0b92a !important;
    border-color: #f0b92a !important;
    box-shadow: 0 4px 12px rgba(240, 185, 42, .2) !important;
}

html body div.layui-layer.layui-layer-dialog > .layui-layer-btn > a:active {
    filter: brightness(.93);
    transform: translateY(1px);
}

html body div.layui-layer-shade {
    background: rgba(5, 7, 10, .78) !important;
}

/* Remove non-brand blue/green states from shared front-end widgets. */
.van-button--primary,
.van-button--info,
.van-switch--on,
.van-checkbox__icon--checked .van-icon,
.van-radio__icon--checked .van-icon,
.van-tabs__line {
    color: #17130a !important;
    background: #f0b92a !important;
    border-color: #f0b92a !important;
}

.van-tab--active,
.van-dropdown-item__option--active,
.van-dropdown-item__option--active .van-dropdown-item__icon,
.van-picker__confirm,
.van-calendar__confirm {
    color: #f0b92a !important;
}
/* Scoped Vant selectors: rendered under body to avoid clipped parent containers. */
.brand-select { width: 100%; min-width: 0; }
.brand-select > select[hidden] { display: none !important; }
.brand-select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 12px; color: #f4f6fa; background: transparent; border: 0; border-radius: 10px; text-align: left; font-size: 15px; line-height: 1.4; }
.brand-select-trigger > span { min-width: 0; overflow-wrap: anywhere; }
.brand-select-trigger .van-icon { flex: 0 0 auto; color: #f0b92a; }
.login .brand-select-trigger { min-height: 30px; padding: 0 4px; }
body .brand-select-popup.van-popup--bottom { position: fixed; top: auto; bottom: 0; left: 0; right: 0; width: 100%; max-width: 750px; max-height: 80vh; margin: 0 auto; padding-bottom: env(safe-area-inset-bottom, 0px); border-radius: 18px 18px 0 0; overflow-y: auto; }
.brand-select-popup .van-picker__toolbar { min-height: 52px; height: auto; gap: 8px; }
.brand-select-popup .van-picker__title { min-width: 0; font-size: 15px; }
.brand-select-popup .van-picker__cancel, .brand-select-popup .van-picker__confirm { height: auto; min-height: 44px; padding: 8px 16px; white-space: normal; }
.brand-select-popup .van-picker-column__item { padding: 0 12px; font-size: 15px; }
.brand-select-popup .van-picker__mask { background-image: linear-gradient(180deg, rgba(32,38,48,.92), rgba(32,38,48,.35)), linear-gradient(0deg, rgba(32,38,48,.92), rgba(32,38,48,.35)); }
.brand-select-popup .van-picker-column__item { color: #f4f6fa; }
.brand-select-popup .van-picker__frame::after { border-color: rgba(240,185,42,.3); }
