﻿:root {
  --bg: #07131c;
  --bg-2: #0d1d2a;
  --panel: rgba(11, 21, 30, 0.9);
  --panel-2: rgba(16, 30, 41, 0.96);
  --gold: #d4af5d;
  --gold-2: #f3d890;
  --blue: #5aa7ff;
  --green: #3dd9a5;
  --red: #ff7582;
  --orange: #ffb85d;
  --text: #edf6ff;
  --muted: #9bb1c8;
  --line: rgba(255, 255, 255, 0.08);
  --shadow: 0 24px 50px rgba(0, 0, 0, 0.28);
}

* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: linear-gradient(180deg, #061118 0%, #0d1d28 55%, #09161e 100%);
  color: var(--text);
  font-family: "Microsoft YaHei", "PingFang SC", "Segoe UI", sans-serif;
}
body {
  min-height: 100vh;
}
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.container {
  width: min(1200px, calc(100% - 32px));
  margin: 0 auto;
}

.topbar {
  position: sticky; top: 0; z-index: 50;
  background: rgba(9, 17, 23, 0.82);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.nav {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 78px;
  flex-wrap: wrap;
  row-gap: 8px;
}
.brand {
  display: flex; align-items: center; gap: 12px;
  font-size: 1.15rem; font-weight: 800; letter-spacing: 0.08em;
  text-decoration: none; color: inherit;
}
.brand-mark {
  width: 40px; height: 40px; display: grid; place-items: center;
  border-radius: 50%;
  background: transparent;
  overflow: hidden;
  flex: 0 0 auto;
}
.brand-mark > img {
  width: 100%; height: 100%; object-fit: contain;
  filter: drop-shadow(0 6px 14px rgba(212, 175, 93, 0.35));
}
.nav-links {
  display: flex; align-items: center; gap: 22px; color: var(--muted);
  font-size: 0.9rem;
  flex-wrap: wrap; row-gap: 6px;
}
.nav-links a { white-space: nowrap; }
.nav-actions .btn { white-space: nowrap; }
.nav-links a:hover { color: var(--text); }
.nav-actions {
  display: flex; align-items: center; gap: 12px;
}

.btn {
  border: 1px solid transparent; border-radius: 12px;
  padding: 11px 18px; font-weight: 700; transition: all 0.2s ease;
  display: inline-flex; align-items: center; justify-content: center;
}
.btn:hover { transform: translateY(-1px); }
.btn.gold {
  background: linear-gradient(135deg, var(--gold-2), var(--gold) 60%, #9d7626);
  color: #1d1408;
  box-shadow: 0 12px 22px rgba(212, 175, 93, 0.25);
}
.btn.blue {
  background: linear-gradient(135deg, #65a9ff, #4678ef);
  color: white;
}
.btn.green {
  background: linear-gradient(135deg, #49d6a5, #2da57f);
  color: white;
}
.btn.dark {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--line);
  color: var(--text);
}
.btn.small { padding: 9px 12px; border-radius: 10px; font-size: 0.78rem; }

/* 首页活动 Banner：仅移动端（APK 壳）展示竖版宣传图 */
.app-banner { display: none; }

.hero {
  padding: 72px 0 40px;
}
.hero-wrap {
  display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 28px; align-items: center;
}
.eyebrow {
  display: inline-block; padding: 8px 12px; border-radius: 999px;
  background: rgba(212, 175, 93, 0.08);
  border: 1px solid rgba(212, 175, 93, 0.22);
  color: var(--gold-2); font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase;
}
h1 {
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  line-height: 1.08; letter-spacing: -0.04em; margin: 18px 0 16px;
}
.lead {
  color: var(--muted); line-height: 1.8; font-size: 1.02rem; max-width: 640px;
}
.hero-actions {
  display: flex; gap: 14px; flex-wrap: wrap; margin-top: 26px;
}
.metric-row {
  display: grid; grid-template-columns: repeat(3, minmax(120px, 1fr)); gap: 12px; margin-top: 32px;
}
.metric {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--line); border-radius: 16px; padding: 16px;
}
.metric strong {
  display: block; font-size: 1.6rem; margin-top: 6px;
}
.metric span { color: var(--muted); font-size: 0.75rem; }

.hero-card {
  padding: 20px; border-radius: 24px; background: linear-gradient(180deg, rgba(18, 33, 44, 0.96), rgba(10, 19, 27, 0.96));
  border: 1px solid var(--line); box-shadow: var(--shadow);
}
.card-top {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px;
}
.stat-dot {
  width: 10px; height: 10px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px rgba(61, 217, 165, 0.9);
}
.pilot {
  display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em;
}
.hero-panel-list {
  list-style: none; margin: 0; padding: 0;
}
.hero-panel-list li {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.06);
  color: var(--muted);
}
.hero-panel-list li:last-child { border-bottom: none; }
.tag {
  display: inline-block; padding: 5px 9px; border-radius: 999px; font-size: 0.68rem; color: var(--gold-2);
  background: rgba(212, 175, 93, 0.08); border: 1px solid rgba(212, 175, 93, 0.2);
}
.tag.green { color: var(--green); background: rgba(61, 217, 165, 0.08); border-color: rgba(61, 217, 165, 0.18); }
.tag.red { color: var(--red); background: rgba(255, 117, 130, 0.08); border-color: rgba(255, 117, 130, 0.18); }

.section {
  padding: 32px 0 10px;
}
.section-head {
  display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px;
}
.section h2 {
  margin: 0; font-size: clamp(1.5rem, 2vw, 2.2rem);
}
.subtext {
  color: var(--muted); font-size: 0.9rem;
}
.cards-grid {
  display: grid; grid-template-columns: repeat(4, minmax(200px, 1fr)); gap: 18px;
}
.feature-card {
  background: linear-gradient(180deg, var(--panel), var(--panel-2));
  border: 1px solid var(--line); border-radius: 20px; padding: 22px 20px; box-shadow: var(--shadow);
}
.feature-icon {
  width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-size: 1.4rem;
  background: linear-gradient(135deg, rgba(212,175,93,0.25), rgba(90,167,255,0.18));
  margin-bottom: 18px;
}
.feature-card h3 {
  margin: 0 0 8px; font-size: 1.05rem;
}
.feature-card p {
  margin: 0; color: var(--muted); line-height: 1.7; font-size: 0.9rem;
}

.showcase {
  display: grid; grid-template-columns: repeat(3, minmax(220px, 1fr)); gap: 18px;
}
.game-card {
  padding: 18px; border-radius: 20px; background: linear-gradient(180deg, rgba(16, 30, 41, 0.96), rgba(10, 18, 26, 0.96));
  border: 1px solid var(--line); box-shadow: var(--shadow);
}
.game-thumb {
  height: 150px; border-radius: 16px; margin-bottom: 16px;
  background: linear-gradient(135deg, rgba(90,167,255,0.22), rgba(212,175,93,0.18), rgba(61,217,165,0.1));
  position: relative; overflow: hidden;
}
.game-thumb::before {
  content: ""; position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,0.12); border-radius: 12px;
}
.game-meta {
  display: flex; justify-content: space-between; gap: 8px; font-size: 0.72rem; color: var(--muted);
  margin-bottom: 10px;
}
.game-card h3 { margin: 6px 0 8px; font-size: 1.08rem; }
.game-card p { margin: 0; color: var(--muted); font-size: 0.85rem; line-height: 1.7; }
.lottery-icon {
  position: absolute;
  inset: auto 18px 14px auto;
  font-size: 2.5rem;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,0.2));
}
.pay-icon {
  width: 56px; height: 56px; border-radius: 15px; display: grid; place-items: center;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 0 1px var(--line);
  font-size: 1.5rem; margin-bottom: 16px;
}
.pay-icon img {
  width: 100%; height: 100%; display: block; object-fit: cover;
}
.payment-form {
  display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(220px, 1fr));
}
.payment-row {
  display: flex; flex-direction: column; gap: 8px;
}
.payment-row label {
  color: var(--muted); font-size: 0.82rem;
}
.payment-row input, .payment-row select {
  width: 100%; border: 1px solid var(--line); background: rgba(255,255,255,0.02); color: var(--text);
  border-radius: 12px; padding: 12px 14px; outline: none;
}
.payment-list {
  display: grid; gap: 10px;
}
.payment-list li {
  display: grid; grid-template-columns: 1.4fr 0.7fr auto; align-items: center; gap: 12px;
}
.history-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px;
}
.history-item {
  padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,0.02); border: 1px solid var(--line);
}
.history-item .issue {
  color: var(--gold-2); font-size: 0.74rem; margin-bottom: 8px;
}
.history-item .nums {
  font-size: 1.2rem; font-weight: 700; letter-spacing: 0.08em;
}

.security {
  display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 18px; margin: 28px 0 14px;
}
.panel {
  background: linear-gradient(180deg, var(--panel), var(--panel-2));
  border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow);
  overflow: hidden;
}
.panel-head {
  display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--line);
}
.panel-head h3 {
  margin: 0; font-size: 1.06rem;
}
.panel-body { padding: 22px 20px; }
.list {
  list-style: none; margin: 0; padding: 0;
}
.list li {
  display: flex; justify-content: space-between; gap: 14px; align-items: center;
  padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,0.06);
  color: var(--muted); font-size: 0.9rem;
}
.list li:last-child { border-bottom: none; }

/* 双列清单（接入与数据） */
.list-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 32px;
}

.footer {
  padding: 28px 0 40px; color: var(--muted); font-size: 0.9rem;
}
.footer-row {
  display: flex; justify-content: space-between; gap: 16px; align-items: center; padding-top: 22px; border-top: 1px solid var(--line);
}

