﻿:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ink: #fff9e9;
  --muted: #d9c8bf;
  --red-950: #270406;
  --red-900: #4b080c;
  --red-800: #751016;
  --red-650: #a51b24;
  --gold-300: #ffe68c;
  --gold-500: #f3bd31;
  --gold-700: #a66408;
  --purple-500: #9a49e4;
  --purple-800: #4b177c;
  --teal-400: #28d4cf;
  --panel: rgba(30, 6, 13, 0.9);
  --shadow: 0 24px 70px rgba(8, 0, 3, 0.48);
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
  margin: 0;
  min-width: 320px;
  background: #190307;
  color: var(--ink);
}

button, input { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }

:focus-visible {
  outline: 3px solid #fff1a8;
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 0.75rem;
  left: 0.75rem;
  transform: translateY(-180%);
  padding: 0.7rem 1rem;
  border-radius: 0.6rem;
  background: #fff;
  color: #260309;
}

.skip-link:focus { transform: translateY(0); }
.portal-app, [data-view] { min-height: 100svh; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.evidence-chip {
  display: inline-flex;
  margin: 0 0 0.75rem;
  padding: 0.34rem 0.65rem;
  border: 1px solid rgba(255, 225, 133, 0.42);
  border-radius: 999px;
  color: var(--gold-300);
  font-size: 0.69rem;
  font-weight: 900;
  letter-spacing: 0.14em;
}

.evidence-chip--dark { background: rgba(45, 2, 8, 0.38); }

.auth-view,
.loading-view {
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: clamp(1rem, 3vw, 2.5rem);
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 245, 190, 0.98) 0 7%, rgba(255, 190, 76, 0.7) 18%, transparent 39%),
    radial-gradient(circle at 16% 72%, rgba(37, 220, 201, 0.62), transparent 35%),
    radial-gradient(circle at 88% 68%, rgba(16, 129, 151, 0.75), transparent 39%),
    linear-gradient(155deg, #351023 0%, #7d251b 48%, #102f41 100%);
}

.auth-view::before,
.loading-view::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 10% 20%, rgba(255,255,255,.9) 0 1px, transparent 2px),
    radial-gradient(circle at 72% 18%, rgba(255,255,255,.75) 0 1px, transparent 2px),
    radial-gradient(circle at 90% 42%, rgba(255,220,130,.8) 0 1px, transparent 2px);
  background-size: 120px 110px, 170px 150px, 210px 190px;
  opacity: 0.7;
  pointer-events: none;
}

.sky-orbit {
  position: absolute;
  width: 36rem;
  aspect-ratio: 1;
  border: 2.3rem solid rgba(15, 179, 176, 0.28);
  border-radius: 47% 53% 42% 58%;
  box-shadow: 0 0 0 1rem rgba(241, 179, 35, 0.25), inset 0 0 5rem rgba(3, 59, 85, 0.6);
  transform: rotate(24deg);
}

.sky-orbit--left { left: -20rem; bottom: -16rem; }
.sky-orbit--right { right: -22rem; top: -18rem; transform: rotate(-30deg); }

.auth-stage {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(12rem, 0.75fr) minmax(19rem, 1.1fr);
  width: min(62rem, 100%);
  min-height: min(40rem, calc(100svh - 2rem));
  border: 1px solid rgba(255, 225, 139, 0.44);
  border-radius: 2rem;
  overflow: hidden;
  background: rgba(30, 4, 10, 0.72);
  box-shadow: var(--shadow), inset 0 0 0 1px rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
}

.brand-lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 14rem;
  padding: 2rem;
  background:
    linear-gradient(135deg, transparent 42%, rgba(255,255,255,.08) 42% 44%, transparent 44%),
    linear-gradient(160deg, rgba(117, 11, 18, 0.95), rgba(54, 3, 12, 0.9));
  background-size: 26px 26px, auto;
  border-right: 1px solid rgba(255, 221, 120, 0.25);
}

.brand-mark {
  color: #fff6c9;
  font-family: Georgia, serif;
  font-size: clamp(4.5rem, 10vw, 8rem);
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: -0.09em;
  text-shadow: 0 4px 0 #a83a12, 0 8px 0 #6d150a, 0 0 28px rgba(255, 220, 87, 0.72);
}

.brand-mark--small { font-size: 3rem; }

.brand-caption {
  margin-top: 1.2rem;
  color: var(--gold-300);
  font-weight: 900;
  letter-spacing: 0.34em;
}

.auth-panel { align-self: center; padding: clamp(2rem, 5vw, 4.5rem); }
.auth-panel h1, .hall-heading h1, .portal-panel h1, .game-shell__stage h1 { margin: 0; font-family: Georgia, serif; }
.auth-panel h1 { font-size: clamp(2rem, 5vw, 3.7rem); }
.auth-copy { margin: 0.65rem 0 1.5rem; color: var(--muted); }

.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0.3rem;
  border-radius: 0.85rem;
  background: rgba(0,0,0,.28);
}

.auth-tab {
  min-height: 2.7rem;
  border: 0;
  border-radius: 0.65rem;
  background: transparent;
  color: #cdbdc0;
  font-weight: 800;
}

