.modal-shade {
  position: absolute;
  inset: 0;
  background: #040918ad;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dialog {
  position: relative;
  width: 980px;
  height: 648px;
  border-radius: 44px;
  background: url("../assets/images/hall_alert_3_png.png") center/100% 100%
    no-repeat;
  filter: drop-shadow(0 15px 15px #060c4b55);
  animation: popup 0.25s ease-out;
  padding: 97px 18px 28px;
  outline: 0;
}
.dialog.small {
  width: 820px;
  height: 566px;
}
.dialog.wide {
  width: 1150px;
  height: 660px;
}
.dialog-title {
  position: absolute;
  width: 420px;
  height: 99px;
  left: 50%;
  top: -27px;
  transform: translateX(-50%);
  background: linear-gradient(
    170deg,
    #a58cff,
    #5c52a5 47%,
    #3d337c 49%,
    #8b6ad0
  );
  border: 6px ridge #b0a1ff;
  border-radius: 32px 26px 36px 27px;
  box-shadow:
    0 5px 8px #28396f,
    inset 0 0 14px #e1b1ffa0;
  clip-path: polygon(6% 0, 95% 4%, 100% 25%, 94% 98%, 7% 94%, 0 26%);
}
.dialog-title:before,
.dialog-title:after {
  position: absolute;
  top: 14px;
  color: #a8c6fa;
  font-size: 45px;
  text-shadow: 0 0 9px #c9ddff;
}
.dialog-title:before {
  content: "〈";
  left: 13px;
}
.dialog-title:after {
  content: "〉";
  right: 12px;
}
.dialog h1 {
  font-size: 46px;
  letter-spacing: 1px;
  text-align: center;
  margin: 17px 0;
  color: #fff7c8;
  line-height: 53px;
  text-shadow:
    0 4px #5d5080,
    2px 1px #fff;
}
.dialog-title canvas {
  position: absolute;
  left: -230px;
  top: -46px;
  width: 880px;
  height: 150px;
}
.dialog-title.animated {
  background: none;
  border: 0;
  box-shadow: none;
  clip-path: none;
}
.dialog-title.animated h1 {
  opacity: 0;
}
.close {
  position: absolute;
  right: 17px;
  top: 16px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  font: 72px/58px Arial;
  color: #454584;
  background: radial-gradient(
    circle at 33% 18%,
    #9decff,
    #92adff 45%,
    #7b68ce 75%,
    #514da1
  );
  border: 4px solid #85bffc;
  box-shadow:
    0 4px 5px #262979,
    inset 0 0 7px #afd8ff;
  text-shadow: 0 2px 2px #becdfb;
  padding: 0 0 7px;
  z-index: 8;
}
#dialogBody {
  height: 100%;
  font-size: 27px;
  line-height: 1.45;
  position: relative;
  overflow: hidden;
  color: #e7f2ff;
}
.muted {
  color: #9fbbd7;
}
.gold-text {
  color: #ffdf62;
}
.soft-btn {
  border-radius: 23px;
  background: linear-gradient(#b9f7fc, #40aed1 45%, #4e59a7);
  padding: 7px 22px;
  min-width: 120px;
  color: #fff;
  text-shadow: 0 2px #4e70a1;
  border: 2px solid #8ac6f1;
  box-shadow: 0 3px 4px #253161;
  font-size: 25px;
}
.gold-btn {
  border: 2px solid #fbe3a1;
  background: linear-gradient(#fff4a7, #f7b940 43%, #b87713 96%);
  color: white;
  border-radius: 39px;
  box-shadow:
    0 5px 7px #242758,
    inset 0 0 8px #f9c870;
  min-width: 232px;
  padding: 12px 30px;
  text-shadow: 0 2px 3px #85531d;
  font-size: 31px;
  font-weight: bold;
}
.tabs-layout {
  display: flex;
  height: 100%;
  gap: 28px;
}
.tabs {
  width: 204px;
  flex-shrink: 0;
  padding: 12px 0;
  background: #262b5244;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.tabs button {
  margin: 0 5px;
  height: 64px;
  border-radius: 34px;
  background: url("../assets/images/hall_common_tabBtn_02_png.png") center/100%
    100% no-repeat;
  font-size: 26px;
  color: #a2c2dd;
  text-shadow: 0 2px 2px #30376a;
}
.tabs button.selected {
  background-image: url("../assets/images/hall_common_tabBtn_01_png.png");
  color: #fff;
}
.pane {
  flex: 1;
  min-width: 0;
  padding: 14px 35px 0 0;
  overflow: auto;
  scrollbar-width: none;
  touch-action: pan-y;
}
.pane p {
  margin: 14px 0;
}
.pane h2 {
  margin: 0 0 22px;
  color: #ffdf7b;
  font-size: 31px;
}
.pane::-webkit-scrollbar,
.scroll-area::-webkit-scrollbar {
  display: none;
}
.scroll-area {
  overflow: auto;
  scrollbar-width: none;
  touch-action: pan-y;
  overscroll-behavior: contain;
  cursor: grab;
}
.scroll-area.dragging {
  cursor: grabbing;
}
input,
textarea {
  color: #ffedab;
  background: #18214991;
  border: 1px solid #8192c640;
  border-radius: 18px;
  padding: 12px 17px;
  outline: none;
  font-size: 27px;
}
input:focus,
textarea:focus {
  border-color: #91e9fd;
}
input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
}
input::-webkit-inner-spin-button {
  appearance: none;
}
input[type="range"] {
  accent-color: #94dff7;
  padding: 0;
  height: 22px;
  background: none;
  cursor: pointer;
}
.form-line {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 26px 0;
}
.form-line > label {
  width: 135px;
  flex-shrink: 0;
}
.form-line > input {
  min-width: 0;
  flex: 1;
}
.switch {
  width: 153px;
  height: 56px;
  border-radius: 30px;
  background: #222c64;
  color: #8b92bb;
  position: relative;
  text-align: right;
  padding-right: 23px;
  border: 1px solid #7790c729;
  font-size: 29px;
}
.switch:after {
  content: "";
  position: absolute;
  left: 0;
  top: -5px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 30% 15%,
    #dafffc,
    #9bddf0 40%,
    #769bcc 70%,
    #b4d7f8
  );
  box-shadow:
    0 3px 4px #2c397b,
    inset 0 0 6px #d8f1ff;
}
.switch.on {
  background: linear-gradient(#b2f8ff, #40bcf2);
  color: #296bb3;
  text-align: left;
  padding-left: 24px;
}
.switch.on:after {
  left: 89px;
}
.settings-row {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 60px 22px 70px;
  gap: 16px;
}
.settings-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 31px;
  font-weight: bold;
}
.scene-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #99d5e9;
  margin: 0 35px;
  font-size: 31px;
  justify-content: center;
}
.scene-divider:before,
.scene-divider:after {
  content: "";
  height: 2px;
  flex: 1;
  background: #28345d;
}
.profile-layout {
  display: flex;
  height: 100%;
}
.profile-sidebar {
  width: 248px;
  border-right: 1px solid #89b7e329;
  text-align: center;
  padding: 18px 17px;
}
.profile-avatar {
  width: 104px;
  height: 104px;
  display: block;
  margin: 0 auto 13px;
  border: 4px solid #bce5ed;
  background: #6871a7;
  border-radius: 7px;
}
.profile-sidebar small {
  color: #9bdfef;
  font-size: 21px;
}
.vip-large {
  margin: 32px auto 12px;
  color: #ffcd37;
  font-weight: 900;
  font-size: 86px;
  line-height: 1;
  text-shadow:
    0 5px #9b2173,
    -4px 0 #4a72d7,
    4px 0 #4a72d7;
}
.vip-large span {
  font-size: 35px;
  display: block;
}
.vip-progress {
  height: 17px;
  background: #1d265c;
  border-radius: 12px;
  font: 14px/17px Arial;
  margin: 15px 0 49px;
  position: relative;
  overflow: hidden;
}
.vip-progress:before {
  content: "";
  position: absolute;
  left: 0;
  width: 10%;
  height: 100%;
  background: #98d522;
}
.profile-bottom {
  display: flex;
  gap: 12px;
  align-items: center;
}
.gear {
  background: none;
  padding: 0;
}
.gear img {
  width: 52px;
  height: 52px;
}
.profile-details {
  padding: 10px 20px 20px;
  flex: 1;
  height: 440px;
}
.detail-row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 61px;
  font-size: 26px;
}
.detail-row .label {
  color: #95a9c8;
  width: 147px;
  text-align: right;
}
.detail-row .soft-btn {
  margin-left: auto;
  font-size: 22px;
}
.profile-details input {
  width: 240px;
  padding: 5px 9px;
  background: transparent;
  font-size: 26px;
  border-color: transparent;
  color: white;
}
.profile-details input:focus {
  border-color: #91e9fd;
}
.avatar-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 24px;
  padding: 35px;
}
.avatar-grid button {
  background: #303c72;
  padding: 7px;
  border: 3px solid transparent;
  border-radius: 12px;
}
.avatar-grid button.selected {
  border-color: #ffdc6c;
}
.avatar-grid img {
  width: 86px;
  height: 86px;
}
.rank-row {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 15px 10px;
  background: #2630663b;
  border-radius: 10px;
  margin-bottom: 12px;
}
.rank-row .number {
  font-size: 37px;
  width: 42px;
  text-align: center;
  color: #ffdd71;
  font-weight: bold;
}
.rank-row img {
  width: 70px;
  height: 70px;
  border: 2px solid #c2c8ee;
  border-radius: 8px;
}
.rank-row .rank-name {
  flex: 1;
}
.rank-row strong {
  color: #ffdf6a;
  font-size: 28px;
}
.amounts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin: 24px 0;
}
.amounts button {
  font-size: 31px;
  padding: 14px;
  border: 2px solid #7c9cdc;
  border-radius: 12px;
  color: #ffdf77;
  background: #344e98;
}
.amounts button.selected {
  border-color: #ffe17f;
  background: #6575ba;
  box-shadow: 0 0 10px #ffdf7959;
}
.local-note {
  font-size: 19px;
  color: #a6d1e6;
  margin: 14px 0;
}
.feedback-text {
  width: 100%;
  height: 185px;
  resize: none;
}
.activity-banner {
  border: 2px solid #dbcbff77;
  border-radius: 17px;
  background: radial-gradient(ellipse at 80% 40%, #946ad1, #3f388f);
  padding: 28px;
  min-height: 190px;
}
.activity-banner h2 {
  font-size: 44px;
  margin: 0 0 16px;
  color: #ffe582;
}
.activity-coins {
  font-size: 58px;
  color: #ffdd68;
  float: right;
}
.message-row {
  padding: 22px;
  border-bottom: 1px solid #839dd333;
  cursor: pointer;
}
.message-row small {
  color: #a7bddc;
  float: right;
  font-size: 19px;
}
.message-row b {
  color: #ffdd78;
}
.message-row p {
  font-size: 23px;
  margin: 10px 0;
}
.room-list {
  display: flex;
  gap: 30px;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 20px;
}
.room-option {
  width: 240px;
  height: 315px;
  border-radius: 22px;
  background: linear-gradient(#657ee8, #365399 50%, #462e83);
  border: 3px solid #a3daff;
  box-shadow:
    inset 0 0 28px #72bbff55,
    0 10px 13px #171f59;
  padding: 20px;
  position: relative;
}
.room-option > span {
  font-size: 68px;
  color: #ffe46d;
  text-shadow: 0 4px #ae6b41;
  display: block;
  margin: 20px 0;
}
.room-option b {
  display: block;
  font-size: 35px;
}
.room-option small {
  font-size: 20px;
  color: #b9e8f6;
  display: block;
  margin-top: 12px;
}
.fishing-options button {
  position: relative;
  width: 320px;
  height: 355px;
  background: none;
}
.fishing-options canvas {
  width: 100%;
  height: 100%;
}
.fishing-options b {
  position: absolute;
  bottom: 12px;
  left: 0;
  right: 0;
  font-size: 35px;
  text-shadow: 0 3px 5px #151f73;
}
.notice-paragraph {
  line-height: 1.8;
}
.demo-panel {
  padding: 15px 45px;
}
.demo-panel p {
  font-size: 26px;
  line-height: 1.7;
}
.demo-panel a {
  color: #8aeeff;
}
#toast {
  position: absolute;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%);
  background: #0a122ad9;
  padding: 23px 37px;
  border: 1px solid #aed9ff50;
  border-radius: 16px;
  z-index: 60;
  color: #fff1bb;
  font-size: 27px;
  text-align: center;
  max-width: 760px;
  pointer-events: none;
  box-shadow: 0 7px 28px #0a112855;
}
@keyframes popup {
  from {
    transform: scale(0.87);
    opacity: 0;
  }
  65% {
    transform: scale(1.025);
    opacity: 1;
  }
  to {
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ambient::after,
  .sparkle,
  .activity-tip,
  #tickerText {
    animation-duration: 60s;
  }
  .dialog {
    animation: none;
  }
}
.dialog-title:not(.animated) {
  width: 432px;
  height: 138px;
  top: -45px;
  background: url("../assets/images/title.png") center/100% 100% no-repeat;
  border: 0;
  box-shadow: none;
  clip-path: none;
  border-radius: 0;
}
.dialog-title:not(.animated):before,
.dialog-title:not(.animated):after {
  content: none;
}
.dialog-title:not(.animated) h1 {
  margin-top: 33px;
}
.dialog-title.animated canvas {
  top: -10px;
}
.dialog-title.animated:before,
.dialog-title.animated:after {
  content: none;
}