.footer-links { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.footer-links a { color: var(--muted); font-size: 0.85rem; }
.footer-links a:hover { color: var(--text); }

/* ==========================================================
   协议 / 隐私等长文页面
   ========================================================== */
.doc {
  max-width: 900px;
  margin: 0 auto;
  padding: 36px 0 64px;
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
}
.doc h1 { font-size: clamp(1.6rem, 3vw, 2rem); margin: 6px 0 16px; }
.doc h2 {
  font-size: 1.02rem; margin: 28px 0 10px;
  color: var(--gold-2); font-weight: 700;
}
.doc p, .doc ul {
  color: var(--muted); line-height: 1.9; font-size: 0.9rem;
}
.doc p { margin: 0 0 10px; }
.doc ul { padding-left: 1.3em; margin: 8px 0 14px; }
.doc li { margin: 4px 0; }
.doc strong { color: var(--text); font-weight: 600; }
.doc a { color: var(--blue); }
.doc .doc-note {
  margin: 0 0 22px; padding: 12px 14px; border-radius: 12px;
  border: 1px dashed rgba(212, 175, 93, 0.35);
  background: rgba(212, 175, 93, 0.06);
  font-size: 0.82rem; line-height: 1.8; color: var(--gold-2);
}
.doc-foot {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--line);
}

.form-shell {
  min-height: calc(100vh - 90px);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 16px; padding: 48px 0;
}
/* 广告位若被插入 form-shell，必须是整行而不是并排（否则 flex:row 会把页面撑宽） */
.form-shell > .yt-ads { width: 100%; flex: 0 0 auto; }
.form-shell > .form-card { width: min(940px, calc(100% - 32px)); }

@media (max-width: 768px) {
  .form-shell { padding: 24px 0 96px; gap: 12px; justify-content: flex-start; }
}
.form-card {
  width: min(940px, calc(100% - 32px));
  background: linear-gradient(180deg, rgba(11,20,28,0.98), rgba(14,25,35,0.98));
  border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow); overflow: hidden;
  display: grid; grid-template-columns: 0.92fr 1.08fr;
}
.form-left {
  background: linear-gradient(180deg, rgba(18,32,44,0.9), rgba(8,18,25,0.96));
  padding: 32px 26px;
  border-right: 1px solid var(--line);
}
.form-left h2 {
  margin-top: 18px; font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1.1;
}
.form-left p { color: var(--muted); line-height: 1.8; }
.form-right {
  padding: 28px 28px 32px;
}
.form-grid {
  display: grid; grid-template-columns: repeat(2, minmax(200px, 1fr)); gap: 18px;
}
.field {
  display: flex; flex-direction: column; gap: 8px;
}
.field.full { grid-column: 1 / -1; }
.field label {
  color: var(--muted); font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase;
}
.field input, .field select {
  width: 100%; border: 1px solid var(--line); background: rgba(255,255,255,0.02); border-radius: 12px; color: var(--text);
  padding: 12px 14px; outline: none;
}
.field input:focus, .field select:focus {
  border-color: rgba(90,167,255,0.8); box-shadow: 0 0 0 3px rgba(90,167,255,0.08);
}
.inline-row {
  display: flex; gap: 12px; flex-wrap: wrap; align-items: center;
  margin-top: 16px;
}
.checkbox {
  display: inline-flex; align-items: center; gap: 10px; color: var(--muted); font-size: 0.88rem; margin-top: 12px;
}
.checkbox input { accent-color: var(--gold); }
.form-actions {
  margin-top: 20px; display: flex; gap: 12px; flex-wrap: wrap;
}
.small-note {
  margin-top: 14px; color: var(--muted); font-size: 0.8rem;
}

.app-layout {
  display: grid; grid-template-columns: 230px 1fr; min-height: 100vh;
}
/* 防止 grid 子项被内容撑开，导致移动端横向溢出 */
.app-layout > * { min-width: 0; }
.sidebar {
  background: linear-gradient(180deg, rgba(8,17,23,0.98), rgba(15,25,34,0.98));
  border-right: 1px solid var(--line);
  padding: 24px 18px;
}
.nav-stack {
  display: flex; flex-direction: column; gap: 8px; margin-top: 20px;
}
.nav-item {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 12px; border-radius: 12px;
  color: var(--muted); border: 1px solid transparent; background: transparent;
  text-align: left;
}
.nav-item.active {
  background: rgba(212,175,93,0.08); border-color: rgba(212,175,93,0.2); color: var(--gold-2);
}
.content-area {
  padding: 26px;
}
.top-ops {
  display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 22px;
}
.user-badge {
  display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,0.02); border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px;
}
.avatar {
  width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 800;
  background: linear-gradient(135deg, var(--blue), var(--gold));
  color: #132c3b;
}
.stats-row {
  display: grid; grid-template-columns: repeat(4, minmax(170px, 1fr)); gap: 16px;
  margin-bottom: 18px;
}
.stat-card {
  background: linear-gradient(180deg, rgba(14,26,35,0.96), rgba(10,19,26,0.96)); border:1px solid var(--line); border-radius: 18px; padding: 18px 16px; box-shadow: var(--shadow);
}
.stat-label { color: var(--muted); font-size: 0.75rem; }
.stat-value { font-size: 2rem; margin-top: 12px; font-weight: 800; }
.upgood { color: var(--green); font-size: 0.78rem; }
.chart-box {
  display: flex; align-items: flex-end; gap: 12px; height: 170px; margin-top: 14px;
}
.bar {
  flex: 1; border-radius: 12px 12px 0 0; min-height: 30px; background: linear-gradient(180deg, rgba(90,167,255,0.9), rgba(212,175,93,0.8)); position: relative;
}
.bar span {
  position: absolute; bottom: -18px; left: 50%; transform: translateX(-50%); color: var(--muted); font-size: 0.68rem;
}
.dashboard-grid {
  display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 18px; margin-top: 20px;
}
.table {
  width: 100%; border-collapse: collapse; font-size: 0.88rem;
}
.table th, .table td { padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,0.06); text-align: left; }
.table th { color: var(--muted); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; }
.status {
  display: inline-block; padding: 5px 8px; border-radius: 999px; font-size: 0.72rem; border: 1px solid transparent;
}
.status.ok { color: var(--green); background: rgba(61,217,165,0.08); border-color: rgba(61,217,165,0.18); }
.status.warn { color: var(--orange); background: rgba(255,184,93,0.08); border-color: rgba(255,184,93,0.18); }
.status.bad { color: var(--red); background: rgba(255, 117, 130, 0.08); border-color: rgba(255, 117, 130, 0.18); }

.chat-box {
  background: linear-gradient(180deg, rgba(12, 22, 30, 0.96), rgba(10,18,24,0.96));
  border: 1px solid var(--line); border-radius: 18px; overflow: hidden;
}
.chat-header {
  display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid var(--line);
}
.chat-body {
  padding: 16px; min-height: 220px; display: flex; flex-direction: column; gap: 10px;
}
.msg {
  max-width: 82%; padding: 11px 12px; border-radius: 12px; line-height: 1.6; font-size: 0.84rem;
}
.msg.bot { background: rgba(255,255,255,0.04); border: 1px solid var(--line); }
.msg.user { margin-left: auto; background: linear-gradient(135deg, #5aa7ff, #466fe8); }
.quick-answers { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 16px 16px; }
.quick-pill {
  border: 1px solid var(--line); background: rgba(255,255,255,0.03); color: var(--muted); padding: 7px 10px; border-radius: 999px; font-size: 0.74rem;
}
.chat-input-row { display: flex; gap: 8px; padding: 0 16px 16px; }
.chat-input-row input {
  flex:1; background: rgba(255,255,255,0.02); color: var(--text); border:1px solid var(--line); border-radius:10px; padding:11px 12px;
}

.pay-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.pay-card {
  position: relative;
  background: linear-gradient(180deg, rgba(16, 29, 39, 0.96), rgba(11, 20, 29, 0.96)); border:1px solid var(--line); border-radius: 20px; padding: 20px; box-shadow: var(--shadow);
}
.pay-card.featured {
  border-color: rgba(212, 175, 93, 0.42);
  background: linear-gradient(180deg, rgba(38, 31, 16, 0.92), rgba(12, 20, 28, 0.96));
  box-shadow: 0 18px 40px rgba(212, 175, 93, 0.14);
}
.pay-badge {
  position: absolute; top: 14px; right: 14px;
  padding: 3px 9px; border-radius: 999px;
  font-size: 0.66rem; font-weight: 700; letter-spacing: 0.04em;
  color: #2a1f06;
  background: linear-gradient(135deg, var(--gold-2), var(--gold));
}
.pay-card h3 { margin: 0 0 12px; }
.pay-card p { margin: 0; color: var(--muted); line-height: 1.7; }
.pay-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pay-tag {
  padding: 3px 9px; border-radius: 999px;
  font-size: 0.68rem; line-height: 1.5; white-space: nowrap;
  color: var(--gold-2);
  background: rgba(212, 175, 93, 0.12);
  border: 1px solid rgba(212, 175, 93, 0.3);
}

.toast {
  position: fixed; right: 24px; bottom: 24px; background: rgba(12, 22, 32, 0.96); border: 1px solid var(--line); box-shadow: var(--shadow);
  border-radius: 12px; padding: 12px 14px; color: var(--text); opacity: 0; transform: translateY(10px); transition: all 0.2s ease; pointer-events: none; z-index: 200;
  max-width: calc(100vw - 48px); word-break: break-word;
}
@media (max-width: 480px) {
  .toast { right: 12px; left: 12px; bottom: 84px; max-width: none; }
}
.toast.show { opacity: 1; transform: translateY(0); }

/* ==========================================================
   全局触屏 / 安全区基础
   ========================================================== */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
a, button, .nav-item, .quick-pill, .btn { -webkit-tap-highlight-color: transparent; }
button, .btn, .nav-item, .quick-pill { touch-action: manipulation; }

.topbar {
  padding-top: env(safe-area-inset-top, 0px);
}

.footer {
  padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px));
}

/* 可横向滚动的表格容器（移动端） */
.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.table-scroll .table {
  min-width: 560px;
}

/* ==========================================================
   平板 / 窄桌面
   ========================================================== */
