/* Shared Kết Nối VN palette, including Vant layers mounted outside #app. */
:root {
  color-scheme: dark;
  --kn-bg: #0f1015;
  --kn-surface: #1a1e26;
  --kn-surface-raised: #292d37;
  --kn-input: #11141b;
  --kn-border: #303744;
  --kn-text: #f4f4f6;
  --kn-muted: #bfc0cb;
  --kn-accent: #f34c80;
  --kn-danger: #ff6b85;
  --kn-action-gradient: linear-gradient(135deg, #f43e7b, #fa528d);
  --kn-header-gradient: linear-gradient(115deg, #2a1c32, #201d2c);
}
body { background: var(--kn-bg); color: var(--kn-text); }
#app { min-height: 100vh; background: var(--kn-bg); box-shadow: 0 0 24px #0005; }
body:not(.kn-dating-home) .page { background-color: var(--kn-bg) !important; color: var(--kn-text); }
body:not(.kn-dating-home) .bg-container { background: var(--kn-bg) !important; }
body:not(.kn-dating-home) .bg-container .bg-img { opacity: .08; }
body:not(.kn-dating-home) .bg-container .bg-wrapper { background: linear-gradient(150deg, #251c30f2, #0f1015fa) !important; }
body:not(.kn-dating-home) .bg-container .nav-bar { background: transparent !important; }
body:not(.kn-dating-home) .mine .page-bg { background: var(--kn-bg) !important; }
body:not(.kn-dating-home) .mine .finance .line { background-color: var(--kn-border) !important; }

/* Titles, lists, cards, fields and separators. */
body .van-nav-bar { background: #1a1d24 !important; color: var(--kn-text); }
body .van-nav-bar__title { color: var(--kn-text) !important; }
body .van-nav-bar__text, body .van-nav-bar .van-icon { color: var(--kn-accent) !important; }
body .van-cell, body .van-cell-group,
body .van-grid-item__content, body .van-collapse-item__content {
  background: var(--kn-surface); color: var(--kn-text);
}
body .van-cell__title, body .van-field__label, body .van-radio__label,
body .van-checkbox__label { color: var(--kn-text); }
body .van-cell__value, body .van-cell__label,
body .van-cell__right-icon, body .van-field__right-icon,
body .van-field__clear { color: var(--kn-muted); }
body .van-field.van-cell .van-field__control { color: var(--kn-text) !important; caret-color: var(--kn-accent); }
body .van-field__control::placeholder { color: #9298aa; opacity: 1; }
body .van-field__control:disabled, body .van-field__control:read-only { color: var(--kn-muted) !important; }
body .loginForm .van-cell.input { background: var(--kn-input) !important; border: 1px solid var(--kn-border); }
body input:-webkit-autofill { -webkit-text-fill-color: var(--kn-text); box-shadow: 0 0 0 1000px var(--kn-input) inset; caret-color: var(--kn-accent); }
body [class*="van-hairline"]::after,
body .van-cell::after { border-color: var(--kn-border) !important; }
body .van-field__error-message { color: var(--kn-danger); }
body .van-image__loading, body .van-image__error { background: var(--kn-surface); color: var(--kn-muted); }
body .van-loading, body .van-loading__text, body .van-list__loading,
body .van-list__finished-text, body .van-list__error-text,
body .van-empty__description, body .van-pull-refresh__head { color: var(--kn-muted) !important; }
body .van-empty__image { opacity: .65; }
body .van-divider { color: var(--kn-muted); border-color: var(--kn-border); }

/* Tabs and choices retain distinct selected states. */
body .van-tabs__nav, body .van-tabs__wrap,
body .van-sidebar { background: var(--kn-surface) !important; }
body .van-tab { color: var(--kn-muted) !important; }
body .van-tab--active { color: var(--kn-accent) !important; }
body .van-tabs__line { background-color: var(--kn-accent) !important; }
body .van-sidebar-item { background: var(--kn-surface) !important; color: var(--kn-muted) !important; }
body .van-sidebar-item--select { background: #f34c8012 !important; color: var(--kn-accent) !important; }
body .van-sidebar-item--select::before { background-color: var(--kn-accent) !important; }
body .van-radio__icon .van-icon, body .van-checkbox__icon .van-icon { border-color: #647086; }
body .van-radio__icon--checked .van-icon, body .van-checkbox__icon--checked .van-icon {
  background-color: var(--kn-accent) !important; border-color: var(--kn-accent) !important; color: #fff !important;
}
body .van-switch { background: var(--kn-surface-raised); border-color: var(--kn-border); }
body .van-switch--on { background: var(--kn-accent); }
body .van-switch__node { background: var(--kn-text); }
body .van-stepper__minus, body .van-stepper__plus,
body .van-stepper__input { background: var(--kn-surface-raised); color: var(--kn-text); }
body .van-stepper__minus--disabled, body .van-stepper__plus--disabled { color: #697184; }

/* Actions and disabled controls. */
body .van-button--default { background: var(--kn-surface-raised); color: var(--kn-text); border-color: var(--kn-border); }
body .van-button--primary, body .van-button--info,
body .van-button[style*="linear-gradient"] {
  background: var(--kn-action-gradient) !important; color: #fff !important; border-color: var(--kn-accent) !important;
}
body .van-button--danger { background: #bc3454; border-color: #bc3454; color: #fff; }
body .van-button--plain { background: transparent !important; color: var(--kn-accent) !important; }
body .van-button--disabled { opacity: .45; }
body .van-button:focus-visible, body input:focus-visible,
body textarea:focus-visible, body a:focus-visible { outline: 2px solid #ff74a1; outline-offset: 3px; }

/* Dialogs, pickers and the numeric keyboard are teleported to body. */
body .van-popup, body .van-dialog, body .van-picker,
body .van-picker__toolbar, body .van-action-sheet,
body .van-action-sheet__item, body .van-action-sheet__cancel,
body .van-dropdown-menu__bar, body .van-dropdown-item__content {
  background: var(--kn-surface) !important; color: var(--kn-text);
}
body .van-popup.mask { background: transparent !important; }
body .van-overlay { background-color: #000a; }
body .van-dialog__header, body .van-dialog__message,
body .van-action-sheet__header, body .van-picker__title,
body .van-picker-column__item, body .van-dropdown-menu__title,
body .van-password-input__info { color: var(--kn-text); }
body .van-dialog__confirm, body .van-picker__confirm,
body .van-dropdown-item__option--active,
body .van-dropdown-item__icon, body .van-dropdown-menu__title--active { color: var(--kn-accent); }
body .van-picker__cancel, body .van-popup__close-icon,
body .van-action-sheet__close, body .van-action-sheet__description { color: var(--kn-muted); }
body .van-action-sheet__gap { background: var(--kn-bg); }
body .van-picker__mask { background-image: linear-gradient(180deg, #1a1e26e6, #1a1e2666), linear-gradient(0deg, #1a1e26e6, #1a1e2666); }
body .van-picker__frame::after { border-color: var(--kn-border); }
body .van-password-input__security li { background: var(--kn-surface-raised) !important; color: var(--kn-text); }
body .van-password-input__security i { background: var(--kn-text); }
body .van-number-keyboard { background: var(--kn-bg) !important; }
body .van-key { background: var(--kn-surface-raised); color: var(--kn-text); }
body .van-key--active { background: #3b4353; }
body .van-key--blue { background: var(--kn-accent); color: #fff; }
body .van-toast { background: #292d37f5 !important; color: var(--kn-text); border: 1px solid var(--kn-border); }
body .van-popover__content { background: var(--kn-surface); color: var(--kn-text); }
body .van-popover__arrow { color: var(--kn-surface); }

/* Legacy account/report panels and support cards with plain black text. */
body:not(.kn-dating-home) .container,
body:not(.kn-dating-home) .rig-content,
body:not(.kn-dating-home) .address,
body:not(.kn-dating-home) .movie-title,
body:not(.kn-dating-home) .box { color: var(--kn-text); }
body:not(.kn-dating-home) .mine .header,
body:not(.kn-dating-home) .container .header { background: var(--kn-header-gradient) !important; }
body:not(.kn-dating-home) .movie-list-item .movie-time-div { color: var(--kn-text); }
body:not(.kn-dating-home) table { background: var(--kn-surface); color: var(--kn-text); }
body:not(.kn-dating-home) table td { border-color: var(--kn-border) !important; }

/* Light palette applies only while the Mine page is mounted. */
body:has(.mine) {
  color-scheme: light;
  --kn-bg: #f7f5f8;
  --kn-surface: #ffffff;
  --kn-surface-raised: #f0ebf2;
  --kn-input: #f7f5f8;
  --kn-border: #e6dfe8;
  --kn-text: #302735;
  --kn-muted: #716577;
  --kn-accent: #d93670;
  --kn-header-gradient: linear-gradient(115deg, #fce6ef, #eee6f7);
}
body:has(.mine) .mine .van-nav-bar { background: transparent !important; }
body:has(.mine) .mine .header .login-label { color: var(--kn-muted) !important; }
body:has(.mine) .mine .refresh-btn { color: #fff !important; }
body:has(.mine) .kn-nav { background: #fff; border-top-color: var(--kn-border); }
body:has(.mine) .kn-nav-item { color: var(--kn-muted); }
body:has(.mine) .kn-nav-item.is-active { color: var(--kn-accent); }

/* Bank selection sheet on BindCard. */
.kn-bank-select { cursor: pointer; }
.kn-bank-select .van-field__control { cursor: pointer; }
.kn-bank-popup { padding-bottom: env(safe-area-inset-bottom, 0px); border-top: 1px solid var(--kn-border); }
.kn-bank-title { margin: 0; padding: 20px 20px 8px; font-size: 18px; color: var(--kn-text); }
.kn-bank-status { padding: 20px; color: var(--kn-muted); text-align: center; }
.kn-bank-popup .van-picker-column__item { font-size: 14px; padding: 0 18px; }
.kn-bank-popup .van-picker__toolbar { border-bottom: 1px solid var(--kn-border); }

.kn-bank-select.van-cell { align-items: center; }
.kn-bank-select .van-cell__right-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  line-height: 1;
}

/* Stack the membership badge below the username on Mine. */
body .mine .header .user-wrapper .login-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  min-width: 0;
}
body .mine .header .user-wrapper .login-content .login-btn {
  margin: 0;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
body .mine .header .user-wrapper .login-content .login-label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  font-size: 15px;
  line-height: 1.4;
}
body .mine .header .user-wrapper .login-content .login-label img {
  position: static !important;
  top: auto !important;
  margin-right: 0 !important;
  display: block;
  width: 36px;
  height: 36px;
  object-fit: contain;
  padding: 5px;
  border-radius: 10px;
  /* border: 1px solid #e9d4b2; */
  /* box-shadow: 0 2px 5px #6b452014; */
  flex-shrink: 0;
  box-sizing: border-box;
}

body .mine .header .user-wrapper .login-content .login-label {
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  white-space: nowrap;
  gap: 6px;
}
body .mine .header .user-wrapper .login-content .login-label img {
  display: inline-block;
  vertical-align: middle;
  align-self: center;
}

body .mine .header .user-wrapper .login-content .login-label[data-v-c6c17178] {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  gap: 6px;
  line-height: 1.4;
}
body .mine .login-label .kn-vip-text {
  display: inline-block;
  white-space: nowrap;
}

/* Home light mode, including its region dialog and navigation. */
body.kn-dating-home {
  color-scheme: light;
  --kn-bg: #f7f5f8;
  --kn-surface: #fff;
  --kn-border: #e6dfe8;
  --kn-text: #302735;
  --kn-muted: #716577;
  --kn-accent: #d93670;
  background: var(--kn-bg);
  color: var(--kn-text);
}
body.kn-dating-home #app,
body.kn-dating-home .kn-home { background: var(--kn-bg); color: var(--kn-text); }
body.kn-dating-home #app { box-shadow: 0 0 24px #49334d12; }
body.kn-dating-home .kn-header,
body.kn-dating-home .kn-nav { background: #fff; border-color: var(--kn-border); }
body.kn-dating-home .kn-brand,
body.kn-dating-home .kn-text-button,
body.kn-dating-home .kn-nav-item.is-active { color: var(--kn-accent); }
body.kn-dating-home .kn-region { background: #fce6ef; color: #a62955; }
body.kn-dating-home .kn-region:hover { background: #f8d5e3; }
body.kn-dating-home .kn-welcome,
body.kn-dating-home .kn-couple-slider { background: #eee6f0; }
body.kn-dating-home .kn-guide,
body.kn-dating-home .kn-profile-card,
body.kn-dating-home .kn-lottery-item,
body.kn-dating-home .kn-empty-profiles,
body.kn-dating-home .kn-dialog {
  background: var(--kn-surface);
  color: var(--kn-text);
  border-color: var(--kn-border);
  box-shadow: 0 3px 12px #49334d08;
}
body.kn-dating-home .kn-steps button { color: var(--kn-text); }
body.kn-dating-home .kn-guide h2,
body.kn-dating-home .kn-profile-location,
body.kn-dating-home .kn-demo-note,
body.kn-dating-home .kn-nav-item,
body.kn-dating-home .kn-lottery,
body.kn-dating-home .kn-lottery-item span,
body.kn-dating-home .kn-region-status,
body.kn-dating-home .kn-dialog-description { color: var(--kn-muted); }
body.kn-dating-home .kn-profile-photo,
body.kn-dating-home .kn-lottery-item img { background: #f0ebf2; border-color: var(--kn-border); }
body.kn-dating-home .kn-dialog-close { background: #f0ebf2; color: var(--kn-text); }
body.kn-dating-home .kn-region-search,
body.kn-dating-home .kn-region-option { background: #f7f5f8; color: var(--kn-text); border-color: var(--kn-border); }
body.kn-dating-home .kn-region-search::placeholder { color: var(--kn-muted); }
body.kn-dating-home .kn-region-option.is-selected { background: #fce6ef; border-color: var(--kn-accent); color: #a62955; }
body.kn-dating-home .kn-lottery-retry { border-color: var(--kn-accent); color: var(--kn-accent); }
body.kn-dating-home .kn-lottery-item:hover { border-color: var(--kn-accent); }

/* Login light mode; the logo is hidden only on this page. */
body:has(.login[data-v-f9214aa2]) {
  color-scheme: light;
  --kn-bg: #f7f5f8;
  --kn-surface: #fff;
  --kn-surface-raised: #f0ebf2;
  --kn-input: #fff;
  --kn-border: #e6dfe8;
  --kn-text: #302735;
  --kn-muted: #716577;
  --kn-accent: #d93670;
  background: var(--kn-bg);
  color: var(--kn-text);
}
body .login[data-v-f9214aa2] .logo-container { display: none; }
body:has(.login[data-v-f9214aa2]) .bg-container .bg-img { display: none; }
body:has(.login[data-v-f9214aa2]) .bg-container .bg-wrapper {
  background: linear-gradient(160deg, #fce6ef, #f7f5f8 55%, #eee6f7) !important;
}
body .login[data-v-f9214aa2] { height: 100dvh; min-height: 100vh; overflow-y: auto; }
body .login[data-v-f9214aa2] .wrapper { padding-top: 32px; padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)); }
body .login[data-v-f9214aa2] .wrapper .title { color: var(--kn-text) !important; }
body .login[data-v-f9214aa2] .loginForm .input { box-shadow: 0 3px 12px #49334d08; }
body .login[data-v-f9214aa2] .loginForm .register-text span,
body .login[data-v-f9214aa2] .loginForm > div:last-child,
body .login[data-v-f9214aa2] .loginForm > div:last-child a { color: var(--kn-accent) !important; }
body .login[data-v-f9214aa2] .loginForm .login-btn { color: #fff !important; }

/* Lottery light mode, including overlays and numeric input. */
body:has(.page[data-v-698eabf0]) {
  color-scheme: light;
  --kn-bg: #f7f5f8;
  --kn-surface: #fff;
  --kn-surface-raised: #f0ebf2;
  --kn-input: #fff;
  --kn-border: #e6dfe8;
  --kn-text: #302735;
  --kn-muted: #716577;
  --kn-accent: #d93670;
  --kn-danger: #d93670;
  --kn-header-gradient: linear-gradient(115deg, #fce6ef, #eee6f7);
  background: var(--kn-bg);
  color: var(--kn-text);
}
body:has(.page[data-v-698eabf0]) .van-nav-bar { background: #fff !important; }
body:has(.page[data-v-698eabf0]) .rectangle .wrapper { border: 1px solid var(--kn-border); border-radius: 10px; }
body:has(.page[data-v-698eabf0]) .rectangle.active .wrapper { border-color: var(--kn-accent); }
body:has(.page[data-v-698eabf0]) .rectangle.active .wrapper .name-text,
body:has(.page[data-v-698eabf0]) .rectangle.active .wrapper .odd-text,
body:has(.page[data-v-698eabf0]) .bottom-bar .bar .right,
body:has(.page[data-v-698eabf0]) .confirm-order-modal .sub-bar .item.sub-btn { color: #fff !important; }
body:has(.page[data-v-698eabf0]) .van-picker__mask { background-image: linear-gradient(180deg, #ffffffe6, #ffffff66), linear-gradient(0deg, #ffffffe6, #ffffff66); }
body:has(.page[data-v-698eabf0]) .van-number-keyboard__title { color: var(--kn-text); }

/* All account pages reachable from Mine share the light palette. */
body.kn-account-light {
  color-scheme: light;
  --kn-bg: #f7f5f8;
  --kn-surface: #fff;
  --kn-surface-raised: #f0ebf2;
  --kn-input: #fff;
  --kn-border: #e6dfe8;
  --kn-text: #302735;
  --kn-muted: #716577;
  --kn-accent: #d93670;
  --kn-danger: #c82c60;
  --kn-header-gradient: linear-gradient(115deg, #fce6ef, #eee6f7);
  background: var(--kn-bg);
  color: var(--kn-text);
}
body.kn-account-light .van-nav-bar { background: #fff !important; }
body.kn-account-light .bg-container .bg-img { display: none; }
body.kn-account-light .bg-container .bg-wrapper { background: var(--kn-header-gradient) !important; }
body.kn-account-light .van-picker__mask { background-image: linear-gradient(180deg, #ffffffe6, #ffffff66), linear-gradient(0deg, #ffffffe6, #ffffff66); }
body.kn-account-light .van-toast { background: #fff !important; color: var(--kn-text); }
body.kn-account-light .van-key--active { background: #e6dfe8; }
body.kn-account-light .kn-nav { background: #fff; border-color: var(--kn-border); }
body.kn-account-light .kn-nav-item { color: var(--kn-muted); }
body.kn-account-light .kn-nav-item.is-active { color: var(--kn-accent); }
body.kn-account-light .register .title,
body.kn-account-light .register .agreement-text,
body.kn-account-light .register .loginForm > div:last-child,
body.kn-account-light .register .loginForm > div:last-child a { color: var(--kn-text) !important; }

/* Public profile uses the same light surface when opened from a profile card. */
body.kn-account-light .page > .box {
  width: min(95%, 560px);
  margin: 18px auto 0;
  padding: 22px 16px 32px;
  background: var(--kn-surface);
  border: 1px solid var(--kn-border);
  border-radius: 16px;
  box-shadow: 0 3px 12px #49334d08;
}
body.kn-account-light .page > .box .name { color: var(--kn-text); }
body.kn-account-light .page > .box .title { color: var(--kn-muted); }
body.kn-account-light .page > .box .button { background: var(--kn-accent) !important; }

body.kn-account-light .convention-hall .card,
body.kn-account-light .convention-hall .rig-box,
body.kn-account-light .convention-hall .address .van-col {
  background: var(--kn-surface);
  border-color: var(--kn-border);
  color: var(--kn-text);
}

/* Withdraw form: retain the light surface even when reached through #/withdraw. */
body.kn-account-light .container .main[data-v-52a7ea58],
body.kn-account-light .container .main .withdrawMoney[data-v-52a7ea58] {
  background: var(--kn-surface);
  color: var(--kn-text);
}
body.kn-account-light .bankinfo[data-v-52a7ea58] {
  color: var(--kn-accent);
  border-color: var(--kn-bg);
  background: var(--kn-surface);
}
body.kn-account-light .container .main .withdrawMoney .money[data-v-52a7ea58] {
  border-color: var(--kn-border);
  background: var(--kn-input);
}
body.kn-account-light .withdraw_btn[data-v-52a7ea58] {
  background: var(--kn-action-gradient);
}

/* Feedback popups stay light across every route, including login failures. */
body .van-toast,
body .van-dialog,
body .van-popup:not(.mask),
body .van-notify,
body .van-popover__content {
  background: #fff !important;
  color: #302735 !important;
  border-color: #e6dfe8 !important;
  box-shadow: 0 10px 30px #49334d24;
}
body .van-toast__text,
body .van-toast__icon,
body .van-dialog__header,
body .van-dialog__message,
body .van-notify__text,
body .van-notify__message,
body .van-popover__content { color: #302735 !important; }
body .van-toast--fail .van-toast__icon,
body .van-toast--fail .van-icon,
body .van-notify--danger .van-notify__text,
body .van-notify--danger .van-notify__message { color: #d93670 !important; }
body .van-dialog__confirm { color: #d93670 !important; }
body .van-dialog__cancel { color: #716577 !important; }
body .van-popover__arrow { color: #fff !important; }