/* Feedback and activity use their original panel artwork and dimensions. */
.dialog[data-panel="feedback"],
.dialog[data-panel="activity"] {
  width: 980px;
  height: 650px;
  background-image: url("../assets/images/hall_window_bg3_png.png");
  background-size: 1050px 740px;
  background-position: -35px -35px;
}
.dialog[data-panel="feedback"] .close,
.dialog[data-panel="activity"] .close {
  width: 79px;
  height: 82px;
  right: 9px;
  top: 12px;
  border: 0;
  border-radius: 0;
  background: url("../assets/images/hall_window_close_btn1_png.png")
    center/contain no-repeat;
  box-shadow: none;
  font-size: 0;
  text-shadow: none;
  padding: 0;
}
.dialog[data-panel="feedback"] {
  padding: 126px 34px 15px;
  background-image: url("../assets/images/hall_window_bg2_png.png");
  background-size: 1032px 715px;
  background-position: -26px -26px;
}
.dialog[data-panel="feedback"]:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 52px;
  background: #7560b547;
  border-radius: 0 0 44px 44px;
  pointer-events: none;
}
.dialog[data-panel="feedback"] .dialog-title {
  width: 432px;
  height: 125px;
  top: -37px;
  background-image: url("../assets/images/login_panel_7tankuangtongyongbiaoti_png.png");
}
.dialog[data-panel="feedback"] .dialog-title h1 {
  margin: 22px 0 0;
  line-height: 60px;
}
.dialog[data-panel="feedback"] .dialog-title img {
  width: 220px;
  height: 60px;
}
.dialog[data-panel="feedback"] #dialogBody {
  display: grid;
  grid-template-rows: 350px 84px 1fr;
  gap: 14px;
  overflow: visible;
}
.feedback-history {
  position: relative;
  border-radius: 23px;
  background: url("../assets/images/hall_yjfk_content_bg_png.png") center/100%
    100% no-repeat;
  padding: 18px 24px;
}
.feedback-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  color: #64909f;
  font-size: 27px;
  font-weight: bold;
}
.feedback-record {
  padding: 8px 0 16px;
  border-bottom: 2px solid #8ea6da24;
  overflow-wrap: anywhere;
}
.feedback-record p {
  margin: 0 0 7px;
  font-size: 23px;
  white-space: pre-wrap;
}
.feedback-record time {
  font-size: 17px;
  color: #829fba;
}
.feedback-compose {
  display: flex;
  align-items: center;
  gap: 25px;
  margin: 0;
}
.feedback-compose input {
  flex: 1;
  min-width: 0;
  height: 62px;
  border: 1px solid transparent;
  border-radius: 24px;
  background: url("../assets/images/hall_yjfk_edit_bg_png.png") center/100% 100%
    no-repeat;
  padding: 12px 25px;
  font-size: 21px;
  color: #d9eafa;
}
.feedback-compose input::placeholder {
  color: #767997;
  opacity: 0.8;
}
.feedback-compose input:focus-visible {
  border-color: #9bddf9;
}
.feedback-submit {
  width: 180px;
  height: 93px;
  flex-shrink: 0;
  padding: 0;
  background: url("../assets/images/hall_feedback_btn_png.png") center/100% 100%
    no-repeat;
}
.feedback-submit img {
  width: 88px;
  height: 45px;
  margin-top: -7px;
}
.feedback-footer {
  align-self: end;
  margin: 0 -7px;
  text-align: center;
  white-space: nowrap;
  color: #bfc1e7;
  font-size: 21px;
  font-weight: bold;
  line-height: 28px;
}
.feedback-footer span {
  color: #ffe350;
}

