/* RUAYWAI55 theme active: iron_man_armor / V2365 */
:root{--site-primary:#ad2535;--site-accent:#e4bc70;--site-background:#090b11;--site-surface:#1b1d27;--site-text:#fff7ec;--site-muted:#c9c3cb;--site-border:#554450;--site-button_text:#ffffff;--site-header:#160e14;--site-footer:#12121c;--site-button_hover:#881b2d;--site-nav_text:#f7eadb;--site-input_bg:#22242f;--site-input_text:#faf7f2;}
:root{--rw-mascot-display:none;--rw-mascot-image:none;}
/* RUAYWAI55 V2351 STYLE CENTER — frontend-only override.
   Colors are generated from eight validated #RRGGBB values in site_theme/css.
   Do not style admin or user transaction state/disabled elements here. */
:root{
  --xp172-primary:var(--site-primary)!important;
  --xp172-accent:var(--site-accent)!important;
  --xp172-text:var(--site-text)!important;
  --xp172-muted:var(--site-muted)!important;
  --xp172-surface:var(--site-surface)!important;
  --xp172-border:var(--site-border)!important;
  --cx-primary:var(--site-primary)!important;
  --cx-secondary:var(--site-accent)!important;
  --cx-background:var(--site-background)!important;
  --cx-surface:var(--site-surface)!important;
  --wg-gold:var(--site-primary)!important;
  --wg-gold-light:var(--site-accent)!important;
  --wg-surface:var(--site-surface)!important;
  --green:var(--site-primary)!important;
  --green2:var(--site-accent)!important;
  --bg:var(--site-background)!important;
  --panel:var(--site-surface)!important;
  --panel2:var(--site-surface)!important;
  --text:var(--site-text)!important;
  --muted:var(--site-muted)!important;
  --main-btn-bg-1:var(--site-primary)!important;
}
html:has(body.xp172),body.xp172,body.xp172 .xp172-shell,
body[class*="cx-theme"], body[class*="lux-login"],body[class*="lux-register"] {
  background-color:var(--site-background)!important;
  color:var(--site-text)!important;
}
/* Landing & member homepage */
body.xp172 .xp172-shell, body.xp172 .xp172-main,
body.xp172 .xp172-footer, body.xp172 .xp172-drawer,
body.xp172 .xp136-drawer,body.xp172 .xp172-announcement {
  background-color:var(--site-background)!important;color:var(--site-text)!important;
}
body.xp172 .xp172-header,body.xp172 .xp136-drawer-head,
body.xp172 .xp172-bottom-nav,body.xp172 .xp136-bottom-nav,
body.xp172 .xp172-mobile-nav,body.xp172 .xp172-card,
body.xp172 [class*="xp172-panel"], body.xp172 [class*="xp172-info-card"] {
  background-color:var(--site-surface)!important;color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
body.xp172 .xp172-register,body.xp172 .xp172-cta,
body.xp172 a[class*="primary"],body.xp172 button[class*="primary"],
body.xp172 .xp172-login,body.xp172 .xp172-track:not(.xp172-brand):not(.xp172-menu-trigger):not(.xp81-line-contact):is(.xp172-register,.xp172-login) {
  background:linear-gradient(135deg,var(--site-primary),var(--rw-v2355-cta-end,var(--site-accent)))!important;
  border-color:var(--site-primary)!important;color:var(--site-button_text)!important;
}
body.xp172 .xp172-header-line,body.xp172 [class*="xp172-divider"]{border-color:var(--site-border)!important;background-color:var(--site-border)!important;}
body.xp172 a:not(.xp172-register):not(.xp172-login):not(.xp81-line-contact):hover{color:var(--site-primary)!important;}
body.xp172 .xp172-main h1,body.xp172 .xp172-main h2,
body.xp172 .xp172-main h3,body.xp172 .xp172-drawer h3{color:var(--site-text)!important;}
/* Member site / navigation */
body[class*="cx-theme"] .x-header,body[class*="cx-theme"] .header,
body[class*="cx-theme"] .top-nav,body[class*="cx-theme"] .nav-bottom,
body[class*="cx-theme"] .bottom-nav,
body[class*="cx-theme"] .modal-content,
body[class*="cx-theme"] .card,
body[class*="cx-theme"] .popup-dialog,
body[class*="cx-theme"] .popup-content,
body[class*="cx-theme"] [class*="-card"]{
  border-color:var(--site-border)!important;
}
body[class*="cx-theme"] .modal-content,
body[class*="cx-theme"] .popup-dialog,
body[class*="cx-theme"] .popup-content,
body[class*="cx-theme"] [class*="deposit-sheet"],
body[class*="cx-theme"] [class*="withdraw-sheet"]{
  background-color:var(--site-surface)!important;color:var(--site-text)!important;
}
body[class*="cx-theme"] .btn-primary:not(:disabled),
body[class*="cx-theme"] button[class*="confirm"]:not(:disabled),
body[class*="cx-theme"] button[class*="submit"]:not(:disabled),
body[class*="cx-theme"] .btn-success:not(:disabled){
  background:linear-gradient(135deg,var(--site-primary),var(--rw-v2355-cta-end,var(--site-accent)))!important;
  border-color:var(--site-primary)!important;color:var(--site-button_text)!important;
}
/* Login & Registration: preserve validation, form sizing, and navigation logic. */
body.lux-login-page,body.lux-register-page,
body.lux-login-page .lux-auth-layout,body.lux-register-page .lux-auth-layout {
  background:var(--site-background)!important;color:var(--site-text)!important;
}
body.lux-login-page .topbar,body.lux-register-page .topbar,
body.lux-login-page .bottom-nav,body.lux-register-page .bottom-nav,
body.lux-login-page .auth-card,body.lux-register-page .auth-card,
body.lux-register-page .register-shell {
  background:var(--site-surface)!important;border-color:var(--site-border)!important;color:var(--site-text)!important;
}
body.lux-login-page h1,body.lux-register-page h1,
body.lux-login-page h2,body.lux-register-page h2{
  color:var(--site-text)!important;
}
body.lux-login-page .primary:not(:disabled),body.lux-register-page .primary:not(:disabled),
body.lux-login-page .bottom-nav .active b,body.lux-register-page .bottom-nav .active b,
body.lux-register-page button[type="submit"]:not(:disabled){
  background:linear-gradient(135deg,var(--site-primary),var(--rw-v2355-cta-end,var(--site-accent)))!important;
  color:var(--site-button_text)!important;border-color:var(--site-primary)!important;
}
body.lux-login-page .input-wrap input,body.lux-register-page input:not([type=checkbox]):not([type=radio]),
body.lux-register-page select{
  background:var(--site-background)!important;color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
body.lux-login-page .field a,body.lux-register-page a:not(.topbar a){color:var(--site-primary);}
/* System native member deposit / withdrawal modal content (not admin). */
.deposit-page .deposit-step-card,.withdraw-page .withdraw-step-card,
.deposit-page .deposit-channel-card,.withdraw-page .withdraw-account-card,
.deposit-popup-shell .deposit-step-card{
  background-color:var(--site-surface)!important;color:var(--site-text)!important;border-color:var(--site-border)!important;
}
.deposit-page .btn-primary:not(:disabled),.withdraw-page .btn-primary:not(:disabled),
.deposit-page .btn-success:not(:disabled),.withdraw-page .btn-success:not(:disabled){
  background:linear-gradient(135deg,var(--site-primary),var(--rw-v2355-cta-end,var(--site-accent)))!important;
  color:var(--site-button_text)!important;border-color:var(--site-primary)!important;
}
/* Visibility and interaction safeguards. */
:focus-visible{outline-color:var(--site-primary)}
@media(prefers-reduced-motion:reduce){body.xp172 .xp172-track,body.lux-login-page .primary{transition:none!important}}
/* Deposit V2340/V2349 exact tokens; nontransactional presentation only. */
:root{--xd-bg:var(--site-background)!important;--xd-surface:var(--site-surface)!important;--xd-surface2:var(--site-surface)!important;--xd-surface3:var(--site-surface)!important;--xd-border:var(--site-border)!important;--xd-strong:var(--site-text)!important;--xd-muted:var(--site-muted)!important;--xd-green:var(--site-primary)!important;--xd-green2:var(--site-accent)!important;}
html:has(#depositPage),body:has(#depositPage),#depositPage.dp-page{background:var(--site-background)!important;color:var(--site-text)!important;}
#depositPage.dp-page{--xd-bg:var(--site-background)!important;--xd-surface:var(--site-surface)!important;--xd-surface2:var(--site-surface)!important;--xd-surface3:var(--site-surface)!important;--xd-border:var(--site-border)!important;--xd-strong:var(--site-text)!important;--xd-muted:var(--site-muted)!important;--xd-green:var(--site-primary)!important;--xd-green2:var(--site-accent)!important;}
#depositPage .dp-quick-own-card,#depositPage .dp-promo-gate,
#depositPage .dp-v2340-channel-current,#depositPage .xpd71-transfer-brief,
#depositPage .dp-v2340-channel-dialog,#depositPage .dp-quick-promo-dialog,
#depositPage .dp-v2340-channel-choice,#depositPage .dp-quick-promo-choice{
 background:var(--site-surface)!important;border-color:var(--site-border)!important;color:var(--site-text)!important;
}
#depositPage .dp-v2340-channel-dialog h2,#depositPage .dp-quick-promo-dialog h2,
#depositPage .dp-v2340-channel-choice strong,#depositPage .dp-quick-promo-choice strong{color:var(--site-text)!important;}
#depositPage .dp-v2340-channel-choice small,#depositPage .dp-quick-promo-choice small{color:var(--site-muted)!important;}
#depositPage .dp-v2340-channel-open:not(:disabled),#depositPage .dp-v2340-channel-done:not(:disabled),
#depositPage .dp-quick-promo-confirm:not(:disabled),#depositPage .dp-v2340-payment-switch:not(:disabled){
 background:linear-gradient(135deg,var(--site-primary),var(--rw-v2355-cta-end,var(--site-accent)))!important;
 color:var(--site-button_text)!important;border-color:var(--site-primary)!important;
}
/* Withdrawal V2341 exact scoped tokens. */
#xpwPage.xpw-page{
 --xpw-bg:var(--site-background)!important;
 --xpw-bg-soft:var(--site-background)!important;
 --xpw-panel:var(--site-surface)!important;
 --xpw-panel-2:var(--site-surface)!important;
 --xpw-text:var(--site-text)!important;
 --xpw-muted:var(--site-muted)!important;
 --xpw-green:var(--site-primary)!important;
 --xpw-green-2:var(--site-accent)!important;
 --xpw-line:var(--site-border)!important;
 --xpw-line-strong:var(--site-border)!important;
}
#xpwPage .xpw-modal{background:var(--site-background)!important;color:var(--site-text)!important;}
#xpwPage .xpw-card,#xpwPage .xpw-confirm-dialog,#xpwPage .xpw-history-item{
 background:var(--site-surface)!important;border-color:var(--site-border)!important;color:var(--site-text)!important;
}
#xpwPage .xpw-withdraw-btn:not(:disabled):not(.is-disabled),
#xpwPage .xpw-confirm-submit:not(:disabled){background:linear-gradient(135deg,var(--site-primary),var(--rw-v2355-cta-end,var(--site-accent)))!important;color:var(--site-button_text)!important;}
#xpwPage .xpw-header-copy h1,#xpwPage .xpw-card-label,#xpwPage .xpw-history-head h2{color:var(--site-text)!important;}