.auth-tab[aria-selected="true"] { background: linear-gradient(#8d1820, #570910); color: #fff; box-shadow: inset 0 0 0 1px #d85b54; }
.auth-form { display: grid; gap: 1rem; margin-top: 1.25rem; }
.form-field { display: grid; gap: 0.4rem; color: #ffeaca; font-weight: 800; }
.form-field small { color: #baa8ab; font-weight: 500; }

.form-field input {
  width: 100%;
  min-height: 3.1rem;
  border: 1px solid rgba(255, 221, 151, 0.35);
  border-radius: 0.75rem;
  background: rgba(12, 1, 5, 0.55);
  color: #fff;
  padding: 0 0.9rem;
}

.gold-button {
  min-height: 3rem;
  padding: 0.7rem 1.4rem;
  border: 1px solid #fff1aa;
  border-radius: 999px;
  background: linear-gradient(#ffe98b, #e59d12 54%, #9b5307);
  color: #3b1303;
  font-weight: 950;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.65), 0 8px 20px rgba(45, 7, 0, 0.35);
}

.gold-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.gold-button--wide { width: 100%; margin-top: 0.25rem; }
.safety-note { margin: 1rem 0 0; color: #d6c4c1; font-size: 0.78rem; line-height: 1.45; }

.hall-view {
  position: relative;
  overflow: clip;
  background: #580912;
}

/* EnterLoginPanel -> PopLayer:CloseAll keeps the same Profile layer visible
   during its 0.15s ScaleTo(0), above Login rather than an exposed Hall. */
.hall-view.is-logout-closing { position: absolute; inset: 0; z-index: 2; background: transparent; pointer-events: none; }
.hall-view.is-logout-closing .hall-stage > :not(.hall-overlay-root) { visibility: hidden; }

.hall-stage {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1280px;
  height: 720px;
  transform: translate(-50%, -50%) scale(var(--hall-fit, 1));
  transform-origin: center;
}

.hall-background {
  position: absolute;
  left: var(--hall-content-background-left, 0px);
  top: var(--hall-content-background-top, 0px);
  width: var(--hall-content-background-width, 1280px);
  height: var(--hall-content-background-height, 720px);
  background: url("../public/original-evidence/hall/bg_lobby.png") center / 100% 100% no-repeat;
}

/* Top-only inverse stage projection. Art may extend below its 72-unit owner. */
.hall-star-effect { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }

.hall-top-anchor {
  position: absolute; z-index: 4;
  left: 0; top: 0;
  width: 1280px; height: 72px;
  transform: translate(var(--hall-top-left), var(--hall-top-top)) scale(var(--hall-top-scale));
  transform-origin: 0 0;
  overflow: visible;
}
.hall-top-strip { position: absolute; top: 0; left: 0; width: 1280px; height: 72px; }
/* PROVEN_ORIGINAL Hall chrome motion. UserInfoNode moves its 72-unit
   top strip from y=visibleHeight+height to visibleHeight; FunctionButton
   moves its 100-unit lower strip from y=-(height+40) to 0. Both use a
   plain cc.MoveTo(0.22), so the browser adapter uses linear 0.22s motion.
   The exit class is source-locked for the later fish/game transition; it is
   deliberately not bound to logout, popup, profile, or OXES group changes. */
.hall-view.is-entering .hall-top-strip { animation: hall-top-enter .22s linear both; }
.hall-view.is-entering .hall-bottom-strip { animation: hall-bottom-enter .22s linear both; }
.hall-view.is-exiting .hall-top-strip { animation: hall-top-exit .22s linear both; pointer-events: none; }
.hall-view.is-exiting .hall-bottom-strip { animation: hall-bottom-exit .22s linear both; pointer-events: none; }
@keyframes hall-top-enter { from { transform: translateY(-72px); } to { transform: translateY(0); } }
@keyframes hall-bottom-enter { from { transform: translateY(var(--hall-bottom-motion, 140px)); } to { transform: translateY(0); } }
@keyframes hall-top-exit { from { transform: translateY(0); } to { transform: translateY(-72px); } }
@keyframes hall-bottom-exit { from { transform: translateY(0); } to { transform: translateY(var(--hall-bottom-motion, 140px)); } }
.hall-top-art {
  position: absolute;
  top: -.5px;
  left: 0;
  width: 1280px;
  height: 111px;
  background: url("../public/original-evidence/hall/ui/xsl_1.png") center / 100% 100% no-repeat;
  pointer-events: none;
}
.hall-profile, .hall-wallet, .hall-menu-button { position: absolute; z-index: 1; border: 0; color: #fff; }
.hall-profile { top: 3.81px; left: 17.345px; width: 180px; height: 62px; padding: 0; background: transparent; text-align: left; }
.hall-profile img { position: absolute; top: 3px; left: 3px; width: 56px; height: 56px; }
/* Source lua_head_touch: alpha0, separate owner, CSB/LayoutComponent bounds. */
.hall-profile[data-profile-art] { pointer-events: none; }
.hall-profile-touch { position: absolute; z-index: 1; left: 4.178596496582031px; top: -5.165699005126953px; width: 150.01600646972656px; height: 63.129600524902344px; padding: 0; border: 0; background: transparent; opacity: 0; transform-origin: 50% 50%; }
.hall-wallet { top: 8.856px; left: 191.082px; width: 300px; height: 61px; background: url("../public/original-evidence/hall/ui/coin_bg.png") center / 100% 100% no-repeat; }
.hall-wallet strong { display: block; max-width: 225px; margin-left: 49px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; }
.hall-wallet.has-bitmap strong { visibility: hidden; }
.hall-coin-bitmap { z-index: 2; pointer-events: none; }
.hall-center-art { position: absolute; z-index: 1; top: 2.928px; left: 484.485px; width: 430px; height: 68px; background: url("../public/original-evidence/hall/ui/tc_shurukuangbeijing.png") center / 100% 100% no-repeat; pointer-events: none; }
.hall-center-art > img, .hall-center-art > button { position: absolute; display: block; top: 0; width: 197px; height: 68px; }
.hall-center-art > button { padding: 0; border: 0; background-color: transparent; background-position: center; background-size: 100% 100%; background-repeat: no-repeat; pointer-events: auto; }
.hall-center-recharge { left: 18px; background-image: url("../public/original-evidence/hall/ui/btn_recharge_top.png"); }
.hall-center-copy { left: 214px; }
.hall-buy-effect { position: absolute; left: 0; top: 0; z-index: 4; pointer-events: none; }
.hall-washcode-art { position: absolute; z-index: 1; top: 7.31px; left: 897.13px; width: 300px; height: 61px; background: url("../public/original-evidence/hall/ui/xm.png") center / 100% 100% no-repeat; pointer-events: none; }
.hall-menu-button { top: 1.6616px; left: 1214.4181px; width: 63px; height: 68px; padding: 0; background: transparent; }
.hall-menu-button img { display: block; width: 63px; height: 68px; }

.hall-game-list { position: absolute; z-index: 2; top: var(--hall-content-list-top, 57px); left: var(--hall-content-list-left, 20px); width: var(--hall-content-list-width, 1240px); height: var(--hall-content-list-height, 588px); }
.hall-list-viewport { display: flex; flex-flow: row nowrap; width: 100%; height: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
/* GameList creates cc.TableView, whose extension ScrollView draws no bar.
   A browser bar must not subtract from the source view/cell height. */
.hall-list-viewport::-webkit-scrollbar { display: none; }
.hall-view.is-entering .hall-list-viewport { animation: hall-list-enter 2s ease-in both; }
.hall-view.is-group-transitioning .hall-stage { pointer-events: none; }
@keyframes hall-list-enter { from { opacity: 0; } to { opacity: 1; } }
.hall-cell { position: relative; flex: 0 0 var(--hall-content-cell-width, 271.52px); width: var(--hall-content-cell-width, 271.52px); height: 100%; }
.hall-group-back { position: absolute; z-index: 6; top: calc(16px * var(--hall-content-unit-scale, 1)); left: calc(4px * var(--hall-content-unit-scale, 1)); width: 145px; height: 83px; transform: scale(var(--hall-content-unit-scale, 1)); transform-origin: 0 0; border: 0; background: url("../public/original-evidence/hall/ui/btn_return.png") center / 100% 100% no-repeat; }
.hall-group-card { position: relative; display: block; left: var(--hall-content-item-left, 1.5px); width: 274px; height: 600px; transform: scale(var(--hall-content-item-scale, .98)); transform-origin: top left; }
.hall-group-card__touch { position: absolute; top: 96.5px; left: 5px; display: block; width: 264px; height: 467px; padding: 0; border: 0; background: transparent; touch-action: pan-x; }
.hall-group-card__touch img { display: block; width: 264px; height: 467px; }
.hall-group-card__availability { position: absolute; z-index: 1; top: 96.5px; left: 5px; width: 264px; min-height: 34px; display: grid; place-items: center; background: rgba(27, 10, 15, .75); color: #d5c8b6; font-size: 14px; pointer-events: none; }

.state-toggle { display: flex; align-items: center; gap: 0.65rem; min-height: 2.9rem; padding: 0.65rem 0.9rem; border: 1px solid rgba(255, 219, 129, .38); border-radius: 0.8rem; background: rgba(40, 0, 7, .46); font-weight: 750; }
.state-toggle input { width: 1.15rem; height: 1.15rem; accent-color: #ffc436; }

.game-card { position: relative; left: var(--hall-content-item-left, 1.5px); width: 274px; height: 600px; transform: scale(var(--hall-content-item-scale, .98)); transform-origin: top left; }
.game-card__image { position: absolute; top: 96.5px; left: 5px; display: block; width: 264px; height: 467px; object-fit: fill; }
.game-card.is-maintenance .game-card__image { filter: grayscale(.5); }
.game-card__action { position: absolute; z-index: 1; top: 515px; left: 5px; width: 264px; min-height: 44px; border: 1px solid #a87925; background: rgba(36, 22, 21, .9); color: #ffebad; font-weight: 850; }
.game-card__action:disabled { color: #d5c8b6; cursor: not-allowed; }
.hall-view[data-local-review="true"] .hall-group-card__availability,
.hall-view[data-local-review="true"] .game-card__action,
.hall-view[data-local-review="true"] .game-card > .sr-only:last-child { display: none; }
.hall-view[data-local-review="true"] .game-card.is-maintenance .game-card__image { filter: none; }
.local-game-card-touch { position: absolute; z-index: 2; top: 96.5px; left: 5px; width: 264px; height: 467px; padding: 0; border: 0; background: transparent; touch-action: pan-x; }
.local-game-shell { position: fixed; inset: 0; background: #000; overflow: hidden; visibility: hidden; }
.local-game-shell.is-composed { visibility: visible; }
.local-game-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; visibility: hidden; }
.local-game-shell.is-composed .local-game-frame.is-ready { visibility: visible; }
.local-game-shell.is-composed .local-game-frame.local-presentation { visibility: visible; } /* Decoded seat/loading, not unready gameplay. */
.rabbit-frontend-shell .local-game-frame {
  inset: auto; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: min(100%, calc(100svh * 9 / 16)); height: min(100%, calc(100svw * 16 / 9));
} /* Existing Main.scene design = 720 x 1280. No game UI is restyled. */
.selected-game-loading { position: absolute; inset: 0; display: grid; place-items: center; background: #000; }
.selected-game-loading--221 img { width: calc(1018px * 1.26 * var(--selected-scale-min, 1)); height: calc(484px * 1.26 * var(--selected-scale-min, 1)); max-width: none; }
.selected-game-loading--481 img { width: 100%; height: 100%; object-fit: fill; }
.hall-bottom-anchor { position: absolute; z-index: 3; left: 0; top: 0; width: 1280px; height: 100px; transform: translate(var(--hall-bottom-left, 0px), var(--hall-bottom-top, 620px)) scale(var(--hall-bottom-scale, 1)); transform-origin: 0 0; overflow: visible; pointer-events: none; }
.hall-recharge-effect { position: absolute; z-index: 3; pointer-events: none; }
.hall-bottom-strip { position: absolute; z-index: 3; bottom: 0; left: 0; width: 1280px; height: 100px; pointer-events: none; }
.hall-bottom-art { position: absolute; left: -130px; bottom: -65px; width: 1156px; height: 180px; background: url("../public/original-evidence/hall/ui/xsl_2.png") center / 100% 100% no-repeat; }
.hall-bottom-strip > img, .hall-bottom-strip > button { position: absolute; display: block; object-fit: fill; }
.hall-bottom-strip > button { padding: 0; border: 0; background-color: transparent; background-position: center; background-size: 100% 100%; background-repeat: no-repeat; pointer-events: auto; }
.hall-bottom-service { left: 1.223602294921875px; top: -31px; width: 130px; height: 130px; }
.hall-bottom-safebox { left: 146.224px; top: 12.5px; width: 300px; height: 85px; }
/* RECREATION_ADAPTER: original atlas region on the CSB effect node; the Spine
   bone timeline is not decoded, so this is a static pose, not native motion. */
.hall-bottom-safebox__effect { position: absolute; left: -1.99px; top: 12.5px; width: 314px; height: 61px; background: url("../public/original-evidence/hall/ui/hall_money_atlas.png") -2px -226px / 356px 289px no-repeat; }
.hall-bottom-safebox__label { position: absolute; left: -23.5px; top: -12.65px; width: 95px; height: 95px; background: url("../public/original-evidence/hall/ui/bxx.png") center / 100% 100% no-repeat; }
.hall-bottom-safebox__coin { position: absolute; left: 52.734px; top: 17.265px; width: 48px; height: 48.8px; background: url("../public/original-evidence/hall/ui/coin.png") center / 100% 100% no-repeat; }
.hall-bottom-exchange { left: 461.224px; top: .19px; width: 95px; height: 95px; }
button.hall-bottom-exchange { background-image: url("../public/original-evidence/hall/ui/btn_exchange.png"); }
.hall-bottom-binding { left: 571.224px; top: .19px; width: 95px; height: 95px; }
.hall-bottom-binding[data-hall-popup-open] { background-image: url("../public/original-evidence/hall/ui/btn_binding.png"); }
.hall-bottom-vip { left: 681.224px; top: .193px; width: 95px; height: 95px; }
.hall-bottom-activity { left: 791.224px; top: .193px; width: 95px; height: 95px; }
.hall-bottom-strip.is-account-bound .hall-bottom-vip { left: 571.224px; }
.hall-bottom-strip.is-account-bound .hall-bottom-activity { left: 681.224px; }
.hall-bottom-recharge { left: 1093px; top: -31.164000034332275px; width: 177px; height: 180px; background-image: url("../public/original-evidence/hall/ui/btn_recharge.png"); }
.hall-bottom-service { background-image: url("../public/original-evidence/hall/ui/btn_service.png"); }
.hall-bottom-vip { background-image: url("../public/original-evidence/hall/ui/btn_vipqy.png"); }
.hall-bottom-activity { background-image: url("../public/original-evidence/hall/ui/hdzx.png"); }
.hall-notice { position: absolute; z-index: 7; right: 24px; bottom: 108px; max-width: 430px; padding: 12px; background: rgba(38, 8, 12, .94); color: #fff2d0; }

/* Original PopLayer center, shadow and 0 -> 1.1 -> 1 spring; popup children
   use the decoded SelfInfoLayer / SetUpLayer design-unit positions. */
.hall-overlay-root { position: absolute; z-index: 8; inset: 0; pointer-events: none; }
.hall-overlay-root > .hall-popup-scrim { pointer-events: auto; }
.hall-popup-scrim { position: absolute; z-index: 9; inset: 0; }
/* PopLayer.CreateShadow uses visibleSize and scale(200). Clip its visible
   coverage to the viewport; keep the popup's 1280x720 owner unchanged. */
.hall-popup-scrim::before {
  content: ""; position: absolute; z-index: -1;
  left: var(--hall-content-background-left, 0px);
  top: var(--hall-content-background-top, 0px);
  width: var(--hall-content-background-width, 1280px);
  height: var(--hall-content-background-height, 720px);
  background: rgba(0, 0, 0, .6);
  animation: hall-popup-shadow .3s linear both;
}
/* Hall-hosted source messages share the transformed Hall ancestor. Preserve
   the message's original alpha and content owner while fitting its mask. */
.hall-overlay-root .original-auth__success-shade::before {
  position: absolute; inset: auto;
  left: var(--hall-content-background-left, 0px);
  top: var(--hall-content-background-top, 0px);
  width: var(--hall-content-background-width, 1280px);
  height: var(--hall-content-background-height, 720px);
}
@keyframes hall-popup-shadow { from { background: rgba(0, 0, 0, 0); } to { background: rgba(0, 0, 0, .6); } }
.hall-profile-popup, .hall-settings-popup, .hall-account-binding-popup, .hall-nickname-popup { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transform-origin: center; animation: hall-popup-spring .2s both; }
@keyframes hall-popup-spring { 0% { scale: 0; } 75% { scale: 1.1; } 100% { scale: 1; } }
.hall-popup-scrim.is-closing { pointer-events: none; }
.hall-popup-scrim.is-closing::before { animation: hall-popup-shadow-close .15s linear both; }
.hall-popup-scrim.is-closing .hall-profile-popup,
.hall-popup-scrim.is-closing .hall-settings-popup,
.hall-popup-scrim.is-closing .hall-account-binding-popup,
.hall-popup-scrim.is-closing .hall-nickname-popup,
.hall-popup-scrim.is-closing .hall-source-popup { animation: hall-popup-close .15s linear both; }
@keyframes hall-popup-close { from { scale: 1; } to { scale: 0; } }
@keyframes hall-popup-shadow-close { from { background: rgba(0, 0, 0, .6); } to { background: rgba(0, 0, 0, 0); } }
.hall-profile-popup { width: 1068px; height: 658px; }
.hall-profile-popup__frame { position: absolute; inset: 0; background: url("../public/original-evidence/hall/profile/frame.png") center / 100% 100% no-repeat; }
.hall-profile-popup__title { position: absolute; left: 136px; top: -23px; width: 796px; height: 120px; }
.hall-profile-popup__avatar { position: absolute; left: 149.536px; top: 149.19px; width: 195px; height: 193px; }
.hall-profile-popup__change { position: absolute; left: 166.12px; top: 375.307px; width: 164px; height: 62px; }
.hall-profile-popup__change-text { position: absolute; left: 166.12px; top: 375.307px; width: 164px; height: 62px; display: grid; place-items: center; color: #fff; font-size: 20px; text-align: center; pointer-events: none; }
.hall-profile-popup [data-profile-button-width] { position: absolute; left: 50%; top: 50%; translate: -50% -50%; display: inline-block; width: max-content; max-width: none; white-space: nowrap; transform-origin: center; }
.hall-profile-popup__coin-icon { position: absolute; z-index: 1; left: 410.801px; top: 139.669px; width: 60px; height: 61px; }
.hall-profile-popup__wash-icon { position: absolute; z-index: 1; left: 405.488px; top: 205.171px; width: 69px; height: 41px; }
.hall-profile-popup__row { position: absolute; display: flex; align-items: center; justify-content: flex-end; width: 390px; height: 45.46px; padding: 0 14px; background: url("../public/original-evidence/hall/profile/input_bg.png") center / 100% 100% no-repeat; color: #fff; font-size: 25px; overflow: hidden; }
.hall-profile-popup__row--coin { left: 439.623px; top: 148.507px; }
.hall-profile-popup__row--wash { left: 438.811px; top: 204.121px; }
.hall-profile-popup__row--name { left: 437.993px; top: 257.281px; }
.hall-profile-popup__row--id { left: 438.175px; top: 309.788px; }
.hall-profile-popup__row--account { left: 439.175px; top: 363.462px; }
.hall-profile-popup__row--name,
.hall-profile-popup__row--id,
.hall-profile-popup__row--account { font-size: 30px; }
.hall-profile-popup__label { position: absolute; left: 7.64px; font-size: 24px; }
.hall-profile-popup__edit { position: absolute; left: 842.641px; top: 252.146px; width: 55px; height: 55px; }
.hall-profile-popup__edit-button { padding: 0; border: 0; background: url("../public/original-evidence/hall/profile/edit.png") center / 100% 100% no-repeat; }
.hall-profile-popup__copy { position: absolute; width: 82px; height: 44px; }
.hall-profile-popup__copy-button { padding: 0; border: 0; background: url("../public/original-evidence/hall/profile/copy.png") center / 100% 100% no-repeat; }
.hall-profile-popup__copy--id { left: 829.394px; top: 309.513px; }
.hall-profile-popup__copy--account { left: 830.321px; top: 363.597px; }
.hall-profile-popup__copy-text { position: absolute; width: 82px; height: 44px; display: grid; place-items: center; color: #fff; font-size: 18px; pointer-events: none; }
.hall-profile-popup__copy-text--id { left: 829.394px; top: 309.513px; }
.hall-profile-popup__copy-text--account { left: 830.321px; top: 363.597px; }
.hall-profile-popup__vip-badge { position: absolute; left: 390.148px; top: 466.91px; width: 146px; height: 142px; }
.hall-profile-popup__vip-title { position: absolute; left: 558.387px; top: 497.149px; width: 360px; height: 81.9px; }
.hall-profile-popup__binding { position: absolute; left: 140.976px; top: 504.077px; width: 218px; height: 78px; display: grid; place-items: center; padding: 0; border: 0; background: url("../public/original-evidence/hall/profile/secondary.png") center / 100% 100% no-repeat; color: #fff; font-size: 25px; }
.hall-profile-popup__vip-action { position: absolute; left: 638.387px; top: 613.981px; width: 218px; height: 78px; display: grid; place-items: center; padding: 0; border: 0; background: url("../public/original-evidence/hall/profile/secondary.png") center / 100% 100% no-repeat; color: #fff; font-size: 25px; }
.hall-profile-popup__logout { position: absolute; left: 225px; top: 615px; width: 218px; height: 78px; border: 0; background: url("../public/original-evidence/hall/profile/logout.png") center / 100% 100% no-repeat; color: #fff; font-size: 25px; font-weight: 700; }
/* SelfInfoLayer.ShowRegisterBtn keeps CSB positions for the original FFF skin
   (hall/res/fff_res.txt). Binding hides Register; it does not move Logout. */
.hall-profile-popup__close { position: absolute; left: 946.481px; top: 38.378px; width: 91px; height: 98px; border: 0; background: url("../public/original-evidence/hall/profile/close.png") center / 100% 100% no-repeat; }
.hall-settings-popup { width: 835px; height: 596px; }
.hall-settings-popup__frame { position: absolute; left: 13.108px; top: 54.12px; width: 835px; height: 596px; background: url("../public/original-evidence/hall/settings/frame.png") center / 100% 100% no-repeat; }
.hall-settings-popup__title { position: absolute; left: 275px; top: 71.861px; width: 285px; height: 75px; }
.hall-settings-popup__option { position: absolute; width: 53px; height: 59px; }
.hall-settings-popup__option--music { left: 182.755px; top: 231.834px; }
.hall-settings-popup__option--sound { left: 183.57px; top: 296.749px; }
.hall-settings-popup__option--effect { left: 183.57px; top: 364.151px; }
.hall-settings-popup__option--notice { left: 183.572px; top: 427.327px; }
.hall-settings-popup__label { position: absolute; left: 242.587px; width: 240px; height: 56px; display: grid; place-items: center; color: #fff4c8; font-size: 26px; pointer-events: none; }
.hall-settings-popup__label--music { top: 234px; }
.hall-settings-popup__label--sound { top: 296px; }
.hall-settings-popup__label--effect { top: 364.593px; }
.hall-settings-popup__label--notice { top: 427.493px; }
.hall-settings-popup__switch { position: absolute; width: 209px; height: 59px; padding: 0; border: 0; appearance: none; cursor: pointer; background-color: transparent; background-position: center; background-size: 100% 100%; background-repeat: no-repeat; }
.hall-settings-popup__switch.is-on { background-image: url("../public/original-evidence/hall/settings/on.png"); }
.hall-settings-popup__switch.is-off { background-image: url("../public/original-evidence/hall/settings/off.png"); }
.hall-settings-popup__switch > span { position: absolute; top: -4px; width: 68px; height: 67px; background: url("../public/original-evidence/hall/safe/hk.png") center / 100% 100% no-repeat; }
.hall-settings-popup__switch--music { left: 482.288px; top: 227.805px; }
.hall-settings-popup__switch--music.is-on > span { left: 144.848px; }
.hall-settings-popup__switch--music.is-off > span { left: -0.152px; }
.hall-settings-popup__switch--sound { left: 483.572px; top: 290.749px; }
.hall-settings-popup__switch--sound.is-on > span { left: 143.564px; }
.hall-settings-popup__switch--sound.is-off > span { left: -1.436px; }
.hall-settings-popup__switch--effect { left: 485.908px; top: 358.151px; }
.hall-settings-popup__switch--effect.is-on > span { left: 141.228px; }
.hall-settings-popup__switch--effect.is-off > span { left: -3.772px; }
.hall-settings-popup__switch--notice { left: 483.27px; top: 426.694px; }
.hall-settings-popup__switch--notice.is-on > span { left: 143.866px; }
.hall-settings-popup__switch--notice.is-off > span { left: -1.134px; }
.hall-settings-popup__close { position: absolute; left: 759.919px; top: 78.679px; width: 68px; height: 73px; border: 0; background: url("../public/original-evidence/hall/settings/close.png") center / 100% 100% no-repeat; }
.hall-account-binding-popup { width: 1068px; height: 658px; }
.hall-account-binding-popup__frame { position: absolute; inset: 0; background: url("../public/original-evidence/hall/account-binding/frame.png") center / 100% 100% no-repeat; }
.hall-account-binding-popup__title { position: absolute; left: 156.108px; top: -11.924px; width: 756px; height: 120px; }
.hall-account-binding-popup__close, .hall-nickname-popup__close { position: absolute; z-index: 2; width: 91px; height: 98px; padding: 0; border: 0; background: url("../public/original-evidence/hall/account-binding/close.png") center / 100% 100% no-repeat; }
.hall-account-binding-popup__close { left: 944.272px; top: 52.096px; }
.hall-account-binding-popup__label { position: absolute; left: 163.54px; width: 270px; height: 64px; display: grid; place-items: center; color: #fff; font-size: 30px; text-align: center; }
.hall-account-binding-popup__label--account { top: 203.38px; }
.hall-account-binding-popup__label--password { top: 298.37px; }
.hall-account-binding-popup__label--confirm { top: 393.62px; }
.hall-account-binding-popup__input { position: absolute; box-sizing: border-box; width: 360px; height: 45px; padding: 0 22px; border: 0; outline: 0; background: url("../public/original-evidence/hall/account-binding/input.png") center / 100% 100% no-repeat; color: #fff; font: 26px Arial, sans-serif; }
.hall-account-binding-popup__input::placeholder { color: #dcdcdc; opacity: 1; }
.hall-account-binding-popup__input--account { left: 463.63px; top: 213.39px; }
.hall-account-binding-popup__input--password { left: 463.71px; top: 307.87px; }
.hall-account-binding-popup__input--confirm { left: 463.71px; top: 403.12px; }
.hall-account-binding-popup__confirm, .hall-nickname-popup__confirm { position: absolute; width: 218px; height: 78px; padding: 0; border: 0; background: url("../public/original-evidence/hall/account-binding/confirm.png") center / 100% 100% no-repeat; color: #fff; font-size: 30px; }
.hall-account-binding-popup__confirm { left: 416.18px; top: 524.107px; }
.hall-account-binding-popup [disabled], .hall-nickname-popup [disabled] { pointer-events: none; }
.hall-nickname-popup { width: 934px; height: 559px; }
.hall-nickname-popup__frame { position: absolute; left: 0; top: -2.027px; width: 934px; height: 559px; background: url("../public/original-evidence/hall/nickname/frame.png") center / 100% 100% no-repeat; }
.hall-nickname-popup__title { position: absolute; left: 191.5px; top: -8.028px; width: 551px; height: 100px; }
.hall-nickname-popup__close { left: 817.898px; top: 44.905px; }
.hall-nickname-popup__label { position: absolute; left: 372px; top: 148.19px; width: 190px; height: 38px; text-align: center; color: #fff; font-size: 38px; }
.hall-nickname-popup__input { position: absolute; box-sizing: border-box; left: 267px; top: 220.9px; width: 400px; height: 40px; border: 0; text-align: center; color: #fff; background: transparent; font-size: 26px; }
.hall-nickname-popup__tip { position: absolute; left: 186.5px; top: 325px; width: 561px; height: 49px; margin: 0; text-align: center; color: #fff; font-size: 28px; }
.hall-nickname-popup__confirm { left: 358px; top: 428.95px; }
.hall-nickname-popup [data-profile-button-width] { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: max-content; white-space: nowrap; transform-origin: center; }
.hall-toast-host { position: fixed; z-index: 2147483646; left: 50%; top: 50%; width: 0; height: 0; pointer-events: none; }
.hall-toast-layer { animation: hall-popup-spring .2s linear both; }
.hall-toast-item { position: absolute; left: 0; top: 0; }
.hall-toast-measure { position: fixed; visibility: hidden; width: max-content; white-space: pre; font: 40px Arial, sans-serif; pointer-events: none; }
.hall-account-toast { position: absolute; left: 0; top: 0; translate: -50% -50%; display: grid; place-items: center; box-sizing: border-box; background: url("../public/original-evidence/hall/account-binding/toast.png") center / 100% 100% no-repeat; color: #fff; text-align: center; font: 36px/40px Arial, sans-serif; overflow-wrap: anywhere; animation: hall-account-toast 2.1s linear both; pointer-events: none; }
/* Toast.csb v2.1: Text hAlignment=1 (center), vAlignment=0 (top). */
.hall-account-toast__text { width: 100%; display: grid; align-content: start; justify-items: center; text-align: center; white-space: pre-wrap; }
@keyframes hall-account-toast { 0% { scale: 1; opacity: 1; } 4.7619047619% { scale: 1.1; opacity: 1; } 52.380952381% { scale: 1.1; opacity: 1; } 100% { scale: 1.1; opacity: 0; } }
.hall-nickname-message { position: absolute; z-index: 10; inset: 0; background: rgba(0, 0, 0, .6); pointer-events: auto; animation: hall-popup-shadow .3s linear both; }
.hall-nickname-message.is-closing { animation: hall-popup-shadow-close .15s linear both; }
.hall-nickname-message.is-closing .hall-nickname-message__box { animation: hall-popup-close .15s linear both; }
.hall-nickname-message__box { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 856px; height: 555px; animation: hall-popup-spring .2s both; }
.hall-nickname-message__frame { position: absolute; inset: 0; background: url("../public/original-evidence/hall/nickname/message-frame.png") center / 100% 100% no-repeat; }
.hall-nickname-message__title { position: absolute; left: 179px; top: 10.2px; width: 498px; height: 102px; }
.hall-nickname-message__text { position: absolute; left: 118px; top: 149.5px; width: 620px; height: 240px; margin: 0; display: grid; place-items: center; color: #fff; font-size: 30px; text-align: center; }
.hall-nickname-message__ok { position: absolute; left: 319px; top: 483.5px; width: 218px; height: 78px; padding: 0; border: 0; background: url("../public/original-evidence/hall/account-binding/confirm.png") center / 100% 100% no-repeat; color: #fff; font-size: 30px; }
.hall-source-popup { position: absolute; inset: 0; animation: hall-popup-spring .2s both; }
.hall-source-popup img { position: absolute; display: block; object-fit: fill; }
.hall-source-popup button[data-hall-popup-close] { position: absolute; width: 91px; height: 98px; padding: 0; border: 0; background: url("../public/original-evidence/hall/profile/close.png") center / 100% 100% no-repeat; }

/* Component04 P1A — authoritative constructor target:
   LobbyRechargeLayer.lua -> Tools.CreateLayer("csb/LobbyRechargeLayer.csb").
   PopLayer centers its decoded 1058x690 root popup on the 1280x720 design stage.
   Native channel/amount/payment authority remains HOLD. */
.hall-recharge-popup__frame { left: 111px; top: 15px; width: 1058px; height: 690px; }
.hall-recharge-popup__title { left: 367.5px; top: 14.5px; width: 545px; height: 111px; }
.hall-recharge-popup__close {
  left: 1045.5px;
  top: 66px;
  background-image: url("../public/original-evidence/hall/recharge-root/close.png") !important;
}
.hall-recharge-popup__runtime-hold {
  position: absolute;
  left: 111px;
  top: 15px;
  width: 1058px;
  height: 690px;
  pointer-events: none;
}

/* SafeBoxLayer.csb, centered at the original 1280x720 design origin. */
.hall-safe-popup__frame { left: 106px; top: 31px; width: 1068px; height: 658px; }
.hall-safe-popup__title { left: 423px; top: 9.231px; width: 434px; height: 113px; }
.hall-safe-popup__close { left: 1037.12px; top: 84.926px; }
.hall-safe-popup__tab { position: absolute; width: 218px; height: 78px; padding: 0; border: 0; background: url("../public/original-evidence/hall/safe/btn_2.png") center / 100% 100% no-repeat; color: rgb(216, 182, 103); font-size: 24px; cursor: pointer; }
.hall-safe-popup__tab.is-selected { background-image: url("../public/original-evidence/hall/safe/btn_3.png"); color: rgb(43, 20, 7); opacity: 1; cursor: default; }
.hall-safe-popup__tab > span { position: absolute; width: 160px; height: 50px; display: grid; place-items: center; pointer-events: none; }
.hall-safe-popup__tab-icon { width: 32px; height: 32px; pointer-events: none; }
.hall-safe-popup__tab--coin-withdraw { left: 243.891px; top: 178.012px; }
.hall-safe-popup__tab--coin-withdraw > span { left: 42.667px; top: 12.773px; }
.hall-safe-popup__tab--coin-withdraw .hall-safe-popup__tab-icon { left: 12.344px; top: 21.773px; }
.hall-safe-popup__tab--coin-deposit { left: 244.991px; top: 274.389px; }
.hall-safe-popup__tab--coin-deposit > span { left: 41.565px; top: 14.774px; }
.hall-safe-popup__tab--coin-deposit .hall-safe-popup__tab-icon { left: 11.242px; top: 23.774px; }
.hall-safe-popup__tab--bind-withdraw { left: 244.057px; top: 373.438px; }
.hall-safe-popup__tab--bind-withdraw > span { left: 42.501px; top: 12.773px; }
.hall-safe-popup__tab--bind-withdraw .hall-safe-popup__tab-icon { left: 12.178px; top: 21.773px; }
.hall-safe-popup__tab--bind-deposit { left: 245.158px; top: 471.261px; }
.hall-safe-popup__tab--bind-deposit > span { left: 41.399px; top: 12.774px; }
.hall-safe-popup__tab--bind-deposit .hall-safe-popup__tab-icon { left: 11.077px; top: 21.774px; }
.hall-safe-popup__label { position: absolute; display: grid; place-items: center; color: #fff; font-size: 26px; }
.hall-safe-popup__label--current { left: 490px; top: 180px; width: 180px; height: 80px; }
.hall-safe-popup__label--stored { left: 490px; top: 273px; width: 180px; height: 80px; }
.hall-safe-popup__label--amount { left: 550px; top: 435px; width: 60px; height: 30px; font-size: 30px; white-space: nowrap; }
.hall-safe-popup__label--amount > span, .hall-safe-popup__confirm > span { display: block; white-space: nowrap; transform-origin: center; }
.hall-safe-popup__balance { position: absolute; width: 180px; height: 33.8px; display: grid; place-items: center; color: #fff; font-size: 25px; }
.hall-safe-popup__balance--current { left: 751.106px; top: 201.974px; }
.hall-safe-popup__balance--stored { left: 747.574px; top: 298.974px; }

.hall-safe-popup__amount { position: absolute; left: 665.375px; top: 423.874px; width: 340px; height: 52px; background: url("../public/original-evidence/hall/profile/input_bg.png") center / 100% 100% no-repeat; }
.hall-safe-popup__amount-input { position: absolute; left: 12.482px; top: 2.431px; width: 270px; height: 40px; padding: 0; border: 0; outline: 0; background: transparent; color: #fff; font: inherit; font-size: 30px; line-height: 40px; text-align: center; box-sizing: border-box; }
.hall-safe-popup__amount-input[readonly] { cursor: default; }

.hall-safe-popup__clear { position: absolute; left: 950.998px; top: 424.353px; width: 50px; height: 51px; padding: 0; border: 0; background: url("../public/original-evidence/hall/safe/clear.png") center / 100% 100% no-repeat; cursor: pointer; }
.hall-safe-popup__clear[aria-disabled="true"] { cursor: default; }

.hall-safe-popup__slider { --safe-slider-x: 0px; position: absolute; left: 574.89px; top: 552.824px; width: 323px; height: 51.85px; background: url("../public/original-evidence/hall/safe/hdk.png") center / 100% 100% no-repeat; }
.hall-safe-popup__slider-fill { position: absolute; left: 0; top: 0; width: var(--safe-slider-x); height: 51.85px; overflow: hidden; background: url("../public/original-evidence/hall/safe/hdt.png") left center / 323px 51.85px no-repeat; pointer-events: none; }
.hall-safe-popup__slider-thumb { position: absolute; left: calc(var(--safe-slider-x) - 28.9px); top: -2.55px; width: 57.8px; height: 56.95px; background: url("../public/original-evidence/hall/safe/hk.png") center / 100% 100% no-repeat; pointer-events: none; }
.hall-safe-popup__slider-input { position: absolute; inset: 0; z-index: 3; width: 323px; height: 51.85px; margin: 0; opacity: 0; cursor: pointer; }
.hall-safe-popup__slider-input:disabled { cursor: default; }

.hall-safe-popup__percent { position: absolute; left: calc(var(--safe-slider-x) - 31.05px); top: -33.374px; width: 62.1px; height: 32.4px; display: grid; place-items: center; background: url("../public/original-evidence/hall/safe/percent.png") center / 100% 100% no-repeat; color: #fff; font-size: 14px; font-weight: 700; opacity: 0; transition: opacity .5s linear; pointer-events: none; }
.hall-safe-popup__slider.is-touching .hall-safe-popup__percent { opacity: 1; transition-duration: .05s; }

.hall-safe-popup__max { position: absolute; left: 921.33px; top: 548.627px; width: 101px; height: 56px; display: grid; place-items: center; padding: 0; border: 0; background: url("../public/original-evidence/hall/safe/max.png") center / 100% 100% no-repeat; color: #fff; font-size: 20px; cursor: pointer; }
.hall-safe-popup__max[aria-disabled="true"] { cursor: default; }
.hall-safe-popup__dollar { left: 491.08px; top: 523.927px; width: 59px; height: 83px; }
.hall-safe-popup__confirm { position: absolute; left: 531px; top: 625.71px; width: 218px; height: 78px; display: grid; place-items: center; padding: 0; border: 0; background: url("../public/original-evidence/hall/safe/confirm.png") center / 100% 100% no-repeat; color: #fff; font-size: 20px; line-height: 1.1; cursor: default; }
.hall-popup-scrim[data-evidence="local-review-fixture"] .hall-safe-popup__clear,
.hall-popup-scrim[data-evidence="local-review-fixture"] .hall-safe-popup__max,
.hall-popup-scrim[data-evidence="local-review-fixture"] .hall-safe-popup__confirm { cursor: pointer; }
/* VipBenefitLayer.csb at the PopLayer-centered 1280x720 design origin.
   Without a verified VIP snapshot the dynamic nodes stay empty, not VIP-0. */
.hall-vip-popup__frame { left: 73.423px; top: 47.455px; width: 1145px; height: 637px; }
.hall-vip-popup__person { left: -16.079px; top: 115.957px; width: 402px; height: 552px; }
.hall-vip-popup__title { left: 346.949px; top: -12.683px; width: 800px; height: 182px; }
.hall-vip-popup__level { left: 707.11px; top: 262.496px; width: 77px; height: 46px; }
.hall-vip-popup__close { left: 1118.947px; top: 56.255px; }
/* The CSB ListView is 200x92 with clipEnabled=false. Its cloned 92px items
   intentionally continue past that viewport; native 1–6 are all visible. */
.hall-vip-popup__tier-list { position: absolute; left: 520.607px; top: 602.344px; width: 200px; height: 92px; display: flex; overflow: visible; }
.hall-vip-popup__tier { position: relative; flex: 0 0 92px; width: 92px; height: 92px; margin: 0; padding: 0; border: 0; background: url("../public/original-evidence/hall/vip/tier-unselected.png") center / 92px 92px no-repeat; cursor: pointer; }
.hall-vip-popup__tier:active:not(:disabled) { scale: .95; }
.hall-vip-popup__tier.is-selected { background-image: url("../public/original-evidence/hall/vip/tier-selected.png"); cursor: default; }
.hall-vip-popup__bitmap { position: absolute; display: flex; height: 46px; }
.hall-vip-popup__bitmap span { display: block; flex: none; height: 46px; background-image: url("../public/original-evidence/hall/vip/digits-level.png"); background-repeat: no-repeat; }
.hall-vip-popup__bitmap--tier { height: 42px; }
.hall-vip-popup__bitmap--tier span { height: 42px; background-image: url("../public/original-evidence/hall/vip/digits-tier.png"); }
.hall-vip-popup__bitmap--level [data-vip-digit="0"] { width: 32px; background-position: 0 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="1"] { width: 24px; background-position: -32px 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="2"] { width: 31px; background-position: -56px 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="3"] { width: 30px; background-position: -87px 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="4"] { width: 33px; background-position: -117px 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="5"] { width: 31px; background-position: -150px 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="6"] { width: 31px; background-position: -181px 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="7"] { width: 31px; background-position: -212px 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="8"] { width: 33px; background-position: -243px 0; }
.hall-vip-popup__bitmap--level [data-vip-digit="9"] { width: 32px; background-position: -276px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="0"] { width: 32px; background-position: 0 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="1"] { width: 23px; background-position: -32px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="2"] { width: 31px; background-position: -55px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="3"] { width: 32px; background-position: -86px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="4"] { width: 32px; background-position: -118px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="5"] { width: 32px; background-position: -150px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="6"] { width: 32px; background-position: -182px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="7"] { width: 32px; background-position: -214px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="8"] { width: 32px; background-position: -246px 0; }
.hall-vip-popup__bitmap--tier [data-vip-digit="9"] { width: 32px; background-position: -278px 0; }
.hall-vip-popup__tier-number { left: 50%; top: 50%; transform: translate(-50%, -50%); }
.hall-vip-popup__context { position: absolute; left: 445.767px; top: 311.012px; width: 640px; height: 235px; overflow: hidden; color: #fff; font-size: 26px; line-height: 1.25; text-align: left; }
.hall-vip-popup__tips { position: absolute; left: 409.309px; top: 565.019px; width: 533px; height: 26px; color: #3ae722; font-size: 26px; line-height: 26px; white-space: nowrap; transform-origin: left center; }
.hall-vip-popup__selected-number { left: 824.067px; top: 263.75px; transform: translateX(-50%); }
.hall-vip-popup__tier-zero { left: 489.471px; top: 131.259px; width: 136px; height: 125px; }
.hall-vip-popup__current-icon { left: 489.864px; top: 128.5px; width: 136px; height: 125px; }
.hall-vip-popup__next-icon { left: 993.847px; top: 127.895px; width: 136px; height: 125px; }
.hall-vip-popup__current-label { position: absolute; left: 350px; top: 186.324px; width: 120px; height: 30px; color: #fff; font-size: 30px; line-height: 30px; text-align: right; white-space: nowrap; }
.hall-vip-popup__current-number { left: 557.484px; top: 155px; transform: translateX(-50%); }
.hall-vip-popup__next-number { left: 1061.685px; top: 154.193px; transform: translateX(-50%); }
.hall-vip-popup__progress-track { left: 617.805px; top: 167.3px; width: 384px; height: 29px; }
.hall-vip-popup__progress-fill { position: absolute; left: 619.305px; top: 169.8px; width: 0; height: 24px; background: url("../public/original-evidence/hall/vip/progress-fill.png") left center / 381px 24px no-repeat; }
.hall-vip-popup__progress-text { position: absolute; left: 736.684px; top: 203.175px; width: 120px; height: 30px; color: #fff; font-size: 30px; line-height: 30px; text-align: center; white-space: nowrap; }
.hall-vip-popup__pre-vip-banner { left: 353.422px; top: 140.863px; width: 607px; height: 111px; }
.hall-vip-popup__recharge { position: absolute; left: 965.43px; top: 158.634px; width: 174.4px; height: 62.4px; padding: 0; border: 0; background: url("../public/original-evidence/hall/vip/recharge-button.png") center / 100% 100% no-repeat; color: #fff; font-size: 26px; cursor: pointer; }
.hall-vip-popup__max-icon { left: 550.939px; top: 123.771px; width: 136px; height: 125px; }
.hall-vip-popup__current-label--max { left: 411.469px; top: 181.125px; }
.hall-vip-popup__max-label { position: absolute; left: 716.054px; top: 176.122px; width: 375px; height: 30px; color: #fff; font-size: 30px; line-height: 30px; white-space: nowrap; }
/* ActivityCenterLayer.csb: title/tb nodes are serialized invisible. */
.hall-activity-popup__frame { left: 0; top: 0; width: 1280px; height: 720px; transform: scale(var(--activity-frame-scale-x, 1), var(--activity-frame-scale-y, 1)); transform-origin: center; }
.hall-activity-popup__close { left: var(--activity-close-left, 1083.886px); top: var(--activity-close-top, 19.529px); }
/* ActivityCenterLayer.csb / ActivityCenterLayer.lua: the 220x440 button
   ListView is clipped, its 200x78 cells have a three-unit item margin, and
   content cells remain 830x720. No runtime tabs are inferred here. */
.hall-activity-popup__btns { position: absolute; left: var(--activity-buttons-left, 57.233px); top: var(--activity-buttons-top, 183.336px); width: 220px; height: 440px; overflow: auto; scrollbar-width: none; }
.hall-activity-popup__btns::-webkit-scrollbar { display: none; }
.hall-activity-popup__tab { position: relative; display: block; box-sizing: border-box; width: 213px; height: 78px; margin: 0 0 3px; padding: 0; border: 0; background: url("../public/original-evidence/hall/activity/tab-normal.png") center / 100% 100% no-repeat; color: #fff; cursor: pointer; }
.hall-activity-popup__tab.is-selected { background-image: url("../public/original-evidence/hall/activity/tab-selected.png"); opacity: 1; cursor: default; }
.hall-activity-popup__tab > span { position: absolute; left: 1.4185px; top: 1.285px; width: 175.751px; height: 75.606px; display: grid; place-items: center; font-size: 24px; font-weight: 400; line-height: 1.05; text-align: center; }
.hall-activity-popup__tab > img { position: absolute; left: .255px; top: 1.603px; width: 33px; height: 36px; pointer-events: none; }
.hall-activity-popup__content { position: absolute; left: 280px; top: 0; width: 830px; height: 720px; overflow: visible; }
.hall-activity-popup__track { position: absolute; left: 0; top: 0; width: 830px; }
.hall-activity-popup__page { position: absolute; left: 0; width: 830px; height: 720px; }
.hall-activity-popup__page[hidden] { display: none; }
.hall-activity-popup__inner { position: absolute; left: 415px; top: 410px; transform-origin: 0 0; }
.hall-activity-popup__inner--first, .hall-activity-popup__inner--rebate { transform: scale(.7); }
.hall-activity-popup__inner--spread { transform: scale(.8); }
/* RechargeFirstLayer.csb at the source-default center offset (0,-50). */
.hall-activity-popup__first-bg { left: -577px; top: -317px; width: 1154px; height: 634px; }
.hall-activity-popup__first-title-bg { left: -785.177px; top: -480.131px; width: 1594.6px; height: 128.8px; }
.hall-activity-popup__first-title { left: -284.33px; top: -461.58px; width: 588.7px; height: 104.3px; }
.hall-activity-popup__first-gift { left: -203.06px; top: -141px; width: 642px; height: 132px; }
.hall-activity-popup__first-number { position: absolute; left: 143.581px; top: 23.614px; height: 80px; display: flex; transform: translateX(-50%); }
.hall-activity-popup__first-number i { display: block; flex: none; height: 80px; background-image: url("../public/original-evidence/hall/activity/first-number.png"); background-repeat: no-repeat; }
.hall-activity-popup__first-recharge { position: absolute; left: 25.741px; top: 146px; width: 218px; height: 78px; display: grid; place-items: center; padding: 0; border: 0; background: url("../public/original-evidence/hall/safe/confirm.png") center / 100% 100% no-repeat; color: #fff; font-size: 20px; pointer-events: none; }
.hall-popup-scrim[data-evidence="local-review-fixture"] .hall-activity-popup__first-recharge,
.hall-popup-scrim[data-evidence="local-review-fixture"] .hall-activity-popup__spread-save,
.hall-popup-scrim[data-evidence="local-review-fixture"] .hall-activity-popup__rebate-claim { pointer-events: auto; cursor: pointer; }
/* SpreadLayer.csb. The URL and QR are supplied only by a local review fixture. */
.hall-activity-popup__spread-root { position: absolute; left: -640px; top: -360px; width: 1280px; height: 720px; }
.hall-activity-popup__spread-bg { left: 0; top: -3.168px; width: 1280px; height: 720px; }
.hall-activity-popup__spread-title { left: 307.5px; top: 19.832px; width: 671px; height: 114px; }
.hall-activity-popup__spread-qr-frame { left: 549.5px; top: 319.5px; width: 181px; height: 181px; }
.hall-activity-popup__spread-qr { position: absolute; left: 551.5px; top: 321.5px; width: 177px; height: 177px; }
.hall-activity-popup__spread-qr--placeholder { left: 560px; top: 330px; width: 160px; height: 160px; }
.hall-activity-popup__spread-note { left: 284px; top: 517.5px; width: 712px; height: 85px; }
.hall-activity-popup__spread-save { left: 861px; top: 611px; width: 218px; height: 78px; }
.hall-activity-popup__spread-website { position: absolute; left: 525.38px; top: 607.5px; width: 216px; height: 35px; color: #fff; font-size: 35px; white-space: nowrap; text-align: center; }
.hall-activity-popup__spread-account { position: absolute; left: 640px; top: 300px; transform: translate(-50%, -50%); color: #000; font-size: 32px; white-space: nowrap; }
/* RebateLayer.csb. The review-only claimable state uses original Spine art. */
.hall-activity-popup__rebate-bg { left: -513.5px; top: -294.647px; width: 1027px; height: 576px; }
.hall-activity-popup__rebate-title-bg { left: -797.3px; top: -478.03px; width: 1594.6px; height: 128.8px; }
.hall-activity-popup__rebate-title { left: -315px; top: -447.93px; width: 630px; height: 77px; }
.hall-activity-popup__rebate-award-bg { left: -379.64px; top: -195.775px; width: 395px; height: 394px; }
.hall-activity-popup__rebate-empty-chest { left: -357.49px; top: -136.219px; width: 330px; height: 265px; }
.hall-activity-popup__rebate-effect { position: absolute; left: -832.49px; top: -363.719px; width: 1280px; height: 720px; pointer-events: none; }
.hall-activity-popup__rebate-effect--additive { mix-blend-mode: plus-lighter; }
.hall-activity-popup__rebate-claim { position: absolute; left: -357.49px; top: -136.219px; width: 330px; height: 265px; padding: 0; border: 0; background: transparent; pointer-events: none; }
.hall-activity-popup__rebate-time-label, .hall-activity-popup__rebate-time,
.hall-activity-popup__rebate-vip-label, .hall-activity-popup__rebate-vip,
.hall-activity-popup__rebate-note, .hall-activity-popup__rebate-expiry { position: absolute; color: #ffa500; }
.hall-activity-popup__rebate-time-label { left: -427.708px; top: -184.7005px; width: 180px; height: 58.481px; display: grid; place-items: center; font-size: 28px; text-align: center; }
.hall-activity-popup__rebate-time { left: -244.078px; top: -169.46px; width: 266px; height: 28px; font-size: 28px; white-space: nowrap; }
.hall-activity-popup__rebate-vip-label { left: 29.124px; top: -190.049px; width: 200px; height: 69.552px; display: grid; place-items: center; font-size: 28px; text-align: center; }
.hall-activity-popup__rebate-vip { left: 241.962px; top: -189.023px; width: 200px; height: 68.928px; display: grid; align-items: center; font-size: 32px; text-align: center; }
.hall-activity-popup__rebate-note { left: -9.163px; top: -118.88px; width: 400px; height: 200px; display: grid; place-items: center; font-size: 26px; text-align: center; }
.hall-activity-popup__rebate-expiry { left: -384px; top: 217.601px; width: 768.046px; height: 80px; display: grid; place-items: center; color: #f00; font-size: 24px; text-align: center; }
.hall-activity-popup__rebate-go { position: absolute; left: 89.914px; top: 93.01px; width: 218px; height: 78px; display: grid; place-items: center; border: 0; background: url("../public/original-evidence/hall/safe/confirm.png") center / 100% 100% no-repeat; color: #fff; font-size: 20px; cursor: pointer; }
/* ServiceMailLayer.csb, Panel_bg 1250x680 centered in 1280x720. */
.hall-service-popup__frame { left: -2.5px; top: -.5px; width: 1285px; height: 721px; }
/* Component08 P1: ServiceMailLayer.csb native parent-relative geometry.
   Panel_bg is centered inside the already accepted 1280x720 Hall shell. */
.service-mail__canvas { position: absolute; left: 15px; top: 20px; width: 1250px; height: 680px; }
/* Deterministic parent-relative projection of audit-f2/service_mail_decoded.json.
   Native x/y, anchor and parent height determine these external CSS coordinates. */
.service-mail__node[data-source-node="Node/Panel_bg/frame"] { left: -17.5px; top: -20.5px; width: 1285px; height: 721px; background-image: url("../public/original-evidence/hall/service/common/lxkfbj.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/_lang_lxkf_title"] { left: 47.93579864501953px; top: -3.81072998046875px; width: 1000px; height: 100px; }
.service-mail__node[data-source-node="Node/Panel_bg/Image_left_bg"] { left: 21px; top: 94.5px; width: 156px; height: 473px; background-image: url("../public/original-evidence/hall/service/serviceMail/xxl.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Image_left"] { left: 20px; top: 96.7003173828125px; width: 156px; height: 470px; }
.service-mail__node[data-source-node="Node/Panel_bg/Image_left/_lang_Button_question"] { left: 0px; top: 0px; width: 156px; height: 69px; background-image: url("../public/original-evidence/hall/service/common/btn_10.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Image_left/_lang_Button_service"] { left: 0px; top: 69px; width: 156px; height: 66px; background-image: url("../public/original-evidence/hall/service/common/btn_10.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Image_left/_lang_Button_suggest"] { left: 0px; top: 135px; width: 156px; height: 66px; background-image: url("../public/original-evidence/hall/service/common/btn_10.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Image_left/_lang_Button_Mail"] { left: 0px; top: 201px; width: 156px; height: 66px; background-image: url("../public/original-evidence/hall/service/common/btn_10.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Image_left/_lang_Button_Mail/icon_tip"] { left: 123.82339957356453px; top: 0.5740001201629639px; width: 33px; height: 36px; background-image: url("../public/original-evidence/hall/service/lobby/icon_tip.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question"] { left: 179.36000061035156px; top: 98.4810791015625px; width: 1052.5799560546875px; height: 586.4202270507812px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/Text_1"] { left: 7.085899829864502px; top: 2.183349609375px; width: 880.4299926757812px; height: 64px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/getlen"] { left: 17.06599998474121px; top: 21.934814453125px; width: 12px; height: 24px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/Button_6"] { left: 900.8596801757812px; top: 1.82659912109375px; width: 140px; height: 64px; background-image: url("../public/original-evidence/hall/service/common/btn_9.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/Button_6/_lang_zxkf"] { left: 11.129501342773438px; top: 6.257701873779297px; width: 120px; height: 50px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/ListView_question"] { left: 8.657299995422363px; top: 70.0406265258789px; width: 1020px; height: 390px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/ListView_question/ask_bg"] { left: 5px; top: 0px; width: 1010px; height: 66px; background-image: url("../public/original-evidence/hall/service/common/xsk_2.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/ListView_question/ask_bg/Text_ask"] { left: 6px; top: 1.8465003967285156px; width: 920px; height: 64px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/ListView_question/ask_bg/Button_look"] { left: 957px; top: 7.8114013671875px; width: 46px; height: 48px; background-image: url("../public/original-evidence/hall/service/common/jt_2.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/ListView_question/answer_bg"] { left: 5px; top: 70px; width: 1010px; height: 66px; background-image: url("../public/original-evidence/hall/service/common/input_bg.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/ListView_question/answer_bg/pic_btn"] { left: 15px; top: -3.458599090576172px; width: 200px; height: 90px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/ListView_question/answer_bg/pic_list"] { left: 10px; top: 6px; width: 990px; height: 100px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_question/ListView_question/answer_bg/Text_answer"] { left: 6.861199855804443px; top: 2.3630000054836273px; width: 990px; height: 64px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail"] { left: 179.36000061035156px; top: 76.07001686096191px; width: 1052.5799560546875px; height: 586.4199829101562px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail"] { left: 0px; top: 28.41998291015625px; width: 1045px; height: 455px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item"] { left: 2.5px; top: 0px; width: 1040px; height: 145px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/item_bg"] { left: 0px; top: 1px; width: 1040px; height: 160px; background-image: url("../public/original-evidence/hall/service/serviceMail/yjt.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/Text_content"] { left: 154.33509826660156px; top: -0.5457992553710938px; width: 190px; height: 60px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/Image_new"] { left: 40.58580017089844px; top: 44.05039978027344px; width: 99px; height: 80px; background-image: url("../public/original-evidence/hall/service/serviceMail/yj_1.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/Image_new/_lang_Image_new1"] { left: 806.4000854492188px; top: 22.887100219726562px; width: 110px; height: 52px; background-image: url("../public/original-evidence/hall/service/serviceMail/unread.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/Image_readed"] { left: 41.48930358886719px; top: 28.913101196289062px; width: 100px; height: 102px; background-image: url("../public/original-evidence/hall/service/serviceMail/yj_2.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/Image_readed/_lang_Image_readed2"] { left: 805.132080078125px; top: 39px; width: 110px; height: 52px; background-image: url("../public/original-evidence/hall/service/serviceMail/icon_read.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/Text_type"] { left: 492.80072021484375px; top: 61.425201416015625px; width: 121px; height: 22px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/Text_time"] { left: 851.7388916015625px; top: 13.349800109863281px; width: 120px; height: 30px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/ListView_mail/Item/item_btn"] { left: 9.33477783203125px; top: 1.454498291015625px; width: 1030px; height: 140px; background-image: url("../public/original-evidence/hall/service/serviceMail/yjt.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_mail/btn_close"] { left: 399.6966857910156px; top: 493.5260810852051px; width: 218px; height: 78px; background-image: url("../public/original-evidence/hall/service/common/btn_1.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest"] { left: 180.33560180664062px; top: 100.864013671875px; width: 1052.5799560546875px; height: 586.4199829101562px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/_lang_Text_suggest"] { left: 6.321599960327148px; top: -2.0105228424072266px; width: 730.578125px; height: 59.45000076293945px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/Button_6"] { left: 884.2202758789062px; top: -2.8287353515625px; width: 110px; height: 56px; background-image: url("../public/original-evidence/hall/service/common/btn_9.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/Button_6/_lang_zxkf"] { left: 0px; top: 5px; width: 110px; height: 48px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/Image_sug"] { left: 12.630999565124512px; top: 56.41998291015625px; width: 1025px; height: 170px; background-image: url("../public/original-evidence/hall/service/serviceMail/srk.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/Image_sug/Text_2"] { left: 10.25px; top: 8.5px; width: 1004.5px; height: 154.6999969482422px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/_lang_Text_upload_sug"] { left: 5.1488037109375px; top: 267.03119468688965px; width: 135px; height: 51.8828010559082px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/_lang_Button_upload"] { left: 136.28089904785156px; top: 263.1507873535156px; width: 135px; height: 61px; background-image: url("../public/original-evidence/hall/service/serviceMail/sctpan.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/_lang_Text_name_sug"] { left: 5.646697998046875px; top: 328.6173858642578px; width: 135px; height: 52.87860107421875px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/Input_name"] { left: 140.6002960205078px; top: 329.53358459472656px; width: 360px; height: 54px; background-image: url("../public/original-evidence/hall/service/serviceMail/srk.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/Input_name/Text_3"] { left: 5.7164998054504395px; top: 0.6009483337402344px; width: 283.6260070800781px; height: 47.82630157470703px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/_lang_Text_phone_sug"] { left: 5.646697998046875px; top: 388.0425796508789px; width: 135px; height: 48.89540100097656px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/input_phone"] { left: 140.17160034179688px; top: 387.3758850097656px; width: 360px; height: 54px; background-image: url("../public/original-evidence/hall/service/serviceMail/srk.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/input_phone/Text_3"] { left: 5.110599994659424px; top: 0.7371482849121094px; width: 284.0465087890625px; height: 47.82630157470703px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/_lang_Text_tips_sug"] { left: 507.940185546875px; top: 391.68513679504395px; width: 460.4436950683594px; height: 54.631099700927734px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/_lang_commit"] { left: 322.07220458984375px; top: 467.323486328125px; width: 218px; height: 78px; background-image: url("../public/original-evidence/hall/service/common/btn_1.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/ListView_image"] { left: 517.6132202148438px; top: 254.8324737548828px; width: 515px; height: 134.16490173339844px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/ListView_image/Panel_item"] { left: 0px; top: 2.082401752471924px; width: 200px; height: 130px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/ListView_image/Panel_item/Image_remove"] { left: 147.45050048828125px; top: -12.902999877929688px; width: 66px; height: 66px; transform: scale(0.5, 0.5); transform-origin: 50% 50%; background-image: url("../public/original-evidence/hall/service/common/btn_close.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service"] { left: 183.35150146484375px; top: 99.57841730117798px; width: 1052.5799560546875px; height: 586.4199829101562px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service"] { left: 0px; top: 1.41998291015625px; width: 1040px; height: 460px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_time"] { left: 0px; top: 0px; width: 1040px; height: 34px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_time/left"] { left: 26px; top: 9.765700340270996px; width: 168px; height: 24px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_time/right"] { left: 836px; top: 9.3233003616333px; width: 168px; height: 24px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_left"] { left: 0px; top: 34px; width: 1040px; height: 180.82000732421875px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_left/Image_4"] { left: 11.808399200439453px; top: 6.51031494140625px; width: 52px; height: 62px; background-image: url("../public/original-evidence/hall/service/serviceMail/kftx.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_left/bg"] { left: 66.85160064697266px; top: 5.8953094482421875px; width: 427.9700012207031px; height: 149.64999389648438px; background-image: url("../public/original-evidence/hall/service/common/input_bg.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_left/content"] { left: 73.87159729003906px; top: 12.226104736328125px; width: 410.44171142578125px; height: 132.24009704589844px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_left/content/Text_1"] { left: 0.6678000092506409px; top: -0.54010009765625px; width: 407.36590576171875px; height: 128.7406005859375px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_left/content/Image_5"] { left: 0.6686999797821045px; top: -0.54071044921875px; width: 407.15008544921875px; height: 132.34210205078125px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_right"] { left: 0px; top: 214.8199920654297px; width: 1040px; height: 180.82000732421875px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_right/Image_4"] { left: 950.6563110351562px; top: 15.527107238769531px; width: 77px; height: 77px; background-image: url("../public/original-evidence/hall/service/serviceMail/head_service.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_right/bg"] { left: 500.1561279296875px; top: 6.4134063720703125px; width: 439px; height: 161px; background-image: url("../public/original-evidence/hall/service/common/input_bg.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_right/content"] { left: 509.4242248535156px; top: 11.064010620117188px; width: 422.1611022949219px; height: 149.50779724121094px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_right/content/Text_1"] { left: 6.425018310546875px; top: 0.5762939453125px; width: 415.54449462890625px; height: 143.8437042236328px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/ListView_service/Panel_right/content/Image_5"] { left: 1.34588623046875px; top: 0.5778045654296875px; width: 420.6241149902344px; height: 143.1132049560547px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/Image_30"] { left: -12.082000732421875px; top: 480.7009811401367px; width: 700px; height: 80px; background-image: url("../public/original-evidence/hall/service/serviceMail/srk.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/Image_30/Text_10"] { left: -0.10589999705553055px; top: 1.2308998107910156px; width: 700px; height: 72px; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/_lang_Button_picture"] { left: 698.6788940429688px; top: 481.48548126220703px; width: 160px; height: 72px; background-image: url("../public/original-evidence/hall/service/common/btn_9.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_service/_lang_Button_send"] { left: 866.3444213867188px; top: 484.5205841064453px; width: 160px; height: 72px; background-image: url("../public/original-evidence/hall/service/serviceMail/fs.png"); }
.service-mail__node[data-source-node="Node/Panel_bg/Button_close"] { left: 1165.0682373046875px; top: 3.78009033203125px; width: 91px; height: 98px; background-image: url("../public/original-evidence/hall/service/common/btn_close.png"); }
.service-mail__node { position: absolute; box-sizing: border-box; background-position: center; background-repeat: no-repeat; background-size: 100% 100%; }
.service-mail__node[hidden] { display: none !important; }
.service-mail__text { display: flex; align-items: center; overflow: hidden; color: #fff; white-space: pre-wrap; line-height: 1.2; }
.service-mail__text[data-service-route-label="scale-x"] {
  justify-content: center; font-size: 20px; white-space: nowrap;
  transform-origin: left center;
}
.service-mail__list { overflow: hidden; }
.service-mail__node[type="button"]:not(.hall-service-popup__tab) {
  display: grid; place-items: center; padding: 0; border: 0;
  background-color: transparent; color: #fff; cursor: pointer;
}
.service-mail__node[type="button"]:disabled { cursor: default; }
.service-mail__node[data-source-node="Node/Panel_bg/_lang_lxkf_title"] { color: #ffff00; }
.service-mail__node[data-source-node="Node/Panel_bg/Panel_suggest/_lang_Text_tips_sug"] { color: #ff3333; }
.service-mail__node.hall-service-popup__tab {
  display: flex; align-items: center; justify-content: center; padding: 0 6px; margin: 0;
  border: 0; background-color: transparent; color: #ffff00; font-size: 24px;
  background-image: url("../public/original-evidence/hall/service/common/btn_10.png");
}
.service-mail__tab-title {
  display: block; flex: 0 0 auto; width: max-content; white-space: nowrap;
  transform-origin: center center;
}
.service-mail__node.hall-service-popup__tab.is-selected {
  color: #000; background-image: url("../public/original-evidence/hall/service/serviceMail/xxan.png");
}
.service-mail__node.hall-service-popup__tab:disabled { opacity: 1; }
.service-mail__node button, .service-mail__node input, .service-mail__node textarea { font: inherit; }
.service-mail__node input, .service-mail__node textarea {
  display: block; width: 100%; height: 100%; margin: 0; padding: 2px 6px;
  border: 0; outline: 0; background: transparent; color: #fff;
}
.service-mail__node textarea { resize: none; }
.service-mail__node[data-service-execution="disabled"]:disabled,
.service-mail__node[data-suggest-upload="disabled"]:disabled { opacity: 1; cursor: default; }
.service-mail__node[data-service-execution="server-gated"]:disabled { opacity: 1; cursor: default; }
.service-mail__list[data-source-node="Node/Panel_bg/Panel_service/ListView_service"] {
  overflow-x: hidden; overflow-y: auto; scrollbar-width: none;
}
.service-mail__conversation { position: relative; width: 1040px; min-height: 100%; }
.service-mail__chat-row { width: 1040px; min-height: 86px; padding-bottom: 10px; color: #fff; }
.service-mail__chat-time { height: 34px; padding: 6px 30px; font-size: 20px; }
.service-mail__chat-row--user .service-mail__chat-time { text-align: right; }
.service-mail__chat-content { display: flex; align-items: flex-start; gap: 8px; padding: 0 11px; }
.service-mail__chat-row--user .service-mail__chat-content { flex-direction: row-reverse; }
.service-mail__chat-avatar { flex: 0 0 52px; width: 52px; height: 62px;
  background: url("../public/original-evidence/hall/service/serviceMail/kftx.png") center / 100% 100% no-repeat; }
.service-mail__chat-row--user .service-mail__chat-avatar { flex-basis: 77px; width: 77px; height: 77px;
  background-image: url("../public/original-evidence/hall/service/serviceMail/head_service.png"); }
.service-mail__chat-bubble { box-sizing: border-box; max-width: 440px; min-height: 60px;
  padding: 14px 18px; overflow-wrap: anywhere; white-space: pre-wrap; font-size: 24px;
  background: url("../public/original-evidence/hall/service/common/input_bg.png") center / 100% 100% no-repeat; }
.service-mail__chat-image-preview { display: block; padding: 0; border: 0; background: none; cursor: zoom-in; }
.service-mail__chat-image-preview:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.service-mail__chat-image-preview img { display: block; max-width: 407px; max-height: 260px; object-fit: contain; }
.service-mail__image-viewer { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center;
  background: rgba(0, 0, 0, .94); }
.service-mail__image-viewer img { display: block; max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px); object-fit: contain; }
.service-mail__image-viewer-close { position: absolute; top: 12px; right: 16px; width: 52px; height: 52px;
  padding: 0; border: 0; border-radius: 50%; background: rgba(40, 0, 0, .9); color: #fff;
  font-size: 42px; line-height: 1; cursor: pointer; }
.service-mail__image-viewer-close:focus-visible { outline: 3px solid #fff; }
.service-mail__delivery-failed { margin-top: 5px; color: #ffb5a6; font-size: 17px; }
.service-mail__node[data-service-panel] { overflow: visible; }
.service-mail__validation {
  position: absolute; z-index: 2; left: 250px; bottom: 92px;
  max-width: 760px; padding: 8px 18px; border-radius: 8px;
  background: rgba(25, 0, 0, .82); color: #fff; font-size: 22px;
}
.service-mail__validation[hidden] { display: none; }

.panel-view { display: grid; place-items: center; padding: 1.25rem; background: radial-gradient(circle at 50% 10%, #9a2631, transparent 35%), linear-gradient(145deg, #2a0308, #680c14 58%, #25030a); }
.portal-panel { width: min(42rem, 100%); padding: clamp(1.5rem, 5vw, 3.5rem); border: 1px solid #a56f30; border-radius: 1.5rem; background: var(--panel); box-shadow: var(--shadow); }
.portal-panel h1 { font-size: clamp(2.2rem, 6vw, 4rem); }
.back-link { min-height: 2.6rem; margin-bottom: 1.3rem; border: 0; background: transparent; color: #ffd96c; font-weight: 850; }
.back-link--light { margin: 0; color: #fff0b0; }
.profile-hero { display: flex; align-items: center; gap: 1rem; margin: 1.4rem 0; padding: 1rem; border-radius: 1rem; background: rgba(118, 14, 26, .55); }
.profile-hero div { display: grid; gap: 0.25rem; }
.profile-hero span:not(.avatar) { color: #cfb7b4; }
.avatar { display: grid; place-items: center; width: 4.2rem; aspect-ratio: 1; border: 3px solid #ffe592; border-radius: 50%; background: #79202b; color: #fff2bd; font-weight: 950; }
.detail-list { display: grid; gap: 0.6rem; }
.detail-list div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.85rem 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.detail-list dt { color: #bfa9a8; }
.detail-list dd { margin: 0; color: #ffe196; font-weight: 800; text-align: right; }
.panel-notice { margin-top: 1.4rem; padding: 0.85rem; border-left: 3px solid #f2b72e; background: rgba(242,183,46,.08); color: #dbc9c1; }
.balance-card { display: grid; gap: 0.4rem; margin: 1.5rem 0; padding: 1.5rem; border: 1px solid #8d6b2a; border-radius: 1rem; background: linear-gradient(135deg, #2c0c11, #5e1720); }
.balance-card span, .balance-card small { color: #cfb7ad; }
.balance-card strong { color: #ffe589; font: 900 2.6rem/1 Georgia, serif; }
.wallet-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.wallet-actions button { min-height: 3rem; border: 1px solid #5e5552; border-radius: 0.75rem; background: #30282a; color: #968c8d; }

.game-shell { background: #08030c; }
.game-shell__header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; min-height: 5rem; padding: 0.8rem clamp(1rem,4vw,3rem); border-bottom: 1px solid #563570; background: #180b21; }
.game-shell__header > div { display: grid; text-align: center; }
.game-shell__header span { color: #c9aadc; font-size: .7rem; letter-spacing: .12em; }
.game-shell__header strong { color: #ffefb0; }
.shell-safety { justify-self: end; }
.game-shell__stage { min-height: calc(100svh - 5rem); display: grid; place-content: center; justify-items: center; gap: 1rem; padding: 2rem; text-align: center; background: radial-gradient(circle at center, rgba(100,48,135,.42), transparent 42%), linear-gradient(150deg,#0b0710,#21102c); }
.game-shell__stage h1 { font-size: clamp(2.4rem,7vw,5.5rem); }
.game-shell__stage > p:not(.evidence-chip) { max-width: 35rem; margin: 0; color: #cbbbd0; }
.shell-emblem { display: grid; place-items: center; width: 8rem; aspect-ratio: 1; border: .45rem solid #a865d1; border-radius: 50%; color: #4b123d; font: 900 5rem/1 Georgia,serif; background: radial-gradient(circle at 35% 30%,#fff0bd,#f5a52f 48%,#8a2445); box-shadow: 0 0 4rem rgba(178,88,228,.42); }
.shell-emblem--olympus { color: #443269; background: radial-gradient(circle at 35% 30%,#fff,#90ccff 48%,#6948ac); }

.loading-view { display: block; padding: 0; background: #111; }
.loading-view::before { display: none; }
.original-loading__background {
  position: absolute; top: 50%; left: 50%; width: 1280px; height: 720px;
  background: url("../public/original-evidence/download/loading_bg.png") center / 100% 100% no-repeat;
  transform: translate(-50%, -50%) scale(var(--loading-background-scale, 1));
}
.loading-view--coins .original-loading__background { background-image: url("../public/original-evidence/download/loading_bg_1.png"); }
.original-loading__panel {
  position: absolute; top: 50%; left: 50%; width: 200px; height: 200px;
  transform: translate(-50%, -50%) scale(var(--loading-panel-scale, 1));
  color: white; text-align: center;
}
.original-loading__logo { position: absolute; top: -207.5px; left: -248px; width: 696px; height: 275px; background: url("../public/original-evidence/download/logo.png") center / 100% 100% no-repeat; }
.original-loading__frame { position: absolute; top: 288.765px; left: -253.845px; width: 740px; height: 128px; background: url("../public/original-evidence/download/bar_fg.png") center / 100% 100% no-repeat; }
.original-loading__bar { position: absolute; top: 318px; left: -216px; width: 658px; height: 60px; }
.original-loading__bar-clip { height: 60px; overflow: hidden; }
.original-loading__bar-fill { width: 658px; height: 60px; background: url("../public/original-evidence/download/bar.png") left top / 658px 60px no-repeat; }
.original-loading__panel[data-progress-mode="indeterminate"] .original-loading__bar { visibility: hidden; }
.original-loading__tips { position: absolute; top: 398px; left: 115.546px; width: 720px; margin: 0; transform: translateX(-50%); font-size: 24px; line-height: 28px; color: #fff; text-shadow: 0 2px 3px #000; }
.original-loading__percent-atlas { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.original-loading__percent { position: absolute; top: 259.09px; left: 66.046px; width: 99px; height: 41px; display: flex; justify-content: center; overflow: visible; }
.original-loading__percent[hidden] { display: none; }
/* Exact loading.fnt atlas metrics; no CSP-blocked inline style attributes. */
.original-loading__glyph { display: block; flex: none; width: 28px; height: 41px; background-image: url("../public/original-evidence/download/loading.png"); background-repeat: no-repeat; }
.original-loading__glyph[data-glyph="0"] { background-position: 0px 0; }
.original-loading__glyph[data-glyph="1"] { background-position: -30px 0; }
.original-loading__glyph[data-glyph="2"] { background-position: -60px 0; }
.original-loading__glyph[data-glyph="3"] { background-position: -90px 0; }
.original-loading__glyph[data-glyph="4"] { background-position: -120px 0; }
.original-loading__glyph[data-glyph="5"] { background-position: -150px 0; }
.original-loading__glyph[data-glyph="6"] { background-position: -180px 0; }
.original-loading__glyph[data-glyph="7"] { background-position: -210px 0; }
.original-loading__glyph[data-glyph="8"] { background-position: -240px 0; }
.original-loading__glyph[data-glyph="9"] { background-position: -270px 0; }
.original-loading__glyph[data-glyph="%"] { width: 43px; background-position: -300px 0; }
.loading-orbit { display: block; width: 3.2rem; aspect-ratio: 1; border: .35rem solid rgba(255,255,255,.2); border-top-color: #ffda69; border-right-color: #31d7cf; border-radius: 50%; animation: spin 850ms linear infinite; }
@keyframes spin { to { transform: rotate(1turn); } }

@media (max-width: 760px), (orientation: portrait) {
  .auth-stage { grid-template-columns: 1fr; }
  .brand-lockup { min-height: 11rem; border-right: 0; border-bottom: 1px solid rgba(255,221,120,.25); }
  .brand-mark { font-size: 4.5rem; }
  .auth-panel { padding: 1.4rem; }
  .game-shell__header { grid-template-columns: auto 1fr; }
  .shell-safety { display: none; }
}

@media (max-height: 650px) and (orientation: landscape) {
  .auth-stage { min-height: auto; grid-template-columns: 0.55fr 1fr; }
  .brand-lockup { min-height: 0; }
  .brand-mark { font-size: 4rem; }
  .auth-panel { padding: 1rem 2rem; }
  .auth-copy, .safety-note { display: none; }
  .auth-form { grid-template-columns: 1fr 1fr; }
  .auth-form .gold-button { align-self: end; }
}

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

/* Phase 7B: 1280x720 Cocos CSB geometry, scaled by Lua AdjustCenter/ScaleMin. */
.original-auth-waiting {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  overflow: hidden;
  background: rgba(1, 1, 1, 0);
  pointer-events: auto;
  touch-action: none;
}
.original-auth-waiting.is-revealed { background: rgba(1, 1, 1, .3137254901960784); }
.original-auth-waiting__animation { position: absolute; inset: 0; pointer-events: none; }
.original-auth-waiting__text {
  position: absolute;
  display: block;
  width: max-content;
  line-height: 1;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.original-auth-waiting__text--1 { color: #000; }
.original-auth-waiting__text--2 { color: #fff; }
.original-auth-waiting [hidden] { display: none; }
.auth-view.original-auth {
  display: grid;
  place-items: center;
  padding: 0;
  background: #0b1113;
}
.auth-view.original-auth::before { display: none; }
.original-auth__stage {
  position: relative;
  width: 100%;
  min-height: 100svh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: url("../public/original-evidence/download/loading_bg_1.png") center / cover no-repeat;
}
.original-auth__scene {
  position: relative;
  container-type: inline-size;
  width: min(100vw, 177.778svh);
  aspect-ratio: 16 / 9;
}
.original-auth__exit-art {
  position: absolute;
  z-index: 1;
  top: 8.44%;
  left: 5.58%;
  width: 7.8125%;
  aspect-ratio: 1;
  height: auto;
  padding: 0;
  border: 0;
  background: url("../public/original-evidence/auth/login/tuichu.png") center / contain no-repeat;
  transform: translate(-50%, -50%);
}
.original-auth__version {
  position: absolute;
  left: .46875%;
  bottom: .8333333333%;
  width: 15.234375%;
  height: 6.9444444444%;
  color: #fff;
  font-size: 1.953125cqw;
  white-space: nowrap;
}
.original-auth__logo {
  position: absolute;
  top: 43.056%;
  left: 51.215%;
  width: 54.375%;
  height: auto;
  transform: translate(-50%, -50%);
}
.original-auth__entry {
  position: absolute;
  inset: 0;
}
.original-auth__scene.is-auth-guest-pending .original-auth__entry,
.original-auth__scene.is-auth-guest-pending .original-auth__exit-art,
.original-auth__scene.is-auth-guest-pending .original-auth__version {
  visibility: hidden;
}
.original-auth__entry--behind { pointer-events: none; }
.original-auth__entry-button {
  position: absolute;
  display: block;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 35.234cqw;
  aspect-ratio: 451 / 92;
  padding: 0;
  border: 0;
  background: center / contain no-repeat;
}
.original-auth__entry-button--password { top: 75.562%; background-image: url("../public/original-evidence/auth/login/denglu_mimadenglu_2.png"); }
.original-auth__entry-button--password.is-remembered { background-image: url("../public/original-evidence/auth/login/denglu_mimadenglu.png"); }
.original-auth__entry-button--guest {
  top: 87.729%;
  width: 19.531cqw;
  aspect-ratio: 250 / 61;
  background-image: url("../public/original-evidence/auth/login/ykdl.png");
  cursor: pointer;
}
.original-auth__entry-button--guest:disabled { cursor: not-allowed; }
.original-auth__entry-caption {
  position: absolute;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 2.03125cqw;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  pointer-events: none;
  transform: translate(-50%, -50%);
  text-shadow:
    -.078125cqw 0 0 #000, .078125cqw 0 0 #000,
    0 -.078125cqw 0 #000, 0 .078125cqw 0 #000,
    -.078125cqw -.078125cqw 0 #000, .078125cqw -.078125cqw 0 #000,
    -.078125cqw .078125cqw 0 #000, .078125cqw .078125cqw 0 #000,
    .15625cqw .15625cqw 0 rgba(0, 0, 0, .85);
}
.original-auth__entry-caption--password {
  top: 50%;
  left: 58.1998%;
  width: 54.921%;
  height: 56.522%;
}
.original-auth__entry-caption--guest {
  top: 45.9016%;
  left: 50%;
  width: 100%;
  height: 90.1639%;
}
.original-auth__shade {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 0;
  background: none;
}
.original-auth__shade::before { content: ""; position: fixed; inset: 0; background: rgba(0, 0, 0, .4); }
.original-auth__popup {
  position: relative;
  width: 66.875cqw;
  aspect-ratio: 856 / 555;
  padding: 0;
  background: url("../public/original-evidence/auth/popup/frame_2.png") center / 100% 100% no-repeat;
  /* Cocos 3.17.2 backEaseOut(t), sampled at 1% intervals. */
  animation: original-auth-popup-in .5s linear(
    0.000000, 0.046378, 0.091492, 0.135357, 0.177991, 0.219409, 0.259627, 0.298662, 0.336529, 0.373246,
    0.408828, 0.443291, 0.476652, 0.508927, 0.540132, 0.570284, 0.599398, 0.627490, 0.654578, 0.680676,
    0.705802, 0.729972, 0.753201, 0.775506, 0.796904, 0.817410, 0.837040, 0.855811, 0.873740, 0.890841,
    0.907132, 0.922629, 0.937347, 0.951304, 0.964515, 0.976996, 0.988764, 0.999835, 1.010225, 1.019951,
    1.029028, 1.037472, 1.045301, 1.052530, 1.059175, 1.065253, 1.070779, 1.075771, 1.080243, 1.084214,
    1.087697, 1.090711, 1.093271, 1.095393, 1.097093, 1.098388, 1.099294, 1.099828, 1.100004, 1.099840,
    1.099352, 1.098555, 1.097467, 1.096103, 1.094480, 1.092613, 1.090520, 1.088215, 1.085716, 1.083039,
    1.080200, 1.077214, 1.074099, 1.070870, 1.067544, 1.064137, 1.060664, 1.057143, 1.053590, 1.050020,
    1.046451, 1.042897, 1.039376, 1.035903, 1.032495, 1.029168, 1.025938, 1.022821, 1.019834, 1.016993,
    1.014314, 1.011813, 1.009507, 1.007411, 1.005542, 1.003916, 1.002550, 1.001458, 1.000659, 1.000167,
    1.000000
  ) both;
}
.original-auth__popup--register { top: -.11945cqw; }
.original-auth__popup::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 14.953%;
  top: 24.324%;
  width: 70.093%;
  height: 43.243%;
  background: url("../public/original-evidence/auth/popup/bg_2.png") center / 100% 100% no-repeat;
}
.original-auth__popup--register::before { top: 24.643%; height: 58.739%; }
@keyframes original-auth-popup-in { from { transform: scale(.01); } to { transform: scale(1); } }
.original-auth__close {
  position: absolute;
  z-index: 3;
  top: 16.292%;
  left: 92.744%;
  width: 10.631%;
  aspect-ratio: 91 / 98;
  border: 0;
  transform: translate(-50%, -50%);
  background: url("../public/original-evidence/auth/popup/btn_close.png") center / contain no-repeat;
}
.original-auth__popup--register .original-auth__close { top: 16.058%; left: 93.504%; }
.original-auth__title {
  position: absolute;
  z-index: 1;
  top: 4.505%;
  left: 50%;
  width: 58.178%;
  height: auto;
  aspect-ratio: 498 / 102;
  margin: 0;
  transform: translate(-50%, -50%);
  background: center / contain no-repeat;
}
.original-auth__title--login { background-image: url("../public/original-evidence/auth/popup/mm/dl.png"); }
.original-auth__title--register {
  width: 77.804%;
  aspect-ratio: 666 / 109;
  background-image: url("../public/original-evidence/auth/popup/mm/zczh.png");
}
.original-auth__title span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.original-auth__form { position: absolute; z-index: 1; inset: 0; }
.original-auth__field {
  position: absolute;
  left: 37.995%;
  width: 28.90625cqw;
  height: 4.21875cqw;
  background: url("../public/original-evidence/auth/popup/input_bg.png") center / 100% 100% no-repeat;
  color: rgb(255, 255, 255);
  font-size: 2.34375cqw;
  font-weight: 700;
  text-shadow: 0 2px 2px #000;
}
.original-auth__popup--login .original-auth__field--username { top: 31.983%; }
.original-auth__popup--login .original-auth__field--password { top: 49.411%; }
.original-auth__popup--register .original-auth__field { left: 34.897%; }
.original-auth__popup--register .original-auth__field--username { top: 33.489%; }
.original-auth__popup--register .original-auth__field--password { top: 47.63%; }
.original-auth__popup--register .original-auth__field--confirm_password { top: 61.771%; }
.original-auth__field > .original-auth__field-label {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  left: -43.605%;
  width: 9.375cqw;
  text-align: center;
  transform: translateY(-50%);
}
.original-auth__popup--register .original-auth__field > .original-auth__field-label { left: -38.103%; }
.original-auth__field-label > span,
.original-auth__remember-copy > span,
.original-auth__action > span,
.original-auth__secondary > span { display: inline-block; white-space: nowrap; transform-origin: center center; }
.original-auth__field input {
  position: absolute;
  display: block;
  width: 28.125cqw;
  height: 3.4375cqw;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 2.03125cqw;
}
/* Decoded text-node EditBoxes are independent of the 370x54 backgrounds.
   All cqw values below are source design units / 1280 * 100. */
.original-auth__popup--login .original-auth__field--username { left: 25.409375cqw; top: 13.867734375cqw; }
.original-auth__popup--login .original-auth__field--username input { left: 0.399296875cqw; top: 0.286953125cqw; }
.original-auth__popup--login .original-auth__field--username > .original-auth__field-label { left: -12.60453125cqw; top: 1.951875cqw; }
.original-auth__popup--login .original-auth__field--password { left: 25.409296875cqw; top: 21.424453125cqw; }
.original-auth__popup--login .original-auth__field--password input { left: 0.399296875cqw; top: 0.375078125cqw; }
.original-auth__popup--login .original-auth__field--password > .original-auth__field-label { left: -12.604453125cqw; top: 2.131953125cqw; }
.original-auth__popup--register .original-auth__field--username { left: 23.335859375cqw; top: 14.520546875cqw; }
.original-auth__popup--register .original-auth__field--username input { left: 0.377421875cqw; top: 0.390625cqw; }
.original-auth__popup--register .original-auth__field--username > .original-auth__field-label { left: -11.0125cqw; top: 2.109375cqw; }
.original-auth__popup--register .original-auth__field--password { left: 23.335859375cqw; top: 20.65203125cqw; }
.original-auth__popup--register .original-auth__field--password input { left: 0.377421875cqw; top: 0.390625cqw; }
.original-auth__popup--register .original-auth__field--password > .original-auth__field-label { left: -11.0125cqw; top: 2.109375cqw; }
.original-auth__popup--register .original-auth__field--confirm_password { left: 23.335859375cqw; top: 26.783515625cqw; }
.original-auth__popup--register .original-auth__field--confirm_password input { left: 0.496875cqw; top: 0.390546875cqw; }
.original-auth__popup--register .original-auth__field--confirm_password > .original-auth__field-label { left: -11.0125cqw; top: 2.109375cqw; }
.original-auth__field input::placeholder { color: #dcdcdc; opacity: 1; }
.original-auth__remember {
  position: absolute;
  display: flex;
  align-items: center;
  gap: .8cqw;
  left: 16.749%;
  top: 70.214%;
  width: 45%;
  height: 10.405%;
  color: rgb(255, 255, 0);
  font-size: 2.34375cqw;
  cursor: pointer;
}
.original-auth__remember-copy {
  position: absolute;
  display: grid;
  place-items: center;
  /* CSB text anchor(.5,.5): long translated glyphs must stay centered. */
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  top: 50%;
  left: 5.41247cqw;
  width: 9.375cqw;
  height: 2.34375cqw;
  text-align: center;
  transform: translateY(-50%);
  pointer-events: none;
}
.original-auth__remember input {
  appearance: none;
  width: 15.38%;
  height: 100%;
  flex: none;
  margin: 0;
  background: url("../public/original-evidence/auth/popup/k_2.png") center / contain no-repeat;
}
.original-auth__remember input:checked::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../public/original-evidence/auth/popup/k_1.png") center calc(50% - .044cqw) / 3.28125cqw 3.359375cqw no-repeat;
}
/* PasswordLoginLayer.csb: node_forget_passwd is offset +20 on X; its
   transparent 200x40 service button is shown only as UI until the real
   original service contract is connected. All cqw values are 1280 units. */
.original-auth__forgot {
  position: absolute;
  z-index: 1;
  left: 37.088203125cqw;
  top: 31.106328125cqw;
  width: 15.625cqw;
  height: 3.125cqw;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgb(255, 255, 0);
  font-size: 2.34375cqw;
  opacity: 1;
}
.original-auth__forgot:disabled { opacity: 1; cursor: default; }
.original-auth .original-auth__forgot.is-auth-pressed { transform: scale(.95); }
.original-auth__forgot-icon {
  position: absolute;
  left: -.1335546875cqw;
  top: -.4184375cqw;
  width: 4.27734375cqw;
  height: 4.21875cqw;
  pointer-events: none;
}
.original-auth__forgot-copy {
  position: absolute;
  display: grid;
  place-items: center;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  left: 5.204140625cqw;
  top: .422109375cqw;
  width: 9.375cqw;
  height: 2.34375cqw;
  white-space: nowrap;
  pointer-events: none;
}
.original-auth__forgot-copy > span { display: inline-block; white-space: nowrap; transform-origin: center center; }
/* ChatLayer.csb and PopLayer.lua, 1280x720 design units. Empty history and
   disabled compose controls are deliberate until a real service exists. */
.original-service__shade {
  position: absolute;
  z-index: 8;
  inset: 0;
  display: grid;
  place-items: center;
}
.original-service__shade::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .6);
  animation: original-service-shadow-in .3s linear both;
}
@keyframes original-service-shadow-in { from { opacity: 0; } to { opacity: 1; } }
.original-service__frame {
  position: relative;
  width: 83.4375cqw;
  height: 51.40625cqw;
  background: url("../public/original-evidence/auth/service/frame_1.png") center / 100% 100% no-repeat;
  animation: original-service-popup-in .2s linear both;
}
@keyframes original-service-popup-in {
  from { transform: scale(0); }
  75% { transform: scale(1.1); }
  to { transform: scale(1); }
}
.original-service__shade.is-closing .original-service__frame {
  animation: original-service-popup-out .15s linear both;
}
@keyframes original-service-popup-out { to { transform: scale(0); } }
.original-service__title {
  position: absolute;
  left: 20.9765625cqw;
  top: -.9765625cqw;
  width: 41.484375cqw;
  height: 8.828125cqw;
}
.original-service__chat-list {
  position: absolute;
  left: 29.21875cqw;
  top: 11.640625cqw;
  width: 42.96875cqw;
  height: 30.46875cqw;
  overflow: auto;
}
.original-service__close,
.original-service__picture,
.original-service__send {
  position: absolute;
  padding: 0;
  border: 0;
  appearance: none;
  background-color: transparent;
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.original-service__close {
  left: 73.966484375cqw;
  top: 3.9965625cqw;
  width: 7.109375cqw;
  height: 7.65625cqw;
  background-image: url("../public/original-evidence/auth/service/btn_close.png");
}
.original-auth .original-service__close.is-auth-pressed,
.original-auth .original-service__send.is-auth-pressed { transform: scale(.95); }
/* Picture uses Panel_service.addPictureBtnCallBack directly, without
   Tools.AddClickEvent scaling. CSB normal/pressed textures are identical. */
.original-auth .original-service__picture.is-auth-pressed { transform: none; }
.original-service__picture {
  left: 10.68984375cqw;
  top: 11.84609375cqw;
  width: 17.03125cqw;
  height: 6.09375cqw;
  background-image: url("../public/original-evidence/auth/service/btn_1.png");
}
.original-service__send {
  left: 63.5546875cqw;
  top: 42.39375cqw;
  width: 8.984375cqw;
  height: 4.6875cqw;
  background-image: url("../public/original-evidence/auth/service/btn_5.png");
}
.original-service__picture,
.original-service__send {
  color: rgb(255, 255, 255);
  font-size: 2.1875cqw;
  white-space: nowrap;
}
.original-service__picture:disabled,
.original-service__send:disabled { opacity: 1; cursor: default; }
.original-service__input {
  position: absolute;
  left: 29.61796875cqw;
  top: 43.03984375cqw;
  width: 33.59375cqw;
  height: 3.90625cqw;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: url("../public/original-evidence/auth/service/tc_shurukuangbeijing.png") center / 100% 100% no-repeat;
  color: rgb(255, 255, 255);
  font-size: 2.8125cqw;
}
.original-service__input::placeholder {
  color: rgb(220, 220, 220);
  font-size: 2.1875cqw;
  opacity: 1;
}
.original-contact__message { font: 1.875cqw Arial, sans-serif; color: white; }
/* ChatLayer.csb: time cell550x40/font28; Lua addTime x355(own)/180(operator).
   item geometry and Lua MakeMessage: text360, padding30x20, avatar46, gap10.
   Browser text metrics adapt the recovered layout; native metrics remain unproven. */
.original-contact__message time { display: block; width: 15.625cqw; height: 3.125cqw;
  margin-left: 6.25cqw; font-size: 2.1875cqw; text-align: center; }
.original-contact__message.is-own time { margin-left: 19.921875cqw; }
.original-contact__row { position: relative; min-height: 5.9375cqw; padding-bottom: .78125cqw; }
.original-contact__avatar { position: absolute; width: 3.609375cqw; height: 3.609375cqw;
  left: 1.009453125cqw; top: .929140625cqw; }
.original-contact__message.is-own .original-contact__avatar { width: 3.59375cqw; height: 3.59375cqw;
  left: 37.5cqw; top: 1.09375cqw; }
.original-contact__bubble { position: relative; width: max-content; margin-left: 5.156328125cqw;
  padding: .5859375cqw .390625cqw .9765625cqw 1.953125cqw; max-width: 30.46875cqw;
  box-sizing: border-box; overflow-wrap: anywhere; }
/* Recovered CSB scale9 capInsets: left(27,41,27,10), right(10,38,37,13),
   both source images69x59. Preserve corners/tail rather than stretch the art.
   Lua sizes background=text+30x20; CSB content x91 vs bg66 (left),
   content x443 vs bg469.003 (right); content top87 vs bg94.5. */
.original-contact__bubble::before { content: ''; position: absolute; inset: 0;
  border-style: solid; border-width: 3.203125cqw 1.171875cqw .625cqw 2.109375cqw;
  border-image: url('../public/original-evidence/auth/service/qipao.png') 41 15 8 27 fill / 1 / 0 stretch;
  pointer-events: none; }
.original-contact__message.is-own .original-contact__bubble { margin-left: auto; margin-right: 6.327890625cqw;
  padding-right: 2.031484375cqw; padding-left: .312265625cqw; }
.original-contact__message.is-own .original-contact__bubble::before {
  border-width: 2.96875cqw 1.71875cqw .625cqw .78125cqw;
  border-image-source: url('../public/original-evidence/auth/service/qipao_2.png');
  border-image-slice: 38 22 8 10 fill; }
.original-contact__content { position: relative; display: block; max-width: 28.125cqw; }
.original-contact__bubble button { background: transparent; border: 0; padding: 0; }
.original-contact__bubble img { max-width: 28.125cqw; }
.original-contact__image-view { position: absolute; z-index: 11; inset: 0; display: grid;
  place-items: center; overflow: auto; background: rgba(0,0,0,.6); }
.original-contact__image-view img { max-width: 100%; max-height: 100%; }
.original-auth__action, .original-auth__secondary {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  top: 95.495%;
  width: 25.467%;
  height: 14.054%;
  padding: 0;
  border: 0;
  color: #ffe7ab;
  font-weight: 900;
  font-size: 2.34375cqw;
  text-shadow: 0 2px 1px #5e2100;
  background: url("../public/original-evidence/auth/popup/btn_1.png") center / contain no-repeat;
}
.original-auth__secondary { background-image: url("../public/original-evidence/auth/popup/btn_3.png"); }
.original-auth__popup--login .original-auth__action { left: 68%; transform: translate(-50%, -50%); }
.original-auth__popup--login .original-auth__secondary { left: 32%; transform: translate(-50%, -50%); }
.original-auth__popup--register .original-auth__action { left: 50%; transform: translate(-50%, -50%); }
.original-auth__action:disabled { opacity: .55; }
.original-auth__notice, .original-auth__blocked {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 0;
  max-width: 31.56cqw;
  margin: 0 0 .3cqw;
  padding: .4cqw .6cqw;
  color: #fff3c6;
  background: rgba(70, 0, 0, .88);
  text-align: center;
  font-size: clamp(9px, 1.1cqw, 14px);
  transform: translateX(-50%);
}
.original-auth__blocked { top: 74%; bottom: auto; margin-top: .2cqw; }
.original-auth__shade.is-retained .original-auth__popup,
.original-auth__shade[aria-hidden="true"] .original-auth__popup { animation: none; transform: scale(1); }
.original-auth__shade[data-auth-layer="register"] { z-index: 5; }
.original-auth button.is-auth-pressed { transform: translate(-50%, -50%) scale(.95); }
/* MsgBoxBaseLayer.csb + Lua: full-screen 130/255 black Panel; one-button
   856x555 frame, source child coordinates, and 0.15s + 0.05s scale action. */
.original-auth__success-shade { position: absolute; z-index: 10; inset: 0; display: grid; place-items: center; }
.original-auth__success-shade::before { content: ""; position: fixed; inset: 0; background: rgba(0, 0, 0, .509804); }
.original-auth__success-popup {
  position: relative;
  width: 66.875cqw;
  aspect-ratio: 856 / 555;
  background: url("../public/original-evidence/auth/popup/frame_2.png") center / 100% 100% no-repeat;
  animation: original-auth-msgbox-in .2s linear both;
}
@keyframes original-auth-msgbox-in { 0% { scale: 0; } 75% { scale: 1.1; } 100% { scale: 1; } }
.original-auth__success-title {
  position: absolute;
  top: 4.505%;
  left: 50%;
  width: 58.178%;
  aspect-ratio: 498 / 102;
  margin: 0;
  transform: translate(-50%, -50%);
  background: url("../public/original-evidence/auth/popup/mm/frame_msgbox.png") center / contain no-repeat;
}
.original-auth__success-title span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.original-auth__success-text {
  position: absolute;
  top: 24.084%;
  left: 14.953%;
  width: 70.093%;
  height: 54.054%;
  margin: 0;
  color: #fff;
  font-size: 2.34375cqw;
  text-align: center;
}
.original-auth__success-confirm {
  position: absolute;
  top: 91.598%;
  left: 50%;
  width: 25.467%;
  height: 14.054%;
  padding: 0;
  border: 0;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2.34375cqw;
  font-weight: 900;
  background: url("../public/original-evidence/auth/popup/btn_1.png") center / contain no-repeat;
}
.original-auth__success-confirm > span { display: inline-block; white-space: nowrap; transform-origin: center center; }
/* MsgBoxBaseLayer.csb: confirm(260,44.935974), cancel(590,46.630981),
   anchor(.5,.5), both218x78 in the856x555 frame. Cancel PNG is byte-identical
   to recovered packagelua/res/studio/common/btn_2.png (existing shared asset). */
.original-auth__exit-confirm { left: 30.3738317757%; top: 91.9034280863%; }
.original-auth__exit-cancel {
  left: 68.9252336449%;
  background-image: url("../public/original-evidence/hall/safe/btn_2.png");
}
@media (prefers-reduced-motion: reduce) {
  .original-auth__popup { animation: none; }
}

/* Original SwitchLayer: scene-centered ScaleMax cloud at z-order 100. */
.hall-switch-overlay { position: fixed; inset: 0; z-index: 100; display: block; width: 100vw; height: 100vh; pointer-events: none; }
/* GameList:tableCellAtIndex applies cc.FadeIn:create(0.05) to rebuilt items. */
.hall-game-list.is-group-rebuild .hall-cell { animation: hall-item-rebuild .05s linear both; }
@keyframes hall-item-rebuild { from { opacity: 0; } to { opacity: 1; } }
/* COMPONENT04_P1B_RECHARGE_POPUP_MM
   RechargePopup_mm.csb root constructor target.
   Source geometry only; exact native font raster remains HOLD. */
.hall-recharge-mm-popup { position: absolute; inset: 0; }
.hall-recharge-mm-popup__frame { left: 106px; top: 32.281px; width: 1068px; height: 693px; }
.hall-recharge-mm-popup__title { left: 355.5px; top: 36.781px; width: 569px; height: 117px; }
.hall-recharge-mm-popup__body { left: 265px; top: 170.831px; width: 750px; height: 326px; }

.hall-recharge-mm-popup__close {
  position: absolute;
  left: 1047.89px;
  top: 87.462px;
  width: 91px;
  height: 98px;
  padding: 0;
  border: 0;
  background: url("../public/original-evidence/hall/recharge-mm/close.png") center / 100% 100% no-repeat;
}

.hall-recharge-mm-popup__label {
  position: absolute;
  display: grid;
  place-items: center;
  width: 240px;
  height: 60px;
  overflow: hidden;
  color: #fff;
  font-family: sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  text-align: center;
  line-height: normal;
  text-shadow: none;
}
.hall-recharge-mm-popup__label--account { left: 270px; top: 185px; }
.hall-recharge-mm-popup__label--card { left: 270px; top: 245px; }
.hall-recharge-mm-popup__label--order { left: 268.833px; top: 303.064px; height: 63.872px; }
.hall-recharge-mm-popup__label--payer { left: 270px; top: 365px; }
.hall-recharge-mm-popup__label--money { left: 270px; top: 425px; }

.hall-recharge-mm-popup__input-bg { width: 380px; height: 54px; }
.hall-recharge-mm-popup__input-bg--account { left: 510px; top: 188.281px; }
.hall-recharge-mm-popup__input-bg--card { left: 510px; top: 248.281px; }
.hall-recharge-mm-popup__input-bg--order { left: 510px; top: 308.281px; }
.hall-recharge-mm-popup__input-bg--payer { left: 510px; top: 368.281px; }
.hall-recharge-mm-popup__input-bg--money { left: 508.555px; top: 428.281px; }

.hall-recharge-mm-popup__value,
.hall-recharge-mm-popup__edit {
  position: absolute;
  height: 45px;
  box-sizing: border-box;
  color: #fff;
  font-family: sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 45px;
}

.hall-recharge-mm-popup__value {
  text-align: left;
}

.hall-recharge-mm-popup__edit {
  text-align: center;
}

.hall-recharge-mm-popup__value--account {
  left: 519.818px;
  top: 192.781px;
  width: 320px;
}
.hall-recharge-mm-popup__value--card {
  left: 523.141px;
  top: 251.614px;
  width: 320px;
}
.hall-recharge-mm-popup__value--money {
  left: 522.809px;
  top: 432.781px;
  width: 320px;
}

.hall-recharge-mm-popup__edit {
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}
.hall-recharge-mm-popup__edit--order {
  left: 512.774px;
  top: 312.781px;
  width: 366.453px;
}
.hall-recharge-mm-popup__edit--payer {
  left: 516.139px;
  top: 372.781px;
  width: 359.722px;
}

.hall-recharge-mm-popup__copy {
  position: absolute;
  width: 98px;
  height: 51px;
  padding: 0;
  border: 0;
  background: url("../public/original-evidence/hall/recharge-mm/copy.png") center / 100% 100% no-repeat;
  color: #fff;
  font-size: 20px;
}
.hall-recharge-mm-popup__copy--account { left: 902px; top: 191.781px; }
.hall-recharge-mm-popup__copy--card { left: 902px; top: 251.781px; }

/* Root CSB serializes the payment-amount copy button invisible. */
.hall-recharge-mm-popup__copy--money {
  left: 902px;
  top: 431.781px;
  visibility: hidden;
}

.hall-recharge-mm-popup__tips {
  position: absolute;
  left: 267.482px;
  top: 500.281px;
  width: 745px;
  height: 150px;
  overflow: hidden;
  color: #fff;
  font-family: sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: left;
  text-shadow: 1px 1px 0 rgb(0 0 0);
}

.hall-recharge-mm-popup__cancel,
.hall-recharge-mm-popup__confirm {
  position: absolute;
  top: 646.683px;
  width: 218px;
  height: 78px;
  padding: 0;
  border: 0;
  appearance: none;
  background-color: transparent;
  color: #fff;
  font-size: 20px;
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.hall-recharge-mm-popup__cancel {
  left: 329.329px;
  background-image: url("../public/original-evidence/hall/recharge-mm/cancel.png");
}
.hall-recharge-mm-popup__confirm {
  left: 734.545px;
  background-image: url("../public/original-evidence/hall/recharge-mm/confirm.png");
}

/* COMPONENT04_P1D_FIRST_STAGE_BEGIN
   SOURCE_LOCKED LobbyRechargeLayer popup_1 + model_1.
   No production route is connected here. */

.hall-recharge-first-stage {
  position: absolute;
  inset: 0;
  width: 1280px;
  height: 720px;
  transform-origin: 50% 50%;
  animation-timing-function: linear;
}

.hall-recharge-first-stage img {
  position: absolute;
  display: block;
  pointer-events: none;
}

.hall-recharge-first-stage__frame {
  left: 111px;
  top: 16.182px;
  width: 1058px;
  height: 690px;
}

.hall-recharge-first-stage__title {
  left: 367.5px;
  top: 15.682px;
  width: 545px;
  height: 111px;
}

.hall-recharge-first-stage button[data-hall-popup-close] {
  position: absolute;
  left: 1045.5px;
  top: 67.182px;
  width: 91px;
  height: 98px;
  padding: 0;
  border: 0;
  background: transparent;
}

.hall-recharge-first-stage__close img {
  inset: 0;
  width: 91px;
  height: 98px;
}

.hall-recharge-first-stage__channel-list {
  position: absolute;
  left: 262px;
  top: 180.182px;
  width: 220px;
  height: 440px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}

.hall-recharge-first-stage__channel-list::-webkit-scrollbar {
  display: none;
}

.hall-recharge-first-stage__channel-item {
  position: relative;
  flex: none;
  width: 220px;
  height: 70px;
}

.hall-recharge-first-stage__channel-button {
  position: absolute;
  left: 6.5px;
  top: 7.5px;
  width: 207px;
  height: 61px;
  padding: 0;
  border: 0;
  background: transparent;
}

.hall-recharge-first-stage__channel-button img {
  inset: 0;
  width: 207px;
  height: 61px;
}

.hall-recharge-first-stage__channel-button:disabled {
  opacity: 1;
  cursor: default;
}

/* Tools.AddClickEvent began/moved = original scale * .95; ended/canceled = 1. */
.hall-recharge-first-stage__channel-button:enabled:active,
.hall-recharge-first-stage__amount-button:active,
.hall-recharge-first-stage__confirm:active,
.hall-recharge-first-stage button[data-hall-popup-close]:active {
  transform: scale(0.95);
  transform-origin: center;
}

.hall-recharge-first-stage__model-bg {
  left: 492.257px;
  top: 309.5px;
  width: 540px;
  height: 323px;
}

.hall-recharge-first-stage__input-strip {
  left: 498.757px;
  top: 317px;
  width: 527px;
  height: 67px;
}

.hall-recharge-first-stage__amount-panel {
  left: 498.757px;
  top: 389px;
  width: 527px;
  height: 237px;
}

.hall-recharge-first-stage__channel-icon {
  /* Tools.LoadTexture resets content size to the source PNG's 112x116. */
  left: 491.007px;
  top: 185.066px;
  width: 112px;
  height: 116px;
}

.hall-recharge-first-stage__channel-label {
  left: 598.654px;
  top: 181.566px;
  width: 445px;
  height: 123px;
}

.hall-recharge-first-stage__money-input {
  position: absolute;
  left: 573.144px;
  top: 327.565px;
  width: 380px;
  height: 45px;
  box-sizing: border-box;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font-family: sans-serif;
  font-size: 36px;
  font-style: normal;
  font-weight: 400;
  line-height: 45px;
  text-align: center;
}

.hall-recharge-first-stage__amount-list {
  position: absolute;
  left: 500.457px;
  top: 393.625px;
  width: 522px;
  height: 230px;
  display: grid;
  grid-template-columns: repeat(3, 152px);
  grid-auto-rows: 70px;
  /* GridView.getPosByIndex uses model_w/model_h, not CSB template gaps. */
  gap: 0;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}

.hall-recharge-first-stage__amount-list::-webkit-scrollbar {
  display: none;
}

.hall-recharge-first-stage__amount-button {
  position: relative;
  width: 152px;
  height: 70px;
  padding: 0;
  border: 0;
  background:
    url("../public/original-evidence/hall/recharge-first-stage/amount-button.png")
    center / 152px 70px no-repeat;
}

.hall-recharge-first-stage__amount-bm {
  position: absolute;
  left: 0;
  top: 16.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 152px;
  height: 35px;
  white-space: nowrap;
  overflow: hidden;
}

.hall-recharge-first-stage__bm-glyph {
  position: relative;
  display: inline-block;
  flex: none;
  height: 35px;
}

.hall-recharge-first-stage__bm-glyph::before {
  content: "";
  position: absolute;
  background-image:
    url("../public/original-evidence/hall/recharge-first-stage/amount-font.png");
  background-repeat: no-repeat;
  background-size: 318px 35px;
}

.hall-recharge-first-stage__bm-glyph--46 { width: 13px; }
.hall-recharge-first-stage__bm-glyph--46::before { left: 0px; top: 0px; width: 13px; height: 35px; background-position: -279px -0px; }
.hall-recharge-first-stage__bm-glyph--48 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--48::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -0px -0px; }
.hall-recharge-first-stage__bm-glyph--49 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--49::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -24px -0px; }
.hall-recharge-first-stage__bm-glyph--50 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--50::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -48px -0px; }
.hall-recharge-first-stage__bm-glyph--51 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--51::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -72px -0px; }
.hall-recharge-first-stage__bm-glyph--52 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--52::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -96px -0px; }
.hall-recharge-first-stage__bm-glyph--53 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--53::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -120px -0px; }
.hall-recharge-first-stage__bm-glyph--54 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--54::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -144px -0px; }
.hall-recharge-first-stage__bm-glyph--55 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--55::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -168px -0px; }
.hall-recharge-first-stage__bm-glyph--56 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--56::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -192px -0px; }
.hall-recharge-first-stage__bm-glyph--57 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--57::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -216px -0px; }
.hall-recharge-first-stage__bm-glyph--107 { width: 22px; }
.hall-recharge-first-stage__bm-glyph--107::before { left: 0px; top: 0px; width: 22px; height: 35px; background-position: -294px -0px; }

.hall-recharge-first-stage__confirm {
  position: absolute;
  left: 531px;
  top: 644.618px;
  width: 218px;
  height: 78px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  text-shadow: none;
  text-align: center;
}

.hall-recharge-first-stage__confirm img {
  inset: 0;
  width: 218px;
  height: 78px;
}

.hall-recharge-first-stage__confirm span {
  position: absolute;
  left: 50%;
  top: 50%;
  width: max-content;
  white-space: nowrap;
  transform: translate(-50%, -50%) scaleX(var(--recharge-confirm-scale-x, 1));
}

/* PopLayer.DoPopNode uses direct linear ScaleTo/FadeTo actions. */
.hall-popup-scrim[data-hall-popup="recharge-first-stage"]::before {
  animation-timing-function: linear;
}

/* __mask_bg keeps its original FadeTo timeline while the popup shrinks.
   The uncached source close looks for layer child "bg", not this mask. */
.hall-popup-scrim.is-closing[data-hall-popup="recharge-first-stage"]::before {
  animation: hall-popup-shadow .3s linear both;
}

/* COMPONENT04_P1D_FIRST_STAGE_END */