.dialog[data-panel="activity"] {
  padding: 88px 0 0;
}
.dialog[data-panel="activity"] .dialog-title {
  width: 900px;
  height: 151px;
  top: -50px;
  background-image: url("../assets/images/hall_biaoti_jchd_png.png");
  pointer-events: none;
}
.dialog[data-panel="activity"] .dialog-title h1 {
  opacity: 0;
}
.dialog[data-panel="activity"] #dialogBody {
  overflow: hidden;
  border-radius: 0 0 42px 42px;
}
.activity-layout {
  height: 100%;
  display: flex;
}
.activity-tabs {
  flex: 0 0 218px;
  padding: 12px 11px;
  background: #28305970;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.activity-tabs button {
  width: 196px;
  height: 64px;
  flex-shrink: 0;
  padding: 0;
  background: url("../assets/images/hall_common_tabBtn_02_png.png") center/100%
    100% no-repeat;
  color: #77b2cb;
  font-size: 29px;
  line-height: 1;
  text-shadow: 0 2px 2px #354a7a;
}
.activity-tabs button.selected {
  background-image: url("../assets/images/hall_common_tabBtn_01_png.png");
  color: white;
}
.activity-content {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 100%;
  display: flex;
  overflow: hidden;
}
.activity-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.poster-hit {
  position: absolute;
  background: none;
  border-radius: 50px;
}
.participate-hit {
  left: 24%;
  top: 77%;
  width: 35%;
  height: 16%;
}
.poster-hit:hover {
  background: #fff8c012;
  box-shadow: 0 0 18px #ffd43b50;
}
.activity-channels {
  width: 150px;
  flex-shrink: 0;
  background: #18366b9c;
  z-index: 1;
  padding-bottom: 16px;
}
.activity-channels button {
  width: 100%;
  height: 72px;
  background: none;
  color: #94b5d8;
  font-size: 24px;
}
.activity-channels button.selected {
  background: #507dbe69;
  border-bottom: 2px solid #70bdd788;
  color: white;
}
.channel-poster {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 100%;
}
.channel-logo {
  position: absolute;
  top: 20px;
  left: 25%;
  width: 50%;
  height: 68px;
}
.channel-name {
  position: absolute;
  top: 12px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 40px;
  color: #e1f3ff;
}
.channel-copy {
  position: absolute;
  left: 6%;
  top: 112px;
  width: 88%;
  height: 145px;
}
.channel-offer {
  position: absolute;
  top: 130px;
  left: 4%;
  right: 4%;
  text-align: center;
  color: #ffed8e;
  font-size: 39px;
  font-weight: bold;
  text-shadow: 0 3px 4px #805138;
}
.channel-offer strong {
  font-size: 48px;
}
.channel-join {
  position: absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  width: 280px;
  height: 99px;
  background: none;
  padding: 0;
}
.channel-join img {
  width: 100%;
  height: 100%;
}
.activity-vip {
  position: relative;
  width: 100%;
  padding: 160px 25px 0;
}
.vip-levels {
  display: flex;
  justify-content: space-between;
  border-bottom: 6px solid #65ade955;
  padding-bottom: 14px;
}
.vip-levels > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #b7cdeb;
  font-size: 18px;
  gap: 8px;
}
.vip-levels img {
  width: 80px;
  height: 44px;
}
.vip-benefits {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 22px;
}
.vip-benefits img {
  width: 195px;
  height: 95px;
}
.vip-cannons {
  display: flex;
  justify-content: space-around;
  margin-top: 14px;
}
.vip-cannons img {
  width: 75px;
  height: 100px;
}
.vip-detail {
  display: block;
  margin: 9px auto 0;
  width: 185px;
  height: 50px;
  background: none;
  padding: 0;
}
.vip-detail img {
  width: 100%;
  height: 100%;
}
.activity-website {
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at 75% 20%, #7362c1, #304d9b 65%);
  text-align: center;
  padding: 72px 40px;
  color: #d7e8ff;
}
.activity-website h2 {
  font-size: 48px;
  color: #ffe890;
  margin: 0 0 18px;
}
.website-address {
  margin: 40px 0;
  padding: 25px;
  background: #17245960;
  border: 1px solid #8acded88;
  border-radius: 16px;
}
.relief-content {
  position: relative;
  align-self: flex-end;
  width: 100%;
  text-align: center;
  padding-bottom: 38px;
}
.relief-content strong {
  font-size: 60px;
  color: #ffe767;
  text-shadow: 0 3px 4px #935536;
}
.relief-content p {
  font-size: 23px;
  margin: 5px 0 18px;
  color: #dce8fd;
}
.relief-claim {
  width: 240px;
  height: 84px;
  position: relative;
  padding: 0;
  background: none;
}
.relief-claim > img {
  width: 100%;
  height: 100%;
}
.relief-claim .claim-label {
  position: absolute;
  width: 160px;
  height: 48px;
  left: 40px;
  top: 15px;
}