/* RUAYWAI55: additional palette slots for menus, forms and member pages. */
:root{
 --rw-primary:var(--site-primary)!important;
 --rw-accent:var(--site-accent)!important;
 --rw-bg:var(--site-background)!important;
 --rw-surface:var(--site-surface)!important;
 --rw-foreground:var(--site-text)!important;
 --rw-nav:var(--site-header)!important;
 --rw-input-bg:var(--site-input_bg)!important;
 --rw-input-text:var(--site-input_text)!important;
 --xp172-header-bg:var(--site-header)!important;
 --xp172-bottom-nav-bg:var(--site-footer)!important;
}
/* Specific landing / member top and bottom navigation controls. */
body.xp172 .xp172-header,body.xp172 .xp172-topbar,
body.xp172 .xp172-header-inner,body.xp172 .xp136-drawer-head,
body[class*="cx-theme"] .x-header, body[class*="cx-theme"] .top-nav{
 background-color:var(--site-header)!important;
 color:var(--site-nav_text)!important;
 border-color:var(--site-border)!important;
}
body.xp172 .xp172-bottom-nav,body.xp172 .xp136-bottom-nav,
body.xp172 .xp172-mobile-nav,body[class*="cx-theme"] .bottom-nav,
body[class*="cx-theme"] .nav-bottom,
body.lux-login-page .bottom-nav,body.lux-register-page .bottom-nav{
 background-color:var(--site-footer)!important;
 border-color:var(--site-border)!important;
}
body.xp172 .xp172-bottom-nav a,body.xp172 .xp136-bottom-nav a,
body[class*="cx-theme"] .bottom-nav a,body.lux-login-page .bottom-nav a,
body.lux-register-page .bottom-nav a{
 color:var(--site-nav_text)!important;
}
body.xp172 input:not([type=checkbox]):not([type=radio]),body.xp172 select,
body[class*="cx-theme"] input:not([type=checkbox]):not([type=radio]),
body[class*="cx-theme"] select,body[class*="cx-theme"] textarea,
body.lux-login-page input:not([type=checkbox]):not([type=radio]),
body.lux-register-page input:not([type=checkbox]):not([type=radio]),
#depositPage input:not([type=checkbox]):not([type=radio]),
#depositPage select,#depositPage textarea,
#xpwPage input:not([type=checkbox]):not([type=radio]){
 background-color:var(--site-input_bg)!important;color:var(--site-input_text)!important;
 border-color:var(--site-border)!important;
}
body.xp172 .xp172-cta:not(:disabled):hover,
body.lux-login-page .primary:not(:disabled):hover,
body.lux-register-page button[type=submit]:not(:disabled):hover,
#depositPage .dp-v2340-channel-done:not(:disabled):hover,
#xpwPage .xpw-withdraw-btn:not(:disabled):hover{
 background:var(--site-button_hover)!important;
 color:var(--site-button_text)!important;
}
/* Exact XPLAYZ V23 / Ruaywai55 landing selectors found in the original template. */
body.xp172 .xp172-wallet-card,
body.xp172 .xp172-wallet-head,
body.xp172 .xp172-promo-card,
body.xp172 .xp172-quick-actions,
body.xp172 .xp172-faq details,
body.xp172 .xp172-contact,
body.xp172 .xp172-drawer-links{
  background-color:var(--site-surface)!important;
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
body.xp172 .xp172-bottom,
body.xp172 .xp25-bottom{
  background-color:var(--site-footer)!important;
  border-top-color:var(--site-border)!important;
  color:var(--site-nav_text)!important;
}
body.xp172 .xp172-bottom a,
body.xp172 .xp172-bottom button,
body.xp172 .xp25-bottom a,
body.xp172 .xp25-bottom button{
  color:var(--site-nav_text)!important;
}
body.xp172 .xp172-bottom .xp172-center,
body.xp172 .xp172-wallet-action,
body.xp172 .xp172-wallet-head a,
body.xp172 .xp172-register:not(:disabled),
body.xp172 .xp172-login:not(:disabled){
  background:linear-gradient(135deg,var(--site-primary),var(--rw-v2355-cta-end,var(--site-accent)))!important;
  border-color:var(--site-primary)!important;
  color:var(--site-button_text)!important;
}
body.xp172 .xp172-promotions h2,
body.xp172 .xp172-wallet-head strong,
body.xp172 .xp172-wallet-main strong,
body.xp172 .xp172-faq h2,
body.xp172 .xp172-contact strong{
  color:var(--site-text)!important;
}
body.xp172 .xp172-bottom .xp172-center b,
body.xp172 .xp172-register b,
body.xp172 .xp172-login b{color:var(--site-button_text)!important;}

/* V2354: effective theme coverage on real Ruaywai55 customer pages. */
body.xp172 .xp172-shell,body.xp172 .xp172-main,
body.xp172 .xp172-wallet-wrap,body.xp172 .xp172-promotions,
body.xp172 .xp172-game-center,body.xp172 .xp172-faq,
body.xp172 .xp172-contact,body.xp172 .xp172-drawer{
 color:var(--site-text)!important;
}
body.xp172 .xp172-header,body.xp172 .xp172-drawer,
body.xp172 .xp172-wallet-card,body.xp172 .xp172-wallet-head,
body.xp172 .xp172-quick-actions,body.xp172 .xp172-faq details{
 border-color:var(--site-border)!important;
}
body.xp172 .xp172-main h1,body.xp172 .xp172-main h2,body.xp172 .xp172-main h3,
body.xp172 .xp172-wallet-card strong,body.xp172 .xp172-faq summary{
 color:var(--site-text)!important;
}
body.xp172 .xp172-wallet-action,body.xp172 .xp172-register:not(:disabled),
body.xp172 .xp172-login:not(:disabled){background:linear-gradient(135deg,var(--site-primary),var(--rw-v2355-cta-end,var(--site-accent)))!important;}


/* RUAYWAI55 V2355 — PREMIUM COMPLETE SKIN (frontend only).
 * No status/disabled/security controls are restyled. Theme state is set server-side.
 * Coordinated metallic/soft/glass finishes use the fourteen selected theme slots.
 */
:root{
  --rw-v2355-soft-primary:color-mix(in srgb,var(--site-primary) 12%,var(--site-surface))!important;
  --rw-v2355-soft-accent:color-mix(in srgb,var(--site-accent) 11%,var(--site-surface))!important;
  --rw-v2355-card-shadow:0 14px 36px color-mix(in srgb,var(--site-primary) 12%,transparent)!important;
  --rw-v2355-cta-end:color-mix(in srgb,var(--site-primary) 82%,var(--site-accent) 18%)!important;
  --rw-v2355-topline:linear-gradient(90deg,transparent,var(--site-accent),var(--site-primary),transparent)!important;
}
/* Coordinated page backgrounds and surface hierarchy */
body.xp172 .xp172-shell,
body.lux-login-page .lux-auth-layout,
body.lux-register-page .lux-auth-layout,
body[class*="cx-theme"] .member-shell,
#depositPage.dp-page,
#xpwPage.xpw-page{
  background:radial-gradient(ellipse at 8% 0%,color-mix(in srgb,var(--site-primary) 8%,transparent),transparent 50%),
             radial-gradient(ellipse at 100% 18%,color-mix(in srgb,var(--site-accent) 7%,transparent),transparent 40%),
             var(--site-background)!important;
  color:var(--site-text)!important;
}
/* Matching elevated surfaces (preserves image/banner styles) */
body.xp172 .xp172-wallet-card,
body.xp172 .xp172-quick-actions,
body.xp172 .xp172-faq details,
body.xp172 .xp172-card,
body[class*="cx-theme"] .popup-dialog,
body[class*="cx-theme"] .popup-content,
body.lux-login-page .auth-card,
body.lux-register-page .auth-card,
#depositPage .dp-quick-own-card,
#depositPage .dp-v2340-channel-choice,
#depositPage .dp-quick-promo-choice,
#xpwPage .xpw-card,
#xpwPage .xpw-history-item{
  background:linear-gradient(155deg,color-mix(in srgb,var(--site-surface) 94%,var(--site-accent) 6%),var(--site-surface))!important;
  border:1px solid var(--site-border)!important;
  color:var(--site-text)!important;
  box-shadow:var(--rw-v2355-card-shadow);
}
/* Navigation receives the preset's dedicated header/footer colors */
body.xp172 .xp172-header,
body.lux-login-page .topbar,
body.lux-register-page .topbar,
body[class*="cx-theme"] .top-nav,
body[class*="cx-theme"] .x-header{
  background:var(--site-header)!important;
  color:var(--site-nav_text)!important;
  border-color:var(--site-border)!important;
}
body.xp172 .xp172-bottom-nav,
body.xp172 .xp25-bottom,
body.lux-login-page .bottom-nav,
body.lux-register-page .bottom-nav,
body[class*="cx-theme"] .bottom-nav,
body[class*="cx-theme"] .nav-bottom{
  background:var(--site-footer)!important;
  color:var(--site-nav_text)!important;
  border-color:var(--site-border)!important;
}
/* Maintain visible nav icon/link text on light as well as dark presets. */
body.xp172 .xp172-header a,
body.xp172 .xp172-bottom-nav a:not(.xp172-center),
body[class*="cx-theme"] .top-nav a,
body[class*="cx-theme"] .bottom-nav a:not(.active),
body.lux-login-page .topbar a,
body.lux-register-page .topbar a{
  color:var(--site-nav_text)!important;
}
/* Accent roles stay separate from action color, avoiding unreadable gold/red blends. */
body.xp172 .xp172-cta:not(:disabled),
body.xp172 .xp172-register:not(:disabled),
body.xp172 .xp172-login:not(:disabled),
body.xp172 .xp172-wallet-action:not(:disabled),
body.lux-login-page button[type="submit"]:not(:disabled),
body.lux-register-page button[type="submit"]:not(:disabled),
body[class*="cx-theme"] .btn-primary:not(:disabled),
body[class*="cx-theme"] button[class*="confirm"]:not(:disabled),
#depositPage .dp-v2340-channel-done:not(:disabled),
#depositPage .dp-quick-promo-confirm:not(:disabled),
#xpwPage .xpw-withdraw-btn:not(:disabled):not(.is-disabled),
#xpwPage .xpw-confirm-submit:not(:disabled){
  background:linear-gradient(120deg,var(--site-primary),var(--rw-v2355-cta-end))!important;
  color:var(--site-button_text)!important;
  border-color:color-mix(in srgb,var(--site-primary) 82%,var(--site-text) 18%)!important;
  box-shadow:0 7px 20px color-mix(in srgb,var(--site-primary) 25%,transparent)!important;
}
body.xp172 .xp172-cta:not(:disabled):hover,
body.xp172 .xp172-register:not(:disabled):hover,
body.xp172 .xp172-login:not(:disabled):hover,
#depositPage .dp-quick-promo-confirm:not(:disabled):hover,
#xpwPage .xpw-withdraw-btn:not(:disabled):not(.is-disabled):hover{
 background:linear-gradient(120deg,var(--site-button_hover),var(--site-primary))!important;
}
/* Keep form controls and dropdowns readable, including custom light presets. */
body.lux-login-page input:not([type="checkbox"]):not([type="radio"]),
body.lux-register-page input:not([type="checkbox"]):not([type="radio"]),
body.lux-register-page select,
#depositPage input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#depositPage select,
#xpwPage input:not([type="checkbox"]):not([type="radio"]):not([type="file"]){
  background:var(--site-input_bg)!important;
  color:var(--site-input_text)!important;
  border-color:var(--site-border)!important;
}
body.lux-login-page input:focus-visible,
body.lux-register-page input:focus-visible,
#depositPage input:focus-visible,
#xpwPage input:focus-visible{
  outline:2px solid var(--site-primary)!important;
  outline-offset:2px!important;
}
/* Never convert informational/error statuses into success shades. */
@media(prefers-reduced-motion:reduce){
 body.xp172 .xp172-cta,body.xp172 .xp172-register,body.xp172 .xp172-login,
 #depositPage .dp-quick-promo-confirm,#xpwPage .xpw-withdraw-btn{transition:none!important}
}

/* RUAYWAI55 V2356 - readable typography across light/dark premium themes. */
:root{
 --rw-v2356-text:var(--site-text)!important;
 --rw-v2356-muted:var(--site-muted)!important;
 --rw-v2356-button-text:var(--site-button_text)!important;
 --rw-v2356-nav:var(--site-nav_text)!important;
}
/* Header and footer text must not inherit a hard-coded dark color. */
body.xp172 .xp172-header :is(a,span,small,button):not(.xp172-login):not(.xp172-register),
body.xp172 .xp172-bottom :is(a,span,b,small):not(.xp172-center):not(.xp172-center *),
body.lux-login-page .topbar :is(a,span,small),
body.lux-register-page .topbar :is(a,span,small),
body[class*="cx-theme"] .top-nav :is(a,span,small),
body[class*="cx-theme"] .bottom-nav :is(a,span,small):not(.active){
 color:var(--rw-v2356-nav)!important;
}
/* Text of informational card bodies, never override badges conveying state. */
body.xp172 .xp172-wallet-card :is(p,h2,h3,strong),
body.xp172 .xp172-faq :is(h2,h3,summary),
body.lux-login-page .auth-card :is(h1,h2,h3,p),
body.lux-register-page .auth-card :is(h1,h2,h3,p),
#depositPage .dp-v2340-channel-dialog :is(h2,h3,p,strong),
#depositPage .dp-quick-promo-dialog :is(h2,h3,p,strong),
#xpwPage .xpw-card :is(h2,h3,strong):not([class*=status]){
 color:var(--rw-v2356-text)!important;
}
body.xp172 .xp172-wallet-card :is(small,.muted),
body.xp172 .xp172-faq :is(small,.muted),
#depositPage .dp-v2340-channel-choice small,
#depositPage .dp-quick-promo-choice small,
#xpwPage .xpw-card :is(small,.xpw-muted){color:var(--rw-v2356-muted)!important}
/* Hover buttons and gradients use a single legible text token. */
body.xp172 .xp172-register:not(:disabled),body.xp172 .xp172-login:not(:disabled),
body.xp172 .xp172-cta:not(:disabled),
body.lux-login-page button[type=submit]:not(:disabled),
body.lux-register-page button[type=submit]:not(:disabled),
#depositPage .dp-v2340-channel-done:not(:disabled),
#depositPage .dp-quick-promo-confirm:not(:disabled),
#xpwPage .xpw-withdraw-btn:not(:disabled):not(.is-disabled){
 color:var(--rw-v2356-button-text)!important;
 -webkit-text-fill-color:var(--rw-v2356-button-text)!important;
}
/* Keep dark default placeholders legible in both modal and full page contexts. */
body.lux-login-page input::placeholder,body.lux-register-page input::placeholder,
#depositPage input::placeholder,#xpwPage input::placeholder{
 color:var(--site-input_text)!important;opacity:1!important;
}

/* Preserve readable CTA labels even when a button lives inside the header. */
body.xp172 .xp172-header .xp172-register :is(span,b,small),
body.xp172 .xp172-header .xp172-login :is(span,b,small),
body.xp172 .xp172-bottom .xp172-center :is(span,b,small){
  color:var(--site-button_text)!important;
  -webkit-text-fill-color:var(--site-button_text)!important;
}


/* RUAYWAI55 V2357 — COMPLETE MEMBER HOME COLOR INTEGRATION
 * Scope to REAL customer landing classes; overrides hard-coded V1257 blue/white/yellow.
 * Intentionally leave images, LINE's official green, success/error states, disabled
 * controls and financial processing logic unchanged.
 */