@media (max-width: 900px) {
  /* 宽度不足时：品牌 + 按钮在第一行，导航整体换到第二行 */
  .brand { order: 1; }
  .nav-actions { order: 2; margin-left: auto; }
  .nav-links { order: 3; width: 100%; }
}

@media (max-width: 980px) {
  .hero-wrap, .security, .dashboard-grid, .form-card, .app-layout { grid-template-columns: 1fr; }
  .cards-grid, .showcase, .stats-row, .pay-grid, .form-grid, .payment-form { grid-template-columns: 1fr 1fr; }

  /* 后台：侧边栏改为顶部横向导航条 */
  .sidebar {
    position: sticky;
    top: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-right: none;
    border-bottom: 1px solid var(--line);
    background: rgba(8, 17, 23, 0.96);
    backdrop-filter: blur(10px);
  }
  .sidebar .brand { padding: 0; flex: 0 0 auto; font-size: 0.95rem; }
  .sidebar .brand-mark { width: 30px; height: 30px; border-radius: 50%; }
  .nav-stack {
    flex-direction: row;
    flex: 1 1 auto;
    min-width: 0;
    margin-top: 0;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .nav-stack::-webkit-scrollbar { display: none; }
  .nav-item {
    flex: 0 0 auto;
    width: auto;
    white-space: nowrap;
    padding: 9px 12px;
    font-size: 0.8rem;
  }

  .content-area { padding: 20px 16px 28px; }
}

/* ==========================================================
   APP / H5 手机端
   ========================================================== */
@media (max-width: 620px) {
  .container { width: min(100% - 20px, 1200px); }

  /* 顶部导航：保留入口，改为两行 + 横向滚动 */
  .nav {
    height: auto;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 0 10px;
  }
  .nav-links {
    order: 3;
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 18px;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
    font-size: 0.85rem;
  }
  .nav-links::-webkit-scrollbar { display: none; }
  .nav-actions .btn { flex: 0 0 auto; }

  .hero { padding-top: 42px; }
  h1 { font-size: clamp(2rem, 9vw, 2.6rem); }

  .cards-grid, .showcase, .pay-grid, .form-grid, .payment-form, .metric-row {
    grid-template-columns: 1fr;
  }

  /* 后台统计卡片在手机端保持两列，避免一屏只显示一张 */
  .stats-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .stat-card { padding: 14px 12px; }

  /* 只让"块级"按钮通栏，避免小按钮被拉满 */
  .hero-actions,
  .form-actions,
  .inline-row {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-actions .btn,
  .form-actions .btn,
  .inline-row .btn,
  .section-head .btn { width: 100%; }

  .section-head, .top-ops {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .panel-body { padding: 16px 14px; }
  .panel-head { padding: 14px 14px; }
  .content-area { padding: 16px 12px 28px; }

  .list-2col { grid-template-columns: 1fr; column-gap: 0; }

  .game-thumb { height: 120px; }
  .chart-box { height: 140px; }

  /* iOS 聚焦输入框不缩放 */
  .field input,
  .field select,
  .payment-row input,
  .payment-row select,
  .chat-input-row input { font-size: 16px; }
  .chat-input-row input { min-width: 0; }

  .payment-list li {
    grid-template-columns: 1fr auto;
    row-gap: 4px;
  }

  .footer-row { flex-direction: column; align-items: flex-start; }

  .toast {
    right: 12px;
    left: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }

  .form-shell {
    min-height: auto;
    padding: 20px 0 32px;
    padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
  }
  .form-card { width: calc(100% - 20px); border-radius: 20px; }
  .form-left { padding: 22px 18px; }
  .form-right { padding: 20px 18px 24px; }
  .form-left h2 { font-size: 1.6rem; }
}

/* ==========================================================
   小屏手机
   ========================================================== */
@media (max-width: 380px) {
  .brand { font-size: 1rem; }
  .brand-mark { width: 32px; height: 32px; }
  .stat-value { font-size: 1.6rem; }
  .panel-body { padding: 14px 12px; }
  .quick-pill { padding: 6px 9px; font-size: 0.7rem; }
}

/* ==========================================================
   个人中心
   ========================================================== */
.member-shell { padding: 22px 0 40px; }

.member-head {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 18px 16px; border-radius: 20px;
  background: linear-gradient(180deg, rgba(16, 30, 41, 0.96), rgba(10, 18, 26, 0.96));
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.member-avatar {
  width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center;
  font-weight: 800; font-size: 1.3rem; color: #132c3b;
  background: linear-gradient(135deg, var(--blue), var(--gold));
}
.member-id { flex: 1 1 150px; min-width: 0; }
.member-id h2 { margin: 0 0 4px; font-size: 1.05rem; }
.member-id p { margin: 0; color: var(--muted); font-size: 0.78rem; }
.member-balance { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 0.76rem; }
.member-balance strong { color: var(--gold-2); font-size: 1.32rem; }

.member-actions {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px;
}

.member-cards {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px;
}
.member-card {
  padding: 16px 12px; border-radius: 16px; text-align: center;
  background: rgba(255, 255, 255, 0.03); border: 1px solid var(--line);
}
.member-card-value { font-size: 1.6rem; font-weight: 800; }
.member-card-label { color: var(--muted); font-size: 0.76rem; margin-top: 4px; }
.member-card-foot {
  margin-top: 10px; padding: 7px 0; border-radius: 9px;
  font-size: 0.72rem; color: #0a1c2e;
  background: linear-gradient(135deg, #bfe1ff, #6fb3ff);
}

.member-list { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.member-row {
  display: flex; align-items: center; gap: 12px; width: 100%;
  padding: 12px 14px; border-radius: 14px;
  border: 1px solid var(--line); background: rgba(255, 255, 255, 0.03);
  color: var(--text); text-align: left;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.member-row span { flex: 1 1 auto; font-size: 0.88rem; }
.member-row em { font-style: normal; font-size: 0.74rem; color: var(--blue); }
.member-ico {
  flex: 0 0 34px !important;
  width: 34px; height: 34px;
  display: grid; place-items: center;
  border-radius: 10px;
  background: rgba(212, 175, 93, 0.1);
  border: 1px solid rgba(212, 175, 93, 0.22);
  color: var(--gold-2);
}
.member-ico svg {
  width: 17px; height: 17px;
  fill: none; stroke: currentColor; stroke-width: 1.7;
  stroke-linecap: round; stroke-linejoin: round;
}

/* ==========================================================
   APP 壳：底部导航（≤768px 生效）
   ========================================================== */
.app-tabbar { display: none; }

/* 桌面端：底部导航做成居中悬浮胶囊 */
@media (min-width: 769px) {
  .app-tabbar {
    display: flex;
    position: fixed;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    width: min(560px, calc(100% - 48px));
    z-index: 90;
    gap: 4px;
    padding: 7px;
    border-radius: 999px;
    background: rgba(9, 17, 23, 0.94);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(212, 175, 93, 0.18);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  }
  .app-tab {
    flex: 1 1 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 12px;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--muted);
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .app-tab svg {
    width: 18px; height: 18px;
    fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; stroke-linejoin: round;
  }
  .app-tab:hover { color: var(--text); background: rgba(255, 255, 255, 0.04); }
  .app-tab.active {
    color: var(--gold-2);
    background: rgba(212, 175, 93, 0.15);
    font-weight: 700;
  }
  body.has-app-tabbar { padding-bottom: 96px; }
}

@media (max-width: 768px) {
  .app-tabbar {
    display: flex;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
    background: rgba(9, 17, 23, 0.96);
    backdrop-filter: blur(14px);
    border-top: 1px solid var(--line);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
  }

  .app-tab {
    flex: 1 1 0;
    display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 4px 2px 2px;
    font-size: 11px; line-height: 1;
    color: var(--muted); text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  .app-tab svg {
    width: 22px; height: 22px;
    fill: none; stroke: currentColor; stroke-width: 1.7;
    stroke-linecap: round; stroke-linejoin: round;
  }

  .app-tab.active { color: var(--gold-2); font-weight: 700; }

  body { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
  .footer { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }

  /* App 壳下隐藏顶部菜单，避免与底部导航重复 */
  .nav-links { display: none !important; }

  /* 竖版活动 Banner：移动端铺满内容宽 */
  .app-banner {
    display: block;
    margin: 12px 0 4px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.36);
    -webkit-tap-highlight-color: transparent;
  }
  .app-banner img { display: block; width: 100%; height: auto; }
}

/* ==========================================================
   运营后台：模块面板 / 工具栏 / 明细表
   ========================================================== */
.dash-panel[hidden] { display: none !important; }
.dash-panel { display: block; }

.dash-toolbar {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}

.mini-input {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  padding: 9px 12px;
  font-size: 0.84rem;
  min-width: 200px;
  outline: none;
}
.mini-input:focus { border-color: rgba(212, 175, 93, 0.5); }

.mini-tab {
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 0.78rem;
  cursor: pointer;
  transition: all 0.18s ease;
}
.mini-tab:hover { color: var(--text); border-color: rgba(255, 255, 255, 0.18); }
.mini-tab.active {
  color: #2a1f06;
  border-color: transparent;
  background: linear-gradient(135deg, var(--gold-2), var(--gold));
  font-weight: 700;
}

.table td.mono { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 0.8rem; }
.table td.income { color: var(--green); font-weight: 700; }
.table td.outcome { color: var(--red); font-weight: 700; }
.table td.empty, .empty {
  text-align: center; color: var(--muted); padding: 22px 0; font-size: 0.84rem;
}
.table td.row-actions { display: flex; gap: 6px; flex-wrap: wrap; }

.detail-head {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}
.detail-item {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  display: flex; flex-direction: column; gap: 4px;
}
.detail-item span { color: var(--muted); font-size: 0.72rem; }
.detail-item strong { font-size: 0.9rem; }

.detail-sub {
  margin: 22px 0 10px;
  font-size: 0.92rem;
  color: var(--gold-2);
}

.pay-result {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(212, 175, 93, 0.28);
  background: rgba(212, 175, 93, 0.07);
}
.pay-result-row {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 5px 0; font-size: 0.84rem;
}
.pay-result-row span { color: var(--muted); }
.pay-result-row a { color: var(--blue); text-decoration: none; }
.pay-result-row a:hover { text-decoration: underline; }

/* 活码表单：按钮独占一行 */
#liveCodeForm .form-actions { grid-column: 1 / -1; }

/* 在线客服：输入中提示 */
.msg.typing {
  color: var(--muted);
  font-style: italic;
  opacity: 0.8;
}

/* 推送中心：竖排表单 */
.stack-form { display: flex; flex-direction: column; gap: 14px; }
.stack-form .payment-row { width: 100%; }
.mini-textarea {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text);
  padding: 10px 12px;
  font-size: 0.84rem;
  font-family: inherit;
  line-height: 1.6;
  resize: vertical;
  outline: none;
  width: 100%;
}
.mini-textarea:focus { border-color: rgba(212, 175, 93, 0.5); }

/* ==========================================================
   通用弹窗 / 弹窗卡片
   ========================================================== */
.modal-mask {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(3, 8, 12, 0.72);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.modal-mask.show { opacity: 1; }

.modal-card {
  width: 100%;
  max-width: 460px;
  max-height: calc(100vh - 40px);
  overflow: auto;
  border-radius: 20px;
  border: 1px solid rgba(212, 175, 93, 0.24);
  background: linear-gradient(180deg, #10202c, #0a141c);
  box-shadow: 0 32px 70px rgba(0, 0, 0, 0.6);
  transform: translateY(12px) scale(0.98);
  transition: transform 0.22s ease;
}
.modal-mask.show .modal-card { transform: translateY(0) scale(1); }
.modal-card.sm { max-width: 340px; }
.modal-card.lg { max-width: 720px; }

.modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px 0;
}
.modal-title { font-size: 1.05rem; font-weight: 800; margin: 0; }
.modal-sub { font-size: 0.76rem; color: var(--muted); margin-top: 4px; }
.modal-close {
  flex: 0 0 auto;
  width: 30px; height: 30px;
  display: grid; place-items: center;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  color: var(--muted);
  font-size: 15px; line-height: 1;
  cursor: pointer;
}
.modal-close:hover { color: var(--text); border-color: rgba(255, 255, 255, 0.2); }

.modal-body { padding: 16px 20px; font-size: 0.88rem; line-height: 1.75; color: var(--muted); }
.modal-foot {
  display: flex; gap: 10px; justify-content: flex-end;
  padding: 0 20px 20px;
}
.modal-foot .btn { min-width: 96px; }

/* 活动弹窗卡片（前端展示用） */
.popup-card { padding: 4px 0; }
.popup-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  color: #2a1f06;
  background: linear-gradient(135deg, var(--gold-2), var(--gold));
  margin-bottom: 10px;
}
.popup-title { font-size: 1.15rem; font-weight: 800; color: var(--text); margin: 0 0 8px; }
.popup-text { margin: 0 0 14px; color: var(--muted); }
.popup-figure {
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 12px;
  border: 1px solid var(--line);
}
.popup-figure img { display: block; width: 100%; height: auto; }

.popup-list { display: flex; flex-direction: column; gap: 10px; }
.popup-row {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.82rem;
}
.popup-row span { color: var(--muted); }
.popup-row strong { color: var(--text); font-weight: 700; }

@media (max-width: 620px) {
  .modal-card { max-width: 100%; border-radius: 18px; }
  .modal-foot { flex-direction: column-reverse; }
  .modal-foot .btn { width: 100%; }
}

/* 游戏卡片可点击 */
a.game-tile{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
a.game-tile:hover{transform:translateY(-4px)}
a.cat-card{cursor:pointer}

/* ==== 热门彩种卡片（真实彩种改造）==== */
.tile-emoji {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  font-size: 3.2rem;
  border-radius: inherit;
  background: linear-gradient(150deg, rgba(212, 175, 93, 0.16), rgba(11, 21, 30, 0.85));
}
.tile-data {
  position: absolute;
  left: 8px; bottom: 8px;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 0.64rem;
  font-weight: 700;
  background: rgba(9, 17, 23, 0.82);
  color: var(--muted);
  backdrop-filter: blur(6px);
}
.tile-data.real  { color: #3dd9a5; }
.tile-data.mixed { color: #9bb1c8; }
.tile-data.demo  { color: #9bb1c8; }

/* ==== 常见问题（可展开） ==== */
.faq-list { list-style: none; margin: 0; padding: 0; }
.faq-item {
  border-bottom: 1px solid var(--line);
}
.faq-item:last-child { border-bottom: 0; }
.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 2px;
  background: none;
  border: 0;
  color: var(--text);
  font-size: 0.9rem;
  text-align: left;
  cursor: pointer;
  transition: color 0.18s ease;
}
.faq-q:hover { color: var(--gold-2); }
.faq-item.open .faq-q { color: var(--gold-2); font-weight: 600; }
.faq-a {
  padding: 0 2px 15px;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.75;
  animation: faqIn 0.2s ease;
}
@keyframes faqIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.faq-loading {
  padding: 16px 2px;
  color: var(--muted);
  font-size: 0.84rem;
}

/* ===== 支付官方图标 & 通道状态（2026-11-07） ===== */
.pay-icon img,
.pay-card .pay-icon > img {
  width: 48px;
  height: 48px;
  border-radius: 11px;
  object-fit: contain;
  display: block;
}
.pay-card.is-off {
  opacity: 0.55;
  filter: grayscale(0.55);
}
.pay-card.is-off:hover {
  transform: none;
}
.pay-badge-off {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #cfd8e3 !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}
.btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ===== 支付方式图标选择器（2026-11-07） ===== */
.pay-picker {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 10px;
}
@media (max-width: 720px) {
  .pay-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pay-pick {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 8px 12px;
  border-radius: 14px;
  border: 1.5px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .04);
  color: var(--muted, #9bb1c8);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: border-color .18s, background .18s, box-shadow .18s, transform .12s;
  -webkit-tap-highlight-color: transparent;
}
.pay-pick:hover:not(.is-off) {
  border-color: rgba(212, 175, 93, .55);
  background: rgba(212, 175, 93, .08);
}
.pay-pick:active:not(.is-off) { transform: scale(.98); }
.pay-pick .pay-pick-ico {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  object-fit: contain;
  display: block;
}
.pay-pick .pay-pick-name { font-weight: 600; letter-spacing: .2px; }
.pay-pick.is-on {
  border-color: var(--gold, #d4af5d);
  background: rgba(212, 175, 93, .14);
  color: var(--gold-2, #f3d890);
  box-shadow: 0 0 0 3px rgba(212, 175, 93, .16), 0 8px 20px rgba(0, 0, 0, .28);
}
.pay-pick.is-off {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(.7);
}
.pay-pick .pay-pick-off {
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 10px;
  padding: 2px 5px;
  border-radius: 5px;
  background: rgba(255, 255, 255, .14);
  color: #cfd8e3;
  letter-spacing: 0;
}
.pay-picker-tip {
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--orange, #ffb85d);
}
.pay-picker-empty { color: var(--muted, #9bb1c8); font-size: 13px; }

/* 兜底：其它页面若仍有原生下拉，深色主题下保证选项可读 */
select option {
  background: #16202f;
  color: #e9f0f8;
}

/* ===== 充值记录（2026-11-07） ===== */
.tag-btn {
  cursor: pointer;
  border: 1px solid rgba(212, 175, 93, .45);
  background: rgba(212, 175, 93, .1);
  color: var(--gold-2, #f3d890);
  font: inherit;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 999px;
  transition: background .18s, opacity .18s;
}
.tag-btn:hover { background: rgba(212, 175, 93, .2); }
.tag-btn[disabled] { opacity: .5; cursor: default; }

.rc-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding: 10px 14px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .04);
  font-size: 13px;
  color: var(--muted, #9bb1c8);
}
.rc-summary b { color: var(--gold-2, #f3d890); font-size: 15px; }

.rc-head,
.rc-row {
  display: grid;
  grid-template-columns: 96px 224px minmax(88px, 1fr) 108px 78px;
  gap: 12px;
  align-items: center;
}
.rc-head {
  padding: 0 12px 8px;
  font-size: 12px;
  color: var(--muted, #9bb1c8);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
.rc-list { display: flex; flex-direction: column; }
.rc-row {
  padding: 12px;
  font-size: 13px;
  border-bottom: 1px solid rgba(255, 255, 255, .05);
  transition: background .15s;
}
.rc-row:hover { background: rgba(255, 255, 255, .03); }
.rc-row:last-child { border-bottom: 0; }
.rc-time { color: var(--muted, #9bb1c8); font-variant-numeric: tabular-nums; }
.rc-no {
  color: #cfe0f2;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rc-ch { color: #cfe0f2; }
.rc-amt {
  text-align: right;
  font-variant-numeric: tabular-nums;
  color: #e9f0f8;
  font-weight: 600;
}
.rc-amt.is-paid { color: var(--green, #3dd9a5); }
.rc-st {
  text-align: center;
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 999px;
  justify-self: end;
}
.rc-st.ok { background: rgba(61, 217, 165, .14); color: #3dd9a5; }
.rc-st.wait { background: rgba(255, 184, 93, .14); color: #ffb85d; }
.rc-empty {
  padding: 34px 12px;
  text-align: center;
  color: var(--muted, #9bb1c8);
  font-size: 13px;
}

@media (max-width: 720px) {
  .rc-head { display: none; }
  .rc-row {
    grid-template-columns: 1fr auto;
    grid-template-areas: "no st" "meta meta";
    row-gap: 6px;
    padding: 12px 4px;
  }
  .rc-no { grid-area: no; }
  .rc-st { grid-area: st; }
  .rc-time { grid-area: meta; }
  .rc-ch { display: none; }
  .rc-amt {
    grid-area: meta;
    justify-self: end;
    font-size: 15px;
  }
  .rc-time { align-self: end; }
  .rc-row { grid-template-columns: 1fr auto; }
  .rc-row > .rc-amt { grid-column: 2; grid-row: 2; }
  .rc-row > .rc-time { grid-column: 1; grid-row: 2; }
}

/* ===== 后台系统设置 / TG 授权（2026-11-07） ===== */
.set-tip { margin:0 0 16px; font-size:12px; color:var(--muted,#9bb1c8); }
.set-tip code { background:rgba(255,255,255,.07); padding:1px 5px; border-radius:4px; }

.set-group { margin-bottom:22px; border:1px solid rgba(255,255,255,.08); border-radius:14px; overflow:hidden; }
.set-group-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; background:rgba(212,175,93,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.set-group-head h4 { margin:0; font-size:14px; color:var(--gold-2,#f3d890); letter-spacing:.3px; }
.set-group-tag { font-size:11px; color:var(--muted,#9bb1c8); }

.set-rows { padding:6px 0; }
.set-row {
  display:grid; grid-template-columns:210px minmax(0,1fr);
  gap:16px; align-items:center; padding:10px 16px;
}
.set-row + .set-row { border-top:1px solid rgba(255,255,255,.04); }
.set-label { font-size:13px; color:#dbe6f2; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.set-label small { flex-basis:100%; font-size:11px; color:var(--muted,#9bb1c8); margin-top:2px; }
.set-secret {
  font-style:normal; font-size:10px; padding:1px 5px; border-radius:4px;
  background:rgba(255,184,93,.16); color:#ffb85d;
}
.set-empty {
  font-style:normal; font-size:10px; padding:1px 5px; border-radius:4px;
  background:rgba(255,117,130,.16); color:#ff7582;
}
.set-input input[type=text], .set-input select, .set-input textarea {
  width:100%; padding:9px 12px; border-radius:9px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05); color:#e9f0f8;
  font-size:13px; font-family:inherit; outline:none;
  transition:border-color .16s, background .16s;
}
.set-input input:focus, .set-input select:focus, .set-input textarea:focus {
  border-color:rgba(212,175,93,.6); background:rgba(212,175,93,.07);
}
.set-input select option { background:#16202f; color:#e9f0f8; }
.set-input textarea { resize:vertical; line-height:1.7; }

.set-switch { display:inline-flex; align-items:center; gap:10px; cursor:pointer; user-select:none; }
.set-switch input { display:none; }
.set-switch-track {
  width:44px; height:24px; border-radius:999px; background:rgba(255,255,255,.14);
  position:relative; transition:background .2s;
}
.set-switch-track i {
  position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%;
  background:#fff; transition:transform .2s;
}
.set-switch input:checked + .set-switch-track { background:var(--green,#3dd9a5); }
.set-switch input:checked + .set-switch-track i { transform:translateX(20px); }
.set-switch-text { font-size:12px; color:var(--muted,#9bb1c8); }

.set-form-inline { display:flex; flex-wrap:wrap; gap:10px; }
.set-form-inline input {
  flex:1 1 180px; padding:9px 12px; border-radius:9px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05); color:#e9f0f8; font-size:13px; outline:none;
}
.set-form-inline input:focus { border-color:rgba(212,175,93,.6); }

.data-table { width:100%; border-collapse:collapse; font-size:13px; }
.data-table th {
  text-align:left; padding:10px 12px; font-size:12px; font-weight:600;
  color:var(--muted,#9bb1c8); border-bottom:1px solid rgba(255,255,255,.08);
}
.data-table td { padding:11px 12px; border-bottom:1px solid rgba(255,255,255,.045); color:#dbe6f2; }
.data-table tr:last-child td { border-bottom:0; }
.data-table .mono { font-family:ui-monospace,Menlo,Consolas,monospace; font-size:12px; color:#cfe0f2; }
.table-wrap { overflow-x:auto; }

@media (max-width:720px) {
  .set-row { grid-template-columns:1fr; gap:8px; }
  .set-label { font-size:12px; }
}

/* ===== 彩种 3D 图标（2026-11-07） ===== */
.lot-icon img {
  width: 46px;
  height: 46px;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .38));
}
.lot-emoji { font-size: 34px; line-height: 1; }

.tile-emoji img.tile-ico {
  width: 54px;
  height: 54px;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .42));
  transition: transform .22s;
}
.tile-emoji:hover img.tile-ico { transform: translateY(-2px) scale(1.04); }
.tile-emoji-txt { font-size: 40px; line-height: 1; }

/* ===== 游戏分类（6 主分类 + 彩票树）2026-11-07 ===== */
#cats .cat-wall {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 1100px) { #cats .cat-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px)  { #cats .cat-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.cat-tile {
  position: relative;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 0 0 12px; border-radius: 16px; overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  cursor: pointer; font: inherit; color: inherit; text-align: center;
  transition: transform .18s, border-color .18s, box-shadow .18s;
  -webkit-tap-highlight-color: transparent;
}
.cat-tile:hover:not(.is-off) {
  transform: translateY(-3px);
  border-color: rgba(212,175,93,.5);
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
}
.cat-tile-art { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; }
.cat-tile-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cat-tile-flag {
  position: absolute; top: 8px; right: 8px;
  font-size: 10px; font-style: normal; padding: 2px 7px; border-radius: 999px;
  background: rgba(10,16,24,.72); color: #cfd8e3; border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(4px);
}
.cat-tile-flag.on { background: rgba(61,217,165,.16); color: #3dd9a5; border-color: rgba(61,217,165,.4); }
.cat-tile-name { font-size: 14px; font-weight: 700; color: #e9f0f8; letter-spacing: .3px; }
.cat-tile-desc { font-size: 11px; color: var(--muted,#9bb1c8); }
.cat-tile.is-off { opacity: .55; cursor: not-allowed; }
.cat-tile.is-off .cat-tile-art img { filter: grayscale(.85); }

/* ---------- 彩票分类树 ---------- */
.lot-tree { margin-top: 26px; display: flex; flex-direction: column; gap: 16px; }

.lot-group {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px; overflow: hidden;
  background: rgba(255,255,255,.022);
}
.lot-group.is-hot { border-color: rgba(212,175,93,.42); background: rgba(212,175,93,.055); }

.lot-group-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.lot-group-head h3 { margin: 0; font-size: 14px; color: #e9f0f8; letter-spacing: .4px; }
.lot-group.is-hot .lot-group-head h3 { color: var(--gold-2,#f3d890); }
.lot-group-tag { font-size: 11px; color: var(--muted,#9bb1c8); }

.lot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(178px, 1fr));
  gap: 10px; padding: 14px 16px 16px;
}

.lot-item {
  position: relative;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
  text-decoration: none; color: #dbe6f2; font: inherit; font-size: 13px;
  cursor: pointer; text-align: left;
  transition: border-color .16s, background .16s, transform .12s;
  -webkit-tap-highlight-color: transparent;
}
.lot-item.is-on:hover {
  border-color: rgba(212,175,93,.55);
  background: rgba(212,175,93,.1);
  transform: translateY(-1px);
}
.lot-item.is-off { opacity: .48; cursor: not-allowed; }

.lot-ico { width: 30px; height: 30px; flex: 0 0 30px; display: flex; align-items: center; justify-content: center; }
.lot-ico img { width: 30px; height: 30px; object-fit: contain; display: block;
               filter: drop-shadow(0 3px 7px rgba(0,0,0,.38)); }
.lot-ico-emoji { font-size: 20px; line-height: 1; }
.lot-name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lot-flag {
  flex: 0 0 auto; font-size: 10px; font-style: normal;
  padding: 2px 6px; border-radius: 5px;
  background: rgba(255,255,255,.1); color: #b9c6d6;
}
.lot-flag.on { background: rgba(61,217,165,.16); color: #3dd9a5; }

@media (max-width: 640px) {
  .lot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; gap: 8px; }
  .lot-item { padding: 9px 10px; font-size: 12px; gap: 8px; }
  .lot-ico, .lot-ico img { width: 24px; height: 24px; flex-basis: 24px; }
  .lot-flag { display: none; }
}

/* ===================== 子分类名称不再被截断（2026-11-07 修正） ===================== */
/* 原来 white-space:nowrap 把「（福彩）七乐彩」压成「（福彩）…」，改为最多两行 */
.lot-name {
  flex: 1 1 auto;
  min-width: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
  text-overflow: clip;
  line-height: 1.3;
  word-break: break-word;
}


/* ===================== 备用线路悬浮入口（2026-11-07 新增） ===================== */
.yt-lines-fab {
  position: fixed;
  right: 16px;
  bottom: 92px;
  z-index: 9990;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 93, .5);
  background: rgba(8, 18, 26, .92);
  color: #f3d890;
  font-family: inherit;
  font-size: 12.5px;
  letter-spacing: .5px;
  cursor: pointer;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
  transition: transform .16s ease, border-color .16s ease;
}
.yt-lines-fab:hover { transform: translateY(-2px); border-color: #ffd75e; color: #ffd75e; }
.yt-lines-fab.is-open { background: rgba(212, 175, 93, .18); border-color: #ffd75e; color: #ffd75e; }

.yt-lines-panel {
  position: fixed;
  right: 16px;
  bottom: 140px;
  z-index: 9991;
  width: 268px;
  max-height: 62vh;
  overflow: auto;
  padding: 14px;
  border-radius: 16px;
  background: rgba(9, 20, 29, .97);
  border: 1px solid rgba(212, 175, 93, .34);
  box-shadow: 0 18px 46px rgba(0, 0, 0, .6);
  backdrop-filter: blur(12px);
  opacity: 0;
  transform: translateY(10px) scale(.97);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.yt-lines-panel.show { opacity: 1; transform: none; pointer-events: auto; }

.yl-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 10px; margin-bottom: 10px; padding-bottom: 9px;
  border-bottom: 1px dashed rgba(255, 255, 255, .1);
}
.yl-head b { font-size: 13.5px; color: #fff; letter-spacing: .6px; }
.yl-head span { font-size: 10.5px; color: #7d8fa3; }

.yl-list { display: flex; flex-direction: column; gap: 5px; }

.yl-item {
  display: flex; align-items: center; gap: 9px;
  padding: 8px 10px; border-radius: 10px;
  text-decoration: none;
  background: rgba(255, 255, 255, .035);
  border: 1px solid transparent;
  transition: .14s;
}
.yl-item:hover { background: rgba(212, 175, 93, .12); border-color: rgba(212, 175, 93, .45); }
.yl-item i {
  flex: 0 0 20px; height: 20px; border-radius: 6px;
  display: grid; place-items: center;
  font-style: normal; font-size: 10.5px; font-weight: 800;
  background: rgba(212, 175, 93, .16); color: #d4af5d;
}
.yl-item b { font-size: 12.5px; color: #dbe6f2; font-weight: 600; white-space: nowrap; }
.yl-item span {
  margin-left: auto; font-size: 10.5px; color: #7d8fa3;
  max-width: 116px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.yl-item em {
  font-style: normal; font-size: 9.5px; padding: 1px 6px; border-radius: 999px;
  background: rgba(61, 217, 165, .2); color: #3dd9a5; border: 1px solid rgba(61, 217, 165, .45);
}
.yl-item.is-cur { background: rgba(212, 175, 93, .16); border-color: rgba(255, 215, 94, .55); }
.yl-item.is-cur b { color: #ffd75e; }
.yl-item.is-off { opacity: .42; }
.yl-item.is-off:hover { background: rgba(255, 255, 255, .035); border-color: transparent; }

.yl-foot {
  margin-top: 10px; padding-top: 9px;
  border-top: 1px dashed rgba(255, 255, 255, .1);
  font-size: 10.5px; color: #7d8fa3; text-align: center;
}

@media (max-width: 600px) {
  .yt-lines-fab { right: 12px; bottom: 86px; padding: 8px 12px; font-size: 12px; }
  .yt-lines-panel { right: 10px; left: 10px; width: auto; bottom: 132px; max-height: 56vh; }
}


/* ===================== 全站悬浮：线路 + 客服（2026-11-07） ===================== */

/* ── 悬浮按钮 ── */
.yt-fab {
  position: fixed;
  right: 16px;
  z-index: 9990;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(212, 175, 93, .5);
  background: rgba(8, 18, 26, .92);
  color: #f3d890;
  font-family: inherit;
  font-size: 12.5px;
  letter-spacing: .5px;
  cursor: pointer;
  backdrop-filter: blur(8px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
  transition: transform .16s ease, border-color .16s ease, background .16s;
}
.yt-fab:hover { transform: translateY(-2px); border-color: #ffd75e; color: #ffd75e; }
.yt-fab.is-open { background: rgba(212, 175, 93, .18); border-color: #ffd75e; color: #ffd75e; }

.yt-fab-lines { bottom: 92px; }

.yt-fab-kefu {
  bottom: 142px;
  border-color: rgba(41, 171, 235, .55);
  color: #6fc7ef;
  background: rgba(8, 20, 30, .92);
}
.yt-fab-kefu:hover { border-color: #29abeb; color: #a8e2ff; }
.yt-fab-kefu.is-open { background: rgba(41, 171, 235, .18); border-color: #29abeb; color: #a8e2ff; }

/* ── 面板容器 ── */
.yt-panel {
  position: fixed;
  right: 16px;
  z-index: 9991;
  width: 272px;
  max-width: calc(100vw - 24px);
  max-height: 64vh;
  overflow: auto;
  padding: 14px;
  border-radius: 16px;
  background: rgba(9, 20, 29, .97);
  border: 1px solid rgba(212, 175, 93, .34);
  box-shadow: 0 18px 46px rgba(0, 0, 0, .6);
  backdrop-filter: blur(12px);
  opacity: 0;
  transform: translateY(10px) scale(.97);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.yt-panel.show { opacity: 1; transform: none; pointer-events: auto; }
.yt-panel-lines { bottom: 140px; }
.yt-panel-kefu { bottom: 190px; border-color: rgba(41, 171, 235, .34); }

/* ── 线路按钮：可用=绿色 / 未配置=灰 ── */
button.yl-item {
  width: 100%;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
}

.yl-item.is-ok {
  border-color: rgba(61, 217, 165, .35);
  background: rgba(61, 217, 165, .07);
}
.yl-item.is-ok i { background: rgba(61, 217, 165, .18); color: #3dd9a5; }
.yl-item.is-ok b { color: #d7f5ea; }
.yl-item.is-ok:hover { border-color: #3dd9a5; background: rgba(61, 217, 165, .14); }
.yl-item.is-ok.is-reveal { border-color: #3dd9a5; background: rgba(61, 217, 165, .2); }

.yl-item.is-main.is-ok {
  border-color: rgba(255, 215, 94, .6);
  background: rgba(212, 175, 93, .12);
}
.yl-item.is-main.is-ok i { background: rgba(212, 175, 93, .2); color: #ffd75e; }

/* ── 域名脱敏 ── */
.yl-mask {
  margin-left: auto;
  font-size: 11px;
  color: #7d8fa3;
  letter-spacing: 1.5px;
  font-variant-numeric: tabular-nums;
  transition: color .15s, letter-spacing .15s;
}
.yl-mask.is-show {
  color: #3dd9a5;
  letter-spacing: 0;
  font-weight: 700;
}

/* ── 客服面板 ── */
.kc-now {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: #9bb1c8;
  margin-bottom: 12px;
}
.kc-now b { color: #f3d890; font-variant-numeric: tabular-nums; }

.kc-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #3dd9a5;
  box-shadow: 0 0 0 0 rgba(61, 217, 165, .7);
  animation: kcPulseFab 1.8s infinite;
  flex: 0 0 7px;
}
@keyframes kcPulseFab {
  70% { box-shadow: 0 0 0 7px rgba(61, 217, 165, 0); }
  100% { box-shadow: 0 0 0 0 rgba(61, 217, 165, 0); }
}

.kc-main {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border-radius: 12px;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .5px;
  color: #04222f;
  background: linear-gradient(135deg, #a8e2ff, #29abeb 55%, #1272a8);
  box-shadow: 0 8px 22px rgba(41, 171, 235, .32);
  transition: transform .16s, box-shadow .16s, opacity .16s;
}
.kc-main:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(41, 171, 235, .42); }
.kc-main.is-reveal { opacity: .75; }

.kc-mask-line {
  margin-top: 9px;
  font-size: 11px;
  color: #7d8fa3;
  display: flex;
  align-items: center;
  gap: 6px;
}
.kc-mask-line .yl-mask { margin-left: 0; }

.kc-shifts { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.kc-shift {
  font-size: 10.5px;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .12);
  color: #7d8fa3;
  font-variant-numeric: tabular-nums;
}
.kc-shift.is-now {
  color: #3dd9a5;
  border-color: rgba(61, 217, 165, .5);
  background: rgba(61, 217, 165, .12);
}

.kc-links {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed rgba(255, 255, 255, .1);
}
.kc-links a {
  font-size: 11.5px;
  color: #f3d890;
  text-decoration: none;
  padding: 3px 9px;
  border-radius: 7px;
  background: rgba(212, 175, 93, .1);
  border: 1px solid rgba(212, 175, 93, .28);
}
.kc-links a:hover { background: rgba(212, 175, 93, .2); }

@media (max-width: 600px) {
  .yt-fab { right: 12px; padding: 8px 12px; font-size: 12px; }
  .yt-fab-lines { bottom: 86px; }
  .yt-fab-kefu { bottom: 132px; }
  .yt-panel { right: 10px; left: 10px; width: auto; }
  .yt-panel-lines { bottom: 130px; max-height: 56vh; }
  .yt-panel-kefu { bottom: 176px; max-height: 56vh; }
}
/* ===================== 线路「进入」按钮 + 页脚入口（2026-11-07） ===================== */

/* 线路项右侧的「进入」标签 */
.yl-item .yl-go {
  flex: 0 0 auto;
  margin-left: 6px;
  font-style: normal;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .5px;
  padding: 3px 8px;
  border-radius: 7px;
  color: #04291d;
  background: linear-gradient(135deg, #7ff0c4, #3dd9a5);
  box-shadow: 0 3px 10px rgba(61, 217, 165, .3);
  transition: transform .14s ease;
}
.yl-item.is-ok:hover .yl-go { transform: translateX(2px); }
.yl-item.is-main.is-ok .yl-go {
  color: #2a1c06;
  background: linear-gradient(135deg, #ffe9a8, #ffd75e);
  box-shadow: 0 3px 10px rgba(255, 215, 94, .3);
}
.yl-item.is-reveal .yl-go { opacity: .35; }

/* 页脚「切换线路」按钮 */
.yt-footer-lines {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
}
.yt-footer-lines svg { flex: 0 0 auto; opacity: .85; }

/* 窄屏：面板内「进入」小一号 */
@media (max-width: 600px) {
  .yl-item .yl-go { font-size: 9.5px; padding: 2px 6px; }
}
/* ===================== 全局浮窗 4 件套（2026-11-07） =====================
   游戏大厅 → 个人中心 → 客服中心 → 安全线路（从上到下）
   面板统一在按钮左侧展开，不遮挡按钮 */

/* ── 四个按钮的纵向定位 ── */
.yt-fab-lines  { bottom: 92px; }   /* 安全线路 */
.yt-fab-kefu   { bottom: 142px; }  /* 客服中心 */
.yt-fab-member { bottom: 192px; }  /* 个人中心 */
.yt-fab-lobby  { bottom: 242px; }  /* 游戏大厅 */

/* ── 配色区分 ── */
.yt-fab-lobby {
  border-color: rgba(255, 215, 94, .5);
  color: #f3d890;
}
.yt-fab-lobby:hover,
.yt-fab-lobby.is-open { border-color: #ffd75e; color: #ffd75e; background: rgba(212, 175, 93, .18); }

.yt-fab-member {
  border-color: rgba(94, 230, 180, .5);
  color: #5ee6b4;
  background: rgba(8, 24, 20, .92);
}
.yt-fab-member:hover { border-color: #5ee6b4; color: #8ff5cd; background: rgba(61, 217, 165, .16); }

.yt-fab-kefu {
  border-color: rgba(41, 171, 235, .55);
  color: #6fc7ef;
  background: rgba(8, 20, 30, .92);
}
.yt-fab-kefu:hover,
.yt-fab-kefu.is-open { border-color: #29abeb; color: #a8e2ff; background: rgba(41, 171, 235, .18); }

.yt-fab-lines {
  border-color: rgba(212, 175, 93, .5);
  color: #f3d890;
}
.yt-fab-lines:hover,
.yt-fab-lines.is-open { border-color: #ffd75e; color: #ffd75e; background: rgba(212, 175, 93, .18); }

/* 按钮文字略缩，避免四字太宽 */
.yt-fab { padding: 9px 12px; font-size: 12px; gap: 4px; }

/* ── 面板：移到按钮左侧，纵向对齐各自按钮 ── */
.yt-panel {
  right: 126px;
  width: 268px;
}
.yt-panel-lines { bottom: 92px; }
.yt-panel-kefu  { bottom: 142px; }

/* 窄屏：面板铺满、按钮保持右下 */
@media (max-width: 600px) {
  .yt-fab { padding: 8px 11px; font-size: 11.5px; }
  .yt-fab-lines  { bottom: 86px; }
  .yt-fab-kefu   { bottom: 136px; }
  .yt-fab-member { bottom: 186px; }
  .yt-fab-lobby  { bottom: 236px; }

  .yt-panel { left: 10px; right: 10px; width: auto; }
  .yt-panel-lines { bottom: 132px; max-height: 52vh; }
  .yt-panel-kefu  { bottom: 182px; max-height: 52vh; }
}

/* 很矮的屏幕（横屏）隐藏个人中心/大厅浮窗，避免遮挡 */
@media (max-height: 520px) {
  .yt-fab-lobby, .yt-fab-member { display: none; }
}


/* ============================================================
   顶部滚动公告 + 广告位
   ============================================================ */
.yt-notice{
  display:flex;align-items:center;gap:10px;
  padding:8px 16px;
  background:linear-gradient(90deg,rgba(212,175,93,.16),rgba(212,175,93,.05));
  border-top:1px solid rgba(212,175,93,.22);
  border-bottom:1px solid rgba(212,175,93,.22);
  overflow:hidden;
}
.yt-notice-ico{flex:0 0 auto;font-size:14px;line-height:1;}
.yt-notice-track{flex:1;overflow:hidden;position:relative;height:20px;}
.yt-notice-inner{
  position:absolute;white-space:nowrap;will-change:transform;
  font-size:12.5px;line-height:20px;color:#ffe6b0;
  text-decoration:none;cursor:pointer;
  animation:ytMarquee 34s linear infinite;
}
.yt-notice-inner:hover{color:#ffd75e;text-shadow:0 0 10px rgba(255,215,94,.55);}
.yt-notice:hover .yt-notice-inner{animation-play-state:paused;}
@keyframes ytMarquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-100%);}
}
.yt-notice-x{
  flex:0 0 auto;width:22px;height:22px;border-radius:6px;cursor:pointer;
  border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.25);
  color:#9bb1c8;font-size:11px;line-height:1;font-family:inherit;
}
.yt-notice-x:hover{border-color:#ffd75e;color:#ffd75e;}

/* ── 广告容器 ── */
.yt-ads{margin:14px auto;max-width:1240px;padding:0 16px;}
.yt-ads-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.yt-ads-h span{font-size:13px;color:#f3d890;letter-spacing:.5px;}
.yt-ads-desc{margin:0 0 10px;font-size:12px;line-height:1.7;color:var(--muted,#8fa6c0);}
.yt-ads-desc a{color:var(--gold-2,#ffd75e);text-decoration:none;border-bottom:1px dashed rgba(255,215,94,.45);}
.yt-ads-desc a:hover{color:#fff;border-bottom-color:#fff;}

/* 「立即咨询」按钮（全局不使用明文账号） */
.yt-consult{display:inline-flex;align-items:center;gap:5px;padding:3px 12px;border-radius:999px;
  font-size:11.8px;font-weight:700;letter-spacing:.3px;text-decoration:none;
  color:#231704 !important;background:linear-gradient(135deg,var(--gold,#e8b23a),var(--gold-2,#ffd75e));
  border:0 !important;box-shadow:0 4px 12px rgba(232,178,58,.28);transition:.15s;}
.yt-consult:hover{filter:brightness(1.08);transform:translateY(-1px);color:#231704 !important;}
.yt-adv-foot .yt-consult{padding:4px 14px;font-size:12px;}

/* 关键词文字滚动（替代原图标轮播） */
.yt-word-row{overflow:hidden;position:relative;padding:2px 0;}
.yt-word-row:before,.yt-word-row:after{content:'';position:absolute;top:0;bottom:0;width:36px;z-index:2;pointer-events:none;}
.yt-word-row:before{left:0;background:linear-gradient(90deg,rgba(6,12,18,.9),transparent);}
.yt-word-row:after{right:0;background:linear-gradient(270deg,rgba(6,12,18,.9),transparent);}
.yt-word-track{display:flex;align-items:center;gap:10px;width:max-content;
  animation:ytWordMarquee var(--yt-word-dur,26s) linear infinite;}
.yt-word{flex:0 0 auto;display:inline-flex;align-items:center;padding:7px 16px;border-radius:999px;font-size:13px;letter-spacing:1px;
  color:#f3d890;border:1px solid rgba(212,175,93,.28);background:rgba(212,175,93,.07);white-space:nowrap;
  text-decoration:none;cursor:pointer;transition:.16s;}
.yt-word:hover{color:#231704;background:linear-gradient(135deg,var(--gold,#e8b23a),var(--gold-2,#ffd75e));border-color:transparent;}
.yt-word.is-dup,.yt-word-gif.is-dup{pointer-events:none;}
.yt-word:nth-child(3n+2){color:#ffe9a8;border-color:rgba(255,215,94,.40);background:rgba(255,215,94,.10);}

/* 文字 + GIF 闪图混排 */
.yt-word-gif{flex:0 0 auto;display:block;width:40px;height:40px;border-radius:12px;overflow:hidden;cursor:pointer;
  border:1px solid rgba(212,175,93,.42);background:rgba(0,0,0,.35);
  box-shadow:0 4px 14px rgba(232,178,58,.22);transition:.16s;}
.yt-word-gif:hover{transform:translateY(-2px);border-color:#ffd75e;box-shadow:0 8px 20px rgba(232,178,58,.42);}
.yt-word-gif img{width:100%;height:100%;object-fit:cover;display:block;}
.yt-word-row:hover .yt-word-gif img{animation-play-state:paused;}
.yt-word-row:hover .yt-word-track{animation-play-state:paused;}
@keyframes ytWordMarquee{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}

.yt-ads-h em{font-style:normal;font-size:10px;padding:1px 6px;border-radius:4px;
  background:rgba(255,255,255,.08);color:#7d94a8;}

/* ── banner 轮播 ── */
.yt-ban-view{overflow:hidden;border-radius:16px;border:1px solid rgba(212,175,93,.25);
  background:rgba(0,0,0,.25);}
.yt-ban-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.yt-ban-item{flex:0 0 100%;aspect-ratio:1500/790;max-height:420px;overflow:hidden;cursor:pointer;}
.yt-ban-item img{width:100%;height:100%;object-fit:cover;display:block;}
.yt-ban-ph{display:flex;align-items:center;justify-content:center;height:100%;
  font-size:20px;color:#f3d890;}
.yt-ban-dots{display:flex;justify-content:center;gap:6px;margin-top:9px;}
.yt-ban-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.2);cursor:pointer;transition:.2s;}
.yt-ban-dots i.on{width:18px;border-radius:4px;background:linear-gradient(90deg,#ffd75e,#d8a53a);}

/* ── icon 一排 ── */
.yt-ico-row{overflow:hidden;padding:4px 0 8px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);}
.yt-ico-track{display:flex;width:max-content;will-change:transform;
  animation:ytIcoMarquee var(--yt-ico-dur,34s) linear infinite;}
.yt-ico-row:hover .yt-ico-track,
.yt-ico-row:active .yt-ico-track{animation-play-state:paused;}
@keyframes ytIcoMarquee{from{transform:translate3d(0,0,0);}to{transform:translate3d(-50%,0,0);}}
.yt-ico{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;
  text-decoration:none;width:64px;margin-right:12px;}
.yt-ico img{width:64px;height:64px;border-radius:14px;object-fit:cover;
  border:1px solid rgba(212,175,93,.28);background:rgba(0,0,0,.3);transition:.18s;}
.yt-ico:hover img{transform:translateY(-2px);border-color:#ffd75e;box-shadow:0 6px 18px rgba(212,175,93,.25);}
.yt-ico span{width:64px;height:64px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(212,175,93,.14);color:#f3d890;font-size:18px;}
.yt-ico em{font-style:normal;font-size:10.5px;color:#9bb1c8;max-width:64px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ── 文字广告位 ── */
.yt-ads-texts{max-width:100%;overflow:hidden;}
.yt-txt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;}
.yt-txt{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;min-width:0;
  text-decoration:none;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);
  transition:.16s;}
.yt-txt:hover{border-color:rgba(212,175,93,.45);background:rgba(212,175,93,.08);}
.yt-txt i{flex:0 0 auto;width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;
  font-style:normal;font-size:10.5px;background:rgba(212,175,93,.18);color:#f3d890;}
.yt-txt span{flex:1 1 auto;min-width:0;font-size:12px;color:#cdd9e5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ── 弹窗广告 ── */
.yt-ad-mask{position:fixed;inset:0;z-index:9996;display:flex;align-items:center;justify-content:center;
  background:rgba(3,10,16,.78);backdrop-filter:blur(3px);padding:16px;}
.yt-ad-pop{position:relative;width:min(575px,92vw);max-height:88vh;border-radius:18px;overflow:hidden;
  background:#0a1a26;border:1px solid rgba(212,175,93,.4);box-shadow:0 24px 70px rgba(0,0,0,.65);}
.yt-ad-pop img{width:100%;display:block;}
.yt-ad-ph{aspect-ratio:575/523;display:flex;align-items:center;justify-content:center;
  font-size:18px;color:#f3d890;background:rgba(212,175,93,.1);}
.yt-ad-cap{padding:10px 14px;font-size:12.5px;color:#cdd9e5;background:rgba(0,0,0,.3);}
.yt-ad-x{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;cursor:pointer;
  border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.5);color:#fff;font-size:13px;line-height:1;font-family:inherit;}
.yt-ad-x:hover{background:#c0392b;border-color:#c0392b;}

/* ── 手机适配 ── */
@media (max-width:900px){
  .yt-txt-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .yt-ban-item{max-height:300px;}
}
@media (max-width:600px){
  .yt-notice{padding:7px 12px;gap:8px;}
  .yt-notice-inner{font-size:11.5px;}
  .yt-ads{padding:0 12px;margin:10px auto;}
  .yt-ban-item{max-height:190px;aspect-ratio:1500/790;}
  .yt-ban-view{border-radius:12px;}
  .yt-ico{width:56px;}
  .yt-ico img,.yt-ico span{width:56px;height:56px;border-radius:12px;}
  .yt-ico em{max-width:56px;font-size:10px;}
  .yt-txt-grid{grid-template-columns:1fr;}
  .yt-ad-pop{width:min(575px,94vw);}
}


/* ===== 后台广告管理 ===== */
.ads-filter{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:14px 0 10px;}
.ads-filter .chip{padding:5px 12px;border-radius:999px;cursor:pointer;font-family:inherit;font-size:12px;
  border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);color:#9bb1c8;transition:.16s;}
.ads-filter .chip:hover{border-color:rgba(212,175,93,.5);color:#f3d890;}
.ads-filter .chip.is-on{background:linear-gradient(135deg,#ffd75e,#d8a53a);border-color:transparent;color:#3a2408;font-weight:700;}
.ads-filter-sep{width:1px;height:18px;background:rgba(255,255,255,.12);margin:0 4px;}
.ads-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}

.ads-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.ads-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);flex-wrap:wrap;}
.ads-row:hover{border-color:rgba(212,175,93,.3);}
.ads-row-l{display:flex;align-items:center;gap:11px;flex:1;min-width:220px;}
.ads-row-t{display:flex;flex-direction:column;gap:3px;min-width:0;}
.ads-row-t b{font-size:13px;color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px;}
.ads-row-t span{font-size:11px;color:#7d94a8;}
.ads-row-r{display:flex;gap:6px;flex-wrap:wrap;}
.ads-lv{flex:0 0 auto;font-size:10px;padding:2px 8px;border-radius:5px;background:rgba(111,199,239,.16);color:#a8e2ff;}
.ads-lv-warn{background:rgba(255,184,93,.16);color:#ffb85d;}
.ads-lv-success{background:rgba(61,217,165,.16);color:#5ee6b4;}

.ad-form{display:flex;flex-direction:column;gap:10px;}
.ad-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#9bb1c8;}
.ad-form input,.ad-form select{padding:9px 11px;border-radius:9px;font-family:inherit;font-size:13px;
  background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.14);color:#fff;}
.ad-form input:focus,.ad-form select:focus{outline:none;border-color:#ffd75e;}
.ad-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}

.ads-events{margin-top:10px;max-height:340px;overflow:auto;}
.ads-ev-list{display:flex;flex-direction:column;gap:5px;}
.ads-ev{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;
  background:rgba(255,255,255,.025);font-size:12px;}
.ads-ev b{flex:0 0 auto;font-size:10.5px;padding:2px 7px;border-radius:5px;
  background:rgba(111,199,239,.16);color:#a8e2ff;font-weight:600;}
.ads-ev b.is-click{background:rgba(61,217,165,.18);color:#5ee6b4;}
.ads-ev span{flex:1;color:#cdd9e5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ads-ev em{font-style:normal;color:#7d94a8;font-size:11px;}
.ads-ev i{font-style:normal;color:#5a6f82;font-size:10.5px;}

@media (max-width:700px){
  .ads-row-t b{max-width:200px;}
  .ads-row-r{width:100%;justify-content:flex-end;}
}


/* ===== 彩种子分类折叠 ===== */
.lot-tree-tools{display:flex;gap:8px;justify-content:flex-end;margin:0 0 10px;}
.lot-group-head{
  display:flex;align-items:center;gap:10px;width:100%;
  background:none;border:0;padding:10px 2px;cursor:pointer;font-family:inherit;
  text-align:left;transition:.16s;
}
.lot-group-head:hover h3{color:#ffd75e;}
.lot-group-head h3{margin:0;font-size:15px;color:#fff;letter-spacing:.6px;transition:.16s;}
.lot-group-head .lot-group-tag{margin-left:auto;font-size:11.5px;color:#9bb1c8;}
.lot-group-arrow{
  flex:0 0 auto;width:0;height:0;margin-left:10px;
  border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid #9bb1c8;transition:transform .2s;
}
.lot-group.is-open .lot-group-arrow{transform:rotate(180deg);border-top-color:#ffd75e;}
.lot-group.is-collapsed .lot-grid{display:none;}
.lot-group.is-collapsed .lot-group-head{border-bottom:1px dashed rgba(255,255,255,.07);}
.lot-group + .lot-group{margin-top:6px;}

/* 广告编辑表单：输入框 + 按钮同行 */
.af-row{display:flex;gap:8px;align-items:center;}
.af-row input{flex:1 1 auto;min-width:0;}
.af-row .btn{flex:0 0 auto;white-space:nowrap;}
@media(max-width:600px){.af-row{flex-wrap:wrap;}.af-row input{flex:1 1 100%;}}

/* 后台素材/外链列表：防止 URL 撑破布局 */
#assetList, #linkList{overflow-x:hidden;}
#assetList .asset-row, #linkList .asset-row{max-width:100%;}
#assetList .asset-main, #linkList .asset-main{flex:1 1 220px;min-width:0;}

/* 后台内容区：防止宽内容把侧栏挤没 */
.content-area{min-width:0;overflow-x:hidden;}
.dash-layout{grid-template-columns:250px minmax(0,1fr);}
.rbac-form{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
#rbacTabs{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));}
.ads-stats > .stat-card .stat-value{font-size:1.5rem;}

/* ==========================================================
   平台优势（官方介绍）
   ========================================================== */
.yt-adv { margin-top: 6px; }
.yt-adv-lead {
  margin: 4px 0 18px; font-size: 13.5px; line-height: 1.9; color: var(--muted, #8fa6c0);
  max-width: 960px; padding-left: 14px; border-left: 3px solid rgba(232, 178, 58, .45);
}
.yt-adv-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px;
}
.yt-adv-card {
  position: relative; padding: 20px 18px 16px; border-radius: 16px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
  border: 1px solid var(--line, rgba(232,178,58,.2));
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.yt-adv-card:hover {
  transform: translateY(-3px);
  border-color: var(--gold, #e8b23a);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
}
.yt-adv-no {
  position: absolute; top: 10px; right: 14px;
  font-size: 34px; font-weight: 800; line-height: 1;
  color: rgba(232,178,58,.14); font-variant-numeric: tabular-nums; letter-spacing: -1px;
}
.yt-adv-card h3 {
  margin: 0 0 10px; font-size: 15px; letter-spacing: .5px;
  color: var(--gold-2, #ffd75e);
}
.yt-adv-card p {
  margin: 0 0 12px; font-size: 12.6px; line-height: 1.8; color: var(--text, #e9f1fa); opacity: .88;
}
.yt-adv-card ul {
  margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px;
}
.yt-adv-card li {
  font-size: 10.8px; padding: 4px 10px; border-radius: 999px;
  color: var(--gold-2, #ffd75e);
  background: rgba(232,178,58,.10);
  border: 1px solid rgba(232,178,58,.22);
}
.yt-adv-foot {
  display: flex; flex-wrap: wrap; gap: 10px 22px; align-items: center;
  margin-top: 18px; padding: 14px 16px; border-radius: 12px;
  background: rgba(232,178,58,.06); border: 1px dashed rgba(232,178,58,.28);
  font-size: 12.5px; color: var(--muted, #8fa6c0);
}
.yt-adv-foot a { color: var(--gold-2, #ffd75e); text-decoration: none; font-weight: 700; }
.yt-adv-foot a:hover { color: #fff; }

@media (max-width: 980px) {
  .yt-adv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .yt-adv-grid { grid-template-columns: 1fr; gap: 10px; }
  .yt-adv-lead { font-size: 12.8px; }
  .yt-adv-card { padding: 16px 14px 13px; }
  .yt-adv-no { font-size: 26px; }
}

/* ── 底部推荐位：10 条招商文案（第 9/10 条整行展示） ── */
.yt-txt.is-wide { grid-column: span 2; }
.yt-txt.is-wide span {
  white-space: normal; overflow: visible; text-overflow: clip;
  line-height: 1.6; font-size: 12.2px;
}
.yt-txt.is-cta {
  justify-content: center; gap: 8px;
  background: linear-gradient(135deg, #ffd75e, #e8b23a 55%, #a9741a);
  border-color: #ffd75e;
}
.yt-txt.is-cta i { background: rgba(0,0,0,.22); color: #fff6c8; }
.yt-txt.is-cta span {
  flex: 0 0 auto; color: #1a1207; font-weight: 800; letter-spacing: .5px; font-size: 12.6px;
}
.yt-txt.is-cta:hover { filter: brightness(1.06); }
@media (max-width: 560px) {
  .yt-txt-grid { grid-template-columns: 1fr; }
  .yt-txt.is-wide { grid-column: span 1; }
  .yt-txt.is-wide span { font-size: 12px; }
}