/* Shared glass frame; each screen below retains its own content geometry. */
.dialog:is(
  [data-panel="rank"],
  [data-panel="bank"],
  [data-panel="service"],
  [data-panel="notice"],
  [data-panel="website"],
  [data-panel="withdraw"],
  [data-panel="recharge"]
) {
  width: 980px;
  height: 650px;
  padding: 88px 0 0;
  background-image: url("../assets/images/hall_window_bg2_png.png");
  background-size: 1032px 715px;
  background-position: -26px -26px;
}
.dialog:is(
    [data-panel="rank"],
    [data-panel="bank"],
    [data-panel="service"],
    [data-panel="notice"],
    [data-panel="website"],
    [data-panel="withdraw"],
    [data-panel="recharge"],
    [data-panel="noticePrompt"]
  )
  .close {
  right: 9px;
  top: 12px;
  width: 79px;
  height: 82px;
  font-size: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  background: url("../assets/images/hall_window_close_btn1_png.png")
    center/contain no-repeat;
}
.dialog:is(
    [data-panel="rank"],
    [data-panel="bank"],
    [data-panel="website"],
    [data-panel="withdraw"],
    [data-panel="recharge"]
  )
  .dialog-title.animated {
  width: 900px;
  height: 150px;
  top: -50px;
  pointer-events: none;
}
.dialog:is(
    [data-panel="rank"],
    [data-panel="bank"],
    [data-panel="website"],
    [data-panel="withdraw"],
    [data-panel="recharge"]
  )
  .dialog-title.animated
  canvas {
  left: 0;
  top: 0;
  width: 900px;
  height: 150px;
}
.dialog:is(
    [data-panel="rank"],
    [data-panel="bank"],
    [data-panel="notice"],
    [data-panel="website"],
    [data-panel="withdraw"],
    [data-panel="recharge"]
  )
  #dialogBody {
  border-radius: 0 0 43px 43px;
}
.pill-nav {
  width: 218px;
  flex-shrink: 0;
  padding: 14px 11px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #20265053;
}
.pill-nav button {
  position: relative;
  width: 196px;
  height: 64px;
  flex-shrink: 0;
  padding: 0;
  background: url("../assets/images/hall_common_tabBtn_02_png.png") center/100%
    100% no-repeat;
  color: #7ab7cd;
  font-size: 27px;
  white-space: nowrap;
}
.pill-nav button.selected {
  background-image: url("../assets/images/hall_common_tabBtn_01_png.png");
  color: #fff;
}
.asset-button {
  background: none;
  padding: 0;
}
.asset-button img {
  width: 100%;
  height: 100%;
}
.artwork-gold {
  background: url("../assets/images/hall_common_h_btn_01_png.png") center/100%
    100% no-repeat;
  padding: 0;
  border: 0;
  font-size: 38px;
  font-weight: bold;
  color: #fff8dc;
  text-shadow: 0 3px 4px #a97517;
}
.artwork-gold:active,
.asset-button:active {
  filter: brightness(1.14);
}
.ribbon-nav {
  width: 220px;
  flex-shrink: 0;
  background: #20265053;
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.ribbon-nav button {
  position: relative;
  width: 195px;
  height: 72px;
  flex-shrink: 0;
  background: url("../assets/images/hall_anniu_changgui_png.png") center/100%
    100% no-repeat;
  padding: 0;
  font-size: 28px;
  text-align: center;
  color: #fff;
}
.ribbon-nav button.selected {
  width: 220px;
  background-image: url("../assets/images/hall_anniu_xuanzhong_png.png");
  padding-right: 20px;
}
.ribbon-nav button img {
  width: 175px;
  height: 44px;
  object-fit: contain;
}

/* Leaderboard: tightly spaced rows, masked IDs, medals, and a pinned self row. */
.rank-layout {
  height: 100%;
  display: flex;
}
.rank-content {
  flex: 1;
  min-width: 0;
  position: relative;
}
.rank-list {
  height: calc(100% - 84px);
  padding: 0 28px;
}
.ranking-row {
  display: flex;
  align-items: center;
  height: 86px;
  gap: 12px;
  border-bottom: 1px solid #22295655;
  white-space: nowrap;
}
.rank-position {
  width: 96px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rank-position > img {
  width: auto;
  height: 40px;
  max-width: 85px;
}
.ranking-row:nth-child(-n + 3) .rank-position > img {
  width: 68px;
  height: 74px;
}
.rank-avatar {
  position: relative;
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  display: inline-block;
}
.rank-avatar .portrait {
  position: absolute;
  width: 61px;
  height: 61px;
  left: 5px;
  top: 5px;
  border-radius: 5px;
}
.rank-avatar .frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.rank-identity {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 210px;
  flex-shrink: 0;
  color: #ddeafb;
  font-size: 25px;
  line-height: 32px;
}
.rank-identity > span {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}
.rank-identity b {
  font-weight: normal;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-identity img {
  width: 39px;
  height: 28px;
  flex-shrink: 0;
}
.rank-identity small {
  font-size: 24px;
  color: #a6b2d6;
}
.rank-metric {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-left: auto;
}
.rank-metric > img {
  width: 51px;
  height: 28px;
}
.rank-metric strong {
  min-width: 150px;
  padding: 1px 14px;
  border-radius: 22px;
  background: #20335e66;
  color: #ffdf71;
  font-size: 28px;
  line-height: 36px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.rank-self {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 84px;
  padding: 0 28px;
  background: url("../assets/images/hall_rank_bottom_bg_png.png") center/100%
    100% no-repeat;
  border: 0;
}
.rank-self .rank-position > img {
  width: 85px;
  height: 29px;
}

/* Announcement detail and the separate acknowledgement prompt. */
.dialog[data-panel="notice"] .dialog-title,
.dialog[data-panel="noticePrompt"] .dialog-title {
  top: -37px;
  width: 430px;
  height: 125px;
  background-image: url("../assets/images/hall_antiFraud_title_png.png");
  pointer-events: none;
}
.dialog[data-panel="notice"] .dialog-title h1,
.dialog[data-panel="noticePrompt"] .dialog-title h1 {
  opacity: 0;
}
.notice-layout {
  display: flex;
  height: 100%;
}
.notice-copy {
  flex: 1;
  min-width: 0;
  padding: 47px 40px 26px;
  color: #f4f2ff;
  font-size: 28px;
  line-height: 1.25;
}
.notice-copy h2 {
  font-size: 35px;
  text-align: center;
  color: #e7bb2c;
  margin: 12px 0 33px;
  white-space: nowrap;
}
.notice-copy p {
  margin: 0 0 25px;
}
.notice-copy .maintenance-time {
  margin-top: 30px;
}
.anti-fraud-poster {
  width: 100%;
  height: auto;
  display: block;
}
.dialog[data-panel="noticePrompt"] {
  width: 820px;
  height: 570px;
  padding: 140px 70px 95px;
  background: url("../assets/images/hall_window_bg3_png.png") -29px -30px/878px
    649px no-repeat;
}
.dialog[data-panel="noticePrompt"] #dialogBody {
  overflow: visible;
}
.notice-prompt-copy {
  text-align: center;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.42;
  color: #fff;
}
.notice-ack {
  position: absolute;
  left: 50%;
  bottom: -90px;
  transform: translateX(-50%);
  width: 280px;
  height: 99px;
  background: url("../assets/images/hall_window_btn1_png.png") center/100% 100%
    no-repeat;
  font-size: 38px;
  font-weight: bold;
  text-shadow: 0 3px 3px #67509d;
  padding-bottom: 6px;
}

/* Bank and withdrawal share a money editor, with an illustrated chip slider. */
.bank-layout,
.withdraw-layout {
  height: 100%;
  display: flex;
}
.bank-pane {
  position: relative;
  flex: 1;
  min-width: 0;
  padding: 32px 92px 0;
}
.bank-balances {
  font-size: 26px;
  line-height: 48px;
  color: #eef4ff;
}
.bank-balances > div {
  display: flex;
  align-items: center;
  gap: 9px;
}
.bank-balances strong {
  font-size: 29px;
  color: #ffdb66;
}
.bank-balances img,
.bank-icon {
  width: 42px;
  height: 42px;
}
.bank-recharge {
  position: absolute;
  right: 90px;
  top: 47px;
  width: 137px;
  height: 60px;
  background: none;
  padding: 0;
}
.bank-recharge img {
  width: 100%;
  height: 100%;
}
.money-input {
  position: relative;
  display: flex;
  align-items: center;
  gap: 18px;
  height: 62px;
  border-radius: 22px;
  background: #14254499;
  padding: 0 15px;
  color: #8aa4c5;
}
.bank-pane .money-input {
  margin-top: 44px;
}
.money-input label {
  font-size: 25px;
  white-space: nowrap;
}
.money-input input {
  min-width: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: none;
  color: #ffe24f;
  padding: 0;
  font-size: 37px;
  border-radius: 0;
}
.amount-clear {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  padding: 0;
  background: none;
}
.amount-clear img {
  width: 100%;
  height: 100%;
}
.amount-words {
  font-size: 27px;
  line-height: 38px;
  text-align: center;
  color: #8295bc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.money-slider {
  display: flex;
  gap: 36px;
  align-items: center;
  margin-top: 51px;
  height: 74px;
}
.money-slider input[type="range"] {
  --filled: 0%;
  appearance: none;
  -webkit-appearance: none;
  flex: 1;
  min-width: 0;
  height: 25px;
  padding: 0;
  margin: 0;
  background:
    linear-gradient(90deg, #6eaae0 var(--filled), transparent var(--filled)),
    url("../assets/images/hall_bank_barBg_png.png") center/100% 100%;
  border: 0;
  outline: 0;
  border-radius: 20px;
  overflow: visible;
  cursor: pointer;
}
.money-slider input::-webkit-slider-thumb {
  appearance: none;
  width: 74px;
  height: 74px;
  border: 0;
  background: url("../assets/images/hall_bank_slider_btn_01_png.png")
    center/contain no-repeat;
  cursor: grab;
}
.money-slider input::-moz-range-thumb {
  width: 74px;
  height: 74px;
  border: 0;
  background: url("../assets/images/hall_bank_slider_btn_01_png.png")
    center/contain no-repeat;
  cursor: grab;
}
.dialog[data-panel="bank"] .money-slider input[max="0"]::-webkit-slider-thumb {
  background-image: url("../assets/images/hall_bank_slider_btn_02_png.png");
}
.money-max {
  width: 89px;
  height: 60px;
  flex-shrink: 0;
  background: none;
  padding: 0;
}
.money-max img {
  width: 100%;
  height: 100%;
}
.bank-confirm {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: 99px;
}
.bank-confirm img {
  width: 87px;
  height: 47px;
  margin-top: -5px;
}
.withdraw-nav {
  gap: 15px;
  padding-top: 40px;
}
.withdraw-nav button {
  font-size: 29px;
}
.withdraw-nav button:nth-child(5) {
  font-size: 23px;
}
.method-tag {
  position: absolute;
  left: -7px;
  top: -14px;
  color: #a7ffff;
  font-size: 23px;
  font-weight: bold;
  text-shadow:
    0 0 5px #00bffc,
    0 2px 3px #085688;
  z-index: 1;
}
.method-tag.pink {
  color: #ffeaff;
  text-shadow:
    0 0 4px #f74de5,
    0 2px 4px #8d00b6;
}
.withdraw-pane {
  flex: 1;
  min-width: 0;
  position: relative;
  padding: 28px 80px 0 74px;
}
.withdraw-balance {
  font-size: 26px;
  font-weight: bold;
  color: #e9edf7;
}
.withdraw-balance strong {
  color: #ffda6d;
  font-size: 30px;
}
.withdraw-tip {
  font-size: 19px;
  line-height: 1.25;
  color: #779ac6;
  margin: 11px 0 12px;
}
.withdraw-pane .money-input {
  height: 59px;
}
.withdraw-pane .money-input input {
  font-size: 28px;
}
.withdraw-pane .amount-words {
  font-size: 23px;
  margin-top: 3px;
}
.withdraw-pane .money-slider {
  margin-top: 38px;
}
.binding-line {
  position: absolute;
  left: 74px;
  right: 80px;
  bottom: 109px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #7fc4ea;
  font-size: 23px;
}
.binding-line button {
  width: 136px;
  height: 60px;
}
.withdraw-confirm {
  position: absolute;
  bottom: 5px;
  width: 280px;
  height: 99px;
  left: 50%;
  transform: translateX(-50%);
}

/* Customer service uses its own rectangular navigation and illustration text. */
.dialog[data-panel="service"] .dialog-title {
  width: 432px;
  height: 125px;
  top: -37px;
  background-image: url("../assets/images/login_panel_7tankuangtongyongbiaoti_png.png");
}
.dialog[data-panel="service"] .dialog-title h1 {
  margin-top: 22px;
  line-height: 60px;
}
.dialog[data-panel="service"] .dialog-title img {
  width: 220px;
  height: 60px;
}
.service-nav {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background: none;
}
.service-nav .badge {
  right: -5px;
  top: -14px;
}
.service-pane {
  position: absolute;
  left: 224px;
  top: 14px;
  right: 16px;
  height: 475px;
  border-radius: 16px;
  background: url("../assets/images/hall_kefucjwtbg_png.png") center/100% 100%
    no-repeat;
  overflow: hidden;
}
.service-qna {
  position: absolute;
  left: 25px;
  top: 18px;
  width: 690px;
  height: 373px;
}
.service-online {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: 182px;
  height: 62px;
  background: none;
  padding: 0;
}
.service-online img {
  width: 100%;
  height: 100%;
}
.service-order {
  position: absolute;
  left: 15px;
  bottom: 65px;
  z-index: 2;
}
.service-order > .asset-button {
  width: 194px;
  height: 58px;
  display: block;
}
.service-order-tip {
  position: relative;
  margin-bottom: -2px;
  width: 352px;
  height: 55px;
  line-height: 45px;
  padding-left: 15px;
  color: #fff;
  font-size: 23px;
  font-weight: bold;
  background: url("../assets/images/hall_charge_txt_huxi_png.png") center/100%
    100% no-repeat;
}
.service-message {
  margin: 20px;
  width: calc(100% - 40px);
  padding: 20px 18px;
  display: flex;
  align-items: center;
  gap: 20px;
  text-align: left;
  background: #465f9b88;
  border-radius: 10px;
  font-size: 25px;
}
.service-message img {
  width: 70px;
  height: 63px;
}
.service-message small {
  display: block;
  font-size: 19px;
  color: #a7bddc;
  margin-top: 8px;
}
.service-empty {
  height: 80%;
  display: grid;
  place-items: center;
}
.service-empty img {
  width: 239px;
  height: 47px;
}

/* Official-site poster and locally generated QR. */
.website-poster {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 0 0 44px 44px;
}
.website-poster > img:first-child {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.official-address {
  position: absolute;
  left: 43%;
  right: 7%;
  top: 42.8%;
  text-align: center;
  font-size: 29px;
  color: white;
}
.website-poster .website-qr {
  position: absolute;
  left: 38.1%;
  top: 54.5%;
  width: 20.8%;
  height: auto;
  aspect-ratio: 1;
  background: white;
  padding: 1px;
}
.website-copy,
.website-save {
  position: absolute;
  left: 63%;
  width: 249px;
  height: 77px;
  display: block;
  background: none;
  padding: 0;
}
.website-copy {
  top: 56%;
}
.website-save {
  top: 75%;
}
.website-copy img,
.website-save img {
  width: 100%;
  height: 100%;
}

/* Recharge counter: canopy, channel list, amount grid and gift labels. */
.dialog[data-panel="recharge"] {
  width: 1040px;
  height: 680px;
  padding-top: 110px;
  background-size: 1095px 748px;
  background-position: -27px -27px;
}
.dialog[data-panel="recharge"]:before {
  content: "";
  position: absolute;
  left: -12px;
  right: -12px;
  top: -2px;
  height: 151px;
  background: url("../assets/images/hall_charge_title_bg_png.png") center/100%
    100% no-repeat;
  pointer-events: none;
  z-index: 1;
}
.dialog[data-panel="recharge"] .dialog-title.animated {
  z-index: 2;
  top: -41px;
}
.dialog[data-panel="recharge"] #dialogBody {
  overflow: visible;
}
.recharge-layout {
  height: 100%;
  display: flex;
}
.recharge-sidebar {
  width: 218px;
  flex-shrink: 0;
  position: relative;
  height: 100%;
  background: #24376542;
  border-radius: 0 0 0 42px;
}
.recharge-nav {
  width: 100%;
  height: calc(100% - 76px);
  gap: 26px;
  padding-top: 25px;
  padding-bottom: 25px;
  background: none;
}
.recharge-nav button {
  height: 64px;
  flex-shrink: 0;
  font-size: 28px;
}
.channel-gift {
  position: absolute;
  right: -8px;
  top: -12px;
  font-size: 20px;
  line-height: 29px;
  padding: 0 6px;
  border: 1px solid #fff7be;
  border-radius: 8px;
  background: linear-gradient(#ebcc86, #ce872d);
  color: #fff8da;
  z-index: 1;
}
.recharge-records {
  position: absolute;
  bottom: 15px;
  left: 25px;
  width: 180px;
  height: 54px;
  background: none;
  padding: 0;
}
.recharge-records img {
  width: 100%;
  height: 100%;
}
.recharge-pane {
  flex: 1;
  min-width: 0;
  position: relative;
  padding: 0 57px 0 58px;
}
.recharge-banner {
  height: 148px;
  background: url("../assets/images/hall_recharge_zIcon_1_bg_png.png")
    center/100% 100% no-repeat;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 0 22px 22px;
}
.recharge-banner > strong {
  font-size: 54px;
  color: white;
}
.payment-logo {
  width: 440px;
  height: 98px;
  object-fit: contain;
}
.recharge-rate {
  position: absolute;
  left: -13px;
  top: 12px;
  width: 145px;
  padding: 6px 11px;
  background: linear-gradient(130deg, #ffb90e, #d98900);
  border: 2px solid #efb028;
  border-radius: 8px;
  color: #ffe9ac;
  font-size: 18px;
  line-height: 22px;
  white-space: nowrap;
  box-shadow: 0 3px 5px #30577f55;
}
.recharge-entry {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 68px;
  margin: 10px 0 20px;
  color: #89a8d0;
  font-size: 25px;
}
.recharge-entry > label {
  white-space: nowrap;
  flex-shrink: 0;
}
.recharge-entry > div {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  height: 59px;
  background: #16294e7d;
  border-radius: 20px;
  padding-right: 16px;
}
.recharge-entry input {
  width: 100%;
  min-width: 0;
  background: none;
  border: 0;
  padding: 12px 15px;
  font-size: 25px;
  color: #ffe67a;
}
.recharge-entry input::placeholder {
  color: #6c8dad;
}
.recharge-entry .asset-button {
  width: 84px;
  height: 59px;
  flex-shrink: 0;
}
.recharge-amounts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px 31px;
}
.recharge-amounts button {
  height: 49px;
  position: relative;
  background: url("../assets/images/hall_duihuan_money_btn_png.png") center/100%
    100% no-repeat;
  font-size: 28px;
  color: white;
  padding: 0 0 4px;
}
.recharge-amounts button.selected {
  filter: brightness(1.22);
  outline: 2px solid #ffe28b;
  outline-offset: -3px;
  border-radius: 14px;
}
.recharge-amounts button > span {
  position: absolute;
  right: -23px;
  top: -19px;
  min-width: 94px;
  height: 33px;
  padding: 0 7px;
  line-height: 27px;
  border-radius: 6px;
  background: linear-gradient(#50f023, #159a08);
  border: 1px solid #7cdc33;
  box-shadow: 0 2px 3px #1c742966;
  font-size: 22px;
  color: white;
  z-index: 1;
  pointer-events: none;
}
.recharge-amounts button > span:after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  border: 4px solid transparent;
  border-top-color: #159a08;
}
.recharge-confirm {
  display: block;
  margin: 14px auto 0;
  width: 238px;
  height: 83px;
  font-size: 36px;
}
.payment-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 95px;
  color: #b7cbed;
}
.payment-empty h2 {
  font-size: 31px;
  margin: 0 0 60px;
  color: #e3efff;
}
.payment-empty p {
  color: #91a7c8;
}

.service-order-tip {
  font-size: 0;
  height: 75px;
  margin-bottom: -17px;
}

/* Login artwork shares the lobby's 750 px design coordinate system. */
.auth-screen {
  outline: none;
  position: absolute;
  inset: 0;
  z-index: 20;
  background: #632d51 url("../assets/images/login_bg_login_jpg.jpg") center/100%
    100% no-repeat;
  overflow: hidden;
}
.auth-scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: translate(-3.2%, -7%) scale(1.32);
  pointer-events: none;
}
.auth-logo {
  position: absolute;
  left: 50%;
  top: 157px;
  transform: translateX(-50%);
  width: 500px;
  height: 297px;
  pointer-events: none;
}
.auth-entry-buttons {
  position: absolute;
  bottom: 84px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 45px;
}
.auth-entry-buttons button {
  width: 340px;
  height: 109px;
  background: none;
  padding: 0;
  flex-shrink: 0;
}
.auth-entry-buttons img {
  width: 100%;
  height: 100%;
}
.auth-entry-buttons button:hover {
  filter: brightness(1.08);
}
.auth-health {
  position: absolute;
  bottom: 53px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  white-space: nowrap;
  font-size: 17px;
  line-height: 24px;
  font-weight: 600;
  color: #bcc6c7b3;
  text-shadow: 0 1px 2px #45433d;
}
.auth-version {
  position: absolute;
  right: 20px;
  bottom: 52px;
  font-size: 27px;
  color: #eee;
}
.auth-service {
  position: absolute;
  right: 66px;
  top: 9px;
  width: 132px;
  height: 152px;
  padding: 0;
  background: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 28px;
  color: #ffd39d;
  text-shadow: 0 2px 2px #824222;
}
.auth-service-orb {
  position: relative;
  width: 114px;
  height: 114px;
  display: block;
  border-radius: 50%;
  background: radial-gradient(
    circle at 35% 10%,
    #eff9ff8a,
    transparent 52%,
    #89bfff2a 68%,
    #e4f5ffe0 73%,
    transparent 78%
  );
  filter: drop-shadow(0 0 5px #d5e5ff);
}
.auth-service svg {
  position: absolute;
  inset: 15px 18px;
  width: 78px;
  height: 78px;
  fill: none;
  stroke: #e5b072;
  stroke-width: 6;
  stroke-linejoin: round;
}
.auth-service b {
  position: absolute;
  top: 26px;
  left: 0;
  right: 0;
  font: bold 40px/44px Arial;
  color: #ffe0a4;
}
.auth-service small {
  position: absolute;
  top: 67px;
  left: 0;
  right: 0;
  font: bold 13px Arial;
  color: #ffd48a;
}
#stage.auth-open > .header,
#stage.auth-open > .ticker,
#stage.auth-open > #gameScroll,
#stage.auth-open > .page-arrow,
#stage.auth-open > .bottom-bar,
#stage.auth-open > .ambient {
  visibility: hidden;
}
#stage.auth-open > .win-notice {
  display: none !important;
}
.dialog[data-panel^="auth"] {
  width: 980px;
  height: 650px;
  padding: 0;
  background: url("../assets/images/hall_window_bg2_png.png") -26px -26px/1032px
    715px no-repeat;
}
.dialog[data-panel^="auth"] .dialog-title {
  width: 430px;
  height: 125px;
  top: -40px;
  background-image: url("../assets/images/login_panel_7tankuangtongyongbiaoti_png.png");
}
.dialog[data-panel^="auth"] h1 {
  margin: 0;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 4px;
  font-size: 46px;
  text-shadow: 0 4px 1px #63577c;
}
.dialog[data-panel^="auth"] h1 img {
  width: 220px;
  height: 60px;
}
.dialog[data-panel^="auth"] .close {
  right: 10px;
  top: 11px;
  width: 79px;
  height: 82px;
  border: 0;
  box-shadow: none;
  font-size: 0;
  padding: 0;
  background: url("../assets/images/login_btn_close_png.png") center/contain
    no-repeat;
}
.dialog[data-panel^="auth"] #dialogBody {
  overflow: visible;
}
.dialog[data-panel="authLogin"] {
  width: 760px;
  height: 496px;
  margin-top: -76px;
  background-image: url("../assets/images/hall_window_bg3_png.png");
  background-size: 814px 564px;
  background-position: -27px -27px;
}
.auth-form {
  height: 100%;
  position: relative;
  margin: 0;
}
.auth-login-form {
  padding: 154px 0 0 145px;
}
.auth-form-row {
  display: grid;
  grid-template-columns: 76px 390px;
  gap: 12px;
  align-items: center;
  margin-bottom: 64px;
}
.auth-form-row label {
  text-align: right;
  white-space: nowrap;
  font-size: 29px;
  line-height: 40px;
  color: #f2f4ff;
}
.auth-field-group {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.auth-form-row input {
  height: 59px;
  min-width: 0;
  width: 100%;
  padding: 7px 25px;
  border: 1px solid #6e7caa24;
  border-radius: 20px;
  background: #14234483;
  color: #f5f8ff;
  font-size: 27px;
  line-height: 40px;
  box-shadow: 0 1px 1px #92a8ca30;
}
.auth-form-row input::placeholder {
  color: #7584a575;
}
.auth-form-row input:focus {
  border-color: #8ccbe2;
}
.auth-confirm,
.auth-register-entry {
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: 99px;
  background: url("../assets/images/login_panel_5xiaozhong_btn_png.png")
    center/100% 100% no-repeat;
  padding: 0;
}
.auth-confirm img {
  width: 87px;
  height: 47px;
  margin-top: -5px;
}
.auth-forgot,
.auth-register-link {
  position: absolute;
  bottom: 16px;
  left: 100px;
  background: none;
  padding: 0;
  color: #dac56d;
  font-size: 23px;
  line-height: 31px;
}
.auth-register-link {
  left: auto;
  right: 55px;
}
.auth-error {
  position: absolute;
  left: 35px;
  right: 35px;
  bottom: 107px;
  text-align: center;
  color: #ffd2a5;
  margin: 0;
  font-size: 21px;
  line-height: 27px;
  pointer-events: none;
}
.auth-detail-form {
  padding: 142px 0 0 171px;
}
.auth-detail-form .auth-form-row {
  grid-template-columns: 160px 410px;
  gap: 18px;
  margin-bottom: 35px;
}
.auth-detail-form .auth-confirm {
  bottom: 10px;
}
.auth-detail-form .auth-error {
  bottom: 110px;
}
.auth-code {
  flex: 0 0 140px;
  height: 55px;
  padding: 0;
  background: url("../assets/images/hall_common_tabBtn_01_png.png") center/100%
    100% no-repeat;
  white-space: nowrap;
  font-size: 22px;
}
.auth-code:disabled {
  opacity: 0.65;
  font-size: 19px;
}
.auth-account-list {
  position: absolute;
  top: 106px;
  left: 28px;
  right: 28px;
  bottom: 118px;
}
.auth-account-row {
  height: 90px;
  margin-bottom: 14px;
  padding: 0 14px 0 20px;
  display: grid;
  grid-template-columns: 265px 1fr 145px;
  align-items: center;
  gap: 8px;
  border-radius: 9px;
  background: linear-gradient(120deg, #a0c0e438, #a4b0dd48);
  font-size: 28px;
  color: #ffffcf;
}
.auth-account-row > span:nth-child(2) {
  color: #f1f3ff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.auth-account-row button {
  width: 145px;
  height: 58px;
  background: url("../assets/images/hall_common_tabBtn_01_png.png") center/100%
    100% no-repeat;
  font-size: 27px;
  letter-spacing: 8px;
  padding-left: 8px;
}
.auth-register-entry {
  bottom: 12px;
  color: #fff4cf;
  font-size: 31px;
  font-weight: 600;
  text-shadow: 0 2px 3px #71368a;
}