html body.xp172 .xp172-shell{
 color:var(--site-text)!important;
 background:var(--site-background)!important;
}
html body.xp172 .xp172-header{
 background:var(--site-header)!important;color:var(--site-nav_text)!important;
 border-bottom:1px solid var(--site-border)!important;
 box-shadow:0 4px 22px color-mix(in srgb,var(--site-background) 75%,transparent)!important;
}
html body.xp172 .xp172-header-line{
 background:repeating-linear-gradient(90deg,var(--site-primary) 0 20px,var(--site-accent) 20px 30px,var(--site-header) 30px 39px)!important;
}
html body.xp172 .xp172-menu-trigger i{background:var(--site-nav_text)!important}
html body.xp172 .xp172-login:not(:disabled){
 background:color-mix(in srgb,var(--site-header) 86%,var(--site-primary))!important;
 color:var(--site-nav_text)!important;border-color:var(--site-border)!important;
 box-shadow:none!important;
}
html body.xp172 .xp172-login:not(:disabled) :is(span,b,small){color:var(--site-nav_text)!important;-webkit-text-fill-color:var(--site-nav_text)!important}
html body.xp172 .xp172-register:not(:disabled){
 background:linear-gradient(125deg,var(--site-primary),var(--site-button_hover))!important;
 color:var(--site-button_text)!important;border-color:var(--site-border)!important;
 box-shadow:0 7px 18px color-mix(in srgb,var(--site-primary) 20%,transparent)!important;
}
html body.xp172 .xp172-register:not(:disabled) :is(b,span,small){color:var(--site-button_text)!important;-webkit-text-fill-color:var(--site-button_text)!important}
/* Wallet area: dark in dark themes; no legacy light-blue credit bar. */
html body.xp172 .xp172-wallet-card{
 background:linear-gradient(150deg,color-mix(in srgb,var(--site-surface) 94%,var(--site-accent)),var(--site-surface))!important;
 color:var(--site-text)!important;border-color:var(--site-border)!important;
 box-shadow:0 10px 26px color-mix(in srgb,var(--site-primary) 11%,transparent)!important;
}
html body.xp172 .xp172-wallet-head strong{color:var(--site-text)!important}
html body.xp172 .xp172-wallet-head a:not(:disabled){
 color:var(--site-text)!important;-webkit-text-fill-color:var(--site-text)!important;
 background:color-mix(in srgb,var(--site-primary) 15%,var(--site-surface))!important;
 border:1px solid var(--site-border)!important;border-radius:999px!important;
 padding:5px 10px!important;font-size:12px!important;box-shadow:none!important;
}
html body.xp172 .xp172-wallet-main .xp172-balance-pill{
 background:var(--site-input_bg)!important;
 color:var(--site-input_text)!important;
 border:1px solid var(--site-border)!important;
 box-shadow:inset 0 1px 3px color-mix(in srgb,var(--site-background) 22%,transparent)!important;
}
html body.xp172 .xp172-wallet-main .xp172-balance-pill > span{
 color:var(--site-input_text)!important;opacity:.82!important;
}
html body.xp172 .xp172-wallet-main .xp172-balance-pill #xp-member-credit,
html body.xp172 .xp172-wallet-main .xp172-balance-pill strong{
 color:var(--site-input_text)!important;-webkit-text-fill-color:var(--site-input_text)!important;opacity:1!important;
}
html body.xp172 .xp172-wallet-main .xp172-refresh{
 color:var(--site-input_text)!important;-webkit-text-fill-color:var(--site-input_text)!important;opacity:.87!important;
}
html body.xp172 .xp172-wallet-action:not(:disabled){
 background:linear-gradient(140deg,var(--site-primary),var(--site-button_hover))!important;
 color:var(--site-button_text)!important;
 border:2px solid var(--site-accent)!important;
 box-shadow:0 6px 17px color-mix(in srgb,var(--site-primary) 24%,transparent)!important;
}
html body.xp172 .xp172-wallet-action :is(span,b){color:var(--site-button_text)!important;-webkit-text-fill-color:var(--site-button_text)!important}
html body.xp172 .xp172-more{color:var(--site-text)!important}
html body.xp172 .xp172-quick-actions a{
 background:var(--site-surface)!important;color:var(--site-text)!important;border-color:var(--site-border)!important;
}
html body.xp172 .xp172-quick-actions b{color:var(--site-text)!important}
/* Channel/category tiles: prevent legacy white pills and electric blue captions. */
html body.xp172 .xp25-pill,
html body.xp172 .xp25-category-pills .xp25-pill{
 background:var(--site-surface)!important;color:var(--site-text)!important;border-color:var(--site-border)!important;
 box-shadow:0 3px 11px color-mix(in srgb,var(--site-primary) 8%,transparent)!important;
}
html body.xp172 .xp25-pill-symbol,html body.xp172 .xp25-pill-all{
 color:var(--site-text)!important;
}
html body.xp172 .xp25-pill:hover,html body.xp172 .xp25-pill:focus-visible{
 border-color:var(--site-primary)!important;outline-color:var(--site-primary)!important;
}
html body.xp172 .xp25-pills-placeholder{color:var(--site-muted)!important}
/* NAV BAR: must match selector specificity of xp-home-v1257.css exactly. */
html body.xp172 nav.xp172-bottom.xp25-bottom{
 background:var(--site-footer)!important;
 color:var(--site-nav_text)!important;
 border:1px solid var(--site-border)!important;border-bottom:0!important;
 box-shadow:0 -8px 28px color-mix(in srgb,var(--site-background) 40%,transparent)!important;
}
html body.xp172 nav.xp172-bottom.xp25-bottom > a:not(.xp172-center),
html body.xp172 nav.xp172-bottom.xp25-bottom > button.xp172-bottom-menu{
 background:transparent!important;
 color:var(--site-nav_text)!important;
 -webkit-text-fill-color:var(--site-nav_text)!important;
 box-shadow:none!important;
}
html body.xp172 nav.xp172-bottom.xp25-bottom > :is(a,button):not(.xp172-center) :is(span,b,svg,i),
html body.xp172 nav.xp172-bottom.xp25-bottom > button.xp172-bottom-menu :is(span,b){
 color:var(--site-nav_text)!important;
 -webkit-text-fill-color:var(--site-nav_text)!important;
 fill:currentColor!important;
}
html body.xp172 nav.xp172-bottom.xp25-bottom > :is(a,button):not(.xp172-center):hover{
 color:var(--site-text)!important;
 background:color-mix(in srgb,var(--site-primary) 11%,var(--site-footer))!important;
}
html body.xp172 nav.xp172-bottom.xp25-bottom > a.is-active:not(.xp172-center){
 background:color-mix(in srgb,var(--site-primary) 13%,var(--site-footer))!important;
 border-radius:12px!important;
}
/* Center CTA is not a filled rectangular nav item: only the round badge is filled. */
html body.xp172 nav.xp172-bottom.xp25-bottom > a.xp172-center{
 background:transparent!important;background-color:transparent!important;
 box-shadow:none!important;border:0!important;
 color:var(--site-nav_text)!important;-webkit-text-fill-color:var(--site-nav_text)!important;
}
html body.xp172 nav.xp172-bottom.xp25-bottom > a.xp172-center > span{
 background:linear-gradient(140deg,var(--site-primary),var(--site-button_hover))!important;
 color:var(--site-button_text)!important;-webkit-text-fill-color:var(--site-button_text)!important;
 border:4px solid var(--site-footer)!important;
 box-shadow:0 0 0 2px var(--site-accent),0 6px 19px color-mix(in srgb,var(--site-primary) 30%,transparent)!important;
}
html body.xp172 nav.xp172-bottom.xp25-bottom > a.xp172-center > b{
 background:transparent!important;
 color:var(--site-nav_text)!important;-webkit-text-fill-color:var(--site-nav_text)!important;
 text-shadow:none!important;
}
/* Drawer still contains V136 hardcoded navy/gold. Only repaint presentation. */
html body.xp172 #xp136SideDrawer.xp172-drawer.xp136-drawer{
 background:var(--site-background)!important;color:var(--site-text)!important;
 border-color:var(--site-border)!important;
}
html body.xp172 #xp136SideDrawer .xp136-drawer-head,
html body.xp172 #xp136SideDrawer .xp136-drawer-footer{
 background:var(--site-header)!important;border-color:var(--site-border)!important;color:var(--site-nav_text)!important;
}
html body.xp172 #xp136SideDrawer .xp136-nav-item{
 background:transparent!important;border-color:transparent!important;color:var(--site-text)!important;
}
html body.xp172 #xp136SideDrawer .xp136-nav-item > .xp136-icon:first-child{color:var(--site-accent)!important}
html body.xp172 #xp136SideDrawer .xp136-nav-item.is-active,
html body.xp172 #xp136SideDrawer .xp136-nav-item:hover{
 background:color-mix(in srgb,var(--site-primary) 14%,var(--site-surface))!important;
 border-color:var(--site-border)!important;color:var(--site-text)!important;
}
html body.xp172 #xp136SideDrawer .xp136-close{
 background:var(--site-surface)!important;color:var(--site-text)!important;border-color:var(--site-border)!important;
}
/* Other real input surfaces & navigational popups; never recolor disabled/status flags. */
html body.xp172 .xp172-faq details,html body.xp172 .xp172-quick-actions,
html body.xp172 .xp172-contact{
 background:var(--site-surface)!important;color:var(--site-text)!important;border-color:var(--site-border)!important;
}
html body.xp172 .xp172-faq :is(h2,summary,p),html body.xp172 .xp172-contact :is(strong,p){
 color:var(--site-text)!important;
}
/* Member deposit/withdraw surfaces retain disabled/error/success state meaning. */
#depositPage .dp-v2340-channel-current,#depositPage .dp-v2340-channel-choice,
#depositPage .dp-quick-own-card,#depositPage .dp-quick-promo-choice,
#xpwPage .xpw-card,#xpwPage .xpw-history-item{
 background-color:var(--site-surface)!important;
 border-color:var(--site-border)!important;color:var(--site-text)!important;
}
#depositPage :is(.dp-v2340-channel-choice,.dp-quick-promo-choice) :is(h2,h3,strong,p,small),
#xpwPage :is(.xpw-card,.xpw-history-item) :is(h2,h3,strong,p):not([class*="status"]){
 color:var(--site-text)!important;
}
#depositPage :is(.dp-v2340-channel-choice,.dp-quick-promo-choice) small{color:var(--site-muted)!important}


/* RUAYWAI55 V2358 — THEME-SYNCHRONIZED MEMBER MODALS
 * Self-contained UI-only presentation. The active palette is validated by
 * Ruaywai_theme_engine / site_theme/css. Never change financial logic, click
 * handlers, statuses, disabled controls, dialog stacking or visibility.
 * Supports standalone member views and iframe-hosted profile/referral flows.
 */
:root {
 --rw-pop-bg:var(--site-background);
 --rw-pop-surface:var(--site-surface);
 --rw-pop-text:var(--site-text);
 --rw-pop-muted:var(--site-muted);
 --rw-pop-border:var(--site-border);
 --rw-pop-primary:var(--site-primary);
 --rw-pop-accent:var(--site-accent);
 --rw-pop-cta:var(--site-button_text);
 --rw-pop-input-bg:var(--site-input_bg);
 --rw-pop-input-text:var(--site-input_text);
 --rw-pop-gradient:linear-gradient(160deg,color-mix(in srgb,var(--site-surface) 94%,var(--site-primary) 6%),var(--site-surface) 62%,color-mix(in srgb,var(--site-surface) 96%,var(--site-accent) 4%));
 --rw-pop-shadow:0 24px 64px color-mix(in srgb,var(--site-background) 58%,transparent);
 --rw-pop-soft:color-mix(in srgb,var(--site-primary) 12%,var(--site-surface));
 --rw-pop-cta-gradient:linear-gradient(125deg,var(--site-primary),var(--site-button_hover));
}
/* Deposit: outer modal is hosted on Landing; the form itself is iframe-based. */
html body #xpDepositModal .xp-deposit-dialog{
 background:var(--rw-pop-bg)!important;border-color:var(--rw-pop-border)!important;
 color:var(--rw-pop-text)!important;box-shadow:var(--rw-pop-shadow)!important;
}
html body #xpDepositModal .xp-deposit-header{
 background:linear-gradient(165deg,var(--site-header),color-mix(in srgb,var(--site-header) 85%,var(--site-primary)))!important;
 border-bottom:1px solid var(--rw-pop-border)!important;color:var(--site-nav_text)!important;
}
html body #xpDepositModal .xp-deposit-head-copy :is(h2,p){color:var(--site-nav_text)!important}
html body #xpDepositModal .xp-deposit-dismiss{
 color:var(--site-nav_text)!important;background:color-mix(in srgb,var(--site-header) 84%,var(--site-primary))!important;
 border:1px solid var(--rw-pop-border)!important;
}
html body #xpDepositModal .xp-deposit-dialog::before{background:var(--rw-pop-accent)!important}
html body #xpDepositModal :is(.xp-deposit-viewport,.xp-deposit-wait,.xp-deposit-viewport iframe){
 background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important;
}
html body #xpDepositModal .xp-deposit-wait small{color:var(--rw-pop-muted)!important}
html body #xpDepositModal .xp-deposit-spinner{border-top-color:var(--rw-pop-primary)!important}
/* Embedded /member/deposit form: QR channel, promotion picker and slip upload. */
html body #depositPage.dp-page{
 --xd-bg:var(--rw-pop-bg)!important;--xd-surface:var(--rw-pop-surface)!important;
 --xd-surface2:var(--rw-pop-surface)!important;--xd-surface3:var(--rw-pop-surface)!important;
 --xd-border:var(--rw-pop-border)!important;--xd-strong:var(--rw-pop-text)!important;
 --xd-muted:var(--rw-pop-muted)!important;--xd-green:var(--rw-pop-primary)!important;
 --xd-green2:var(--rw-pop-accent)!important;color:var(--rw-pop-text)!important;
 background:var(--rw-pop-bg)!important;
}
html body #depositPage :is(.dp-quick-own-card,.dp-promo-gate,.dp-v2340-channel-current,.dp-v2340-channel-dialog,.dp-quick-promo-dialog,.dp-quick-promo-choice,.dp-v2340-channel-choice,.xpd71-transfer-brief,.dp-step-card,.dp-slip-modal,.dp-slip-box){
 background:var(--rw-pop-gradient)!important;border-color:var(--rw-pop-border)!important;color:var(--rw-pop-text)!important;
}
html body #depositPage :is(.dp-v2340-channel-dialog,.dp-quick-promo-dialog,.dp-quick-own-card,.dp-v2340-channel-current,.dp-v2340-channel-choice,.dp-quick-promo-choice) :is(h1,h2,h3,h4,strong,b):not([class*="status"]){color:var(--rw-pop-text)!important}
html body #depositPage :is(.dp-v2340-channel-dialog,.dp-quick-promo-dialog,.dp-v2340-channel-current,.dp-v2340-channel-choice,.dp-quick-promo-choice) :is(p,small,.muted){color:var(--rw-pop-muted)!important}
html body #depositPage :is(.dp-v2340-channel-open,.dp-v2340-channel-done,.dp-quick-promo-confirm,.dp-v2340-payment-switch):not(:disabled){
 background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important;
 border-color:var(--rw-pop-primary)!important;
}
html body #depositPage :is(.dp-v2340-channel-open,.dp-v2340-channel-done,.dp-quick-promo-confirm,.dp-v2340-payment-switch):not(:disabled) :is(b,span,strong){color:var(--rw-pop-cta)!important}
html body #depositPage :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){
 background:var(--rw-pop-input-bg)!important;color:var(--rw-pop-input-text)!important;border-color:var(--rw-pop-border)!important;
}
html body #depositPage :is(input,textarea)::placeholder{color:var(--rw-pop-input-text)!important;opacity:.68!important}
/* Withdrawal shell and confirmation; preserve pending/success/error states. */
html body #xpwPage.xpw-page{
 --xpw-bg:var(--rw-pop-bg)!important;--xpw-bg-soft:var(--rw-pop-bg)!important;
 --xpw-panel:var(--rw-pop-surface)!important;--xpw-panel-2:var(--rw-pop-surface)!important;
 --xpw-text:var(--rw-pop-text)!important;--xpw-muted:var(--rw-pop-muted)!important;
 --xpw-green:var(--rw-pop-primary)!important;--xpw-green-2:var(--rw-pop-accent)!important;
 --xpw-line:var(--rw-pop-border)!important;--xpw-line-strong:var(--rw-pop-border)!important;
}
html body #xpwPage .xpw-modal,
html body #xpwPage .xpw-confirm-dialog{
 background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
