
.player-demo-notice[data-v-58f5bb4f] {
  flex: 0 0 auto;
  margin: 0;
  padding: .625rem .875rem;
  border-block: 1px solid #e7bd52;
  color: #694506;
  background: #fff2c2;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  overflow-wrap: anywhere;
}

.player-loading strong[data-v-04c03f29]{max-width:calc(100vw - 40px);text-align:center}
.player-loading button[data-v-04c03f29]{width:auto;padding-inline:1.5rem;white-space:nowrap}

.service-icon[data-v-f98a57b0] { position: relative; display: inline-flex; align-items: center; justify-content: center; line-height: 1;
}
.service-unread-dot[data-v-f98a57b0] { position: absolute; top: -.2rem; right: -.25rem; width: .5rem; height: .5rem; border-radius: 50%; background: #ef4444; box-shadow: 0 0 0 2px #fff;
}

.player-demo-service-note[data-v-2270b99e] { grid-column: 1 / -1; margin: 0; color: #694506; font-size: .8125rem; line-height: 1.5;
}
.demo-service button[data-v-2270b99e]:disabled, .demo-service textarea[data-v-2270b99e]:disabled { opacity: 1; cursor: not-allowed; color: #5e7183; background: #eaf0f5; box-shadow: none;
}
.shared-image-viewer {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 4.5rem 1.25rem 1.5rem;
  color: #fff;
  background: rgba(2, 8, 18, 0.92);
  backdrop-filter: blur(0.5rem);
}

.shared-image-viewer-stage {
  width: 100%;
  height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
}

.shared-image-viewer-canvas {
  display: grid;
  min-width: 100%;
  min-height: 100%;
  place-items: center;
}

.shared-image-viewer-stage img {
  display: block;
  max-width: min(92vw, 100%);
  max-height: calc(100vh - 8rem);
  object-fit: contain;
  transition: width 120ms ease, height 120ms ease;
  user-select: none;
}

.shared-image-viewer-toolbar {
  position: fixed;
  z-index: 1;
  top: 1rem;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0.875rem;
  background: rgba(10, 22, 39, 0.94);
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.35);
  transform: translateX(-50%);
}

.shared-image-viewer button {
  display: grid;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 0.625rem;
  color: #fff;
  background: #152b48;
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
}

.shared-image-viewer button:hover {
  background: #245284;
}

.shared-image-viewer output {
  min-width: 4.25rem;
  color: #dcecff;
  font-size: 0.875rem;
  text-align: center;
}

.shared-image-viewer-close {
  position: fixed;
  z-index: 2;
  top: 1rem;
  right: 1rem;
  font-size: 1.375rem !important;
}

@media (max-width: 640px) {
  .shared-image-viewer {
    padding: 4.25rem 0.75rem 1rem;
  }

  .shared-image-viewer-stage img {
    max-width: 96vw;
    max-height: calc(100vh - 7rem);
  }

  .shared-image-viewer-toolbar {
    left: 0.75rem;
    transform: none;
  }
}
:root{--blue:#2d9df4;--blue-deep:#1f7fe4;--ink:#142a48;--muted:#7890ad;--line:#d9e9f6;--soft:#eef8ff;--white:#fff;--danger:#ef6574;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--palette-surface, #e9f2fb);font-synthesis:none}
/* Player 尺寸策略：文字、间距和组件尺寸使用 rem；精细边框、阴影、断点及画布绘制保留 px。 */
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at 50% 0,var(--palette-surface, #f9fcff) 0,var(--palette-surface, #eaf3fb) 48%,var(--palette-surface-soft, #e1ebf5) 100%)}button,input{font:inherit}button{cursor:pointer;outline:none}button:focus-visible{outline:2px solid rgba(var(--palette-focus-rgb, 45,157,244),0.55);outline-offset:0.125rem}.bottom-nav button:focus-visible{border-radius:0.75rem;outline:0;background:var(--palette-surface, #edf8ff)}button:disabled{cursor:wait;opacity:.58}[hidden]{display:none!important}.form-error{min-height:1.25rem;margin:0.25rem 0 0;color:var(--danger);font-size:0.75rem;line-height:1.5}.primary-button{width:100%;min-height:3rem;border:0;border-radius:0.9375rem;color:#fff;background:linear-gradient(135deg,var(--palette-primary, #55baff),var(--palette-primary, #2589ec));box-shadow:0 11px 24px rgba(var(--palette-shadow-rgb, 39,143,233),0.24);font-weight:800}

/* 登录注册 */
.auth-view{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:2rem 1.25rem;background:linear-gradient(145deg,var(--palette-surface, #edf9ff) 0,var(--palette-surface, #e2f1ff) 50%,var(--palette-surface, #f4f9ff) 100%)}.auth-view:before{position:absolute;content:"";inset:0;background-image:linear-gradient(rgba(var(--palette-primary-rgb, 60,150,230),0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--palette-primary-rgb, 60,150,230),0.04) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}.auth-glow{position:absolute;border-radius:50%;filter:blur(2px);opacity:.55}.auth-glow-a{top:-6.875rem;right:5%;width:22.5rem;height:22.5rem;background:radial-gradient(circle,var(--palette-primary, #8ed7ff),transparent 68%)}.auth-glow-b{bottom:-10rem;left:4%;width:26.25rem;height:26.25rem;background:radial-gradient(circle,var(--palette-surface-soft, #b2e8ff),transparent 68%)}.auth-shell{position:relative;width:min(29.375rem,100%);padding:1.875rem 2rem 1.625rem;border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.9);border-radius:1.875rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.88);box-shadow:0 30px 90px rgba(var(--palette-shadow-rgb, 48,108,163),0.17),inset 0 1px var(--palette-shadow, #fff);backdrop-filter:blur(18px)}.auth-brand{display:flex;align-items:center;gap:0.8125rem;margin-bottom:1.5rem}.brand-mark{display:grid;width:3rem;height:3rem;place-items:center;border-radius:1rem;background:var(--palette-surface, #e4f5ff);box-shadow:0 8px 24px rgba(var(--palette-shadow-rgb, 43,148,235),0.15)}.brand-mark img{width:2.5625rem;height:2.5625rem;object-fit:contain}.auth-brand small,.auth-brand strong{display:block}.auth-brand small{margin-bottom:0.1875rem;color:var(--palette-muted, #7b98b6);font-size:0.75rem;font-weight:800;letter-spacing:.16em}.auth-brand strong{font-size:1.125rem}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:1.5625rem;padding:0.25rem;border-radius:0.8125rem;background:var(--palette-surface, #edf5fb)}.auth-tabs button{height:2.5rem;border:0;border-radius:0.625rem;color:var(--palette-muted, #7990aa);background:transparent;font-size:0.8125rem;font-weight:700}.auth-tabs button.active{color:var(--palette-accent, #177dd6);background:var(--palette-surface, #fff);box-shadow:0 6px 18px rgba(var(--palette-shadow-rgb, 37,100,157),0.1)}.auth-intro{margin-bottom:1.375rem}.auth-intro p{margin:0 0 0.375rem;color:var(--palette-accent, #3098ec);font-size:0.75rem;font-weight:900;letter-spacing:.18em}.auth-intro h1{margin:0;font-size:1.75rem;letter-spacing:-.04em}.auth-intro span{display:block;margin-top:0.4375rem;color:var(--palette-muted, #8297ae);font-size:0.75rem}.auth-form{display:grid;gap:0.9375rem}.auth-form>label,.form-pair>label{display:grid;gap:0.4375rem;color:var(--palette-muted, #667f99);font-size:0.75rem;font-weight:700}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}.auth-input{display:flex;align-items:center;height:3.125rem;border:1px solid var(--palette-line, #d9e8f4);border-radius:0.875rem;background:var(--palette-surface, #f8fbfe);transition:.2s}.auth-input:focus-within{border-color:var(--palette-focus, #65b8f7);background:var(--palette-surface, #fff);box-shadow:0 0 0 4px rgba(var(--palette-shadow-rgb, 50,156,239),0.1)}.auth-input i{display:grid;width:2.625rem;place-items:center;color:var(--palette-accent, #58aef0);font-style:normal;font-size:1.0625rem}.auth-input input{min-width:0;flex:1;height:100%;border:0;outline:0;color:var(--palette-text, #1c3653);background:transparent;font-size:0.8125rem}.auth-input input::placeholder{color:var(--palette-muted, #a9bacb)}.auth-input button{height:100%;padding:0 0.875rem;border:0;color:var(--palette-accent, #409ee9);background:transparent;font-size:0.75rem}.captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 7.625rem;gap:0.625rem}.captcha-image{height:3.125rem;overflow:hidden;padding:0;border:1px solid var(--palette-line, #d9e8f4);border-radius:0.875rem;background:var(--palette-surface, #eef7fd)}.captcha-image img{display:block;width:100%;height:100%;object-fit:contain}.auth-submit{display:flex;align-items:center;justify-content:space-between;height:3.25rem;margin-top:0.125rem;padding:0 1.1875rem;border:0;border-radius:0.9375rem;color:#fff;background:linear-gradient(135deg,var(--palette-primary, #58bfff),var(--palette-primary, #2589ec));box-shadow:0 12px 26px rgba(var(--palette-shadow-rgb, 38,139,232),0.25);font-size:0.875rem;font-weight:800}.auth-submit span{display:grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:0.5625rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.18);font-size:1.0625rem}.auth-session{display:flex;align-items:center;justify-content:center;gap:0.4375rem;margin:1.1875rem 0 0;color:var(--palette-muted, #91a4b7);font-size:0.75rem}.auth-session i{width:0.375rem;height:0.375rem;border-radius:50%;background:var(--palette-green, #54d0aa);box-shadow:0 0 0 4px rgba(var(--palette-shadow-rgb, 84,208,170),0.12)}

.form-pair>label,.form-pair .auth-input{min-width:0}.form-pair .auth-input{width:100%}

/* 主容器 */
.phone-page{position:relative;width:min(53.75rem,100%);min-height:100vh;margin:0 auto;overflow:hidden;background:linear-gradient(180deg,var(--palette-surface, #fbfdff) 0,var(--palette-surface, #ecf7ff) 18%,var(--palette-surface, #edf7fd) 100%);box-shadow:0 0 70px rgba(var(--palette-shadow-rgb, 54,93,131),0.14)}.page-scroll{min-height:100vh;padding:0 0 7rem}.tab-panel{min-height:calc(100vh - 5.875rem)}.topbar{display:flex;align-items:center;justify-content:space-between;height:4.5rem;padding:0 1.6875rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.94)}.topbar-logo{display:flex;align-items:center;gap:0.625rem;min-width:0}.topbar-logo img{width:2.25rem;height:2.25rem;object-fit:contain}.topbar-logo strong{overflow:hidden;max-width:24.375rem;font-size:1.0625rem;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;gap:0.5625rem}.top-actions button,.sub-header>button,.mine-hero>button{display:grid;width:2.375rem;height:2.375rem;place-items:center;border:1px solid var(--palette-line, #d8e9f7);border-radius:0.8125rem;color:var(--palette-accent, #288fe5);background:var(--palette-surface, #f1f9ff);font-weight:900;box-shadow:0 7px 17px rgba(var(--palette-shadow-rgb, 31,121,197),0.1)}

/* 首页 */
.hero{position:relative;aspect-ratio:860/300;overflow:hidden;margin:0;border-radius:0 0 1.75rem 1.75rem;background:var(--palette-primary, #91d5ff);box-shadow:0 14px 28px rgba(var(--palette-shadow-rgb, 53,140,211),0.14)}.hero>img{display:block;width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;z-index:2;top:50%;left:6%;display:grid;max-width:45%;transform:translateY(-50%)}.hero-copy span{width:max-content;margin-bottom:0.5625rem;padding:0.3125rem 0.5625rem;border-radius:62.4375rem;color:var(--palette-accent, #1377ca);background:rgba(var(--palette-surface-rgb, 255,255,255),0.75);font-size:0.75rem;font-weight:900;letter-spacing:.13em}.hero-copy strong{color:var(--palette-text, #173b65);font-size:1.8125rem;line-height:1.15;letter-spacing:-.04em}.hero-copy small{margin-top:0.6875rem;color:var(--palette-text, #41688b);font-size:0.75rem}.hero-dots{position:absolute;z-index:3;right:1.4375rem;bottom:0.9375rem;display:flex;gap:0.3125rem}.hero-dots i{width:0.375rem;height:0.375rem;border-radius:0.625rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.55)}.hero-dots i.active{width:1.25rem;background:var(--palette-surface, #fff)}.notice-bar{display:grid;grid-template-columns:1.875rem minmax(0,1fr) auto;align-items:center;gap:0.5rem;margin:0.75rem 1.25rem 0;padding:0.5625rem 0.8125rem;border:1px solid var(--palette-line, #dcebf5);border-radius:62.4375rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.88);box-shadow:0 7px 18px rgba(var(--palette-shadow-rgb, 60,108,149),0.06)}.notice-icon{display:grid;width:1.6875rem;height:1.6875rem;place-items:center;border-radius:50%;color:#fff;background:var(--palette-primary, #57b2f4)}.notice-bar>div{overflow:hidden}.notice-bar p{display:block;overflow:hidden;margin:0;color:var(--palette-muted, #607b98);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.notice-bar button{border:0;color:var(--palette-accent, #3999e5);background:transparent;font-size:0.75rem}.account-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem;align-items:center;margin:0.875rem 1.25rem 0;padding:1.25rem 1.5rem;border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.95);border-radius:1.375rem;background:var(--palette-surface, #fff);box-shadow:0 13px 34px rgba(var(--palette-shadow-rgb, 54,116,166),0.1)}.account-copy>span{color:var(--palette-muted, #83a1bb);font-size:0.75rem;font-weight:900;letter-spacing:.15em}.account-copy>div{display:flex;align-items:baseline;gap:0.5625rem;margin-top:0.25rem}.account-copy>div strong{font-size:1rem}.account-copy>div small{color:var(--palette-muted, #8da3b8);font-size:0.75rem}.account-copy p{display:flex;align-items:baseline;gap:0.625rem;margin:0.5rem 0 0}.account-copy b{color:var(--palette-text, #152c47);font-size:2.125rem;line-height:1}.account-copy em{color:var(--palette-muted, #8ca1b6);font-size:0.75rem;font-style:normal}.quick-actions{display:flex;gap:1.375rem}.quick-actions button{display:grid;gap:0.375rem;justify-items:center;border:0;color:var(--palette-muted, #58738f);background:transparent;font-size:0.75rem}.quick-actions i{display:grid;width:2.6875rem;height:2.6875rem;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--palette-primary, #60c5ff),var(--palette-primary, #258ded));box-shadow:0 8px 18px rgba(var(--palette-shadow-rgb, 38,146,233),0.27);font-size:1.0625rem;font-style:normal}.section-title{display:flex;align-items:end;justify-content:space-between;margin:1.75rem 1.5rem 0.8125rem}.section-title small,.sub-header small,.mine-hero small,.mine-card-head small{color:var(--palette-accent, #4aa8ed);font-size:0.75rem;font-weight:900;letter-spacing:.16em}.section-title h2{margin:0.25rem 0 0;font-size:1.25rem}.section-title button{border:0;color:var(--palette-accent, #4b9fe0);background:transparent;font-size:0.75rem}.featured-rooms{display:grid;grid-template-columns:1.08fr .92fr;grid-template-rows:repeat(2,9.6875rem);gap:0.75rem;padding:0 1.25rem}.featured-room{position:relative;overflow:hidden;padding:0;border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.95);border-radius:1.25rem;background:linear-gradient(140deg,var(--palette-surface-soft, #dff5ff),var(--palette-surface-soft, #a8dcff));box-shadow:0 10px 24px rgba(var(--palette-shadow-rgb, 47,120,180),0.1);text-align:left}.featured-room:first-child{grid-row:1/3}.featured-room img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.featured-room.has-icon img{inset:auto 2% 3% auto;width:62%;height:78%;object-fit:contain}.room-copy{position:absolute;z-index:2;top:1.25rem;left:1.25rem;display:grid;max-width:60%}.room-copy strong{color:var(--palette-text, #163a60);font-size:1.25rem}.room-copy span{margin-top:0.3125rem;color:var(--palette-accent, #527897);font-size:0.75rem;line-height:1.5}.room-copy em{width:max-content;margin-top:0.6875rem;padding:0.3125rem 0.5rem;border-radius:62.4375rem;color:var(--palette-accent, #238bdb);background:rgba(var(--palette-surface-rgb, 255,255,255),0.72);font-size:0.75rem;font-style:normal}.featured-room.sleep:after,.room-item.sleep:after{position:absolute;z-index:4;content:"休息中";top:0.75rem;right:0.75rem;padding:0.3125rem 0.5rem;border-radius:62.4375rem;color:#fff;background:rgba(var(--palette-overlay-rgb, 42,68,95),0.72);font-size:0.75rem}.home-activities{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem;padding:1.5rem 1.25rem 0}.home-activity{display:flex;align-items:center;gap:0.8125rem;padding:0.8125rem;border:1px solid var(--palette-line, #e1edf6);border-radius:1.0625rem;background:var(--palette-surface, #fff);box-shadow:0 8px 20px rgba(var(--palette-shadow-rgb, 56,105,145),0.06)}.home-activity img{width:3.375rem;height:3.375rem;border-radius:0.875rem;object-fit:cover;background:var(--palette-surface-soft, #dff2ff)}.home-activity div{min-width:0}.home-activity strong,.home-activity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-activity strong{font-size:0.75rem}.home-activity span{margin-top:0.3125rem;color:var(--palette-muted, #8ca0b4);font-size:0.75rem}

/* 子页面与房间 */
.sub-header{display:flex;align-items:center;gap:1rem;padding:1.625rem 1.5rem 1.25rem;background:var(--palette-surface, #fff)}.sub-header>button,.mine-hero>button{font-size:1.5rem}.sub-header div{min-width:0}.sub-header h1{margin:0.25rem 0 0;font-size:1.5625rem}.sub-header>span{margin-left:auto;color:var(--palette-muted, #8198b0);font-size:0.75rem}.game-filters{display:flex;gap:0.5rem;overflow-x:auto;padding:0.875rem 1.25rem}.game-filters button{flex:0 0 auto;height:2.1875rem;padding:0 0.9375rem;border:1px solid var(--palette-line, #d9e8f4);border-radius:62.4375rem;color:var(--palette-muted, #718ba5);background:var(--palette-surface, #fff);font-size:0.75rem}.game-filters button.active{border-color:var(--palette-focus, #399ce9);color:#fff;background:linear-gradient(135deg,var(--palette-primary, #59bbfb),var(--palette-primary, #2c8ee9));box-shadow:0 7px 16px rgba(var(--palette-shadow-rgb, 49,148,229),0.2)}.room-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.8125rem;padding:0.25rem 1.25rem 1.5rem}.room-item{position:relative;display:grid;grid-template-columns:6.375rem minmax(0,1fr);min-height:8rem;overflow:hidden;padding:0;border:1px solid var(--palette-line, #dceaf5);border-radius:1.1875rem;background:var(--palette-surface, #fff);box-shadow:0 9px 21px rgba(var(--palette-shadow-rgb, 54,105,148),0.07);text-align:left}.room-item>img{width:100%;height:100%;object-fit:cover;background:var(--palette-surface-soft, #dff3ff)}.room-item>div{align-self:center;min-width:0;padding:1rem 0.875rem}.room-item strong,.room-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-item strong{font-size:0.875rem}.room-item span{margin-top:0.375rem;color:var(--palette-accent, #338fd6);font-size:0.75rem}.empty{grid-column:1/-1;padding:4.375rem 1.25rem;color:var(--palette-muted, #8ca1b5);text-align:center}

/* 活动与我的 */
.activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.875rem;padding:0.9375rem 1.25rem 1.75rem}.activity-card{overflow:hidden;padding:0;border:1px solid var(--palette-line, #dceaf5);border-radius:1.25rem;background:var(--palette-surface, #fff);box-shadow:0 10px 25px rgba(var(--palette-shadow-rgb, 50,105,149),0.08);text-align:left}.activity-card img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;background:linear-gradient(135deg,var(--palette-surface-soft, #c9edff),var(--palette-primary, #6ec3ff))}.activity-card div{padding:1rem}.activity-card strong,.activity-card span{display:block}.activity-card strong{font-size:0.875rem}.activity-card span{overflow:hidden;margin-top:0.4375rem;color:var(--palette-muted, #8197ad);font-size:0.75rem;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.mine-hero{display:flex;align-items:center;gap:1rem;padding:1.75rem 1.5625rem 4.375rem;background:linear-gradient(145deg,var(--palette-surface-soft, #b9eaff),var(--palette-primary, #54b4fa));border-radius:0 0 2.125rem 2.125rem}.mine-hero>button{align-self:flex-start;background:rgba(var(--palette-surface-rgb, 255,255,255),0.68)}.mine-avatar{display:grid;width:4.5rem;height:4.5rem;place-items:center;border:4px solid rgba(var(--palette-line-rgb, 255,255,255),0.8);border-radius:1.5rem;color:#fff;background:linear-gradient(135deg,var(--palette-primary, #318fe4),var(--palette-primary, #176ec8));box-shadow:0 15px 30px rgba(var(--palette-shadow-rgb, 20,105,181),0.25);font-size:1.625rem;font-weight:900}.mine-hero h1{margin:0.3125rem 0 0.125rem;color:var(--palette-text, #153857);font-size:1.5rem}.mine-hero p{margin:0;color:var(--palette-accent, #42779d);font-size:0.75rem}.mine-hero small{color:#fff}.mine-balance{display:grid;grid-template-columns:repeat(3,1fr);margin:-2.625rem 1.25rem 1rem;padding:1.3125rem 0.625rem;border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.95);border-radius:1.25rem;background:var(--palette-surface, #fff);box-shadow:0 13px 32px rgba(var(--palette-shadow-rgb, 44,108,158),0.13)}.mine-balance div{padding:0 0.875rem;text-align:center}.mine-balance div+div{border-left:1px solid var(--palette-line, #e2edf5)}.mine-balance span,.mine-balance strong{display:block}.mine-balance span{color:var(--palette-muted, #8aa0b5);font-size:0.75rem}.mine-balance strong{margin-top:0.4375rem;font-size:1.125rem}.mine-card{margin:0.8125rem 1.25rem;padding:1.375rem;border:1px solid var(--palette-line, #deebf5);border-radius:1.25rem;background:var(--palette-surface, #fff);box-shadow:0 9px 24px rgba(var(--palette-shadow-rgb, 51,102,144),0.07)}.mine-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1875rem}.mine-card-head h2{margin:0.3125rem 0 0;font-size:1.0625rem}.mine-card-head>span{padding:0.375rem 0.5625rem;border-radius:62.4375rem;color:var(--palette-accent, #318fda);background:var(--palette-surface, #eaf7ff);font-size:0.75rem}.mine-card form{display:grid;grid-template-columns:1fr 1fr;gap:0.8125rem}.mine-card form label{display:grid;gap:0.4375rem;color:var(--palette-muted, #71889f);font-size:0.75rem}.mine-card form input{height:2.8125rem;padding:0 0.75rem;border:1px solid var(--palette-line, #d8e7f2);border-radius:0.75rem;outline:0;color:var(--palette-text, #1a3550);background:var(--palette-surface, #f8fbfe)}.mine-card form input:focus{border-color:var(--palette-focus, #5ab3f5);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 47,151,233),0.1)}.mine-card form .form-error,.mine-card form .primary-button{grid-column:1/-1}.menu-card{padding:0.3125rem 1.125rem}.menu-card button{display:flex;width:100%;align-items:center;justify-content:space-between;padding:0.9375rem 0.125rem;border:0;color:var(--palette-text, #294761);background:transparent}.menu-card button+button{border-top:1px solid var(--palette-line, #e3edf5)}.menu-card button>span{display:flex;align-items:center;gap:0.75rem}.menu-card i{display:grid;width:2.3125rem;height:2.3125rem;place-items:center;border-radius:0.75rem;color:var(--palette-accent, #2489dd);background:var(--palette-surface, #e8f6ff);font-style:normal}.menu-card b{font-size:0.75rem}.menu-card em{color:var(--palette-muted, #95a9bb);font-size:1.25rem;font-style:normal}.menu-card .logout{color:var(--palette-danger, #d85f70)}.menu-card .logout i{color:var(--palette-danger, #e76574);background:var(--palette-surface, #fff0f2)}

/* 底栏、弹层与提示 */
.bottom-nav{position:fixed;z-index:20;right:50%;bottom:0;display:grid;width:min(53.75rem,100%);grid-template-columns:repeat(5,1fr);padding:0.5625rem 1rem calc(0.5rem + env(safe-area-inset-bottom));border-top:1px solid rgba(var(--palette-line-rgb, 210,229,242),0.9);background:rgba(var(--palette-surface-rgb, 255,255,255),0.95);box-shadow:0 -10px 30px rgba(var(--palette-shadow-rgb, 58,101,137),0.09);transform:translateX(50%);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;gap:0.1875rem;justify-items:center;min-height:3.5625rem;border:0;color:var(--palette-muted, #92a6b9);background:transparent;font-size:0.75rem}.bottom-nav i{display:grid;width:1.875rem;height:1.875rem;place-items:center;border-radius:0.6875rem;font-size:1.0625rem;font-style:normal}.bottom-nav button.active{color:var(--palette-accent, #278fe6)}.bottom-nav button.active i{background:var(--palette-surface, #e9f7ff)}.bottom-nav .nav-center{position:relative;color:var(--palette-accent, #3b91d8)}.bottom-nav .nav-center i{width:3.1875rem;height:3.1875rem;margin-top:-1.5625rem;border:5px solid var(--palette-line, #f6fbff);border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--palette-primary, #58bdff),var(--palette-primary, #1984e7));box-shadow:0 7px 18px rgba(var(--palette-shadow-rgb, 28,130,219),0.28)}.dialog{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:1.25rem;background:rgba(var(--palette-overlay-rgb, 25,52,77),0.48);backdrop-filter:blur(8px)}.dialog-card{position:relative;width:min(26.875rem,100%);max-height:calc(100vh - 2.5rem);overflow-y:auto;padding:1.875rem;border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.9);border-radius:1.5625rem;background:var(--palette-surface, #fff);box-shadow:0 30px 80px rgba(var(--palette-shadow-rgb, 25,63,95),0.28)}.dialog-close{position:absolute;top:0.9375rem;right:0.9375rem;display:grid;width:2rem;height:2rem;place-items:center;border:0;border-radius:0.625rem;color:var(--palette-muted, #6f8aa4);background:var(--palette-surface, #edf6fc);font-size:1.1875rem}.dialog-code{display:block;margin-bottom:0.5rem;color:var(--palette-accent, #3196e6);font-size:0.75rem;font-weight:900;letter-spacing:.16em}.dialog-card h2{margin:0;color:var(--palette-text, #173551);font-size:1.4375rem}.dialog-card>p{color:var(--palette-muted, #71889f);font-size:0.75rem;line-height:1.8;white-space:pre-wrap}.dialog-meta{display:grid;grid-template-columns:1fr;gap:0.5625rem;margin:1.25rem 0}.dialog-meta span{padding:0.75rem;border:1px solid var(--palette-line, #dceaf4);border-radius:0.75rem;color:var(--palette-muted, #7890a7);background:var(--palette-surface, #f7fbfe);font-size:0.75rem}.dialog-meta b{display:block;margin-top:0.3125rem;color:var(--palette-text, #1d4467);font-size:0.8125rem}.activity-dialog-card>img{display:block;width:calc(100% + 3.75rem);max-height:13.75rem;margin:-1.875rem -1.875rem 1.5rem;object-fit:cover;background:var(--palette-surface-soft, #dff3ff)}.popup-card{text-align:center}.popup-badge{display:inline-block;margin-bottom:0.8125rem;padding:0.375rem 0.6875rem;border-radius:62.4375rem;color:var(--palette-accent, #2587d7);background:var(--palette-surface, #e6f6ff);font-size:0.75rem;font-weight:900;letter-spacing:.15em}.popup-card label{display:flex;align-items:center;justify-content:center;gap:0.4375rem;margin:1.125rem 0;color:var(--palette-muted, #7890a6);font-size:0.75rem}.popup-card input{accent-color:#3199e9}.toasts{position:fixed;z-index:60;top:1.125rem;left:50%;display:grid;gap:0.5625rem;width:min(24.375rem,calc(100% - 1.875rem));transform:translateX(-50%)}.toast{display:flex;align-items:flex-start;gap:0.6875rem;padding:0.8125rem 0.875rem;border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.8);border-radius:0.9375rem;color:var(--palette-text, #31506b);background:rgba(var(--palette-surface-rgb, 255,255,255),0.95);box-shadow:0 16px 38px rgba(var(--palette-shadow-rgb, 32,77,113),0.17);backdrop-filter:blur(12px)}.toast i{flex:0 0 auto;width:0.4375rem;height:0.4375rem;margin-top:0.3125rem;border-radius:50%;background:var(--palette-primary, #43b2f7);box-shadow:0 0 0 5px rgba(var(--palette-shadow-rgb, 67,178,247),0.12)}.toast.error i{background:var(--palette-warm, #ef6574);box-shadow:0 0 0 5px rgba(var(--palette-shadow-rgb, 239,101,116),0.12)}.toast strong,.toast span{display:block}.toast strong{font-size:0.75rem}.toast span{margin-top:0.25rem;color:var(--palette-muted, #7890a6);font-size:0.75rem;line-height:1.5}

@media(max-width:700px){.phone-page{box-shadow:none}.topbar{height:3.75rem;padding:0 1rem}.topbar-logo img{width:2rem;height:2rem}.topbar-logo strong{max-width:13.125rem;font-size:0.875rem}.top-actions button{width:2.125rem;height:2.125rem}.hero{border-radius:0 0 1.25rem 1.25rem}.hero-copy{left:5%;max-width:50%}.hero-copy strong{font-size:1.25rem}.hero-copy small{font-size:0.75rem}.notice-bar{margin:0.5625rem 0.75rem 0;padding-block:0.4375rem}.account-card{margin:0.625rem 0.75rem 0;padding:1rem;gap:0.625rem}.account-copy b{font-size:1.75rem}.quick-actions{gap:0.6875rem}.quick-actions i{width:2.375rem;height:2.375rem}.section-title{margin:1.4375rem 1rem 0.6875rem}.featured-rooms{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,8.125rem);gap:0.5625rem;padding:0 0.75rem}.room-copy{top:0.9375rem;left:0.9375rem}.room-copy strong{font-size:1rem}.home-activities{padding:1.125rem 0.75rem 0}.sub-header{padding:1.25rem 1rem 0.9375rem}.game-filters{padding-inline:0.75rem}.room-list{gap:0.625rem;padding:0.1875rem 0.75rem 1.25rem}.room-item{grid-template-columns:5.25rem minmax(0,1fr);min-height:6.875rem}.room-item>div{padding:0.75rem 0.625rem}.activity-list{gap:0.625rem;padding:0.75rem}.mine-hero{padding:1.375rem 1rem 3.9375rem}.mine-balance{margin-inline:0.75rem}.mine-card{margin-inline:0.75rem}.bottom-nav{padding-inline:0.3125rem}}
@media(max-width:470px){.auth-view{padding:0;background:var(--palette-surface, #eef8ff)}.auth-shell{min-height:100vh;padding:1.5625rem 1.25rem;border:0;border-radius:0;background:rgba(var(--palette-surface-rgb, 255,255,255),0.92);box-shadow:none}.auth-brand{margin-bottom:1.25rem}.auth-tabs{margin-bottom:1.3125rem}.auth-intro h1{font-size:1.5625rem}.form-pair{grid-template-columns:1fr}.auth-input,.captcha-image{height:3rem}.captcha-row{grid-template-columns:minmax(0,1fr) 6.75rem}.hero{aspect-ratio:390/158}.hero-copy strong{font-size:1.0625rem}.hero-copy small{display:none}.account-card{grid-template-columns:minmax(0,1fr) auto}.account-copy>span{display:none}.account-copy>div{display:block}.account-copy>div small{display:block;margin-top:0.125rem}.account-copy p{margin-top:0.4375rem}.account-copy em{display:none}.quick-actions{gap:0.4375rem}.quick-actions button:nth-child(2){display:none}.featured-rooms{grid-template-rows:repeat(2,7.5625rem)}.room-copy{max-width:68%}.room-copy span{display:none}.featured-room:first-child .room-copy strong{font-size:1.125rem}.home-activities{grid-template-columns:1fr}.room-list{grid-template-columns:1fr}.room-item{grid-template-columns:5.875rem minmax(0,1fr)}.activity-list{grid-template-columns:1fr}.mine-hero{gap:0.75rem}.mine-avatar{width:3.8125rem;height:3.8125rem;border-radius:1.25rem}.mine-balance{padding-inline:0.125rem}.mine-balance div{padding-inline:0.4375rem}.mine-balance strong{font-size:0.9375rem}.mine-card{padding:1.125rem}.mine-card form{grid-template-columns:1fr}.mine-card form .form-error,.mine-card form .primary-button{grid-column:1}.dialog-card{padding:1.5rem}.activity-dialog-card>img{width:calc(100% + 3rem);margin:-1.5rem -1.5rem 1.3125rem}.bottom-nav button{font-size:0.75rem}}

/* 上下分、客服、代理与玩家资料 */
.sub-tabs{display:flex;gap:0.5rem;overflow-x:auto;padding:1.0625rem 1.25rem 0.1875rem}.sub-tabs button,.payment-tabs button{flex:0 0 auto;height:2.375rem;padding:0 1rem;border:1px solid var(--palette-line, #d7e7f3);border-radius:62.4375rem;color:var(--palette-muted, #718ba5);background:var(--palette-surface, #fff);font-size:0.75rem;font-weight:700}.sub-tabs button.active,.payment-tabs button.active{border-color:var(--palette-focus, #399ce9);color:#fff;background:linear-gradient(135deg,var(--palette-primary, #59bbfb),var(--palette-primary, #2c8ee9));box-shadow:0 7px 16px rgba(var(--palette-shadow-rgb, 49,148,229),0.2)}.finance-shell{padding-bottom:1.75rem}.finance-card{margin:0.875rem 1.25rem;padding:1.4375rem;border:1px solid var(--palette-line, #dceaf5);border-radius:1.3125rem;background:var(--palette-surface, #fff);box-shadow:0 10px 26px rgba(var(--palette-shadow-rgb, 49,105,151),0.08)}.finance-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.finance-card-head small,.agent-card>span,.contact-card>span,.chat-card header small,.agent-list-head span{color:var(--palette-accent, #3d9de7);font-size:0.75rem;font-weight:900;letter-spacing:.16em}.finance-card-head h2,.agent-card h2,.contact-card h2,.chat-card h2,.agent-list-head h2{margin:0.3125rem 0 0;font-size:1.1875rem}.finance-card-head>span{padding:0.375rem 0.5625rem;border-radius:62.4375rem;color:var(--palette-accent, #2493dd);background:var(--palette-surface, #e9f7ff);font-size:0.75rem}.finance-card-head>span.closed{color:var(--palette-danger, #d95d6d);background:var(--palette-surface, #fff0f2)}.finance-warning{padding:0.6875rem 0.8125rem;border-radius:0.75rem;color:var(--palette-danger, #bf5664);background:var(--palette-surface, #fff1f3);font-size:0.75rem}.finance-card form{display:grid;gap:0.875rem}.finance-card form>label,.finance-card .form-pair label,.payment-root form>label{display:grid;gap:0.4375rem;color:var(--palette-muted, #6e879f);font-size:0.75rem}.finance-card input,.finance-card select,.finance-card textarea,.payment-root input{width:100%;padding:0 0.8125rem;border:1px solid var(--palette-line, #d7e7f3);border-radius:0.75rem;outline:0;color:var(--palette-text, #183752);background:var(--palette-surface, #f8fbfe)}.finance-card input,.finance-card select,.payment-root input{height:2.875rem}.finance-card textarea{padding-block:0.6875rem;resize:vertical}.finance-card input:focus,.finance-card select:focus,.finance-card textarea:focus,.payment-root input:focus{border-color:var(--palette-focus, #53acf0);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 45,157,244),0.1)}.payment-preview{min-height:5.625rem;border:1px dashed var(--palette-line, #c9deed);border-radius:0.875rem;background:var(--palette-surface, #f4faff)}.payment-preview.image{display:flex;align-items:center;gap:0.9375rem;padding:0.75rem;color:var(--palette-muted, #718ba3);font-size:0.75rem}.payment-preview.image img{width:5.625rem;height:5.625rem;border-radius:0.625rem;object-fit:contain;background:var(--palette-surface, #fff)}.payment-preview.text{display:grid;align-content:center;gap:0.3125rem;padding:1rem}.payment-preview.text span{color:var(--palette-muted, #728aa2);font-size:0.75rem}.payment-preview.text strong{color:var(--palette-text, #1e486c);font-size:1.0625rem}.payment-preview.text small{color:var(--palette-muted, #88a0b4)}.empty-payment{display:grid;place-items:center;color:var(--palette-muted, #8ba1b5);font-size:0.75rem}.player-record-list{display:grid;gap:0.625rem;padding:0.9375rem 1.25rem}.player-record-list article{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;gap:0.75rem;align-items:center;padding:0.9375rem;border:1px solid var(--palette-line, #dceaf5);border-radius:1rem;background:var(--palette-surface, #fff);box-shadow:0 7px 18px rgba(var(--palette-shadow-rgb, 47,101,145),0.05)}.player-record-icon{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:0.8125rem;font-weight:900}.player-record-icon.up{color:var(--palette-success, #178d71);background:var(--palette-surface-soft, #e3faf3)}.player-record-icon.down{color:var(--palette-danger, #d65b6b);background:var(--palette-surface, #fff0f2)}.player-record-list strong,.player-record-list small,.player-record-list p{display:block}.player-record-list article>div{min-width:0}.player-record-list article>div strong{font-size:0.75rem}.player-record-list article>div small{margin-top:0.3125rem;color:var(--palette-muted, #8aa0b4);font-size:0.75rem}.player-record-list p{overflow:hidden;margin:0.3125rem 0 0;color:var(--palette-muted, #728aa2);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.player-record-list article>b{color:var(--palette-muted, #50718c);font-size:0.75rem}.player-record-list .record-state-1{color:var(--palette-danger, #d49326)}.player-record-list .record-state-2{color:var(--palette-success, #198b70)}.player-record-list .record-state-3{color:var(--palette-danger, #d65b6b)}.player-pages{display:flex;justify-content:center;gap:0.4375rem;padding:0.5rem 1.25rem}.player-pages button{width:2.125rem;height:2.125rem;border:1px solid var(--palette-line, #d6e7f3);border-radius:0.625rem;color:var(--palette-muted, #66829c);background:var(--palette-surface, #fff)}.player-pages button.active{border-color:var(--palette-focus, #3599e7);color:#fff;background:var(--palette-primary, #3599e7)}.player-service-root,.agent-root{padding:0.9375rem 1.25rem 1.75rem}.chat-card,.contact-card,.agent-card{overflow:hidden;padding:1.4375rem;border:1px solid var(--palette-line, #dceaf5);border-radius:1.3125rem;background:var(--palette-surface, #fff);box-shadow:0 10px 26px rgba(var(--palette-shadow-rgb, 49,105,151),0.08)}.chat-card header{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.0625rem;border-bottom:1px solid var(--palette-line, #e2edf5)}.chat-card header>span{padding:0.375rem 0.5625rem;border-radius:62.4375rem;color:var(--palette-accent, #238ed9);background:var(--palette-surface, #eaf7ff);font-size:0.75rem}.player-service-messages{display:flex;height:29.375rem;flex-direction:column;gap:0.625rem;overflow:auto;padding:1.25rem 0.25rem}.player-message{display:grid;align-self:flex-start;max-width:76%;gap:0.25rem}.player-message.mine{align-self:flex-end;justify-items:end}.player-message>div{padding:0.625rem 0.8125rem;border-radius:0.25rem 0.9375rem 0.9375rem;color:var(--palette-text, #43617c);background:var(--palette-surface, #edf5fb);font-size:0.75rem;line-height:1.6;white-space:pre-wrap}.player-message.mine>div{border-radius:0.9375rem 0.25rem 0.9375rem 0.9375rem;color:#fff;background:linear-gradient(135deg,var(--palette-primary, #54b7f8),var(--palette-primary, #268be9))}.player-message.revoked>div{color:var(--palette-muted, #8ca0b3);background:var(--palette-surface, #f1f4f6);font-style:italic}.player-message small{color:var(--palette-muted, #98aabc);font-size:0.75rem}.chat-card form{display:grid;grid-template-columns:minmax(0,1fr) 8.125rem;gap:0.625rem;padding-top:0.875rem;border-top:1px solid var(--palette-line, #e2edf5)}.chat-card textarea{min-height:3.625rem;resize:none;padding:0.6875rem 0.75rem;border:1px solid var(--palette-line, #d7e7f3);border-radius:0.8125rem;outline:0;color:var(--palette-text, #193651);background:var(--palette-surface, #f8fbfe)}.chat-card textarea:focus{border-color:var(--palette-focus, #53acf0)}.contact-card{display:grid;justify-items:center;max-width:32.5rem;margin:0.9375rem auto;text-align:center}.contact-card h2{margin-top:0.5625rem}.contact-card p,.agent-card p{color:var(--palette-muted, #7890a7);font-size:0.75rem;line-height:1.8}.contact-card img{width:min(17.5rem,80%);aspect-ratio:1;margin:0.9375rem;border-radius:1.125rem;object-fit:contain;background:var(--palette-surface, #f4faff)}.contact-card .primary-button{display:grid;width:min(17.5rem,100%);place-items:center;text-decoration:none}.agent-root{display:grid;gap:0.8125rem}.agent-card.locked{text-align:center}.invite-link{display:flex;gap:0.5625rem;margin-top:1.125rem}.invite-link input{min-width:0;flex:1;height:2.75rem;padding:0 0.75rem;border:1px solid var(--palette-line, #d7e7f3);border-radius:0.75rem;color:var(--palette-text, #4b6c86);background:var(--palette-surface, #f7fbfe);outline:0}.invite-link button{padding:0 1rem;border:0;border-radius:0.75rem;color:#fff;background:var(--palette-primary, #2d95e8);font-weight:800}.agent-list-head{display:flex;align-items:center;justify-content:space-between}.agent-list-head>strong{display:grid;width:2.875rem;height:2.875rem;place-items:center;border-radius:0.875rem;color:var(--palette-accent, #1884d5);background:var(--palette-surface, #e6f6ff);font-size:1.125rem}.agent-player-list{display:grid;margin:1.0625rem -1.4375rem -1.4375rem}.agent-player-list article{display:grid;grid-template-columns:2.625rem minmax(0,1fr) auto;gap:0.6875rem;align-items:center;padding:0.8125rem 1.4375rem;border-top:1px solid var(--palette-line, #e2edf5)}.agent-player-list article>span{display:grid;width:2.625rem;height:2.625rem;place-items:center;border-radius:0.8125rem;color:#fff;background:linear-gradient(135deg,var(--palette-primary, #59baf9),var(--palette-primary, #2d8be4));font-weight:900}.agent-player-list strong,.agent-player-list small{display:block}.agent-player-list strong{font-size:0.75rem}.agent-player-list small{margin-top:0.25rem;color:var(--palette-muted, #8ca1b5);font-size:0.75rem}.agent-player-list article>b{color:var(--palette-muted, #8298ad);font-size:0.75rem}.mine-avatar.has-image{color:transparent;background-position:center;background-size:cover}.payment-root{display:grid;gap:0.875rem}.payment-tabs{display:flex;gap:0.4375rem;overflow-x:auto}.payment-tabs button{height:2.125rem;padding-inline:0.8125rem}.payment-root form{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem}.payment-root form .form-error,.payment-root form .primary-button,.payment-current-image,.payment-current-empty,.payment-clear{grid-column:1/-1}.payment-current-image{display:block;width:9.375rem;height:9.375rem;margin:0 auto;border:1px solid var(--palette-line, #dceaf5);border-radius:1rem;object-fit:contain;background:var(--palette-surface, #f5fbff)}.payment-current-empty{padding:1.875rem;border:1px dashed var(--palette-line, #c9deed);border-radius:0.875rem;color:var(--palette-muted, #91a5b7);text-align:center}.payment-clear{display:flex!important;align-items:center;grid-auto-flow:column;justify-content:start!important}.payment-clear input{width:auto!important;height:auto!important;accent-color:#2d95e8}
@media(max-width:700px){.sub-tabs{padding-inline:0.75rem}.finance-card,.player-service-root,.agent-root{margin-inline:0.75rem}.finance-card{margin-top:0.75rem}.player-service-root,.agent-root{padding-inline:0}.player-service-messages{height:26.25rem}.chat-card form{grid-template-columns:1fr}.chat-card form .primary-button{min-height:2.75rem}.payment-root form{grid-template-columns:1fr}.payment-root form .form-error,.payment-root form .primary-button,.payment-current-image,.payment-current-empty,.payment-clear{grid-column:1}.agent-player-list article{padding-inline:1.0625rem}}
@media(max-width:470px){.quick-actions button:nth-child(2){display:grid}.finance-card{padding:1.125rem}.finance-card .form-pair{grid-template-columns:1fr}.player-record-list{padding-inline:0.75rem}.player-record-list article{grid-template-columns:2.5rem minmax(0,1fr)}.player-record-list article>b{grid-column:2}.player-service-root,.agent-root{margin-inline:0}.chat-card,.contact-card,.agent-card{border-radius:0;border-inline:0}.player-message{max-width:88%}.invite-link{flex-direction:column}.invite-link button{height:2.625rem}.agent-player-list article>b{display:none}}

/* 代理返点汇总与账单 */
.agent-reward-stats{display:grid;grid-template-columns:1fr 1fr;gap:0.625rem}.agent-reward-stats>div{padding:1.1875rem 1.3125rem;border:1px solid var(--palette-line, #dceaf5);border-radius:1.125rem;background:linear-gradient(145deg,var(--palette-surface, #fff),var(--palette-surface, #f3faff));box-shadow:0 8px 22px rgba(var(--palette-shadow-rgb, 49,105,151),0.07)}.agent-reward-stats span,.agent-reward-stats strong,.agent-reward-stats small{display:block}.agent-reward-stats span{color:var(--palette-accent, #3d9de7);font-size:0.75rem;font-weight:900;letter-spacing:.14em}.agent-reward-stats strong{margin:0.5rem 0 0.25rem;color:var(--palette-text, #183f60);font-size:1.5rem}.agent-reward-stats small{color:var(--palette-muted, #8aa0b4);font-size:0.75rem}.agent-reward-list{display:grid;margin:1.0625rem -1.4375rem -1.4375rem}.agent-reward-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:0.75rem;align-items:center;padding:0.875rem 1.4375rem;border-top:1px solid var(--palette-line, #e2edf5)}.agent-reward-list strong,.agent-reward-list small{display:block}.agent-reward-list strong{color:var(--palette-text, #315571);font-size:0.75rem}.agent-reward-list small{margin-top:0.3125rem;color:var(--palette-muted, #91a5b7);font-size:0.75rem}.agent-reward-list article>span{color:var(--palette-muted, #7991a7);font-size:0.75rem}.agent-reward-list article>b{color:var(--palette-success, #188b70);font-size:0.8125rem}
@media(max-width:470px){.agent-reward-stats{padding-inline:0.75rem}.agent-reward-stats>div{padding:1rem}.agent-reward-stats strong{font-size:1.25rem}.agent-reward-list article{grid-template-columns:minmax(0,1fr) auto;padding-inline:1.0625rem}.agent-reward-list article>span{grid-column:1}.agent-reward-list article>b{grid-column:2;grid-row:1/3}}

/* 二维码图片仅用于本地识别，展示图由保存的二维码文本即时生成 */
.payment-qr-note{display:block;color:var(--palette-muted, #8ba0b4);font-size:0.75rem;line-height:1.55}.payment-current-image,.payment-preview.image img,.contact-card img{image-rendering:auto}

/* 玩家签到、幸运转盘与福利记录 */
.benefit-root{display:grid;gap:0.875rem;padding:1rem 1.25rem 2.125rem}.benefit-checkin-card,.benefit-wheel-card,.benefit-log-card{overflow:hidden;border:1px solid var(--palette-line, #dceaf5);border-radius:1.375rem;background:var(--palette-surface, #fff);box-shadow:0 10px 27px rgba(var(--palette-shadow-rgb, 48,104,150),0.08)}.benefit-checkin-card{padding:1.4375rem;background:linear-gradient(145deg,var(--palette-surface, #fff),var(--palette-surface, #f2faff))}.benefit-checkin-copy>span,.benefit-wheel-card header span,.benefit-log-card header span{color:var(--palette-accent, #3199e8);font-size:0.75rem;font-weight:900;letter-spacing:.16em}.benefit-checkin-copy h2,.benefit-wheel-card h2,.benefit-log-card h2{margin:0.3125rem 0 0;color:var(--palette-text, #183a57);font-size:1.1875rem}.benefit-checkin-copy p{margin:0.5rem 0 0;color:var(--palette-muted, #7890a7);font-size:0.75rem;line-height:1.65}.benefit-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0.4375rem;margin:1.3125rem 0}.benefit-days div{display:grid;gap:0.375rem;justify-items:center;color:var(--palette-muted, #93a6b8);font-size:0.75rem}.benefit-days i{display:grid;width:2.125rem;height:2.125rem;place-items:center;border:1px solid var(--palette-line, #d5e7f3);border-radius:0.6875rem;color:var(--palette-muted, #7992a8);background:var(--palette-surface, #f7fbfe);font-style:normal;font-weight:800}.benefit-days div.complete{color:var(--palette-accent, #268bd9)}.benefit-days div.complete i{border-color:var(--palette-line, #78c4f6);color:#fff;background:linear-gradient(145deg,var(--palette-primary, #59bbfa),var(--palette-primary, #268ce7));box-shadow:0 7px 15px rgba(var(--palette-shadow-rgb, 45,148,231),0.2)}.benefit-checkin-action{display:flex;align-items:center;justify-content:space-between;gap:0.875rem;padding-top:1.0625rem;border-top:1px solid var(--palette-line, #e3edf5)}.benefit-checkin-action>div{flex:0 0 5.125rem}.benefit-checkin-action strong,.benefit-checkin-action small{display:block}.benefit-checkin-action strong{color:var(--palette-text, #245176);font-size:1.125rem;white-space:nowrap}.benefit-checkin-action small{margin-top:0.1875rem;color:var(--palette-muted, #8ba0b4);font-size:0.75rem}.benefit-checkin-action .primary-button{flex:0 1 15rem;width:auto;min-width:9.375rem}.benefit-wheel-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.875rem}.benefit-wheel-card{padding:1.3125rem;text-align:center}.benefit-wheel-card>header,.benefit-log-card>header{display:flex;align-items:center;justify-content:space-between;text-align:left}.benefit-wheel-card header>strong{display:flex;align-items:baseline;gap:0.25rem;padding:0.4375rem 0.625rem;border-radius:62.4375rem;color:var(--palette-accent, #278fdc);background:var(--palette-surface, #e9f7ff);font-size:0.75rem}.benefit-wheel-card header>strong b{font-size:1rem}.benefit-wheel-card.premium header>strong{color:var(--palette-danger, #a96716);background:var(--palette-surface-soft, #fff4dc)}.benefit-wheel-stage{position:relative;width:14.5rem;height:14.5rem;margin:1.375rem auto 1.0625rem}.benefit-wheel{position:absolute;inset:0.4375rem;border:8px solid var(--palette-line, #f0f7fc);border-radius:50%;background:conic-gradient(var(--palette-primary, #75ccfb) 0 60deg,var(--palette-surface, #e5f6ff) 60deg 120deg,var(--palette-primary, #75ccfb) 120deg 180deg,var(--palette-surface, #e5f6ff) 180deg 240deg,var(--palette-primary, #75ccfb) 240deg 300deg,var(--palette-surface, #e5f6ff) 300deg 360deg);box-shadow:0 13px 34px rgba(var(--palette-shadow-rgb, 46,137,205),0.18),inset 0 0 0 2px var(--palette-shadow, #fff)}.premium .benefit-wheel{background:conic-gradient(var(--palette-warm, #ffd27a) 0 60deg,var(--palette-surface-soft, #fff3d3) 60deg 120deg,var(--palette-warm, #ffd27a) 120deg 180deg,var(--palette-surface-soft, #fff3d3) 180deg 240deg,var(--palette-warm, #ffd27a) 240deg 300deg,var(--palette-surface-soft, #fff3d3) 300deg 360deg);box-shadow:0 13px 34px rgba(var(--palette-shadow-rgb, 206,145,45),0.18),inset 0 0 0 2px var(--palette-shadow, #fff)}.benefit-wheel.spinning{transition:transform 1.1s cubic-bezier(.16,.78,.2,1)}.benefit-wheel-value{position:absolute;z-index:2;top:50%;left:50%;display:grid;width:3.25rem;height:2.5rem;place-content:center;transform:translate(-50%,-50%) rotate(calc(var(--slot)*60deg)) translateY(-4.75rem) rotate(calc(var(--slot)*-60deg));border-radius:0.625rem;color:var(--palette-text, #276b9e);text-align:center;transition:.2s}.premium .benefit-wheel-value{color:var(--palette-danger, #986218)}.benefit-wheel-value b,.benefit-wheel-value small{display:block}.benefit-wheel-value b{font-size:0.8125rem}.benefit-wheel-value small{font-size:0.75rem}.benefit-wheel-value.winner{color:#fff;background:var(--palette-primary, #228de5);box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 30,130,214),0.28)}.premium .benefit-wheel-value.winner{background:var(--palette-warm, #d99a35);box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 191,124,22),0.28)}.benefit-wheel-center{position:absolute;z-index:3;top:50%;left:50%;display:grid;width:4.5rem;height:4.5rem;place-items:center;border:7px solid rgba(var(--palette-line-rgb, 255,255,255),0.92);border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--palette-primary, #55b8fa),var(--palette-primary, #237fd7));box-shadow:0 7px 18px rgba(var(--palette-shadow-rgb, 34,126,203),0.26);transform:translate(-50%,-50%);font-size:0.75rem;font-weight:900;letter-spacing:.1em}.premium .benefit-wheel-center{background:linear-gradient(145deg,var(--palette-warm, #efbb5d),var(--palette-warm, #c78122));box-shadow:0 7px 18px rgba(var(--palette-shadow-rgb, 188,121,24),0.24)}.benefit-pointer{position:absolute;z-index:5;top:-0.0625rem;left:50%;color:var(--palette-accent, #1f79c5);transform:translateX(-50%);font-size:1.375rem;font-style:normal;filter:drop-shadow(0 3px 2px rgba(32,105,161,.2))}.premium .benefit-pointer{color:var(--palette-danger, #bd7a21)}.benefit-wheel-card>p{min-height:2rem;margin:0 0 0.875rem;color:var(--palette-muted, #7b91a6);font-size:0.75rem;line-height:1.65}.benefit-draw-button{width:100%;height:2.8125rem;border:0;border-radius:0.8125rem;color:#fff;background:linear-gradient(135deg,var(--palette-primary, #55b9f8),var(--palette-primary, #2587e4));box-shadow:0 8px 19px rgba(var(--palette-shadow-rgb, 38,137,221),0.2);font-weight:800}.benefit-draw-button.premium{background:linear-gradient(135deg,var(--palette-warm, #edbd68),var(--palette-warm, #ca8528));box-shadow:0 8px 19px rgba(var(--palette-shadow-rgb, 194,126,31),0.18)}.benefit-draw-button:disabled{color:var(--palette-muted, #91a4b6);background:var(--palette-surface, #edf3f7);box-shadow:none}.benefit-log-card>header{padding:1.1875rem 1.3125rem;border-bottom:1px solid var(--palette-line, #e2edf5)}.benefit-log-card header button{height:2.125rem;padding:0 0.75rem;border:1px solid var(--palette-line, #d6e6f2);border-radius:0.625rem;color:var(--palette-muted, #638099);background:var(--palette-surface, #f7fbfe);font-size:0.75rem}.benefit-log-list{display:grid;padding:0.3125rem 1.25rem}.benefit-log-list article{display:grid;grid-template-columns:2.625rem minmax(0,1fr) auto;gap:0.75rem;align-items:center;padding:0.875rem 0.125rem;border-bottom:1px solid var(--palette-line, #e5eef5)}.benefit-log-list article:last-child{border-bottom:0}.benefit-log-icon{display:grid;width:2.625rem;height:2.625rem;place-items:center;border-radius:0.8125rem;color:var(--palette-accent, #288eda);background:var(--palette-surface, #e9f7ff);font-weight:900}.benefit-log-list strong,.benefit-log-list small{display:block}.benefit-log-list strong{color:var(--palette-text, #244762);font-size:0.75rem}.benefit-log-list small{margin-top:0.3125rem;color:var(--palette-muted, #8297aa);font-size:0.75rem}.benefit-log-list time{color:var(--palette-muted, #8ba0b3);font-size:0.75rem}.benefit-log-card .player-pages{padding:0.5rem 1.25rem 1.125rem}
@media(max-width:700px){.benefit-root{padding:0.75rem 0.75rem 1.75rem}.benefit-wheel-grid{grid-template-columns:1fr}.benefit-wheel-card{padding:1.1875rem}.benefit-wheel-stage{width:14.125rem;height:14.125rem}.benefit-header>span{display:none}}
@media(max-width:470px){.benefit-root{padding-inline:0}.benefit-checkin-card,.benefit-wheel-card,.benefit-log-card{border-inline:0;border-radius:0}.benefit-checkin-card{padding:1.125rem 0.875rem}.benefit-days{gap:0.1875rem}.benefit-days i{width:1.9375rem;height:1.9375rem;border-radius:0.625rem}.benefit-days span{font-size:0.75rem}.benefit-checkin-action .primary-button{min-width:8rem}.benefit-log-list{padding-inline:0.875rem}.benefit-log-list article{grid-template-columns:2.375rem minmax(0,1fr)}.benefit-log-icon{width:2.375rem;height:2.375rem}.benefit-log-list time{grid-column:2}.benefit-wheel-stage{width:13.875rem;height:13.875rem}}

/* 公共聊天室 */
.group-chat-root{padding:0.875rem 1.25rem 2.125rem}.group-chat-card{overflow:hidden;border:1px solid var(--palette-line, #dceaf5);border-radius:1.375rem;background:var(--palette-surface, #fff);box-shadow:0 11px 29px rgba(var(--palette-shadow-rgb, 47,105,151),0.09)}.chat-load-older{display:block;margin:0.75rem auto 0;padding:0.4375rem 0.8125rem;border:1px solid var(--palette-line, #d8e8f3);border-radius:62.4375rem;color:var(--palette-muted, #66839c);background:var(--palette-surface, #f6fbfe);font-size:0.75rem}.group-chat-messages{display:flex;height:min(36.875rem,calc(100vh - 16.25rem));min-height:24.375rem;flex-direction:column;gap:0.8125rem;overflow-y:auto;padding:1.125rem 1.375rem;scroll-behavior:smooth}.group-chat-message{display:grid;width:min(78%,35rem);grid-template-columns:2.5rem minmax(0,1fr);gap:0.5625rem;align-self:flex-start}.group-chat-message.mine{grid-template-columns:minmax(0,1fr) 2.5rem;align-self:flex-end}.group-chat-message.mine .group-chat-avatar{grid-column:2}.group-chat-message.mine>div{grid-row:1;grid-column:1;justify-items:end}.group-chat-avatar{display:grid;width:2.5rem;height:2.5rem;place-items:center;overflow:hidden;border-radius:0.8125rem;color:#fff;background:linear-gradient(145deg,var(--palette-primary, #67c6fb),var(--palette-primary, #2d90e5));font-size:0.8125rem;font-weight:900}.group-chat-avatar img{width:100%;height:100%;object-fit:cover}.group-chat-message.operator .group-chat-avatar{background:linear-gradient(145deg,var(--palette-primary, #77b7ff),var(--palette-primary, #536ee7))}.group-chat-message>div{display:grid;min-width:0}.group-chat-message header{display:flex;align-items:center;gap:0.5rem;margin:0 0.1875rem 0.25rem}.group-chat-message.mine header{justify-content:flex-end}.group-chat-message header strong{overflow:hidden;color:var(--palette-muted, #668099);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.group-chat-message header time{color:var(--palette-muted, #a0b0bf);font-size:0.75rem;white-space:nowrap}.group-chat-message p{margin:0;padding:0.625rem 0.8125rem;border-radius:0.25rem 0.9375rem 0.9375rem;color:var(--palette-text, #405f79);background:var(--palette-surface, #edf5fb);font-size:0.75rem;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap}.group-chat-message.mine p{border-radius:0.9375rem 0.25rem 0.9375rem 0.9375rem;color:#fff;background:linear-gradient(135deg,var(--palette-primary, #55b9fa),var(--palette-primary, #278be6));box-shadow:0 6px 15px rgba(var(--palette-shadow-rgb, 39,139,230),0.16)}.group-chat-message.operator p{color:var(--palette-text, #40567d);background:var(--palette-surface, #edf0ff)}.group-chat-form{display:grid;grid-template-columns:minmax(0,1fr) 7rem;gap:0.625rem;padding:0.875rem 1.125rem 1.0625rem;border-top:1px solid var(--palette-line, #e2edf5);background:var(--palette-surface, #fbfdff)}.chat-quick-replies{display:flex;grid-column:1/-1;gap:0.4375rem;overflow-x:auto;padding:0 0.0625rem 0.125rem;scrollbar-width:thin}.chat-quick-replies[hidden]{display:none}.chat-quick-replies button{flex:0 0 auto;max-width:16.25rem;padding:0.4375rem 0.6875rem;overflow:hidden;border:1px solid var(--palette-line, #d6e8f5);border-radius:62.4375rem;color:var(--palette-text, #48718e);background:var(--palette-surface, #f3f9fd);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.chat-quick-replies button:hover{border-color:var(--palette-focus, #69b8ef);color:var(--palette-accent, #258ed9);background:var(--palette-surface, #eaf7ff)}.chat-quick-replies button:disabled{opacity:.55;cursor:not-allowed}.group-chat-form textarea{min-height:3.625rem;padding:0.6875rem 0.8125rem;border:1px solid var(--palette-line, #d6e7f3);border-radius:0.8125rem;outline:0;color:var(--palette-text, #1d3c58);background:var(--palette-surface, #fff);resize:none}.group-chat-form textarea:focus{border-color:var(--palette-focus, #50abef);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 45,157,244),0.09)}.group-chat-form .primary-button{min-height:3.625rem}.sub-header>span.closed{color:var(--palette-danger, #d65d6c);background:var(--palette-surface, #fff0f2)}
@media(max-width:700px){.group-chat-root{padding:0.75rem 0.75rem 1.75rem}.group-chat-messages{height:calc(100vh - 15.3125rem);padding-inline:0.9375rem}.group-chat-message{width:88%}}
@media(max-width:470px){.group-chat-root{padding-inline:0}.group-chat-card{border-inline:0;border-radius:0}.group-chat-messages{height:calc(100vh - 14.875rem);min-height:22.5rem;padding:0.875rem 0.75rem}.group-chat-message{width:94%;grid-template-columns:2.25rem minmax(0,1fr)}.group-chat-message.mine{grid-template-columns:minmax(0,1fr) 2.25rem}.group-chat-avatar{width:2.25rem;height:2.25rem;border-radius:0.6875rem}.group-chat-form{grid-template-columns:1fr;padding:0.6875rem 0.75rem calc(0.8125rem + env(safe-area-inset-bottom))}.group-chat-form .primary-button{min-height:2.75rem}.chat-load-older{margin-top:0.5625rem}}

/* 聊天页扣除固定底部导航高度，消息列表内部滚动，输入区始终完整可见。 */
#chat-panel{display:flex;height:calc(100dvh - 4.6875rem - env(safe-area-inset-bottom));min-height:0;flex-direction:column;overflow:hidden}#chat-panel>.sub-header{flex:0 0 auto}#chat-panel>.group-chat-root{min-height:0;flex:1;padding-bottom:0}#chat-panel .group-chat-card{display:grid;height:100%;grid-template-rows:auto minmax(0,1fr) auto}#chat-panel .chat-load-older{grid-row:1}#chat-panel .group-chat-messages{height:auto;min-height:0;grid-row:2}#chat-panel .group-chat-form{grid-row:3}

/* 正式游戏房间、下注输入和开奖历史 */
.game-room-panel{padding-bottom:1.5rem}.game-room-header{position:sticky;z-index:18;top:0;background:rgba(var(--palette-surface-rgb, 255,255,255),0.96);backdrop-filter:blur(15px)}.game-room-header>span{color:var(--palette-success, #16896e);background:var(--palette-surface, #e8faf4)}.game-room-header>span.closed{color:var(--palette-danger, #d65b69);background:var(--palette-surface, #fff0f2)}.game-draw-card{overflow:hidden;margin:1rem 1.25rem;padding:1.375rem 1.5rem 1.25rem;border-radius:1.5rem;color:#fff;background:radial-gradient(circle at 88% 8%,rgba(var(--palette-primary-rgb, 100,205,255),0.38),transparent 36%),linear-gradient(145deg,var(--palette-primary, #173d68),var(--palette-primary, #176da6));box-shadow:0 18px 38px rgba(var(--palette-shadow-rgb, 25,90,139),0.24)}.game-draw-head,.game-draw-foot,.game-current-card>header,.game-bet-title,.game-history-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.game-draw-head span,.game-draw-head strong,.game-countdown small,.game-countdown b{display:block}.game-draw-head span{color:var(--palette-accent, #a9d9f6);font-size:0.75rem;font-weight:800;letter-spacing:.09em}.game-draw-head strong{margin-top:0.3125rem;font-size:1.0625rem}.game-countdown{text-align:right}.game-countdown small{color:var(--palette-accent, #a9d9f6);font-size:0.75rem}.game-countdown b{margin-top:0.125rem;font-size:1.75rem;font-variant-numeric:tabular-nums;letter-spacing:.05em}.game-draw-balls{display:flex;flex-wrap:wrap;gap:0.5625rem;align-items:center;justify-content:center;min-height:4.5rem;margin:1.25rem 0;padding:0.8125rem;border-radius:1.125rem;background:rgba(255,255,255,.1)}.game-draw-balls>span{color:#b9d7eb;font-size:0.75rem}.game-ball{position:relative;display:grid;width:2.6875rem;height:2.6875rem;place-items:center;border:3px solid rgba(var(--palette-line-rgb, 255,255,255),0.75);border-radius:50%;color:#fff;background:var(--palette-primary, #3d9deb);box-shadow:0 7px 14px rgba(var(--palette-shadow-rgb, 6,41,69),0.24),inset 0 0 0 2px rgba(var(--palette-shadow-rgb, 255,255,255),0.22);font-size:1rem;font-style:normal;font-weight:900}.game-ball small{position:absolute;top:-0.4375rem;left:-0.3125rem;display:grid;width:1.0625rem;height:1.0625rem;place-items:center;border-radius:50%;color:var(--palette-text, #40637e);background:var(--palette-surface, #fff);font-size:0.75rem}.game-ball-0,.game-ball-5{background:var(--palette-warm, #e2a42d)}.game-ball-1,.game-ball-6{background:var(--palette-primary, #268fe5)}.game-ball-2,.game-ball-7{background:var(--palette-green, #31af8c)}.game-ball-3,.game-ball-8{background:var(--palette-warm, #df6673)}.game-ball-4,.game-ball-9{background:var(--palette-primary, #8368d9)}.game-draw-foot{color:var(--palette-muted, #c8e5f6);font-size:0.75rem}.game-draw-foot span:last-child{white-space:nowrap}.game-room-notice{margin:0 1.25rem 0.875rem;padding:0.75rem 0.9375rem;border:1px solid var(--palette-line, #cee6f6);border-radius:0.875rem;color:var(--palette-text, #487390);background:var(--palette-surface, #f6fcff);font-size:0.75rem;line-height:1.65}.game-current-card,.game-bet-shell,.game-history-card{margin:0.875rem 1.25rem;border:1px solid var(--palette-line, #dceaf5);border-radius:1.375rem;background:var(--palette-surface, #fff);box-shadow:0 10px 26px rgba(var(--palette-shadow-rgb, 47,103,148),0.08)}.game-current-card{padding:1.25rem 1.375rem}.game-current-card small,.game-bet-title small{color:var(--palette-accent, #3b9ce7);font-size:0.75rem;font-weight:900;letter-spacing:.15em}.game-current-card h2,.game-bet-title h2{margin:0.3125rem 0 0;font-size:1.1875rem}.game-current-card header>strong{padding:0.5rem 0.75rem;border-radius:62.4375rem;color:var(--palette-accent, #228edb);background:var(--palette-surface, #eaf7ff);font-size:0.8125rem}.game-current-content{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem}.game-current-content>span{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.6875rem;border:1px solid var(--palette-line, #d8e8f3);border-radius:0.6875rem;color:var(--palette-muted, #71899f);background:var(--palette-surface, #f8fbfe);font-size:0.75rem}.game-current-content b{color:var(--palette-text, #2b587a);font-size:0.75rem}.game-current-content em{color:var(--palette-accent, #288fdb);font-style:normal;font-weight:800}.game-bet-shell{padding:1.3125rem}.game-bet-title>span{color:var(--palette-muted, #8499ad);font-size:0.75rem}.game-bet-groups{display:grid;gap:0.6875rem;margin-top:1.125rem}.game-bet-group{overflow:hidden;border:1px solid var(--palette-line, #dceaf5);border-radius:1.0625rem;background:var(--palette-surface, #fbfdff)}.game-bet-group>summary{display:flex;align-items:center;justify-content:space-between;gap:0.9375rem;min-height:3.6875rem;padding:0.6875rem 1rem;cursor:pointer;list-style:none;background:var(--palette-surface, #f6fbff)}.game-bet-group>summary::-webkit-details-marker{display:none}.game-bet-group>summary strong,.game-bet-group>summary small{display:block}.game-bet-group>summary strong{color:var(--palette-text, #2a4d68);font-size:0.875rem}.game-bet-group>summary small{margin-top:0.25rem;color:var(--palette-muted, #8a9eaf);font-size:0.75rem}.game-bet-group>summary>span{padding:0.3125rem 0.5rem;border-radius:62.4375rem;color:var(--palette-accent, #318fd3);background:var(--palette-surface, #e5f5ff);font-size:0.75rem}.game-bet-group[open]>summary{border-bottom:1px solid var(--palette-line, #deebf4)}.game-bet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.5625rem;padding:0.8125rem}.game-bet-item{display:grid;grid-template-columns:minmax(0,1fr) 5.125rem;gap:0.4375rem;align-items:center;min-height:3.625rem;padding:0.5rem 0.5625rem;border:1px solid var(--palette-line, #dfeaf3);border-radius:0.8125rem;background:var(--palette-surface, #fff)}.game-bet-item span{min-width:0}.game-bet-item b,.game-bet-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-bet-item b{color:var(--palette-text, #31536e);font-size:0.75rem}.game-bet-item small{margin-top:0.25rem;color:var(--palette-accent, #4b9dde);font-size:0.75rem}.game-bet-item input{width:100%;height:2.375rem;padding:0 0.5rem;border:1px solid var(--palette-line, #cfe2f0);border-radius:0.5625rem;outline:0;color:var(--palette-text, #1c4a70);background:var(--palette-surface, #f6fbff);text-align:center;font-size:0.75rem;font-weight:800}.game-bet-item input:focus{border-color:var(--palette-focus, #43a5ee);background:var(--palette-surface, #fff);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 45,157,244),0.1)}.game-submit-card{position:sticky;z-index:16;bottom:5.125rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.125rem;align-items:center;margin:0.9375rem 1.25rem;padding:0.875rem 1.0625rem;border:1px solid rgba(var(--palette-line-rgb, 194,221,240),0.95);border-radius:1.1875rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.96);box-shadow:0 15px 36px rgba(var(--palette-shadow-rgb, 41,91,131),0.18);backdrop-filter:blur(15px)}.game-submit-card>div:first-child{display:grid;grid-template-columns:auto auto;column-gap:0.5625rem;align-items:baseline}.game-submit-card>div:first-child span,.game-submit-card>div:first-child small{color:var(--palette-muted, #8197aa);font-size:0.75rem}.game-submit-card>div:first-child strong{color:var(--palette-text, #1f74b5);font-size:1.25rem}.game-submit-card>div:first-child small{grid-column:1/-1;margin-top:0.125rem}.game-submit-card>div:last-child{display:flex;justify-content:flex-end;gap:0.5rem}.game-submit-card button{min-height:2.625rem;padding:0 0.9375rem;border:0;border-radius:0.75rem;font-size:0.75rem;font-weight:800}.game-cancel-button{color:var(--palette-danger, #cf5967);background:var(--palette-surface, #fff0f2)}.game-replace-button{color:var(--palette-accent, #247fbd);background:var(--palette-surface, #eaf7ff)}.game-append-button{color:#fff;background:linear-gradient(135deg,var(--palette-primary, #52b7f8),var(--palette-primary, #2689e5));box-shadow:0 7px 16px rgba(var(--palette-shadow-rgb, 38,137,225),0.2)}.game-history-card{overflow:hidden}.game-history-card>header{padding:0.875rem 1.0625rem;border-bottom:1px solid var(--palette-line, #e0ebf4)}.game-history-tabs{display:flex;gap:0.4375rem}.game-history-tabs button,.game-history-card>header>button{height:2.1875rem;padding:0 0.8125rem;border:1px solid var(--palette-line, #d7e6f1);border-radius:0.625rem;color:var(--palette-muted, #6e879c);background:var(--palette-surface, #f8fbfd);font-size:0.75rem}.game-history-tabs button.active{border-color:var(--palette-focus, #3a9ce6);color:#fff;background:var(--palette-primary, #3a9ce6)}.game-history-content{display:grid;padding:0.25rem 1.125rem 0.5625rem}.game-bet-history,.game-draw-history{display:grid;grid-template-columns:8.25rem minmax(0,1fr) 10rem;gap:1rem;align-items:center;padding:0.9375rem 0.125rem;border-bottom:1px solid var(--palette-line, #e5eef5)}.game-bet-history:last-child,.game-draw-history:last-child{border-bottom:0}.game-bet-history strong,.game-bet-history small,.game-draw-history strong,.game-draw-history small{display:block}.game-bet-history strong,.game-draw-history strong{color:var(--palette-text, #294c68);font-size:0.75rem}.game-bet-history small,.game-draw-history small{margin-top:0.3125rem;color:var(--palette-muted, #8ba0b2);font-size:0.75rem}.game-bet-history>p{overflow:hidden;margin:0;color:var(--palette-muted, #668199);font-size:0.75rem;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.game-history-result{text-align:right}.game-history-result span,.game-history-result b,.game-history-result small{display:block}.game-history-result span{font-size:0.75rem}.game-history-result .state-0{color:var(--palette-danger, #cf8a24)}.game-history-result .state-1{color:var(--palette-success, #188a6e)}.game-history-result .state-2{color:var(--palette-muted, #66879f)}.game-history-result b{margin-top:0.1875rem;color:var(--palette-text, #276d9f);font-size:0.875rem}.game-draw-history>div:nth-child(2){display:flex;flex-wrap:wrap;gap:0.25rem}.game-draw-history i{display:grid;width:1.5625rem;height:1.5625rem;place-items:center;border-radius:50%;color:#fff;background:var(--palette-primary, #368fd3);font-size:0.75rem;font-style:normal;font-weight:800}.game-draw-history>span{color:var(--palette-muted, #557792);font-size:0.75rem;text-align:right}
@media(max-width:760px){.game-bet-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-bet-history,.game-draw-history{grid-template-columns:7.1875rem minmax(0,1fr) 7.8125rem}}
@media(max-width:600px){.game-room-panel{padding-bottom:0.5rem}.game-draw-card{margin:0.6875rem 0.75rem;padding:1.125rem 0.875rem;border-radius:1.25rem}.game-draw-balls{gap:0.4375rem;margin-block:1rem;padding-inline:0.4375rem}.game-ball{width:2.3125rem;height:2.3125rem;border-width:2px;font-size:0.875rem}.game-room-notice,.game-current-card,.game-bet-shell,.game-history-card,.game-submit-card{margin-inline:0.75rem}.game-current-card,.game-bet-shell{padding:1.0625rem 0.875rem}.game-bet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.4375rem;padding:0.5625rem}.game-bet-item{grid-template-columns:minmax(0,1fr) 4.25rem;min-height:3.4375rem;padding:0.4375rem}.game-bet-item input{height:2.25rem;padding-inline:0.3125rem}.game-submit-card{bottom:4.75rem;grid-template-columns:1fr;padding:0.6875rem 0.75rem;gap:0.5625rem}.game-submit-card>div:first-child{grid-template-columns:auto auto 1fr}.game-submit-card>div:first-child small{grid-row:1;grid-column:3;justify-self:end;margin:0}.game-submit-card>div:last-child{display:grid;grid-template-columns:.85fr 1fr 1.15fr}.game-submit-card button{min-height:2.5rem;padding-inline:0.4375rem}.game-bet-history,.game-draw-history{grid-template-columns:1fr auto;gap:0.5rem 0.75rem}.game-bet-history>p,.game-draw-history>div:nth-child(2){grid-row:2;grid-column:1/-1;white-space:normal}.game-history-result{grid-row:1/2;grid-column:2}.game-draw-history>span{grid-row:1;grid-column:2}.game-history-content{padding-inline:0.8125rem}}
@media(max-width:390px){.game-bet-grid{grid-template-columns:1fr}.game-bet-item{grid-template-columns:minmax(0,1fr) 5.75rem}.game-submit-card button{font-size:0.75rem}.game-draw-head strong{font-size:0.875rem}.game-countdown b{font-size:1.5rem}}

/* 平台外观、内置浏览器提示、结构聊天室、数字键盘与红包 */
body[data-skin="2"]{--player-accent:#8064dc}body[data-skin="2"] .auth-submit,body[data-skin="2"] .primary-button,body[data-skin="2"] .game-append-button{background:linear-gradient(135deg,var(--palette-primary, #9a7bef),var(--palette-primary, #6c50cf))}body[data-skin="3"]{--player-accent:#e69b35}body[data-skin="3"] .auth-submit,body[data-skin="3"] .primary-button,body[data-skin="3"] .game-append-button{background:linear-gradient(135deg,var(--palette-warm, #f1ba61),var(--palette-warm, #d58427))}
.group-chat-message.kind-3{width:min(86%,36.875rem)}.group-chat-message.kind-3>div{width:100%}.player-forecast-card{min-width:16.25rem;padding:0.875rem 1rem;border:1px solid var(--palette-line, #c9e3f4);border-radius:1.0625rem;background:linear-gradient(145deg,var(--palette-surface, #eef9ff),var(--palette-surface, #f9fcff));box-shadow:0 8px 20px rgba(var(--palette-shadow-rgb, 39,129,193),0.08)}.player-forecast-card span,.player-forecast-card strong{display:block}.player-forecast-card span{color:var(--palette-accent, #3699df);font-size:0.75rem;font-weight:900;letter-spacing:.16em}.player-forecast-card strong{margin:0.4375rem 0;color:var(--palette-text, #28506f);font-size:0.8125rem}.player-forecast-card p{margin:0!important;padding:0!important;color:var(--palette-muted, #66829a)!important;background:none!important;box-shadow:none!important;font-size:0.75rem!important;line-height:1.7}.player-red-packet-card{display:grid;width:100%;min-width:17.1875rem;grid-template-columns:2.625rem minmax(0,1fr) auto;gap:0.6875rem;align-items:center;padding:0.8125rem;border:0;border-radius:1.0625rem;color:#fff;background:radial-gradient(circle at 12% 15%,rgba(255,226,170,.2),transparent 30%),linear-gradient(145deg,#df5361,#bd2e40);box-shadow:0 10px 22px rgba(174,46,63,.2);text-align:left}.player-red-packet-card>span{display:grid;width:2.625rem;height:2.625rem;place-items:center;border:1px solid rgba(255,241,196,.42);border-radius:0.8125rem;color:#fff1c3;background:rgba(96,13,27,.2);font-size:1.125rem;font-weight:900}.player-red-packet-card small,.player-red-packet-card strong,.player-red-packet-card p{display:block}.player-red-packet-card small{color:#ffd7dc;font-size:0.75rem;letter-spacing:.14em}.player-red-packet-card strong{margin:0.25rem 0;color:#fff;font-size:0.75rem}.player-red-packet-card p{overflow:hidden;margin:0!important;padding:0!important;color:#ffdfe3!important;background:none!important;box-shadow:none!important;font-size:0.75rem!important;text-overflow:ellipsis;white-space:nowrap}.player-red-packet-card em{color:#ffe4e7;font-size:0.75rem;font-style:normal;white-space:nowrap}.group-chat-message.mine.kind-3 .player-red-packet-card{text-align:left}
.keypad-card{width:min(22.5rem,calc(100% - 1.75rem));padding:1.5625rem}.keypad-value{display:block;margin:1.125rem 0;padding:0.9375rem;border:1px solid var(--palette-line, #d7e7f2);border-radius:0.875rem;color:var(--palette-accent, #237fc4);background:var(--palette-surface, #f5faff);font-size:1.6875rem;text-align:right;font-variant-numeric:tabular-nums}.game-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5625rem}.game-keypad button{height:3.1875rem;border:1px solid var(--palette-line, #d5e6f2);border-radius:0.8125rem;color:var(--palette-text, #315775);background:var(--palette-surface, #f7fbfe);font-size:1.0625rem;font-weight:800}.game-keypad button:active{border-color:var(--palette-focus, #58ade9);color:#fff;background:var(--palette-primary, #3b9ee8)}.keypad-card>.primary-button{width:100%;margin-top:0.75rem}.game-bet-item input[readonly]{cursor:pointer;color:var(--palette-accent, #247dbd);background:var(--palette-surface, #eef8ff)}
.player-red-packet-shell{overflow:hidden;width:min(26.875rem,calc(100% - 1.5rem));max-height:min(47.5rem,calc(100dvh - 1.625rem));padding:0;background:#fff}.player-red-packet-head{padding:1.875rem 1.5625rem 1.5625rem;color:#fff;background:radial-gradient(circle at 15% 12%,rgba(255,230,178,.2),transparent 34%),linear-gradient(145deg,#df5261,#b9283c);text-align:center}.player-red-packet-head>span{display:grid;width:3.625rem;height:3.625rem;margin:0 auto 0.75rem;place-items:center;border:1px solid rgba(255,239,192,.42);border-radius:1.125rem;color:#fff0bd;background:rgba(102,11,27,.22);font-size:1.5625rem;font-weight:900}.player-red-packet-head small{color:#ffd5db;font-size:0.75rem;font-weight:900;letter-spacing:.18em}.player-red-packet-head h2{margin:0.4375rem 0 0.375rem;font-size:1.3125rem}.player-red-packet-head p{margin:0;color:#ffe0e4;font-size:0.75rem;line-height:1.6}.player-red-packet-head b{display:block;margin-top:0.75rem;color:#fff0bd;font-size:0.75rem}.player-red-packet-body{padding:1.25rem}.player-red-packet-body>strong{display:block;color:#385873;font-size:0.75rem;text-align:center}.player-red-packet-body>.primary-button{width:100%;margin:0.875rem 0;background:linear-gradient(135deg,#e45965,#c93245)}.player-red-packet-body>.primary-button:disabled{color:#a0aab4;background:#edf1f4}.packet-claims-title{display:flex;align-items:center;justify-content:space-between;padding:0.8125rem 0 0.5rem;border-top:1px solid var(--palette-line, #e3edf4)}.packet-claims-title span{color:var(--palette-text, #34536c);font-size:0.75rem;font-weight:800}.packet-claims-title small{color:var(--palette-muted, #9aabb9);font-size:0.75rem}.player-red-packet-claims{display:grid;max-height:15.625rem;overflow-y:auto}.player-red-packet-claims article{display:grid;grid-template-columns:2.1875rem minmax(0,1fr) auto;gap:0.625rem;align-items:center;padding:0.5625rem 0.125rem;border-bottom:1px solid #e7eff5}.packet-claim-avatar{display:grid;width:2.1875rem;height:2.1875rem;place-items:center;overflow:hidden;border-radius:0.6875rem;color:#fff;background:linear-gradient(145deg,var(--palette-primary, #65bdf6),var(--palette-primary, #318cdb));font-size:0.75rem;font-weight:900}.packet-claim-avatar img{width:100%;height:100%;object-fit:cover}.player-red-packet-claims strong,.player-red-packet-claims small{display:block}.player-red-packet-claims strong{color:#3b5971;font-size:0.75rem}.player-red-packet-claims small{margin-top:0.1875rem;color:#9aabb9;font-size:0.75rem}.player-red-packet-claims b{color:#d94a59;font-size:0.75rem}
.game-draw-history.manual{background:var(--palette-surface, #f3fcf9)}.game-draw-history.manual small{color:var(--palette-success, #1c9777)}.game-draw-history.invalid{background:var(--palette-surface, #fff5f6)}.game-draw-history.invalid small,.game-draw-history.invalid>span{color:var(--palette-danger, #d65363)}
@media(max-width:470px){.group-chat-message.kind-3{width:96%}.player-forecast-card,.player-red-packet-card{min-width:0}.player-red-packet-card{grid-template-columns:2.375rem minmax(0,1fr) auto}.player-red-packet-card>span{width:2.375rem;height:2.375rem}.keypad-card{padding:1.3125rem}.game-keypad button{height:3rem}.player-red-packet-body{padding:1rem}.player-red-packet-head{padding:1.6875rem 1.1875rem 1.375rem}}

/* 同玩法合并开启后，玩家大厅按玩法名称分组并沿用管理控制台保存的顺序。 */
.room-list.merged{grid-template-columns:1fr}.player-room-group{overflow:hidden;border:1px solid var(--palette-line, #d8e8f4);border-radius:1.25rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.72);box-shadow:0 9px 22px rgba(var(--palette-shadow-rgb, 54,105,148),0.06)}.player-room-group>header{display:flex;align-items:center;justify-content:space-between;padding:0.9375rem 1.125rem;border-bottom:1px solid var(--palette-line, #dfebf4);background:linear-gradient(135deg,var(--palette-surface, #f7fcff),var(--palette-surface, #eaf6ff))}.player-room-group>header strong{color:var(--palette-text, #244e72);font-size:0.875rem}.player-room-group>header span{padding:0.3125rem 0.5rem;border-radius:62.4375rem;color:var(--palette-accent, #348fd4);background:var(--palette-surface, #fff);font-size:0.75rem}.player-room-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem;padding:0.8125rem}.player-room-group .room-item{box-shadow:none}
@media(max-width:470px){.player-room-group{border-radius:1rem}.player-room-group>header{padding:0.8125rem 0.875rem}.player-room-group>div{grid-template-columns:1fr;gap:0.5625rem;padding:0.5625rem}}

/* 多条平台收款资料与客服常见问题。 */
.payment-preview-list{display:grid;gap:0.625rem}.payment-preview-list .payment-preview{margin:0}.payment-preview.text.custom{display:grid;grid-template-columns:4.5rem minmax(0,1fr);column-gap:0.8125rem;align-items:center}.payment-preview.text.custom img{grid-row:1/4;width:4.5rem;height:4.5rem;object-fit:contain;border:1px solid var(--palette-line, #d9e8f2);border-radius:0.6875rem;background:var(--palette-surface, #fff)}.payment-preview.text.custom span,.payment-preview.text.custom strong,.payment-preview.text.custom small{grid-column:2}.player-service-questions{padding:0.75rem 1.0625rem;border-top:1px solid var(--palette-line, #e2edf5);background:var(--palette-surface, #f8fcff)}.player-service-questions>strong{display:block;margin-bottom:0.5rem;color:var(--palette-muted, #5c7890);font-size:0.75rem}.player-service-questions>div{display:flex;gap:0.4375rem;overflow-x:auto;padding-bottom:0.125rem}.player-service-questions button{flex:0 0 auto;max-width:16.25rem;padding:0.4375rem 0.6875rem;overflow:hidden;border:1px solid var(--palette-line, #d4e7f4);border-radius:62.4375rem;color:var(--palette-accent, #397cae);background:var(--palette-surface, #fff);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.player-service-questions button:active{border-color:var(--palette-focus, #43a2e8);color:#fff;background:var(--palette-primary, #43a2e8)}
@media(max-width:470px){.payment-preview.text.custom{grid-template-columns:3.625rem minmax(0,1fr)}.payment-preview.text.custom img{width:3.625rem;height:3.625rem}.player-service-questions{padding-inline:0.75rem}}

/* 游戏房间独立消息流，消息条目直接复用公共聊天室结构。 */
.game-room-chat-messages{display:flex;max-height:24.375rem;min-height:9.375rem;flex-direction:column;gap:0.625rem;overflow:auto;padding:0.875rem;background:var(--palette-surface, #f7fbfe);scroll-behavior:smooth}
@media(max-width:700px){.game-room-chat-messages{max-height:21.25rem;padding:0.6875rem}}
@media(max-width:470px){.game-room-chat-messages{max-height:19.375rem}}

/* Player端只按手机比例呈现；桌面访问同样收窄，验证码完整缩放显示。 */
.phone-page,.bottom-nav{width:min(26.875rem,100%)}.auth-shell{width:min(26.875rem,100%)}.captcha-image{position:relative}.captcha-image img{width:100%;height:100%;object-fit:contain;object-position:center}.captcha-image small{position:absolute;right:0.25rem;bottom:0.1875rem;padding:0.0625rem 0.25rem;border-radius:0.25rem;color:#fff;background:rgba(var(--palette-overlay-rgb, 20,52,76),0.72);font-size:0.75rem}

.player-loading{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 22%,var(--palette-surface-soft, #dff3ff),var(--palette-surface, #f6fbff) 62%)}.player-loading>div{display:grid;justify-items:center;gap:0.75rem}.player-loading img{width:3.25rem;height:3.25rem}.player-loading i{display:block;width:5.375rem;height:0.1875rem;overflow:hidden;border-radius:6.1875rem;background:var(--palette-surface-soft, #d7eaf6)}.player-loading i:after{display:block;width:38%;height:100%;border-radius:inherit;content:"";background:var(--palette-primary, #3ca0e8);animation:player-loading 1s ease-in-out infinite alternate}.player-loading strong{color:var(--palette-muted, #52738c);font-size:0.75rem;letter-spacing:.05em}@keyframes player-loading{to{transform:translateX(150%)}}

/* 平台可配置或玩家可上传的图片按实际区域拉伸显示，不使用裁切。 */
.brand-mark img,.topbar-logo img,.hero>img,.featured-room img,.featured-room.has-icon img,.room-item>img,.home-activity img,.activity-card img,.activity-dialog-card>img,.payment-preview.image img{object-fit:fill!important;object-position:center!important}
/* 公开APP下载页：自动识别设备，页面只保留名称、单个下载按钮和带图标二维码。 */
.app-download-view{position:relative;min-height:100dvh;overflow:hidden;color:var(--palette-text, #284761);background:radial-gradient(circle at 50% -10%,var(--palette-surface-soft, #bce8ff) 0,transparent 43%),linear-gradient(180deg,var(--palette-surface, #edf9ff),var(--palette-surface, #f8fbfd))}.app-download-glow{position:absolute;width:24.375rem;height:24.375rem;right:-11.875rem;bottom:-11.25rem;border-radius:50%;background:rgba(var(--palette-primary-rgb, 76,168,234),0.15);filter:blur(5px)}.app-download-shell{position:relative;z-index:1;display:grid;grid-template-rows:minmax(0,1fr) auto;width:min(26.875rem,100%);min-height:100dvh;margin:auto;padding:2.125rem 1.5rem 1.75rem}.app-download-loading,.app-download-empty,.app-download-content{grid-row:1/3;display:grid;justify-items:center;align-content:center;text-align:center}.app-download-loading{gap:0.9375rem}.app-download-loading i{width:2.875rem;height:2.875rem;border:5px solid var(--palette-line, #d5eaf6);border-top-color:var(--palette-focus, #3c9cdf);border-radius:50%;animation:app-download-spin .9s linear infinite}.app-download-loading strong{color:var(--palette-muted, #63849b);font-size:0.9375rem}.app-download-empty{gap:0.8125rem}.app-download-empty>span{display:grid;width:4.75rem;height:4.75rem;place-items:center;border:1px solid var(--palette-line, #cfe5f3);border-radius:1.5rem;color:var(--palette-accent, #459edc);background:var(--palette-surface, #fff);font-size:1.9375rem;box-shadow:0 13px 30px rgba(var(--palette-shadow-rgb, 50,119,168),0.1)}.app-download-empty h1{margin:0.5rem 0 0;font-size:1.5625rem}.app-download-empty p{max-width:18.75rem;margin:0;color:var(--palette-muted, #7891a4);font-size:0.875rem;line-height:1.7}.app-download-content{grid-row:1;gap:1.5rem;padding:1.125rem 0 0.5rem}.app-download-content h1{max-width:100%;margin:0;color:var(--palette-text, #244965);font-size:clamp(1.6875rem,8vw,2.125rem);line-height:1.2;overflow-wrap:anywhere}.app-download-action{display:flex;width:min(19.375rem,100%);min-height:4rem;align-items:center;justify-content:center;gap:0.75rem;border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.42);border-radius:1.25rem;color:#fff;background:linear-gradient(145deg,var(--palette-primary, #49a9eb),var(--palette-primary, #277fcb));box-shadow:0 14px 29px rgba(var(--palette-shadow-rgb, 39,128,203),0.24);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.app-download-action:active{transform:translateY(0.125rem);box-shadow:0 9px 20px rgba(var(--palette-shadow-rgb, 39,128,203),0.2)}.app-download-action span{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:0.75rem;color:var(--palette-accent, #328fd3);background:var(--palette-surface, #fff);font-size:1.5rem;font-weight:800;line-height:1}.app-download-action strong{font-size:1.125rem;letter-spacing:.04em}.app-download-qrcode{position:relative;width:min(16.25rem,72vw);aspect-ratio:1;padding:0.6875rem;border:1px solid var(--palette-line, #d3e8f5);border-radius:1.5rem;background:var(--palette-surface, #fff);box-shadow:0 16px 34px rgba(var(--palette-shadow-rgb, 48,113,161),0.13)}.app-download-qrcode>img{display:block;width:100%;height:100%;border-radius:0.875rem;object-fit:contain}.app-download-qrcode>span{position:absolute;left:50%;top:50%;display:grid;width:3.625rem;height:3.625rem;padding:0.3125rem;place-items:center;transform:translate(-50%,-50%);border-radius:1.0625rem;background:var(--palette-surface, #fff);box-shadow:0 3px 12px rgba(var(--palette-shadow-rgb, 31,86,126),0.18)}.app-download-qrcode>span img{display:block;width:100%;height:100%;border-radius:0.75rem;object-fit:fill}.app-download-point{grid-row:2;margin:0.875rem 0 0;color:var(--palette-accent, #5f88a4);font-size:0.9375rem;font-weight:700;letter-spacing:.06em;text-align:center}.app-download-point:before{display:inline-block;width:0.375rem;height:0.375rem;margin-right:0.5rem;border-radius:50%;content:"";vertical-align:0.125rem;background:var(--palette-primary, #45a5e5);box-shadow:0 0 0 5px rgba(var(--palette-shadow-rgb, 69,165,229),0.1)}@keyframes app-download-spin{to{transform:rotate(360deg)}}
@media(max-height:700px){.app-download-shell{padding-block:1.25rem 1.125rem}.app-download-content{gap:1rem}.app-download-qrcode{width:min(13.75rem,62vw)}.app-download-point{margin-top:0.5rem}}

/* 大厅房间把玩法规则收进独立按钮，房间主体仍保持整块可点击。 */
.featured-room>.room-entry{position:absolute;z-index:1;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;text-align:left}.featured-room>.room-entry>img{position:absolute;inset:0;width:100%;height:100%}.featured-room.has-icon>.room-entry>img{inset:auto 2% 3% auto;width:62%;height:78%}.room-rule-button{position:absolute;z-index:6;top:0.6875rem;right:0.6875rem;min-height:1.8125rem;padding:0 0.625rem;border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.9);border-radius:62.4375rem;color:var(--palette-accent, #267fbd);background:rgba(var(--palette-surface-rgb, 255,255,255),0.9);box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 34,98,145),0.13);font-size:0.75rem;font-weight:800;backdrop-filter:blur(8px)}.room-rule-button:active{color:#fff;background:var(--palette-primary, #3699e3)}.featured-room.sleep:after,.room-item.sleep:after{right:auto;left:0.6875rem}.room-item{display:block}.room-item>.room-entry{display:grid;width:100%;min-height:8rem;grid-template-columns:6.375rem minmax(0,1fr);padding:0;border:0;background:transparent;text-align:left}.room-item>.room-entry>img{width:100%;height:100%;object-fit:fill;background:var(--palette-surface-soft, #dff3ff)}.room-item>.room-entry>span{align-self:center;min-width:0;padding:1rem 0.875rem}.room-item>.room-entry strong,.room-item>.room-entry em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-item>.room-entry strong{padding-right:4.125rem;color:var(--palette-text, #263f57);font-size:0.875rem}.room-item>.room-entry em{margin-top:0.375rem;color:var(--palette-accent, #338fd6);font-size:0.75rem;font-style:normal}

/* KK皮肤投注页：页签、专业选号、群投命令和统一金额操作区。 */
.game-page-tabs{position:sticky;z-index:17;top:4.6875rem;display:grid;grid-template-columns:repeat(4,1fr);margin:0 0.75rem 0.75rem;overflow:hidden;border:1px solid var(--palette-line, #d8e8f3);border-radius:0.875rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.96);box-shadow:0 8px 20px rgba(var(--palette-shadow-rgb, 39,95,137),0.08);backdrop-filter:blur(14px)}.game-page-tabs button{min-height:2.6875rem;border:0;border-right:1px solid var(--palette-line, #e4edf4);color:var(--palette-muted, #71889c);background:transparent;font-size:0.75rem;font-weight:800}.game-page-tabs button:last-child{border-right:0}.game-page-tabs button.active{color:#fff;background:linear-gradient(135deg,var(--palette-primary, #50b3f4),var(--palette-primary, #288ce4))}.game-view-panel{min-width:0}.game-bet-shell{padding:0;overflow:hidden}.game-bet-title{min-height:4rem;padding:0.875rem 1rem;border-bottom:1px solid var(--palette-line, #e0ebf4)}.game-bet-title>button{height:2.1875rem;padding:0 0.875rem;border:1px solid var(--palette-line, #c8e4f5);border-radius:62.4375rem;color:var(--palette-accent, #2887c8);background:var(--palette-surface, #eef9ff);font-size:0.75rem;font-weight:800}.game-professional-mode{display:grid;min-height:18.125rem;grid-template-columns:5.125rem minmax(0,1fr)}.game-bet-categories{display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--palette-line, #dfeaf3);background:var(--palette-surface, #f7fbfe)}.game-bet-categories button{min-height:3.4375rem;padding:0.5rem;border:0;border-bottom:1px solid var(--palette-line, #e3edf4);color:var(--palette-muted, #6f879a);background:transparent;font-size:0.75rem}.game-bet-categories button.active{position:relative;color:var(--palette-accent, #278edb);background:var(--palette-surface, #fff);font-weight:900}.game-bet-categories button.active:after{position:absolute;right:-0.0625rem;bottom:0;left:0;height:0.1875rem;content:"";background:var(--palette-primary, #329ae7)}.game-bet-groups{display:block;min-width:0;margin:0;background:var(--palette-surface, #f1f6fb)}.game-bet-groups>header{display:flex;min-height:3.0625rem;align-items:center;justify-content:space-between;gap:0.625rem;padding:0.625rem 0.75rem;color:var(--palette-text, #527086);background:var(--palette-surface, #eef5fa)}.game-bet-groups>header strong,.game-bet-groups>header small{display:block}.game-bet-groups>header strong{font-size:0.75rem}.game-bet-groups>header small{margin-top:0.1875rem;color:var(--palette-muted, #8ba0b1);font-size:0.75rem}.game-bet-groups>header>span{color:var(--palette-muted, #7890a5);font-size:0.75rem}.game-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.4375rem;padding:0.5rem}.game-choice{display:grid;min-height:3.4375rem;place-content:center;gap:0.1875rem;border:1px solid var(--palette-line, #dce7ef);border-radius:0.5rem;color:var(--palette-muted, #5f7486);background:var(--palette-surface, #fff);box-shadow:0 3px 8px rgba(var(--palette-shadow-rgb, 48,92,126),0.04);text-align:center}.game-choice strong{font-size:0.8125rem}.game-choice span{color:var(--palette-muted, #8194a5);font-size:0.75rem}.game-choice.active{border-color:var(--palette-focus, #2797e8);color:#fff;background:linear-gradient(145deg,var(--palette-primary, #55b8f6),var(--palette-primary, #2789e2));box-shadow:0 7px 15px rgba(var(--palette-shadow-rgb, 35,140,221),0.22)}.game-choice.active span{color:#e5f6ff}.game-choice:disabled{cursor:not-allowed;opacity:.58}.game-group-mode{padding:1.125rem;background:var(--palette-surface, #f4f8fc)}.game-group-mode>label{display:block;margin-bottom:0.5625rem;color:var(--palette-text, #355772);font-size:0.75rem;font-weight:800}.game-group-mode textarea{display:block;width:100%;min-height:5.75rem;padding:0.8125rem 0.875rem;resize:vertical;border:1px solid var(--palette-line, #cfdfea);border-radius:0.8125rem;outline:0;color:var(--palette-text, #294e69);background:var(--palette-surface, #fff);font:0.875rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.game-group-mode textarea:focus{border-color:var(--palette-focus, #3b9ee8);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 59,158,232),0.11)}.game-group-mode>div{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;margin-top:0.625rem}.game-group-mode>div span{color:var(--palette-muted, #8499aa);font-size:0.75rem}.game-group-mode>div button{min-width:5.75rem;height:2.5rem;border:0;border-radius:0.6875rem;color:#fff;background:linear-gradient(135deg,var(--palette-primary, #50b3f4),var(--palette-primary, #288ce4));font-size:0.75rem;font-weight:900}.game-submit-card{position:sticky;z-index:16;bottom:4.75rem;display:grid;grid-template-columns:1fr;margin:0.75rem;padding:0.75rem;border-radius:1.125rem}.game-submit-summary{display:grid!important;grid-template-columns:auto auto 1fr auto!important;column-gap:0.5rem!important;align-items:center!important}.game-submit-summary>span{color:var(--palette-muted, #7990a3);font-size:0.75rem}.game-submit-summary>strong{color:var(--palette-accent, #2487cf);font-size:1.125rem!important}.game-submit-summary>small{grid-row:auto!important;grid-column:auto!important;justify-self:end;color:var(--palette-muted, #8196a8);font-size:0.75rem}.game-submit-summary>small b{color:var(--palette-text, #466982)}.game-replace-option{display:flex;grid-row:1/2;align-items:center;gap:0.375rem;margin-right:0.25rem;color:var(--palette-text, #526f86);font-size:0.75rem;font-weight:800}.game-replace-option input{position:absolute;opacity:0}.game-replace-option i{display:block;width:1.125rem;height:1.125rem;border:1px solid var(--palette-line, #c5d8e6);border-radius:0.375rem;background:var(--palette-surface, #fff)}.game-replace-option input:checked+i{border-color:var(--palette-focus, #3699e4);background:var(--palette-primary, #3699e4);box-shadow:inset 0 0 0 4px var(--palette-shadow, #fff)}.game-stake-control{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:0.5rem!important;margin-top:0.625rem}.game-quick-coins{display:flex!important;gap:0.375rem!important}.game-quick-coins button{width:2.375rem;min-height:2.5rem!important;padding:0!important;border:1px solid var(--palette-line, #cce2f0)!important;border-radius:50%!important;color:var(--palette-accent, #2f91d8);background:var(--palette-surface, #eef8ff);font-size:0.75rem!important;font-weight:900}.game-quick-coins button:active{color:#fff;background:var(--palette-primary, #3499e5)}.game-stake-control>input{min-width:0;height:2.625rem;padding:0 0.75rem;border:1px solid var(--palette-line, #cadde9);border-radius:0.6875rem;outline:0;color:var(--palette-text, #244d6b);background:var(--palette-surface, #fff);font-size:0.75rem}.game-stake-control>input:focus{border-color:var(--palette-focus, #3c9de7);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 60,157,231),0.1)}.game-submit-actions{display:grid!important;grid-template-columns:.8fr 1fr 1.2fr;gap:0.4375rem!important;margin-top:0.5625rem}.game-submit-actions button{min-height:2.625rem!important}.game-reset-button{color:var(--palette-muted, #607b91);background:var(--palette-surface, #edf3f7)}.game-rule-card{margin:0.875rem 0.75rem;padding:1.375rem;border:1px solid var(--palette-line, #d7e8f4);border-radius:1.25rem;background:var(--palette-surface, #fff);box-shadow:0 10px 25px rgba(var(--palette-shadow-rgb, 46,101,143),0.08)}.game-rule-card>span{color:var(--palette-accent, #3b99df);font-size:0.75rem;font-weight:900;letter-spacing:.13em}.game-rule-card h2{margin:0.375rem 0 0.9375rem;color:var(--palette-text, #294a63);font-size:1.1875rem}.game-rule-card p{margin:0;color:var(--palette-muted, #5f7c92);font-size:0.75rem;line-height:1.85;white-space:pre-wrap}.game-history-card>header>div>small,.game-history-card>header>div>h2{display:block;margin:0}.game-history-card>header>div>small{color:var(--palette-accent, #3b98de);font-size:0.75rem;font-weight:900}.game-history-card>header>div>h2{margin-top:0.25rem;color:var(--palette-text, #294b64);font-size:1.0625rem}

@media(max-width:470px){.featured-room .room-rule-button{top:0.5rem;right:0.5rem;min-height:1.6875rem;padding-inline:0.5rem}.room-item>.room-entry{grid-template-columns:5.875rem minmax(0,1fr);min-height:6.875rem}.room-item>.room-entry>span{padding:0.75rem 0.625rem}.room-item>.room-entry strong{padding-right:3.875rem}.game-draw-card{padding-top:0.9375rem;padding-bottom:0.875rem}.game-draw-balls{min-height:3.625rem}.game-page-tabs{top:3.75rem}.game-current-card{padding-block:0.875rem}.game-current-content{margin-top:0.6875rem}.game-bet-shell{margin-inline:0;border-inline:0;border-radius:0}.game-submit-card{margin-inline:0.5rem;padding:0.625rem}.game-professional-mode{grid-template-columns:4.625rem minmax(0,1fr)}.game-bet-categories button{min-height:3.25rem;font-size:0.75rem}.game-choice-grid{gap:0.375rem;padding:0.4375rem}.game-choice{min-height:3.25rem}.game-quick-coins button{width:2.125rem}.game-stake-control{grid-template-columns:auto minmax(5.75rem,1fr)}.game-submit-summary{grid-template-columns:auto auto minmax(0,1fr) auto!important}.game-submit-summary>small{white-space:nowrap}}
@media(max-width:360px){.game-page-tabs button{font-size:0.75rem}.game-professional-mode{grid-template-columns:4.25rem minmax(0,1fr)}.game-choice-grid{grid-template-columns:1fr}.game-stake-control{grid-template-columns:1fr}.game-quick-coins{justify-content:center}.game-quick-coins button{width:2.625rem}.game-submit-summary{grid-template-columns:auto 1fr auto!important}.game-submit-summary>span{display:none}.game-submit-summary>small{grid-column:3!important}}

/* 游戏房间严格采用旧版KK的全屏结构：紧凑开奖区、左侧玩法、浮动模式切换和底部操作台。 */
body.player-room-active{overflow:hidden;background:var(--palette-surface, #e8edf8)}
body.player-room-active .phone-page,body.player-room-active .page-scroll{height:100dvh;min-height:0}
body.player-room-active .page-scroll{padding-bottom:0}
.game-room-panel{display:flex;height:100dvh;min-height:0;flex-direction:column;overflow:hidden;padding-bottom:0;color:var(--palette-text, #203957);background:var(--palette-surface, #e8edf8)}
.game-kk-top{position:relative;z-index:3;flex:0 0 12.1875rem;overflow:hidden;background:linear-gradient(135deg,var(--palette-surface, #eef5ff) 0,var(--palette-surface, #e4effe) 46%,var(--palette-surface, #eff5ff) 100%)}
.game-kk-top:before,.game-kk-top:after{position:absolute;z-index:-1;content:"";pointer-events:none;transform:skewX(-20deg)}
.game-kk-top:before{top:-2.8125rem;left:24%;width:28%;height:14.375rem;background:rgba(var(--palette-surface-soft-rgb, 201,221,246),0.64)}
.game-kk-top:after{top:-2.1875rem;left:55%;width:15%;height:13.75rem;background:rgba(var(--palette-surface-soft-rgb, 211,228,249),0.78)}
.game-room-header{position:relative;top:auto;display:flex;height:3rem;align-items:center;gap:0.4375rem;padding:0.25rem 0.75rem 0;background:transparent;backdrop-filter:none}
.game-room-back{display:grid;width:1.5rem;height:2rem;flex:0 0 1.5rem;place-items:center;padding:0;border:0;color:var(--palette-accent, #1589ee);background:transparent;font-size:2.125rem;font-weight:300;line-height:1}
.game-room-name{display:flex;min-width:0;align-items:center;gap:0.5rem}.game-room-name>strong{overflow:hidden;max-width:11.875rem;color:var(--palette-text, #243a56);font-size:1.125rem;text-overflow:ellipsis;white-space:nowrap}.game-room-name>span{padding:0.3125rem 0.5625rem;border-radius:62.4375rem;color:#fff;background:var(--palette-green, #22a978);font-size:0.75rem;font-weight:800;white-space:nowrap}.game-room-name>span.closed{background:var(--palette-warm, #fa3856)}.game-room-name>i{color:var(--palette-muted, #687f9f);font-size:1.125rem;font-style:normal}.game-room-balance{display:flex;height:1.75rem;align-items:center;margin-left:auto;padding:0 0.6875rem;border:0;border-radius:62.4375rem;color:var(--palette-muted, #6c7f98);background:rgba(var(--palette-surface-rgb, 255,255,255),0.94);box-shadow:0 2px 8px rgba(var(--palette-shadow-rgb, 66,98,136),0.05);font-size:0.75rem;white-space:nowrap}.game-room-balance i{margin-right:0.1875rem;color:var(--palette-muted, #6783a1);font-size:1rem;font-style:normal}.game-room-balance b{font-weight:500}
.game-draw-card{display:grid;height:6.375rem;grid-template-columns:34% minmax(0,1fr);align-items:center;margin:0;padding:0.25rem 1.0625rem 0.4375rem;border-radius:0;color:var(--palette-text, #29405d);background:transparent;box-shadow:none}.game-next-draw{display:grid;align-content:center;justify-items:start;min-width:0}.game-next-draw>strong{overflow:hidden;max-width:100%;font-size:1.125rem;text-overflow:ellipsis;white-space:nowrap}.game-next-draw>span{margin:0.1875rem 0 0.4375rem;color:var(--palette-muted, #657b99);font-size:0.8125rem}.game-countdown{display:flex;align-items:center;gap:0.25rem}.game-countdown b{display:grid;width:1.5rem;height:1.625rem;place-items:center;border-radius:0.25rem;color:#fff;background:var(--palette-surface-raised, #70829b);font-size:1.125rem;font-variant-numeric:tabular-nums}.game-countdown i{color:var(--palette-muted, #5d708c);font-size:1.0625rem;font-style:normal;font-weight:800}.game-result{min-width:0}.game-result-head{display:flex;min-height:1.75rem;align-items:center;justify-content:space-between;gap:0.5rem;color:var(--palette-muted, #607594);font-size:0.8125rem}.game-result-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-result-head em{padding:0.3125rem 0.625rem;border-radius:62.4375rem;color:#fff;background:var(--palette-surface-raised, #8399c8);font-size:0.75rem;font-style:normal;font-weight:800;white-space:nowrap}.game-draw-balls{display:flex;min-height:2.875rem;align-items:center;justify-content:flex-start;gap:0.4375rem;margin:0;padding:0;border-radius:0;background:transparent}.game-draw-balls>i{color:#405372;font-size:1.125rem;font-style:normal}.game-draw-balls>span{color:#8798ad;font-size:0.75rem}.game-result-ball{display:grid;width:1.875rem;height:1.875rem;flex:0 0 1.875rem;place-items:center;border:3px solid #2498f2;border-radius:50%;color:#203a5a;background:#fff;font-size:1rem}.game-result-ball.sum{border-color:#ff3e59;color:#fff;background:#ff3e59;box-shadow:0 0 12px rgba(255,62,89,.36)}.game-result-ball.compact{width:1.6875rem;height:1.6875rem;flex-basis:1.6875rem;border-width:2px;font-size:0.75rem}
.game-page-tabs{position:absolute;z-index:2;top:auto;right:0;bottom:0;left:0;display:flex;height:2.8125rem;gap:0.625rem;margin:0;padding:0.25rem 0.5rem 0.375rem;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.game-page-tabs button{width:5.4375rem;min-height:2.1875rem;flex:0 0 5.4375rem;border:0!important;border-radius:0.25rem;color:var(--palette-text, #526884);background:var(--palette-surface, #fff);font-size:0.9375rem;font-weight:500;box-shadow:none}.game-page-tabs button.active{color:#fff;background:var(--palette-primary, #078ff2)}
.game-bet-view{display:flex;min-height:0;flex:1;flex-direction:column}.game-bet-shell{position:relative;min-height:0;flex:1;overflow:hidden;margin:0;border:0;border-radius:0;background:var(--palette-surface, #e8edf8);box-shadow:none}.game-professional-mode{display:grid;height:100%;min-height:0;grid-template-columns:clamp(5.125rem,19%,6.25rem) minmax(0,1fr)}.game-bet-categories{min-height:0;overflow-y:auto;border-right:1px solid var(--palette-line, #d7dfec);background:rgba(var(--palette-surface-rgb, 255,255,255),0.88)}.game-bet-categories button{min-height:4.75rem;flex:0 0 4.75rem;padding:0.5rem;border:0;border-bottom:1px solid var(--palette-line, #e0e5ee);color:var(--palette-text, #2e445f);background:transparent;font-size:1rem}.game-bet-categories button.active{color:var(--palette-accent, #078ff2);background:var(--palette-surface, #fff);font-weight:500}.game-bet-categories button.active:after{right:0;left:0;height:0.25rem;background:var(--palette-primary, #078ff2)}.game-bet-groups{min-height:0;overflow-y:auto;margin:0;background:var(--palette-surface, #e8edf8)}.game-bet-groups>h3{height:2.25rem;margin:0;padding:0.4375rem 0.625rem;color:var(--palette-text, #243957);font-size:1.0625rem;font-weight:500}.game-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.625rem;padding:0 0.625rem 0.75rem}.game-choice{min-height:3.1875rem;gap:0.0625rem;border:0;border-radius:0.3125rem;color:var(--palette-text, #253d5c);background:var(--palette-surface, #fff);box-shadow:none}.game-choice strong{font-size:1.125rem;font-weight:500}.game-choice span{color:var(--palette-muted, #60718c);font-size:0.8125rem}.game-choice.active{border:0;color:#fff;background:var(--palette-primary, #168ff0);box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 22,143,240),0.23)}.game-choice.active span{color:#fff}
.game-group-mode{display:flex;height:100%;min-height:0;flex-direction:column;padding:0;background:var(--palette-surface, #e8edf8)}.game-group-mode>#game-chat-older{align-self:center;margin:0.5625rem 0 0;padding:0.3125rem 0.6875rem;border:0;border-radius:62.4375rem;color:var(--palette-muted, #63809c);background:rgba(var(--palette-surface-rgb, 255,255,255),0.75);font-size:0.75rem}.game-group-mode .game-room-chat-messages{max-height:none;min-height:0;flex:1;overflow-y:auto;padding:0.75rem 0.875rem 5.75rem;background:transparent}.game-group-mode .game-room-chat-messages>.empty{display:none}.game-mode-toggle{position:absolute;z-index:4;right:1.4375rem;bottom:2.375rem;display:grid;justify-items:center;gap:0.3125rem;padding:0;border:0;color:var(--palette-text, #263e5b);background:transparent;font-size:0.75rem}.game-mode-toggle.group{bottom:20vh}.game-mode-toggle>i{position:relative;display:grid;width:3.4375rem;height:3.4375rem;place-items:center;border-radius:50%;color:#fff;background:var(--palette-primary, #0b68fa);box-shadow:0 7px 18px rgba(var(--palette-shadow-rgb, 11,104,250),0.28);font-size:1.5rem;font-style:normal;font-weight:800}.game-mode-toggle>i.chat-icon:before{width:1.25rem;height:0.9375rem;border:2px solid #fff;border-radius:0.5rem;content:""}.game-mode-toggle>i.chat-icon:after{position:absolute;right:1rem;bottom:1rem;width:0.375rem;height:0.375rem;border-right:2px solid #fff;border-bottom:2px solid #fff;content:"";transform:skew(24deg)}.game-mode-toggle>span{white-space:nowrap}
.game-submit-card{position:relative;z-index:5;bottom:auto;display:grid;min-height:12.8125rem;flex:0 0 12.8125rem;grid-template-columns:1fr;gap:0.5625rem;margin:0;padding:0.6875rem 1.125rem 0.8125rem;border:0;border-radius:1.375rem 1.375rem 0 0;background:var(--palette-surface, #fff);box-shadow:0 -8px 25px rgba(var(--palette-shadow-rgb, 68,91,126),0.06);backdrop-filter:none}.game-submit-summary{position:relative;display:flex!important;min-height:2.3125rem;align-items:center!important;justify-content:flex-start;gap:0.4375rem!important}.game-submit-summary>span{position:absolute;left:50%;display:flex;align-items:center;gap:0.3125rem;padding:0.4375rem 0.9375rem;border-radius:62.4375rem;color:#fff!important;background:var(--palette-primary, #168ff0);font-size:0.8125rem!important;font-weight:700;transform:translateX(-50%);white-space:nowrap}.game-submit-summary>span b{color:#fff;font-size:1rem}.game-submit-summary>small{display:none}.game-replace-option{display:flex;align-items:center;gap:0.375rem;margin:0;padding:0.375rem 0.6875rem;border-radius:62.4375rem;color:var(--palette-text, #2e465f);background:var(--palette-surface, #f5f7fa);font-size:0.8125rem}.game-replace-option i{width:1.125rem;height:1.125rem;border-color:var(--palette-line, #8e9db0);border-radius:0.125rem}.game-stake-control{display:grid!important;grid-template-columns:2.5rem auto minmax(6.875rem,1fr);gap:0.5rem!important;margin:0}.game-stake-edit{display:grid;width:2.5rem;min-height:2.75rem!important;place-items:center!important;padding:0!important;border:0!important;border-radius:0.5rem!important;color:var(--palette-muted, #8092aa);background:var(--palette-surface, #f0f4fa);font-size:1.1875rem!important}.game-quick-coins{display:flex!important;gap:0.4375rem!important}.game-quick-coins button{width:2.875rem;min-height:2.875rem!important;padding:0!important;border:5px dashed var(--palette-focus, #2995ff)!important;border-radius:50%!important;color:var(--palette-accent, #1588ef);background:var(--palette-surface, #fff);font-size:0.875rem!important}.game-stake-control>input{height:2.875rem;padding:0 0.8125rem;border-color:var(--palette-line, #91a7c1);border-radius:0.375rem;color:var(--palette-text, #334b67);background:var(--palette-surface, #fff);font-size:0.8125rem}.game-submit-actions{display:grid!important;grid-template-columns:1fr 1fr 1.45fr;gap:0.625rem!important;margin:0}.game-submit-actions button{min-height:4.25rem!important;border:0!important;border-radius:0.4375rem!important;color:var(--palette-muted, #65748b)!important;background:var(--palette-surface, #edf2fa)!important;font-size:1rem!important;font-weight:500!important;box-shadow:none!important}.game-submit-actions .game-cancel-button{display:grid;place-content:center;gap:0.1875rem}.game-cancel-button i{font-size:1.0625rem;font-style:normal}.game-submit-actions .game-append-button:not(:disabled){color:#fff!important;background:var(--palette-primary, #168ff0)!important}.game-command-dock{z-index:5;display:grid;min-height:4.375rem;flex:0 0 4.375rem;grid-template-columns:minmax(0,1fr) 6.5rem;gap:0.625rem;align-items:center;padding:0.625rem 1.0625rem calc(0.625rem + env(safe-area-inset-bottom));border-top:1px solid var(--palette-line, #d6deea);background:var(--palette-surface, #fff)}.game-command-dock input{min-width:0;height:2.875rem;padding:0 0.875rem;border:1px solid var(--palette-line, #9badc3);border-radius:0.375rem;outline:0;color:var(--palette-text, #2d4562);background:var(--palette-surface, #fff);font-size:0.875rem}.game-command-dock input:focus{border-color:var(--palette-focus, #168ff0);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 22,143,240),0.11)}.game-command-dock button{height:2.875rem;border:0;border-radius:0.375rem;color:#fff;background:var(--palette-primary, #078ff2);font-size:1.0625rem;font-weight:800}.game-secondary-view{min-height:0;flex:1;overflow-y:auto;background:var(--palette-surface, #eef3fa)}.game-secondary-view .game-history-card{margin:0.75rem}.game-rule-card{margin:0.75rem}
@media(max-width:470px){.game-kk-top{flex-basis:11.75rem}.game-room-header{height:2.8125rem;padding-inline:0.5rem}.game-room-name{gap:0.3125rem}.game-room-name>strong{max-width:7.8125rem;font-size:1rem}.game-room-name>span{padding:0.25rem 0.4375rem;font-size:0.75rem}.game-room-balance{height:1.5625rem;padding-inline:0.5rem;font-size:0.75rem}.game-draw-card{height:6.1875rem;padding:0.125rem 0.6875rem 0.3125rem;grid-template-columns:36% minmax(0,1fr)}.game-next-draw>strong{font-size:0.9375rem}.game-next-draw>span,.game-result-head{font-size:0.75rem}.game-countdown{gap:0.1875rem}.game-countdown b{width:1.25rem;height:1.4375rem;font-size:0.9375rem}.game-result-head em{padding:0.25rem 0.4375rem;font-size:0.75rem}.game-draw-balls{gap:0.25rem}.game-result-ball{width:1.625rem;height:1.625rem;flex-basis:1.625rem;border-width:2px;font-size:0.8125rem}.game-result-ball.compact{width:1.375rem;height:1.375rem;flex-basis:1.375rem;font-size:0.75rem}.game-page-tabs{height:2.75rem;gap:0.4375rem;padding-inline:0.375rem}.game-page-tabs button{width:4.875rem;min-height:2.125rem;flex-basis:4.875rem;font-size:0.8125rem}.game-professional-mode{grid-template-columns:clamp(4.875rem,20%,5.875rem) minmax(0,1fr)}.game-bet-categories button{min-height:4.375rem;flex-basis:4.375rem;font-size:0.875rem}.game-bet-groups>h3{height:2.125rem;padding-left:0.5625rem;font-size:0.9375rem}.game-choice-grid{gap:0.4375rem;padding-inline:0.5rem}.game-choice{min-height:3rem}.game-choice strong{font-size:1rem}.game-choice span{font-size:0.75rem}.game-submit-card{min-height:12.9375rem;flex-basis:12.9375rem;padding:0.5625rem 0.625rem 0.6875rem}.game-submit-summary{min-height:2.1875rem}.game-submit-summary>span{padding:0.375rem 0.75rem;font-size:0.75rem!important}.game-submit-summary>span b{font-size:0.875rem}.game-replace-option{padding:0.3125rem 0.5rem;font-size:0.75rem}.game-stake-control{grid-template-columns:2.25rem auto minmax(5.5rem,1fr);gap:0.3125rem!important}.game-stake-edit{width:2.25rem;min-height:2.625rem!important}.game-quick-coins{gap:0.25rem!important}.game-quick-coins button{width:2.5rem;min-height:2.625rem!important;border-width:4px!important;font-size:0.75rem!important}.game-stake-control>input{height:2.6875rem;padding-inline:0.5625rem;font-size:0.75rem}.game-submit-actions{gap:0.4375rem!important}.game-submit-actions button{min-height:4.125rem!important;font-size:0.875rem!important}.game-mode-toggle{right:1rem}.game-mode-toggle>i{width:3.25rem;height:3.25rem}.game-command-dock{grid-template-columns:minmax(0,1fr) 6rem;padding-inline:0.625rem}}
@media(max-height:800px){.game-kk-top{flex-basis:10rem}.game-room-header{height:2.375rem}.game-draw-card{height:5.125rem}.game-page-tabs{height:2.5rem;padding-block:0.1875rem}.game-page-tabs button{width:4.5rem;min-height:2rem;flex-basis:4.5rem;font-size:0.75rem}.game-bet-categories button{min-height:4.125rem;flex-basis:4.125rem;font-size:0.875rem}.game-choice{min-height:2.625rem}.game-choice strong{font-size:0.9375rem}.game-submit-card{min-height:11.3125rem;flex-basis:11.3125rem;padding-block:0.5rem}.game-submit-actions button{min-height:3.625rem!important}.game-mode-toggle>i{width:3.125rem;height:3.125rem}}
@media(max-width:360px){.game-room-name>strong{max-width:6.375rem}.game-page-tabs{gap:0.3125rem}.game-page-tabs button{width:4.5rem;flex-basis:4.5rem;font-size:0.75rem}.game-submit-card{padding-inline:0.4375rem}.game-stake-control{grid-template-columns:2rem auto minmax(4.75rem,1fr)}.game-stake-edit{width:2rem}.game-quick-coins button{width:2.25rem}.game-stake-control>input{padding-inline:0.375rem;font-size:0.75rem}}

/* 下分页面直接维护玩家自己的收款资料，避免离开当前申请流程。 */
.finance-payment-editor{display:grid;gap:0.8125rem;padding:1rem;border:1px solid var(--palette-line, #d5e7f3);border-radius:0.9375rem;background:var(--palette-surface, #f7fbfe)}
.finance-payment-editor>header{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.finance-payment-editor>header small,.finance-payment-editor>header strong{display:block}
.finance-payment-editor>header small{color:var(--palette-muted, #8299ad);font-size:0.75rem}
.finance-payment-editor>header strong{margin-top:0.25rem;color:var(--palette-text, #294c66);font-size:0.875rem}
.finance-payment-editor>header>span{padding:0.3125rem 0.5rem;border-radius:62.4375rem;color:var(--palette-accent, #268ccf);background:var(--palette-surface, #e7f5ff);font-size:0.75rem}
.finance-payment-editor>img{display:block;width:9.375rem;height:9.375rem;margin:auto;border:1px solid var(--palette-line, #d7e6f0);border-radius:0.875rem;object-fit:contain;background:var(--palette-surface, #fff)}
.finance-payment-empty{display:grid;min-height:5.5rem;place-items:center;border:1px dashed var(--palette-line, #c6dce9);border-radius:0.75rem;color:var(--palette-muted, #7891a6);font-size:0.75rem}
.finance-payment-editor>label,.finance-payment-fields label{display:grid;gap:0.4375rem;color:var(--palette-muted, #6e879f);font-size:0.75rem}
.finance-payment-editor input{width:100%;height:2.625rem;padding:0 0.75rem;border:1px solid var(--palette-line, #d3e4ef);border-radius:0.625rem;color:var(--palette-text, #244862);background:var(--palette-surface, #fff);outline:0}
.finance-payment-editor input[type=file]{height:auto;padding:0.5625rem}
.finance-payment-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.625rem}
.finance-payment-fields label:last-child{grid-column:1/-1}

@media(max-width:470px){.finance-payment-fields{grid-template-columns:1fr}.finance-payment-fields label:last-child{grid-column:auto}}

/* Player固定为手机宽度，内部布局统一按430px容器收敛，避免桌面宽视口继续套用双栏规则。 */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body,.phone-page,.page-scroll,.tab-panel{min-width:0}
img,svg,video,canvas{max-width:100%}
button,input,select,textarea{min-width:0;max-width:100%}
.topbar-logo,.account-copy,.section-title>div,.sub-header>div,.mine-hero>div,.mine-card-head>div,.finance-card-head>div,.agent-list-head>div,.benefit-wheel-card header>div,.benefit-log-card header>div,.finance-payment-editor>header>div{min-width:0}
.topbar-logo strong,.sub-header h1,.mine-hero h1{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-copy>div,.account-copy p,.mine-balance div,.agent-reward-stats>div{min-width:0}
.account-copy>div strong,.account-copy>div small{display:block;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}
.account-copy b,.mine-balance strong,.agent-reward-stats strong{overflow:hidden;max-width:100%;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.payment-preview strong,.payment-preview small,.dialog-card>p,.dialog-meta b,.player-message>div,.player-message>section>div,.game-rule-card p,.finance-payment-editor input,.payment-root input{overflow-wrap:anywhere;word-break:break-word}

/* 大厅、列表和个人中心始终使用手机单列结构。 */
.topbar{height:3.75rem;padding:0 1rem}
.topbar-logo img{width:2rem;height:2rem}
.topbar-logo strong{max-width:none;font-size:0.875rem}
.top-actions{flex:0 0 auto}
.top-actions button{width:2.125rem;height:2.125rem}
.hero{aspect-ratio:390/158;border-radius:0 0 1.25rem 1.25rem}
.hero-copy{left:5%;max-width:52%}
.hero-copy span,.room-copy em{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-copy strong{font-size:1.0625rem;overflow-wrap:anywhere}
.hero-copy small{display:none}
.notice-bar{margin:0.5625rem 0.75rem 0;padding-block:0.4375rem}
.account-card{grid-template-columns:minmax(0,1fr) auto;gap:0.5rem;margin:0.625rem 0.75rem 0;padding:1rem}
.account-copy>span{display:none}
.account-copy>div{display:block}
.account-copy>div small{display:block;margin-top:0.125rem}
.account-copy p{margin-top:0.4375rem}
.account-copy b{font-size:clamp(1.3125rem,7vw,1.75rem)}
.account-copy em{display:none}
.quick-actions{flex:0 0 auto;gap:clamp(0.3125rem,2vw,0.5625rem)}
.quick-actions button{display:grid!important;min-width:0}
.quick-actions i{width:clamp(2.125rem,9vw,2.375rem);height:clamp(2.125rem,9vw,2.375rem)}
.section-title{margin:1.4375rem 1rem 0.6875rem}
.featured-rooms{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,7.5625rem);gap:0.5625rem;padding:0 0.75rem}
.room-copy{top:0.9375rem;left:0.9375rem;max-width:68%}
.room-copy strong{display:-webkit-box;overflow:hidden;font-size:1rem;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.room-copy span{display:none}
.featured-room:first-child .room-copy strong{font-size:1.125rem}
.home-activities{grid-template-columns:1fr;padding:1.125rem 0.75rem 0}
.sub-header{gap:0.75rem;padding:1.25rem 1rem 0.9375rem}
.sub-header>button{flex:0 0 auto}
.sub-header>div{flex:1;overflow:hidden}
.sub-header>span{flex:0 1 auto;max-width:38%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-filters,.sub-tabs{padding-inline:0.75rem;scrollbar-width:none}
.game-filters::-webkit-scrollbar,.sub-tabs::-webkit-scrollbar,.payment-tabs::-webkit-scrollbar,.chat-quick-replies::-webkit-scrollbar,.player-service-questions>div::-webkit-scrollbar{display:none}
.room-list{grid-template-columns:1fr;gap:0.625rem;padding:0.1875rem 0.75rem 1.25rem}
.player-room-group>div{grid-template-columns:1fr;gap:0.5625rem;padding:0.5625rem}
.room-item>.room-entry{grid-template-columns:5.875rem minmax(0,1fr);min-height:6.875rem}
.room-item>.room-entry>span{padding:0.75rem 0.625rem}
.room-item>.room-entry strong{padding-right:3.875rem}
.activity-list{grid-template-columns:1fr;gap:0.625rem;padding:0.75rem}
.mine-hero{gap:0.75rem;padding:1.375rem 1rem 3.9375rem}
.mine-hero>button,.mine-avatar{flex:0 0 auto}
.mine-avatar{width:3.8125rem;height:3.8125rem;border-radius:1.25rem}
.mine-hero>div{flex:1;overflow:hidden}
.mine-hero p{overflow-wrap:anywhere}
.mine-balance{margin-inline:0.75rem;padding-inline:0.125rem}
.mine-balance div{padding-inline:0.4375rem}
.mine-balance strong{font-size:clamp(0.75rem,3.8vw,0.9375rem)}
.mine-card{margin-inline:0.75rem;padding:1.125rem}
.auth-form .form-pair,.mine-card form,.payment-root form{grid-template-columns:1fr}
.mine-card form .form-error,.mine-card form .primary-button,.payment-root form .form-error,.payment-root form .primary-button,.payment-current-image,.payment-current-empty,.payment-clear{grid-column:1}

/* 表单、记录、客服、代理和福利按固定手机容器重新排布。 */
.finance-card{margin:0.75rem;padding:1.125rem}
.finance-card .form-pair,.finance-payment-fields{grid-template-columns:1fr}
.finance-payment-fields label:last-child{grid-column:auto}
.finance-card-head{gap:0.625rem}
.finance-card-head>span,.finance-payment-editor>header>span{flex:0 0 auto}
.payment-preview.image{align-items:flex-start}
.payment-preview.image img{flex:0 0 5.625rem}
.player-record-list{padding-inline:0.75rem}
.player-record-list article{grid-template-columns:2.5rem minmax(0,1fr)}
.player-record-list article>b{grid-column:2;justify-self:start;max-width:100%;overflow-wrap:anywhere;text-align:left}
.player-service-root,.agent-root{margin-inline:0;padding-inline:0}
.chat-card,.contact-card,.agent-card{border-inline:0;border-radius:0}
.chat-card form{grid-template-columns:minmax(0,1fr) 5.5rem}
.chat-card form .primary-button{min-height:3.625rem}
.player-service-messages{height:min(26.25rem,calc(100dvh - 18.75rem));min-height:16.25rem}
.player-message{max-width:88%}
.player-message>div{max-width:100%}
.agent-card p{overflow-wrap:anywhere;word-break:break-word}
.invite-link{flex-direction:column}
.invite-link button{height:2.625rem}
.agent-player-list article{grid-template-columns:2.625rem minmax(0,1fr);padding-inline:1.0625rem}
.agent-player-list article>div{min-width:0}
.agent-player-list article>b{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-player-list strong,.agent-player-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agent-reward-list article{grid-template-columns:minmax(0,1fr) auto;padding-inline:1.0625rem}
.agent-reward-list article>div{min-width:0}
.agent-reward-list article>span{grid-column:1;overflow-wrap:anywhere}
.agent-reward-list article>b{grid-row:1/3;grid-column:2;max-width:100%;overflow-wrap:anywhere}
.agent-reward-stats{padding-inline:0.75rem}
.agent-reward-stats>div{min-width:0;padding:1rem}
.agent-reward-stats strong{font-size:clamp(1rem,5vw,1.25rem)}
.benefit-root{padding:0.75rem 0 1.75rem}
.benefit-wheel-grid{grid-template-columns:1fr}
.benefit-checkin-card,.benefit-wheel-card,.benefit-log-card{border-inline:0;border-radius:0}
.benefit-checkin-card{padding:1.125rem 0.875rem}
.benefit-checkin-copy,.benefit-checkin-copy p{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.benefit-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:0.1875rem}
.benefit-days div{min-width:0}
.benefit-days i{width:min(1.9375rem,100%);height:auto;aspect-ratio:1;border-radius:0.625rem}
.benefit-days span{font-size:0.75rem;white-space:nowrap}
.benefit-checkin-action>div{flex:1 1 auto;min-width:0}
.benefit-checkin-action .primary-button{min-width:0;flex:0 1 10rem}
.benefit-wheel-card{padding:1.1875rem}
.benefit-wheel-stage{width:min(14.125rem,100%);height:auto;aspect-ratio:1}
.benefit-wheel-value{max-width:24%;overflow:hidden}
.benefit-wheel-value b{overflow:hidden;font-size:clamp(0.75rem,3vw,0.8125rem);text-overflow:ellipsis;white-space:nowrap}
.benefit-header>span{display:none}
.benefit-log-list{padding-inline:0.875rem}
.benefit-log-list article{grid-template-columns:2.375rem minmax(0,1fr)}
.benefit-log-list article>div{min-width:0}
.benefit-log-list strong,.benefit-log-list small{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.benefit-log-icon{width:2.375rem;height:2.375rem}
.benefit-log-list time{grid-column:2;overflow-wrap:anywhere}

/* 聊天卡片与弹窗允许长文本换行，矮屏内容保持可滚动。 */
.group-chat-root{padding:0.75rem 0 1.75rem}
.group-chat-card{border-inline:0;border-radius:0}
.group-chat-messages{overflow-x:hidden;padding-inline:0.75rem}
.group-chat-message{width:94%;max-width:100%;min-width:0;grid-template-columns:2.25rem minmax(0,1fr);overflow:hidden}
.group-chat-message.mine{grid-template-columns:minmax(0,1fr) 2.25rem}
.group-chat-avatar{width:2.25rem;height:2.25rem;border-radius:0.6875rem}
.group-chat-message.kind-3{width:96%}
.group-chat-message>div,.group-chat-message header,.group-chat-message p{min-width:0;max-width:100%}
.group-chat-message>div{overflow:hidden}
.group-chat-message header strong{min-width:0;flex:1}
.player-forecast-card,.player-red-packet-card{width:100%;min-width:0;max-width:100%}
.player-red-packet-card{grid-template-columns:2.375rem minmax(0,1fr) auto}
.player-red-packet-card>span{width:2.375rem;height:2.375rem}
.player-red-packet-card>div{min-width:0}
.group-chat-form{grid-template-columns:minmax(0,1fr) 5.5rem;padding:0.6875rem 0.75rem calc(0.8125rem + env(safe-area-inset-bottom))}
.group-chat-form .primary-button{min-height:3.625rem}
.dialog{overflow-y:auto;padding:max(0.75rem,env(safe-area-inset-top)) max(0.75rem,env(safe-area-inset-right)) max(0.75rem,env(safe-area-inset-bottom)) max(0.75rem,env(safe-area-inset-left))}
.dialog-card{width:min(26.875rem,100%);max-height:calc(100dvh - 1.5rem);overflow-x:hidden;padding:1.5rem;overscroll-behavior:contain}
.dialog-card>h2{padding-right:2.625rem;overflow-wrap:anywhere}

.dialog-meta span{min-width:0}
.activity-dialog-card>img{width:calc(100% + 3rem);margin:-1.5rem -1.5rem 1.3125rem}
.player-red-packet-shell{overflow-y:auto;padding:0}
.player-red-packet-head h2{padding-inline:2.125rem;color:#fff;overflow-wrap:anywhere}
.player-red-packet-head p{overflow-wrap:anywhere;word-break:break-word}
.player-red-packet-claims article{grid-template-columns:2.1875rem minmax(0,1fr) minmax(0,7.5rem)}
.player-red-packet-claims article>div{min-width:0}
.player-red-packet-claims strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-red-packet-claims b{min-width:0;max-width:7.5rem;overflow-wrap:anywhere;text-align:right;font-size:clamp(0.75rem,3vw,0.75rem)}
html:has(.dialog:not([hidden])),body:has(.dialog:not([hidden])){overflow:hidden}

/* KK游戏房间压缩动态标题、开奖号码和底部操作区，避免互相覆盖。 */
.game-room-header{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto}
.game-room-name{min-width:0;overflow:hidden}
.game-room-name>strong{min-width:0;max-width:none;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.game-room-name>span,.game-room-name>i,.game-room-balance{flex:0 0 auto}
.game-room-balance{max-width:7.25rem;overflow:hidden}
.game-room-balance b{overflow:hidden;text-overflow:ellipsis}
.game-result{overflow:hidden}
.game-draw-balls{min-width:0;flex-wrap:nowrap;overflow:hidden}
.game-result-ball.compact{width:auto;min-width:0;max-width:1.375rem;height:auto;flex:1 1 0;aspect-ratio:1;font-size:clamp(0.75rem,2.5vw,0.75rem)}
.game-page-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(0.25rem,1.6vw,0.4375rem);overflow:hidden}
.game-page-tabs button{width:auto;min-width:0;flex:initial;overflow:hidden;padding-inline:0.125rem;text-overflow:ellipsis;white-space:nowrap}
.game-submit-summary{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:0.4375rem!important}
.game-submit-summary>span{position:static;min-width:0;justify-self:end;overflow:hidden;max-width:100%;padding-inline:0.6875rem;transform:none;text-overflow:ellipsis}
.game-submit-summary>span b{overflow:hidden;text-overflow:ellipsis}
.game-replace-option{min-width:0}
.game-stake-control{grid-template-columns:2.25rem minmax(0,auto) minmax(4.875rem,1fr);gap:0.3125rem!important}
.game-stake-edit{width:2.25rem}
.game-quick-coins{min-width:0;gap:0.25rem!important}
.game-quick-coins button{width:clamp(2.125rem,9.3vw,2.5rem);min-width:0}
.game-stake-control>input{width:100%}
.game-bet-history,.game-draw-history{grid-template-columns:minmax(0,1fr) auto;gap:0.5rem 0.75rem}
.game-bet-history>div:first-child,.game-draw-history>div:first-child{min-width:0}
.game-bet-history>p,.game-draw-history>div:nth-child(2){grid-row:2;grid-column:1/-1;min-width:0;white-space:normal;overflow-wrap:anywhere}
.game-history-result{grid-row:1;grid-column:2;min-width:0;max-width:9.375rem}
.game-draw-history>span{grid-row:1;grid-column:2;max-width:9.0625rem;overflow-wrap:anywhere}

@media(max-width:340px){.account-card{padding-inline:0.8125rem}.quick-actions span{font-size:0.75rem}.mine-balance strong{font-size:0.75rem}.benefit-checkin-action{align-items:stretch;flex-direction:column}.benefit-checkin-action .primary-button{width:100%;flex-basis:auto}.chat-card form,.group-chat-form{grid-template-columns:1fr}.chat-card form .primary-button,.group-chat-form .primary-button{min-height:2.75rem}.dialog-meta{grid-template-columns:1fr}.game-room-name>i{display:none}.game-room-balance{max-width:5.75rem;padding-inline:0.375rem;font-size:0.75rem}.game-stake-control{grid-template-columns:2rem minmax(0,1fr)}.game-stake-edit{width:2rem}.game-quick-coins{grid-row:2;grid-column:1/-1;display:grid!important;grid-template-columns:repeat(4,1fr)}.game-quick-coins button{width:100%;border-radius:0.5rem!important}.game-stake-control>input{grid-row:1;grid-column:2}}

/* 首页轮播使用原生scroll-snap：图片全幅拉伸，文案只在点击后的详情中展示。 */
.hero{width:100%;max-width:none;aspect-ratio:390/158;margin:0 0 clamp(1rem,2.4vw,1.375rem);border-radius:0!important;box-shadow:none!important;background:var(--palette-surface-soft, #d9effc)}
.hero-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:manipulation}
.hero-track::-webkit-scrollbar{display:none}
.hero-slide{position:relative;display:block;width:100%;height:100%;min-width:100%;flex:0 0 100%;overflow:hidden;padding:0;border:0;scroll-snap-align:start;scroll-snap-stop:always;color:inherit;background:var(--palette-surface-soft, #d9effc);text-align:left;cursor:pointer}
.hero-slide-fallback{cursor:default}
.hero-slide>img{display:block;width:100%;height:100%;object-fit:fill;object-position:center;pointer-events:none;user-select:none}
.hero-dots{right:0.5625rem;bottom:0.3125rem;gap:0;align-items:center;padding:0.0625rem 0.25rem;border-radius:62.4375rem;background:rgba(var(--palette-overlay-rgb, 24,61,91),0.12);backdrop-filter:blur(4px)}
.hero-dots button{position:relative;width:1.5rem;height:1.5rem;padding:0;border:0;border-radius:62.4375rem;background:transparent;cursor:pointer}
.hero-dots button:before{position:absolute;top:50%;left:50%;width:0.4375rem;height:0.4375rem;border-radius:62.4375rem;content:"";background:rgba(var(--palette-surface-rgb, 255,255,255),0.62);box-shadow:0 1px 4px rgba(var(--palette-shadow-rgb, 34,83,121),0.2);transform:translate(-50%,-50%);transition:.18s}
.hero-dots button.active:before{width:1.375rem;background:var(--palette-surface, #fff)}
.hero-dots button:focus-visible{outline:2px solid var(--palette-focus, #237fc4);outline-offset:0.125rem}

/* 滚动公告与轮播保留明确留白，避免卡片与图片粘连或叠压。 */
.notice-bar{position:relative;z-index:5;margin:0 1.25rem;padding:0.5625rem 0.75rem;border-radius:0.875rem;background:rgba(var(--palette-surface-rgb, 255,255,255),0.96);box-shadow:0 8px 20px rgba(var(--palette-shadow-rgb, 53,111,155),0.12);backdrop-filter:blur(10px)}
.notice-bar button{min-height:1.75rem;padding:0 0.3125rem;font-weight:800;cursor:pointer}
.notice-list{display:grid;gap:0.625rem;padding:0.8125rem 0.75rem 1.75rem}
.notice-card{position:relative;display:grid;gap:0.5625rem;width:100%;min-width:0;padding:1rem 1.0625rem;border:1px solid var(--palette-line, #d9e9f4);border-radius:1.0625rem;color:var(--palette-text, #31526c);background:var(--palette-surface, #fff);box-shadow:0 8px 20px rgba(var(--palette-shadow-rgb, 48,103,147),0.06);text-align:left;cursor:pointer}
.notice-card>span{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.notice-card b{color:var(--palette-accent, #2c91da);font-size:0.75rem}
.notice-card time{color:var(--palette-muted, #97a9b8);font-size:0.75rem;font-weight:500}
.notice-card p{display:-webkit-box;overflow:hidden;margin:0;padding-right:2.75rem;color:var(--palette-muted, #607b91);font-size:0.75rem;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}
.notice-card em{position:absolute;right:1rem;bottom:1.0625rem;color:var(--palette-accent, #3297df);font-size:0.75rem;font-style:normal;font-weight:800}
.notice-card:active{border-color:var(--palette-focus, #62b5ec);background:var(--palette-surface, #f5fbff);transform:translateY(0.0625rem)}
.lobby-content-dialog-card{width:min(24.375rem,calc(100% - 1.625rem));max-height:calc(100dvh - 1.875rem);overflow-y:auto;padding:1.75rem 1.5625rem}
.lobby-content-dialog-card h2{margin:0 0 0.6875rem;color:var(--palette-text, #244b68);font-size:1.3125rem;line-height:1.35;overflow-wrap:anywhere}
.lobby-content-dialog-card>p{max-height:min(52dvh,26.875rem);overflow-y:auto;margin:0 0 1.25rem;color:var(--palette-muted, #607b91);font-size:0.75rem;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}
.lobby-content-dialog-card>.primary-button{width:100%}

/* Player端全部收款二维码也统一为点击图片选择、右上红色×清除。 */
.player-media-picker{position:relative;display:grid;width:min(14.375rem,100%);grid-column:1/-1;gap:0.5rem;justify-self:center;margin:0.125rem auto}
.player-media-picker-preview{position:relative;display:grid;width:100%;aspect-ratio:1;place-items:center;overflow:hidden;border:1px dashed var(--palette-line, #bcd9eb);border-radius:1.0625rem;background:var(--palette-surface, #f6fbfe);cursor:pointer;transition:.18s}
.player-media-picker-preview:hover{border-color:var(--palette-focus, #43a4e9);background:var(--palette-surface, #eef9ff);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 45,157,244),0.08)}
.player-media-picker-preview:has(input:focus-visible){outline:2px solid var(--palette-focus, #318fda);outline-offset:0.125rem}
.player-media-picker-input{position:absolute!important;width:0.0625rem!important;height:0.0625rem!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;opacity:0;clip-path:inset(50%)}
.player-media-picker-preview img{display:block;width:100%;height:100%;padding:0.5625rem;object-fit:contain;background:var(--palette-surface, #fff)}
.player-media-picker-empty{display:grid;justify-items:center;gap:0.4375rem;padding:1.125rem;color:var(--palette-muted, #7894a9);text-align:center}
.player-media-picker-empty b{color:var(--palette-accent, #3199e4);font-size:1.8125rem;font-weight:400;line-height:1}
.player-media-picker-empty small{font-size:0.75rem;font-weight:800;line-height:1.5}
.player-media-picker-clear{position:absolute;z-index:3;top:-0.5rem;right:-0.5rem;display:grid;width:1.75rem;height:1.75rem;padding:0;place-items:center;border:2px solid var(--palette-line, #fff);border-radius:50%;color:#fff;background:var(--palette-warm, #ec596a);box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 80,46,54),0.25);font-size:1.125rem;font-weight:900;line-height:1;cursor:pointer}
.player-media-picker-clear[hidden]{display:none}
.player-media-picker-clear:disabled{cursor:wait;opacity:.5}
.player-media-picker-note{color:var(--palette-muted, #8aa0b2);font-size:0.75rem;line-height:1.6;text-align:center}
.player-media-picker.uploading{opacity:.65}
.finance-payment-editor>.player-media-picker{margin-block:0.1875rem}

@media(max-width:700px){.notice-bar{margin-inline:0.75rem}}
@media(max-width:340px){.notice-bar{margin-inline:0.5rem}.lobby-content-dialog-card{padding:1.5rem 1.1875rem}.player-media-picker{width:min(13.125rem,100%)}}

/* 参考站式 Player 重构：固定 500px 手机壳、平面白卡、左侧游戏分类与中心充值导航。 */
:root{
  --blue:#1677ff;
  --blue-deep:#0f66e8;
  --ink:#3c3c3c;
  --muted:#949494;
  --line:#eee;
  --soft:#f3f6fa;
  --white:#fff;
  --danger:#ee596a;
  color:var(--palette-text, #3c3c3c);
  background:var(--palette-surface, #f3f6fa);
}
html,body{background:var(--palette-surface, #f3f6fa);color:var(--palette-text, #3c3c3c)}
body{font-size:0.875rem}
.phone-page,.bottom-nav{width:min(31.25rem,100%)}
.phone-page{background:var(--palette-surface, #f3f6fa);box-shadow:0 0 26px rgba(var(--palette-shadow-rgb, 39,59,89),0.1)}
.page-scroll{padding-bottom:6.375rem}
.tab-panel{background:var(--palette-surface, #f3f6fa)}
.primary-button,.auth-submit{border-radius:62.4375rem;background:var(--palette-primary, #1677ff);box-shadow:none}
.primary-button:hover,.auth-submit:hover{background:var(--palette-primary, #0f6fee)}
.brand-mark img,.topbar-logo img{object-fit:contain!important}
.featured-room img,.featured-room.has-icon img,.room-item>.room-entry>img,.home-activity img,.activity-card img{object-fit:cover!important}

/* 顶栏与内页标题采用参考站居中标题结构。 */
.topbar{position:relative;height:4.25rem;padding:0 1.25rem;border:0;background:var(--palette-surface, #fff)}
.topbar-logo{position:absolute;left:50%;max-width:calc(100% - 7rem);gap:0.5625rem;transform:translateX(-50%)}
.topbar-logo img{width:2.375rem;height:2.375rem}
.topbar-logo strong{max-width:11.875rem;color:var(--palette-text, #272727);font-size:1.0625rem;font-weight:800}
.top-actions{margin-left:auto}
.top-actions button,.sub-header>button{border:0;color:var(--palette-text, #313d50);background:transparent;box-shadow:none}
.top-actions button{width:2.5rem;height:2.5rem}
.top-actions svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.sub-header{position:sticky;z-index:19;top:0;height:4.125rem;min-height:4.125rem;gap:0;padding:0 1.125rem;border-bottom:1px solid var(--palette-line, #eee);background:var(--palette-surface, #fff)}
.sub-header>button{width:2.5rem;height:2.5rem;flex:0 0 2.5rem;border-radius:50%;font-size:1.875rem;font-weight:300}
.sub-header>button:hover{background:var(--palette-surface, #f3f6fa)}
.sub-header>div{position:absolute;left:50%;width:min(58%,16.25rem);overflow:hidden;transform:translateX(-50%);text-align:center}
.sub-header small{display:none}
.sub-header h1{margin:0;color:var(--palette-text, #282828);font-size:1.25rem;font-weight:500;line-height:1.25}
.sub-header>span{max-width:26%;margin-left:auto;overflow:hidden;color:var(--palette-muted, #949494);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}

/* 首页：公告和账户快捷入口形成一整张白卡，房间仍保留一大两小布局。 */
.hero{margin-bottom:1.0625rem;background:var(--palette-surface-soft, #e7edf4)}
.notice-bar{min-height:2.8125rem;margin:0 1.0625rem;padding:0.5rem 0.875rem;border:0;border-radius:1.25rem 1.25rem 0 0;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09);backdrop-filter:none}
.notice-icon{width:1.375rem;height:1.375rem;color:var(--palette-muted, #697487);background:transparent;font-size:1.125rem}
.notice-bar p{color:var(--palette-muted, #747b86);font-size:0.75rem}
.notice-bar>div{position:relative;overflow:hidden}
.notice-bar p{width:max-content;min-width:100%;will-change:transform}
.notice-bar p.scrolling{min-width:0;animation:player-notice-marquee var(--notice-duration,12s) linear .6s infinite}
.notice-bar p.scrolling:after{content:attr(data-marquee);padding-left:3rem}
@keyframes player-notice-marquee{from{transform:translateX(0)}to{transform:translateX(var(--notice-end,-100%))}}
@media(prefers-reduced-motion:reduce){.notice-bar p.scrolling{width:100%;overflow:hidden;animation:none;text-overflow:ellipsis}.notice-bar p.scrolling:after{display:none}}
.notice-bar button{min-height:1.875rem;color:var(--palette-accent, #1677ff);font-size:0.75rem;font-weight:700}
.account-card{display:grid;grid-template-columns:1fr;gap:0.875rem;margin:0 1.0625rem 1.125rem;padding:0.875rem 1.0625rem 1.0625rem;border:0;border-radius:0 0 1.25rem 1.25rem;background:var(--palette-surface, #fff);box-shadow:0 3px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.account-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(6.5625rem,45%);gap:0.875rem;align-items:center;padding-bottom:0.8125rem;border-bottom:1px solid var(--palette-line, #eee)}
.account-copy{width:100%;border-top:0;border-right:0;border-left:0;background:transparent;text-align:left;font:inherit}
.account-copy>span{display:none}
.account-copy>div{min-width:0;margin:0}
.account-copy>div strong{color:var(--palette-text, #333);font-size:1rem;font-weight:700}
.account-copy>div small{margin-top:0.25rem;color:var(--palette-muted, #949494);font-size:0.75rem}
.account-copy p{display:grid;min-width:0;justify-items:end;gap:0.1875rem;margin:0;text-align:right}
.account-copy b{display:block;width:100%;overflow:hidden;color:var(--palette-text, #3c3c3c);font-size:1.5rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.account-copy em{display:block;color:var(--palette-muted, #949494);font-size:0.75rem}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.4375rem}
.quick-actions button{display:grid!important;gap:0.4375rem;justify-items:center;min-width:0;padding:0;border:0;color:var(--palette-text, #3c3c3c);background:transparent;font-size:0.75rem}
.quick-actions i{display:grid;width:3rem;height:3rem;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,var(--palette-primary, #48b4ff),var(--palette-primary, #1677ff));box-shadow:0 3px 8px rgba(var(--palette-shadow-rgb, 22,119,255),0.22)}
.quick-actions svg{width:1.5625rem;height:1.5625rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.guest-player .account-card{grid-template-columns:minmax(7.625rem,1fr) auto;align-items:center;gap:0.5rem;padding-top:0.8125rem}
.guest-player .account-copy{display:block;padding:0;border:0}
.guest-player .account-copy>div strong{font-size:1.125rem}
.guest-player .account-copy>div small{margin-top:0.375rem;font-size:0.75rem}
.guest-player .account-copy p{display:none}
.guest-player .quick-actions{gap:0.25rem}
.guest-player .quick-actions i{width:2.875rem;height:2.875rem}
.section-title{align-items:center;margin:1.5rem 1.1875rem 0.8125rem}
.section-title small{display:none}
.section-title h2{margin:0;color:var(--palette-text, #333);font-size:1.1875rem;font-weight:600}
.section-title button{color:var(--palette-accent, #1677ff);font-size:0.75rem}
.featured-rooms{grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,clamp(7.375rem,29vw,9.0625rem));gap:0.625rem;padding:0 1.0625rem}
.featured-room{border:0;border-radius:1.0625rem;background:var(--palette-surface, #eaf4ff);box-shadow:0 3px 12px rgba(var(--palette-shadow-rgb, 0,0,0),0.06)}
.featured-room .room-copy{top:1rem;left:0.9375rem;max-width:72%}
.featured-room .room-copy strong{color:var(--palette-text, #2f3e55);font-size:1rem;font-weight:700;text-shadow:0 1px 0 rgba(var(--palette-shadow-rgb, 255,255,255),0.55)}
.featured-room:first-child .room-copy strong{font-size:1.1875rem}
.featured-room .room-copy em{color:var(--palette-accent, #1677ff);background:rgba(var(--palette-surface-rgb, 255,255,255),0.9)}
.featured-room .room-rule-button{top:0.5rem;right:0.5rem;min-height:1.5625rem;padding:0 0.4375rem;border:0;color:var(--palette-accent, #1677ff);background:rgba(var(--palette-surface-rgb, 255,255,255),0.9);font-size:0.75rem;box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.08)}
.home-activities{grid-template-columns:1fr;gap:1.125rem;padding:1.5625rem 1.0625rem 0.5rem}
.home-activity{display:block;overflow:hidden;padding:0;border:0;border-radius:1.0625rem;background:var(--palette-surface, #fff);box-shadow:0 3px 12px rgba(var(--palette-shadow-rgb, 0,0,0),0.06)}
.home-activity img{display:block;width:100%;height:auto;aspect-ratio:878/329;border-radius:0;background:var(--palette-surface-soft, #e9eef5)}
.home-activity div{display:none}

/* 活动与公告使用参考站的海报流和纯白消息卡。 */
.activity-list{display:grid;grid-template-columns:1fr;gap:1.4375rem;padding:1.4375rem 1.4375rem 7rem}
.activity-card{overflow:hidden;border:0;border-radius:1.0625rem;background:var(--palette-surface, #fff);box-shadow:0 3px 12px rgba(var(--palette-shadow-rgb, 0,0,0),0.06)}
.activity-card img{display:block;width:100%;height:auto;aspect-ratio:878/329;background:var(--palette-surface-soft, #e9eef5)}
.activity-card div{display:none}
#activity-dialog.activity-detail-view{z-index:18;right:auto;left:50%;display:flex;width:min(31.25rem,100%);height:100dvh;flex-direction:column;place-items:initial;overflow-y:auto;padding:0 0 5.125rem;background:var(--palette-surface, #f3f6fa);transform:translateX(-50%);backdrop-filter:none}
.activity-detail-header{position:sticky;z-index:2;top:0;display:flex;min-height:4.125rem;flex:0 0 4.125rem;align-items:center;justify-content:center;border-bottom:1px solid var(--palette-line, #eee);background:var(--palette-surface, #fff)}
.activity-detail-header button{position:absolute;left:1.0625rem;display:grid;width:2.5rem;height:2.5rem;place-items:center;padding:0;border:0;border-radius:50%;color:var(--palette-text, #2b3340);background:transparent;font-size:1.875rem;font-weight:300}
.activity-detail-header button:hover{background:var(--palette-surface, #f3f6fa)}
.activity-detail-header h1{max-width:68%;overflow:hidden;margin:0;color:var(--palette-text, #282828);font-size:1.125rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
#activity-dialog .activity-dialog-card{width:calc(100% - 2.875rem);max-height:none;overflow:visible;margin:1.4375rem;padding:1.8125rem;border:0;border-radius:1.4375rem;background:var(--palette-surface, #fff);box-shadow:0 3px 12px rgba(var(--palette-shadow-rgb, 0,0,0),0.06)}
#activity-dialog .activity-dialog-card>img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:878/329;margin:0 0 1.4375rem;border-radius:1.0625rem;object-fit:cover!important;background:var(--palette-surface-soft, #e9eef5)}
#activity-dialog .activity-dialog-card>.dialog-code{display:inline-flex;margin:0 0 0.5625rem;padding:0.375rem 0.6875rem;border-radius:62.4375rem}
#activity-dialog .activity-dialog-card h2{margin:0 0 0.9375rem;color:var(--palette-text, #333);font-size:1.25rem;line-height:1.4}
#activity-dialog .activity-dialog-card>p{margin:0;color:var(--palette-text, #555);font-size:0.8125rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.notice-list{gap:0.75rem;padding:1.0625rem 1.0625rem 7rem}
.notice-card{gap:0.625rem;padding:1.0625rem 1.125rem;border:0;border-radius:1.25rem;color:var(--palette-text, #3c3c3c);background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.notice-card b{color:var(--palette-accent, #1677ff);font-size:0.75rem}
.notice-card time{color:var(--palette-muted, #a0a0a0);font-size:0.75rem}
.notice-card p{padding-right:3.125rem;color:var(--palette-muted, #6f6f6f);font-size:0.8125rem;line-height:1.7}
.notice-card em{color:var(--palette-accent, #1677ff);font-size:0.75rem}
.notice-card:active{border-color:transparent;background:var(--palette-surface, #f8fbff)}

/* 游戏大厅按参考站改为左分类、右侧三列封面；下注房间本身只统一皮肤。 */
#game-panel:not([hidden]){display:grid;min-height:calc(100dvh - 5.125rem);grid-template-columns:5.875rem minmax(0,1fr);grid-template-rows:4.125rem 4.0625rem minmax(calc(100dvh - 13.3125rem),auto);align-items:start;background:linear-gradient(to right,var(--palette-surface, #fff) 0 5.875rem,var(--palette-surface, #f3f6fa) 5.875rem)}
#game-panel>.sub-header{grid-row:1;grid-column:1/-1;width:100%}
#game-panel>.game-filters{position:sticky;top:4.125rem;display:flex;height:calc(100dvh - 4.125rem);grid-row:2/4;grid-column:1;flex-direction:column;gap:0.75rem;overflow-y:auto;padding:1rem 0.4375rem 6.875rem;background:var(--palette-surface, #fff)}
#game-panel>.game-filters button{width:100%;height:4rem;min-height:4rem;flex:0 0 4rem;padding:0 0.25rem;border:0;border-radius:0.6875rem;color:var(--palette-muted, #7c8497);background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09);font-size:0.75rem}
#game-panel>.game-filters button.active{color:#fff;background:var(--palette-primary, #1677ff);box-shadow:0 4px 9px rgba(var(--palette-shadow-rgb, 22,119,255),0.23)}
.game-search{display:flex;height:2.8125rem;grid-row:2;grid-column:2;align-items:center;align-self:center;gap:0.5rem;margin:0.625rem 0.6875rem;padding:0 0.875rem;border:1px solid var(--palette-focus, #1677ff);border-radius:1.5rem;background:var(--palette-surface, #fff)}
.game-search svg{width:1.25rem;height:1.25rem;flex:0 0 1.25rem;fill:none;stroke:var(--palette-text, #333);stroke-linecap:round;stroke-width:1.7}
.game-search input{width:100%;height:100%;padding:0;border:0;outline:0;color:var(--palette-text, #3c3c3c);background:transparent;font-size:0.8125rem}
.game-search input::placeholder{color:var(--palette-muted, #949494)}
#game-panel>.room-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-row:3;grid-column:2;align-content:start;gap:1.125rem 0.5rem;min-width:0;padding:0.5rem 0.625rem 7rem;background:var(--palette-surface, #f3f6fa)}
#game-panel .room-item{display:block;min-width:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
#game-panel .room-item>.room-entry{display:block;width:100%;min-height:0;background:transparent}
#game-panel .room-item>.room-entry>img{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:0.875rem;background:var(--palette-surface-soft, #e1e8f1);box-shadow:0 2px 7px rgba(var(--palette-shadow-rgb, 0,0,0),0.08)}
#game-panel .room-item>.room-entry>span{display:block;min-width:0;padding:0.4375rem 0.0625rem 0;text-align:center}
#game-panel .room-item>.room-entry strong{display:-webkit-box;min-height:2.65em;padding:0;overflow:hidden;color:var(--palette-text, #3c3c3c);font-size:0.75rem;line-height:1.32;text-overflow:ellipsis;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}
#game-panel .room-item>.room-entry em{margin-top:0.1875rem;color:var(--palette-accent, #1677ff);font-size:0.75rem}
#game-panel .room-rule-button{top:0.3125rem;right:0.3125rem;min-height:1.25rem;padding:0 0.3125rem;border:0;color:var(--palette-accent, #1677ff);background:rgba(var(--palette-surface-rgb, 255,255,255),0.93);font-size:0.75rem;box-shadow:0 2px 5px rgba(var(--palette-shadow-rgb, 0,0,0),0.1)}
#game-panel .room-item.sleep:after{top:0.3125rem;left:0.3125rem;padding:0.25rem 0.3125rem;font-size:0.75rem}
#game-panel>.room-list.merged{grid-template-columns:1fr}
#game-panel .player-room-group{border:0;border-radius:1.125rem;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
#game-panel .player-room-group>header{padding:0.8125rem 0.875rem;border-bottom:1px solid var(--palette-line, #eee);background:var(--palette-surface, #fff)}
#game-panel .player-room-group>header strong{color:var(--palette-text, #3c3c3c)}
#game-panel .player-room-group>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 0.5rem;padding:0.625rem}
body.player-room-active,.game-room-panel,.game-bet-shell,.game-bet-groups,.game-group-mode,.game-secondary-view{background:var(--palette-surface, #f3f6fa)}
.game-kk-top{background:linear-gradient(135deg,var(--palette-surface, #f4f8ff),var(--palette-surface, #e9f1ff))}
.game-page-tabs button.active,.game-choice.active,.game-command-dock button,.game-submit-actions .game-append-button:not(:disabled){background:var(--palette-primary, #1677ff)!important}
.game-mode-toggle>i{background:var(--palette-primary, #1677ff);box-shadow:0 5px 14px rgba(var(--palette-shadow-rgb, 22,119,255),0.25)}
.game-submit-card{border-radius:1.375rem 1.375rem 0 0}

/* 财务、客服、代理、福利沿用业务结构，统一参考站的间距与组件尺寸。 */
.sub-tabs{display:flex;gap:0.5625rem;padding:1.0625rem 1.125rem 0.875rem}
.sub-tabs button,.payment-tabs button{min-height:3rem;flex:1;border:1px solid var(--palette-line, #eee);border-radius:62.4375rem;color:var(--palette-muted, #777);background:var(--palette-surface, #fff);font-size:0.75rem}
.sub-tabs button.active,.payment-tabs button.active{border-color:var(--palette-focus, #1677ff);color:#fff;background:var(--palette-primary, #1677ff);box-shadow:none}
.finance-card,.chat-card,.contact-card,.agent-card{margin:0 1.0625rem 1.5rem;padding:1.3125rem;border:0;border-radius:1.4375rem;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.finance-card-head h2{color:var(--palette-text, #333);font-size:1.1875rem}
.finance-card-head small,.agent-list-head small{color:var(--palette-accent, #1677ff)}
.finance-card form>label,.finance-card .form-pair>label,.payment-root form label,.finance-payment-editor>label,.finance-payment-fields label{gap:0.5rem;color:var(--palette-muted, #707070);font-size:0.75rem}
.finance-card input,.finance-card select,.payment-root input,.finance-payment-editor input,.mine-settings-body input{height:3.25rem;padding:0 1.0625rem;border:1px solid var(--palette-line, #dde0e5);border-radius:1.625rem;color:var(--palette-text, #3c3c3c);background:var(--palette-surface, #f7fbff);font-size:0.875rem}
.finance-card textarea{padding:0.875rem 1.0625rem;border:1px solid var(--palette-line, #dde0e5);border-radius:1.25rem;color:var(--palette-text, #3c3c3c);background:var(--palette-surface, #f7fbff);font-size:0.875rem}
.finance-card input:focus,.finance-card select:focus,.finance-card textarea:focus,.payment-root input:focus,.finance-payment-editor input:focus,.mine-settings-body input:focus{border-color:var(--palette-focus, #1677ff);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 22,119,255),0.1)}
.finance-card .primary-button{min-height:3.125rem;border-radius:62.4375rem;background:var(--palette-primary, #1677ff);font-size:0.875rem}
.finance-payment-editor{padding:1.0625rem;border:1px solid var(--palette-line, #eee);border-radius:1.25rem;background:var(--palette-surface, #f7fbff)}
.player-record-list{gap:0.6875rem;padding:0.125rem 1.0625rem 7rem}
.player-record-list article{padding:1rem;border:0;border-radius:1.25rem;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.player-record-list article>div strong{font-size:0.8125rem}
.player-record-list article>div small,.player-record-list p{font-size:0.75rem}
.group-chat-root{padding:0.875rem 1.0625rem 1.875rem}
.group-chat-card{border:0;border-radius:1.4375rem;box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.group-chat-message p,.player-message>div{border-radius:0.3125rem 1.125rem 1.125rem;color:var(--palette-text, #565e6c);background:var(--palette-surface, #f0f3f7);font-size:0.75rem}
.group-chat-message.mine p,.player-message.mine>div{border-radius:1.125rem 0.3125rem 1.125rem 1.125rem;background:var(--palette-primary, #1677ff)}
.group-chat-form,.chat-card form{border-color:var(--palette-line, #eee);background:var(--palette-surface, #fff)}
.group-chat-form textarea,.chat-card textarea{border:1px solid var(--palette-line, #dde0e5);border-radius:1.25rem;background:var(--palette-surface, #f7fbff);font-size:0.875rem}
#chat-panel{height:calc(100dvh - 5.125rem - env(safe-area-inset-bottom))}
.player-service-root,.agent-root{display:grid;gap:0.875rem;margin:0;padding:0.875rem 1.0625rem 7rem}
.player-service-root .chat-card,.player-service-root .contact-card,.agent-root .agent-card{margin:0;border:0;border-radius:1.4375rem}
.agent-reward-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;padding-inline:0}
.agent-reward-stats>div{border:0;border-radius:1.25rem;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.agent-reward-stats span{font-size:0.75rem;letter-spacing:.06em}
.agent-reward-stats strong{font-size:clamp(1.0625rem,4.6vw,1.375rem)}
.benefit-root{gap:1rem;padding:1.0625rem 1.0625rem 7rem}
.benefit-checkin-card,.benefit-wheel-card,.benefit-log-card{border:0;border-radius:1.4375rem;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.benefit-checkin-card{padding:1.3125rem;background:var(--palette-surface, #fff)}
.benefit-days i{border-color:var(--palette-line, #eee);background:var(--palette-surface, #f7fbff)}
.benefit-days div.complete i,.benefit-draw-button{border-color:var(--palette-focus, #1677ff);background:var(--palette-primary, #1677ff);box-shadow:none}
.benefit-wheel-card{padding:1.3125rem}

/* 我的：账户卡置顶，表单折叠成设置项，首屏保持个人中心形态。 */
#mine-panel{padding-top:0.0625rem}
.mine-hero{margin:1.25rem 1.0625rem 0;padding:1.4375rem 1.25rem 4.375rem;border-radius:1.4375rem;background:linear-gradient(145deg,var(--palette-primary, #3189fa),var(--palette-surface-soft, #a9d3ff));box-shadow:0 3px 12px rgba(var(--palette-shadow-rgb, 22,119,255),0.12)}
.mine-hero>button{display:none}
.mine-avatar{width:3.875rem;height:3.875rem;border:3px solid rgba(var(--palette-line-rgb, 255,255,255),0.86);border-radius:50%;background:var(--palette-primary, #1677ff);box-shadow:none}
.mine-hero small{color:#fff;font-size:0.75rem}
.mine-hero h1{color:var(--palette-text, #2f3b4b);font-size:1.3125rem}
.mine-hero p{color:var(--palette-text, #52667c);font-size:0.75rem}
.mine-balance{margin:-3.0625rem 1.6875rem 1.0625rem;padding:1.1875rem 0.25rem;border:0;border-radius:1.25rem;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.mine-balance div{padding:0 0.5rem}
.mine-balance div+div{border-color:var(--palette-line, #eee)}
.mine-balance span{color:var(--palette-muted, #949494);font-size:0.75rem}
.mine-balance strong{margin-top:0.4375rem;color:var(--palette-text, #3c3c3c);font-size:0.9375rem}
.mine-finance-actions{display:grid;grid-template-columns:1fr 1fr;gap:0.8125rem;margin:0 1.0625rem 0.9375rem}
.mine-finance-actions button{display:flex;min-height:3.625rem;align-items:center;justify-content:center;gap:0.625rem;border:0;border-radius:1.8125rem;color:var(--palette-muted, #7e7e7e);background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.08);font-size:0.9375rem}
.mine-finance-actions i{display:grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:50%;color:var(--palette-accent, #1677ff);background:var(--palette-surface, #edf4ff);font-size:0.75rem;font-style:normal;font-weight:800}
.mine-card{margin:0.8125rem 1.0625rem;padding:1.125rem;border:0;border-radius:1.4375rem;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09)}
.menu-card{padding:0.3125rem 1.125rem}
.menu-card button{min-height:3.4375rem;padding:0.5rem 0.125rem;color:var(--palette-text, #3c3c3c)}
.menu-card button+button{border-color:var(--palette-line, #eee)}
.menu-card i{border-radius:0.75rem;color:var(--palette-accent, #1677ff);background:var(--palette-surface, #edf4ff)}
.menu-card b{font-size:0.875rem;font-weight:500}
.mine-settings-card{padding:0;overflow:hidden}
.mine-settings-card summary{display:flex;min-height:4.125rem;align-items:center;justify-content:space-between;padding:0.625rem 1.125rem;cursor:pointer;list-style:none}
.mine-settings-card summary::-webkit-details-marker{display:none}
.mine-settings-card summary>span{display:grid;min-width:0;grid-template-columns:2.5rem minmax(0,1fr);grid-template-rows:auto auto;column-gap:0.75rem;align-items:center}
.mine-settings-card summary i{display:grid;width:2.5rem;height:2.5rem;grid-row:1/3;place-items:center;border-radius:0.75rem;color:var(--palette-accent, #1677ff);background:var(--palette-surface, #edf4ff);font-size:0.75rem;font-style:normal;font-weight:800}
.mine-settings-card summary b{color:var(--palette-text, #3c3c3c);font-size:0.875rem;font-weight:500}
.mine-settings-card summary small{margin-top:0.25rem;overflow:hidden;color:var(--palette-muted, #949494);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.mine-settings-card summary>em{color:var(--palette-muted, #acb3c9);font-size:1.5rem;font-style:normal;transition:transform .18s}
.mine-settings-card[open] summary>em{transform:rotate(90deg)}
.mine-settings-body{padding:1.125rem;border-top:1px solid var(--palette-line, #eee)}
.mine-settings-body form{display:grid;grid-template-columns:1fr;gap:0.8125rem}
.mine-settings-body form label{display:grid;gap:0.5rem;color:var(--palette-muted, #707070);font-size:0.75rem}
.mine-settings-body .empty{padding:2.1875rem 0.75rem}

/* 底部导航完全按参考站的五等分和中心充值按钮呈现。 */
.bottom-nav{height:5.125rem;grid-template-columns:repeat(5,1fr);align-items:end;padding:0.3125rem 0 calc(0.4375rem + env(safe-area-inset-bottom));border-top:1px solid var(--palette-line, #eee);background:rgba(var(--palette-surface-rgb, 255,255,255),0.97);box-shadow:0 -2px 8px rgba(var(--palette-shadow-rgb, 0,0,0),0.06);backdrop-filter:blur(16px)}
.bottom-nav button{gap:0.1875rem;min-height:3.8125rem;color:var(--palette-muted, #acb3c9);font-size:0.75rem}
.bottom-nav i{width:2.125rem;height:2.125rem;border-radius:0.75rem;font-size:1.0625rem}
.bottom-nav i svg{width:1.5rem;height:1.5rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.bottom-nav button.active{color:var(--palette-accent, #1677ff)}
.bottom-nav button.active i{background:var(--palette-surface, #edf4ff)}
.bottom-nav .nav-center{color:var(--palette-accent, #1677ff)}
.bottom-nav .nav-center i,.bottom-nav .nav-center.active i{width:4.25rem;height:4.25rem;margin-top:-2.125rem;border:7px solid var(--palette-line, #fff);border-radius:50%;color:#fff;background:var(--palette-primary, #1677ff);box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 22,119,255),0.25);font-size:1.5rem;font-weight:500}

/* 登录页去掉玻璃光效，改为参考站的居中 Logo 与胶囊表单。 */
.auth-view{padding:0;background:var(--palette-surface, #f3f6fa)}
.auth-view:before,.auth-glow{display:none}
.auth-shell{display:flex;width:min(31.25rem,100%);min-height:100vh;flex-direction:column;padding:3rem 3.125rem 2.125rem;border:0;border-radius:0;background:var(--palette-surface, #f3f6fa);box-shadow:none;backdrop-filter:none}
.auth-brand{flex-direction:column;gap:0.5625rem;justify-content:center;margin:0 0 2.625rem;text-align:center}
.brand-mark{width:5.75rem;height:4.5rem;border-radius:0;background:transparent;box-shadow:none}
.brand-mark img{width:5.75rem;height:4.5rem}
.auth-brand small{color:var(--palette-muted, #949494);font-size:0.75rem}
.auth-brand strong{max-width:22.5rem;color:var(--palette-text, #2b2b2b);font-size:1.25rem}
.auth-form{order:1;gap:1.3125rem}
.auth-form>label,.form-pair>label{gap:0.5rem;color:var(--palette-muted, #6f6f6f);font-size:0.75rem}
.auth-intro{margin:0;text-align:center}
.auth-intro h1{display:none}
.auth-input{height:3.25rem;border:1px solid var(--palette-focus, #1677ff);border-radius:1.6875rem;background:var(--palette-surface, #fff)}
.auth-input:focus-within{border-color:var(--palette-focus, #1677ff);background:var(--palette-surface, #fff);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 22,119,255),0.1)}
.auth-input i{width:2.8125rem;color:var(--palette-text, #333);font-size:1.0625rem}
.auth-input input{padding-right:0.875rem;color:var(--palette-text, #3c3c3c);font-size:0.9375rem}
.auth-input input::placeholder{color:var(--palette-muted, #aaa)}
.auth-input button{color:var(--palette-accent, #1677ff);font-size:0.75rem}
.captcha-row{grid-template-columns:minmax(0,1fr) 7.375rem;gap:0.625rem}
.captcha-image{height:3.25rem;border:1px solid var(--palette-line, #dde0e5);border-radius:1.625rem;background:var(--palette-surface, #fff)}
.auth-submit{height:3.25rem;margin-top:0.75rem;padding:0 1.3125rem;font-size:0.9375rem}
.auth-submit span{background:rgba(var(--palette-surface-rgb, 255,255,255),0.18)}
.auth-tabs{order:3;display:flex;justify-content:center;gap:0.5rem;margin:1.3125rem 0 0;padding:0;background:transparent}
.auth-tabs button{width:auto;height:2.125rem;padding:0 0.5rem;border:0;color:var(--palette-accent, #1677ff);background:transparent;font-size:0.875rem}
.auth-tabs button.active{display:none}
.auth-session{order:2;margin:1.125rem 0 0;color:var(--palette-muted, #949494);font-size:0.75rem}
.auth-session i{background:var(--palette-green, #18c987)}

/* 弹层与上传控件统一圆角、遮罩和主色。 */
.dialog{padding:0.9375rem;background:rgba(var(--palette-overlay-rgb, 0,0,0),0.55);backdrop-filter:none}
.dialog-card{width:min(24.0625rem,100%);padding:1.625rem;border:0;border-radius:1.25rem;box-shadow:0 16px 44px rgba(var(--palette-shadow-rgb, 0,0,0),0.24)}
.dialog-close{top:0.875rem;right:0.875rem;border-radius:50%;color:var(--palette-muted, #7f8794);background:var(--palette-surface, #f1f3f6)}
.dialog-code,.popup-badge{color:var(--palette-accent, #1677ff);background:var(--palette-surface, #edf4ff)}
.dialog-card h2{color:var(--palette-text, #333);font-size:1.3125rem}
.dialog-card>p{color:var(--palette-text, #666);font-size:0.8125rem}
.dialog-meta span{border-color:var(--palette-line, #eee);border-radius:0.9375rem;color:var(--palette-muted, #7a7a7a);background:var(--palette-surface, #f7fbff)}
.lobby-content-dialog-card{width:min(24.0625rem,calc(100% - 1.625rem));padding:1.625rem}
.player-media-picker-preview{border-color:var(--palette-line, #c7d7ec);border-radius:1.25rem;background:var(--palette-surface, #f7fbff)}
.player-media-picker-empty b{color:var(--palette-accent, #1677ff)}
.toast{border:0;border-radius:1.125rem;color:var(--palette-text, #3c3c3c);box-shadow:0 7px 22px rgba(var(--palette-shadow-rgb, 0,0,0),0.14)}
.player-loading{background:var(--palette-surface, #f3f6fa)}
.player-loading i:after{background:var(--palette-primary, #1677ff)}
.app-download-view{background:var(--palette-surface, #f3f6fa)}
.app-download-shell{width:min(31.25rem,100%)}
.app-download-action{border-radius:62.4375rem;background:var(--palette-primary, #1677ff);box-shadow:none}

@media(max-width:500px){
  .phone-page{box-shadow:none}
  .topbar-logo strong{max-width:10.625rem}
}
@media(max-width:420px){
  .topbar-logo strong{max-width:8.25rem;font-size:0.9375rem}
  .sub-header>div{width:54%}
  .sub-header>span{max-width:24%;font-size:0.75rem}
  .featured-rooms{grid-template-rows:repeat(2,7.5625rem)}
  .featured-room .room-copy strong{font-size:0.875rem}
  .featured-room:first-child .room-copy strong{font-size:1.0625rem}
  .auth-shell{padding:2.375rem 1.5625rem 1.75rem}
  .auth-brand{margin-bottom:2.125rem}
  #activity-dialog .activity-dialog-card{width:calc(100% - 2rem);margin:1rem;padding:1.3125rem}
}
@media(max-width:360px){
  #game-panel:not([hidden]){grid-template-columns:5rem minmax(0,1fr);background:linear-gradient(to right,var(--palette-surface, #fff) 0 5rem,var(--palette-surface, #f3f6fa) 5rem)}
  #game-panel>.game-filters{padding-inline:0.375rem}
  #game-panel>.game-filters button{height:3.625rem;min-height:3.625rem;flex-basis:3.625rem;font-size:0.75rem}
  #game-panel>.room-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 0.5rem;padding-inline:0.5rem}
  #game-panel .player-room-group>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-card{padding-inline:0.8125rem}
  .quick-actions i{width:2.6875rem;height:2.6875rem}
  .quick-actions button{font-size:0.75rem}
  .mine-balance{margin-inline:1.375rem}
  .mine-finance-actions,.mine-card{margin-inline:0.75rem}
}

/* Pixel baseline: reference shell geometry, with platform-owned artwork and branding. */
html,body{height:100%;overflow:hidden;background:var(--palette-surface, #f3f6fa)!important}
body{color:var(--palette-text, #333);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif}
.phone-page{width:min(31.25rem,100%);height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;background:var(--palette-surface, #f3f6fa);box-shadow:none}
.page-scroll{padding-bottom:4.6875rem}

/* 首页头部、轮播与游客快捷区。 */
#home-panel>.topbar{height:4.3125rem;padding:0;background:var(--palette-surface, #fff)}
#home-panel .topbar-logo{left:1.375rem;width:7.4375rem;max-width:7.4375rem;transform:none}
:is(#home-panel,#game-panel) .topbar-logo{gap:0}
#home-panel .topbar-logo img{width:7.4375rem;height:2.875rem;flex:0 0 7.4375rem;object-fit:contain!important}
:is(#home-panel,#game-panel) .topbar-logo strong{position:absolute;width:0.0625rem;height:0.0625rem;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#home-panel .top-actions{margin-left:auto;margin-right:0.5625rem}
#home-panel .top-actions button{width:3.9375rem;height:3.9375rem;padding:0.8125rem;color:var(--palette-accent, #1677ff)}
#home-panel .top-actions svg{width:1.875rem;height:1.875rem;stroke-width:1.6}
#home-panel .hero{height:auto;aspect-ratio:485/216;margin:0;border:0;border-radius:0;background:var(--palette-surface, #f3f6fa);box-shadow:none}
#home-panel .hero-track{height:auto;aspect-ratio:878/329;background:var(--palette-surface, #eef2f8)}
#home-panel .hero-slide{height:100%;background:var(--palette-surface, #eef2f8)}
#home-panel .hero-slide>img{height:100%;object-fit:fill!important}
#home-panel .hero-dots{right:0;bottom:0.3125rem;left:0;justify-content:center;gap:0}
#home-panel .hero-dots button{position:relative;width:1.5rem;height:1.5rem;border:0;background:transparent}
#home-panel .hero-dots button:before{position:absolute;content:"";top:50%;left:50%;width:0.4375rem;height:0.4375rem;border-radius:50%;background:var(--palette-surface-soft, #c8d0dc);transform:translate(-50%,-50%)}
#home-panel .hero-dots button.active:before{width:1.125rem;border-radius:0.4375rem;background:var(--palette-primary, #1677ff)}
.home-user-card{height:9.625rem;min-height:9.625rem;margin:0 0 0.75rem;padding:0.9375rem 0.875rem 0.75rem;border-radius:0 0 1.25rem 1.25rem;background:var(--palette-surface, #fff);box-shadow:0 3px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.1)}
.home-user-card .notice-bar{width:100%;height:1.9375rem;min-height:1.9375rem;margin:0;padding:0 0.75rem;border:0;border-radius:1rem;background:var(--palette-surface, #f1f5fa);box-shadow:none}
.home-user-card .notice-icon{width:1.5rem;height:1.5rem;color:var(--palette-muted, #6f7f92);background:transparent}
.home-user-card .notice-icon svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.home-user-card .notice-bar p{color:var(--palette-muted, #77869e);font-size:0.875rem;line-height:1.9375rem}
.home-user-card .notice-bar>button{min-height:1.9375rem;padding:0 0.1875rem;color:var(--palette-accent, #1677ff);font-size:0.75rem}
.home-user-card .account-card{display:grid;min-height:5.6875rem;grid-template-columns:minmax(10.625rem,1fr) auto;align-items:center;gap:0.5rem;margin:0;padding:0.8125rem 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.home-user-card .account-copy{display:grid;grid-template-columns:1fr;gap:0;width:100%;padding:0 0.3125rem;border:0;background:transparent;text-align:left}
.home-user-card .account-copy>div{display:block;margin:0}
.home-user-card .account-copy>div strong{color:var(--palette-text, #333);font-size:1.1875rem;font-weight:600;line-height:1.35}
.home-user-card .account-copy>div small{display:block;margin-top:0.4375rem;color:var(--palette-muted, #71809a);font-size:0.875rem;line-height:1.2}
.home-user-card .account-copy p{display:none}
.home-user-card .quick-actions{display:grid;grid-template-columns:repeat(4,3.625rem);gap:0.5625rem}
.home-user-card .quick-actions button{display:grid!important;gap:0.3125rem;color:var(--palette-text, #222);font-size:0.8125rem;white-space:nowrap}
.home-user-card .quick-actions i{width:3.375rem;height:3.375rem;border-radius:50%;background:linear-gradient(145deg,var(--palette-primary, #49c5ff),var(--palette-primary, #1687ff));box-shadow:0 3px 7px rgba(var(--palette-shadow-rgb, 22,119,255),0.22)}
.home-user-card .quick-actions svg{width:1.8125rem;height:1.8125rem;stroke-width:1.65}
.home-user-card:not(:has(.guest-player)) .account-copy p{display:none}
#home-panel>.section-title,#home-panel>.home-activities{display:none}

/* 首页游戏分类拼图，与参考页面保持 2+2+4 的几何关系。 */
#home-panel .featured-rooms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:9.625rem 9.625rem 9.875rem;gap:0;margin:0 1rem;padding:0 0 6rem}
.home-game-tile{position:relative;display:block;overflow:hidden;padding:0;border:5px solid transparent;color:var(--palette-text, #24334a);background:linear-gradient(145deg,var(--palette-surface, #edf9ff),var(--palette-surface-soft, #cbeaff)) padding-box;text-align:left}
.home-game-tile:focus-visible{z-index:2;outline:2px solid var(--palette-focus, #1677ff);outline-offset:-0.125rem}
.home-game-tile.is-placeholder{cursor:default}
.home-game-tile.is-placeholder .home-game-copy{opacity:.72}
.home-game-tile.tile-1{grid-row:1/3;grid-column:1/3;margin:0;border-radius:1.25rem 0 0 0;background:linear-gradient(150deg,var(--palette-surface, #e4f7ff),var(--palette-surface-soft, #b9e5ff)) padding-box}
.home-game-tile.tile-2{grid-row:1;grid-column:3/5;margin:0;border-radius:0 1.25rem 0 0;background:linear-gradient(145deg,var(--palette-surface, #edf8ff),var(--palette-surface-soft, #caeaff)) padding-box}
.home-game-tile.tile-3{grid-row:2;grid-column:3/5;margin:0;background:linear-gradient(145deg,var(--palette-surface, #f4fbff),var(--palette-surface-soft, #d8ecff)) padding-box}
.home-game-tile.tile-4,.home-game-tile.tile-5,.home-game-tile.tile-6,.home-game-tile.tile-7{grid-row:3;margin:0;background:linear-gradient(155deg,var(--palette-surface, #f4fbff),var(--palette-surface-soft, #d8ecff)) padding-box}
.home-game-tile.tile-4{grid-column:1;border-radius:0 0 0 1.25rem}
.home-game-tile.tile-5{grid-column:2}
.home-game-tile.tile-6{grid-column:3}
.home-game-tile.tile-7{grid-column:4;border-radius:0 0 1.25rem 0}
.home-game-copy{position:absolute;z-index:2;top:1.375rem;left:1.125rem;display:grid;max-width:55%;gap:0.4375rem}
.home-game-copy strong{font-size:1.375rem;line-height:1.15;white-space:nowrap}
.home-game-copy small{color:var(--palette-text, #56667b);font-size:0.75rem;line-height:1.45}
.tile-2 .home-game-copy,.tile-3 .home-game-copy{top:1.375rem;left:1.125rem;max-width:48%}
.tile-2 .home-game-copy strong,.tile-3 .home-game-copy strong{font-size:1.3125rem}
.tile-4 .home-game-copy,.tile-5 .home-game-copy,.tile-6 .home-game-copy,.tile-7 .home-game-copy{top:1rem;left:0.625rem;max-width:88%}
.tile-4 .home-game-copy strong,.tile-5 .home-game-copy strong,.tile-6 .home-game-copy strong,.tile-7 .home-game-copy strong{font-size:0.9375rem}
.tile-4 .home-game-copy small,.tile-5 .home-game-copy small,.tile-6 .home-game-copy small,.tile-7 .home-game-copy small{display:none}
.home-game-art{position:absolute;right:-1rem;bottom:-0.8125rem;width:72%;height:72%;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--palette-surface, #fff) 0 7%,rgba(var(--palette-surface-rgb, 255,255,255),0.8) 8% 18%,rgba(var(--palette-primary-rgb, 55,154,255),0.25) 19% 54%,rgba(var(--palette-primary-rgb, 22,119,255),0.12) 55%);filter:drop-shadow(0 10px 10px rgba(36,118,195,.18))}
.home-game-art:before,.home-game-art:after,.home-game-art i{position:absolute;content:"";border-radius:50%;background:linear-gradient(145deg,var(--palette-primary, #8bd6ff),var(--palette-primary, #1677ff));box-shadow:inset 0 2px 6px rgba(var(--palette-shadow-rgb, 255,255,255),0.75)}
.home-game-art:before{right:8%;bottom:9%;width:39%;height:39%}
.home-game-art:after{right:40%;bottom:4%;width:26%;height:26%}
.home-game-art i{right:19%;bottom:42%;width:22%;height:22%}
.home-game-art b{position:absolute;z-index:2;right:15%;bottom:17%;color:#fff;font-size:2.375rem;font-weight:900;line-height:1;text-shadow:0 2px 4px rgba(var(--palette-shadow-rgb, 0,73,152),0.35)}
.tile-2 .home-game-art,.tile-3 .home-game-art{right:-0.5rem;bottom:-1.5625rem;width:55%;height:115%}
.tile-2 .home-game-art b,.tile-3 .home-game-art b{font-size:1.8125rem}
.tile-4 .home-game-art,.tile-5 .home-game-art,.tile-6 .home-game-art,.tile-7 .home-game-art{right:-1.4375rem;bottom:-1.125rem;width:100%;height:78%}
.tile-4 .home-game-art b,.tile-5 .home-game-art b,.tile-6 .home-game-art b,.tile-7 .home-game-art b{font-size:1.5rem}
.tile-2 .home-game-art{filter:hue-rotate(20deg) drop-shadow(0 10px 10px rgba(36,118,195,.18))}
.tile-3 .home-game-art{filter:hue-rotate(285deg) drop-shadow(0 10px 10px rgba(36,118,195,.18))}
.tile-4 .home-game-art{filter:hue-rotate(45deg)}
.tile-5 .home-game-art{filter:hue-rotate(165deg)}
.tile-6 .home-game-art{filter:hue-rotate(250deg)}
.tile-7 .home-game-art{filter:hue-rotate(315deg)}

/* 游戏页：77px 品牌栏、114px 左侧分类、339px 右侧内容。 */
#game-panel:not([hidden]){display:grid;width:31.25rem;min-height:calc(100dvh - 4.6875rem);grid-template-columns:7.125rem minmax(0,1fr);grid-template-rows:4.8125rem 5.25rem 3.75rem minmax(calc(100dvh - 18.5rem),auto);align-items:start;background:linear-gradient(to right,var(--palette-surface, #fff) 0 7.125rem,var(--palette-surface, #f3f6fa) 7.125rem)}
.game-lobby-header{display:flex;height:4.8125rem;grid-row:1;grid-column:1/-1;align-items:center;justify-content:space-between;padding:0 1.25rem;border:0;background:var(--palette-surface, #fff)}
.game-lobby-logo{display:flex;width:6.9375rem;height:2.875rem;align-items:center;gap:0;padding:0;border:0;background:transparent;text-align:left}
.game-lobby-logo img{display:block;width:6.9375rem;height:2.6875rem;flex:0 0 6.9375rem;object-fit:contain}
.game-lobby-logo span{position:absolute;width:0.0625rem;height:0.0625rem;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.game-lobby-logo strong{display:block;max-width:4.3125rem;overflow:hidden;color:var(--palette-text, #111);font-size:0.875rem;font-weight:800;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.game-lobby-logo small{color:var(--palette-text, #111);font-size:0.75rem;font-weight:700;letter-spacing:0.25rem}
.game-lobby-balance{display:flex;align-items:center;gap:0.4375rem;padding:0;border:0;color:var(--palette-text, #111);background:transparent;font-size:1rem}
.game-lobby-balance i{display:grid;width:1.8125rem;height:1.8125rem;place-items:center;border-radius:50%;color:#fff;background:var(--palette-green, #18a87f);font-size:0.75rem;font-style:normal}
.game-lobby-balance strong{font-size:1.625rem;font-weight:500;font-variant-numeric:tabular-nums}
.game-lobby-balance span{font-size:1rem;white-space:nowrap}
#game-panel>.game-filters{position:sticky;top:0;display:flex;height:calc(100dvh - 4.8125rem);grid-row:2/5;grid-column:1;flex-direction:column;gap:0.75rem;overflow-y:auto;padding:1.1875rem 0.875rem 6.25rem;background:var(--palette-surface, #fff)}
#game-panel>.game-filters button{display:grid;width:5.375rem;height:4.3125rem;min-height:4.3125rem;flex:0 0 4.3125rem;place-content:center;gap:0.1875rem;padding:0;border:0;border-radius:0.6875rem;color:var(--palette-muted, #7c8497);background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.09);font-size:0.9375rem}
#game-panel>.game-filters button i{height:1.25rem;font-size:1rem;font-style:normal;line-height:1.25rem}
#game-panel>.game-filters button.active{color:#fff;background:linear-gradient(145deg,var(--palette-primary, #58a9ff),var(--palette-primary, #1677ff));box-shadow:0 4px 9px rgba(var(--palette-shadow-rgb, 22,119,255),0.23)}
#game-panel>.game-search{height:2.8125rem;grid-row:2;grid-column:2;align-self:start;margin:1.4375rem 1.4375rem 0 1.5rem;padding:0 0.9375rem;border:1px solid var(--palette-focus, #1677ff);border-radius:1.5rem}
#game-panel>.game-search input{font-size:1rem}
.game-firms{display:flex;height:2.9375rem;grid-row:3;grid-column:2;gap:0.75rem;overflow-x:auto;margin:0.4375rem 1.4375rem 0.375rem 1.5rem;scrollbar-width:none}
.game-firms::-webkit-scrollbar{display:none}
.game-firms button{height:2.9375rem;min-width:5.625rem;flex:0 0 5.625rem;padding:0 0.75rem;border:1px solid var(--palette-line, #e7e7e7);border-radius:1.5rem;color:var(--palette-text, #111);background:var(--palette-surface, #fff);font-size:1.125rem;font-weight:800;letter-spacing:-0.0625rem}
.game-firms button.active{border-color:var(--palette-focus, #1677ff);box-shadow:inset 0 0 0 1px var(--palette-shadow, #1677ff)}
#game-panel>.room-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-row:4;grid-column:2;align-content:start;gap:1.4375rem 1rem;min-width:0;padding:1rem 1.4375rem 6.5625rem 1.5rem;background:var(--palette-surface, #f3f6fa)}
#game-panel .room-item{position:relative;display:block;min-width:0;overflow:hidden;border:0;border-radius:0.75rem;background:var(--palette-surface-soft, #dfe8f2);box-shadow:none}
#game-panel .room-item>.room-entry{position:relative;display:block;width:100%;min-height:0;aspect-ratio:380/506;overflow:hidden;border-radius:0.75rem;background:var(--palette-surface-soft, #dfe8f2)}
#game-panel .room-item>.room-entry>img{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:0.75rem;object-fit:cover!important;box-shadow:none}
#game-panel .room-item>.room-entry>span{position:absolute;right:0;bottom:0;left:0;display:block;padding:1.5625rem 0.3125rem 0.4375rem;background:linear-gradient(transparent,rgba(var(--palette-primary-rgb, 0,42,96),0.78));text-align:center}
#game-panel .room-item>.room-entry strong{display:block;min-height:0;overflow:hidden;color:#fff;font-size:0.75rem;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(var(--palette-shadow-rgb, 0,0,0),0.55)}
#game-panel .room-item>.room-entry em,#game-panel .room-rule-button{display:none}
#game-panel .room-item.sleep:after{top:0.3125rem;left:0.3125rem;padding:0.1875rem 0.3125rem;font-size:0.75rem}

/* 活动页与通知页。 */
#activity-panel>.sub-header{height:4.125rem;min-height:4.125rem;border:0}
#activity-panel>.sub-header>button{visibility:hidden}
.activity-tabs{display:flex;height:3.4375rem;align-items:flex-start;gap:0.8125rem;overflow-x:auto;margin-top:1.4375rem;padding:0 1.4375rem;scrollbar-width:none}
.activity-tabs::-webkit-scrollbar{display:none}
.activity-tabs button{height:2.625rem;min-width:4.625rem;flex:0 0 auto;padding:0 1.25rem;border:1px solid var(--palette-line, #eee);border-radius:1.375rem;color:var(--palette-text, #222);background:var(--palette-surface, #fff);font-size:0.9375rem;white-space:nowrap}
.activity-tabs button:first-child{min-width:6.375rem}
.activity-tabs button.active{border-color:var(--palette-focus, #1677ff);color:#fff;background:var(--palette-primary, #1677ff)}
#activity-panel>.activity-list{gap:1.4375rem;padding:0.75rem 1.4375rem 6.5625rem}
#activity-panel .activity-card{border:1px solid var(--palette-line, #b9cde0);border-radius:1.0625rem;box-shadow:none}
#activity-panel .activity-card img{aspect-ratio:878/329;border-radius:1.0625rem;object-fit:fill!important}
#notice-panel>.notice-list{padding-bottom:6.5625rem}

/* 五等分底栏，中心按钮带参考站同样的上浮白色托槽。 */
.bottom-nav{height:4.6875rem;align-items:end;padding:0.3125rem 0 calc(0.375rem + env(safe-area-inset-bottom));overflow:visible;border-top:0;background:var(--palette-surface, #fff);box-shadow:none}
.bottom-nav button{position:relative;z-index:1;gap:0.125rem;min-height:3.75rem;color:var(--palette-muted, #aeb7cc);font-size:0.8125rem}
.bottom-nav i{width:3.125rem;height:3.125rem;border-radius:50%;font-size:1.125rem}
.bottom-nav i svg{width:3.125rem;height:3.125rem;fill:currentColor;stroke:none}
.bottom-nav button.active{color:var(--palette-accent, #1677ff)}
.bottom-nav button.active i{background:transparent}
.bottom-nav .nav-center:before{position:absolute;z-index:-1;content:"";top:-2.875rem;left:50%;width:7rem;height:4.5625rem;border-radius:3.5rem 3.5rem 0 0;background:var(--palette-surface, #fff);transform:translateX(-50%)}
.bottom-nav .nav-center i,.bottom-nav .nav-center.active i{width:5.875rem;height:5.875rem;margin-top:-3.1875rem;border:7px solid var(--palette-line, #fff);color:#fff;background:var(--palette-primary, #1677ff);box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 22,119,255),0.25);font-size:1.5625rem}
.bottom-nav .nav-center i svg{width:3.25rem;height:3.25rem}
.bottom-nav .nav-center span{margin-top:-0.0625rem;color:var(--palette-accent, #1677ff)}

@media(max-width:499px){
  #home-panel>.topbar{height:3.375rem}
  #home-panel .topbar-logo{left:1.125rem;width:5.375rem;max-width:5.375rem}
  #home-panel .topbar-logo img{width:5.375rem;height:2.0625rem;flex-basis:5.375rem}
  #home-panel .top-actions button{width:3.0625rem;height:3.0625rem;padding:0.625rem}
  #home-panel .hero{height:auto;aspect-ratio:485/216}
  #home-panel .hero-track{height:auto;aspect-ratio:878/329}
  #home-panel .hero-slide,#home-panel .hero-slide>img{height:100%}
  .home-user-card{height:7.5rem;min-height:7.5rem;margin-bottom:0.625rem;padding:0.5625rem 0.6875rem 0.5rem}
  .home-user-card .notice-bar{height:1.5rem;min-height:1.5rem;padding-inline:0.5625rem}
  .home-user-card .notice-icon{width:1.125rem;height:1.125rem}
  .home-user-card .notice-icon svg{width:1rem;height:1rem}
  .home-user-card .notice-bar p{font-size:0.75rem;line-height:1.5rem}
  .home-user-card .notice-bar>button{min-height:1.5rem;font-size:0.75rem}
  .home-user-card .account-card{height:4.9375rem;min-height:4.9375rem;grid-template-columns:minmax(7rem,1fr) auto;padding-top:0.5rem}
  .home-user-card .account-copy>div strong{font-size:1.0625rem}
  .home-user-card .account-copy>div small{font-size:0.75rem}
  .home-user-card .quick-actions{grid-template-columns:repeat(4,2.8125rem);gap:0.25rem}
  .home-user-card .quick-actions i{width:2.625rem;height:2.625rem}
  .home-user-card .quick-actions button{font-size:0.75rem}
  #home-panel .featured-rooms{grid-template-rows:7.5rem 7.5rem 7.75rem;margin-inline:0.8125rem}
  .home-game-copy{top:1rem;left:0.75rem}
  .home-game-copy strong{font-size:1.0625rem}
  .home-game-copy small{font-size:0.75rem}
  .tile-2 .home-game-copy,.tile-3 .home-game-copy{top:0.9375rem;left:0.75rem}
  .tile-2 .home-game-copy strong,.tile-3 .home-game-copy strong{font-size:1rem}
  .tile-4 .home-game-copy strong,.tile-5 .home-game-copy strong,.tile-6 .home-game-copy strong,.tile-7 .home-game-copy strong{font-size:0.75rem}
  .home-game-art b{font-size:1.8125rem}
  #game-panel:not([hidden]){width:100vw;grid-template-columns:5.5625rem minmax(0,1fr);grid-template-rows:3.75rem 4.0625rem 3rem minmax(calc(100dvh - 15.5rem),auto);background:linear-gradient(to right,var(--palette-surface, #fff) 0 5.5625rem,var(--palette-surface, #f3f6fa) 5.5625rem)}
  .game-lobby-header{height:3.75rem;padding:0 0.8125rem}
  .game-lobby-logo{width:5.0625rem;height:2.25rem;gap:0}
  .game-lobby-logo img{width:5.0625rem;height:1.9375rem;flex-basis:5.0625rem}
  .game-lobby-balance{gap:0.25rem;font-size:0.75rem}
  .game-lobby-balance i{width:1.375rem;height:1.375rem;font-size:0.75rem}
  .game-lobby-balance strong{font-size:1.1875rem}
  .game-lobby-balance span{font-size:0.75rem}
  #game-panel>.game-filters{height:calc(100dvh - 3.75rem);padding:0.875rem 0.6875rem 5.625rem;gap:0.625rem}
  #game-panel>.game-filters button{width:4.1875rem;height:3.3125rem;min-height:3.3125rem;flex-basis:3.3125rem;font-size:0.75rem}
  #game-panel>.game-search{height:2.1875rem;margin:1.125rem 1.125rem 0;padding-inline:0.75rem}
  #game-panel>.game-search input{font-size:0.8125rem}
  .game-firms{height:2.375rem;gap:0.5625rem;margin:0.25rem 1.125rem 0.375rem}
  .game-firms button{height:2.375rem;min-width:4.4375rem;flex-basis:4.4375rem;font-size:0.875rem}
  #game-panel>.room-list{gap:1.125rem 0.75rem;padding:0.75rem 1.125rem 5.9375rem}
  #game-panel .room-item>.room-entry strong{font-size:0.75rem}
  #activity-panel>.sub-header{height:3.25rem;min-height:3.25rem}
  .activity-tabs{height:2.6875rem;gap:0.5625rem;margin-top:1.125rem;padding-inline:1.125rem}
  .activity-tabs button{height:2rem;min-width:4rem;padding-inline:0.9375rem;font-size:0.75rem}
  .activity-tabs button:first-child{min-width:5.5rem}
  #activity-panel>.activity-list{gap:1.125rem;padding:0.75rem 1.125rem 5.9375rem}
  .bottom-nav i,.bottom-nav i svg{width:2.4375rem;height:2.4375rem}
  .bottom-nav button{font-size:0.75rem}
  .bottom-nav .nav-center i,.bottom-nav .nav-center.active i{width:4.75rem;height:4.75rem;margin-top:-2.625rem}
  .bottom-nav .nav-center i svg{width:2.5625rem;height:2.5625rem}
}

@media(max-width:360px){
  .home-user-card .account-card{grid-template-columns:minmax(5.3125rem,1fr) auto}
  .home-user-card .account-copy>div strong{font-size:0.875rem}
  .home-user-card .account-copy>div small{font-size:0.75rem}
  .home-user-card .quick-actions{grid-template-columns:repeat(4,2.25rem);gap:0.0625rem}
  .home-user-card .quick-actions i{width:2.125rem;height:2.125rem}
  .home-user-card .quick-actions svg{width:1.3125rem;height:1.3125rem}
  .home-user-card .quick-actions button{font-size:0.75rem}
  #game-panel:not([hidden]){grid-template-columns:5rem minmax(0,1fr);background:linear-gradient(to right,var(--palette-surface, #fff) 0 5rem,var(--palette-surface, #f3f6fa) 5rem)}
  #game-panel>.game-filters{padding-inline:0.375rem}
  #game-panel>.game-filters button{width:4.25rem}
}

.auth-view,.app-download-view{height:100dvh;overflow-x:hidden;overflow-y:auto}

/* 我的：按移动壳的账户卡、快捷操作、概览卡和五行菜单重组。 */
#mine-panel{padding-top:0.0625rem;background:var(--palette-surface, #f3f6fa)}
#mine-panel .mine-profile-card{position:relative;height:20.5rem;overflow:hidden;margin:1.375rem 1.4375rem 1.0625rem;padding:1.4375rem;border-radius:1.125rem;background:linear-gradient(145deg,var(--palette-primary, #5ea8ff) 0,var(--palette-primary, #8bc7ff) 52%,var(--palette-surface, #f9fdff) 100%);box-shadow:0 2px 7px rgba(var(--palette-shadow-rgb, 64,112,164),0.12)}
#mine-panel .mine-profile-card:before{position:absolute;content:"";top:-7.5rem;right:-4.6875rem;width:18.75rem;height:18.75rem;border-radius:50%;background:radial-gradient(circle,rgba(var(--palette-surface-rgb, 255,255,255),0.34),rgba(255,255,255,0) 68%)}
.mine-profile-top{position:relative;z-index:1;display:flex;height:4.375rem;align-items:center;gap:0.75rem;margin-bottom:2.1875rem}
.mine-profile-top .mine-avatar{width:4.375rem;height:4.375rem;flex:0 0 4.375rem;border:3px solid rgba(var(--palette-line-rgb, 255,255,255),0.88);border-radius:50%;color:#fff;background:var(--palette-primary, #1677ff);box-shadow:none;font-size:1.5rem}
.mine-profile-top>div{min-width:0;flex:1}
.mine-profile-top small,.mine-profile-top h1,.mine-profile-top p{display:block;overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}
.mine-profile-top small{color:rgba(255,255,255,.92);font-size:0.75rem;font-weight:600}
.mine-profile-top h1{margin-top:0.3125rem;color:var(--palette-text, #263a51);font-size:1.25rem;font-weight:700}
.mine-profile-top p{margin-top:0.25rem;color:var(--palette-text, #4a6d90);font-size:0.75rem}
.mine-profile-top nav{display:flex;align-self:flex-start;gap:0.75rem}
.mine-profile-top nav button{display:grid;width:1.9375rem;height:1.9375rem;place-items:center;padding:0;border:0;color:var(--palette-text, #233f5d);background:transparent}
.mine-profile-top nav svg{width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.mine-wallet-row{position:relative;z-index:1;display:flex;height:2.5625rem;align-items:center;justify-content:space-between;margin-bottom:1.875rem;color:var(--palette-text, #273f59)}
.mine-wallet-row>span{display:flex;align-items:center;gap:0.5rem;font-size:1.0625rem;font-weight:600}
.mine-wallet-row i{display:grid;width:1.5625rem;height:1.5625rem;place-items:center;border-radius:50%;color:#fff;background:var(--palette-green, #18a87f);font-size:0.75rem;font-style:normal}
.mine-wallet-row strong{font-size:1.625rem;font-variant-numeric:tabular-nums}
.mine-wallet-row button{padding:0.3125rem 0;border:0;color:var(--palette-text, #344c64);background:transparent;font-size:0.9375rem}
.mine-level-row{position:relative;z-index:1;display:grid;height:3.625rem;grid-template-columns:3.625rem minmax(0,1fr) auto 1.8125rem;align-items:center;gap:0.875rem}
.mine-level-row>span{display:grid;width:3.625rem;height:3.625rem;place-items:center;border:5px solid rgba(var(--palette-line-rgb, 255,255,255),0.58);border-radius:1.1875rem;color:var(--palette-accent, #1677ff);background:var(--palette-surface, #fff);font-size:1.125rem;font-weight:800;box-shadow:0 4px 10px rgba(var(--palette-shadow-rgb, 52,112,179),0.15)}
.mine-level-row>div{height:0.5rem;overflow:hidden;border-radius:0.5rem;background:rgba(var(--palette-surface-raised-rgb, 126,126,126),0.45)}
.mine-level-row>div i{display:block;width:12%;height:100%;border-radius:inherit;background:var(--palette-primary, #1677ff)}
.mine-level-row>b{color:var(--palette-accent, #1677ff);font-size:1.25rem;font-style:italic;white-space:nowrap}
.mine-level-row>button{display:grid;width:1.8125rem;height:1.8125rem;place-items:center;border:0;border-radius:0.5625rem;color:var(--palette-muted, #8798aa);background:rgba(var(--palette-surface-rgb, 255,255,255),0.8);font-size:1.3125rem}
.mine-member-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:0.5625rem 0 0;color:var(--palette-text, #3a4d62);font-size:0.75rem}
.mine-member-meta strong{color:var(--palette-accent, #1677ff)}
#mine-panel .mine-finance-actions{gap:1.4375rem;margin:0 1.8125rem 1.0625rem}
#mine-panel .mine-finance-actions button{height:4.4375rem;min-height:4.4375rem;border-radius:1.375rem;font-size:1.25rem}
#mine-panel .mine-finance-actions i{width:2rem;height:2rem;font-size:0.8125rem}
.mine-overview-card{height:9.875rem;margin:1.0625rem 1.4375rem;padding:1.375rem 1.4375rem;border-radius:1.4375rem;background:var(--palette-surface, #fff);box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 0,0,0),0.12)}
.mine-overview-card>header{display:flex;height:1.9375rem;align-items:center;justify-content:space-between;color:var(--palette-muted, #737373);font-size:1.125rem}
.mine-overview-card>header span{display:flex;align-items:center;gap:0.5625rem}
.mine-overview-card>header i{color:var(--palette-success, #39c630);font-size:1.4375rem;font-style:normal}
.mine-overview-card>header button{padding:0;border:0;color:var(--palette-muted, #949494);background:transparent;font-size:0.9375rem}
.mine-overview-card>div{display:grid;height:4.125rem;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;margin-top:0.9375rem;padding:0.5rem 0;border-radius:1.0625rem;background:var(--palette-surface, #f4f6fa)}
.mine-overview-card p{display:grid;min-width:0;justify-items:center;gap:0.4375rem;margin:0;padding:0 0.5rem}
.mine-overview-card p+p{border-left:1px solid var(--palette-line, #d8d8d8)}
.mine-overview-card strong{display:block;max-width:100%;overflow:hidden;color:var(--palette-success, #14c22b);font-size:0.9375rem;text-overflow:ellipsis;white-space:nowrap}
.mine-overview-card small{color:var(--palette-muted, #949494);font-size:0.75rem;white-space:nowrap}
#mine-panel>.menu-card{height:17.3125rem;margin:1.0625rem 1.4375rem;padding:0.5625rem 1.4375rem;border-radius:1.4375rem}
#mine-panel>.menu-card button{height:3.25rem;padding:0}
#mine-panel>.menu-card i{width:1.8125rem;height:1.8125rem;border-radius:0;color:var(--palette-muted, #9db8db);background:transparent;font-size:1.0625rem}
#mine-panel>.menu-card b{color:var(--palette-text, #6d6d6d);font-size:1rem;font-weight:500}
#mine-panel>.menu-card em{font-size:1.4375rem}

@media(max-width:499px){
  #mine-panel .mine-profile-card{height:14.8125rem;margin:1rem 1rem 0.75rem;padding:1.0625rem;border-radius:0.875rem}
  .mine-profile-top{height:3.1875rem;gap:0.5625rem;margin-bottom:1.5rem}
  .mine-profile-top .mine-avatar{width:3.1875rem;height:3.1875rem;flex-basis:3.1875rem;border-width:2px;font-size:1.125rem}
  .mine-profile-top small{font-size:0.75rem}
  .mine-profile-top h1{margin-top:0.1875rem;font-size:0.9375rem}
  .mine-profile-top p{margin-top:0.125rem;font-size:0.75rem}
  .mine-profile-top nav{gap:0.375rem}
  .mine-profile-top nav button{width:1.4375rem;height:1.4375rem}
  .mine-profile-top nav svg{width:1.0625rem;height:1.0625rem}
  .mine-wallet-row{height:1.875rem;margin-bottom:1.25rem}
  .mine-wallet-row>span{gap:0.375rem;font-size:0.8125rem}
  .mine-wallet-row i{width:1.1875rem;height:1.1875rem;font-size:0.75rem}
  .mine-wallet-row strong{font-size:1.1875rem}
  .mine-wallet-row button{font-size:0.75rem}
  .mine-level-row{height:2.625rem;grid-template-columns:2.625rem minmax(0,1fr) auto 1.375rem;gap:0.625rem}
  .mine-level-row>span{width:2.625rem;height:2.625rem;border-width:4px;border-radius:0.875rem;font-size:0.8125rem}
  .mine-level-row>div{height:0.375rem}
  .mine-level-row>b{font-size:0.9375rem}
  .mine-level-row>button{width:1.375rem;height:1.375rem;border-radius:0.4375rem;font-size:1rem}
  .mine-member-meta{margin-top:0.375rem;font-size:0.75rem}
  #mine-panel .mine-finance-actions{gap:1.0625rem;margin:0 1.3125rem 0.75rem}
  #mine-panel .mine-finance-actions button{height:3.1875rem;min-height:3.1875rem;border-radius:1.0625rem;font-size:0.9375rem}
  #mine-panel .mine-finance-actions i{width:1.5rem;height:1.5rem;font-size:0.75rem}
  .mine-overview-card{height:7.125rem;margin:0.75rem 1rem;padding:1rem;border-radius:1.0625rem}
  .mine-overview-card>header{height:1.375rem;font-size:0.8125rem}
  .mine-overview-card>header i{font-size:1.0625rem}
  .mine-overview-card>header button{font-size:0.75rem}
  .mine-overview-card>div{height:3rem;margin-top:0.6875rem;padding:0.375rem 0;border-radius:0.8125rem}
  .mine-overview-card p{gap:0.25rem;padding-inline:0.3125rem}
  .mine-overview-card strong{font-size:0.75rem}
  .mine-overview-card small{font-size:0.75rem}
  #mine-panel>.menu-card{height:12.5rem;margin:0.75rem 1rem;padding:0.375rem 1rem;border-radius:1.0625rem}
  #mine-panel>.menu-card button{height:2.34375rem}
  #mine-panel>.menu-card i{width:1.375rem;height:1.375rem;font-size:0.8125rem}
  #mine-panel>.menu-card b{font-size:0.75rem}
  #mine-panel>.menu-card em{font-size:1.125rem}
}

/* 登录：保留验证码安全流程，尺寸和位置按参考移动页等比缩放。 */
.auth-view{display:block;background:var(--palette-surface, #f3f6fa)}
.auth-shell{position:relative;width:min(31.25rem,100%);min-height:100dvh;margin:0 auto;padding-inline:clamp(1.5625rem,10%,3.125rem);background:var(--palette-surface, #f3f6fa)}
.auth-close{position:absolute;z-index:2;top:clamp(1rem,4vw,1.375rem);right:clamp(1rem,4vw,1.375rem);display:grid;width:1.875rem;height:1.875rem;place-items:center;padding:0;border:0;color:var(--palette-muted, #acb3c9);background:transparent;font-size:1.8125rem;font-weight:300;line-height:1}
.auth-brand{width:100%;height:auto;gap:0;margin:0 0 clamp(1.5625rem,6.4vw,2.1875rem)}
.auth-brand .brand-mark{width:50%;height:auto;aspect-ratio:160/62;background:transparent}
.auth-brand .brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.auth-brand>div{position:absolute;width:0.0625rem;height:0.0625rem;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#login-form{width:100%;min-width:0;gap:clamp(1.5625rem,6.4vw,2.1875rem)}
#login-form>label,#login-form .captcha-row,#login-form .auth-input{width:100%;min-width:0}
#login-form .auth-intro,#login-form>label>span{position:absolute;width:0.0625rem;height:0.0625rem;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#login-form .auth-input,#login-form .captcha-image,#login-form .auth-submit{height:clamp(2.25rem,9.333vw,3.15rem)}
#login-form .auth-input{border-color:var(--palette-focus, #3066ff);border-radius:62.4375rem}
#login-form .auth-input i{width:clamp(2.125rem,8.533vw,2.875rem);font-size:clamp(0.8125rem,3.733vw,1.25rem)}
#login-form .auth-input input{font-size:clamp(0.8125rem,3.733vw,1.25rem)}
#login-form .captcha-row{grid-template-columns:minmax(0,1fr) clamp(5.375rem,23.6vw,7.9375rem);gap:clamp(0.4375rem,2.133vw,0.75rem)}
#login-form .captcha-image{border-radius:62.4375rem}
#login-form .form-error:empty{display:none}
#login-form .auth-submit{margin-top:-0.1875rem;border-radius:62.4375rem;font-size:clamp(0.8125rem,3.2vw,1.0625rem)}
#login-form .auth-submit span{display:none}

/* 首页最终几何基线：使用与参考页面一致的连续 rem 比例，而不是移动/桌面两套跳变尺寸。 */
:is(#home-panel,#game-panel)>.topbar{
  height:min(12.8vw,4.32rem);
  min-height:min(12.8vw,4.32rem);
  padding:0;
}
:is(#home-panel,#game-panel) .topbar-logo{
  left:min(4.2667vw,1.44rem);
  width:min(22.0103vw,7.4285rem);
  max-width:min(22.0103vw,7.4285rem);
}
:is(#home-panel,#game-panel) .topbar-logo img{
  width:min(22.0103vw,7.4285rem);
  height:min(8.5333vw,2.88rem);
  flex-basis:min(22.0103vw,7.4285rem);
}
#home-panel .top-actions{margin-right:min(1.6vw,0.54rem)}
#home-panel .top-actions button{
  width:min(11.7333vw,3.96rem);
  height:min(11.7333vw,3.96rem);
  padding:min(2.4vw,0.81rem);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#home-panel .top-actions svg{
  width:min(7.68vw,2.592rem);
  height:min(7.68vw,2.592rem);
}

/* 轮播图片按原比例铺满宽度；剩余区域只承载干净的小分页点。 */
#home-panel .hero{
  width:100%;
  height:min(40vw,13.5rem);
  aspect-ratio:auto;
  overflow:hidden;
  margin:0;
  border-radius:0;
  background:var(--palette-surface, #f3f6fa);
}
#home-panel .hero-track{
  width:100%;
  height:auto;
  aspect-ratio:878/329;
}
#home-panel .hero-slide,
#home-panel .hero-slide>img{height:100%}
#home-panel .hero-dots{
  right:auto;
  bottom:0.375rem;
  left:50%;
  width:max-content;
  height:1.5rem;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  filter:none;
  backdrop-filter:none;
  transform:translateX(-50%);
  pointer-events:none;
}
#home-panel .hero-dots button{
  width:1.5rem;
  height:1.5rem;
  flex:0 0 1.5rem;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  pointer-events:auto;
}
#home-panel .hero-dots button+button{margin-left:-0.9375rem}
#home-panel .hero-dots button:before{
  top:auto;
  bottom:0;
  width:0.1875rem;
  height:0.1875rem;
  border-radius:0.1875rem;
  background:var(--palette-surface-soft, #c8d0dc);
  box-shadow:none;
  transform:translateX(-50%);
}
#home-panel .hero-dots button.active:before{
  width:0.8125rem;
  height:0.1875rem;
  border-radius:0.1875rem;
  background:var(--palette-primary, #1677ff);
}

/* 公告及游客快捷区。 */
.home-user-card{
  position:relative;
  width:100%;
  height:min(25.253vw,8.522875rem);
  min-height:min(25.253vw,8.522875rem);
  margin:0 0 min(4.2667vw,1.44rem);
  padding:min(2.6667vw,0.9rem) 0 0;
  border-radius:0 0 min(4.2667vw,1.44rem) min(4.2667vw,1.44rem);
  background:var(--palette-surface, #fff);
  box-shadow:none;
}
.home-user-card .notice-bar{
  width:auto;
  height:min(5.8667vw,1.98rem);
  min-height:min(5.8667vw,1.98rem);
  margin:0 min(2.6667vw,0.9rem);
  padding:0 min(1.6vw,0.54rem);
  border:0;
  border-radius:min(2.6667vw,0.9rem);
  background:var(--palette-surface, #f3f8fe);
  box-shadow:inset 0 min(.1vw,.54px) min(.1vw,.54px) rgba(var(--palette-shadow-rgb, 187,180,180),0.25);
}
.home-user-card .notice-icon{
  width:min(4.8vw,1.62rem);
  height:min(4.8vw,1.62rem);
}
.home-user-card .notice-icon svg{
  width:min(4.2667vw,1.44rem);
  height:min(4.2667vw,1.44rem);
}
.home-user-card .notice-bar p{
  color:var(--palette-muted, #6d7693);
  font-size:clamp(0.75rem,3.2vw,1.08rem);
  line-height:min(5.8667vw,1.98rem);
}
.home-user-card .notice-bar>button{
  min-height:min(5.8667vw,1.98rem);
  padding:0;
  font-size:clamp(0.75rem,2.6667vw,0.9rem);
  line-height:1;
}
.home-user-card .account-card{
  position:relative;
  display:block;
  width:100%;
  height:min(14.32vw,4.833rem);
  min-height:min(14.32vw,4.833rem);
  margin:min(2.4vw,0.81rem) 0 0;
  padding:0;
  border:0;
  background:transparent;
}
.home-user-card .account-copy{
  position:absolute;
  top:50%;
  left:min(6.4vw,2.16rem);
  display:grid;
  width:min(25.2244vw,8.51325rem);
  height:auto;
  padding:0;
  border:0;
  background:transparent;
  text-align:center;
  transform:translateY(-50%);
}
.home-user-card .account-copy>span{display:none}
.home-user-card .account-copy>div{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  margin:0;
}
.home-user-card .account-copy>div strong{
  display:block;
  margin:0 0 min(1.0667vw,0.36rem);
  color:var(--palette-text, #30303d);
  font-size:clamp(0.75rem,4.2667vw,1.44rem);
  font-weight:700;
  line-height:min(6.7048vw,2.262875rem);
  white-space:nowrap;
}
.home-user-card .account-copy>div small{
  display:block;
  margin:0;
  color:var(--palette-muted, #6d7693);
  font-size:clamp(0.75rem,3.4667vw,1.17rem);
  line-height:min(5.446vw,1.838rem);
  white-space:nowrap;
}
.home-user-card .account-copy p{display:none}
.home-user-card .quick-actions{
  position:absolute;
  top:0;
  right:min(2.6667vw,0.9rem);
  display:flex;
  width:auto;
  height:100%;
  align-items:flex-start;
  gap:min(2.1333vw,0.72rem);
}
.home-user-card .quick-actions:before{
  position:absolute;
  top:50%;
  left:calc(-0.0625rem - min(2.6667vw,0.9rem));
  width:0.0625rem;
  height:min(10.6667vw,3.6rem);
  content:"";
  border-left:1px solid var(--palette-line, #eee);
  transform:translateY(-50%);
}
.home-user-card .quick-actions button{
  display:flex!important;
  width:max-content;
  height:100%;
  min-width:min(10.1333vw,3.42rem);
  flex:0 0 auto;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  padding:0;
  color:var(--palette-text, #000);
  font-size:clamp(0.75rem,2.6667vw,0.9rem);
  line-height:min(4.1905vw,1.414313rem);
}
.home-user-card .quick-actions i{
  width:min(10.1333vw,3.42rem);
  height:min(10.1333vw,3.42rem);
  flex:0 0 min(10.1333vw,3.42rem);
  border-radius:50%;
}
.home-user-card .quick-actions svg{
  width:min(6.4vw,2.16rem);
  height:min(6.4vw,2.16rem);
}

/* 游戏拼图的行高、内边距和圆角严格按同一缩放单位。 */
#home-panel .featured-rooms{
  display:grid;
  width:100%;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:min(28.5vw,9.61875rem) min(28.5vw,9.61875rem) min(29.3333vw,9.9rem);
  gap:0;
  margin:0;
  padding:min(1.0667vw,0.36rem) min(3vw,1.0125rem);
}
#home-panel .home-game-tile{
  z-index:1;
  border:0;
  border-radius:0;
  background-color:var(--palette-surface, #eaf7ff);
  background-repeat:no-repeat;
}
#home-panel .home-game-tile.tile-1{
  border-radius:min(3.2vw,1.08rem) 0 0 0;
  background-position:left top;
  background-size:200% 148.368%;
}
#home-panel .home-game-tile.tile-2{
  border-radius:0 min(3.2vw,1.08rem) 0 0;
  background-position:right top;
  background-size:200% 299.401%;
}
#home-panel .home-game-tile.tile-3{
  background-position:right 50.606%;
  background-size:200% 294.118%;
}
#home-panel .home-game-tile.tile-4{border-radius:0 0 0 min(3.2vw,1.08rem)}
#home-panel .home-game-tile.tile-7{border-radius:0 0 min(3.2vw,1.08rem) 0}
#home-panel .home-game-tile.tile-4,
#home-panel .home-game-tile.tile-5,
#home-panel .home-game-tile.tile-6,
#home-panel .home-game-tile.tile-7{background-size:400% 306.748%}
#home-panel .home-game-tile.tile-4{background-position:left bottom}
#home-panel .home-game-tile.tile-5{background-position:33.3333% bottom}
#home-panel .home-game-tile.tile-6{background-position:66.6667% bottom}
#home-panel .home-game-tile.tile-7{background-position:right bottom}
#home-panel .home-game-copy{
  top:min(4.0741vw,1.375rem);
  left:min(3.3333vw,1.125rem);
  gap:min(1.2963vw,0.4375rem);
}
#home-panel .home-game-copy strong{font-size:clamp(0.75rem,4.0741vw,1.375rem)}
#home-panel .home-game-copy small{font-size:clamp(0.75rem,2.2222vw,0.75rem)}
#home-panel .tile-2 .home-game-copy,
#home-panel .tile-3 .home-game-copy{
  top:min(4.0741vw,1.375rem);
  left:min(3.3333vw,1.125rem);
}
#home-panel .tile-2 .home-game-copy strong,
#home-panel .tile-3 .home-game-copy strong{font-size:clamp(0.75rem,3.8889vw,1.3125rem)}
#home-panel .tile-4 .home-game-copy,
#home-panel .tile-5 .home-game-copy,
#home-panel .tile-6 .home-game-copy,
#home-panel .tile-7 .home-game-copy{
  top:min(2.963vw,1rem);
  left:min(1.8519vw,0.625rem);
}
#home-panel .tile-4 .home-game-copy strong,
#home-panel .tile-5 .home-game-copy strong,
#home-panel .tile-6 .home-game-copy strong,
#home-panel .tile-7 .home-game-copy strong{font-size:clamp(0.75rem,2.7778vw,0.9375rem)}
#home-panel .home-game-art{display:none}

/* 五等分底栏使用完整托槽轮廓，中心圆和普通图标均随壳宽连续缩放。 */
.page-scroll{padding-bottom:calc(min(22vw,6.875rem) + min(2.1333vw,0.72rem))}
.bottom-nav{
  bottom:max(-0.09rem,-.2667vw);
  height:calc(min(22vw,6.875rem) + min(2.1333vw,0.72rem));
  align-items:end;
  padding:0 0 min(2.1333vw,0.72rem);
  overflow:visible;
  border:0;
  background:transparent url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20750%20162'%20aria-hidden='true'%3e%3cg%20filter='url(%23bottom-shadow)'%3e%3cpath%20fill='%23fff'%20d='M0%2010h274c15.464%200%2027.499%2012.976%2033.216%2027.344C318.092%2064.678%20344.79%2084%20376%2084c31.21%200%2057.908-19.322%2068.784-46.656C450.501%2022.976%20462.536%2010%20478%2010h272v152H0V10Z'/%3e%3c/g%3e%3cdefs%3e%3cfilter%20id='bottom-shadow'%20x='-8'%20y='0'%20width='766'%20height='168'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20result='hardAlpha'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'/%3e%3cfeOffset%20dy='-2'/%3e%3cfeGaussianBlur%20stdDeviation='4'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20values='0%200%200%200%200.0679%200%200%200%200%200.0991%200%200%200%200%200.1792%200%200%200%200.06%200'/%3e%3cfeBlend%20in2='BackgroundImageFix'%20result='dropShadow'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='dropShadow'%20result='shape'/%3e%3c/filter%3e%3c/defs%3e%3c/svg%3e") 0 min(7.4667vw,40.32px)/100% auto no-repeat;
  box-shadow:none;
  backdrop-filter:none;
}
.bottom-nav button{
  min-width:0;
  padding:0;
  color:var(--palette-muted, #acb3c9);
  background:transparent;
  font-size:clamp(0.75rem,2.6133vw,0.882rem);
  line-height:1;
}
.bottom-nav button:not(.nav-center){
  display:grid;
  height:calc(min(10.657vw,3.32225rem) + min(2.6133vw,0.882rem));
  min-height:0;
  grid-template-rows:min(10.657vw,3.32225rem) min(2.6133vw,0.882rem);
  align-content:end;
  justify-items:center;
  gap:0;
}
.bottom-nav button:not(.nav-center) i{
  display:grid;
  width:min(10vw,3.125rem);
  height:min(10.657vw,3.32225rem);
  place-items:start center;
  border-radius:0;
  background:transparent;
}
.bottom-nav button:not(.nav-center) i svg{
  width:min(10vw,3.125rem);
  height:min(10vw,3.125rem);
}
.bottom-nav button>span{
  height:min(2.6133vw,0.882rem);
  margin:0;
  color:var(--palette-muted, #6d7693);
  font-size:clamp(0.75rem,2.6133vw,0.882rem);
  line-height:1;
}
.bottom-nav button.active{color:var(--palette-accent, #1677ff)}
.bottom-nav button.active>span{color:var(--palette-muted, #6d7693)}
.bottom-nav .nav-center{
  position:relative;
  display:block;
  height:min(22vw,6.875rem);
  min-height:0;
  padding:0 min(2vw,0.625rem) min(6vw,1.875rem);
  color:#fff;
}
.bottom-nav .nav-center:before{display:none}
.bottom-nav .nav-center i,
.bottom-nav .nav-center.active i{
  display:flex;
  width:100%;
  height:auto;
  aspect-ratio:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:0;
  border:min(.2vw,1.08px) solid var(--palette-focus, #30b4f9);
  border-radius:50%;
  color:#fff;
  background:linear-gradient(0deg,var(--palette-primary, #1677ff),var(--palette-primary, #1677ff)),radial-gradient(268.47% 208.93% at 50.82% -64.29%,var(--palette-primary, #5dcaf9) 0,var(--palette-primary, #2283f6) 45.16%,var(--palette-primary, #0038ff) 86.78%);
  box-shadow:0 0 min(1.4vw,7.56px) rgba(var(--palette-shadow-rgb, 34,131,246),0.8);
}
.bottom-nav .nav-center i svg{
  width:65%;
  height:auto;
  aspect-ratio:1;
}
.bottom-nav .nav-center i span{
  height:min(2.6133vw,0.882rem);
  color:#fff;
  font-size:clamp(0.75rem,2.6133vw,0.882rem);
  line-height:1;
}
.bottom-nav .nav-center>span{
  position:absolute;
  top:calc(min(11.7333vw,3.96rem) + min(.8267vw,0.279rem));
  right:0;
  left:0;
  color:#fff;
}

@media(max-width:499px){
  .phone-page{scrollbar-width:none}
  .phone-page::-webkit-scrollbar{display:none}
}

/* 首页视觉整理：保留现有内容与交互，改用更清晰的卡片层级和舒适留白。 */
#home-panel{
  --home-gutter:clamp(0.75rem,3.2vw,1rem);
  --home-gap:clamp(0.4375rem,2.05vw,0.625rem);
  --home-radius:clamp(0.875rem,3.85vw,1.25rem);
  overflow:hidden;
  background:linear-gradient(180deg,var(--palette-surface, #fff) 0 clamp(3.375rem,12.8vw,4rem),var(--palette-surface, #f4f7fb) clamp(3.375rem,12.8vw,4rem),var(--palette-surface, #eef3f9) 100%);
}
:is(#home-panel,#game-panel)>.topbar{
  height:clamp(3.375rem,12.8vw,4rem);
  min-height:clamp(3.375rem,12.8vw,4rem);
  padding:0 var(--home-gutter);
  border-bottom:1px solid rgba(var(--palette-line-rgb, 220,229,240),0.72);
  background:var(--palette-surface, #fff);
}
:is(#home-panel,#game-panel) .topbar-logo{
  left:var(--home-gutter);
  width:clamp(5.375rem,22vw,6.875rem);
  max-width:clamp(5.375rem,22vw,6.875rem);
}
:is(#home-panel,#game-panel) .topbar-logo img{
  width:clamp(5.375rem,22vw,6.875rem);
  height:clamp(2.125rem,8.8vw,2.75rem);
  flex-basis:clamp(5.375rem,22vw,6.875rem);
}
:is(#home-panel,#game-panel) .top-actions{margin-right:0}
:is(#home-panel,#game-panel) .top-actions button{
  width:clamp(2.5rem,10.25vw,3rem);
  height:clamp(2.5rem,10.25vw,3rem);
  padding:clamp(0.4375rem,1.8vw,0.5625rem);
  border-radius:50%;
}
:is(#home-panel,#game-panel) .top-actions button:hover{background:var(--palette-surface, #f0f6ff)}
:is(#home-panel,#game-panel) .top-actions svg{
  width:clamp(1.5625rem,6.5vw,1.9375rem);
  height:clamp(1.5625rem,6.5vw,1.9375rem);
}

/* 轮播成为独立海报卡；分页点直接覆在图片上，不再占一整条灰色区域。 */
:is(#home-panel,#game-panel) .hero{
  width:auto;
  height:auto;
  aspect-ratio:878/329;
  margin:var(--home-gutter) var(--home-gutter) 0;
  overflow:hidden;
  border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.82);
  border-radius:var(--home-radius);
  background:var(--palette-surface, #e8f0f8);
  box-shadow:0 8px 24px rgba(var(--palette-shadow-rgb, 42,83,128),0.13);
}
:is(#home-panel,#game-panel) .hero-track{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  border-radius:inherit;
  background:var(--palette-surface, #e8f0f8);
}
:is(#home-panel,#game-panel) .hero-slide{border-radius:inherit;background:var(--palette-surface, #e8f0f8)}
:is(#home-panel,#game-panel) .hero-slide>img{height:100%;border-radius:inherit;object-fit:fill!important}
:is(#home-panel,#game-panel) .hero-dots{
  bottom:clamp(0.3125rem,1.55vw,0.5rem);
  height:1.5rem;
  padding:0 0.3125rem;
  border-radius:62.4375rem;
  background:rgba(var(--palette-overlay-rgb, 21,52,91),0.18);
}
:is(#home-panel,#game-panel) .hero-dots button{
  width:1.5rem;
  height:1.5rem;
  flex-basis:1.5rem;
}
:is(#home-panel,#game-panel) .hero-dots button+button{margin-left:0}
:is(#home-panel,#game-panel) .hero-dots button:before{
  bottom:50%;
  width:0.25rem;
  height:0.25rem;
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.72);
  box-shadow:0 1px 3px rgba(var(--palette-shadow-rgb, 20,51,87),0.2);
  transform:translate(-50%,50%);
}
:is(#home-panel,#game-panel) .hero-dots button.active:before{
  width:0.875rem;
  height:0.25rem;
  background:var(--palette-surface, #fff);
}

/* 公告和账户各自成卡，避免快捷入口把登录文案挤成省略号。 */
:is(#home-panel,#game-panel) .home-user-card{
  width:auto;
  height:auto;
  min-height:0;
  margin:clamp(0.6875rem,3.05vw,0.9375rem) var(--home-gutter) 0;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
:is(#home-panel,#game-panel) .home-user-card .notice-bar{
  width:100%;
  height:clamp(2rem,8.45vw,2.4375rem);
  min-height:clamp(2rem,8.45vw,2.4375rem);
  margin:0;
  padding:0 clamp(0.625rem,2.8vw,0.875rem);
  border:1px solid rgba(var(--palette-line-rgb, 218,229,241),0.9);
  border-radius:clamp(0.6875rem,3vw,0.9375rem);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.92);
  box-shadow:0 4px 14px rgba(var(--palette-shadow-rgb, 48,84,125),0.06);
}
:is(#home-panel,#game-panel) .home-user-card .notice-icon{
  width:clamp(1.25rem,5.25vw,1.5625rem);
  height:clamp(1.25rem,5.25vw,1.5625rem);
  color:var(--palette-accent, #4c88d7);
}
:is(#home-panel,#game-panel) .home-user-card .notice-icon svg{
  width:clamp(1.0625rem,4.55vw,1.375rem);
  height:clamp(1.0625rem,4.55vw,1.375rem);
}
:is(#home-panel,#game-panel) .home-user-card .notice-bar p{
  color:var(--palette-muted, #66778d);
  font-size:clamp(0.75rem,2.95vw,0.875rem);
  line-height:clamp(2rem,8.45vw,2.4375rem);
}
:is(#home-panel,#game-panel) .home-user-card .notice-bar>button{
  min-height:clamp(2rem,8.45vw,2.4375rem);
  padding-left:0.4375rem;
  font-size:clamp(0.75rem,2.55vw,0.75rem);
}
#home-panel .home-user-card .account-card{
  position:relative;
  display:grid;
  width:100%;
  height:auto;
  min-height:clamp(5.25rem,22.8vw,6.75rem);
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(0.5rem,2.3vw,0.75rem);
  margin:var(--home-gap) 0 0;
  padding:clamp(0.6875rem,3vw,0.9375rem);
  border:1px solid rgba(var(--palette-line-rgb, 218,229,241),0.9);
  border-radius:var(--home-radius);
  background:var(--palette-surface, #fff);
  box-shadow:0 7px 22px rgba(var(--palette-shadow-rgb, 42,78,120),0.09);
}
#home-panel .home-user-card .account-copy{
  position:static;
  display:grid;
  width:auto;
  min-width:0;
  height:auto;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  column-gap:0.3125rem;
  padding:0;
  border:0;
  background:transparent;
  text-align:left;
  transform:none;
}
#home-panel .home-user-card .account-copy-entry{
  display:grid;
  min-width:0;
  gap:0.1875rem;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  text-align:left;
}
#home-panel .home-user-card .account-copy-entry strong{
  width:100%;
  overflow:hidden;
  margin:0;
  color:var(--palette-text, #26354b);
  font-size:clamp(0.875rem,4vw,1.125rem);
  line-height:1.35;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#home-panel .home-user-card .account-copy-entry small{
  width:100%;
  overflow:hidden;
  color:var(--palette-muted, #75869d);
  font-size:clamp(0.75rem,2.55vw,0.75rem);
  line-height:1.35;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#home-panel .home-user-card .home-score-toggle{
  display:grid;
  width:clamp(1.5rem,6.7vw,1.875rem);
  height:clamp(1.5rem,6.7vw,1.875rem);
  place-items:center;
  margin-top:0;
  padding:0;
  border:0;
  border-radius:50%;
  color:var(--palette-accent, #4b7fbd);
  background:var(--palette-surface, #eef5ff);
}
#home-panel .home-user-card .home-score-toggle:hover{background:var(--palette-surface, #e2efff)}
#home-panel .home-user-card .home-score-toggle svg{
  width:clamp(0.9375rem,4.2vw,1.1875rem);
  height:clamp(0.9375rem,4.2vw,1.1875rem);
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.75;
}
#home-panel .home-user-card .home-score-toggle-slash{display:none}
#home-panel .home-user-card .home-score-toggle.is-hidden .home-score-toggle-slash{display:block}
#home-panel .home-user-card .account-copy p{display:none}
#home-panel .home-user-card .quick-actions{
  position:static;
  display:grid;
  width:auto;
  height:auto;
  grid-template-columns:repeat(4,clamp(2.25rem,10.25vw,3rem));
  align-items:start;
  gap:clamp(0.125rem,1.05vw,0.375rem);
  padding-left:clamp(0.5rem,2.3vw,0.75rem);
  border-left:1px solid var(--palette-line, #e8edf3);
}
#home-panel .home-user-card .quick-actions:before{display:none}
#home-panel .home-user-card .quick-actions button{
  display:grid!important;
  width:clamp(2.25rem,10.25vw,3rem);
  min-width:0;
  height:auto;
  grid-template-rows:auto auto;
  justify-items:center;
  gap:0.25rem;
  color:var(--palette-text, #34455b);
  font-size:clamp(0.75rem,2.45vw,0.75rem);
  line-height:1.2;
}
#home-panel .home-user-card .quick-actions i{
  width:clamp(2.125rem,9.4vw,2.6875rem);
  height:clamp(2.125rem,9.4vw,2.6875rem);
  flex-basis:auto;
  background:linear-gradient(145deg,var(--palette-primary, #54c8ff) 0,var(--palette-primary, #258ff5) 58%,var(--palette-primary, #1677e8) 100%);
  box-shadow:0 5px 12px rgba(var(--palette-shadow-rgb, 23,120,226),0.22),inset 0 1px rgba(var(--palette-shadow-rgb, 255,255,255),0.45);
}
#home-panel .home-user-card .quick-actions svg{
  width:clamp(1.3125rem,5.8vw,1.6875rem);
  height:clamp(1.3125rem,5.8vw,1.6875rem);
}

/* 游戏标题负责区分账户卡与内容区，七个入口仍保持原点击逻辑。 */
#home-panel>.section-title{
  display:flex;
  align-items:center;
  margin:clamp(1.0625rem,4.6vw,1.4375rem) var(--home-gutter) clamp(0.5625rem,2.6vw,0.8125rem);
}
#home-panel>.section-title small{display:none}
#home-panel>.section-title h2{
  display:flex;
  align-items:center;
  gap:0.5rem;
  margin:0;
  color:var(--palette-text, #26354b);
  font-size:clamp(1rem,4.35vw,1.25rem);
  font-weight:750;
}
#home-panel>.section-title h2:before{
  width:0.25rem;
  height:1em;
  content:"";
  border-radius:62.4375rem;
  background:linear-gradient(var(--palette-primary, #47bdfd),var(--palette-primary, #1677ef));
  box-shadow:0 2px 6px rgba(var(--palette-shadow-rgb, 22,119,239),0.24);
}
#home-panel>.section-title button{
  min-height:1.75rem;
  padding:0 0.625rem;
  border-radius:62.4375rem;
  color:var(--palette-accent, #307fd9);
  background:var(--palette-surface, #eaf3ff);
  font-size:clamp(0.75rem,2.45vw,0.75rem);
}

/* 首页玩法图支持平台逐槽配置；不足七项时自动收紧为连续两列。 */
#home-panel .featured-rooms{
  width:auto;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:none;
  grid-auto-rows:clamp(6.375rem,29vw,9.0625rem);
  gap:var(--home-gap);
  margin:0 var(--home-gutter);
  padding:0 0 clamp(1.25rem,5.2vw,1.625rem);
}
#home-panel .featured-rooms.tile-count-7{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:clamp(6.375rem,29vw,9.0625rem) clamp(6.375rem,29vw,9.0625rem) clamp(6rem,27.5vw,8.5625rem);
}
#home-panel .home-game-tile,
#home-panel .home-game-tile.tile-1,
#home-panel .home-game-tile.tile-2,
#home-panel .home-game-tile.tile-3,
#home-panel .home-game-tile.tile-4,
#home-panel .home-game-tile.tile-5,
#home-panel .home-game-tile.tile-6,
#home-panel .home-game-tile.tile-7{
  overflow:hidden;
  border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.9);
  border-radius:clamp(0.75rem,3.35vw,1.0625rem);
  background:var(--palette-surface, #eaf7ff);
  box-shadow:0 6px 17px rgba(var(--palette-shadow-rgb, 40,83,130),0.12),inset 0 0 0 1px rgba(var(--palette-shadow-rgb, 177,207,235),0.16);
  isolation:isolate;
  transition:transform .16s ease,box-shadow .16s ease;
}
#home-panel .featured-rooms:not(.tile-count-7) .home-game-tile{
  grid-row:auto;
  grid-column:auto;
  aspect-ratio:8/5;
}
#home-panel .featured-rooms:is(.tile-count-3,.tile-count-5) .home-game-tile:last-child{grid-column:1/-1;aspect-ratio:16/5}
#home-panel .featured-rooms.tile-count-1 .home-game-tile:last-child{grid-column:1/-1;aspect-ratio:8/5}
#home-panel .featured-rooms.tile-count-7 .home-game-tile.tile-1{grid-row:1/3;grid-column:1/3}
#home-panel .featured-rooms.tile-count-7 .home-game-tile.tile-2{grid-row:1;grid-column:3/5}
#home-panel .featured-rooms.tile-count-7 .home-game-tile.tile-3{grid-row:2;grid-column:3/5}
#home-panel .featured-rooms.tile-count-7 .home-game-tile.tile-4{grid-row:3;grid-column:1}
#home-panel .featured-rooms.tile-count-7 .home-game-tile.tile-5{grid-row:3;grid-column:2}
#home-panel .featured-rooms.tile-count-7 .home-game-tile.tile-6{grid-row:3;grid-column:3}
#home-panel .featured-rooms.tile-count-7 .home-game-tile.tile-7{grid-row:3;grid-column:4}
#home-panel .home-game-image{
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center!important;
  pointer-events:none;
}
#home-panel .home-game-image.is-default{object-fit:cover!important}
#home-panel .home-game-tile:after{
  position:absolute;
  z-index:1;
  content:"";
  inset:0;
  border-radius:inherit;
  background:linear-gradient(145deg,rgba(var(--palette-surface-rgb, 255,255,255),0.13),transparent 48%,rgba(var(--palette-primary-rgb, 36,120,210),0.05));
  pointer-events:none;
}
#home-panel .home-game-tile:active{
  transform:scale(.982);
  box-shadow:0 3px 10px rgba(var(--palette-shadow-rgb, 40,83,130),0.13),inset 0 0 0 1px rgba(var(--palette-shadow-rgb, 177,207,235),0.2);
}
#home-panel .home-game-copy,
#home-panel .tile-2 .home-game-copy,
#home-panel .tile-3 .home-game-copy{
  top:clamp(0.5rem,2.35vw,0.75rem);
  left:clamp(0.5rem,2.35vw,0.75rem);
  max-width:calc(76% - 0.5rem);
  gap:0.1875rem;
  padding:clamp(0.375rem,1.65vw,0.5rem) clamp(0.4375rem,1.95vw,0.625rem);
  border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.76);
  border-radius:clamp(0.5625rem,2.55vw,0.8125rem);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.72);
  box-shadow:0 3px 10px rgba(var(--palette-shadow-rgb, 42,84,126),0.06);
}
#home-panel .home-game-copy strong,
#home-panel .tile-2 .home-game-copy strong,
#home-panel .tile-3 .home-game-copy strong{
  width:100%;
  overflow:hidden;
  color:var(--palette-text, #263954);
  font-size:clamp(0.875rem,3.75vw,1.1875rem);
  line-height:1.2;
  text-overflow:ellipsis;
  text-shadow:0 1px rgba(var(--palette-shadow-rgb, 255,255,255),0.5);
  white-space:nowrap;
}
#home-panel .home-game-copy small{
  overflow:hidden;
  color:var(--palette-muted, #61758f);
  font-size:clamp(0.75rem,2.1vw,0.75rem);
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#home-panel .tile-4 .home-game-copy,
#home-panel .tile-5 .home-game-copy,
#home-panel .tile-6 .home-game-copy,
#home-panel .tile-7 .home-game-copy{
  top:0.3125rem;
  right:0.3125rem;
  left:0.3125rem;
  max-width:none;
  padding:0.3125rem 0.25rem;
  border-radius:0.5rem;
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.78);
}
#home-panel .tile-4 .home-game-copy strong,
#home-panel .tile-5 .home-game-copy strong,
#home-panel .tile-6 .home-game-copy strong,
#home-panel .tile-7 .home-game-copy strong{
  overflow:visible;
  color:var(--palette-text, #293b53);
  font-size:clamp(0.75rem,2.55vw,0.75rem);
  line-height:1.22;
  text-align:center;
  text-overflow:clip;
  white-space:normal;
  word-break:break-all;
}

/* 底栏改成轻量悬浮托盘，中心入口不再大面积遮挡最后一排卡片。 */
.page-scroll{padding-bottom:calc(5.875rem + env(safe-area-inset-bottom))}
.bottom-nav{
  bottom:0;
  height:calc(4.75rem + env(safe-area-inset-bottom));
  align-items:end;
  padding:0.5rem 0.4375rem calc(0.375rem + env(safe-area-inset-bottom));
  overflow:visible;
  border:1px solid rgba(var(--palette-line-rgb, 216,226,238),0.88);
  border-bottom:0;
  border-radius:clamp(1.125rem,4.8vw,1.5rem) clamp(1.125rem,4.8vw,1.5rem) 0 0;
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.96);
  box-shadow:0 -8px 28px rgba(var(--palette-shadow-rgb, 41,71,108),0.11);
  backdrop-filter:saturate(1.2) blur(16px);
}
.bottom-nav button{
  min-height:3.375rem;
  color:var(--palette-muted, #8f9db1);
  font-size:clamp(0.75rem,2.45vw,0.75rem);
}
.bottom-nav button:not(.nav-center){
  height:3.375rem;
  grid-template-rows:2.25rem 0.8125rem;
  align-content:end;
  gap:0.125rem;
}
.bottom-nav button:not(.nav-center) i{
  width:2.25rem;
  height:2.25rem;
  place-items:center;
}
.bottom-nav button:not(.nav-center) i svg{
  width:1.9375rem;
  height:1.9375rem;
}
.bottom-nav button>span{
  height:0.8125rem;
  color:var(--palette-muted, #7d8ba0);
  font-size:clamp(0.75rem,2.45vw,0.75rem);
  line-height:0.8125rem;
}
.bottom-nav button.active>span{color:var(--palette-accent, #1677ef);font-weight:650}
.bottom-nav .nav-center{
  display:grid;
  height:4.25rem;
  min-height:4.25rem;
  place-items:center;
  padding:0;
}
.bottom-nav .nav-center i,
.bottom-nav .nav-center.active i{
  display:flex;
  width:clamp(3.625rem,16.2vw,4.25rem);
  height:clamp(3.625rem,16.2vw,4.25rem);
  aspect-ratio:auto;
  margin-top:clamp(-1.5625rem,-5.8vw,-1.125rem);
  border:5px solid var(--palette-line, #fff);
  background:linear-gradient(145deg,var(--palette-primary, #50c4ff) 0,var(--palette-primary, #278ef4) 55%,var(--palette-primary, #116be1) 100%);
  box-shadow:0 7px 18px rgba(var(--palette-shadow-rgb, 28,116,220),0.3),0 0 0 1px rgba(var(--palette-shadow-rgb, 49,147,239),0.15);
}
.bottom-nav .nav-center i svg{
  width:clamp(1.8125rem,7.8vw,2.1875rem);
  height:clamp(1.8125rem,7.8vw,2.1875rem);
}
.bottom-nav .nav-center i span{
  height:0.6875rem;
  margin-top:-0.125rem;
  font-size:clamp(0.75rem,2.25vw,0.75rem);
  line-height:0.6875rem;
}
.bottom-nav .nav-center>span{
  top:auto;
  bottom:0.0625rem;
  color:var(--palette-accent, #1677ef);
  font-size:clamp(0.75rem,2.25vw,0.75rem);
}

@media(hover:hover){
  #home-panel .home-game-tile:hover{box-shadow:0 9px 24px rgba(var(--palette-shadow-rgb, 40,83,130),0.17),inset 0 0 0 1px rgba(var(--palette-shadow-rgb, 177,207,235),0.2);transform:translateY(-0.125rem)}
}

/* 我的页资料头只保留账号和会员ID，会员ID提高字号与对比。 */
#mine-panel .mine-profile-top h1{margin-top:0}
#mine-panel .mine-profile-top p{
  margin-top:0.3125rem;
  color:var(--palette-text, #315778);
  font-size:clamp(0.75rem,3.2vw,0.9375rem);
  font-weight:600;
  letter-spacing:.01em;
}
#mine-panel .mine-profile-card{
  height:auto;
  min-height:0;
}
#mine-panel .mine-profile-card.without-checkin .mine-wallet-row{margin-bottom:0}
#mine-panel .mine-wallet-row i{
  color:#fff;
  background:linear-gradient(145deg,var(--palette-warm, #ffd75b),var(--palette-warm, #f5a623));
  box-shadow:0 3px 8px rgba(var(--palette-shadow-rgb, 206,134,23),0.24),inset 0 1px rgba(var(--palette-shadow-rgb, 255,255,255),0.55);
}
#mine-panel .mine-wallet-row i svg{
  width:68%;
  height:68%;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.7;
}
#mine-panel .mine-wallet-row>span{min-width:0;white-space:nowrap}
#mine-panel .mine-wallet-row strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#mine-panel .mine-checkin-entry{
  position:relative;
  z-index:1;
  display:grid;
  width:100%;
  height:3.625rem;
  grid-template-columns:3.625rem minmax(0,1fr) auto;
  align-items:center;
  gap:0.875rem;
  padding:0;
  border:0;
  color:var(--palette-text, #29425e);
  background:transparent;
  text-align:left;
}
#mine-panel .mine-checkin-entry>span{
  display:grid;
  width:3.625rem;
  height:3.625rem;
  place-items:center;
  border:5px solid rgba(var(--palette-line-rgb, 255,255,255),0.58);
  border-radius:1.1875rem;
  color:var(--palette-accent, #1677ef);
  background:var(--palette-surface, #fff);
  box-shadow:0 4px 10px rgba(var(--palette-shadow-rgb, 52,112,179),0.15);
}
#mine-panel .mine-checkin-entry>span svg{
  width:1.6875rem;
  height:1.6875rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.7;
}
#mine-panel .mine-checkin-entry>div{display:grid;min-width:0;gap:0.3125rem}
#mine-panel .mine-checkin-entry strong{
  color:var(--palette-text, #214a78);
  font-size:1.125rem;
  line-height:1.1;
}
#mine-panel .mine-checkin-entry small{
  overflow:hidden;
  color:var(--palette-text, #476988);
  font-size:0.75rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#mine-panel .mine-checkin-entry>button{
  min-width:4.5rem;
  height:2.125rem;
  padding:0 0.8125rem;
  border:0;
  border-radius:62.4375rem;
  color:#fff;
  background:var(--palette-primary, #1677ef);
  box-shadow:0 4px 10px rgba(var(--palette-shadow-rgb, 22,119,239),0.2);
  font-size:0.75rem;
  font-weight:700;
  white-space:nowrap;
}
#mine-panel .mine-checkin-entry>button:disabled{
  color:var(--palette-muted, #54708c);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.74);
  box-shadow:none;
  opacity:1;
}

@media(max-width:499px){
  #mine-panel .mine-checkin-entry{
    height:2.625rem;
    grid-template-columns:2.625rem minmax(0,1fr) auto;
    gap:0.625rem;
  }
  #mine-panel .mine-checkin-entry>span{
    width:2.625rem;
    height:2.625rem;
    border-width:4px;
    border-radius:0.875rem;
  }
  #mine-panel .mine-checkin-entry>span svg{width:1.25rem;height:1.25rem}
  #mine-panel .mine-checkin-entry>div{gap:0.1875rem}
  #mine-panel .mine-checkin-entry strong{font-size:0.875rem}
  #mine-panel .mine-checkin-entry small{font-size:0.75rem}
  #mine-panel .mine-checkin-entry>button{min-width:3.5625rem;height:1.75rem;padding-inline:0.5625rem;font-size:0.75rem}
}

/* 首页首屏合并为连续白色整体：顶部、轮播、公告与账户不再拆成多张卡。 */
#app-view,
#app-view>.page-scroll,
#home-panel{background:var(--palette-surface, #eef3f9)}
:is(#home-panel,#game-panel)>.topbar{border-bottom:1px solid var(--palette-line, #edf1f6);box-shadow:none}
:is(#home-panel,#game-panel)>.hero{
  width:100%;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
:is(#home-panel,#game-panel)>.hero .hero-track,
:is(#home-panel,#game-panel)>.hero .hero-slide,
:is(#home-panel,#game-panel)>.hero .hero-slide>img{border-radius:0}
:is(#home-panel,#game-panel)>.home-user-card{
  width:100%;
  margin:0;
  padding:clamp(0.625rem,2.8vw,0.875rem) var(--home-gutter) clamp(0.75rem,3.3vw,1.0625rem);
  border-radius:0 0 var(--home-radius) var(--home-radius);
  background:var(--palette-surface, #fff);
  box-shadow:0 7px 20px rgba(var(--palette-shadow-rgb, 42,78,120),0.09);
}
#home-panel .home-user-card .account-card{
  min-height:clamp(4.75rem,20.5vw,6rem);
  margin:clamp(0.375rem,1.8vw,0.5625rem) 0 0;
  padding:clamp(0.5rem,2.2vw,0.6875rem) 0.125rem 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#home-panel .featured-rooms{margin:var(--home-gap) var(--home-gutter) 0}

/* 底栏收紧为直边矩形，入口图标与文字使用同一条水平中轴线。 */
.page-scroll{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}
.bottom-nav{
  height:calc(3.625rem + env(safe-area-inset-bottom));
  align-items:start;
  padding:0.125rem 0.25rem calc(0.125rem + env(safe-area-inset-bottom));
  border:0;
  border-top:1px solid var(--palette-line, #edf1f6);
  border-radius:0;
  background:var(--palette-surface, #fff);
  box-shadow:0 -3px 12px rgba(var(--palette-shadow-rgb, 40,70,105),0.06);
  backdrop-filter:none;
}
.bottom-nav button{
  width:100%;
  min-height:0;
  justify-items:center;
  text-align:center;
}
.bottom-nav button:not(.nav-center){
  display:grid;
  height:3.3125rem;
  grid-template-rows:2.125rem 0.875rem;
  align-content:start;
  justify-items:center;
  gap:0.0625rem;
}
.bottom-nav button:not(.nav-center) i{
  display:grid;
  width:2.125rem;
  height:2.125rem;
  place-items:center;
}
.bottom-nav button:not(.nav-center) i svg{
  display:block;
  width:1.9375rem;
  height:1.9375rem;
  margin:0;
}
.bottom-nav button>span{
  width:100%;
  height:0.875rem;
  margin:0;
  line-height:0.875rem;
  text-align:center;
}
.bottom-nav .nav-center{
  display:grid;
  height:3.5rem;
  min-height:3.5rem;
  place-items:center;
  padding:0;
}
.bottom-nav .nav-center i,
.bottom-nav .nav-center.active i{
  width:clamp(3.875rem,17vw,4.375rem);
  height:clamp(3.875rem,17vw,4.375rem);
  margin-top:clamp(-2rem,-7.5vw,-1.5625rem);
}

/* 游戏大厅只保留左侧号段分类，搜索框下方直接衔接具体房间。 */
#game-panel:not([hidden]){
  min-height:calc(100dvh - 3.625rem - env(safe-area-inset-bottom));
  grid-template-rows:4.8125rem 5.25rem minmax(calc(100dvh - 13.6875rem - env(safe-area-inset-bottom)),auto);
}
#game-panel>.game-filters{grid-row:2/4}
#game-panel>.room-list{grid-row:3;padding-top:0.5rem}

@media(max-width:499px){
  #game-panel:not([hidden]){
    grid-template-rows:3.75rem 4.0625rem minmax(calc(100dvh - 11.4375rem - env(safe-area-inset-bottom)),auto);
  }
  #game-panel>.game-filters{grid-row:2/4}
  #game-panel>.room-list{grid-row:3;padding-top:0.5rem}
}

/* 所有余额前统一使用金色金币，余额本身不再承担手动刷新交互。 */
.player-coin-icon{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  border:1px solid var(--palette-focus, #e7aa22);
  border-radius:50%;
  color:var(--palette-danger, #9b6500);
  background:linear-gradient(145deg,var(--palette-surface-soft, #fff3a6) 0,var(--palette-warm, #ffd24f) 52%,var(--palette-warm, #f2a817) 100%);
  box-shadow:inset 0 1px 1px rgba(var(--palette-shadow-rgb, 255,255,255),0.72),0 2px 5px rgba(var(--palette-shadow-rgb, 191,126,0),0.2);
}
.player-coin-icon svg{
  width:72%;
  height:72%;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.7;
}
.game-lobby-balance{cursor:default}
.game-lobby-balance .player-coin-icon,
.game-room-balance .player-coin-icon,
#mine-panel .mine-wallet-row .player-coin-icon{
  color:var(--palette-danger, #9b6500);
  background:linear-gradient(145deg,var(--palette-surface-soft, #fff3a6) 0,var(--palette-warm, #ffd24f) 52%,var(--palette-warm, #f2a817) 100%);
}
.game-lobby-balance .player-coin-icon{width:1.8125rem;height:1.8125rem}
.game-room-balance{cursor:default}
.game-room-balance .player-coin-icon{width:1.375rem;height:1.375rem;margin-right:0.3125rem}

@media(max-width:499px){
  .game-lobby-balance .player-coin-icon{width:1.375rem;height:1.375rem}
  .game-room-balance .player-coin-icon{width:1.125rem;height:1.125rem;margin-right:0.25rem}
}

/* 登录与注册内容在可用屏幕内垂直居中，矮屏仍由外层正常滚动。 */
.auth-shell{
  justify-content:center;
  padding-top:clamp(3.625rem,8vh,5.125rem);
  padding-bottom:clamp(2rem,6vh,3.875rem);
}

/* 注册表单与登录表单共用同一尺寸，字段名称保留为无障碍文本但不额外占行。 */
#register-form{
  width:100%;
  min-width:0;
  gap:clamp(0.75rem,3.2vw,1.0625rem);
}
#register-form .form-pair{gap:clamp(0.75rem,3.2vw,1.0625rem)}
#register-form>label,
#register-form .form-pair>label,
#register-form .captcha-row,
#register-form .auth-input{width:100%;min-width:0}
#register-form .auth-intro,
#register-form>label>span,
#register-form .form-pair>label>span{
  position:absolute;
  width:0.0625rem;
  height:0.0625rem;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
#register-form .auth-input,
#register-form .captcha-image,
#register-form .auth-submit{height:clamp(2.25rem,9.333vw,3.15rem)}
#register-form .auth-input{border-color:var(--palette-focus, #3066ff);border-radius:62.4375rem}
#register-form .auth-input i{width:clamp(2.125rem,8.533vw,2.875rem);font-size:clamp(0.8125rem,3.733vw,1.25rem)}
#register-form .auth-input input{font-size:clamp(0.8125rem,3.733vw,1.25rem)}
#register-form .captcha-row{grid-template-columns:minmax(0,1fr) clamp(5.375rem,23.6vw,7.9375rem);gap:clamp(0.4375rem,2.133vw,0.75rem)}
#register-form .captcha-image,
#register-form .auth-submit{border-radius:62.4375rem}
#register-form .form-error:empty{display:none}
#register-form .auth-submit{margin-top:0;font-size:clamp(0.8125rem,3.2vw,1.0625rem)}
#register-form .auth-submit span{display:none}
.auth-tabs [data-auth-prompt]{
  align-items:center;
  justify-content:center;
  gap:0.3125rem;
  color:var(--palette-muted, #747f90);
  font-size:clamp(0.75rem,3.2vw,0.875rem);
}
.auth-tabs [data-auth-prompt]:not([hidden]){display:flex}
.auth-tabs [data-auth-prompt] button{
  height:auto;
  padding:0.1875rem 0;
  color:var(--palette-accent, #1677ff);
  background:transparent;
  font-size:inherit;
  font-weight:700;
}
.auth-tabs [data-auth-prompt] button.active{display:inline-block}

/* 首页账户快捷区压缩纵向留白；游客登录文案向右收进一些。 */
:is(#home-panel,#game-panel)>.home-user-card{
  padding-bottom:clamp(0.4375rem,2vw,0.625rem);
}
#home-panel .home-user-card .account-card{
  min-height:clamp(4rem,18vw,4.875rem);
  margin-top:clamp(0.1875rem,.9vw,0.3125rem);
  padding-top:clamp(0.25rem,1.2vw,0.375rem);
}
#home-panel .home-user-card .account-copy{
  padding-left:clamp(0.625rem,2.8vw,0.875rem);
}

/* 顶部栏缩短10px，左右内容始终按新高度垂直居中。 */
:is(#home-panel,#game-panel)>.topbar{
  display:flex;
  height:clamp(2.75rem,calc(12.8vw - 0.625rem),3.375rem);
  min-height:clamp(2.75rem,calc(12.8vw - 0.625rem),3.375rem);
  align-items:center;
}
:is(#home-panel,#game-panel) .topbar-logo{
  top:50%;
  transform:translateY(-50%);
}
:is(#home-panel,#game-panel) .top-actions{align-self:center}

/* 公告和账户之间不再保留额外空档，账户区贴合实际内容高度。 */
:is(#home-panel,#game-panel)>.home-user-card{padding-bottom:clamp(0.25rem,1vw,0.375rem)}
#home-panel .home-user-card .account-card{
  min-height:clamp(3.375rem,15vw,4rem);
  margin-top:0;
  padding-top:0;
}

/* 当前皮肤按gameid动态分类，并始终合并同一游戏下的房间。 */
#game-panel:not([hidden]){
  grid-template-rows:4.8125rem minmax(calc(100dvh - 8.4375rem - env(safe-area-inset-bottom)),auto);
}
#game-panel>.game-filters{grid-row:2/3}
#game-panel>.room-list{grid-row:2;padding-top:1.1875rem}

@media(max-width:499px){
  #game-panel:not([hidden]){
    grid-template-rows:3.75rem minmax(calc(100dvh - 7.375rem - env(safe-area-inset-bottom)),auto);
  }
  #game-panel>.game-filters{grid-row:2/3}
  #game-panel>.room-list{grid-row:2;padding-top:0.875rem}
}

/* Player各主页面只统一顶部栏高度，内部字体、Logo和图标尺寸保持不变。 */
:root{--player-topbar-height:clamp(2.75rem,calc(12.8vw - 0.625rem),3.375rem)}
:is(#home-panel,#game-panel)>.topbar,
#app-view .sub-header,
.activity-detail-header{
  height:var(--player-topbar-height);
  min-height:var(--player-topbar-height);
  align-items:center;
}
#app-view .sub-header,
.activity-detail-header{flex-basis:var(--player-topbar-height)}
#game-panel:not([hidden]){
  grid-template-rows:var(--player-topbar-height) minmax(calc(100dvh - var(--player-topbar-height) - 3.625rem - env(safe-area-inset-bottom)),auto);
}

/* 公告卡片固定完整展示，不提供详情点击；完整时间放在右下角。 */
#notice-panel .notice-card{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  cursor:default;
}
#notice-panel .notice-card p{
  display:block;
  overflow:visible;
  margin:0;
  padding:0;
  color:var(--palette-text, #606b7b);
  line-height:1.75;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  -webkit-line-clamp:unset;
}
#notice-panel .notice-card time{
  align-self:flex-end;
  margin-top:0.125rem;
  color:var(--palette-muted, #929cab);
  font-size:0.75rem;
  line-height:1.3;
}
#notice-panel .notice-card:active{
  border-color:transparent;
  background:var(--palette-surface, #fff);
  transform:none;
}

/* 游戏左侧入口使用图形而不是游戏名称首字。 */
#game-panel>.game-filters button i{
  display:grid;
  place-items:center;
}
#game-panel>.game-filters button i svg{
  display:block;
  width:1.25rem;
  height:1.25rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.65;
}

/* 页面内容高度与58px底栏严格闭合，避免长屏短内容滚到底露出背景断层。 */
#app-view>.page-scroll{
  min-height:100dvh;
  padding-bottom:calc(3.625rem + env(safe-area-inset-bottom));
}
#app-view .tab-panel{
  min-height:calc(100dvh - 3.625rem - env(safe-area-inset-bottom));
}
#chat-panel{
  height:calc(100dvh - 3.625rem - env(safe-area-inset-bottom));
  min-height:0;
}
body.player-room-active #app-view>.page-scroll{
  padding-bottom:0;
}
body.player-room-active #room-panel{
  height:100dvh;
  min-height:0;
}

/* 中间充值入口增加上托白弧和底部浅灰圆弧，形成嵌入底栏的层次。 */
.bottom-nav .nav-center{isolation:isolate}
.bottom-nav .nav-center:before{
  position:absolute;
  z-index:0;
  top:clamp(-1.5rem,-5.3vw,-1.0625rem);
  left:50%;
  display:block;
  width:clamp(5.5rem,24vw,6.5rem);
  height:clamp(3rem,13vw,3.625rem);
  content:"";
  border-radius:3.25rem 3.25rem 0 0;
  background:var(--palette-surface, #fff);
  transform:translateX(-50%);
}
.bottom-nav .nav-center:after{
  position:absolute;
  z-index:1;
  top:clamp(1.625rem,7.3vw,2rem);
  left:50%;
  width:clamp(4.125rem,18vw,4.875rem);
  height:clamp(1.5625rem,7vw,1.9375rem);
  content:"";
  border-radius:0 0 50% 50%;
  background:var(--palette-surface, #edf1f6);
  box-shadow:0 4px 8px rgba(var(--palette-shadow-rgb, 42,67,99),0.08);
  transform:translateX(-50%);
}
.bottom-nav .nav-center i,
.bottom-nav .nav-center.active i{
  position:relative;
  z-index:2;
}

/* 圆弧由底栏本身承托，避免伪元素被中间按钮的布局范围限制。 */
.bottom-nav .nav-center{isolation:auto}
.bottom-nav .nav-center:before,
.bottom-nav .nav-center:after{display:none}
.bottom-nav:before{
  position:absolute;
  z-index:0;
  top:clamp(-1.6875rem,-6.2vw,-1.3125rem);
  left:50%;
  display:block;
  width:clamp(5.875rem,25.5vw,6.75rem);
  height:clamp(3.875rem,17vw,4.5rem);
  content:"";
  border-radius:3.375rem 3.375rem 0 0;
  background:var(--palette-surface, #fff);
  transform:translateX(-50%);
}
.bottom-nav:after{
  position:absolute;
  z-index:1;
  top:clamp(1.4375rem,6.5vw,1.75rem);
  left:50%;
  width:clamp(4.5rem,19.5vw,5.125rem);
  height:clamp(1.5rem,6.8vw,1.8125rem);
  content:"";
  border-radius:0 0 2.625rem 2.625rem;
  background:var(--palette-surface, #edf1f6);
  transform:translateX(-50%);
}
.bottom-nav .nav-center i,
.bottom-nav .nav-center.active i{
  z-index:3;
}

/* 登录前后身份信息使用同一起点；登录后的分数突出显示，眼睛按钮紧随文字。 */
#home-panel .home-user-card .account-copy{
  width:max-content;
  max-width:100%;
  grid-template-columns:minmax(0,max-content) auto;
  justify-self:start;
  justify-content:start;
  column-gap:clamp(0.375rem,1.8vw,0.5625rem);
}
#home-panel .home-user-card .account-copy-entry{
  width:auto;
  max-width:clamp(6.5625rem,30vw,9.375rem);
}
#app-view:not(.guest-player) #home-panel .home-user-card .account-copy-entry small{
  color:var(--palette-text, #111);
  font-size:clamp(1rem,4.4vw,1.3125rem);
  font-weight:700;
  line-height:1.2;
}

/* 中心入口下方使用半透明圆球承托，只让圆球下半部从按钮后方露出。 */
.bottom-nav:after{
  top:clamp(-1rem,-3.5vw,-0.75rem);
  width:clamp(4.875rem,21.5vw,5.75rem);
  height:clamp(4.875rem,21.5vw,5.75rem);
  border:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.72);
  border-radius:50%;
  background:radial-gradient(circle at 50% 30%,rgba(var(--palette-surface-rgb, 255,255,255),0.82),rgba(var(--palette-surface-rgb, 255,255,255),0.46) 72%);
  box-shadow:0 10px 20px rgba(var(--palette-shadow-rgb, 56,78,109),0.14),inset 0 0 12px rgba(var(--palette-shadow-rgb, 255,255,255),0.34);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}

/* 五个入口严格共用按钮中心线；普通图标放大，文字统一加粗。 */
.bottom-nav button:not(.nav-center){
  height:3.5rem;
  grid-template-rows:2.5rem 0.9375rem;
  align-content:start;
  justify-items:center;
  gap:0.0625rem;
}
.bottom-nav button:not(.nav-center) i{
  width:2.5rem;
  height:2.5rem;
  place-items:center;
}
.bottom-nav button:not(.nav-center) i svg{
  width:2.375rem;
  height:2.375rem;
  margin:0;
}
.bottom-nav button>span,
.bottom-nav .nav-center i span{
  font-weight:700;
  text-align:center;
}
.bottom-nav button[data-tab="activity"] i svg{
  transform:translateX(0.25rem);
}

/* 底栏改为参考图的中央内凹缺口：四个主入口分列两侧，凹口保持干净。 */
.bottom-nav{
  isolation:isolate;
  border-top:0;
  background:transparent;
  box-shadow:none;
}
.bottom-nav:before{
  inset:0;
  z-index:0;
  width:auto;
  height:auto;
  border-radius:0;
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 58' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 0h190c24 0 17 45 60 45s36-45 60-45h190v58H0Z'/%3E%3C/svg%3E") center/500px 100% no-repeat;
  filter:drop-shadow(0 -2px 5px rgba(55,79,112,.06));
  transform:none;
  -webkit-mask:none;
  mask:none;
}
.bottom-nav:after{display:none}
.bottom-nav .nav-center{
  visibility:hidden;
  pointer-events:none;
}
.bottom-nav button:not(.nav-center){z-index:2}
.bottom-nav button:not(.nav-center)>span{
  position:relative;
  top:-0.1875rem;
}

/* 会员ID与复制按钮保持一行，设置页承接密码修改和退出登录。 */
#mine-panel .mine-profile-top p.mine-member-id-row{
  display:flex;
  align-items:center;
  gap:0.375rem;
  overflow:visible;
  white-space:nowrap;
}

/* The profile-card rule above uses the `background` shorthand after the
 * generic avatar rule. Re-apply the image presentation on the more specific
 * selector so a real avatar is centred and covers the circle instead of
 * exposing its top-left pixels with the nickname fallback on top. */
#mine-panel .mine-profile-top .mine-avatar.has-image{
  color:transparent;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
#mine-panel .mine-member-id-row>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
#mine-panel .mine-member-id-row>button{
  display:grid;
  width:1.5rem;
  height:1.5rem;
  flex:0 0 1.5rem;
  place-items:center;
  padding:0;
  border:0;
  border-radius:0.4375rem;
  color:var(--palette-text, #24577f);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.5);
}
#mine-panel .mine-member-id-row>button svg{
  width:0.9375rem;
  height:0.9375rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}
#settings-panel{background:var(--palette-surface, #f3f6fa)}
#settings-panel>.sub-header{border-bottom:1px solid var(--palette-line, #edf0f4)}
#settings-panel .settings-page-body{padding:1rem 0 2rem}
#settings-panel .settings-page-body>.mine-card:first-child{margin-top:0}
#settings-panel .settings-logout-card{margin-top:0.875rem}
#settings-panel .settings-logout-card .logout b{font-size:0.875rem}

/* 我的页菜单必须按实际条目撑开，避免固定高度与按钮最小高度冲突后覆盖下一张卡片。 */
#mine-panel>.menu-card{
  height:auto;
  min-height:0;
  overflow:hidden;
}
#mine-panel>.menu-card button{
  height:auto;
  min-height:3.25rem;
}
#mine-panel>.mine-settings-card{
  position:relative;
  clear:both;
}
@media(max-width:499px){
  #mine-panel>.menu-card{height:auto}
  #mine-panel>.menu-card button{
    height:auto;
    min-height:2.875rem;
  }
}

/* 充值按钮悬浮在平滑缺口上方，圆形内同时呈现金币符号与入口名称。 */
.bottom-nav .nav-center{
  position:relative;
  z-index:4;
  display:block;
  visibility:visible;
  height:3.625rem;
  min-height:0;
  padding:0;
  overflow:visible;
  pointer-events:auto;
}
.bottom-nav .nav-center i,
.bottom-nav .nav-center.active i{
  position:absolute;
  z-index:4;
  top:clamp(-1.75rem,-5.5vw,-1.4375rem);
  left:50%;
  display:flex;
  width:clamp(3.3125rem,13.9vw,3.6875rem);
  height:clamp(3.3125rem,13.9vw,3.6875rem);
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  margin:0;
  border:0;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,var(--palette-primary, #35b6ff) 0,var(--palette-primary, #1677ff) 68%,var(--palette-primary, #0865e6) 100%);
  box-shadow:0 7px 18px rgba(var(--palette-shadow-rgb, 22,119,255),0.28);
  transform:translateX(-50%);
}
.bottom-nav .nav-center i svg{
  width:clamp(1.4375rem,6vw,1.5625rem);
  height:clamp(1.4375rem,6vw,1.5625rem);
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2.4;
}
.bottom-nav .nav-center i span{
  height:0.875rem;
  margin-top:-0.125rem;
  color:#fff;
  font-size:clamp(0.75rem,2.8vw,0.75rem);
  font-weight:700;
  line-height:0.875rem;
}

/* 我的页承接完整七日签到；大转盘页只展示单个主转盘。 */
#mine-panel .mine-checkin-card{
  margin:0.75rem 1rem;
  padding:1.125rem 0.875rem;
  border:0;
  border-radius:1.125rem;
  background:var(--palette-surface, #fff);
  box-shadow:0 3px 10px rgba(var(--palette-shadow-rgb, 43,73,108),0.1);
}
#mine-panel .mine-checkin-card .benefit-checkin-copy>span{display:none}
#mine-panel .mine-checkin-card .benefit-checkin-copy h2{
  margin-top:0;
  font-size:clamp(1.125rem,4.8vw,1.375rem);
}
#mine-panel .mine-checkin-card .benefit-days{margin:1.125rem 0}
#mine-panel .mine-checkin-card .benefit-checkin-action{padding-top:0.9375rem}
#mine-panel .mine-checkin-card .benefit-checkin-action .primary-button{min-width:8.625rem}
#benefit-panel .benefit-root{padding-top:1rem}
#benefit-panel .benefit-wheel-grid{display:block}
#benefit-panel .benefit-wheel-card.premium{
  width:100%;
  padding:clamp(1.25rem,5vw,1.625rem);
}
#benefit-panel .benefit-wheel-card.premium .benefit-wheel-stage{
  width:min(68vw,18.75rem);
  height:min(68vw,18.75rem);
  margin-block:1.5rem 1.25rem;
}
#benefit-panel .benefit-wheel-card.premium .benefit-wheel-value{
  transform:translate(-50%,-50%) rotate(calc(var(--slot)*60deg)) translateY(max(-6.375rem,-23vw)) rotate(calc(var(--slot)*-60deg));
}

/* 充值、提现使用可识别的线性功能图标，不再以单字代替图形。 */
#mine-panel .mine-finance-actions i svg{
  display:block;
  width:72%;
  height:72%;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

/* 完整签到并入蓝色账户卡，共用同一背景、圆角和阴影。 */
#mine-panel .mine-profile-card .mine-checkin-card{
  position:relative;
  z-index:1;
  margin:1.125rem 0 0;
  padding:1.125rem 0 0;
  border:0;
  border-top:1px solid rgba(var(--palette-line-rgb, 255,255,255),0.52);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
#mine-panel .mine-profile-card .mine-checkin-card .benefit-checkin-copy h2{color:var(--palette-text, #173b62)}
#mine-panel .mine-profile-card .mine-checkin-card .benefit-checkin-copy p{color:var(--palette-text, #41698f)}
#mine-panel .mine-profile-card .mine-checkin-card .benefit-days i{
  border-color:rgba(var(--palette-line-rgb, 255,255,255),0.65);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.62);
  font-size:0.75rem;
}
#mine-panel .mine-profile-card .mine-checkin-card .benefit-days span{
  font-size:0.75rem;
  font-weight:600;
}
#mine-panel .mine-profile-card .mine-checkin-card .benefit-days div.complete i{
  border-color:var(--palette-focus, #1677ff);
  color:#fff;
  background:var(--palette-primary, #1677ff);
}
#mine-panel .mine-profile-card .mine-checkin-card .benefit-checkin-action{
  border-top-color:rgba(var(--palette-line-rgb, 255,255,255),0.5);
}
#mine-panel .mine-profile-card .mine-checkin-card .benefit-checkin-action .primary-button{
  color:var(--palette-accent, #1677ef);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.88);
  box-shadow:none;
}
#mine-panel .mine-profile-card .mine-checkin-card .benefit-checkin-action .primary-button:disabled{
  color:var(--palette-text, #496c90);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.68);
  opacity:1;
}

/* 房间消息不足一屏时贴近输入区，超过一屏后仍按正常文档流滚动。 */
.game-group-mode .game-room-chat-messages>.group-chat-message:first-child{
  margin-top:auto;
}
.game-group-mode .game-room-chat-messages{
  padding-bottom:0.75rem;
}

/* 群投模式提供显式回底按钮，位于“专业模式”入口下方。 */
.game-chat-bottom-button{
  position:absolute;
  z-index:4;
  right:1.4375rem;
  bottom:calc(20vh - 4.25rem);
  display:grid;
  justify-items:center;
  gap:0.25rem;
  padding:0;
  border:0;
  color:var(--palette-text, #47607e);
  background:transparent;
  font-size:0.75rem;
}
.game-chat-bottom-button>i{
  display:grid;
  width:2.625rem;
  height:2.625rem;
  place-items:center;
  border-radius:50%;
  color:var(--palette-accent, #1677ff);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.94);
  box-shadow:0 5px 14px rgba(var(--palette-shadow-rgb, 45,75,112),0.17);
  font-style:normal;
}
.game-chat-bottom-button svg{
  width:1.4375rem;
  height:1.4375rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2;
}
.game-chat-bottom-button>span{white-space:nowrap}
@media(max-width:470px){
  .game-chat-bottom-button{right:1rem}
}

/* 底栏按压时不产生临时反馈色；页面切换完成后，仅当前入口保持蓝色。 */
.bottom-nav button:not(.nav-center){
  color:var(--palette-muted, #9aa9bd)!important;
  background:transparent!important;
  -webkit-tap-highlight-color:transparent;
  transition:none;
}
.bottom-nav button:not(.nav-center)>span{
  color:var(--palette-muted, #6d7693)!important;
}
.bottom-nav button:not(.nav-center) i{
  color:var(--palette-muted, #9aa9bd)!important;
  background:transparent!important;
}
.bottom-nav button:not(.nav-center).active,
.bottom-nav button:not(.nav-center).active>span,
.bottom-nav button:not(.nav-center).active i{
  color:var(--palette-accent, #1677ff)!important;
}
.bottom-nav .nav-center.active i{
  border:3px solid var(--palette-line, #fff);
}
.bottom-nav .nav-center,
.bottom-nav .nav-center:active,
.bottom-nav .nav-center:focus,
.bottom-nav .nav-center:focus-visible{
  background:transparent!important;
  outline:0!important;
  -webkit-tap-highlight-color:transparent;
}

/* 所有无Logo的内页标题栏都显示左上角返回按钮。 */
#app-view .sub-header>button,
#activity-panel>.sub-header>button{
  position:relative;
  z-index:2;
  display:grid;
  visibility:visible;
  place-items:center;
}

/* 首页顶栏并排放置APP下载与公告；公告条只保留正文。 */
:is(#home-panel,#game-panel) .top-actions{display:flex;gap:0.125rem}
:is(#home-panel,#game-panel) .top-actions button{flex:0 0 auto;color:var(--palette-accent, #1677ff)}
:is(#home-panel,#game-panel) .home-user-card .notice-bar{grid-template-columns:1.875rem minmax(0,1fr)}

/* 今日收益仅展示汇总值，并提高数字和说明字号。 */
#mine-panel .mine-overview-card{
  height:auto;
  min-height:7.875rem;
}
#mine-panel .mine-overview-card>header{font-size:clamp(0.9375rem,3.9vw,1.125rem);font-weight:600}
#mine-panel .mine-overview-card>header button{font-size:clamp(0.75rem,3.1vw,0.875rem)}
#mine-panel .mine-today-metrics{
  height:3.875rem;
  margin-top:0.8125rem;
  padding:0.375rem 0;
}
#mine-panel .mine-today-metrics>div{
  display:grid;
  min-width:0;
  height:100%;
  align-content:center;
  justify-items:center;
  gap:0.3125rem;
  padding:0 0.3125rem;
}
#mine-panel .mine-today-metrics>div+div{border-left:1px solid var(--palette-line, #d8d8d8)}
#mine-panel .mine-today-metrics strong{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:var(--palette-success, #14a92a);
  font-size:clamp(0.9375rem,4vw,1.125rem);
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#mine-panel .mine-today-metrics strong.negative{color:var(--palette-danger, #ee5262)}
#mine-panel .mine-today-metrics small{
  color:var(--palette-muted, #767f8d);
  font-size:clamp(0.75rem,3vw,0.8125rem);
  font-weight:600;
  white-space:nowrap;
}

/* 我的页菜单按业务顺序完整展开，并用分隔段区分APP下载。 */
#mine-panel>.menu-card{padding-block:0.5rem}
#mine-panel>.menu-card button{min-height:2.875rem}
#mine-panel>.menu-card button>span{gap:0.8125rem}
#mine-panel>.menu-card i{width:1.6875rem;height:1.6875rem}
#mine-panel>.menu-card i svg{
  width:1.375rem;
  height:1.375rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.65;
}
#mine-panel>.menu-card b{font-size:clamp(0.75rem,3.35vw,0.875rem);font-weight:500}
#mine-panel>.menu-card hr{
  height:0.625rem;
  margin:0 -1.4375rem;
  border:0;
  border-top:1px solid var(--palette-line, #e3e9f0);
  border-bottom:1px solid var(--palette-line, #e3e9f0);
  background:var(--palette-surface, #f3f6fa);
}

.player-scroll-sentinel{display:grid;min-height:3.25rem;place-items:center;padding:0.625rem 1rem 1.5rem;color:var(--palette-muted, #8a98aa);font-size:0.75rem}
.point-filter{position:relative;z-index:6;padding:1rem 1.25rem 0.125rem}
.point-filter-toggle{display:flex;min-width:7.25rem;height:2.75rem;align-items:center;justify-content:center;gap:0.5625rem;padding:0 1.375rem;border:1px solid var(--palette-line, #e3ebf4);border-radius:1.375rem;color:var(--palette-text, #31435a);background:var(--palette-surface, #fff);font-size:0.875rem}
.point-filter-toggle i{width:0.5rem;height:0.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-0.125rem);transition:transform .18s ease}
.point-filter-toggle.open i{transform:rotate(225deg) translate(-0.125rem,-0.125rem)}
.point-filter-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.625rem;margin-top:0.75rem;padding:1rem;border:1px solid var(--palette-line, #e5edf5);border-radius:1.125rem;background:var(--palette-surface, #fff);box-shadow:0 12px 30px rgba(var(--palette-shadow-rgb, 42,78,117),0.12)}
.point-filter-panel button{min-height:2.75rem;padding:0.5rem;border:0;border-radius:0.625rem;color:var(--palette-text, #435269);background:var(--palette-surface, #f1f5fb);font-size:0.8125rem;line-height:1.25}
.point-filter-panel button.active{color:#fff;background:var(--palette-primary, #287ff0)}
.finance-request-filter{display:grid;grid-template-columns:repeat(3,1fr);gap:0.625rem;padding:1rem 1.25rem 0.125rem}
.finance-request-filter button{height:2.75rem;border:0;border-radius:0.75rem;color:var(--palette-text, #45556a);background:var(--palette-surface, #f0f4fa);font-size:0.875rem}
.finance-request-filter button.active{color:#fff;background:var(--palette-primary, #287ff0)}
.agent-invite-qr{display:grid;place-items:center;margin:1.125rem 0 0.875rem}
.agent-invite-qr img{display:block;width:min(13.75rem,72%);aspect-ratio:1;border:10px solid var(--palette-line, #fff);border-radius:1.125rem;box-shadow:0 8px 24px rgba(var(--palette-shadow-rgb, 42,83,122),0.12)}
.agent-invite-code{display:flex;width:100%;align-items:center;justify-content:center;gap:0.625rem;margin:0.125rem 0 0.875rem;padding:0.5rem 0.75rem;border:0;border-radius:0.625rem;color:var(--palette-muted, #71859a);background:var(--palette-surface, #f4f8fc);font-size:0.75rem}
.agent-invite-code strong{color:var(--palette-text, #1f4d72);font-size:1.125rem;letter-spacing:.08em}
.agent-invite-code em{color:var(--palette-accent, #288ee4);font-size:0.75rem;font-style:normal}
.agent-explain-card p{margin:0.875rem 0 0;white-space:pre-wrap}
.agent-link-card{display:flex;width:auto;align-items:center;justify-content:space-between;text-align:left}
.agent-link-card>span{display:grid;gap:0.375rem}
.agent-link-card small{color:var(--palette-accent, #3d9de7);font-size:0.75rem;font-weight:800}
.agent-link-card strong{color:var(--palette-text, #263e5a);font-size:1.25rem}
.agent-link-card>em{color:var(--palette-muted, #8fa4b8);font-size:1.625rem;font-style:normal}
.downlines-root{display:grid;gap:1rem;padding:1rem 1.0625rem 2rem}
.downlines-period{display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem}
.downlines-period button{height:3.125rem;border:1px solid var(--palette-line, #d7e1ee);border-radius:1.5625rem;color:var(--palette-text, #50658a);background:var(--palette-surface, #fff);font-size:1.125rem;font-weight:700}
.downlines-period button.active{border-color:var(--palette-focus, #438ff5);color:#fff;background:var(--palette-primary, #438ff5)}
.downlines-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem}
.downlines-summary article{min-width:0;padding:1.25rem 1.0625rem;border-radius:1.25rem;background:var(--palette-surface, #fff)}
.downlines-summary span,.downlines-summary strong{display:block}
.downlines-summary span{overflow:hidden;color:var(--palette-muted, #7284a4);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.downlines-summary strong{margin-top:0.625rem;color:var(--palette-text, #071322);font-size:1.5rem}
.downlines-list{overflow:hidden;border-radius:1.375rem;background:var(--palette-surface, #fff)}
.downlines-list article{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;gap:0.75rem;align-items:center;padding:0.9375rem 1.0625rem;border-bottom:1px solid var(--palette-line, #e8edf3)}
.downlines-list article:last-child{border-bottom:0}
.downlines-list article>span{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:0.875rem;color:#fff;background:var(--palette-primary, #438ff5);font-weight:800}
.downlines-list strong,.downlines-list small{display:block}
.downlines-list strong{color:var(--palette-text, #263e5a);font-size:0.8125rem}
.downlines-list small{margin-top:0.25rem;color:var(--palette-muted, #8798ab);font-size:0.75rem}
.downlines-list article>b{color:var(--palette-muted, #8c9bad);font-size:0.75rem;font-weight:500}
.downlines-list>.empty{min-height:11.25rem}
/* APP下载作为独立单屏页面展示，内容整体居中且页面不可上下拖动。 */
.app-download-view{
  width:100%;
  height:100dvh;
  min-height:0;
  overflow:hidden;
  overscroll-behavior:none;
}
.app-download-shell{
  display:flex;
  width:min(31.25rem,100%);
  height:100dvh;
  min-height:0;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(0.875rem,3.2vh,1.625rem);
  overflow:hidden;
  padding:clamp(1.125rem,4vh,2.125rem) 1.5rem;
}
.app-download-loading,.app-download-empty,.app-download-content{grid-row:auto}
.app-download-content{gap:clamp(0.8125rem,2.8vh,1.5rem);padding:0}
.app-download-qrcode{width:min(16.25rem,68vw,37dvh)}
.app-download-point{grid-row:auto;margin:0}

/* 数据统计页：单独的余额摘要、日期筛选、六项柱状图和分数流水入口。 */
#stats-panel{min-height:100dvh;background:var(--palette-surface, #f3f6fa)}
.stats-root{display:grid;gap:1rem;padding:0.875rem 1rem 1.75rem}
.stats-balance-card{
  display:grid;
  min-height:11.875rem;
  align-content:center;
  justify-items:center;
  gap:0.875rem;
  overflow:hidden;
  border-radius:1.125rem;
  color:#fff;
  background:linear-gradient(145deg,var(--palette-green, #43b378),var(--palette-green, #2da967));
}
.stats-balance-card>.player-coin-icon{
  width:3.875rem;
  height:3.875rem;
  color:#fff;
  background:transparent;
}
.stats-balance-card>.player-coin-icon svg{width:3.625rem;height:3.625rem;stroke-width:1.45}
.stats-balance-card>strong{font-size:clamp(2.375rem,10vw,3.25rem);font-weight:500;line-height:1}
.stats-date-control{position:relative;display:block}
.stats-date-control>#stats-date-toggle{
  display:grid;
  width:100%;
  height:3.5rem;
  place-items:center;
  padding:0 1.375rem;
  border:0;
  border-radius:62.4375rem;
  outline:0;
  color:#fff;
  background:var(--palette-primary, #1677ff);
  font-size:clamp(1.125rem,5vw,1.4375rem);
  font-weight:650;
  text-align:center;
}
.stats-calendar{
  position:absolute;
  z-index:24;
  top:calc(100% + 0.5rem);
  left:0;
  width:100%;
  padding:0.875rem;
  border:1px solid var(--palette-line, #dce5ef);
  border-radius:1.125rem;
  background:var(--palette-surface, #fff);
  box-shadow:0 16px 36px rgba(var(--palette-shadow-rgb, 40,67,101),0.18);
}
.stats-calendar>header{display:grid;height:2.5rem;grid-template-columns:2.625rem 1fr 2.625rem;align-items:center}
.stats-calendar>header strong{text-align:center;font-size:1rem}
.stats-calendar>header button{
  display:grid;
  width:2.25rem;
  height:2.25rem;
  place-items:center;
  border:0;
  border-radius:0.625rem;
  color:var(--palette-accent, #1677ff);
  background:var(--palette-surface, #edf5ff);
  font-size:1.5625rem;
}
.stats-calendar>header button:last-child{justify-self:end}
.stats-calendar>header button:disabled{color:var(--palette-muted, #b7c1cf);background:var(--palette-surface, #f4f6f8);opacity:1}
.stats-calendar-week,.stats-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.stats-calendar-week{padding:0.625rem 0 0.375rem;color:var(--palette-muted, #8995a5);font-size:0.75rem;text-align:center}
.stats-calendar-days{gap:0.3125rem}
.stats-calendar-days>i,.stats-calendar-days>button{aspect-ratio:1}
.stats-calendar-days>button{
  display:grid;
  min-width:0;
  place-items:center;
  padding:0;
  border:0;
  border-radius:0.625rem;
  color:var(--palette-text, #34465d);
  background:var(--palette-surface, #f6f8fb);
  font-size:0.75rem;
}
.stats-calendar-days>button.active{color:#fff;background:var(--palette-primary, #1677ff);font-weight:700}
.stats-calendar-days>button:disabled{color:var(--palette-muted, #c4cbd4);background:var(--palette-surface, #fafbfc);opacity:1}
.stats-content{min-height:20.625rem;padding:1rem 0.75rem 1.25rem;border-radius:1.125rem;background:var(--palette-surface, #fff)}
.stats-content>.empty{min-height:18.125rem}
.stats-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.8125rem 0.5625rem;padding:0 0.25rem 1.125rem}
.stats-legend span{display:grid;grid-template-columns:0.5rem minmax(0,1fr);align-items:center;gap:0.375rem;color:var(--palette-muted, #6d7683);font-size:0.75rem}
.stats-legend span>i{width:0.4375rem;height:0.4375rem;border-radius:50%;background:var(--metric-color)}
.stats-legend span>b{grid-column:2;overflow:hidden;color:var(--palette-text, #283b52);font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.stats-chart{
  display:grid;
  height:15.3125rem;
  grid-template-columns:repeat(6,minmax(0,1fr));
  align-items:end;
  gap:0.4375rem;
  padding:0.75rem 0.25rem 0;
  border-top:1px dashed var(--palette-line, #dce2e9);
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,var(--palette-surface-soft, #e5e9ef) 55px);
}
.stats-chart-item{display:grid;min-width:0;height:100%;grid-template-rows:1.375rem minmax(0,1fr) 2rem;align-items:end;justify-items:center}
.stats-chart-item>strong{max-width:100%;overflow:hidden;color:var(--palette-muted, #66717f);font-size:0.75rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.stats-chart-item>div{display:flex;width:100%;height:100%;align-items:end;justify-content:center}
.stats-chart-item>div i{display:block;width:min(1.75rem,70%);height:var(--metric-height);min-height:0;border-radius:0.4375rem 0.4375rem 0.125rem 0.125rem;background:var(--metric-color);transition:height .25s ease}
.stats-chart-item.negative>div i{opacity:.88}
.stats-chart-item>span{align-self:center;color:var(--palette-muted, #737d89);font-size:0.75rem;white-space:nowrap}
.stats-score-log{
  width:100%;
  height:3.625rem;
  border:0;
  border-radius:62.4375rem;
  color:#fff;
  background:var(--palette-primary, #1677ff);
  font-size:clamp(1.125rem,5vw,1.375rem);
  font-weight:700;
}
@media(max-width:370px){
  .stats-root{padding-inline:0.75rem}
  .stats-legend span,.stats-legend span>b{font-size:0.75rem}
  .stats-chart{gap:0.1875rem}
  .stats-chart-item>span,.stats-chart-item>strong{font-size:0.75rem}
}

/* 密码显隐使用眼睛图标，明文状态显示斜线。 */
.auth-input button[data-eye]{display:grid;width:2.875rem;min-width:2.875rem;place-items:center;padding:0}
.auth-input button[data-eye] svg{
  width:1.375rem;
  height:1.375rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.7;
}
.auth-input button[data-eye] .eye-slash{opacity:0}
.auth-input button[data-eye].visible .eye-slash{opacity:1}
.settings-password-input{position:relative}
.settings-password-input input{width:100%;padding-right:3.25rem}
.settings-password-input button[data-eye]{position:absolute;top:50%;right:0.4375rem;display:grid;width:2.5rem;height:2.5rem;padding:0;place-items:center;border:0;color:var(--palette-accent, #1677ff);background:transparent;transform:translateY(-50%)}
.settings-password-input button[data-eye] svg{width:1.375rem;height:1.375rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.settings-password-input button[data-eye] .eye-slash{opacity:0}
.settings-password-input button[data-eye].visible .eye-slash{opacity:1}

/* 验证码角标只显示刷新图标；修改密码页复用同一验证码控件。 */
.captcha-image small{
  display:grid;
  width:1.25rem;
  height:1.25rem;
  place-items:center;
  padding:0;
  border-radius:0.375rem;
}
.captcha-image small svg{
  width:0.875rem;
  height:0.875rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2;
}
.settings-captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 7.375rem;gap:0.625rem}
.settings-captcha-row .captcha-image{height:3.25rem;border-color:var(--palette-line, #dde0e5);border-radius:1.625rem}
@media(max-width:370px){.settings-captcha-row{grid-template-columns:minmax(0,1fr) 6.375rem}}

/* 验证码图片本身即可点击刷新，三处都不再显示额外刷新角标。 */
.captcha-image small{display:none!important}

/* 两种转盘分页展示：签到使用蓝色，高级使用金色，奖项固定在各扇区正中。 */
#benefit-panel .benefit-wheel-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0.5rem;
  margin-bottom:0.75rem;
  padding:0.3125rem;
  border-radius:1rem;
  background:var(--palette-surface, #eaf0f7);
}
#benefit-panel .benefit-wheel-tabs>button{
  height:2.75rem;
  border:0;
  border-radius:0.75rem;
  color:var(--palette-muted, #75859a);
  background:transparent;
  font-size:0.9375rem;
  font-weight:700;
}
#benefit-panel .benefit-wheel-tabs>button.active{
  color:#fff;
  background:var(--palette-primary, #1677ff);
  box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 22,119,255),0.22);
}
#benefit-panel .benefit-wheel-tabs>button[data-benefit-wheel-tab="premium"].active{
  color:var(--palette-danger, #744500);
  background:linear-gradient(135deg,var(--palette-warm, #ffd974),var(--palette-warm, #f3ae36));
  box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 218,145,29),0.25);
}
#benefit-panel .benefit-wheel-grid{display:block}
#benefit-panel .benefit-wheel-card{
  width:100%;
  padding:clamp(1.25rem,5vw,1.625rem);
}
#benefit-panel .benefit-wheel-card.checkin{
  background:linear-gradient(155deg,var(--palette-surface, #fff) 52%,var(--palette-surface, #eef7ff) 100%);
}
#benefit-panel .benefit-wheel-card.premium{
  background:linear-gradient(155deg,var(--palette-surface, #fff) 52%,var(--palette-surface, #fff7e5) 100%);
}
#benefit-panel .benefit-wheel-card .benefit-wheel-stage{
  width:min(68vw,18.75rem);
  height:min(68vw,18.75rem);
  margin:1.5rem auto 1.25rem;
}
#benefit-panel .benefit-wheel-card.checkin .benefit-wheel-value,
#benefit-panel .benefit-wheel-card.premium .benefit-wheel-value{
  width:3.625rem;
  height:2.625rem;
  overflow:visible;
  transform:translate(-50%,-50%) rotate(var(--angle)) translateY(clamp(-6.4375rem,-22vw,-4.875rem)) rotate(var(--counter-angle));
}
#benefit-panel .benefit-wheel-card.checkin .benefit-wheel{
  border-color:var(--palette-line, #dcedff);
  background:conic-gradient(var(--palette-primary, #71b5ff) 0 60deg,var(--palette-surface-soft, #dbeeff) 60deg 120deg,var(--palette-primary, #71b5ff) 120deg 180deg,var(--palette-surface-soft, #dbeeff) 180deg 240deg,var(--palette-primary, #71b5ff) 240deg 300deg,var(--palette-surface-soft, #dbeeff) 300deg 360deg);
}
#benefit-panel .benefit-wheel-card.checkin .benefit-wheel-center{
  background:var(--palette-primary, #1677ff);
}
#benefit-panel .benefit-wheel-center svg{
  width:1.875rem;
  height:1.875rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}
#benefit-panel .benefit-wheel-card.premium .benefit-wheel-center svg{
  width:2.0625rem;
  height:2.0625rem;
}
#benefit-panel .benefit-wheel-card>p{
  min-height:2.375rem;
  margin-bottom:1rem;
  color:var(--palette-muted, #607d9a);
  font-size:clamp(0.8125rem,3.4vw,0.9375rem);
  line-height:1.6;
}
#benefit-panel .benefit-wheel-card.checkin .benefit-pointer{
  color:var(--palette-accent, #1677ff);
}

/* Player 群聊只展示当前最新消息，不提供向前翻阅入口。 */
#chat-panel .group-chat-card{grid-template-rows:minmax(0,1fr) auto}
#chat-panel .group-chat-messages{grid-row:1}
#chat-panel .group-chat-form{grid-row:2}

/* 群聊与在线客服作为独立房间铺满屏幕，进入后不为底栏预留空间。 */
body.player-conversation-active .phone-page,
body.player-conversation-active #app-view>.page-scroll{
  height:100dvh;
  min-height:0;
}
body.player-conversation-active #app-view>.page-scroll{
  overflow:hidden;
  padding-bottom:0;
}
#chat-panel,
#service-panel{
  height:100dvh;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
}
#chat-panel:not([hidden]),
#service-panel:not([hidden]){display:flex}
#chat-panel>.sub-header,
#service-panel>.sub-header{flex:0 0 auto}
#chat-panel>.group-chat-root,
#service-panel>.player-service-root{
  min-height:0;
  flex:1;
  margin:0;
  padding:0;
}
#chat-panel .group-chat-card{
  height:100%;
  border:0;
  border-radius:0;
  box-shadow:none;
}
#chat-panel .group-chat-messages{
  width:100%;
  padding:1.125rem clamp(0.75rem,4vw,1.25rem);
}
#chat-panel .group-chat-form{
  padding:0.75rem clamp(0.75rem,4vw,1.125rem) calc(0.875rem + env(safe-area-inset-bottom));
}
#service-panel>.player-service-root{display:block}
#service-panel .chat-card{
  display:flex;
  height:100%;
  flex-direction:column;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
#service-panel .chat-card>header{display:none}
#service-panel .player-service-messages{
  width:100%;
  height:auto;
  min-height:0;
  flex:1;
  padding:1.125rem clamp(0.75rem,4vw,1.25rem);
}
#service-panel .player-service-questions{flex:0 0 auto}
#service-panel .chat-card>form{
  flex:0 0 auto;
  padding:0.75rem clamp(0.75rem,4vw,1.125rem) calc(0.875rem + env(safe-area-inset-bottom));
}
#service-panel .contact-card{
  width:100%;
  max-width:none;
  height:100%;
  align-content:center;
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}

/* 两类聊天均展示头像；客服会话时间精确到年月日时分秒。 */
#chat-panel .group-chat-message header{justify-content:space-between}
#chat-panel .group-chat-message header time{flex:0 0 auto}
#service-panel .player-message{
  display:grid;
  width:auto;
  max-width:88%;
  grid-template-columns:3rem minmax(0,1fr);
  align-items:start;
  gap:0.5rem;
}
#service-panel .player-message.mine{
  grid-template-columns:minmax(0,1fr) 3rem;
}
#service-panel .player-message.mine .player-message-identity{grid-row:1;grid-column:2}
#service-panel .player-message.mine>section{grid-row:1;grid-column:1;justify-items:end}
#service-panel .player-message-identity{
  display:grid;
  justify-items:center;
  gap:0.25rem;
}
#service-panel .player-message-identity>strong{
  display:block;
  width:3rem;
  overflow:hidden;
  color:var(--palette-muted, #70849b);
  font-size:0.75rem;
  font-weight:600;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#service-panel .player-message-avatar{
  display:grid;
  width:2.375rem;
  height:2.375rem;
  place-items:center;
  overflow:hidden;
  border-radius:0.75rem;
  color:#fff;
  background:linear-gradient(145deg,var(--palette-primary, #64bdff),var(--palette-primary, #247bea));
  font-size:0.875rem;
  font-weight:800;
}
#service-panel .player-message.theirs .player-message-avatar{
  background:linear-gradient(145deg,var(--palette-primary, #58c5ff),var(--palette-primary, #1677ff));
}
#service-panel .player-message-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
#service-panel .player-message-avatar svg{
  width:1.4375rem;
  height:1.4375rem;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}
#service-panel .player-message>section{display:grid;min-width:0;gap:0.25rem}
#service-panel .player-message>section>div{
  padding:0.625rem 0.8125rem;
  border-radius:0.25rem 0.9375rem 0.9375rem;
  color:var(--palette-text, #43617c);
  background:var(--palette-surface, #edf5fb);
  font-size:0.75rem;
  line-height:1.6;
  white-space:pre-wrap;
}
#service-panel .player-message>section>div>p{
  margin:0;
  color:inherit;
  font:inherit;
}
#service-panel .player-message.mine>section>div{
  border-radius:0.9375rem 0.25rem 0.9375rem 0.9375rem;
  color:#fff;
  background:linear-gradient(135deg,var(--palette-primary, #54b7f8),var(--palette-primary, #268be9));
}
#service-panel .player-message.revoked>section>div{
  color:var(--palette-muted, #8ca0b3);
  background:var(--palette-surface, #f1f4f6);
  font-style:italic;
}
#service-panel .player-message small{white-space:nowrap}

/* 上分收款二维码不再附加文字说明，直接在预览框内居中显示。 */
#finance-panel .payment-preview.image{
  display:grid;
  place-items:center;
  padding:0.75rem;
}
#finance-panel .payment-preview.image img{
  flex:none;
  margin:0;
}

/* 资金申请页顶部只切换充值与提现；申请记录和积分记录使用各自独立页面。 */
#finance-panel .finance-action-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0.625rem;
  margin:0.875rem 1.25rem 0;
  padding:0.3125rem;
  border-radius:1.0625rem;
  background:var(--palette-surface, #eaf0f7);
}
#finance-panel .finance-action-tabs>button{
  height:2.75rem;
  border:0;
  border-radius:0.8125rem;
  color:var(--palette-muted, #78879a);
  background:transparent;
  font-size:0.9375rem;
  font-weight:700;
}
#finance-panel .finance-action-tabs>button.active{
  color:#fff;
  background:var(--palette-primary, #1677ff);
  box-shadow:0 5px 13px rgba(var(--palette-shadow-rgb, 22,119,255),0.22);
}
@media(max-width:470px){
  #finance-panel .finance-action-tabs{margin-inline:0.75rem}
}

/* Player 全局关闭按下瞬间的触摸高亮；真正的 .active / 选中状态仍由原规则控制。 */
#app-view :is(button,a,label,[role="button"]),
#auth-view :is(button,a,label,[role="button"]),
#download-view :is(button,a,label,[role="button"]){
  -webkit-tap-highlight-color:transparent;
}
.game-keypad button:active{
  border-color:var(--palette-line, #d5e6f2)!important;
  color:var(--palette-text, #315775)!important;
  background:var(--palette-surface, #f7fbfe)!important;
}
.player-service-questions button:active{
  border-color:var(--palette-line, #d4e7f4)!important;
  color:var(--palette-accent, #397cae)!important;
  background:var(--palette-surface, #fff)!important;
}
.app-download-action:active{
  transform:none!important;
  box-shadow:0 14px 29px rgba(var(--palette-shadow-rgb, 39,128,203),0.24)!important;
}
.featured-room .room-rule-button:active{
  color:var(--palette-accent, #1677ff)!important;
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.9)!important;
}
.room-item .room-rule-button:active{
  color:var(--palette-accent, #267fbd)!important;
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.9)!important;
}
.game-quick-coins button:active{
  color:var(--palette-accent, #2f91d8)!important;
  background:var(--palette-surface, #eef8ff)!important;
}
#home-panel .home-game-tile:active{
  transform:none!important;
  box-shadow:none!important;
}
#notice-panel .notice-card:active{
  border-color:transparent!important;
  background:var(--palette-surface, #fff)!important;
  transform:none!important;
}

/* 房间顶部所有控件共用同一条水平中线。 */
.game-room-header{
  display:grid;
  height:3rem;
  min-height:3rem;
  grid-template-columns:1.75rem minmax(0,1fr) auto;
  align-items:center;
  gap:0.4375rem;
  padding:0 0.75rem;
}
.game-room-header>*{
  grid-row:1;
  align-self:center;
  margin-top:0;
  margin-bottom:0;
}
.game-room-back{
  display:grid;
  width:1.75rem;
  height:2rem;
  place-items:center;
  padding:0;
  line-height:1;
}
.game-room-back svg{
  display:block;
  width:1.25rem;
  height:1.25rem;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.game-room-name{
  display:flex;
  height:2rem;
  align-items:center;
  padding:0;
  border:0;
  color:inherit;
  background:transparent;
  text-align:left;
}
.game-room-name>strong{
  display:flex;
  height:2rem;
  flex:0 1 auto;
  align-items:center;
  max-width:calc(100% - 4.75rem);
  line-height:1;
}
.game-room-name>span{
  display:flex;
  height:1.5rem;
  align-items:center;
  padding-block:0;
  line-height:1;
}
.game-room-name>i{
  position:relative;
  display:block;
  width:1.125rem;
  height:1.125rem;
  flex:0 0 1.125rem;
  color:transparent;
  font-size:0;
}
.game-room-name>i:before{
  position:absolute;
  top:50%;
  left:50%;
  width:0.375rem;
  height:0.375rem;
  border-right:1.5px solid var(--palette-line, #687f9f);
  border-bottom:1.5px solid var(--palette-line, #687f9f);
  content:"";
  transform:translate(-50%,-50%) rotate(45deg);
  transition:transform .18s ease;
}
.game-room-name.open>i:before{transform:translate(-50%,-50%) rotate(225deg)}
.game-room-balance{
  height:2rem;
  margin-left:0;
  line-height:1;
}
.game-kk-top.room-menu-open{z-index:30;overflow:visible}
.game-room-menu{
  position:absolute;
  z-index:42;
  top:3rem;
  left:0.75rem;
  display:grid;
  width:min(16.875rem,calc(100% - 1.5rem));
  max-height:calc(100dvh - 4.25rem);
  overflow-y:auto;
  padding:0.5rem;
  border:1px solid var(--palette-line, #dce5ef);
  border-radius:0.375rem;
  background:var(--palette-surface, #fff);
  box-shadow:0 16px 36px rgba(var(--palette-shadow-rgb, 32,57,91),0.2);
  overscroll-behavior:contain;
}
.game-room-menu button{
  display:flex;
  width:100%;
  min-height:3.25rem;
  align-items:center;
  justify-content:space-between;
  gap:0.625rem;
  padding:0.625rem 1rem;
  border:0;
  border-radius:0.3125rem;
  color:var(--palette-text, #18304d);
  background:var(--palette-surface, #fff);
  text-align:left;
}
.game-room-menu button strong{font-size:1rem}
.game-room-menu button small{color:var(--palette-muted, #98a6b5);font-size:0.75rem;white-space:nowrap}
.game-room-menu button.active{color:#fff;background:var(--palette-primary, #168ff0)}
.game-room-menu button.active small{color:#fff}
.game-room-menu button:disabled{color:var(--palette-muted, #98a6b5);background:var(--palette-surface, #f5f7fa);opacity:1}

/* 放大开奖期号，并把圆球数字校准到视觉圆心。 */
.game-result-head{font-size:0.875rem}
#game-latest-number{font-size:0.75rem;font-weight:700}
.game-result-ball,
.game-result-ball.compact,
.game-result-ball.sum{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 0 0.125rem;
  line-height:1;
}
#game-aim-toggle{
  display:flex;
  min-height:1.875rem;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  padding:0.3125rem 0.6875rem;
  border:0;
  border-radius:62.4375rem;
  color:#fff;
  background:var(--palette-surface-raised, #879ac4);
  font-size:0.75rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.game-result{position:relative;overflow:visible}
.game-result .game-draw-balls{padding-left:1.25rem}
.game-result-line{display:flex;min-width:0;align-items:center}
.game-result-line .game-draw-balls{width:auto;flex:0 1 auto}
.game-recent-draw-toggle{
  display:grid;
  width:1.5rem;
  height:1.875rem;
  min-width:1.5rem;
  flex:0 0 1.5rem;
  place-items:center;
  margin-left:0.125rem;
  padding:0;
  border:0;
  color:var(--palette-muted, #607594);
  background:transparent;
}
.game-recent-draw-toggle>i{position:relative;width:0.75rem;height:1rem;flex:0 0 0.75rem}
.game-recent-draw-toggle>i:before{
  position:absolute;
  top:50%;
  left:50%;
  width:0.375rem;
  height:0.375rem;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  content:"";
  transform:translate(-50%,-50%) rotate(45deg);
  transition:transform .18s ease;
}
.game-recent-draw-toggle.open>i:before{transform:translate(-50%,-50%) rotate(225deg)}
.game-kk-top.draw-menu-open{z-index:30;overflow:visible}
.game-kk-top.draw-menu-open .game-draw-card{z-index:31;overflow:visible}
.game-recent-draws{
  position:absolute;
  z-index:43;
  top:calc(100% + 0.25rem);
  right:0;
  left:auto;
  width:min(29.75rem,calc(100vw - 1.5rem));
  max-height:min(32.5rem,calc(100dvh - 9.75rem));
  overflow-x:hidden;
  overflow-y:auto;
  padding:0;
  border:1px solid var(--palette-line, #dce5ef);
  border-radius:0.5rem;
  background:var(--palette-surface, #fff);
  box-shadow:0 16px 36px rgba(var(--palette-shadow-rgb, 32,57,91),0.2);
  overscroll-behavior:contain;
}
.game-recent-draws>header,.game-recent-draws article{display:grid;width:100%;min-width:0;grid-template-columns:22.5% 31.5% 9% 14% 11.5% 11.5%;align-items:center;box-sizing:border-box;text-align:center}
.game-recent-draws>header{position:sticky;z-index:2;top:0;min-height:2.8125rem;padding:0 0.5rem;color:#fff;background:var(--palette-primary, #168ff0)}
.game-recent-draws>header b{overflow:hidden;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}
.game-recent-draws>div{width:100%;min-width:0}
.game-recent-draws article{min-height:2.6875rem;padding:0 0.5rem;color:var(--palette-muted, #65748b);background:var(--palette-surface, #fff)}
.game-recent-draws article:nth-child(even){background:var(--palette-surface, #f5f7fb)}
.game-recent-draws article:last-child{border-bottom:0}
.game-recent-draws article>strong{overflow:visible;color:var(--palette-muted, #65748b);font-size:0.75rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:normal;text-align:center;white-space:nowrap}
.game-recent-draws article>span{overflow:hidden;font-size:0.75rem;white-space:nowrap}
.recent-draw-numbers{display:flex;align-items:center;justify-content:center;gap:0.125rem;white-space:nowrap}
.recent-draw-numbers em{color:var(--palette-text, #334862);font-size:0.75rem;font-style:normal}
.recent-draw-numbers i{display:grid;width:1.375rem;height:1.375rem;flex:0 0 1.375rem;place-items:center;border:2px solid var(--palette-focus, #168ff0);border-radius:50%;color:var(--palette-text, #17324f);background:var(--palette-surface, #fff);font-size:0.75rem;font-style:normal;font-weight:700;line-height:1}
.recent-draw-numbers i.red{border-color:var(--palette-focus, #ff5570)}
.game-recent-draws article>b{display:grid;width:1.375rem;height:1.375rem;place-items:center;justify-self:center;border-radius:50%;color:#fff;font-size:0.75rem}
.game-recent-draws article>b.blue{background:var(--palette-primary, #176bdf)}
.game-recent-draws article>b.green{background:var(--palette-green, #26c841)}
.game-recent-draws article>b.red{background:var(--palette-warm, #ff3f58)}
.recent-draw-two{display:flex;align-items:center;justify-content:center;gap:0.25rem}
.recent-draw-two i{font-style:normal}
.recent-draw-two i.red{color:var(--palette-danger, #ff304e)}
.recent-draw-two i.blue{color:var(--palette-accent, #1688df)}
.game-recent-draws article>span.shape{color:var(--palette-danger, #e4a900);font-weight:700}
.game-recent-draws>.empty{min-height:7.5rem}
@media(max-width:400px){.recent-draw-numbers{gap:0.0625rem}.recent-draw-numbers i{width:1.125rem;height:1.125rem;flex-basis:1.125rem;font-size:0.75rem}.recent-draw-numbers em{font-size:0.75rem}.game-recent-draws article>b{width:1.1875rem;height:1.1875rem;font-size:0.75rem}}

/* 下注区底部操作按钮缩短三分之一；快捷金额保持正圆。 */
.game-submit-actions button{min-height:2.8125rem!important}
.game-quick-coins button{width:2.875rem!important;height:2.875rem!important;min-width:2.875rem!important;min-height:2.875rem!important;flex:0 0 2.875rem;box-sizing:border-box}
@media(max-width:470px){.game-submit-actions button{min-height:2.75rem!important}.game-quick-coins button{width:2.5rem!important;height:2.5rem!important;min-width:2.5rem!important;min-height:2.5rem!important;flex-basis:2.5rem}}
@media(max-height:800px){.game-submit-actions button{min-height:2.4375rem!important}}
@media(max-width:360px){.game-quick-coins button{width:2.25rem!important;height:2.25rem!important;min-width:2.25rem!important;min-height:2.25rem!important;flex-basis:2.25rem}}

/* 房间倒计时只计算到封盘点，封盘后显示开奖状态。 */
.game-countdown>span{display:grid;min-width:4.875rem;height:1.625rem;place-items:center;color:var(--palette-muted, #607594);font-size:1rem;font-weight:800;white-space:nowrap}
@media(max-width:470px){.game-countdown>span{min-width:4.125rem;height:1.4375rem;font-size:0.875rem}}

/* 房间下注记录始终保留筛选栏；加载、空数据和错误共用剩余区域。 */
.game-history-card.direct-records{height:100%;min-height:100%;overflow:visible;margin:0!important;border:0;border-radius:0;background:transparent;box-shadow:none}
.game-history-content.direct-records{display:flex;height:100%;min-height:100%;padding:0}
.game-room-bet-records{display:flex;min-height:100%;flex:1;flex-direction:column}
.game-room-bet-records .finance-request-filter{flex:0 0 auto;padding:0.75rem 0.75rem 0.5rem}
.game-room-bet-records .player-record-list{flex:1;padding:0.125rem 0.75rem 1.5rem}
/* 有记录时按内容高度排列，避免网格把少量记录拉伸到整个剩余视口。 */
.game-room-bet-records .bet-record-list:not(.empty-records){align-content:start}
.empty{display:grid;place-items:center}
.bet-record-list.empty-records{display:grid;min-height:calc(100dvh - 11.875rem);place-items:center;padding:1.25rem}
.game-room-bet-records .bet-record-list.empty-records{min-height:15rem;flex:1}
.bet-record-list.empty-records>.empty{width:100%;padding:0}
.game-history-state{width:100%;min-height:15rem;flex:1;padding:1.25rem}
.group-chat-messages>.empty,.game-room-chat-messages>.empty{width:100%;height:100%;flex:1}
.game-cancel-button svg{display:block;width:1.1875rem;height:1.1875rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.game-submit-actions .game-cancel-button{justify-items:center;text-align:center}
.game-submit-actions .game-cancel-button>i{display:grid;width:100%;place-items:center}

/* 走势图使用固定10列表格，不显示原来的最近开奖卡片标题。 */
.game-history-card.trend-records{overflow:visible;margin:0!important;border:0;border-radius:0;background:transparent;box-shadow:none}
.game-history-content.trend-records{display:block;padding:0;background:var(--palette-surface, #fff)}
.game-trend-table{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--palette-surface, #fff)}
.game-trend-table col.period{width:18%}
.game-trend-table col.value{width:8%}
.game-trend-table col.mark{width:9.25%}
.game-trend-table th,.game-trend-table td{height:2.625rem;overflow:hidden;padding:0.1875rem 0.0625rem;border-bottom:1px solid var(--palette-line, #e4eaf2);color:var(--palette-muted, #566b87);font-size:0.75rem;text-align:center;white-space:nowrap}
.game-trend-table thead th{position:sticky;z-index:2;top:0;height:2.5rem;color:#fff;background:var(--palette-primary, #168ff0);font-size:0.75rem;font-weight:700}
.game-trend-table tbody tr:nth-child(even){background:var(--palette-surface, #f4f7fb)}
.game-trend-table td:first-child{color:var(--palette-text, #38536f);font-size:0.75rem;font-variant-numeric:tabular-nums;font-weight:700}
.game-trend-table td:nth-child(2){color:var(--palette-text, #173b5f);font-size:0.75rem;font-variant-numeric:tabular-nums;font-weight:800}
.game-trend-table i{display:inline-grid;width:1.1875rem;height:1.1875rem;place-items:center;font-style:normal;line-height:1}
.game-trend-table i.hit{border-radius:50%;background:var(--palette-green, #28b66f);box-shadow:inset 0 0 0 1px rgba(var(--palette-shadow-rgb, 0,0,0),0.04)}
.game-trend-table i.miss{color:var(--palette-danger, #ed4056);font-size:1.25rem;font-weight:500}
@media(max-width:400px){.game-trend-table th,.game-trend-table td{font-size:0.75rem}.game-trend-table td:first-child{font-size:0.75rem}.game-trend-table i{width:1.0625rem;height:1.0625rem}.game-trend-table i.miss{font-size:1.125rem}}

/* 仅PK10类游戏放大顶部开奖号码，并使用正方形外框。 */
.game-result-line .game-draw-balls.pk10-results{gap:0.1875rem;padding-left:0.5rem}
.game-result-ball.compact.pk10{width:1.5rem;min-width:1.5rem;max-width:1.5rem;height:1.5rem;flex:0 0 1.5rem;aspect-ratio:auto;border-width:2px;border-radius:0.1875rem;font-size:0.75rem;font-weight:800}
@media(max-width:470px){.game-result-line .game-draw-balls.pk10-results{gap:0.125rem;padding-left:0.25rem}.game-result-ball.compact.pk10{width:1.125rem;min-width:1.125rem;max-width:1.125rem;height:1.125rem;flex-basis:1.125rem;border-width:1.5px;border-radius:0.125rem;font-size:0.75rem}}

/* PK10下拉开奖记录只保留期号和方形开奖号码。 */
.game-recent-draws.pk10>header,.game-recent-draws.pk10 article{grid-template-columns:28% 72%}
.game-recent-draws.pk10>header b{font-size:0.8125rem}
.game-recent-draws.pk10 article>strong{font-size:0.75rem;text-align:center}
.game-recent-draws.pk10 .recent-draw-numbers.pk10{justify-content:flex-start;gap:0.1875rem;overflow:visible;padding-left:0.25rem}
.game-recent-draws.pk10 .recent-draw-numbers.pk10 i{width:1.625rem;height:1.625rem;flex:0 0 1.625rem;border:2px solid var(--palette-focus, #168ff0);border-radius:0.1875rem;color:var(--palette-text, #17324f);font-size:0.75rem}
@media(max-width:400px){.game-recent-draws.pk10>header,.game-recent-draws.pk10 article{grid-template-columns:30% 70%}.game-recent-draws.pk10>header b{font-size:0.75rem}.game-recent-draws.pk10 article>strong{font-size:0.75rem}.game-recent-draws.pk10 .recent-draw-numbers.pk10{gap:0.0625rem;padding-left:0.125rem}.game-recent-draws.pk10 .recent-draw-numbers.pk10 i{width:1.375rem;height:1.375rem;flex-basis:1.375rem;border-width:1.5px;border-radius:0.125rem;font-size:0.75rem}}

/* PK10走势图按冠、亚到第十名直接展示号码。 */
.game-trend-table.pk10 col.period{width:22%}
.game-trend-table.pk10 col.rank{width:7.8%}
.game-trend-table.pk10 th,.game-trend-table.pk10 td{padding-inline:0}
.game-trend-table.pk10 td:first-child{font-size:0.75rem}
.game-trend-table.pk10 td:not(:first-child){color:var(--palette-text, #173b5f);font-size:0.75rem;font-variant-numeric:tabular-nums;font-weight:800}
@media(max-width:400px){.game-trend-table.pk10 col.period{width:25%}.game-trend-table.pk10 col.rank{width:7.5%}.game-trend-table.pk10 td:not(:first-child){font-size:0.75rem}}

/* 两处下注记录共用房间筛选，房间内默认当前房间，个人中心默认全部。 */
.bet-room-filter{display:block;width:100%;padding:0.625rem 1.25rem 0.25rem;color:var(--palette-muted, #607594);font-size:0.8125rem}
.bet-room-filter select{display:block;width:100%;height:2.625rem;min-width:0;padding:0 2.25rem 0 0.8125rem;border:1px solid var(--palette-line, #d8e4ef);border-radius:0.75rem;outline:0;color:var(--palette-text, #405570);background:var(--palette-surface, #fff);font-size:0.875rem}
.bet-room-filter select:focus{border-color:var(--palette-focus, #287ff0);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 40,127,240),0.12)}
.game-room-bet-records .bet-room-filter{padding:0 0.75rem 0.5rem}
.bet-filter-empty{min-height:13.75rem;place-items:center}

/* PK10顶部方框内数字水平、垂直居中。 */
.game-result-ball.compact.pk10{display:inline-flex!important;align-items:center;justify-content:center;padding:0!important;line-height:1!important;text-align:center}

/* 快3类顶部开奖号码使用三枚无加号的骰子，末尾和值保持原样。 */
.game-result-line .game-draw-balls.k3-results{gap:0.4375rem;padding-left:0.75rem}
.game-die{position:relative;display:block;width:1.9375rem;height:1.9375rem;flex:0 0 1.9375rem;border:2px solid var(--palette-focus, #168ff0);border-radius:0.4375rem;background:var(--palette-surface, #fff);box-shadow:0 2px 5px rgba(var(--palette-shadow-rgb, 30,91,145),0.12)}
.game-die>i{position:absolute;width:0.3125rem;height:0.3125rem;border-radius:50%;background:var(--palette-primary, #173b5f);transform:translate(-50%,-50%)}
.game-die>i.tl{top:27%;left:27%}.game-die>i.tr{top:27%;left:73%}
.game-die>i.ml{top:50%;left:27%}.game-die>i.mm{top:50%;left:50%}.game-die>i.mr{top:50%;left:73%}
.game-die>i.bl{top:73%;left:27%}.game-die>i.br{top:73%;left:73%}
.game-die>span{display:grid;width:100%;height:100%;place-items:center;color:var(--palette-text, #173b5f);font-size:0.8125rem;font-weight:800}
@media(max-width:470px){.game-result-line .game-draw-balls.k3-results{gap:0.3125rem;padding-left:0.4375rem}.game-die{width:1.6875rem;height:1.6875rem;flex-basis:1.6875rem;border-radius:0.375rem}.game-die>i{width:0.25rem;height:0.25rem}}

/* 快3下拉开奖表保留期号、骰子、总额、两面和形态。 */
.game-recent-draws.k3>header,.game-recent-draws.k3 article{grid-template-columns:23% 31% 14% 18% 14%}
.game-recent-draws.k3>header b{font-size:0.75rem}
.game-recent-draws.k3 article>strong{font-size:0.75rem;text-align:center}
.game-recent-draws.k3 .recent-draw-dice{display:flex;align-items:center;justify-content:center;gap:0.1875rem}
.game-recent-draws.k3 .recent-draw-dice .game-die{width:1.625rem;height:1.625rem;flex-basis:1.625rem;border-width:1.5px;border-radius:0.3125rem}
.game-recent-draws.k3 .recent-draw-dice .game-die>i{width:0.25rem;height:0.25rem}

/* 时时彩顶部放大五个正圆开奖号码，并在末尾显示和值。 */
.game-result-line .game-draw-balls.ssc-results{gap:0.3125rem;padding-left:0.5625rem}
.game-result-ball.compact.ssc{display:inline-flex!important;width:1.875rem;min-width:1.875rem;max-width:1.875rem;height:1.875rem;flex:0 0 1.875rem;align-items:center;justify-content:center;padding:0!important;aspect-ratio:1;border-width:2px;border-radius:50%;font-size:0.9375rem;font-weight:800;line-height:1}
.ssc-results .game-result-ball.sum{width:1.875rem;min-width:1.875rem;height:1.875rem;flex:0 0 1.875rem;font-size:0.875rem}
@media(max-width:470px){.game-result-line .game-draw-balls.ssc-results{gap:0.125rem;padding-left:0.25rem}.game-result-ball.compact.ssc,.ssc-results .game-result-ball.sum{width:1.5rem;min-width:1.5rem;max-width:1.5rem;height:1.5rem;flex-basis:1.5rem;font-size:0.75rem}.ssc-results>i{font-size:0.8125rem}}

/* 时时彩下拉开奖记录只显示期号、开奖号码、总和与两面。 */
.game-recent-draws.ssc>header,.game-recent-draws.ssc article{grid-template-columns:25% 43% 14% 18%}
.game-recent-draws.ssc>header b{font-size:0.75rem}
.game-recent-draws.ssc article>strong{font-size:0.75rem;text-align:center}
.game-recent-draws.ssc .recent-draw-numbers.ssc{gap:0.25rem;overflow:visible}
.game-recent-draws.ssc .recent-draw-numbers.ssc i{width:1.625rem;height:1.625rem;flex:0 0 1.625rem;border:2px solid var(--palette-focus, #168ff0);border-radius:50%;font-size:0.75rem}
.game-recent-draws.ssc article>b.invalid{color:var(--palette-muted, #65748b);background:transparent}
@media(max-width:400px){.game-recent-draws.ssc>header,.game-recent-draws.ssc article{grid-template-columns:27% 43% 12% 18%}.game-recent-draws.ssc .recent-draw-numbers.ssc{gap:0.125rem}.game-recent-draws.ssc .recent-draw-numbers.ssc i{width:1.375rem;height:1.375rem;flex-basis:1.375rem;font-size:0.75rem}}

/* 时时彩走势图展示五个号码、和值、龙虎和三段形态。 */
.game-trend-table.ssc col.period{width:20%}
.game-trend-table.ssc col.numbers{width:30%}
.game-trend-table.ssc col.total{width:8%}
.game-trend-table.ssc col.dragon{width:8%}
.game-trend-table.ssc col.shape{width:11.33%}
.game-trend-table.ssc th,.game-trend-table.ssc td{padding-inline:0;font-size:0.75rem}
.game-trend-table.ssc td:first-child{font-size:0.75rem}
.game-trend-table.ssc td:nth-child(n+3){color:var(--palette-text, #173b5f);font-weight:700}
.ssc-trend-numbers{display:flex;align-items:center;justify-content:center;gap:0.1875rem}
.game-trend-table .ssc-trend-numbers i{display:grid;width:1.375rem;height:1.375rem;place-items:center;border:1.5px solid var(--palette-focus, #168ff0);border-radius:50%;color:var(--palette-text, #17324f);background:var(--palette-surface, #fff);font-size:0.75rem;font-style:normal;font-weight:700}
@media(max-width:400px){.game-trend-table.ssc col.period{width:20%}.game-trend-table.ssc col.numbers{width:28%}.game-trend-table.ssc th,.game-trend-table.ssc td{font-size:0.75rem}.game-trend-table.ssc td:first-child{font-size:0.75rem}.ssc-trend-numbers{gap:0.0625rem}.game-trend-table .ssc-trend-numbers i{width:1.125rem;height:1.125rem;font-size:0.75rem}}

/* 所有玩法的走势图表头统一为手机端也清晰可读的字号。 */
.game-trend-table thead th,.game-trend-table.pk10 thead th,.game-trend-table.ssc thead th{font-size:0.75rem}

/* 时时彩走势图的数据文字整体放大，五个开奖号码同步增大。 */
.game-trend-table.ssc tbody td{font-size:0.8125rem}
.game-trend-table.ssc tbody td:first-child{font-size:0.875rem}
.game-trend-table.ssc .ssc-trend-numbers{gap:0.125rem}
.game-trend-table.ssc .ssc-trend-numbers i{width:1.625rem;height:1.625rem;font-size:0.8125rem}
@media(max-width:400px){.game-trend-table.ssc col.numbers{width:30%}.game-trend-table.ssc col.total{width:8%}.game-trend-table.ssc col.dragon{width:8%}.game-trend-table.ssc tbody td{font-size:0.75rem}.game-trend-table.ssc tbody td:first-child{font-size:0.75rem}.game-trend-table.ssc .ssc-trend-numbers{gap:0.0625rem}.game-trend-table.ssc .ssc-trend-numbers i{width:1.375rem;height:1.375rem;font-size:0.75rem}}

/* 所有玩法的走势图期号不再使用难以辨认的小字号。 */
.game-trend-table tbody td:first-child{font-size:0.75rem}

/* 瞄牌弹层复用顶部开奖号码，并以高分屏画布实现手指刮开。 */
.game-aim-dialog{position:fixed;z-index:58;inset:0;display:grid;place-items:center;padding:clamp(1rem,4vw,1.75rem);background:rgba(var(--palette-overlay-rgb, 22,29,37),0.7);backdrop-filter:blur(.4rem);-webkit-backdrop-filter:blur(.4rem)}
.game-aim-card{width:min(100%,26rem);overflow:hidden;border-radius:1.35rem;background:var(--palette-surface, #fff);box-shadow:0 1.5rem 4rem rgba(var(--palette-shadow-rgb, 0,0,0),0.28)}
.game-aim-card>header{display:flex;min-height:4rem;align-items:center;justify-content:space-between;padding:0 1.35rem;color:#fff;background:linear-gradient(115deg,var(--palette-primary, #128df5),var(--palette-green, #18a8a4))}
.game-aim-card>header strong{font-size:clamp(1.25rem,5vw,1.55rem);font-weight:800}
.game-aim-card>header button{display:grid;width:2.65rem;height:2.65rem;place-items:center;padding:0;border:0;border-radius:50%;color:#fff;background:rgba(var(--palette-surface-rgb, 255,255,255),0.18)}
.game-aim-card>header button>i{position:relative;display:block;width:1.35rem;height:1.35rem}
.game-aim-card>header button>i:before,.game-aim-card>header button>i:after{position:absolute;top:50%;left:50%;width:1.35rem;height:.16rem;border-radius:999rem;background:currentColor;content:"";transform:translate(-50%,-50%) rotate(45deg)}
.game-aim-card>header button>i:after{transform:translate(-50%,-50%) rotate(-45deg)}
.game-aim-body{padding:clamp(1.1rem,4vw,1.35rem)}
.game-aim-board{position:relative;display:grid;width:100%;height:clamp(13.5rem,56vw,15rem);place-items:center;overflow:hidden;border:.0625rem solid var(--palette-line, #d9e5f0);border-radius:1.15rem;background:var(--palette-surface, #f7fbff)}
.game-aim-result{display:grid;width:100%;place-items:center;gap:.85rem;padding:1rem;color:var(--palette-text, #17324f);text-align:center}
.game-aim-result>strong{font-size:clamp(1rem,4vw,1.15rem);font-weight:800}
.game-aim-result>span{padding:.42rem .8rem;border-radius:999rem;color:var(--palette-success, #13814d);background:var(--palette-surface, #e8f8ef);font-size:.92rem;font-weight:800}
.game-aim-result-line{width:100%;justify-content:center;overflow:visible}
.game-aim-result-line .game-aim-numbers{width:100%;flex:1 1 auto;justify-content:center;overflow:visible;padding:0!important}
.game-aim-result-line .game-draw-balls.pk10-results{flex-wrap:wrap;justify-content:center;padding:0}
.game-aim-result-line .game-draw-balls.k3-results,.game-aim-result-line .game-draw-balls.ssc-results{justify-content:center;padding:0}
#game-aim-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .18s ease}
.game-aim-board.opened #game-aim-canvas{pointer-events:none;opacity:0}
#game-aim-hint{min-height:1.5rem;margin:1rem 0 .75rem;color:var(--palette-muted, #708096);font-size:clamp(.95rem,3.8vw,1.05rem);text-align:center}
#game-aim-reset{width:100%;min-height:3.25rem;border:0;border-radius:.9rem;color:#fff;background:var(--palette-primary, #168ff0);font-size:1.1rem;font-weight:800}
html:has(.game-aim-dialog:not([hidden])),body:has(.game-aim-dialog:not([hidden])){overflow:hidden}
@media(max-width:24rem){.game-aim-dialog{padding:.75rem}.game-aim-card>header{min-height:3.6rem;padding-inline:1rem}.game-aim-body{padding:1rem}.game-aim-board{height:13rem}.game-aim-result-line .game-draw-balls.pk10-results{gap:.12rem}.game-aim-result-line .game-result-ball.compact.pk10{width:1.22rem;min-width:1.22rem;max-width:1.22rem;height:1.22rem;flex-basis:1.22rem;font-size:0.75rem}}

/* 下注记录日期筛选的未选项保留按钮边界。 */
.finance-bet-period button{border:1px solid var(--palette-line, #cbd9e8)}
.finance-bet-period button:not(.active){color:var(--palette-text, #45556a);background:var(--palette-surface, #fff);box-shadow:0 1px 3px rgba(var(--palette-shadow-rgb, 48,82,119),0.06)}
.finance-bet-period button.active{border-color:var(--palette-focus, #287ff0)}

/* 四档快捷金额编辑器从页面底部升起，所有玩法共用。 */
.game-coin-editor{position:fixed;z-index:55;inset:0;display:flex;align-items:flex-end;justify-content:center;background:rgba(var(--palette-overlay-rgb, 18,30,45),0.68)}
.game-coin-editor-card{width:min(31.25rem,100%);overflow:hidden;padding:0 1.25rem calc(1.125rem + env(safe-area-inset-bottom));border-radius:1.375rem 1.375rem 0 0;background:var(--palette-surface, #fff);box-shadow:0 -16px 40px rgba(var(--palette-shadow-rgb, 14,38,66),0.24);animation:game-coin-editor-in .18s ease-out}
.game-coin-editor-card>header{display:flex;height:3.25rem;align-items:center;justify-content:space-between;margin:0 -1.25rem;padding:0 1.25rem;color:#fff;background:var(--palette-primary, #0d89f5)}
.game-coin-editor-card>header strong{font-size:1.0625rem}
.game-coin-editor-card>header button{display:grid;width:2.25rem;height:2.25rem;place-items:center;padding:0;border:0;color:#fff;background:transparent;line-height:1}
.game-coin-editor-card>header button>i{display:block;width:0.5625rem;height:0.5625rem;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:translateY(-0.125rem) rotate(45deg)}
.game-coin-editor-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.625rem;padding:1.25rem 0}
.game-coin-editor-inputs input{width:100%;height:3.125rem;min-width:0;padding:0 0.375rem;border:1px solid var(--palette-line, #e3e8f2);border-radius:0.5rem;outline:0;color:var(--palette-text, #34445c);background:var(--palette-surface, #eef1fb);font-size:1rem;font-weight:800;text-align:center}
.game-coin-editor-inputs input:focus{border-color:var(--palette-focus, #168ff0);box-shadow:0 0 0 3px rgba(var(--palette-shadow-rgb, 22,143,240),0.12)}
.game-coin-editor-card>footer{display:grid;grid-template-columns:1fr 1fr;gap:1.125rem}
.game-coin-editor-card>footer button{height:3.125rem;border:0;border-radius:0.5625rem;font-size:1.0625rem;font-weight:800}
#game-coin-editor-reset{color:var(--palette-muted, #68758b);background:var(--palette-surface, #eceffa)}
#game-coin-editor-save{color:#fff;background:var(--palette-primary, #0d89f5)}
html:has(.game-coin-editor:not([hidden])),body:has(.game-coin-editor:not([hidden])){overflow:hidden}
@keyframes game-coin-editor-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(max-width:360px){.game-coin-editor-inputs{gap:0.375rem}.game-coin-editor-card>footer{gap:0.625rem}}

/* 非PC28玩法收起时，底部只保留展开专业下注区的入口，不提供命令下注。 */
.game-mode-toggle>i.collapse-icon:before{display:block;width:1.125rem;height:1.125rem;border-right:2px solid var(--palette-line, #fff);border-bottom:2px solid var(--palette-line, #fff);content:"";transform:translateY(-0.25rem) rotate(45deg)}
.game-command-dock.expand-only{grid-template-columns:minmax(0,1fr)}
.game-command-dock.expand-only input{cursor:pointer;color:var(--palette-accent, #1688df);background:var(--palette-surface, #f7fbff);text-align:center;font-weight:700}

/* 内置客服可发送图片；公共群聊仅渲染运营图片，不改变玩家文字发送入口。 */
.player-service-send-actions{display:grid;min-width:8.125rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem}
.player-service-send-actions>button{width:100%;min-width:0;padding-inline:0.5rem}
.player-service-image-button{border:1px solid var(--palette-line, #d4e5f2);border-radius:0.75rem;color:var(--palette-accent, #397cae);background:var(--palette-surface, #f7fbfe);font-size:0.75rem;font-weight:800}
.player-service-image-button:disabled{opacity:.55;cursor:wait}
.player-service-message-image,.player-chat-image{display:block;width:auto;max-width:min(100%,20rem);max-height:20rem;object-fit:contain;border-radius:0.75rem}
#service-panel .player-message>section>div:has(>.player-service-message-image){padding:0.375rem;white-space:normal}
.player-service-message-image{background:var(--palette-surface, #fff)}
.player-chat-image{border:1px solid var(--palette-line, #d8e8f3);background:var(--palette-surface, #f6fbfe)}
.group-chat-message.mine .player-chat-image{justify-self:end}
@media(max-width:470px){.player-service-send-actions{width:100%}.player-service-message-image,.player-chat-image{max-height:16.25rem}}

/* 客服编辑栏始终把输入框约束在剩余空间内，避免固有宽度将操作按钮推出页面。 */
#service-panel .chat-card>form{
  min-width:0;
  grid-template-columns:minmax(0,1fr) auto;
}
#service-panel .chat-card>form>textarea{
  width:100%;
  min-width:0;
}
#service-panel .player-service-send-actions{
  min-width:8.125rem;
  max-width:100%;
}

/* 身份信息不是消息气泡：昵称位于头像上方，并与相邻气泡保持为同一组。 */
#service-panel .player-message>.player-message-identity,
#service-panel .player-message.mine>.player-message-identity{
  padding:0;
  border-radius:0;
  color:var(--palette-muted, #70849b);
  background:transparent;
  font-size:inherit;
  line-height:normal;
  white-space:normal;
}
#service-panel .player-message-identity>strong{
  width:100%;
  overflow-x:auto;
  color:var(--palette-muted, #70849b);
  text-overflow:clip;
  scrollbar-width:none;
}
#service-panel .player-message-identity>strong::-webkit-scrollbar{display:none}

/* 全局轻提示始终高于业务弹窗、确认层和图片查看器。 */
.toasts{z-index:2147483647}

/* 验证码只在图片完整解码后显示，刷新与失败期间使用稳定占位。 */
.captcha-image .captcha-status{
  position:absolute;
  z-index:1;
  inset:0;
  display:grid;
  place-items:center;
  padding:0 0.5rem;
  color:var(--palette-text, #53677a);
  background:var(--palette-surface, #fff);
  font-size:0.8125rem;
  font-weight:700;
  line-height:1.25;
  text-align:center;
}

/* 聊天编辑栏使用紧凑的等高控件，发送按钮保持圆角矩形。 */
#chat-panel .group-chat-form,
#service-panel .chat-card>form{align-items:end}
#chat-panel .group-chat-form>textarea,
#service-panel .chat-card>form>textarea{
  height:2.75rem;
  min-height:2.75rem;
  padding:0.625rem 0.75rem;
  border-radius:0.75rem;
  line-height:1.5;
}
#chat-panel #chat-send,
#service-panel .player-service-send-actions,
#service-panel .player-service-send-actions>button{
  height:2.75rem;
  min-height:2.75rem;
}
#chat-panel #chat-send,
#service-panel .player-service-send-actions>button{border-radius:0.75rem}

/* 首页与游戏页的轮播图、公告栏使用相同的紧凑间距。 */
:is(#home-panel,#game-panel)>.home-user-card{
  padding-top:clamp(0.375rem,1.8vw,0.5rem);
}

.auth-view.has-platform-background{
  background-color:transparent;
  background-image:var(--player-platform-background);
  background-repeat:repeat-y;
  background-position:center top;
  background-size:100% auto;
  background-attachment:scroll;
}
#app-view.has-platform-background>.page-scroll{
  background-color:var(--palette-surface, #eef3f9);
  background-image:linear-gradient(rgba(var(--palette-surface-rgb, 243,246,250),0.34),rgba(var(--palette-surface-rgb, 238,243,249),0.34)),var(--player-platform-background);
  background-repeat:no-repeat,repeat-y;
  background-position:center top;
  background-size:100% 100%,100% auto;
  background-attachment:scroll;
}
#app-view.has-platform-background .tab-panel{background:transparent}
.auth-view.has-platform-background .auth-shell{
  background:transparent;
  backdrop-filter:none;
}
button.is-busy{position:relative;color:transparent!important;pointer-events:none}
button.is-busy>*{visibility:hidden!important}
button.is-busy:after{position:absolute;top:50%;left:50%;width:1em;height:1em;border:2px solid currentColor;border-color:var(--palette-line, #fff) var(--palette-line, #fff) transparent transparent;border-radius:50%;content:"";animation:shared-button-spin .7s linear infinite;transform:translate(-50%,-50%)}
@keyframes shared-button-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* 房间消息直接复用公共聊天室气泡，仅 @昵称 使用提示色。 */
.group-chat-messages>.group-chat-message,
.game-room-chat-messages>.group-chat-message{flex:0 0 auto}
.group-chat-message:not(.mine):not(.operator) p{border:1px solid var(--palette-line, #b7dfca);color:var(--palette-success, #315b49);background:var(--palette-surface-soft, #dff4e9);box-shadow:0 3px 10px rgba(var(--palette-shadow-rgb, 48,105,78),0.08)}
.group-chat-message.mine p{border-color:var(--palette-focus, #1677ff);color:#fff;background:var(--palette-primary, #1677ff)}
.group-chat-message.operator p{border:1px solid var(--palette-line, #b6d5f5);color:var(--palette-text, #315a82);background:var(--palette-surface, #e4f1ff);box-shadow:0 3px 10px rgba(var(--palette-shadow-rgb, 49,90,130),0.08)}
.group-chat-message.operator header strong{display:inline-flex;min-width:0;align-items:center;gap:0.3125rem}
.group-chat-message.operator header strong:after{display:inline-flex;height:1.125rem;flex:0 0 auto;align-items:center;padding:0 0.375rem;border-radius:62.4375rem;color:var(--palette-accent, #2876bd);background:var(--palette-surface-soft, #d3e9ff);content:"管理员";font-size:0.75rem;font-weight:800;line-height:1}
.game-room-chat-messages .room-chat-mention{display:inline;color:var(--palette-accent, #237fbc);font-weight:900}
.game-kk-top{flex-basis:15.25rem}
.game-room-notice{height:2.125rem;min-height:2.125rem;margin:0.25rem 0.75rem 0;padding:0.25rem 0.6875rem;border-radius:0.75rem}
.game-room-notice .notice-icon{width:1.375rem;height:1.375rem;background:transparent;color:var(--palette-accent, #1677ff)}
.game-room-notice p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:470px){.game-kk-top{flex-basis:14.8125rem}}
@media(max-height:800px){.game-kk-top{flex-basis:13.5rem}.game-room-notice{height:1.875rem;min-height:1.875rem}}

/* 群投模式没有页面标签栏，顶部区域同步收起，聊天内容直接衔接开奖区。 */
.game-kk-top.compact{height:auto;min-height:0;flex:0 0 auto;margin:0;padding:0}
.game-kk-top.compact>.game-page-tabs[hidden]{display:none!important;height:0;min-height:0;margin:0;padding:0}

/* 品牌区统一使用方形 LOGO，靠左排列并在右侧显示平台名称。 */
:root{
  --player-brand-logo-size:clamp(2.125rem,8.8vw,2.75rem);
  --player-brand-left:clamp(0.5rem,2.4vw,0.75rem);
  --player-brand-gap:clamp(0.375rem,1.8vw,0.5625rem);
}
:is(#home-panel,#game-panel) .topbar-logo{
  left:var(--player-brand-left);
  width:auto;
  max-width:calc(100% - 7rem);
  gap:var(--player-brand-gap);
  justify-content:flex-start;
}
:is(#home-panel,#game-panel) .topbar-logo img{
  width:var(--player-brand-logo-size);
  height:var(--player-brand-logo-size);
  flex:0 0 var(--player-brand-logo-size);
  aspect-ratio:1;
  object-fit:contain!important;
  object-position:left center!important;
}
:is(#home-panel,#game-panel) .topbar-logo strong{
  position:static;
  width:auto;
  height:auto;
  max-width:calc(100% - var(--player-brand-logo-size) - var(--player-brand-gap));
  overflow:hidden;
  clip-path:none;
  color:var(--palette-text, #26354b);
  font-size:clamp(0.875rem,3.8vw,1.0625rem);
  font-weight:750;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.game-lobby-logo{justify-content:flex-start}
.game-lobby-logo img{object-position:left center!important}
.game-lobby-logo{width:2.875rem}
.game-lobby-logo img{width:2.6875rem;height:2.6875rem;flex-basis:2.6875rem;aspect-ratio:1;object-fit:contain!important}
@media(max-width:499px){.game-lobby-logo{width:2.25rem}.game-lobby-logo img{width:1.9375rem;height:1.9375rem;flex-basis:1.9375rem}}

/* 登录与注册沿用大厅品牌区的尺寸、左距与名称排列。 */
.auth-brand{
  position:absolute;
  z-index:1;
  top:calc((var(--player-topbar-height) - var(--player-brand-logo-size))/2);
  right:auto;
  left:var(--player-brand-left);
  width:auto;
  max-width:calc(100% - 6rem);
  height:var(--player-brand-logo-size);
  flex-direction:row;
  gap:var(--player-brand-gap);
  margin:0;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
}
.auth-brand .brand-mark{
  width:var(--player-brand-logo-size);
  height:var(--player-brand-logo-size);
  flex:0 0 var(--player-brand-logo-size);
  aspect-ratio:1;
}
.auth-brand .brand-mark img{width:100%;height:100%;object-fit:contain!important;object-position:left center!important}
.auth-brand>div{
  position:static;
  width:auto;
  height:auto;
  overflow:hidden;
  clip-path:none;
  white-space:normal;
}
.auth-brand>div small{display:none}
.auth-brand>div strong{
  display:block;
  overflow:hidden;
  color:var(--palette-text, #26354b);
  font-size:clamp(0.875rem,3.8vw,1.0625rem);
  font-weight:750;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.auth-close{
  width:2rem;
  height:2rem;
  border:1px solid rgba(var(--palette-focus-rgb, 83,124,176),0.5);
  border-radius:50%;
  color:var(--palette-text, #526982);
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.72);
  box-shadow:0 3px 10px rgba(var(--palette-shadow-rgb, 45,79,119),0.14);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  font-size:1.5rem;
}
.auth-card{
  position:relative;
  display:flex;
  width:calc(100% + 2rem);
  flex-direction:column;
  margin-inline:-1rem;
  padding:1rem;
  border:1px solid rgba(var(--palette-focus-rgb, 83,124,176),0.45);
  border-radius:1.375rem;
  background:rgba(var(--palette-surface-rgb, 255,255,255),0.28);
  box-shadow:0 10px 28px rgba(var(--palette-shadow-rgb, 45,79,119),0.12);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
@media(max-width:420px){
  .auth-card{width:calc(100% + 1.5rem);margin-inline:-0.75rem;padding:0.75rem}
}

/* 有平台背景图时，游戏列表的内容层保持透明，背景从顶部连续铺满。 */
#app-view.has-platform-background #game-panel:not([hidden]),
#app-view.has-platform-background #game-panel>.room-list{background:transparent}

/* 首页与游戏大厅共用同一套品牌栏、轮播和滚动公告；剩余高度自动交给游戏列表。 */
#game-panel{
  --home-gutter:clamp(0.75rem,3.2vw,1rem);
  --home-radius:clamp(0.875rem,3.85vw,1.25rem);
}
#game-panel:not([hidden]){
  height:calc(100dvh - 3.625rem - env(safe-area-inset-bottom));
  min-height:0;
  grid-template-rows:var(--player-topbar-height) auto auto minmax(0,1fr);
}
#game-panel>.topbar{
  width:100%;
  grid-row:1;
  grid-column:1/-1;
}
#game-panel>.hero{
  grid-row:2;
  grid-column:1/-1;
}
#game-panel>.home-user-card{
  grid-row:3;
  grid-column:1/-1;
  padding:clamp(0.375rem,1.8vw,0.5rem) var(--home-gutter);
  border-bottom:1px solid rgba(var(--palette-line-rgb, 220,229,240),0.8);
  border-radius:0;
  box-shadow:none;
}
#game-panel>.game-filters{
  top:0;
  height:100%;
  min-height:0;
  grid-row:4;
}
#game-panel>.room-list{
  min-height:100%;
  grid-row:4;
}
/* YL/NG 共用的卡片外壳；NG 的紧凑布局在 ng.css 中覆盖。 */
body:is([data-skin="2"],[data-skin="3"]) {
  --player-accent: #176bdf;
  --blue: #2379e9;
  --blue-deep: #175cc3;
  --ink: #1c3353;
  --muted: #75869e;
  --line: #e1eaf5;
  --soft: #f1f6fd;
  background: var(--palette-surface-soft, #e8eef6);
  color: var(--ink);
}
body:is([data-skin="2"],[data-skin="3"]) #app-view { background: var(--palette-surface, #f5f8fd); }
body:is([data-skin="2"],[data-skin="3"]) #app-view.has-platform-background { background-image: var(--player-platform-background); }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home { padding: 0 1rem 1.25rem; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .topbar {
  position: relative; display: flex; align-items: center; justify-content: space-between;
  height: 4.375rem; min-height: 4.375rem; margin: 0; padding: 0;
  background: transparent; border: 0; box-shadow: none;
}
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .topbar-logo {
  position: static; transform: none; display: flex; align-items: center; gap: .625rem;
  max-width: calc(100% - 5.5rem); padding: 0;
}
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .topbar-logo img { width: 2.5rem; height: 2.5rem; border-radius: .8125rem; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .topbar-logo strong { font-size: 1.125rem; color: var(--palette-text, #203858); letter-spacing: .025em; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .top-actions { position: static; gap: .5rem; transform: none; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .top-actions button { width: 2rem; height: 2rem; border-radius: .625rem; background: var(--palette-surface, #eaf1fc); color: var(--palette-accent, #4374b1); }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .hero { width: 100%; height: auto; aspect-ratio: 878 / 329; margin: 0 0 .625rem; border-radius: 1rem; box-shadow: 0 5px 16px rgba(var(--palette-shadow-rgb, 34,61,105),0.06274509803921569); }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .hero-track, body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .hero-slide { height: 100%; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .home-user-card { margin: 0; padding: .5rem .625rem; border: 1px solid var(--palette-line, #e7edf7); border-radius: .625rem; background: rgba(var(--palette-surface-rgb, 255,255,255),0.7019607843137254); box-shadow: none; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .home-user-card .notice-bar { min-height: 1.25rem; height: auto; padding: 0; margin: 0; border: 0; background: transparent; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .home-user-card .notice-bar p { color: var(--palette-muted, #6c7c92); font-size: .75rem; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .notice-icon { color: var(--palette-accent, #2778df); background: transparent; }
.yl-account { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1.25rem .125rem 1rem; }
.yl-account>div { min-width: 0; }
.yl-account small { display: block; color: var(--palette-muted, #7a8a9f); font-size: .6875rem; margin-bottom: .25rem; }
.yl-account strong { display: block; font-size: 1rem; overflow-wrap: anywhere; }
.yl-login { flex-shrink: 0; display: flex; align-items: center; gap: .625rem; background: var(--palette-surface, #e8f0fd); color: var(--palette-accent, #2166c7); border: 1px solid var(--palette-line, #dce7fa); border-radius: .75rem; padding: .6875rem .8125rem; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.yl-login span { font-size: 1.125rem; line-height: 1; }
.yl-balance { border: 0; padding: 0; background: transparent; text-align: right; }
.yl-balance small { display: flex; align-items: center; justify-content: flex-end; gap: .25rem; }
.yl-score-eye { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; color: var(--palette-accent, #1b67d2); }
.yl-score-eye.is-hidden { color: var(--palette-muted, #8998aa); }
.yl-balance strong { color: var(--palette-accent, #1b67d2); font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.yl-shortcuts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; padding: .9375rem .25rem; border: 1px solid var(--palette-line, #e7edf5); border-radius: 1rem; background: var(--palette-surface, #fff); box-shadow: 0 4px 14px rgba(var(--palette-shadow-rgb, 33,67,113),0.0196078431372549); }
.yl-shortcuts button { display: grid; justify-items: center; gap: .4375rem; padding: 0; border: 0; background: none; color: var(--palette-text, #3f5069); font-size: .75rem; white-space: nowrap; }
.yl-shortcuts i { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .9375rem; }
.yl-shortcuts svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.yl-icon-calendar { background: var(--palette-surface, #e9f2ff); color: var(--palette-accent, #3178db); }
.yl-icon-wheel { background: var(--palette-surface, #f0ecff); color: var(--palette-accent, #8c70d8); }
.yl-icon-invite { background: var(--palette-surface, #e8f8f5); color: var(--palette-success, #359d91); }
.yl-icon-gift { background: var(--palette-surface, #fff1e6); color: var(--palette-danger, #dc9350); }
.yl-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1.375rem .125rem .8125rem; }
.yl-section-heading small { display: block; margin-bottom: .25rem; color: var(--palette-muted, #91a0b5); font-size: .625rem; letter-spacing: .12em; }
.yl-section-heading h2 { margin: 0; font-size: 1.125rem; letter-spacing: .04em; color: var(--palette-text, #203858); }
.yl-section-heading button { border: 0; background: none; color: var(--palette-muted, #7589a4); font-size: .6875rem; white-space: nowrap; }
.yl-section-heading button span { margin-left: .25rem; color: var(--palette-accent, #327ce0); }
.yl-games { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
.yl-game-card { position: relative; display: block; min-width: 0; aspect-ratio: 8 / 5; padding: 0; overflow: hidden; text-align: left; border: 0; border-radius: 1rem; background: var(--palette-surface, #e8f0f9); box-shadow: 0 3px 12px rgba(var(--palette-shadow-rgb, 37,69,120),0.047058823529411764); }
.yl-game-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: fill; }
.yl-game-copy { position: absolute; inset: auto 0 0; padding: 1.5rem .75rem .75rem; background: linear-gradient(transparent, rgba(var(--palette-overlay-rgb, 16,45,85),0.7215686274509804)); color: #fff; }
.yl-game-copy strong { display: block; font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; text-shadow: 0 1px 4px rgba(var(--palette-shadow-rgb, 16,45,85),0.25098039215686274); }
.yl-bottom-nav { position: fixed; z-index: 20; bottom: 0; left: 50%; transform: translateX(-50%); display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); width: min(100%,31.25rem); height: calc(3.625rem + env(safe-area-inset-bottom)); padding: .4375rem .5rem calc(.375rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--palette-line, #e5ebf4); background: rgba(var(--palette-surface-rgb, 255,255,255),0.9607843137254902); backdrop-filter: blur(16px); box-shadow: 0 -4px 18px rgba(var(--palette-shadow-rgb, 34,61,105),0.0196078431372549); }
.yl-bottom-nav button { display: grid; align-content: center; justify-items: center; gap: .25rem; padding: 0; border: 0; background: transparent; color: var(--palette-muted, #8a98ab); font-size: .625rem; white-space: nowrap; }
.yl-bottom-nav svg { width: 1.375rem; height: 1.375rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.yl-bottom-nav button.active { color: var(--palette-accent, #246ed6); font-weight: 700; }
.yl-bottom-nav button.active svg { fill: #eaf2ff; }
/* 内页保留共用功能和消息色彩，仅重设外壳、卡片与操作控件。 */
body:is([data-skin="2"],[data-skin="3"]) #app-view .sub-header { background: rgba(var(--palette-surface-rgb, 255,255,255),0.8509803921568627); border-bottom: 1px solid var(--palette-line, #e6edf7); color: var(--palette-text, #233d5c); }
body:is([data-skin="2"],[data-skin="3"]) :is(.auth-submit,.primary-button,.game-append-button) { background: linear-gradient(115deg,var(--palette-primary, #246fdf),var(--palette-primary, #4199ef)); box-shadow: 0 4px 12px rgba(var(--palette-shadow-rgb, 36,111,223),0.12549019607843137); }
body:is([data-skin="2"],[data-skin="3"]) :is(.auth-submit,.primary-button,.game-append-button):disabled { opacity: 1; background: var(--palette-surface-soft, #e0e9f5); color: var(--palette-muted, #788ba3); box-shadow: none; cursor: default; }
body:is([data-skin="2"],[data-skin="3"]) :is(.notice-card,.activity-card,.agent-card,.finance-card,.settings-card) { border: 1px solid var(--palette-line, #e6edf6); border-radius: .875rem; box-shadow: 0 4px 14px rgba(var(--palette-shadow-rgb, 37,69,120),0.023529411764705882); }
body:is([data-skin="2"],[data-skin="3"]) #mine-panel .mine-profile-card { background: linear-gradient(135deg,var(--palette-surface, #eff5ff),var(--palette-surface, #fff)); border: 1px solid var(--palette-line, #e2ebf8); border-radius: 1rem; }
body:is([data-skin="2"],[data-skin="3"]) #mine-panel .mine-menu-group { border-radius: .875rem; border: 1px solid var(--palette-line, #e7edf6); }
body:is([data-skin="2"],[data-skin="3"]) .auth-view { background: radial-gradient(ellipse at 90% 0,var(--palette-surface-soft, #dbeaff),transparent 60%),var(--palette-surface, #f4f7fc); }
body:is([data-skin="2"],[data-skin="3"]) .auth-shell { border: 1px solid var(--palette-line, #e1e9f5); border-radius: 1.5rem; background: rgba(var(--palette-surface-rgb, 255,255,255),0.8509803921568627); box-shadow: 0 12px 40px rgba(var(--palette-shadow-rgb, 33,67,113),0.0392156862745098); }
body:is([data-skin="2"],[data-skin="3"]) .auth-input { border-color: var(--palette-line, #e0e8f3); background: var(--palette-surface, #f7f9fd); }
body:is([data-skin="2"],[data-skin="3"]) #game-panel:not([hidden]) { display: flex; flex-direction: column; background: transparent; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.game-filters { position: static; display: flex; flex: 0 0 auto; width: 100%; padding: .75rem 1rem; gap: .5rem; overflow-x: auto; border: 0; background: transparent; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.game-filters button { display: flex; flex: 0 0 auto; align-items: center; gap: .375rem; width: auto; min-height: 2.5rem; margin: 0; padding: .625rem .75rem; border: 1px solid var(--palette-line, #e1e9f5); border-radius: .75rem; background: var(--palette-surface, #fff); color: var(--palette-muted, #657b99); }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.game-filters button.active { border-color: var(--palette-line, #c9ddfb); background: var(--palette-surface, #e9f2ff); color: var(--palette-accent, #216bd2); }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.game-filters button span { white-space: nowrap; font-size: .75rem; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.game-filters button i { width: 1.125rem; height: 1.125rem; margin: 0; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.room-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; padding: .25rem 1rem 1rem; gap: .75rem; background: transparent; align-content: start; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.room-list.merged { grid-template-columns: 1fr; }
body:is([data-skin="2"],[data-skin="3"]) .player-room-group>div { grid-template-columns: repeat(2,minmax(0,1fr)); }
body:is([data-skin="2"],[data-skin="3"]) #game-panel .room-item { border: 1px solid var(--palette-line, #e2eaf5); border-radius: .875rem; background: var(--palette-surface, #fff); overflow: hidden; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel .room-rule-button { color: var(--palette-accent, #477bbd); background: var(--palette-surface, #f0f5fd); }
@media(max-width:359px) {
  body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home { padding-inline: .75rem; }
  .yl-games { gap: .5rem; }
  .yl-game-copy strong { font-size: .75rem; }
}
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.game-filters { height: auto; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.room-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.game-filters { flex-direction: row; }
body:is([data-skin="2"],[data-skin="3"]) #game-panel>.hero { flex: 0 0 auto; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .hero { padding: 0; border: 0; overflow: hidden; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .hero-track { padding: 0; border-radius: inherit; }
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .home-user-card { width: 100%; }

body:is([data-skin="2"],[data-skin="3"]) .hero-dots:empty { display: none; }
/* 共用历史样式锁定了轮播圆角，YL 在自身作用域内恢复卡片轮廓。 */
body:is([data-skin="2"],[data-skin="3"]) #home-panel .yl-home .hero { border-radius: 1rem !important; }

@media (hover: hover) and (pointer: fine) {
  body:is([data-skin="2"],[data-skin="3"]) #game-panel > .game-filters { scrollbar-width: auto; scrollbar-color: var(--palette-surface-raised, #91add2) var(--palette-surface-soft, #e4ecf7); }
  body:is([data-skin="2"],[data-skin="3"]) #game-panel > .game-filters::-webkit-scrollbar { display: block; height: .625rem; }
  body:is([data-skin="2"],[data-skin="3"]) #game-panel > .game-filters::-webkit-scrollbar-track { background: var(--palette-surface-soft, #e4ecf7); border-radius: 1rem; }
  body:is([data-skin="2"],[data-skin="3"]) #game-panel > .game-filters::-webkit-scrollbar-thumb { background: var(--palette-surface-raised, #91add2); border: 2px solid var(--palette-line, #e4ecf7); border-radius: 1rem; }
  body:is([data-skin="2"],[data-skin="3"]) #game-panel > .game-filters::-webkit-scrollbar-thumb:hover { background: var(--palette-primary, #658bbf); }
}
/* NG 保留紧凑账户工具条与双列入口，业务组件及消息配色与其他皮肤共用。 */
body[data-skin="3"] {
  --player-accent: #3265cf;
  --blue: #3265cf;
  --blue-deep: #214ba8;
  --ink: #25354e;
  --muted: #8490a4;
  --line: #e7ebf2;
  --soft: #f6f8fc;
  background: var(--palette-surface, #eef1f6);
}
body[data-skin="3"] #app-view { background-color: var(--palette-surface, #fff); }
body[data-skin="3"] #app-view:not(.has-platform-background) > .page-scroll { background: var(--palette-surface, #fff); }
body[data-skin="3"] #app-view:not(.has-platform-background) .tab-panel { background: transparent; }
body[data-skin="3"] #home-panel .ng-home { padding: 0 .875rem 1.25rem; }
body[data-skin="3"] #home-panel .ng-home .topbar { height: 3.75rem; min-height: 3.75rem; }
body[data-skin="3"] #home-panel .ng-home .topbar-logo { gap: .5rem; max-width: calc(100% - 6.5rem); }
body[data-skin="3"] #home-panel .ng-home .topbar-logo img { width: 2rem; height: 2rem; border-radius: .625rem; }
body[data-skin="3"] #home-panel .ng-home .topbar-logo strong { color: var(--palette-text, #25354e); font-size: 1rem; letter-spacing: 0; }
body[data-skin="3"] #home-panel .ng-home .top-actions .ng-activity-entry {
  display: flex; align-items: center; gap: .375rem; width: auto; height: auto; padding: .4375rem .625rem;
  border: 1px solid var(--palette-line, #ffe0d2); border-radius: .625rem; background: var(--palette-surface, #fff2eb); color: var(--palette-danger, #bb6542);
  font-size: .6875rem; font-weight: 600; white-space: nowrap;
}
body[data-skin="3"] #home-panel .ng-home .hero { border-radius: .875rem !important; box-shadow: none; }
body[data-skin="3"] #home-panel .ng-home .home-user-card { border-radius: 2rem; border-color: var(--palette-line, #edf0f6); background: var(--palette-surface, #f7f9fd); }
.ng-home-tools {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); align-items: center; gap: .75rem;
  margin-top: .875rem; padding: 1rem .75rem; border: 1px solid var(--palette-line, #e9edf5); border-radius: .875rem;
  background: var(--palette-surface, #fff); box-shadow: 0 5px 16px rgba(var(--palette-shadow-rgb, 38,62,113),0.06274509803921569);
}
.ng-home-tools .yl-account { flex-direction: column-reverse; align-items: flex-start; justify-content: center; gap: .4375rem; padding: 0; }
.ng-home-tools .yl-account>div>small { display: none; }
.ng-home-tools .yl-account>div>strong { color: var(--palette-muted, #7d8aa0); font-size: .6875rem; font-weight: 500; }
.ng-home-tools .yl-balance { max-width: 100%; text-align: left; }
.ng-home-tools .yl-balance small { justify-content: flex-start; font-size: .625rem; }
.ng-home-tools .yl-balance strong { color: var(--palette-text, #293a56); font-size: 1.25rem; letter-spacing: -.025em; }
.ng-home-tools .yl-score-eye { width: .875rem; height: .875rem; }
.ng-home-tools .yl-login { padding: .5rem .375rem; border-radius: .5rem; font-size: .625rem; gap: .125rem; }
.ng-home-tools .yl-shortcuts { gap: .5rem; padding: .125rem 0 .125rem .625rem; border: 0; border-left: 1px solid var(--palette-line, #edf0f5); border-radius: 0; box-shadow: none; }
.ng-home-tools .yl-shortcuts button { gap: .4375rem; color: var(--palette-muted, #6f7d94); font-size: .6875rem; }
.ng-home-tools .yl-shortcuts i { width: 2.125rem; height: 2.125rem; border-radius: .6875rem; }
.ng-home-tools .yl-shortcuts svg { width: 1.125rem; height: 1.125rem; }
.ng-home-tools .yl-icon-calendar { background: var(--palette-surface, #eaf1ff); color: var(--palette-accent, #4b7ce0); }
.ng-home-tools .yl-icon-wheel { background: var(--palette-surface, #fff4e3); color: var(--palette-danger, #d59d45); }
.ng-home-tools .yl-icon-invite { background: var(--palette-surface, #fff0ed); color: var(--palette-danger, #d67a69); }
.ng-home-tools .yl-icon-notice { background: var(--palette-surface-soft, #e8f7f2); color: var(--palette-success, #5b9e89); }
.ng-home .yl-section-heading { padding: 1.25rem .125rem .75rem; }
.ng-home .yl-section-heading h2 { color: var(--palette-text, #293a56); font-size: 1rem; letter-spacing: .025em; }
.ng-home .yl-section-heading button { color: var(--palette-muted, #8794a9); }
.ng-home .yl-games { grid-template-columns: 1fr; gap: .625rem; }
.ng-home .yl-game-card { aspect-ratio: 3 / 1; border-radius: .75rem; background: var(--palette-surface, #f4f6fa); box-shadow: 0 2px 8px rgba(var(--palette-shadow-rgb, 38,62,113),0.0392156862745098); }
.ng-home .yl-game-copy { padding: 1.125rem .625rem .625rem; background: linear-gradient(transparent,rgba(var(--palette-overlay-rgb, 26,46,80),0.7490196078431373)); }
.ng-home .yl-game-copy strong { font-size: .8125rem; font-weight: 600; }
body[data-skin="3"] .yl-bottom-nav { border-top-color: var(--palette-line, #e9edf4); background: rgba(var(--palette-surface-rgb, 255,255,255),0.9607843137254902); box-shadow: 0 -3px 14px rgba(var(--palette-shadow-rgb, 36,53,84),0.01568627450980392); }
body[data-skin="3"] .yl-bottom-nav button { gap: .3125rem; color: var(--palette-muted, #8b96a9); }
body[data-skin="3"] .yl-bottom-nav button.active { color: var(--palette-accent, #3265cf); }
body[data-skin="3"] .yl-bottom-nav button.active svg { fill: #e5edfc; stroke-width: 1.9; }
body[data-skin="3"] #mine-panel .mine-profile-card { background: linear-gradient(135deg,var(--palette-surface, #f4f7ff),var(--palette-surface, #fff)); }
body[data-skin="3"] .auth-view { background: radial-gradient(ellipse at 0 0,var(--palette-surface, #e6edff),transparent 65%),var(--palette-surface, #f7f9fc); }
@media(max-width:359px) {
  body[data-skin="3"] #home-panel .ng-home { padding-inline: .75rem; }
  .ng-home-tools { gap: .5rem; padding: .875rem .5rem; }
  .ng-home-tools .yl-shortcuts { gap: .25rem; padding-left: .375rem; }
  .ng-home-tools .yl-shortcuts i { width: 1.875rem; height: 1.875rem; }
  .ng-home-tools .yl-balance strong { font-size: 1.125rem; }
  .ng-home .yl-game-copy strong { font-size: .75rem; }
}

body[data-skin="3"] #game-panel > .room-list,
body[data-skin="3"] #game-panel .player-room-group > div { grid-template-columns: 1fr; }
body[data-skin="3"] #game-panel .room-entry { aspect-ratio: 3 / 1; }
/* 布局与配色独立；原始颜色保留为各声明的 fallback，蓝色外观无需覆盖。
   这些语义变量同时覆盖三套布局和共用业务页面，不对上传图片做滤镜或着色。 */
body[data-palette="purple"] {
  --palette-overlay-rgb: 15,17,43;
  color-scheme: dark;
  --palette-stat-profit: #7f9cff;
  --palette-stat-period: #b697ff;
  --palette-canvas-rgb: 15,17,43;
  --palette-surface-rgb: 28,31,66;
  --palette-surface-soft-rgb: 22,25,55;
  --palette-surface-raised-rgb: 39,43,82;
  --palette-text-rgb: 236,237,252;
  --palette-muted-rgb: 166,173,208;
  --palette-accent-rgb: 184,175,255;
  --palette-primary-rgb: 104,82,225;
  --palette-focus-rgb: 132,114,242;
  --palette-line-rgb: 58,63,106;
  --palette-shadow-rgb: 5,7,25;
  --palette-danger-rgb: 255,151,178;
  --palette-success-rgb: 117,220,188;
  --palette-green-rgb: 28,73,69;
  --palette-warm-rgb: 92,47,76;
  --palette-link: #929aff;
  --palette-deep: #7868ed;
  --palette-player-accent: #a49aff;
  --palette-background-overlay: #0f112b42;
  --palette-button-start: #9254e9;
  --palette-button-end: #546ded;
  --palette-disabled-text: #9ca4c7;
  --palette-disabled-bg: #282c4b;
  --palette-disabled-line: #3a3f64;
  --palette-placeholder: #939bbf;
  --palette-nav: #171a39f5;
  --palette-nav-active: #b4a3ff;
  --palette-nav-icon: #343068;
  --palette-eye: #899bff;
  --palette-eye-hidden: #8a91af;
  --palette-chat-other-bg: #20554b;
  --palette-chat-other-text: #e8fff6;
  --palette-chat-other-line: #347566;
  --palette-chat-own-bg: #315cc5;
  --palette-chat-own-line: #577cd9;
  --palette-chat-admin-bg: #283e63;
  --palette-chat-admin-text: #deedff;
  --palette-chat-admin-line: #4b658d;
  --palette-notice: #b8afff;
  --palette-nav-solid: #171a39;
  --palette-demo-note: #ffdc9e;
}
body[data-palette="orange"] {
  --palette-overlay-rgb: 48,31,20;
  color-scheme: light;
  --palette-stat-profit: #b55a0c;
  --palette-stat-period: #936126;
  --palette-canvas-rgb: 246,245,243;
  --palette-surface-rgb: 255,255,255;
  --palette-surface-soft-rgb: 255,247,237;
  --palette-surface-raised-rgb: 255,240,220;
  --palette-text-rgb: 52,43,35;
  --palette-muted-rgb: 124,108,94;
  --palette-accent-rgb: 163,77,12;
  --palette-primary-rgb: 201,91,10;
  --palette-focus-rgb: 225,122,33;
  --palette-line-rgb: 233,221,208;
  --palette-shadow-rgb: 103,67,32;
  --palette-danger-rgb: 188,52,60;
  --palette-success-rgb: 37,128,94;
  --palette-green-rgb: 225,244,233;
  --palette-warm-rgb: 255,239,219;
  --palette-link: #ae500c;
  --palette-deep: #b9560c;
  --palette-player-accent: #b85810;
  --palette-background-overlay: #fff8ee12;
  --palette-button-start: #d66a12;
  --palette-button-end: #be5008;
  --palette-disabled-text: #82776c;
  --palette-disabled-bg: #eee9e3;
  --palette-disabled-line: #dcd3c9;
  --palette-placeholder: #887766;
  --palette-nav: #fffffff5;
  --palette-nav-active: #af4c08;
  --palette-nav-icon: #ffead0;
  --palette-eye: #397dd1;
  --palette-eye-hidden: #8c929b;
  --palette-chat-other-bg: #dff4e9;
  --palette-chat-other-text: #194c38;
  --palette-chat-other-line: #b7dfca;
  --palette-chat-own-bg: #316ed1;
  --palette-chat-own-line: #5387dc;
  --palette-chat-admin-bg: #e4effc;
  --palette-chat-admin-text: #244568;
  --palette-chat-admin-line: #c4d9f2;
  --palette-notice: #ae500c;
  --palette-nav-solid: #ffffff;
  --palette-demo-note: #895315;
}
body[data-palette="red"] {
  --palette-overlay-rgb: 16,15,18;
  color-scheme: dark;
  --palette-stat-profit: #ff91a4;
  --palette-stat-period: #d7a1b4;
  --palette-canvas-rgb: 16,15,18;
  --palette-surface-rgb: 32,30,35;
  --palette-surface-soft-rgb: 24,22,27;
  --palette-surface-raised-rgb: 45,40,47;
  --palette-text-rgb: 248,239,243;
  --palette-muted-rgb: 185,168,178;
  --palette-accent-rgb: 255,145,167;
  --palette-primary-rgb: 195,32,62;
  --palette-focus-rgb: 227,61,93;
  --palette-line-rgb: 72,55,65;
  --palette-shadow-rgb: 5,3,6;
  --palette-danger-rgb: 255,151,167;
  --palette-success-rgb: 123,220,177;
  --palette-green-rgb: 28,70,56;
  --palette-warm-rgb: 87,35,47;
  --palette-link: #ff8b9f;
  --palette-deep: #e84b69;
  --palette-player-accent: #ff8b9f;
  --palette-background-overlay: #100f1242;
  --palette-button-start: #d52b4b;
  --palette-button-end: #b81735;
  --palette-disabled-text: #b2a0ab;
  --palette-disabled-bg: #342c33;
  --palette-disabled-line: #58434f;
  --palette-placeholder: #ac929f;
  --palette-nav: #1b171cf5;
  --palette-nav-active: #ff8b9f;
  --palette-nav-icon: #512734;
  --palette-eye: #89a8ff;
  --palette-eye-hidden: #a196a0;
  --palette-chat-other-bg: #20554b;
  --palette-chat-other-text: #e8fff6;
  --palette-chat-other-line: #347566;
  --palette-chat-own-bg: #315cc5;
  --palette-chat-own-line: #577cd9;
  --palette-chat-admin-bg: #283e63;
  --palette-chat-admin-text: #deedff;
  --palette-chat-admin-line: #4b658d;
  --palette-notice: #ff8b9f;
  --palette-nav-solid: #1b171c;
  --palette-demo-note: #ffdc9e;
}
body[data-palette="pink"] {
  --palette-overlay-rgb: 49,27,43;
  color-scheme: light;
  --palette-stat-profit: #b7357b;
  --palette-stat-period: #9c4c86;
  --palette-canvas-rgb: 248,245,248;
  --palette-surface-rgb: 255,255,255;
  --palette-surface-soft-rgb: 255,244,249;
  --palette-surface-raised-rgb: 255,233,244;
  --palette-text-rgb: 62,43,57;
  --palette-muted-rgb: 132,108,124;
  --palette-accent-rgb: 169,49,108;
  --palette-primary-rgb: 192,48,115;
  --palette-focus-rgb: 213,82,143;
  --palette-line-rgb: 237,216,230;
  --palette-shadow-rgb: 100,47,81;
  --palette-danger-rgb: 188,49,78;
  --palette-success-rgb: 37,128,94;
  --palette-green-rgb: 225,244,233;
  --palette-warm-rgb: 255,231,239;
  --palette-link: #b02f70;
  --palette-deep: #b92f73;
  --palette-player-accent: #b73276;
  --palette-background-overlay: #fff3f912;
  --palette-button-start: #cf4388;
  --palette-button-end: #b82e73;
  --palette-disabled-text: #897881;
  --palette-disabled-bg: #efe6ec;
  --palette-disabled-line: #deced8;
  --palette-placeholder: #907585;
  --palette-nav: #fffffff5;
  --palette-nav-active: #b32970;
  --palette-nav-icon: #ffe2f1;
  --palette-eye: #397dd1;
  --palette-eye-hidden: #97919a;
  --palette-chat-other-bg: #dff4e9;
  --palette-chat-other-text: #194c38;
  --palette-chat-other-line: #b7dfca;
  --palette-chat-own-bg: #316ed1;
  --palette-chat-own-line: #5387dc;
  --palette-chat-admin-bg: #e4effc;
  --palette-chat-admin-text: #244568;
  --palette-chat-admin-line: #c4d9f2;
  --palette-notice: #b02f70;
  --palette-nav-solid: #ffffff;
  --palette-demo-note: #895315;
}
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) {
  --palette-canvas: rgb(var(--palette-canvas-rgb));
  --palette-surface: rgb(var(--palette-surface-rgb));
  --palette-surface-soft: rgb(var(--palette-surface-soft-rgb));
  --palette-surface-raised: rgb(var(--palette-surface-raised-rgb));
  --palette-text: rgb(var(--palette-text-rgb));
  --palette-muted: rgb(var(--palette-muted-rgb));
  --palette-accent: rgb(var(--palette-accent-rgb));
  --palette-primary: rgb(var(--palette-primary-rgb));
  --palette-focus: rgb(var(--palette-focus-rgb));
  --palette-line: rgb(var(--palette-line-rgb));
  --palette-shadow: rgb(var(--palette-shadow-rgb));
  --palette-danger: rgb(var(--palette-danger-rgb));
  --palette-success: rgb(var(--palette-success-rgb));
  --palette-green: rgb(var(--palette-green-rgb));
  --palette-warm: rgb(var(--palette-warm-rgb));
  --blue: var(--palette-link);
  --blue-deep: var(--palette-deep);
  --ink: var(--palette-text);
  --muted: var(--palette-muted);
  --line: var(--palette-line);
  --soft: var(--palette-surface-soft);
  --white: var(--palette-surface);
  --danger: var(--palette-danger);
  --player-accent: var(--palette-player-accent);
  color: var(--palette-text);
  background: var(--palette-canvas);
}

body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) #app-view:not(.has-platform-background),
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) #app-view:not(.has-platform-background) > .page-scroll,
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) #app-view:not(.has-platform-background) .tab-panel { background: var(--palette-canvas); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) #app-view.has-platform-background > .page-scroll {
  background-image: linear-gradient(var(--palette-background-overlay),var(--palette-background-overlay)),var(--player-platform-background);
}
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) :is(.auth-submit,.primary-button,.game-append-button,.benefit-draw-button) {
  color: #fff; background: linear-gradient(110deg,var(--palette-button-start),var(--palette-button-end));
}
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) :is(button,input,select,textarea):disabled {
  opacity: 1; color: var(--palette-disabled-text); background-color: var(--palette-disabled-bg); border-color: var(--palette-disabled-line); box-shadow: none;
}
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) :is(.auth-submit,.primary-button,.game-append-button,.benefit-draw-button):disabled { background: var(--palette-disabled-bg); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) :is(input,textarea)::placeholder { color: var(--palette-placeholder); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) :is(.yl-bottom-nav,.bottom-nav) { background: var(--palette-nav); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) :is(.yl-bottom-nav,.bottom-nav) button.active { color: var(--palette-nav-active); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .yl-bottom-nav button.active svg { fill: var(--palette-nav-icon); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .yl-score-eye { color: var(--palette-eye); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .yl-score-eye.is-hidden { color: var(--palette-eye-hidden); }

body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) #app-view button:disabled,
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) #auth-view button:disabled { color: var(--palette-disabled-text); background: var(--palette-disabled-bg); border-color: var(--palette-disabled-line); box-shadow: none; }
/* 消息身份仍使用蓝/绿/淡蓝，配色只调整其暗色表面的可读性。 */
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .group-chat-message p { background: var(--palette-chat-other-bg); color: var(--palette-chat-other-text); border-color: var(--palette-chat-other-line); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .group-chat-message.mine p { background: var(--palette-chat-own-bg); color: #fff; border-color: var(--palette-chat-own-line); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .group-chat-message.operator p { background: var(--palette-chat-admin-bg); color: var(--palette-chat-admin-text); border-color: var(--palette-chat-admin-line); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) #service-panel .player-message > section > div { color: var(--palette-chat-admin-text); background: var(--palette-chat-admin-bg); border-color: var(--palette-chat-admin-line); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) #service-panel .player-message.mine > section > div { color: #fff; background: var(--palette-chat-own-bg); border-color: var(--palette-chat-own-line); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .game-room-notice .notice-icon svg { fill: currentColor; color: var(--palette-notice); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .service-unread-dot { box-shadow: 0 0 0 2px var(--palette-nav-solid); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .player-demo-service-note { color: var(--palette-demo-note); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .bottom-nav:before {
  background: var(--palette-nav-solid);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 58' preserveAspectRatio='none'%3E%3Cpath fill='white' d='M0 0h190c24 0 17 45 60 45s36-45 60-45h190v58H0Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .player-red-packet-shell { background: var(--palette-surface); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) :is(.player-red-packet-body>strong,.player-red-packet-claims strong) { color: var(--palette-text); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .player-red-packet-claims small { color: var(--palette-muted); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .player-red-packet-claims article { border-color: var(--palette-line); }
body:is([data-palette="purple"],[data-palette="orange"],[data-palette="red"],[data-palette="pink"]) .player-red-packet-claims b { color: var(--palette-danger); }
/*$vite$:1*/