html body #xpwPage .xpw-header{
 background:linear-gradient(155deg,var(--site-header),color-mix(in srgb,var(--site-header) 88%,var(--site-primary)))!important;
 color:var(--site-nav_text)!important;border-color:var(--rw-pop-border)!important;
}
html body #xpwPage .xpw-header-copy :is(h1,p,.xpw-eyebrow){color:var(--site-nav_text)!important}
html body #xpwPage .xpw-handle{background:var(--rw-pop-accent)!important}
html body #xpwPage .xpw-close{color:var(--site-nav_text)!important;border-color:var(--rw-pop-border)!important}
html body #xpwPage :is(.xpw-card,.xpw-history-item,.xpw-confirm-bank,.xpw-status-strip){
 background:var(--rw-pop-gradient)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
html body #xpwPage :is(.xpw-card-label,.xpw-balance-kicker,.xpw-history-head h2,.xpw-history-copy strong,.xpw-confirm-dialog h3,.xpw-confirm-bank strong){color:var(--rw-pop-text)!important}
html body #xpwPage :is(.xpw-balance-caption,.xpw-bank-copy small,.xpw-history-caption,.xpw-history-copy span,.xpw-confirm-dialog p):not([class*=status]){color:var(--rw-pop-muted)!important}
html body #xpwPage :is(.xpw-withdraw-btn,.xpw-confirm-submit):not(:disabled):not(.is-disabled){
 background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important;border-color:var(--rw-pop-primary)!important;
}
html body #xpwPage :is(.xpw-history-filters button.is-active,.xpw-refresh,.xpw-confirm-cancel){
 background:var(--rw-pop-soft)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
/* Continuous-deposit / lossback: AJAX reward sheet inside Landing. */
html body .xpr137-overlay .xpr137-sheet{
 background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
 box-shadow:var(--rw-pop-shadow)!important;
}
html body .xpr137-overlay .xpr137-head{border-color:var(--rw-pop-border)!important}
html body .xpr137-overlay .xpr137-head :is(h2,p){color:var(--rw-pop-text)!important}
html body .xpr137-overlay .xpr137-head p{color:var(--rw-pop-muted)!important}
html body .xpr137-overlay .xpr137-brand{color:var(--rw-pop-primary)!important;text-shadow:none!important}
html body .xpr137-overlay .xpr137-brand span{color:var(--rw-pop-muted)!important}
html body .xpr137-overlay :is(.xpr137-panel,.xpr137-tier,.xpr137-note,.xpr137-log){
 background:var(--rw-pop-gradient)!important;border-color:var(--rw-pop-border)!important;color:var(--rw-pop-text)!important;
}
html body .xpr137-overlay :is(.xpr137-subtitle,.xpr137-tally strong,.xpr137-tier strong,.xpr137-log-row strong){color:var(--rw-pop-text)!important}
html body .xpr137-overlay :is(.xpr137-tally span,.xpr137-tier p,.xpr137-log-row small,.xpr137-empty,.xpr137-note){color:var(--rw-pop-muted)!important}
html body .xpr137-overlay .xpr137-day{background:var(--rw-pop-soft)!important;color:var(--rw-pop-text)!important}
html body .xpr137-overlay .xpr137-log-row{border-color:var(--rw-pop-border)!important}
html body .xpr137-overlay :is(.xpr137-tier button,.xpr137-transfer):not(:disabled){
 background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important;border-color:var(--rw-pop-primary)!important;
}
html body .xpr137-overlay :is(.xpr137-grip,.xpr137-x){
 background:var(--rw-pop-soft)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
/* Profile iframe: the child frame must have its own site_theme/css link. */
html body #xpr77Profile.xpr77-root{
 --pr-ink:var(--rw-pop-bg)!important;--pr-navy:var(--rw-pop-bg)!important;
 --pr-card:var(--rw-pop-surface)!important;--pr-border:var(--rw-pop-border)!important;
 --pr-text:var(--rw-pop-text)!important;--pr-muted:var(--rw-pop-muted)!important;
 --pr-green:var(--rw-pop-primary)!important;color:var(--rw-pop-text)!important;
}
html body #xpr77Profile .xpr77-sheet{background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important}
html body #xpr77Profile .xpr77-grip{background:var(--rw-pop-accent)!important}
html body #xpr77Profile .xpr77-close{color:var(--rw-pop-primary)!important}
html body #xpr77Profile .xpr77-head :is(h1,p){color:var(--rw-pop-text)!important}
html body #xpr77Profile .xpr77-head p{color:var(--rw-pop-muted)!important}
html body #xpr77Profile .xpr77-level{color:var(--rw-pop-text)!important}
html body #xpr77Profile .xpr77-medal{background:var(--rw-pop-accent)!important;color:var(--rw-pop-bg)!important}
html body #xpr77Profile :is(.xpr77-wallet,.xpr77-panel,.xpr77-features a,.xpr77-tabs button,.xpr77-wallet-main a,.xpr77-promo a,.xpr77-feature-icon,.xrs80-linkrow,.xrs80-linkvalue){
 background:var(--rw-pop-gradient)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
html body #xpr77Profile :is(.xpr77-head h1,.xpr77-wallet strong,.xpr77-panel h2,.xpr77-features strong,.xpr77-row strong,.xpr77-row>strong,.xrs80-linkvalue){color:var(--rw-pop-text)!important}
html body #xpr77Profile :is(.xpr77-head p,.xpr77-wallet-main span,.xpr77-panel p,.xpr77-features small,.xpr77-row>span,.xpr77-promo-status){color:var(--rw-pop-muted)!important}
html body #xpr77Profile .xpr77-tabs button.is-active{background:var(--rw-pop-soft)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-primary)!important}
html body #xpr77Profile :is(.xpr77-actions a:first-child,.xpr77-save,.xpr77-level a,.xrs80-copy):not(:disabled){
 background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important;border-color:var(--rw-pop-primary)!important;
}
html body #xpr77Profile .xpr77-actions a:not(:first-child){background:var(--rw-pop-soft)!important;color:var(--rw-pop-text)!important;border:1px solid var(--rw-pop-border)!important}
html body #xpr77Profile form label{color:var(--rw-pop-text)!important}
html body #xpr77Profile form input{background:var(--rw-pop-input-bg)!important;color:var(--rw-pop-input-text)!important;border-color:var(--rw-pop-border)!important}
/* Referral iframe + share links. Official LINE and other social brand colors stay unchanged. */
html body #xrr80Root.xrr80-root{
 --rf-bg:var(--rw-pop-bg)!important;--rf-surface:var(--rw-pop-surface)!important;
 --rf-border:var(--rw-pop-border)!important;--rf-green:var(--rw-pop-primary)!important;
 --rf-text:var(--rw-pop-text)!important;--rf-muted:var(--rw-pop-muted)!important;
}
html body #xrr80Root .xrr80-sheet{background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important}
html body #xrr80Root .xrr80-grip{background:var(--rw-pop-accent)!important}
html body #xrr80Root .xrr80-close{color:var(--rw-pop-primary)!important}
html body #xrr80Root .xrr80-header :is(h1,p){color:var(--rw-pop-text)!important}
html body #xrr80Root .xrr80-header p{color:var(--rw-pop-muted)!important}
html body #xrr80Root :is(.xrr80-stat,.xrr80-panel,.xrr80-code-row,.xrs80-linkrow,.xrs80-linkvalue){
 background:var(--rw-pop-gradient)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
html body #xrr80Root :is(.xrr80-stat strong,.xrr80-panel h2,.xrr80-code-row strong,.xrr80-referrer-info>strong,.xrs80-linkvalue){color:var(--rw-pop-text)!important}
html body #xrr80Root :is(.xrr80-stat>span:last-child,.xrr80-panel p,.xrr80-section-head p){color:var(--rw-pop-muted)!important}
html body #xrr80Root :is(.xrr80-stat-icon,.xrr80-header-icon){background:var(--rw-pop-soft)!important;color:var(--rw-pop-primary)!important}
html body #xrr80Root :is(.xrr80-code-row button,#xrr80AffForm>button,.xrs80-copy):not(:disabled){
 background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important;border-color:var(--rw-pop-primary)!important;
}
html body #xrr80Root #xrr80AffForm input[name=aff]{background:var(--rw-pop-input-bg)!important;color:var(--rw-pop-input-text)!important;border-color:var(--rw-pop-border)!important}
html body #xrr80Root .xrr80-back-profile{color:var(--rw-pop-text)!important}
/* Iframe launcher chrome must follow the host palette, not the old navy hardcode. */
html body #xpr77Launcher .xpr77-launch-sheet,
html body #xph76Launcher .xph76l-sheet{
 background:var(--rw-pop-bg)!important;border:1px solid var(--rw-pop-border)!important;box-shadow:var(--rw-pop-shadow)!important;
}
html body #xpr77Launcher :is(iframe,.xpr77-launch-loading),
html body #xph76Launcher :is(iframe,.xph76l-wait){
 background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important;
}
html body #xph76Launcher .xph76l-spinner{border-top-color:var(--rw-pop-primary)!important}
/* Promo / member announcement modals: image is preserved, frames and buttons are themed. */
html body #xp81PromoLayer .xp81-dialog,
html body #promotionSuggestionModal .modal-content{
 background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
 box-shadow:var(--rw-pop-shadow)!important;
}
html body #xp81PromoLayer :is(h2,.xp81-offer-title,.xp81-eyebrow),
html body #promotionSuggestionModal :is(.premium-popup-heading strong,.popup-notice-text){color:var(--rw-pop-text)!important}
html body #xp81PromoLayer :is(.xp81-subtitle,.xp81-footnote),
html body #promotionSuggestionModal :is(.premium-popup-heading small,.premium-popup-heading span,.promo-countdown){color:var(--rw-pop-muted)!important}
html body #xp81PromoLayer :is(.xp81-secondary,.xp81-close),
html body #promotionSuggestionModal :is(.modal-header,.popup-notice-text,.close){
 background:var(--rw-pop-gradient)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
html body #xp81PromoLayer .xp81-poster{background:var(--rw-pop-surface)!important;border-color:var(--rw-pop-border)!important}
html body #xp81PromoLayer .xp81-primary:not(:disabled),
html body #promotionSuggestionModal :is(.js-popup-action,.js-popup-ack):not(:disabled){
 background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important;border-color:var(--rw-pop-primary)!important;
}
html body #promotionSuggestionModal .popup-notice-text :is(p,strong,span){color:var(--rw-pop-text)!important}
/* Login/register bottom sheet on Landing. */
html body .xpa55 .xpa55-panel{
 background:var(--rw-pop-bg)!important;border-color:var(--rw-pop-border)!important;color:var(--rw-pop-text)!important;
 box-shadow:var(--rw-pop-shadow)!important;
}
html body .xpa55 :is(.xpa55-handle,.xpa55-switch,.xpa55-wait){
 background:var(--rw-pop-soft)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
html body .xpa55 :is(.xpa55-tab,.xpa55-foot){color:var(--rw-pop-muted)!important}
html body .xpa55 .xpa55-tab.is-current{background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important}
html body .xpa55 .xpa55-close{color:var(--rw-pop-primary)!important}
/* Legacy member rewards full pages / small popup surfaces (cosmetic only). */
html body .mp-page :is(.mp-card,.mp-stat,.mp-note){
 background:var(--rw-pop-gradient)!important;color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important;
}
html body .mp-page :is(.mp-hero h1,.mp-card h2,.mp-balance strong,.mp-stat strong){color:var(--rw-pop-text)!important}
html body .mp-page :is(.mp-hero p,.mp-card-head p,.mp-stat small){color:var(--rw-pop-muted)!important}
html body .mp-page .mp-btn:not(:disabled){background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important}
/* Restrain selectors: never change error/success/pending badges, disabled buttons,
 * amounts, payment verification indicators, scroll containers, pointer-events or z-index. */
@media(prefers-reduced-motion:reduce){
 html body #xpDepositModal .xp-deposit-dialog,html body .xpr137-overlay .xpr137-sheet,
 html body .xpa55 .xpa55-panel{animation:none!important}
}
/* Transaction-history iframe and its deposit/withdraw tabs. */
html body #xphHistory.xph76-root{
 --xph-navy:var(--rw-pop-bg)!important;--xph-blue:var(--rw-pop-bg)!important;
 --xph-surface:var(--rw-pop-surface)!important;--xph-stroke:var(--rw-pop-border)!important;
 --xph-white:var(--rw-pop-text)!important;--xph-secondary:var(--rw-pop-muted)!important;
 --xph-green:var(--rw-pop-primary)!important;
}
html body #xphHistory .xph76-sheet,
html body #xphHistory.xph76-embed{
 background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important;
 border-color:var(--rw-pop-border)!important;
}
html body #xphHistory :is(.xph76-tabs,.xph76-rows,.xph76-empty){
 background:var(--rw-pop-gradient)!important;color:var(--rw-pop-text)!important;
 border-color:var(--rw-pop-border)!important;
}
html body #xphHistory :is(.xph76-heading h1,.xph76-row-left strong,.xph76-amount){color:var(--rw-pop-text)!important}
html body #xphHistory :is(.xph76-heading p,.xph76-tab:not(.is-active),.xph76-row-left span){color:var(--rw-pop-muted)!important}
html body #xphHistory .xph76-tab.is-active{background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important}
html body #xphHistory .xph76-close :is(span){color:var(--rw-pop-text)!important}
html body #xphHistory .xph76-handle{background:var(--rw-pop-accent)!important}
html:has(#xphHistory.xph76-embed),body:has(#xphHistory.xph76-embed){background:var(--rw-pop-bg)!important}
/* Full-page continuous deposit/check-in: keep tiers and eligibility clearly distinct. */
html body .regular-deposit-page{background:var(--rw-pop-bg)!important;color:var(--rw-pop-text)!important}
html body .regular-deposit-page :is(.regular-card,.history,.tier,.regular-progress){
 background:var(--rw-pop-gradient)!important;color:var(--rw-pop-text)!important;
 border-color:var(--rw-pop-border)!important;
}
html body .regular-deposit-page :is(.regular-title,.regular-card h4,.history h5,.tier .reward){color:var(--rw-pop-text)!important}
html body .regular-deposit-page :is(.regular-sub,.tier .reward-label,.tier small){color:var(--rw-pop-muted)!important}
html body .regular-deposit-page :is(.day-badge,.regular-progress strong){color:var(--rw-pop-primary)!important}
html body .regular-deposit-page .day-badge{background:var(--rw-pop-soft)!important;border-color:var(--rw-pop-border)!important}
html body .regular-deposit-page .claim-btn:not(:disabled){background:var(--rw-pop-cta-gradient)!important;color:var(--rw-pop-cta)!important}
html body .regular-deposit-page table :is(td,th){color:var(--rw-pop-text)!important;border-color:var(--rw-pop-border)!important}



/* ===== RUAYWAI55 V2359: PUBLIC PROMOTIONS FULL THEME COVERAGE =====
 * /promotions and /promotions/{id} render inside #xppPromoPage.
 * This module has independent hardcoded colors and !important declarations.
 * Keep scope here: no admin, financial logic, verification icons or images.
 * The theme variables come from /site_theme/css (same source as V2358).
 */
html body #xppPromoPage.xpp74-page{
 --xpp-canvas:var(--site-background)!important;
 --xpp-heading:var(--site-text)!important;
 --xpp-white:var(--site-surface)!important;
 --xpp-accent:var(--site-primary)!important;
 --xpp-blue:var(--site-primary)!important;
 --xpp-yellow:var(--site-accent)!important;
 color:var(--site-text)!important;
 background:var(--site-background)!important;
 font-family:"IBM Plex Sans Thai","IBM Plex Sans",Kanit,system-ui,sans-serif!important;
}
html body #xppPromoPage.xpp74-page .xpp74-scroller{
 background:var(--site-background)!important;
 color:var(--site-text)!important;
 scrollbar-color:var(--site-border) transparent!important;
}
html body #xppPromoPage.xpp74-page .xpp74-topbar{
 background:var(--site-header)!important;
 color:var(--site-nav_text)!important;
 border-bottom:1px solid var(--site-border)!important;
 box-shadow:0 3px 18px rgba(0,0,0,.10)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-logo-link{color:var(--site-nav_text)!important}
html body #xppPromoPage.xpp74-page .xpp74-top-minor{
 background:var(--site-surface)!important;
 color:var(--site-text)!important;
 border-color:var(--site-border)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-top-gold{
 background:var(--site-primary)!important;
 color:var(--site-button_text)!important;
 border-color:var(--site-primary)!important;
 box-shadow:0 3px 15px rgba(0,0,0,.12)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-top-gold:hover{
 background:var(--site-button_hover)!important;
 color:var(--site-button_text)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-ribbon{
 background:repeating-linear-gradient(90deg,var(--site-primary) 0 20px,var(--site-accent) 20px 28px,var(--site-header) 28px 38px)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-categories{
 background:var(--site-surface)!important;
 border:1px solid var(--site-border)!important;
 box-shadow:0 6px 23px rgba(0,0,0,.09)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-categories a{
 background:var(--site-input_bg)!important;
 color:var(--site-input_text)!important;
 border-color:var(--site-border)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-categories a b{color:var(--site-input_text)!important}
html body #xppPromoPage.xpp74-page .xpp74-categories :is(i,svg){color:var(--site-primary)!important}
html body #xppPromoPage.xpp74-page .xpp74-section-heading h1{color:var(--site-text)!important}
html body #xppPromoPage.xpp74-page :is(.xpp74-hero-banner,.xpp74-promo-image){
 background:var(--site-surface)!important;
 outline:1px solid var(--site-border)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-promo{color:var(--site-text)!important}
html body #xppPromoPage.xpp74-page .xpp74-promo>strong{color:var(--site-text)!important}
html body #xppPromoPage.xpp74-page :is(.xpp74-empty,.xpp74-detail){
 background:var(--site-surface)!important;
 color:var(--site-text)!important;
 border-color:var(--site-border)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-empty :is(strong,span){color:var(--site-text)!important}
html body #xppPromoPage.xpp74-page .xpp74-empty i{color:var(--site-primary)!important}
/* Bottom nav: old white background and blue icons caused the reported mismatch. */
html body #xppPromoPage.xpp74-page .xpp74-bottom{
 background:var(--site-footer)!important;
 color:var(--site-nav_text)!important;
 border-color:var(--site-border)!important;
 box-shadow:0 -7px 24px rgba(0,0,0,.16)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-nav-item,
html body #xppPromoPage.xpp74-page .xpp74-nav-item>span,
html body #xppPromoPage.xpp74-page .xpp74-nav-item>i,
html body #xppPromoPage.xpp74-page .xpp74-nav-item>svg{
 color:var(--site-nav_text)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-nav-item:hover{color:var(--site-accent)!important}
html body #xppPromoPage.xpp74-page .xpp74-nav-deposit .xpp74-deposit-circle{
 background:var(--site-primary)!important;
 border-color:var(--site-footer)!important;
 color:var(--site-button_text)!important;
 box-shadow:0 5px 18px rgba(0,0,0,.20)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-nav-deposit .xpp74-deposit-circle :is(i,svg){color:var(--site-button_text)!important}
html body #xppPromoPage.xpp74-page .xpp74-nav-deposit>span:last-child{color:var(--site-nav_text)!important}
/* Drawer menu */
html body #xppPromoPage.xpp74-page .xpp74-menu-panel{
 background:var(--site-surface)!important;
 border:1px solid var(--site-border)!important;
 color:var(--site-text)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-menu-top{color:var(--site-text)!important}
html body #xppPromoPage.xpp74-page .xpp74-menu-top button{
 background:var(--site-input_bg)!important;
 color:var(--site-input_text)!important;
 border:1px solid var(--site-border)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-menu-panel>a{
 color:var(--site-text)!important;
 border-bottom-color:var(--site-border)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-menu-panel>a:hover{
 color:var(--site-primary)!important;
 background:var(--site-background)!important;
}
/* Details: card, content, terms, read-more, button, status message. */
html body #xppPromoPage.xpp74-page .xpp74-breadcrumb a,
html body #xppPromoPage.xpp74-page .xpp74-breadcrumb svg{color:var(--site-primary)!important}
html body #xppPromoPage.xpp74-page .xpp74-detail-body,
html body #xppPromoPage.xpp74-page .xpp74-detail-body h2{
 background:var(--site-surface)!important;
 color:var(--site-text)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-detail-richtext,
html body #xppPromoPage.xpp74-page .xpp74-detail-richtext *:not(a):not(img):not(button){
 color:var(--site-text)!important;
 background-color:transparent!important;
}
html body #xppPromoPage.xpp74-page .xpp74-detail-richtext a{color:var(--site-primary)!important}
html body #xppPromoPage.xpp74-page .xpp74-term-note{
 background:var(--site-background)!important;
 border:1px solid var(--site-border)!important;
 color:var(--site-muted)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-cta:not(:disabled){
 background:var(--site-primary)!important;
 color:var(--site-button_text)!important;
 border-color:var(--site-primary)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-cta:not(:disabled):hover{background:var(--site-button_hover)!important}
html body #xppPromoPage.xpp74-page .xpp74-display-only-message,
html body #xppPromoPage.xpp74-page .xpp74-display-only-note{
 background:var(--site-background)!important;
 color:var(--site-muted)!important;
 border-color:var(--site-border)!important;
}
html body #xppPromoPage.xpp74-page .xpp74-message:not(.is-error){
 background:var(--site-surface)!important;
 color:var(--site-text)!important;
 border-color:var(--site-border)!important;
}
html body #xppPromoPage.xpp74-page :is(a,button):focus-visible{outline-color:var(--site-accent)!important}
/* No changes to disabled buttons, payment states, JS, or promotion images. */

/* === V2360: Deposit amount field contrast fix on themed member popup === */
html body #depositPage .xpd70-amount{
  background:var(--rw-pop-input-bg, var(--site-input_bg, rgba(255,255,255,.10))) !important;
  color:var(--rw-pop-input-text, var(--site-input_text, #FFFFFF)) !important;
  border:1px solid var(--rw-pop-border, rgba(255,255,255,.18)) !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rw-pop-input-bg, #ffffff) 92%,transparent), 0 10px 28px color-mix(in srgb,var(--site-background, #000000) 30%,transparent) !important;
}
html body #depositPage .xpd70-amount > i,
html body #depositPage .xpd70-amount > span{
  color:var(--rw-pop-input-text, var(--site-input_text, #FFFFFF)) !important;
  -webkit-text-fill-color:var(--rw-pop-input-text, var(--site-input_text, #FFFFFF)) !important;
  opacity:.95 !important;
  text-shadow:none !important;
}
html body #depositPage .xpd70-amount > input,
html body #depositPage .xpd70-amount > input#xpd70Amount,
html body #depositPage .xpd70-amount > input.js-intent-amount{
  background:transparent !important;
  color:var(--rw-pop-input-text, var(--site-input_text, #FFFFFF)) !important;
  -webkit-text-fill-color:var(--rw-pop-input-text, var(--site-input_text, #FFFFFF)) !important;
  caret-color:var(--rw-pop-input-text, var(--site-input_text, #FFFFFF)) !important;
  text-shadow:none !important;
  opacity:1 !important;
  font-weight:700 !important;
}
html body #depositPage .xpd70-amount > input::placeholder,
html body #depositPage .xpd70-amount > input#xpd70Amount::placeholder,
html body #depositPage .xpd70-amount > input.js-intent-amount::placeholder{
  color:color-mix(in srgb,var(--rw-pop-input-text, var(--site-input_text, #FFFFFF)) 78%,transparent) !important;
  -webkit-text-fill-color:color-mix(in srgb,var(--rw-pop-input-text, var(--site-input_text, #FFFFFF)) 78%,transparent) !important;
  opacity:1 !important;
}
html body #depositPage .xpd70-amount:focus-within{
  border-color:var(--rw-pop-primary, var(--site-primary, #2dcc70)) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rw-pop-primary, var(--site-primary, #2dcc70)) 20%,transparent), inset 0 0 0 1px color-mix(in srgb,var(--rw-pop-input-bg, #ffffff) 92%,transparent) !important;
}
/* Prevent theme mismatch from legacy deposit styles overriding popup field colors. */
html body #depositPage .xpd70-amount *,
html body #depositPage .xpd70-amount input::-webkit-outer-spin-button,
html body #depositPage .xpd70-amount input::-webkit-inner-spin-button{
  text-shadow:none !important;
}

/* ====================== RUAYWAI55 V2361 =======================
   Front-end palette reconciliation for legacy hard-coded deposit UI.
   Applied by the existing /site_theme/css endpoint after the native CSS.
   Presentation-only: no transaction/session/disabled-state changes.
   ============================================================= */

/* The ACCOUNT inside the registration card is a simple information row,
   not a second rectangular card. Preserve bank logo, name and number. */
html body #depositPage .dp-quick-own-card,
html body #depositPage .dp-quick-own-card:is(:hover,:focus-within){
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
}
html body #depositPage .dp-quick-own-card::before,
html body #depositPage .dp-quick-own-card::after{content:none!important;display:none!important}
html body #depositPage .dp-quick-own-account{
  background:var(--site-surface)!important;
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
html body #depositPage .dp-quick-own-kicker,
html body #depositPage .dp-quick-own-data :is(small,span),
html body #depositPage .dp-v141-register-note{color:var(--site-muted)!important}
html body #depositPage .dp-quick-own-data strong{color:var(--site-text)!important}
/* Account-linked is informational. Match its badge to the chosen palette. */
html body #depositPage .dp-quick-own-status{
  background:color-mix(in srgb,var(--site-accent) 12%,var(--site-surface))!important;
  border-color:var(--site-border)!important;
  color:var(--site-text)!important;
}
html body #depositPage .dp-quick-own-status i,
html body #depositPage .dp-quick-own-kicker i{color:var(--site-accent)!important}

/* The old deposit-clean-v1271.css hardcoded #25b654, #38c879 and #23b251
   with !important. Override each exact class after native rules, rather than
   recoloring status, warning or validation indicators globally. */
html body #depositPage .dp-v1262-start-title,
html body #depositPage .dp-v1262-method-details summary,
html body #depositPage .dp-ref-selected-mark{color:var(--site-accent)!important}
html body #depositPage .dp-quick-promo-row,
html body #depositPage .dp-v1262-transfer-promo,
html body #depositPage .dp-promo-gate{
  background:var(--site-surface)!important;
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
html body #depositPage .dp-quick-promo-copy,
html body #depositPage .dp-v1262-transfer-promo>span,
html body #depositPage .dp-quick-promo-copy .js-quick-promo-label{
  color:var(--site-text)!important;
}
html body #depositPage .dp-quick-promo-copy i{color:var(--site-accent)!important}
html body #depositPage :is(.dp-quick-promo-open,.dp-v1262-transfer-promo button,.dp-quick-promo-confirm,.dp-v2340-channel-done,.dp-v2340-channel-open,.dp-v2340-payment-switch,.dp-slip-modal-primary):not(:disabled){
  background:linear-gradient(125deg,var(--site-primary),var(--site-button_hover))!important;
  border-color:var(--site-primary)!important;
  color:var(--site-button_text)!important;
  -webkit-text-fill-color:var(--site-button_text)!important;
}
html body #depositPage :is(.dp-quick-promo-open,.dp-v1262-transfer-promo button,.dp-quick-promo-confirm,.dp-v2340-channel-done,.dp-v2340-channel-open,.dp-v2340-payment-switch,.dp-slip-modal-primary):not(:disabled) :is(i,span,b,strong){
  color:var(--site-button_text)!important;
  -webkit-text-fill-color:var(--site-button_text)!important;
}
html body #depositPage .xpd70-quick{
  background:linear-gradient(165deg,color-mix(in srgb,var(--site-surface) 94%,var(--site-primary) 6%),var(--site-surface))!important;
  border-color:var(--site-border)!important;
  color:var(--site-text)!important;
}
html body #depositPage .xpd70-quick-icon{
  background:linear-gradient(130deg,var(--site-primary),var(--site-button_hover))!important;
  color:var(--site-button_text)!important;
}
html body #depositPage .xpd70-quick-icon i{
  color:var(--site-button_text)!important;
  -webkit-text-fill-color:var(--site-button_text)!important;
}
html body #depositPage .xpd70-quick-heading strong{color:var(--site-text)!important}
html body #depositPage .xpd70-quick-heading small{color:var(--site-muted)!important}
html body #depositPage .xpd70-quick-grid button:not(.is-active){
  background:var(--site-input_bg)!important;
  border-color:var(--site-border)!important;
  color:var(--site-input_text)!important;
}
html body #depositPage .xpd70-quick-grid button.is-active:not(:disabled){
  background:linear-gradient(125deg,var(--site-primary),var(--site-button_hover))!important;
  border-color:var(--site-accent)!important;
  color:var(--site-button_text)!important;
}
html body #depositPage .xpd70-pay:not(:disabled){
  background:linear-gradient(125deg,var(--site-primary),var(--site-button_hover))!important;
  border-color:var(--site-primary)!important;
  color:var(--site-button_text)!important;
  box-shadow:0 9px 23px color-mix(in srgb,var(--site-primary) 22%,transparent)!important;
}
html body #depositPage .xpd70-pay:not(:disabled) :is(i,span,b,strong){
  color:var(--site-button_text)!important;
  -webkit-text-fill-color:var(--site-button_text)!important;
}
html body #depositPage .xpd70-quick-hint{
  background:color-mix(in srgb,var(--site-accent) 10%,var(--site-surface))!important;
  border-color:var(--site-border)!important;
  color:var(--site-text)!important;
}
/* Amount input: never display dark font on dark surface or vice versa. */
html body #depositPage .xpd70-amount{
  background:var(--site-input_bg)!important;
  border-color:var(--site-border)!important;
}
html body #depositPage .xpd70-amount:focus-within{
  border-color:var(--site-primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--site-primary) 22%,transparent)!important;
}
html body #depositPage .xpd70-amount :is(i,span,input.js-intent-amount){
  color:var(--site-input_text)!important;
  -webkit-text-fill-color:var(--site-input_text)!important;
}
html body #depositPage .xpd70-amount input.js-intent-amount::placeholder{
  color:color-mix(in srgb,var(--site-input_text) 76%,transparent)!important;
  -webkit-text-fill-color:color-mix(in srgb,var(--site-input_text) 76%,transparent)!important;
  opacity:1!important;
}
/* Expanded promotion picker: highlighted item, icons and tab selection. */
html body #depositPage .dp-quick-promo-dialog,
html body #depositPage .dp-v2340-channel-dialog,
html body #depositPage .dp-slip-modal-card{
  background:var(--site-surface)!important;
  border-color:var(--site-border)!important;
  color:var(--site-text)!important;
}
html body #depositPage .dp-quick-promo-dialog-head,
html body #depositPage .dp-quick-promo-hint,
html body #depositPage .dp-quick-promo-options,
html body #depositPage .dp-quick-promo-footer,
html body #depositPage .dp-v2340-channel-dialog-head,
html body #depositPage .dp-v2340-channel-dialog-foot{
  background:var(--site-surface)!important;
  border-color:var(--site-border)!important;
  color:var(--site-text)!important;
}
html body #depositPage :is(.dp-quick-promo-choice,.dp-v2340-channel-choice,.dp-ref-method){
  background:var(--site-input_bg)!important;
  color:var(--site-input_text)!important;
  border-color:var(--site-border)!important;
}
html body #depositPage :is(.dp-quick-promo-choice.is-selected,.dp-v2340-channel-choice.is-selected,.dp-ref-method.is-selected){
  background:color-mix(in srgb,var(--site-primary) 16%,var(--site-surface))!important;
  border-color:var(--site-primary)!important;
}
html body #depositPage :is(.dp-quick-promo-choice-icon,.dp-v2340-choice-icon){
  background:color-mix(in srgb,var(--site-accent) 13%,var(--site-surface))!important;
  color:var(--site-accent)!important;
}
html body #depositPage :is(.dp-quick-promo-choice-icon,.dp-v2340-choice-icon) i{color:var(--site-accent)!important;}
html body #depositPage .dp-quick-promo-choice-tick{
  background:var(--site-input_bg)!important;
  border-color:var(--site-border)!important;
}
html body #depositPage .dp-quick-promo-choice.is-selected .dp-quick-promo-choice-tick{
  background:var(--site-primary)!important;
  border-color:var(--site-accent)!important;
}
html body #depositPage .dp-quick-promo-choice.is-selected .dp-quick-promo-choice-tick i{color:var(--site-button_text)!important}
html body #depositPage .dp-quick-promo-eyebrow,
html body #depositPage .dp-slip-modal-kicker,
html body #depositPage .dp-slip-modal-icon{color:var(--site-accent)!important}
html body #depositPage .dp-quick-promo-dialog-head h2,
html body #depositPage .dp-quick-promo-heading h2,
html body #depositPage .dp-slip-modal-card h3{color:var(--site-text)!important}
html body #depositPage .dp-quick-promo-hint,
html body #depositPage .dp-quick-promo-feedback,
html body #depositPage .dp-slip-modal-points,
html body #depositPage .dp-slip-modal-card p{color:var(--site-muted)!important}
/* QR / bank / wallet panels and status-neutral payment details. */
html body #depositPage :is(.xpd71-methods,.xpd71-method,.xpd71-transfer-brief,.xpd71-summary,.xpd71-method-head,.dp-v2340-channel-current,.dp-v2340-channel-row){
  background-color:var(--site-surface)!important;
  border-color:var(--site-border)!important;
  color:var(--site-text)!important;
}
html body #depositPage :is(.xpd71-method.is-active,.xpd71-tab.is-active){
  background:color-mix(in srgb,var(--site-primary) 13%,var(--site-surface))!important;
  border-color:var(--site-primary)!important;
  color:var(--site-text)!important;
}
html body #depositPage :is(.xpd71-method-icon,.xpd71-method-emblem,.xpd71-method-radio,.xpd71-kicker,.xpd71-method-foot i){
  color:var(--site-accent)!important;
}
html body #depositPage :is(.dp-v2340-choice-check,.dp-v2340-channel-choice.is-selected .dp-v2340-choice-check){
  color:var(--site-primary)!important;
  border-color:var(--site-primary)!important;
}
/* Legacy iframe-hosted deposit shell and SweetAlert visual alignment. */
html body #xpd1263Mount .xpd1263-sheet,
html body #xpd1263Mount .xpd1263-scroller{
  background:var(--site-background)!important;
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
html body #xpd1263Mount .xpd1263-top{
  background:linear-gradient(165deg,var(--site-header),color-mix(in srgb,var(--site-header) 87%,var(--site-primary)))!important;
  color:var(--site-nav_text)!important;
}
html body #xpd1263Mount .xpd1263-top :is(h2,p),
html body #xpd1263Mount .xpd1263-close{color:var(--site-nav_text)!important}
html body #xpd1263Mount .xpd1263-top::before{background:var(--site-accent)!important}
html body:has(#depositPage) .swal2-popup{
  background:var(--site-surface)!important;
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
html body:has(#depositPage) .swal2-title{color:var(--site-text)!important}
html body:has(#depositPage) .swal2-html-container{color:var(--site-muted)!important}
html body:has(#depositPage) .swal2-confirm:not(:disabled){
  background:var(--site-primary)!important;
  color:var(--site-button_text)!important;
}
/* Full-page member routes already share colors through this stylesheet.
   Correct non-semantic legacy green actions/icons without changing status
   badges, validation success/error or disabling states. */
html body #xpwPage .xpw-withdraw-btn:not(:disabled),
html body #xpwPage .xpw-confirm-submit:not(:disabled),
html body #xrr80Root :is(button[class*="claim"],button[class*="copy"]):not(:disabled),
html body #xpr77Profile :is(button[class*="save"],a[class*="action"]):not(:disabled),
html body .regular-deposit-page .claim-btn:not(:disabled){
  background:linear-gradient(125deg,var(--site-primary),var(--site-button_hover))!important;
  color:var(--site-button_text)!important;
  border-color:var(--site-primary)!important;
}
/* Theme accessibility: active keyboard focus tracks the palette. */
html body #depositPage :is(button,input,select,a):focus-visible,
html body #xpwPage :is(button,input,select,a):focus-visible{
  outline-color:var(--site-accent)!important;
}

/* Theme the legacy iframe document body as well as its inner sheet. */
html.xpd1264-inner-frame,html.xpd1264-inner-frame body,
html.xpd1263-active,html.xpd1263-active body{
  background:var(--site-background)!important;
  color:var(--site-text)!important;
}
html body #depositPage .dp-ref-processing{
  background:var(--site-background)!important;
  color:var(--site-text)!important;
}
html body #depositPage .dp-ref-processing :is(h2,p,small){color:var(--site-text)!important}
html body #depositPage .dp-ref-processing :is(.dp-ref-processing-step,.dp-ref-processing-loader,.dp-ref-loading-points){
  color:var(--site-accent)!important;
  border-color:var(--site-primary)!important;
}

/* V2362 — Remove the homepage provider-search field only.
   Keep game category heading, provider count and provider grid unchanged.
   The input remains in the DOM because the existing catalogue JavaScript
   may reference #xp25ProviderSearch when applying default empty filters. */
html body.xp172 #xp25Catalog #xp25-all-providers > label.xp25-search,
html body #xp25Catalog #xp25-all-providers > label.xp25-search{
  display:none !important;
  visibility:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  height:0 !important;
  min-height:0 !important;
}


/* V2365: Five illustrated 3D mascot themes. The art loads only for active mascot presets. */
html body.xp172 .xp172-wallet-wrap::before{
 content:"RUAYWAI55  •  AI 3D PREMIUM";
 display:var(--rw-mascot-display,none)!important;
 box-sizing:border-box;
 position:relative;
 width:calc(100% - 24px);
 max-width:780px;
 min-height:136px;
 margin:0 auto 14px;
 padding:30px 46% 20px 20px;
 color:var(--site-text)!important;
 font-weight:850;
 font-size:clamp(13px,2.3vw,19px);
 letter-spacing:.03em;
 border-radius:17px;
 border:1px solid var(--site-border)!important;
 background-image:var(--rw-mascot-image),linear-gradient(120deg,var(--site-surface),var(--site-background))!important;
 background-repeat:no-repeat,no-repeat!important;
 background-size:auto 100%,cover!important;
 background-position:98% center,center!important;
 box-shadow:0 13px 32px color-mix(in srgb,var(--site-background) 36%,transparent)!important;
}
@media(max-width:640px){
 html body.xp172 .xp172-wallet-wrap::before{min-height:100px;padding:17px 49% 10px 13px;line-height:1.45;font-size:12px;background-position:right center,center!important}
}
@media(prefers-reduced-motion:reduce){html body.xp172 .xp172-wallet-wrap::before{animation:none!important}}


/* RUAYWAI55 V2366 — REGISTER / LOGIN IFRAME THEME INTEGRATION
 * All rules are cosmetic. Auth requests, OTP, form input types, disabled flags,
 * error/success messages and popup lifecycle are left unchanged. */

/* The outer auth sheet is hosted on Landing; login/register itself lives inside
 * a separate document (iframe). It must receive its own theme stylesheet. */
html body .xpa55 .xpa55-panel {
  background:linear-gradient(160deg,var(--site-header),var(--site-background))!important;
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
html body .xpa55 :is(.xpa55-switch,.xpa55-viewport,.xpa55-foot,.xpa55-wait){
  background:var(--site-surface)!important;
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
html body .xpa55 .xpa55-tab{color:var(--site-muted)!important}
html body .xpa55 .xpa55-tab.is-current:not(:disabled){
  background:linear-gradient(120deg,var(--site-primary),var(--site-button_hover))!important;
  color:var(--site-button_text)!important;
  box-shadow:none!important;
}
html body .xpa55 .xpa55-tab.is-current :is(span,b){color:var(--site-button_text)!important}
html body .xpa55 :is(.xpa55-handle,.xpa55-dot){background:var(--site-accent)!important}
html body .xpa55 .xpa55-close{color:var(--site-nav_text)!important;
  background:var(--site-header)!important;border:1px solid var(--site-border)!important}

/* These routes ship older blue/green high-specificity !important styles. */
html body.lux-register-page,
html body.lux-login-page,
html body.lux-register-page :is(.lux-register-layout,.lux-register-main,.register-shell),
html body.lux-login-page :is(.lux-auth-layout,.auth-wrap,.auth-card){
  background:var(--site-background)!important;color:var(--site-text)!important;
}
html body.lux-register-page .lux-register-layout,
html body.lux-login-page .lux-auth-layout{background:var(--site-background)!important}
html body.lux-register-page .stage-card,
html body.lux-login-page .auth-card{
  background:linear-gradient(155deg,var(--site-surface),color-mix(in srgb,var(--site-surface) 94%,var(--site-primary)))!important;
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
  box-shadow:0 16px 40px color-mix(in srgb,var(--site-background) 32%,transparent)!important;
}
html body.lux-register-page .stage-card :is(.loading,.loading span),
html body.lux-register-page :is(.page-title,.auth-switch,.support),
html body.lux-login-page :is(.title,.lux-auth-subtitle,.divider,.support){color:var(--site-text)!important}
html body.lux-register-page :is(.auth-switch,.support),
html body.lux-register-page :is(.steps,.step),
html body.lux-login-page :is(.support,.divider,.field-head){color:var(--site-muted)!important}
html body.lux-register-page .step i{
  background:var(--site-surface)!important;color:var(--site-muted)!important;
  border-color:var(--site-border)!important;
}
html body.lux-register-page .step.active i,
html body.lux-register-page .step.is-active i{
  background:linear-gradient(120deg,var(--site-primary),var(--site-button_hover))!important;
  color:var(--site-button_text)!important;border-color:var(--site-primary)!important;
  box-shadow:none!important;
}
html body.lux-register-page .step:not(:last-child):after{background:var(--site-border)!important}
html body.lux-register-page :is(.lux-register-main,.register-shell,.stage-card),
html body.lux-login-page :is(.auth-card,.field){border-color:var(--site-border)!important}
html body.lux-register-page .loading:before{border-color:var(--site-border)!important;border-top-color:var(--site-primary)!important}

/* The registration stages are legacy fragments inserted asynchronously.
 * Scope to #registerStage so all 3 steps and bank/OTP controls are themed. */
html body.lux-register-page #registerStage,
html body.lux-register-page #registerStage :is(.modal-dialog,.modal-content,.modal-body,.x-modal-separator-container,.-top,.-bottom,.-form,.x-form-register,.x-bank-account-form){
  color:var(--site-text)!important;
  border-color:var(--site-border)!important;
}
html body.lux-register-page #registerStage :is(.modal-content,.modal-body,.x-modal-separator-container,.-top,.-bottom,.-form,.x-form-register,.x-bank-account-form){
  background:transparent!important;
}
html body.lux-register-page #registerStage :is(.-title,.-text-message,.x-title-modal,h1,h2,h3,h4,label,.form-check-label,.x-login-container,.x-text-with-link-component){
  color:var(--site-text)!important;-webkit-text-fill-color:var(--site-text)!important;
}
html body.lux-register-page #registerStage :is(.description,.-description,.text-muted,small,.-hint,.input-helper,.x-subtitle){
  color:var(--site-muted)!important;-webkit-text-fill-color:var(--site-muted)!important;
}
html body.lux-register-page #registerStage :is(.x-form-control,input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select,textarea,.selectize-input,.selectize-input input),
html body.lux-login-page .input-wrap input{
  background:var(--site-input_bg)!important;
  color:var(--site-input_text)!important;
  -webkit-text-fill-color:var(--site-input_text)!important;
  caret-color:var(--site-input_text)!important;
  border-color:var(--site-border)!important;
  box-shadow:none!important;
}
html body.lux-register-page #registerStage :is(input,textarea)::placeholder,
html body.lux-login-page .input-wrap input::placeholder{
  color:var(--site-input_text)!important;
  -webkit-text-fill-color:var(--site-input_text)!important;
  opacity:.72!important;
}
html body.lux-register-page #registerStage :is(input,select,textarea,.selectize-input):focus,
html body.lux-login-page .input-wrap input:focus{
  border-color:var(--site-primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--site-primary) 22%,transparent)!important;
}
html body.lux-register-page #registerStage :is(.btn-primary,.-submit,button[type="submit"]):not(:disabled),
html body.lux-login-page :is(button.primary,button[type="submit"]):not(:disabled){
  background:linear-gradient(120deg,var(--site-primary),var(--site-button_hover))!important;
  border-color:var(--site-primary)!important;
  color:var(--site-button_text)!important;
  -webkit-text-fill-color:var(--site-button_text)!important;
  box-shadow:0 9px 20px color-mix(in srgb,var(--site-primary) 18%,transparent)!important;
}
html body.lux-register-page #registerStage :is(.btn-primary,.-submit,button[type="submit"]):not(:disabled) :is(span,strong,i){
  color:var(--site-button_text)!important;-webkit-text-fill-color:var(--site-button_text)!important;
}
html body.lux-register-page #registerStage a,
html body.lux-register-page :is(.auth-switch a,.support a),
html body.lux-login-page :is(.field a,.support a,.secondary){
  color:var(--site-text)!important;-webkit-text-fill-color:var(--site-text)!important;
  text-decoration-color:var(--site-accent)!important;
}
html body.lux-register-page #registerStage .x-bank-choices-type .-label{
  background:var(--site-surface)!important;border-color:var(--site-border)!important;
}
html body.lux-register-page #registerStage .x-bank-choices-type .-input-radio:checked + .-label{
  border-color:var(--site-primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--site-primary) 22%,transparent)!important;
}
html body.lux-register-page #registerStage :is(.x-bank-choices-type label,.-x-input-icon .-icon){color:var(--site-muted)!important}
html body.lux-register-page .topbar,
html body.lux-login-page .topbar{
  background:var(--site-header)!important;color:var(--site-nav_text)!important;
  border-color:var(--site-border)!important;
}
html body.lux-register-page .bottom-nav,
html body.lux-login-page .bottom-nav{
  background:var(--site-footer)!important;border-color:var(--site-border)!important;
}
html body.lux-register-page .bottom-nav :is(a,b),
html body.lux-login-page .bottom-nav :is(a,b){color:var(--site-nav_text)!important}
html body.lux-register-page .bottom-nav .active b,
html body.lux-login-page .bottom-nav .active b{
  background:var(--site-primary)!important;color:var(--site-button_text)!important;
  box-shadow:none!important;
}
/* Preserve explicit error/success state colors and native checkbox appearance. */
@media(prefers-reduced-motion:reduce){
  html body.lux-register-page .stage-card,html body.lux-login-page .auth-card{transition:none!important}
}

/* V2367: auth input readability repair for login/register popup and mobile sheet.
   Fixes low-contrast typed values / autofill / readonly phone fields without touching logic. */
html body.lux-register-page #registerStage :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select,.x-form-control,.selectize-input,.selectize-input input),
html body.lux-login-page :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),textarea,select,.x-form-control){
  color:var(--site-input_text)!important;
  -webkit-text-fill-color:var(--site-input_text)!important;
  caret-color:var(--site-input_text)!important;
  opacity:1!important;
  text-shadow:none!important;
}
html body.lux-register-page #registerStage :is(input,textarea,select,.x-form-control):-webkit-autofill,
html body.lux-register-page #registerStage :is(input,textarea,select,.x-form-control):-webkit-autofill:hover,
html body.lux-register-page #registerStage :is(input,textarea,select,.x-form-control):-webkit-autofill:focus,
html body.lux-login-page :is(input,textarea,select,.x-form-control):-webkit-autofill,
html body.lux-login-page :is(input,textarea,select,.x-form-control):-webkit-autofill:hover,
html body.lux-login-page :is(input,textarea,select,.x-form-control):-webkit-autofill:focus{
  -webkit-text-fill-color:var(--site-input_text)!important;
  caret-color:var(--site-input_text)!important;
  box-shadow:0 0 0 1000px var(--site-input_bg) inset!important;
  transition:background-color 99999s ease-in-out 0s!important;
}
html body.lux-register-page #registerStage :is(input[readonly],input:disabled,textarea[readonly],textarea:disabled,.x-form-control[readonly],.x-form-control:disabled),
html body.lux-login-page :is(input[readonly],input:disabled,textarea[readonly],textarea:disabled,.x-form-control[readonly],.x-form-control:disabled){
  color:var(--site-input_text)!important;
  -webkit-text-fill-color:var(--site-input_text)!important;
  opacity:1!important;
}
html body.lux-register-page #registerStage :is(input,textarea)::placeholder,
html body.lux-login-page :is(input,textarea)::placeholder{
  color:color-mix(in srgb,var(--site-input_text) 82%, transparent)!important;
  -webkit-text-fill-color:color-mix(in srgb,var(--site-input_text) 82%, transparent)!important;
  opacity:1!important;
}


/* ==========================================================================
 * RUAYWAI55 V2368 — Auth Form Premium Contrast
 * The registration fragment previously inherited a pale input background and
 * a near-white text variable, which produced unreadable phone numbers.
 * Lock the field surface and ink as a WCAG-AA-safe pair on BOTH login/register.
 * The chosen site theme still controls accents, borders, focus, headers, CTAs.
 * Presentation only: never alter field type, disabled/validation or submission.
 * ========================================================================== */
html body.lux-register-page,
html body.lux-login-page {
  --rw-auth-field-surface: #F7FAFF;
  --rw-auth-field-ink: #18263D;
  --rw-auth-field-placeholder: #596C86;
  --rw-auth-field-stroke: #B9C7D6;
}

/* Same premium input treatment for standalone login and iframe registration. */
html body.lux-login-page .input-wrap {
  background: var(--rw-auth-field-surface) !important;
  border: 1px solid var(--rw-auth-field-stroke) !important;
  color: var(--rw-auth-field-ink) !important;
}
html body.lux-login-page .input-wrap :is(.ico,.toggle-pass) {
  color: var(--rw-auth-field-placeholder) !important;
  -webkit-text-fill-color: var(--rw-auth-field-placeholder) !important;
}
html body.lux-register-page #registerStage :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  select, textarea, .x-form-control, .selectize-input, .selectize-input input
),
html body.lux-login-page .input-wrap input {
  box-sizing: border-box !important;
  background: var(--rw-auth-field-surface) !important;
  background-color: var(--rw-auth-field-surface) !important;
  color: var(--rw-auth-field-ink) !important;
  -webkit-text-fill-color: var(--rw-auth-field-ink) !important;
  caret-color: var(--rw-auth-field-ink) !important;
  border-color: var(--rw-auth-field-stroke) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  color-scheme: light;
}
html body.lux-login-page .input-wrap input {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
}
/* All legacy registration phases use the same readable placeholder/typed text. */
html body.lux-register-page #registerStage :is(input,textarea)::placeholder,
html body.lux-login-page .input-wrap input::placeholder {
  color: var(--rw-auth-field-placeholder) !important;
  -webkit-text-fill-color: var(--rw-auth-field-placeholder) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
html body.lux-register-page #registerStage :is(input,textarea,select,.x-form-control):-webkit-autofill,
html body.lux-register-page #registerStage :is(input,textarea,select,.x-form-control):-webkit-autofill:hover,
html body.lux-register-page #registerStage :is(input,textarea,select,.x-form-control):-webkit-autofill:focus,
html body.lux-login-page .input-wrap input:-webkit-autofill,
html body.lux-login-page .input-wrap input:-webkit-autofill:hover,
html body.lux-login-page .input-wrap input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--rw-auth-field-ink) !important;
  caret-color: var(--rw-auth-field-ink) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--rw-auth-field-surface) inset !important;
  box-shadow: 0 0 0 1000px var(--rw-auth-field-surface) inset !important;
  transition: background-color 99999s ease-in-out 0s !important;
}
html body.lux-register-page #registerStage :is(input,textarea,select,.x-form-control):focus,
html body.lux-login-page .input-wrap:focus-within {
  border-color: var(--site-primary, #B52B47) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--site-primary, #B52B47) 22%,transparent) !important;
}
/* Small bank-input controls and phone icon should not stay pale on a pale field. */
html body.lux-register-page #registerStage .-x-input-icon :is(.fa,.fas,.far,.fal,.fa-phone,.fa-user,.fa-lock,i),
html body.lux-register-page #registerStage .-x-input-icon .-icon {
  color: var(--rw-auth-field-placeholder) !important;
}

/* Login form carries old :not() selectors of higher specificity. Keep both
   authentication forms on the same legible ink/surface pair. */
html body.lux-login-page #loginForm .input-wrap input {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--rw-auth-field-ink) !important;
  -webkit-text-fill-color: var(--rw-auth-field-ink) !important;
  caret-color: var(--rw-auth-field-ink) !important;
  opacity: 1 !important;
}
html body.lux-login-page #loginForm .input-wrap input::placeholder {
  color: var(--rw-auth-field-placeholder) !important;
  -webkit-text-fill-color: var(--rw-auth-field-placeholder) !important;
  opacity: 1 !important;
}
html body.lux-login-page #loginForm .input-wrap input:-webkit-autofill {
  -webkit-text-fill-color: var(--rw-auth-field-ink) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--rw-auth-field-surface) inset !important;
}


/* ======================================================================
   RUAYWAI55 V2370 — LOGIN INPUT PILL CLIP FIX
   Legacy login: outer .input-wrap painted a pale rectangular background
   while its child input had rounded corners, leaving white square corners.
   Paint the pale surface on the input ONLY and keep the wrapper clear.
   Cosmetic only; preserves field values, browser autofill, password toggle,
   validation, event handlers and accessibility.
   ====================================================================== */
html body.lux-login-page #loginForm .field .input-wrap {
  position:relative !important;
  box-sizing:border-box !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:none !important;
  overflow:visible !important;
}
html body.lux-login-page #loginForm .field .input-wrap > input:is([type="tel"],[type="password"],[type="text"],[type="number"]) {
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:50px !important;
  min-height:50px !important;
  margin:0 !important;
  padding:0 50px 0 48px !important;
  box-sizing:border-box !important;
  appearance:none;
  -webkit-appearance:none;
  background:var(--rw-auth-field-surface,#F7FAFF) !important;
  background-color:var(--rw-auth-field-surface,#F7FAFF) !important;
  background-clip:padding-box !important;
  border:1px solid var(--rw-auth-field-stroke,#B9C7D6) !important;
  border-radius:999px !important;
  color:var(--rw-auth-field-ink,#18263D) !important;
  -webkit-text-fill-color:var(--rw-auth-field-ink,#18263D) !important;
  caret-color:var(--rw-auth-field-ink,#18263D) !important;
  box-shadow:none !important;
  outline:none !important;
  opacity:1 !important;
}
html body.lux-login-page #loginForm .field .input-wrap > input:is([type="tel"],[type="password"],[type="text"],[type="number"]):focus-visible,
html body.lux-login-page #loginForm .field .input-wrap > input:is([type="tel"],[type="password"],[type="text"],[type="number"]):focus {
  border-color:var(--site-primary,#B52B47) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--site-primary,#B52B47) 20%,transparent) !important;
}
html body.lux-login-page #loginForm .field .input-wrap > input:is([type="tel"],[type="password"],[type="text"],[type="number"])::placeholder {
  color:var(--rw-auth-field-placeholder,#596C86) !important;
  -webkit-text-fill-color:var(--rw-auth-field-placeholder,#596C86) !important;
  opacity:1 !important;
}
html body.lux-login-page #loginForm .field .input-wrap > input:is([type="tel"],[type="password"],[type="text"],[type="number"]):-webkit-autofill,
html body.lux-login-page #loginForm .field .input-wrap > input:is([type="tel"],[type="password"],[type="text"],[type="number"]):-webkit-autofill:hover,
html body.lux-login-page #loginForm .field .input-wrap > input:is([type="tel"],[type="password"],[type="text"],[type="number"]):-webkit-autofill:focus {
  -webkit-text-fill-color:var(--rw-auth-field-ink,#18263D) !important;
  caret-color:var(--rw-auth-field-ink,#18263D) !important;
  -webkit-box-shadow:0 0 0 1000px var(--rw-auth-field-surface,#F7FAFF) inset !important;
  background-clip:padding-box !important;
  border-radius:999px !important;
}
html body.lux-login-page #loginForm .field .input-wrap :is(.ico,.toggle-pass) {
  z-index:2 !important;
  color:var(--rw-auth-field-placeholder,#596C86) !important;
  -webkit-text-fill-color:var(--rw-auth-field-placeholder,#596C86) !important;
}
/* Keep the registration form controls untouched; this specifically fixes the
   white outer rectangle in the login fields shown in the screenshot. */


/* ===============================================================
   RUAYWAI55 V2373: Bonus Time /bonus-time site-wide theme matching
   Reads saved 14 theme colors from site_theme/css; cosmetic only.
   The Bonus Time games, timers, percentages, provider IDs and APIs
   remain completely untouched. Original image assets are preserved.
   =============================================================== */
html body .bt-page{
  --rw-bt-bg:var(--site-background, #08090D);
  --rw-bt-card:var(--site-surface, #171A20);
  --rw-bt-text:var(--site-text, #F8F0DF);
  --rw-bt-muted:var(--site-muted, #C7B9A2);
  --rw-bt-border:var(--site-border, #514633);
  --rw-bt-accent:var(--site-accent, #E4BC70);
  --rw-bt-primary:var(--site-primary, #AD2535);
  --rw-bt-button-text:var(--site-button_text, #FFFFFF);
  background:var(--rw-bt-bg)!important;
  color:var(--rw-bt-text)!important;
  border-color:var(--rw-bt-border)!important;
}
html body .bt-page:before{
  background:linear-gradient(113deg,transparent 27%,color-mix(in srgb,var(--rw-bt-accent) 9%,transparent) 48%,transparent 70%)!important;
  opacity:.40!important;
}
html body .bt-page .bt-wrap,html body .bt-page .bt-hero,html body .bt-page .bt-body{
  color:var(--rw-bt-text)!important;
}
html body .bt-page .bt-title{
  background:none!important;
  background-image:none!important;
  color:var(--rw-bt-text)!important;
  -webkit-text-fill-color:var(--rw-bt-text)!important;
  filter:none!important;
  text-shadow:none!important;
}
html body .bt-page .bt-sub,
html body .bt-page .bt-meter-label,
html body .bt-page .bt-note,
html body .bt-page .bt-card small:not(.bt-pg-badge){
  color:var(--rw-bt-muted)!important;
  -webkit-text-fill-color:var(--rw-bt-muted)!important;
}
html body .bt-page .bt-kicker,
html body .bt-page .bt-timer{
  background:var(--rw-bt-card)!important;
  color:var(--rw-bt-text)!important;
  border:1px solid var(--rw-bt-border)!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--rw-bt-bg) 24%,transparent)!important;
}
html body .bt-page .bt-kicker i,
html body .bt-page .bt-timer i{
  color:var(--rw-bt-accent)!important;
}
html body .bt-page .bt-pg-badge{
  background:var(--rw-bt-primary)!important;
  color:var(--rw-bt-button-text)!important;
  border:1px solid var(--rw-bt-border)!important;
  box-shadow:none!important;
}
html body .bt-page .bt-card,
html body .bt-page .bt-card.bt-hot{
  background:var(--rw-bt-card)!important;
  border:1px solid var(--rw-bt-border)!important;
  color:var(--rw-bt-text)!important;
  box-shadow:0 10px 26px color-mix(in srgb,var(--rw-bt-bg) 28%,transparent)!important;
}
html body .bt-page .bt-card:hover,
html body .bt-page .bt-card.bt-hot:hover{
  border-color:var(--rw-bt-primary)!important;
  box-shadow:0 14px 35px color-mix(in srgb,var(--rw-bt-primary) 22%,transparent)!important;
}
html body .bt-page .bt-card.bt-hot{
  border-color:var(--rw-bt-accent)!important;
  animation:rwBtThemePulse 2.5s ease-in-out infinite!important;
}
@keyframes rwBtThemePulse{
  0%,100%{box-shadow:0 10px 28px color-mix(in srgb,var(--site-background) 30%,transparent),0 0 0 1px color-mix(in srgb,var(--site-accent) 28%,transparent)}
  50%{box-shadow:0 14px 34px color-mix(in srgb,var(--site-background) 34%,transparent),0 0 19px color-mix(in srgb,var(--site-accent) 22%,transparent)}
}
html body .bt-page .bt-card:before,
html body .bt-page .bt-hot:before{
  background:linear-gradient(125deg,transparent 25%,color-mix(in srgb,var(--rw-bt-accent) 13%,transparent) 48%,transparent 70%)!important;
}
html body .bt-page .bt-card:after{
  background:linear-gradient(90deg,transparent,var(--rw-bt-accent),transparent)!important;
}
html body .bt-page .bt-image{background:var(--rw-bt-card)!important}
html body .bt-page .bt-name{
  color:var(--rw-bt-text)!important;
  -webkit-text-fill-color:var(--rw-bt-text)!important;
}
html body .bt-page .bt-provider{color:var(--rw-bt-muted)!important}
html body .bt-page .bt-provider i{color:var(--rw-bt-accent)!important}
html body .bt-page .bt-percent{
  background:var(--rw-bt-card)!important;
  border:3px solid var(--rw-bt-accent)!important;
  color:var(--rw-bt-text)!important;
  box-shadow:0 4px 18px color-mix(in srgb,var(--rw-bt-bg) 35%,transparent)!important;
}
html body .bt-page .bt-percent strong,
html body .bt-page .bt-percent small{
  color:var(--rw-bt-text)!important;
  -webkit-text-fill-color:var(--rw-bt-text)!important;
}
html body .bt-page .bt-card.bt-hot .bt-percent{
  background:var(--rw-bt-primary)!important;
  border-color:var(--rw-bt-accent)!important;
  color:var(--rw-bt-button-text)!important;
}
html body .bt-page .bt-card.bt-hot .bt-percent strong,
html body .bt-page .bt-card.bt-hot .bt-percent small{
  color:var(--rw-bt-button-text)!important;
  -webkit-text-fill-color:var(--rw-bt-button-text)!important;
}
html body .bt-page .bt-card.bt-hot .bt-image:after,
html body .bt-page .bt-hot .bt-name:after{
  background:var(--rw-bt-primary)!important;
  color:var(--rw-bt-button-text)!important;
  border:1px solid var(--rw-bt-accent)!important;
  box-shadow:none!important;
}
html body .bt-page .bt-meter{
  background:color-mix(in srgb,var(--rw-bt-bg) 78%,var(--rw-bt-card))!important;
  border-color:var(--rw-bt-border)!important;
}
html body .bt-page .bt-meter-fill,
html body .bt-page .bt-hot .bt-meter-fill{
  background:linear-gradient(90deg,var(--rw-bt-primary),var(--rw-bt-accent))!important;
  box-shadow:0 0 12px color-mix(in srgb,var(--rw-bt-primary) 35%,transparent)!important;
}
html body .bt-page .bt-meter-glow{
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--rw-bt-accent) 35%,transparent),transparent)!important;
}
html body .bt-page .bt-play,
html body .bt-page .bt-hot .bt-play{
  background:linear-gradient(115deg,var(--rw-bt-primary),var(--site-button_hover,var(--rw-bt-primary)))!important;
  border:1px solid var(--rw-bt-primary)!important;
  color:var(--rw-bt-button-text)!important;
  -webkit-text-fill-color:var(--rw-bt-button-text)!important;
  box-shadow:0 7px 16px color-mix(in srgb,var(--rw-bt-bg) 30%,transparent)!important;
}
html body .bt-page .bt-play i{color:var(--rw-bt-button-text)!important}
html body .bt-page .bt-image-play span{
  background:var(--rw-bt-card)!important;
  border-color:var(--rw-bt-accent)!important;
  color:var(--rw-bt-text)!important;
}
html body .bt-page .bt-note{
  background:var(--rw-bt-card)!important;
  border-color:var(--rw-bt-border)!important;
  color:var(--rw-bt-muted)!important;
}
html body .bt-launch-toast{
  background:var(--site-surface)!important;
  border-color:var(--site-accent)!important;
  color:var(--site-text)!important;
}
html body .bt-launch-toast i{color:var(--site-primary)!important}
/* Modern member nav can be moved out of BODY by the viewport-pinning
   script. :has() scopes styles to the Bonus Time document either way. */
html:has(.bt-page) :is(.xpg78-global-bottom,.xpg77-bottom,.xpp74-bottom,.xp172-bottom,.xp86-generated-nav){
  background:var(--site-footer)!important;
  border-color:var(--site-border)!important;
  color:var(--site-nav_text)!important;
}
html:has(.bt-page) :is(.xpg78-global-bottom,.xpg77-bottom,.xpp74-bottom,.xp172-bottom,.xp86-generated-nav) :is(a,button,span,i,svg){
  color:var(--site-nav_text)!important;
  stroke:currentColor;
}
html:has(.bt-page) :is(.xpg78-nav-deposit,.xpg78-deposit-circle,.xp172-center,.xpp74-nav-deposit .xpp74-deposit-circle){
  background:var(--site-primary)!important;
  border-color:var(--site-accent)!important;
  color:var(--site-button_text)!important;
}
html:has(.bt-page) :is(.xpg78-nav-deposit,.xpg78-deposit-circle,.xp172-center,.xpp74-nav-deposit .xpp74-deposit-circle) :is(i,svg,span){
  color:var(--site-button_text)!important;
}
@media (max-width:580px){
  html body .bt-page{padding-bottom:max(85px,env(safe-area-inset-bottom))!important;}
  html body .bt-page .bt-card.bt-hot{animation:none!important;}
}
@media(prefers-reduced-motion:reduce){html body .bt-page .bt-card.bt-hot{animation:none!important;}}
