:root {
  --ink: #17201e;
  --ink-soft: #58615b;
  --paper: #f5f1e8;
  --paper-deep: #e7dfd0;
  --red: #b33b2f;
  --red-dark: #842d25;
  --mist: #b7c0b6;
  --line: rgba(23, 32, 30, .16);
  font-family: "Noto Serif SC", serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { min-height: 100vh; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }

.login-page { background: #1b2220; }
.intro-overlay { position: fixed; inset: 0; z-index: 999; display: grid; place-items: center; background: #101614; opacity: 1; transition: opacity .9s ease; }
.intro-overlay video { width: 100%; height: 100%; object-fit: cover; }
.intro-overlay.is-hidden { opacity: 0; pointer-events: none; }
.intro-skip { position: absolute; right: 28px; bottom: 26px; color: rgba(244, 240, 231, .78); font: 10px/1 Arial, sans-serif; letter-spacing: 3px; padding-bottom: 5px; border-bottom: 1px solid rgba(244, 240, 231, .38); cursor: pointer; user-select: none; }
.intro-sound-hint { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); color: rgba(244, 240, 231, .78); font: 11px/1 "Noto Serif SC", serif; letter-spacing: 3px; padding: 10px 20px; border: 1px solid rgba(244, 240, 231, .4); background: rgba(16, 22, 20, .55); cursor: pointer; user-select: none; }
#loginBgVideo { position: fixed; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.login-shell { position: relative; z-index: 1; min-height: 100vh; display: grid; grid-template-columns: minmax(360px, 1.12fr) minmax(420px, .88fr); }
.login-art { position: relative; min-height: 720px; overflow: hidden; color: #f4f0e7; background: linear-gradient(112deg, rgba(10, 15, 17, .5), rgba(10, 15, 17, .16)); isolation: isolate; }
.login-art::before { content: ""; position: absolute; inset: 0; z-index: -3; background: linear-gradient(112deg, rgba(17, 29, 27, .06), rgba(17, 29, 27, .4)), radial-gradient(ellipse at 50% 29%, rgba(102, 118, 106, .12) 0, rgba(40, 55, 51, .26) 42%, rgba(19, 26, 25, .46) 81%); }
.moon { display: none; }
.mountain-back { display: none; }
.login-art::after { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; opacity: .2; background-image: repeating-linear-gradient(0deg, rgba(255,255,255,.09) 0, rgba(255,255,255,.09) 1px, transparent 1px, transparent 4px); mix-blend-mode: overlay; }
.art-mist, .mountain, .bamboo { display: none; }
.art-mist { position: absolute; z-index: -1; width: 75%; height: 30%; border-radius: 50%; background: rgba(211, 219, 202, .25); filter: blur(28px); transform: rotate(-8deg); }
.art-mist-one { top: 35%; left: -14%; }
.art-mist-two { top: 48%; right: -22%; transform: rotate(14deg); opacity: .65; }
.moon { position: absolute; z-index: -2; top: 14%; right: 21%; width: clamp(150px, 22vw, 260px); aspect-ratio: 1; border-radius: 50%; background: rgba(229, 228, 203, .74); box-shadow: 0 0 45px rgba(224, 225, 196, .28); }
.mountain { position: absolute; bottom: -4%; width: 92%; height: 57%; clip-path: polygon(0 85%, 9% 74%, 15% 78%, 25% 49%, 36% 69%, 47% 28%, 61% 67%, 73% 49%, 84% 73%, 92% 58%, 100% 76%, 100% 100%, 0 100%); }
.mountain-back { left: -18%; z-index: -1; background: rgba(93, 112, 99, .6); transform: scale(1.22); }
.mountain-front { left: 12%; z-index: 0; background: #172321; opacity: .9; }
.bamboo { position: absolute; bottom: -5%; z-index: 2; width: 10px; height: 72%; border-left: 4px solid rgba(20, 48, 39, .75); transform-origin: bottom; }
.bamboo-left { left: 8%; transform: rotate(-4deg); }
.bamboo-right { right: 9%; height: 64%; transform: rotate(8deg); }
.bamboo i { display: block; position: absolute; left: -6px; width: 19px; height: 8px; border-bottom: 2px solid rgba(20, 48, 39, .8); transform: rotate(-12deg); }
.bamboo i:nth-child(1) { top: 19%; } .bamboo i:nth-child(2) { top: 43%; } .bamboo i:nth-child(3) { top: 63%; } .bamboo i:nth-child(4) { top: 79%; }
.art-copy { position: absolute; top: 13%; left: 15%; z-index: 5; display: flex; align-items: flex-start; gap: 22px; }
.seal { display: inline-grid; place-items: center; width: 45px; height: 45px; font-size: 19px; writing-mode: vertical-rl; letter-spacing: 2px; border: 1px solid currentColor; }
.seal-light { color: #e7e0cd; border-color: #e7e0cd; outline: 1px solid rgba(231,224,205,.55); outline-offset: 3px; }
.seal-dark { color: #d9b16d; border-color: var(--red); outline: 1px solid rgba(179,59,47,.3); outline-offset: 3px; }
.vertical-note { margin: 0; writing-mode: vertical-rl; font-size: 14px; letter-spacing: 7px; opacity: .8; }
.art-caption { position: absolute; top: 9px; left: 113px; width: 200px; white-space: nowrap; font-size: 12px; letter-spacing: 2px; color: #d9b16d; }
.art-footer { position: absolute; right: 12%; bottom: 8%; z-index: 5; display: flex; gap: 30px; font: 10px/1 Arial, sans-serif; letter-spacing: 2px; opacity: .65; }
.login-panel { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(34px, 7vw, 92px) clamp(32px, 8vw, 116px); background: rgba(16, 22, 20, .55); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-left: 1px solid rgba(244, 240, 231, .14); color: #f4f0e7; }
.panel-topline, .card-header, .register-footer { display: flex; justify-content: space-between; font: 10px/1 Arial, sans-serif; letter-spacing: 2px; text-transform: uppercase; }
.panel-topline { color: rgba(244, 240, 231, .78); }
.login-heading { margin: auto 0 46px; }
.eyebrow { margin: 0 0 20px; color: #d9b16d; font-size: 13px; letter-spacing: 4px; }
.login-heading h1 { margin: 0; font-family: "ZCOOL XiaoWei", serif; font-size: clamp(68px, 8vw, 110px); line-height: .95; font-weight: 400; letter-spacing: 8px; color: #f4f0e7; }
.login-heading h1 span { color: #d9b16d; }
.login-heading > p:last-child { margin: 25px 0 0; color: rgba(244, 240, 231, .78); font-size: 13px; letter-spacing: 1px; }
.ink-form { max-width: 440px; }
.discord-login-note { display: flex; align-items: center; gap: 15px; margin: 0 0 27px; padding: 15px 0; border-top: 1px solid rgba(244, 240, 231, .16); border-bottom: 1px solid rgba(244, 240, 231, .16); }
.discord-mark { display: grid; place-items: center; width: 31px; height: 31px; color: #f5f1e8; background: #5865f2; border-radius: 50%; font: 17px Arial, sans-serif; }
.discord-login-note strong, .discord-login-note small { display: block; }
.discord-login-note strong { font-size: 13px; font-weight: 500; letter-spacing: 1px; color: #f4f0e7; }
.discord-login-note small { margin-top: 5px; color: #d9b16d; font-size: 11px; }
.field { display: block; border-bottom: 1px solid var(--line); margin-bottom: 25px; }
.field > span { display: block; margin-bottom: 8px; color: #d9b16d; font-size: 12px; letter-spacing: 2px; }
.field input { width: 100%; border: 0; outline: 0; padding: 0 0 11px; color: var(--ink); background: transparent; font-size: 15px; }
.field input::placeholder { color: #a3a69e; }
.field:focus-within { border-color: var(--red); }
.form-meta { display: flex; justify-content: space-between; margin: -3px 0 29px; color: #d9b16d; font-size: 12px; }
.check { display: flex; align-items: center; gap: 8px; }
.check input { accent-color: var(--red); }
.form-meta a, .login-bottom a, .card-foot a { color: #d9b16d; border-bottom: 1px solid rgba(132,45,37,.35); }
.ink-button, .red-button { width: 100%; display: flex; align-items: center; justify-content: space-between; border: 0; color: #f8f2e7; background: var(--ink); padding: 17px 20px; letter-spacing: 4px; transition: background .2s ease, transform .2s ease; }
.ink-button:hover, .red-button:hover { background: var(--red-dark); transform: translateY(-2px); }
.ink-button b, .red-button b { font: 22px/1 Arial, sans-serif; font-weight: 300; }
.form-message { min-height: 18px; margin: 14px 0 0; color: #d9b16d; font-size: 12px; }
.login-bottom { display: flex; gap: 16px; align-items: center; margin-top: 55px; color: #d9b16d; font-size: 12px; }
.login-bottom b { font: 14px Arial, sans-serif; }

.register-page { position: relative; overflow-x: hidden; color: var(--ink); background: linear-gradient(rgba(245, 241, 232, .9), rgba(245, 241, 232, .9)), url('/images/yuweng-guzhou.jpg') center/cover no-repeat; }
.register-noise { position: fixed; inset: 0; pointer-events: none; opacity: .14; z-index: 0; background-image: repeating-linear-gradient(90deg, rgba(23,32,30,.12) 0, rgba(23,32,30,.12) 1px, transparent 1px, transparent 5px), repeating-linear-gradient(0deg, rgba(23,32,30,.06) 0, rgba(23,32,30,.06) 1px, transparent 1px, transparent 7px); mix-blend-mode: multiply; }
.register-nav { position: relative; z-index: 3; display: flex; justify-content: space-between; align-items: center; padding: 31px clamp(24px, 6vw, 92px); border-bottom: 1px solid rgba(23,32,30,.11); }
.brand-mark { display: flex; align-items: center; gap: 17px; color: var(--ink-soft); font: 10px Arial, sans-serif; letter-spacing: 3px; }
.brand-mark .seal { width: 33px; height: 33px; font-size: 14px; }
.nav-status { color: #777b72; font: 10px Arial, sans-serif; letter-spacing: 2px; }
.nav-status i { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #6e8f76; box-shadow: 0 0 0 4px rgba(110,143,118,.15); }
.nav-status span { margin: 0 8px; color: #b2aaa0; }
.register-stage { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(300px, .85fr) minmax(440px, 1fr); align-items: center; gap: clamp(60px, 12vw, 200px); max-width: 1280px; min-height: calc(100vh - 142px); margin: auto; padding: 70px clamp(24px, 6vw, 92px) 100px; }
.wash { position: absolute; z-index: -1; border-radius: 48%; filter: blur(16px); opacity: .25; background: #9ba797; }
.wash-one { top: 2%; left: -9%; width: 48%; height: 37%; transform: rotate(-12deg); }
.wash-two { right: -6%; bottom: 9%; width: 40%; height: 31%; transform: rotate(27deg); opacity: .15; }
.register-intro { align-self: center; }
.register-intro h1 { margin: 0; font-size: clamp(43px, 5vw, 78px); line-height: 1.22; font-weight: 600; letter-spacing: 8px; }
.register-intro h1 em { color: #d9b16d; font-style: normal; }
.intro-copy { max-width: 310px; margin: 30px 0 0; color: var(--ink-soft); font-size: 13px; line-height: 2; letter-spacing: 1px; }
.chapter-mark { display: flex; align-items: center; gap: 15px; margin-top: 62px; color: #d9b16d; }
.chapter-mark span { font-family: "ZCOOL XiaoWei", serif; font-size: 56px; line-height: 1; }
.chapter-mark small { padding-left: 15px; border-left: 1px solid rgba(179,59,47,.4); font: 10px Arial, sans-serif; letter-spacing: 2px; }
.register-card { position: relative; min-height: 520px; padding: 31px clamp(30px, 5vw, 67px) 25px; overflow: hidden; background: rgba(251,248,239,.7); border: 1px solid rgba(23,32,30,.16); box-shadow: 14px 17px 0 rgba(54,64,58,.08); }
.register-card::before, .register-card::after { content: ""; position: absolute; pointer-events: none; border: 1px solid rgba(179,59,47,.22); }
.register-card::before { inset: 12px; border-right: 0; border-bottom: 0; }
.register-card::after { right: 12px; bottom: 12px; width: 42%; height: 28%; border-left: 0; border-top: 0; }
.card-header { position: relative; z-index: 1; padding-bottom: 20px; color: #767b72; border-bottom: 1px solid rgba(23,32,30,.12); }
.card-content { position: relative; z-index: 1; padding: 54px 0 42px; }
.card-content h2 { margin: 0; font-size: clamp(30px, 3vw, 43px); font-weight: 500; letter-spacing: 6px; }
.card-content > p { margin: 13px 0 43px; color: #d9b16d; font-size: 12px; letter-spacing: 1px; }
.register-form { max-width: 500px; }
.field-dark { margin-bottom: 28px; }
.field-dark > span { color: #747970; }
.field-dark small { margin-left: 8px; color: #d9b16d; font-size: 10px; letter-spacing: 0; }
.red-button { background: var(--red); }
.card-stamp { position: absolute; right: 12%; bottom: 23%; z-index: 0; display: grid; place-items: center; width: 57px; height: 57px; color: rgba(179,59,47,.5); font-size: 27px; writing-mode: vertical-rl; border: 2px solid rgba(179,59,47,.45); outline: 1px solid rgba(179,59,47,.25); outline-offset: 4px; transform: rotate(7deg); }
.card-foot { position: relative; z-index: 1; display: flex; justify-content: space-between; padding-top: 19px; border-top: 1px solid rgba(23,32,30,.12); color: #d9b16d; font-size: 10px; letter-spacing: 1px; }
.register-footer { position: absolute; right: clamp(24px, 6vw, 92px); bottom: 28px; left: clamp(24px, 6vw, 92px); color: #93978d; }

.dashboard-page { min-height: 100vh; color: #e9e5d9; background: #17201e; }
.dashboard-page::before { content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .5; background-image: linear-gradient(rgba(8, 16, 28, .62), rgba(8, 16, 28, .62)), url('/images/stellar-palace.jpg'); background-size: auto, cover; background-position: center; background-repeat: no-repeat; }
.dashboard-nav { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: 25px clamp(24px, 7vw, 105px); border-bottom: 1px solid rgba(233,229,217,.14); }
.dashboard-nav .brand-mark { color: rgba(233,229,217,.62); }
.dashboard-user { display: flex; align-items: center; gap: 11px; color: #d9b16d; font-size: 12px; letter-spacing: 1px; }
.online-dot, .metric-status i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #8aab8d; box-shadow: 0 0 0 4px rgba(138,171,141,.14); }
.dashboard-user button { margin-left: 15px; padding: 7px 0; border: 0; border-bottom: 1px solid rgba(233,229,217,.35); color: #d9b16d; background: transparent; font-size: 11px; }
.admin-link { color: #d9b16d; border-bottom: 1px solid rgba(211,160,146,.5); font-size: 11px; }
.dashboard-main { position: relative; z-index: 1; max-width: 1180px; margin: auto; padding: 86px clamp(24px, 7vw, 105px) 70px; }
.dashboard-hero { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 58px; border-bottom: 1px solid rgba(233,229,217,.14); }
.dashboard-hero .eyebrow { color: #bc8171; }
.dashboard-hero h1 { margin: 0; font-size: clamp(42px, 6vw, 77px); line-height: 1.15; font-weight: 500; letter-spacing: 8px; }
.dashboard-hero h1 span { color: #bc8171; }
.dashboard-hero p:last-child { margin: 23px 0 0; color: rgba(233,229,217,.57); font-size: 13px; letter-spacing: 1px; }
.dashboard-seal { display: grid; place-items: center; width: 73px; height: 73px; color: rgba(188,129,113,.82); font-size: 20px; line-height: 1.35; writing-mode: vertical-rl; border: 1px solid rgba(188,129,113,.65); outline: 1px solid rgba(188,129,113,.24); outline-offset: 5px; transform: rotate(7deg); }
.dashboard-grid { display: grid; grid-template-columns: 1.3fr .85fr .85fr; gap: 14px; margin-top: 24px; }
.dashboard-panel { min-height: 196px; padding: 23px; background: rgba(234,230,218,.06); border: 1px solid rgba(233,229,217,.14); }
.dashboard-panel-wide { grid-column: span 1; }
.dashboard-panel-head { display: flex; justify-content: space-between; padding-bottom: 17px; color: rgba(233,229,217,.48); border-bottom: 1px solid rgba(233,229,217,.13); font: 10px Arial, sans-serif; letter-spacing: 2px; }
.identity-row { display: flex; align-items: center; gap: 15px; margin-top: 30px; }
.identity-avatar { display: grid; place-items: center; width: 52px; height: 52px; color: #27322d; background: #d9d0bc; background-position: center; background-size: cover; border-radius: 50%; font-family: "ZCOOL XiaoWei", serif; font-size: 25px; }
.identity-avatar.has-image { border: 2px solid rgba(217,208,188,.75); box-shadow: 0 0 0 4px rgba(217,208,188,.1); }
.identity-row h2 { margin: 0; font-size: 18px; font-weight: 500; letter-spacing: 1px; }
.identity-row p { margin: 7px 0 0; color: rgba(233,229,217,.5); font: 10px Arial, sans-serif; letter-spacing: 1px; }
.verified-badge { margin-left: auto; color: #9ebaa0; font-size: 10px; letter-spacing: 1px; }
.metric-status { display: flex; align-items: center; gap: 12px; margin-top: 34px; }
.metric-status strong { font-size: 20px; font-weight: 500; letter-spacing: 2px; }
.muted-copy { margin: 18px 0 0; color: #d9b16d; font-size: 11px; line-height: 1.8; }
.node-name { margin-top: 35px; color: #d9d0bc; font-size: 21px; letter-spacing: 2px; }
.dashboard-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 26px; }
.dashboard-action { color: #d9b16d; font-size: 12px; letter-spacing: 1px; }
.dashboard-action span { display: inline-grid; place-items: center; width: 21px; height: 21px; margin-right: 7px; border: 1px solid rgba(211,160,146,.65); font-size: 18px; line-height: 1; }
.dashboard-tip { color: #d9b16d; font-size: 10px; letter-spacing: 1px; }

@media (max-width: 820px) {
  .login-shell { display: block; }
  .login-art { min-height: 380px; }
  .art-copy { top: 15%; left: 9%; }
  .art-footer { bottom: 9%; }
  .login-panel { min-height: 580px; padding: 40px 9%; }
  .login-heading { margin: 64px 0 42px; }
  .register-stage { grid-template-columns: 1fr; gap: 48px; padding-top: 55px; }
  .register-intro h1 { font-size: clamp(42px, 11vw, 68px); }
  .chapter-mark { margin-top: 34px; }
  .register-card { min-height: 490px; }
  .dashboard-main { padding-top: 54px; }
  .dashboard-grid { grid-template-columns: 1fr 1fr; }
  .dashboard-panel-wide { grid-column: span 2; }
}
@media (max-width: 500px) {
  .register-nav { padding: 22px 24px; }
  .nav-status { display: none; }
  .register-stage { padding: 42px 24px 92px; }
  .register-card { padding: 24px 24px 21px; }
  .card-content { padding-top: 44px; }
  .card-stamp { right: 10%; bottom: 28%; }
  .card-foot { display: block; line-height: 2; }
  .card-foot a { display: inline-block; margin-top: 5px; }
  .register-footer { gap: 7px; font-size: 8px; }
  .dashboard-nav { padding: 22px 24px; }
  .dashboard-nav .brand-mark > span:last-child, .dashboard-user button { display: none; }
  .dashboard-user { font-size: 10px; color: #d9b16d; }
  .dashboard-main { padding: 46px 24px 55px; }
  .dashboard-hero { align-items: flex-start; gap: 25px; }
  .dashboard-hero h1 { font-size: 42px; letter-spacing: 4px; }
  .dashboard-seal { flex: 0 0 auto; width: 55px; height: 55px; font-size: 15px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .dashboard-panel-wide { grid-column: span 1; }
  .dashboard-actions { display: block; line-height: 2.3; }
}

.admin-page { min-height: 100vh; color: #f1e9dc; background: #241614; }
.admin-page::before { content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .52; background-image: linear-gradient(rgba(8, 16, 28, .66), rgba(8, 16, 28, .66)), url('/images/stellar-palace.jpg'); background-size: auto, cover; background-position: center; background-repeat: no-repeat; }
.admin-nav { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; padding: 25px clamp(24px, 7vw, 105px); border-bottom: 1px solid rgba(241,233,220,.16); }
.admin-nav .brand-mark { color: rgba(241,233,220,.66); }
.admin-user { display: flex; align-items: center; gap: 12px; color: #d9b16d; font-size: 12px; }
.admin-user a, .admin-user button { color: #d9b16d; font-size: 11px; border: 0; border-bottom: 1px solid rgba(224,162,140,.5); background: transparent; }
.admin-user button { margin-left: 8px; cursor: pointer; }
.crown-mark { display: grid; place-items: center; width: 24px; height: 24px; color: #241614; background: #d9b16d; font-family: "ZCOOL XiaoWei", serif; border-radius: 50%; }
.admin-main { position: relative; z-index: 1; max-width: 1180px; margin: auto; padding: 78px clamp(24px, 7vw, 105px) 72px; }
.admin-heading { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 52px; border-bottom: 1px solid rgba(241,233,220,.16); }
.admin-heading h1 { margin: 0; font-size: clamp(44px, 6vw, 78px); line-height: 1.1; font-weight: 500; letter-spacing: 8px; }
.admin-heading h1 span { color: #d99174; }
.admin-heading p:last-child { margin: 22px 0 0; color: rgba(241,233,220,.55); font-size: 13px; letter-spacing: 1px; }
.admin-seal { display: grid; place-items: center; width: 75px; height: 75px; color: #dc9a7e; font-size: 21px; line-height: 1.35; writing-mode: vertical-rl; border: 1px solid rgba(220,154,126,.7); outline: 1px solid rgba(220,154,126,.25); outline-offset: 5px; transform: rotate(7deg); }
.admin-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 24px; }
.admin-stats article { min-height: 142px; padding: 22px; background: rgba(241,233,220,.07); border: 1px solid rgba(241,233,220,.15); }
.admin-stats span, .admin-stats small { display: block; color: rgba(241,233,220,.52); }
.admin-stats span { font-size: 12px; letter-spacing: 1px; color: #d9b16d; }
.admin-stats strong { display: block; margin: 20px 0 8px; color: #f2d7bb; font-size: 31px; font-weight: 500; letter-spacing: 2px; }
.admin-stats small { font: 9px Arial, sans-serif; letter-spacing: 2px; }
.admin-panel { margin-top: 14px; padding: 23px; background: rgba(241,233,220,.07); border: 1px solid rgba(241,233,220,.15); }
.admin-panel-head { display: flex; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid rgba(241,233,220,.14); color: rgba(241,233,220,.62); font: 10px Arial, sans-serif; letter-spacing: 2px; }
.table-wrap { overflow-x: auto; }
.admin-panel table { width: 100%; min-width: 680px; border-collapse: collapse; color: #d9b16d; font-size: 12px; }
.admin-panel th { padding: 17px 12px 12px; color: rgba(241,233,220,.42); text-align: left; font: 9px Arial, sans-serif; letter-spacing: 1px; }
.admin-panel td { padding: 15px 12px; border-top: 1px solid rgba(241,233,220,.1); }
.admin-panel td strong { color: #f2d7bb; font-weight: 500; }
.admin-panel code { color: #dfaa8c; font: 11px Arial, sans-serif; letter-spacing: 1px; }
.admin-status { color: #d9b16d; font-size: 11px; }
.admin-status.is-bound { color: #a9ca9d; }
.admin-actions { display: flex; align-items: center; gap: 28px; margin-top: 14px; padding: 24px; background: rgba(217,177,109,.1); border: 1px solid rgba(217,177,109,.3); }
.admin-actions h2 { margin: 0; font-size: 21px; font-weight: 500; letter-spacing: 2px; }
.admin-actions p:last-child { margin: 10px 0 0; color: #d9b16d; font-size: 11px; }
.admin-button { display: flex; align-items: center; gap: 9px; margin-left: auto; padding: 13px 16px; border: 1px solid rgba(217,177,109,.6); color: #d9b16d; background: #d9b16d; font-size: 12px; letter-spacing: 1px; cursor: pointer; }
.admin-button span { font-size: 19px; line-height: 1; }
.admin-button:disabled { cursor: wait; opacity: .65; }
.admin-actions code { min-width: 190px; color: #f1d298; font: 12px Arial, sans-serif; letter-spacing: 1px; }
@media (max-width: 650px) {
  .admin-nav { padding: 22px 24px; }
  .admin-user a { display: none; }
  .admin-main { padding: 47px 24px 55px; }
  .admin-heading { align-items: flex-start; gap: 25px; }
  .admin-heading h1 { font-size: 43px; letter-spacing: 4px; }
  .admin-seal { flex: 0 0 auto; width: 56px; height: 56px; font-size: 16px; }
  .admin-stats { grid-template-columns: 1fr; }
  .admin-stats article { min-height: 110px; }
  .admin-actions { display: block; }
  .admin-button { margin: 22px 0 0; }
  .admin-actions code { display: block; margin-top: 16px; }
}

/* 枕星控制台：左侧导航与单页视图 */
[hidden] { display: none !important; }
.dashboard-page { overflow-x: hidden; }
.console-shell { position: relative; z-index: 1; display: grid; grid-template-columns: 245px minmax(0, 1fr); min-height: 100vh; }
.console-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 29px 20px 23px; background: rgba(15, 24, 22, .82); border-right: 1px solid rgba(233,229,217,.13); }
.console-brand { display: flex; align-items: center; gap: 14px; color: #e9e5d9; }
.console-brand .seal { width: 40px; height: 40px; font-size: 17px; }
.console-brand strong, .console-brand small { display: block; }
.console-brand strong { font-family: "ZCOOL XiaoWei", serif; font-size: 21px; font-weight: 400; letter-spacing: 4px; }
.console-brand small { margin-top: 4px; color: rgba(233,229,217,.42); font: 8px Arial, sans-serif; letter-spacing: 2px; }
.console-profile { display: flex; align-items: center; gap: 11px; margin: 43px 5px 33px; padding-bottom: 26px; border-bottom: 1px solid rgba(233,229,217,.12); }
.console-avatar { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; color: #27322d; background: #d9d0bc center / cover; border-radius: 50%; font-family: "ZCOOL XiaoWei", serif; font-size: 19px; }
.console-avatar.has-image { border: 2px solid rgba(217,208,188,.7); box-shadow: 0 0 0 3px rgba(217,208,188,.1); }
.console-profile strong, .console-profile span { display: block; overflow: hidden; max-width: 135px; text-overflow: ellipsis; white-space: nowrap; }
.console-profile strong { color: #d9b16d; font-size: 12px; font-weight: 500; }
.console-profile span { margin-top: 5px; color: #9ebaa0; font: 10px Arial, sans-serif; letter-spacing: 1px; }
.console-nav-label { margin: 0 11px 11px; color: rgba(233,229,217,.31); font: 9px Arial, sans-serif; letter-spacing: 1.5px; }
.console-nav-item { display: flex; align-items: center; width: 100%; gap: 13px; padding: 13px 12px; border: 0; border-left: 2px solid transparent; color: #d9b16d; background: transparent; text-align: left; font-size: 12px; letter-spacing: 1px; transition: color .2s ease, background .2s ease, border .2s ease; }
.console-nav-item:hover, .console-nav-item.is-active { color: #f1e7d4; background: rgba(233,229,217,.07); border-left-color: #bc8171; }
.nav-glyph { display: inline-grid; place-items: center; width: 21px; height: 21px; color: #d9b16d; border: 1px solid rgba(233,229,217,.25); font-size: 11px; }
.console-nav-item.is-active .nav-glyph { color: #e4b4a1; border-color: rgba(228,180,161,.72); }
.console-sidebar-foot { margin-top: auto; }
.console-admin-link, .console-side-link { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 11px 8px; border: 0; color: #d9b16d; background: transparent; font-size: 11px; text-align: left; }
.console-admin-link { margin-bottom: 5px; color: #e0aa89; background: rgba(218,158,132,.09); }
.console-admin-link span { display: grid; place-items: center; width: 22px; height: 22px; margin-right: 8px; color: #32231e; background: #d9b16d; border-radius: 50%; font-family: "ZCOOL XiaoWei", serif; }
.console-side-link b { color: #bc8171; font: 16px Arial, sans-serif; font-weight: 400; }
.console-side-link:hover { color: #eee2ce; }
.console-logout { cursor: pointer; }
.console-main { min-width: 0; padding: 0 clamp(27px, 5vw, 82px) 70px; }
.console-topbar { display: flex; align-items: center; justify-content: space-between; min-height: 94px; border-bottom: 1px solid rgba(233,229,217,.13); }
.console-breadcrumb { color: rgba(233,229,217,.42); font: 10px Arial, sans-serif; letter-spacing: 2px; }
.console-breadcrumb i { margin: 0 11px; color: rgba(233,229,217,.21); font-style: normal; }
.console-breadcrumb strong { color: rgba(233,229,217,.78); font-weight: 400; }
.console-top-user { display: flex; align-items: center; gap: 10px; color: #d9b16d; font-size: 11px; }
.console-top-user .online-dot { width: 6px; height: 6px; }
.top-divider { display: block; width: 1px; height: 15px; margin: 0 4px; background: rgba(233,229,217,.21); }
.console-avatar-small { width: 29px; height: 29px; margin-left: 7px; font-size: 13px; }
.console-view { max-width: 1110px; margin: auto; padding-top: 70px; animation: console-fade-in .25s ease both; }
@keyframes console-fade-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.console-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 47px; border-bottom: 1px solid rgba(233,229,217,.13); }
.console-heading .eyebrow { margin-bottom: 17px; color: #bc8171; }
.console-heading h1 { margin: 0; color: #eee9dc; font-size: clamp(39px, 5vw, 67px); font-weight: 500; letter-spacing: 7px; line-height: 1.12; }
.console-heading h1 span { color: #bc8171; }
.console-heading p:last-child { margin: 19px 0 0; color: #d9b16d; font-size: 12px; letter-spacing: 1px; line-height: 1.9; }
.console-heading-home { padding-bottom: 47px; }
.view-stamp { display: grid; place-items: center; width: 64px; height: 64px; flex: 0 0 auto; color: rgba(188,129,113,.82); font-size: 23px; writing-mode: vertical-rl; border: 1px solid rgba(188,129,113,.65); outline: 1px solid rgba(188,129,113,.24); outline-offset: 5px; transform: rotate(7deg); }
.console-card-grid { display: grid; gap: 14px; }
.console-home-grid { grid-template-columns: 1.3fr .85fr .85fr; margin-top: 24px; }
.console-card { min-width: 0; padding: 23px; background: rgba(234,230,218,.06); border: 1px solid rgba(233,229,217,.14); }
.console-card-identity { min-height: 196px; }
.console-card-head { display: flex; justify-content: space-between; padding-bottom: 17px; color: rgba(233,229,217,.48); border-bottom: 1px solid rgba(233,229,217,.13); font: 10px Arial, sans-serif; letter-spacing: 2px; }
.console-card .identity-row { margin-top: 30px; }
.console-quick-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; }
.console-quick-card { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 17px; border: 1px solid rgba(233,229,217,.12); color: rgba(233,229,217,.75); background: rgba(234,230,218,.035); text-align: left; transition: border .2s ease, background .2s ease, transform .2s ease; }
.console-quick-card:hover, .console-quick-card.is-active { border-color: rgba(188,129,113,.57); background: rgba(188,129,113,.09); transform: translateY(-2px); }
.quick-icon { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 auto; color: #d7af9d; border: 1px solid rgba(215,175,157,.52); font-size: 14px; }
.console-quick-card span:nth-child(2) { min-width: 0; }
.console-quick-card strong, .console-quick-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.console-quick-card strong { font-size: 12px; font-weight: 500; color: #d9b16d; }
.console-quick-card small { margin-top: 6px; color: #d9b16d; font-size: 10px; }
.console-quick-card > b { margin-left: auto; color: #bc8171; font: 17px Arial, sans-serif; font-weight: 400; }
.console-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 20px; padding: 18px 21px; background: rgba(234,230,218,.06); border: 1px solid rgba(233,229,217,.14); }
.console-toolbar strong, .console-toolbar span { display: block; }
.console-toolbar strong { color: #eee9dc; font-size: 15px; font-weight: 500; letter-spacing: 1px; }
.console-toolbar span { margin-top: 7px; color: #d9b16d; font-size: 10px; }
.console-primary-button { display: flex; align-items: center; gap: 7px; padding: 11px 14px; border: 1px solid rgba(188,129,113,.72); color: #d9b16d; background: #d7aa96; font-size: 11px; letter-spacing: 1px; }
.console-primary-button span { margin: 0; color: #2a211d; font: 19px Arial, sans-serif; }
.console-primary-button:disabled { opacity: .55; cursor: wait; }
.secret-notice { display: flex; align-items: center; gap: 11px; margin-top: 12px; padding: 13px 15px; color: #d9b16d; background: rgba(217,177,109,.12); border: 1px solid rgba(217,177,109,.34); font-size: 11px; }
.secret-notice code { overflow: hidden; color: #f4d995; font: 11px Arial, sans-serif; letter-spacing: 1px; text-overflow: ellipsis; white-space: nowrap; }
.secret-notice button { margin-left: auto; padding: 5px 9px; border: 1px solid rgba(217,177,109,.5); color: #d9b16d; background: transparent; font-size: 10px; }
.console-list-card { margin-top: 14px; background: rgba(234,230,218,.05); border: 1px solid rgba(233,229,217,.14); }
.empty-state { display: grid; place-items: center; min-height: 220px; padding: 35px; text-align: center; }
.empty-state > span { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 16px; color: #d7af9d; border: 1px solid rgba(215,175,157,.55); font-size: 18px; }
.empty-state strong { color: rgba(233,229,217,.83); font-size: 14px; font-weight: 500; }
.empty-state small { max-width: 430px; margin-top: 9px; color: #d9b16d; font-size: 11px; line-height: 1.8; }
.api-key-row { display: flex; align-items: center; gap: 15px; padding: 19px 21px; border-bottom: 1px solid rgba(233,229,217,.1); }
.api-key-row:last-child { border-bottom: 0; }
.api-key-row.is-revoked { opacity: .52; }
.api-key-symbol { display: grid; place-items: center; width: 33px; height: 33px; flex: 0 0 auto; color: #d7af9d; border: 1px solid rgba(215,175,157,.48); }
.api-key-main { min-width: 0; flex: 1; }
.api-key-main strong, .api-key-main code, .api-key-main small { display: block; }
.api-key-main strong { color: #d9b16d; font-size: 12px; font-weight: 500; }
.api-key-main code { margin-top: 6px; overflow: hidden; color: #d6a38d; font: 11px Arial, sans-serif; letter-spacing: 1px; text-overflow: ellipsis; white-space: nowrap; }
.api-key-main small { margin-top: 6px; color: #d9b16d; font-size: 10px; }
.api-key-state { color: #9ebaa0; font-size: 10px; white-space: nowrap; }
.api-key-row.is-revoked .api-key-state { color: rgba(233,229,217,.45); }
.text-danger { padding: 4px 0; border: 0; border-bottom: 1px solid rgba(221,143,121,.5); color: #d9b16d; background: transparent; font-size: 10px; cursor: pointer; }
.console-feature-panel, .model-empty-grid { display: grid; grid-template-columns: 130px minmax(0, 1fr); align-items: center; gap: 32px; margin-top: 24px; min-height: 250px; padding: 35px; background: rgba(234,230,218,.06); border: 1px solid rgba(233,229,217,.14); }
.feature-ink, .model-empty-mark { display: grid; place-items: center; width: 92px; height: 116px; color: rgba(188,129,113,.82); font-family: "ZCOOL XiaoWei", serif; font-size: 49px; writing-mode: vertical-rl; border: 1px solid rgba(188,129,113,.55); outline: 1px solid rgba(188,129,113,.21); outline-offset: 6px; transform: rotate(7deg); }
.console-feature-panel h2, .model-empty-grid h2 { margin: 0; color: #eee9dc; font-size: 25px; font-weight: 500; letter-spacing: 2px; }
.console-feature-panel p:not(.eyebrow), .model-empty-grid p:not(.eyebrow) { max-width: 620px; margin: 17px 0 20px; color: #d9b16d; font-size: 12px; line-height: 2; }
.status-chip { display: inline-block; padding: 6px 9px; color: #d8b39d; border: 1px solid rgba(216,179,157,.4); font: 9px Arial, sans-serif; letter-spacing: 1px; }
.console-wallet-card { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; min-height: 190px; padding: 28px 35px; background: linear-gradient(115deg, rgba(188,129,113,.16), rgba(234,230,218,.04)); border: 1px solid rgba(188,129,113,.37); }
.wallet-label { display: block; color: #d9b16d; font-size: 11px; letter-spacing: 1px; }
.console-wallet-card strong { display: block; margin-top: 17px; color: #f0d8bb; font: 47px "ZCOOL XiaoWei", serif; font-weight: 400; }
.console-wallet-card small { display: block; margin-top: 10px; color: #d9b16d; font-size: 10px; }
.wallet-seal { display: grid; place-items: center; width: 73px; height: 73px; color: rgba(188,129,113,.75); font-size: 19px; line-height: 1.3; writing-mode: vertical-rl; border: 1px solid rgba(188,129,113,.55); transform: rotate(7deg); }
.wallet-note { margin-top: 14px; }
.wallet-note p { margin: 21px 0 0; color: #d9b16d; font-size: 12px; line-height: 2; }

/* 皇帝后台：栏目式管理空间 */
.admin-page { overflow-x: hidden; }
.admin-console-shell { position: relative; z-index: 1; display: grid; grid-template-columns: 245px minmax(0, 1fr); min-height: 100vh; }
.admin-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 29px 20px 23px; background: rgba(35, 16, 14, .82); border-right: 1px solid rgba(241,233,220,.14); }
.admin-brand { display: flex; align-items: center; gap: 14px; color: #f1e9dc; }
.admin-brand .seal { width: 40px; height: 40px; font-size: 17px; }
.admin-brand strong, .admin-brand small { display: block; }
.admin-brand strong { font-family: "ZCOOL XiaoWei", serif; font-size: 21px; font-weight: 400; letter-spacing: 4px; }
.admin-brand small { margin-top: 4px; color: rgba(241,233,220,.42); font: 8px Arial, sans-serif; letter-spacing: 2px; }
.admin-profile { display: flex; align-items: center; gap: 11px; margin: 43px 5px 33px; padding-bottom: 26px; border-bottom: 1px solid rgba(241,233,220,.12); }
.admin-avatar { display: grid; place-items: center; width: 42px; height: 42px; color: #39231c; background: #d9b16d center / cover; border-radius: 50%; font-family: "ZCOOL XiaoWei", serif; font-size: 19px; }
.admin-profile strong, .admin-profile span { display: block; max-width: 145px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-profile strong { color: #d9b16d; font-size: 12px; font-weight: 500; }
.admin-profile span { margin-top: 5px; color: #d9b16d; font: 10px Arial, sans-serif; letter-spacing: 1px; }
.admin-nav { display: flex; flex-direction: column; gap: 2px; margin-top: 4px; padding: 0; border-bottom: 0; }
.admin-nav-label { margin: 0 11px 11px; color: rgba(241,233,220,.31); font: 9px Arial, sans-serif; letter-spacing: 1.5px; }
.admin-nav-item { display: flex; align-items: center; gap: 13px; width: 100%; padding: 13px 12px; border: 0; border-left: 2px solid transparent; color: #d9b16d; background: transparent; text-align: left; font-size: 12px; letter-spacing: 1px; transition: all .2s ease; }
.admin-nav-item:hover, .admin-nav-item.is-active { color: #f5e8d1; background: rgba(241,233,220,.08); border-left-color: #d9b16d; }
.admin-nav-glyph { display: inline-grid; place-items: center; width: 21px; height: 21px; color: #d9b16d; border: 1px solid rgba(241,233,220,.27); font-size: 11px; }
.admin-nav-item.is-active .admin-nav-glyph { color: #f1d298; border-color: rgba(241,210,152,.75); }
.admin-sidebar-foot { margin-top: auto; }
.admin-side-link { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 11px 8px; border: 0; color: #d9b16d; background: transparent; font-size: 11px; text-align: left; }
.admin-side-link b { color: #d99174; font: 16px Arial, sans-serif; font-weight: 400; }
.admin-side-link:hover { color: #f5e8d1; }
.admin-logout { cursor: pointer; }
.admin-console-main { min-width: 0; padding: 0 clamp(27px, 5vw, 82px) 70px; }
.admin-console-topbar { display: flex; align-items: center; justify-content: space-between; min-height: 94px; border-bottom: 1px solid rgba(241,233,220,.14); }
.admin-breadcrumb { color: rgba(241,233,220,.42); font: 10px Arial, sans-serif; letter-spacing: 2px; }
.admin-breadcrumb i { margin: 0 11px; color: rgba(241,233,220,.22); font-style: normal; }
.admin-breadcrumb strong { color: rgba(241,233,220,.8); font-weight: 400; }
.admin-top-user { display: flex; align-items: center; gap: 10px; color: #d9b16d; font-size: 11px; }
.admin-top-user .online-dot { width: 6px; height: 6px; background: #d9b16d; box-shadow: 0 0 0 4px rgba(217,177,109,.13); }
.admin-console-view { max-width: 1110px; margin: auto; padding-top: 70px; animation: console-fade-in .25s ease both; }
.admin-view-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 47px; border-bottom: 1px solid rgba(241,233,220,.14); }
.admin-view-heading .eyebrow { margin-bottom: 17px; color: #d99174; }
.admin-view-heading h1 { margin: 0; color: #f1e9dc; font-size: clamp(39px, 5vw, 67px); font-weight: 500; letter-spacing: 7px; line-height: 1.12; }
.admin-view-heading h1 span { color: #d99174; }
.admin-view-heading p:last-child { margin: 19px 0 0; color: #d9b16d; font-size: 12px; letter-spacing: 1px; line-height: 1.9; }
.admin-view-stamp { display: grid; place-items: center; width: 64px; height: 64px; flex: 0 0 auto; color: rgba(217,177,109,.85); font-size: 23px; writing-mode: vertical-rl; border: 1px solid rgba(217,177,109,.64); outline: 1px solid rgba(217,177,109,.22); outline-offset: 5px; transform: rotate(7deg); }
.admin-data-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 24px; }
.admin-data-card { min-height: 135px; padding: 21px; background: rgba(241,233,220,.07); border: 1px solid rgba(241,233,220,.15); }
.admin-data-card > span, .admin-data-card > small { display: block; color: rgba(241,233,220,.5); }
.admin-data-card > span { font-size: 11px; letter-spacing: 1px; color: #d9b16d; }
.admin-data-card strong { display: block; margin: 19px 0 7px; color: #f2d7bb; font-size: 31px; font-weight: 500; letter-spacing: 2px; }
.admin-data-card > small { font: 9px Arial, sans-serif; letter-spacing: 2px; }
.admin-data-panel { margin-top: 14px; padding: 22px; background: rgba(241,233,220,.07); border: 1px solid rgba(241,233,220,.15); }
.admin-data-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-bottom: 17px; border-bottom: 1px solid rgba(241,233,220,.14); }
.admin-data-panel-head strong { color: #f1e9dc; font-size: 15px; font-weight: 500; letter-spacing: 1px; }
.admin-data-panel-head span { color: rgba(241,233,220,.43); font: 10px Arial, sans-serif; letter-spacing: 2px; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; min-width: 720px; border-collapse: collapse; color: #d9b16d; font-size: 12px; }
.admin-table th { padding: 17px 12px 12px; color: rgba(241,233,220,.42); text-align: left; font: 9px Arial, sans-serif; letter-spacing: 1px; }
.admin-table td { padding: 15px 12px; border-top: 1px solid rgba(241,233,220,.1); }
.admin-table td strong { color: #f2d7bb; font-weight: 500; }
.admin-table code { color: #dfaa8c; font: 11px Arial, sans-serif; letter-spacing: 1px; }
.admin-table .muted { color: rgba(241,233,220,.42); }
.admin-record-avatar { display: inline-grid; place-items: center; width: 29px; height: 29px; margin-right: 8px; vertical-align: middle; color: #39231c; background: #d9b16d center / cover; border-radius: 50%; font-family: "ZCOOL XiaoWei", serif; }
.admin-record-avatar.has-image { border: 1px solid rgba(217,177,109,.6); }
.admin-status-chip { display: inline-block; padding: 5px 7px; color: #a9ca9d; border: 1px solid rgba(169,202,157,.35); font-size: 10px; white-space: nowrap; }
.admin-status-chip.is-disabled, .admin-status-chip.is-pending { color: rgba(241,233,220,.47); border-color: rgba(241,233,220,.2); }
.admin-actions-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; padding: 21px; background: rgba(217,177,109,.1); border: 1px solid rgba(217,177,109,.3); }
.admin-actions-row h2 { margin: 0; color: #f2d7bb; font-size: 19px; font-weight: 500; letter-spacing: 2px; }
.admin-actions-row p { margin: 8px 0 0; color: #d9b16d; font-size: 11px; }
.admin-button-gold { display: flex; align-items: center; gap: 8px; padding: 12px 15px; border: 1px solid rgba(217,177,109,.6); color: #d9b16d; background: #d9b16d; font-size: 11px; letter-spacing: 1px; white-space: nowrap; }
.admin-button-gold:disabled { opacity: .6; cursor: wait; }
.admin-button-gold span { font: 18px Arial, sans-serif; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 24px; }
.admin-form-field { display: block; padding: 16px 17px; background: rgba(241,233,220,.06); border: 1px solid rgba(241,233,220,.14); }
.admin-form-field > span { display: block; color: #d9b16d; font-size: 10px; letter-spacing: 1px; }
.admin-form-field input, .admin-form-field textarea { width: 100%; margin-top: 11px; padding: 0 0 8px; border: 0; border-bottom: 1px solid rgba(241,233,220,.2); outline: 0; color: #f1e9dc; background: transparent; font-size: 13px; }
.admin-form-field textarea { min-height: 75px; padding-top: 3px; resize: vertical; line-height: 1.7; }
.admin-form-field input:focus, .admin-form-field textarea:focus { border-color: #d9b16d; }
.admin-form-wide { grid-column: 1 / -1; }
.admin-setting-actions { display: flex; align-items: center; gap: 15px; margin-top: 15px; }
.admin-form-message { color: #a9ca9d; font-size: 11px; }
.admin-log-row { display: grid; grid-template-columns: 160px 125px minmax(0, 1fr); gap: 15px; padding: 14px 0; border-bottom: 1px solid rgba(241,233,220,.1); color: #d9b16d; font-size: 11px; }
.admin-log-row:last-child { border-bottom: 0; }
.admin-log-row time { color: rgba(241,233,220,.4); font: 10px Arial, sans-serif; }
.admin-log-row strong { color: #f2d7bb; font-weight: 500; }
.admin-empty { padding: 42px 15px; color: #d9b16d; text-align: center; font-size: 12px; }
@media (max-width: 930px) {
  .console-shell, .admin-console-shell { grid-template-columns: 82px minmax(0, 1fr); }
  .console-sidebar, .admin-sidebar { padding-right: 12px; padding-left: 12px; }
  .console-brand > span:last-child, .console-profile > div:last-child, .console-nav-label, .console-nav-item > span:last-child, .console-admin-link, .console-side-link, .admin-brand > span:last-child, .admin-profile > div:last-child, .admin-nav-label, .admin-nav-item > span:last-child, .admin-side-link { display: none; }
  .console-brand, .admin-brand { justify-content: center; }
  .console-brand .seal, .admin-brand .seal { width: 41px; height: 41px; }
  .console-profile, .admin-profile { justify-content: center; margin: 43px 0 33px; }
  .console-nav-item, .admin-nav-item { justify-content: center; padding-right: 0; padding-left: 0; border-left: 0; border-bottom: 2px solid transparent; }
  .console-nav-item:hover, .console-nav-item.is-active, .admin-nav-item:hover, .admin-nav-item.is-active { border-bottom-color: #bc8171; }
  .admin-nav-item:hover, .admin-nav-item.is-active { border-bottom-color: #d9b16d; }
}
@media (max-width: 700px) {
  .console-main, .admin-console-main { padding-right: 18px; padding-left: 18px; }
  .console-top-user > span:not(.online-dot), .admin-top-user > span:not(.online-dot) { display: none; }
  .console-top-user .console-avatar-small, .admin-top-user .admin-avatar { display: grid; }
  .console-view, .admin-console-view { padding-top: 42px; }
  .console-heading, .admin-view-heading { align-items: flex-start; padding-bottom: 35px; }
  .console-heading h1, .admin-view-heading h1 { font-size: 39px; letter-spacing: 4px; }
  .view-stamp, .admin-view-stamp { width: 52px; height: 52px; font-size: 17px; }
  .console-home-grid, .admin-data-grid { grid-template-columns: 1fr; }
  .console-quick-grid { grid-template-columns: 1fr; }
  .console-toolbar, .admin-actions-row { display: block; }
  .console-primary-button, .admin-button-gold { margin-top: 15px; }
  .secret-notice { align-items: flex-start; flex-wrap: wrap; }
  .secret-notice button { margin-left: 0; }
  .console-feature-panel, .model-empty-grid { grid-template-columns: 1fr; gap: 27px; }
  .console-wallet-card { padding: 25px; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-form-wide { grid-column: auto; }
  .admin-log-row { grid-template-columns: 1fr; gap: 6px; }
}

.admin-generated-license { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 13px 15px; color: #d9b16d; background: rgba(217,177,109,.12); border: 1px solid rgba(217,177,109,.34); font-size: 11px; }
.admin-generated-license code { color: #f4d995; font: 12px Arial, sans-serif; letter-spacing: 1px; }
.admin-generated-license button { margin-left: auto; padding: 5px 9px; border: 1px solid rgba(217,177,109,.5); color: #d9b16d; background: transparent; font-size: 10px; }
.admin-toggle-field { display: flex; align-items: flex-start; gap: 12px; padding: 16px 17px; background: rgba(241,233,220,.06); border: 1px solid rgba(241,233,220,.14); }
.admin-toggle-field input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: #d9b16d; }
.admin-toggle-field strong, .admin-toggle-field small { display: block; }
.admin-toggle-field strong { color: #d9b16d; font-size: 12px; font-weight: 500; }
.admin-toggle-field small { margin-top: 7px; color: #d9b16d; font-size: 10px; line-height: 1.7; }
@media (max-width: 700px) {
  .admin-generated-license { align-items: flex-start; flex-wrap: wrap; }
  .admin-generated-license button { margin-left: 0; }
}

/* ===== 主界面黑金水墨换肤（用户选定：暗金鎏金·水墨） ===== */
.dashboard-page { color: #ece3d0; background: #120d08; }
.dashboard-page::before { opacity: 1; background-image: linear-gradient(rgba(8, 16, 28, .62), rgba(8, 16, 28, .62)), url('/images/stellar-palace.jpg'); background-size: auto, cover; background-position: center; background-repeat: no-repeat; }
.console-sidebar { background: rgba(14, 10, 6, .88); border-right: 1px solid rgba(212, 175, 106, .2); }
.console-brand strong { color: #d9b878; }
.console-brand small { color: rgba(217, 184, 120, .55); }
.console-profile { border-bottom: 1px solid rgba(212, 175, 106, .16); }
.console-profile span { color: #a3844d; }
.console-nav-label { color: rgba(212, 175, 106, .42); }
.console-nav-item { color: rgba(236, 227, 208, .62); }
.console-nav-item:hover, .console-nav-item.is-active { color: #e9c580; background: rgba(212, 175, 106, .1); border-left-color: #d4af6a; }
.console-nav-item.is-active .nav-glyph { color: #e9c580; border-color: rgba(233, 197, 128, .75); }
.console-topbar { border-bottom: 1px solid rgba(212, 175, 106, .18); }
.console-breadcrumb { color: rgba(212, 175, 106, .5); }
.console-breadcrumb i { color: rgba(212, 175, 106, .3); }
.console-breadcrumb strong { color: rgba(236, 227, 208, .85); }
.console-top-user { color: rgba(236, 227, 208, .72); }
.top-divider { background: rgba(212, 175, 106, .28); }
.console-heading { border-bottom: 1px solid rgba(212, 175, 106, .18); }
.console-heading .eyebrow { color: #d4af6a; }
.console-heading h1 { color: #f0e6cf; }
.console-heading h1 span { color: #d4af6a; }
.view-stamp { color: rgba(212, 175, 106, .85); border-color: rgba(212, 175, 106, .68); outline-color: rgba(212, 175, 106, .26); }
.console-card { background: rgba(24, 18, 11, .52); border-color: rgba(212, 175, 106, .17); }
.console-card-head { color: rgba(212, 175, 106, .62); border-bottom-color: rgba(212, 175, 106, .15); }
.console-quick-card { border-color: rgba(212, 175, 106, .16); color: rgba(236, 227, 208, .78); background: rgba(26, 19, 12, .45); }
.console-quick-card:hover, .console-quick-card.is-active { border-color: rgba(212, 175, 106, .6); background: rgba(212, 175, 106, .11); }
.quick-icon { color: #d9b878; border-color: rgba(217, 184, 120, .55); }
.console-quick-card > b { color: #d4af6a; }
.console-toolbar { background: rgba(24, 18, 11, .52); border-color: rgba(212, 175, 106, .17); }
.console-toolbar strong { color: #f0e6cf; }
.console-primary-button { border-color: rgba(212, 175, 106, .8); color: #20170a; background: #d4af6a; }
.console-primary-button span { color: #20170a; }
.console-list-card { background: rgba(24, 18, 11, .45); border-color: rgba(212, 175, 106, .17); }
.empty-state > span { color: #d9b878; border-color: rgba(217, 184, 120, .58); }
.api-key-row { border-bottom-color: rgba(212, 175, 106, .12); }
.api-key-symbol { color: #d9b878; border-color: rgba(217, 184, 120, .5); }
.api-key-main code { color: #cfab72; }
.api-key-state { color: #c9a86a; }
.console-feature-panel, .model-empty-grid { background: rgba(24, 18, 11, .52); border-color: rgba(212, 175, 106, .17); }
.feature-ink, .model-empty-mark { color: rgba(212, 175, 106, .85); border-color: rgba(212, 175, 106, .58); outline-color: rgba(212, 175, 106, .22); }
.console-feature-panel h2, .model-empty-grid h2 { color: #f0e6cf; }
.status-chip { color: #d9b878; border-color: rgba(217, 184, 120, .45); }
.console-wallet-card { background: linear-gradient(115deg, rgba(212, 175, 106, .18), rgba(24, 18, 11, .5)); border-color: rgba(212, 175, 106, .4); }
.console-wallet-card strong { color: #f0d8bb; }
.wallet-seal { color: rgba(212, 175, 106, .8); border-color: rgba(212, 175, 106, .58); }

/* ===== 注册码界面黑金水墨换肤（用户选定：注册界面-黑金水墨） ===== */
.register-page { color: #ece3d0; background: linear-gradient(rgba(8, 16, 28, .66), rgba(8, 16, 28, .66)), url('/images/stellar-palace.jpg') center/cover no-repeat; }
.register-nav { border-bottom: 1px solid rgba(212, 175, 106, .18); }
.brand-mark { color: rgba(236, 227, 208, .78); }
.nav-status { color: #a3844d; }
.nav-status i { background: #d4af6a; box-shadow: 0 0 0 4px rgba(212, 175, 106, .18); }
.nav-status span { color: #8a7044; }
.wash { background: #8a6d3b; opacity: .16; }
.register-intro .eyebrow { color: #d4af6a; }
.register-intro h1 { color: #f0e6cf; }
.register-intro h1 em { color: #c94f3d; }
.intro-copy { color: rgba(236, 227, 208, .72); }
.chapter-mark { color: #d4af6a; }
.chapter-mark small { border-left-color: rgba(212, 175, 106, .45); }
.register-card { background: rgba(16, 12, 7, .82); border: 1px solid rgba(212, 175, 106, .26); box-shadow: 14px 17px 0 rgba(0, 0, 0, .35); }
.register-card::before, .register-card::after { border-color: rgba(212, 175, 106, .22); }
.card-header { color: #b08e52; border-bottom-color: rgba(212, 175, 106, .14); }
.card-content h2 { color: #f0e6cf; }
.card-content > p { color: rgba(236, 227, 208, .66); }
.field-dark > span { color: #b08e52; }
.field-dark small { color: #8a7044; }
.field { border-bottom-color: rgba(212, 175, 106, .32); }
.field input { color: #f0e6cf; }
.field input::placeholder { color: #6d5b3a; }
.field:focus-within { border-color: #d4af6a; }
.card-foot { border-top-color: rgba(212, 175, 106, .14); color: #9a8157; }
.card-foot a { color: #d4af6a; border-bottom-color: rgba(212, 175, 106, .4); }
.register-footer { color: #8a7044; }

/* ===== 皇帝后台黑金水墨换肤（与主界面统一） ===== */
.admin-page { color: #f1e9dc; background: #120d08; }
.admin-page::before { opacity: 1; background-image: linear-gradient(rgba(8, 16, 28, .64), rgba(8, 16, 28, .64)), url('/images/stellar-palace.jpg'); background-size: auto, cover; background-position: center; background-repeat: no-repeat; }
.admin-sidebar { background: rgba(14, 10, 6, .9); border-right: 1px solid rgba(212, 175, 106, .2); }
.admin-brand strong { color: #d9b878; }
.admin-brand small { color: rgba(217, 184, 120, .55); }
.admin-profile { border-bottom: 1px solid rgba(212, 175, 106, .16); }
.admin-profile span { color: #d4af6a; }
.admin-nav-label { color: rgba(212, 175, 106, .42); }
.admin-nav-item { color: rgba(241, 233, 220, .62); }
.admin-nav-item:hover, .admin-nav-item.is-active { color: #e9c580; background: rgba(212, 175, 106, .1); border-left-color: #d4af6a; }
.admin-nav-glyph { color: rgba(241, 233, 220, .72); border-color: rgba(212, 175, 106, .3); }
.admin-nav-item.is-active .admin-nav-glyph { color: #e9c580; border-color: rgba(233, 197, 128, .75); }
.admin-side-link { color: rgba(241, 233, 220, .5); }
.admin-side-link b { color: #d4af6a; }
.admin-console-topbar { border-bottom: 1px solid rgba(212, 175, 106, .18); }
.admin-breadcrumb { color: rgba(212, 175, 106, .5); }
.admin-breadcrumb i { color: rgba(212, 175, 106, .3); }
.admin-breadcrumb strong { color: rgba(241, 233, 220, .85); }
.admin-top-user { color: rgba(241, 233, 220, .74); }
.admin-top-user .online-dot { background: #d4af6a; box-shadow: 0 0 0 4px rgba(212, 175, 106, .15); }
.admin-view-heading { border-bottom: 1px solid rgba(212, 175, 106, .18); }
.admin-view-heading .eyebrow { color: #d4af6a; }
.admin-view-heading h1 { color: #f0e6cf; }
.admin-view-heading h1 span { color: #d4af6a; }
.admin-view-stamp { color: rgba(212, 175, 106, .88); border-color: rgba(212, 175, 106, .66); outline-color: rgba(212, 175, 106, .24); }
.admin-data-card, .admin-panel, .admin-toggle-field, .admin-form-field { background: rgba(24, 18, 11, .5); border-color: rgba(212, 175, 106, .16); }
.admin-data-card > span, .admin-data-card > small, .admin-panel-head, .admin-panel th, .admin-toggle-field small { color: rgba(212, 175, 106, .5); }
.admin-data-card strong, .admin-panel td strong { color: #f0d8bb; }
.admin-panel td { border-top-color: rgba(212, 175, 106, .12); }
.admin-panel code { color: #cfab72; }
.admin-status.is-bound { color: #c9a86a; }
.admin-form-field > span { color: rgba(212, 175, 106, .55); }
.admin-form-field input, .admin-form-field textarea { color: #f0e6cf; border-bottom-color: rgba(212, 175, 106, .24); }
.admin-form-field input:focus, .admin-form-field textarea:focus { border-color: #d4af6a; }
.admin-toggle-field strong { color: #f0e6cf; }
.admin-toggle-field input { accent-color: #d4af6a; }

/* ===== 成员管理：等级 / 额度 / 检索 ===== */
.rank-chip.rank-emperor { color: #e8c987; border-color: rgba(217, 177, 109, .65); }
.rank-chip.rank-prince { color: #c9b4e8; border-color: rgba(163, 132, 199, .55); }
.rank-chip.rank-warlord { color: #9db9ca; border-color: rgba(122, 160, 182, .5); }
.rank-chip.rank-squire { color: #d8c48f; border-color: rgba(201, 177, 120, .55); }
.rank-chip.rank-landlord { color: #a9ca9d; border-color: rgba(169, 202, 157, .45); }
.rank-chip.rank-rich { color: #c2b98f; border-color: rgba(188, 178, 138, .42); }
.rank-chip.rank-middle { color: #b5bda8; border-color: rgba(180, 190, 168, .38); }
.rank-chip.rank-hireling { color: rgba(241, 233, 220, .8); border-color: rgba(241, 233, 220, .34); }
.rank-chip.rank-peasant { color: rgba(241, 233, 220, .72); border-color: rgba(241, 233, 220, .3); }
.rank-chip.rank-slave { color: rgba(241, 233, 220, .42); border-color: rgba(241, 233, 220, .18); }
.rank-select { max-width: 96px; padding: 6px 8px; border: 1px solid rgba(241, 233, 220, .28); color: #d9b16d; background: rgba(241, 233, 220, .06); font-size: 12px; }
.rank-select:disabled { opacity: .45; cursor: not-allowed; }
.rank-select option { color: #241614; background: #f1e9dc; }
.admin-search { min-width: 240px; padding: 12px 15px; border: 1px solid rgba(241, 233, 220, .28); color: #d9b16d; background: rgba(241, 233, 220, .06); font-size: 12px; letter-spacing: 1px; outline: none; }
.admin-search:focus { border-color: rgba(217, 177, 109, .6); }
.admin-search::placeholder { color: rgba(241, 233, 220, .4); }
.text-gold { padding: 4px 0; border: 0; border-bottom: 1px solid rgba(217, 177, 109, .55); color: #d9b16d; background: transparent; font-size: 10px; cursor: pointer; }
.text-gold:hover { color: #e8c987; }

/* ===== 成员批量操作 ===== */
.admin-batch-bar { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; margin-top: 18px; padding: 12px 18px; border: 1px solid rgba(241, 233, 220, .16); background: rgba(241, 233, 220, .05); }
.admin-batch-bar strong { font-size: 12px; letter-spacing: 1px; color: #d9b16d; }
.admin-batch-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.admin-batch-btn { padding: 10px 14px; border: 1px solid rgba(217, 177, 109, .55); color: #d9b16d; background: transparent; font-size: 11px; letter-spacing: 1px; white-space: nowrap; cursor: pointer; transition: background .2s ease, color .2s ease; }
.admin-batch-btn:hover:not(:disabled) { background: #d9b16d; color: #2b1c16; }
.admin-batch-btn.is-danger { border-color: rgba(216, 143, 121, .55); color: #d88f79; }
.admin-batch-btn.is-danger:hover:not(:disabled) { background: #d88f79; color: #2b1c16; }
.admin-batch-btn:disabled { opacity: .35; cursor: not-allowed; }
.admin-table .col-check { width: 34px; text-align: center; }
.admin-table .col-check input[type="checkbox"], .admin-table td.col-check input[type="checkbox"] { width: 15px; height: 15px; accent-color: #d9b16d; cursor: pointer; }

/* ===== 上游渠道 ===== */
.upstream-edit { padding: 4px 0; border: 0; border-bottom: 1px solid rgba(241,233,220,.4); color: #d9b16d; background: transparent; font-size: 10px; cursor: pointer; }
.upstream-edit:hover { color: #f1e9dc; border-color: #d9b16d; }

/* ===== 模型点选器 ===== */
.model-picker { border: 1px solid rgba(241, 233, 220, .16); background: rgba(241, 233, 220, .04); padding: 12px; }
.model-picker-tools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.model-picker-tools input[type="search"] { flex: 1; min-width: 150px; padding: 8px 10px; border: 1px solid rgba(241, 233, 220, .25); background: rgba(241, 233, 220, .06); color: #d9b16d; font-size: 12px; outline: none; }
.model-picker-tools input[type="search"]:focus { border-color: rgba(217, 177, 109, .6); }
.model-picker-tools span { color: #d9b16d; font-size: 11px; white-space: nowrap; }
.model-picker-tools button { padding: 7px 10px; border: 1px solid rgba(241, 233, 220, .3); color: #d9b16d; background: transparent; font-size: 10px; cursor: pointer; white-space: nowrap; }
.model-picker-tools button:hover { border-color: #d9b16d; color: #d9b16d; }
.model-chips { max-height: 190px; overflow-y: auto; display: flex; flex-wrap: wrap; gap: 6px; padding: 2px; }
.model-chip { padding: 5px 9px; border: 1px solid rgba(241, 233, 220, .3); color: #d9b16d; background: rgba(241, 233, 220, .05); font-size: 11px; cursor: pointer; white-space: nowrap; }
.model-chip:hover { border-color: #d9b16d; color: #e8c987; }
.model-chip.is-picked { border-color: rgba(217, 177, 109, .85); color: #2b1c16; background: #d9b16d; }
.model-add-row { display: flex; gap: 8px; margin-top: 10px; }
.model-add-row input { flex: 1; padding: 8px 10px; border: 1px solid rgba(241, 233, 220, .25); background: rgba(241, 233, 220, .06); color: #d9b16d; font-size: 12px; outline: none; }
.model-add-row input:focus { border-color: rgba(217, 177, 109, .6); }
.model-add-row button { padding: 7px 12px; border: 1px solid rgba(217, 177, 109, .55); color: #d9b16d; background: transparent; font-size: 10px; cursor: pointer; }
.model-add-row button:hover { background: #d9b16d; color: #2b1c16; }

/* ===== 游戏大厅 ===== */
.game-launch-card { cursor: pointer; transition: border-color .2s ease; }
.game-launch-card:hover { border-color: rgba(217, 177, 109, .5); }
.game-launch-main { display: flex; align-items: center; gap: 15px; padding: 6px 0 2px; }
.game-icon { display: grid; place-items: center; width: 52px; height: 52px; flex: none; background: #d9b16d; color: #2b1c16; font-family: "ZCOOL XiaoWei", serif; font-size: 24px; }
.game-launch-main strong { display: block; font-size: 15px; letter-spacing: 1px; }
.game-launch-main small { color: #d9b16d; font-size: 12px; letter-spacing: 1px; }
.game-launch-main b { margin-left: auto; color: #d9b16d; font-size: 12px; letter-spacing: 1px; white-space: nowrap; }
.game-frame-wrap { margin-top: 15px; border: 1px solid rgba(241, 233, 220, .16); background: rgba(241, 233, 220, .05); padding: 14px; }
.game-frame-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; color: #d9b16d; font-size: 12px; letter-spacing: 1px; }
.game-frame-wrap iframe { width: 100%; height: 640px; border: 0; display: block; background: #14100c; }
@media (max-width: 720px) { .game-frame-wrap iframe { height: 460px; } }

.admin-field-disabled { opacity: 0.45; }


/* ===== 上游渠道 · 卡片界面 ===== */
.upstream-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.upstream-stat { padding: 16px 18px; background: rgba(241,233,220,.05); border: 1px solid rgba(241,233,220,.14); border-top: 2px solid #d9b16d; display: grid; gap: 4px; }
.upstream-stat span { color: #d9b16d; font-size: 11px; letter-spacing: 1px; }
.upstream-stat strong { color: #f2d7bb; font-size: 22px; font-weight: 500; letter-spacing: .5px; }
.upstream-stat small { color: #d9b16d; font-size: 11px; }
.upstream-grid { display: grid; gap: 14px; }
.upstream-empty { padding: 36px; text-align: center; color: rgba(241,233,220,.5); font-size: 13px; letter-spacing: 1px; }
.upstream-card { padding: 18px 20px; background: rgba(241,233,220,.04); border: 1px solid rgba(241,233,220,.14); }
.upstream-card.is-off { opacity: .72; }
.upstream-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; flex-wrap: wrap; }
.upstream-card-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.upstream-card-title strong { color: #f2d7bb; font-size: 17px; font-weight: 500; letter-spacing: .5px; }
.upstream-provider { padding: 2px 8px; border: 1px solid rgba(241,233,220,.25); color: #d9b16d; font-size: 11px; letter-spacing: 1px; }
.upstream-badge { font-size: 11px; letter-spacing: 1px; color: #d9b16d; }
.upstream-badge.is-on { color: #a9ca9d; }
.upstream-badge.is-off { color: rgba(241,233,220,.45); }
.upstream-card-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.upstream-btn { padding: 6px 12px; border: 1px solid rgba(241,233,220,.3); color: #d9b16d; background: transparent; font-size: 12px; letter-spacing: .5px; cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.upstream-btn:hover:not(:disabled) { border-color: #d9b16d; color: #d9b16d; }
.upstream-btn.is-on { border-color: rgba(169,202,157,.55); color: #a9ca9d; }
.upstream-btn.is-warn { border-color: rgba(217,177,109,.55); color: #d9b16d; }
.upstream-btn.is-danger { border-color: rgba(216,143,121,.55); color: #d88f79; }
.upstream-btn.is-danger:hover:not(:disabled) { background: #d88f79; color: #2b1c16; border-color: #d88f79; }
.upstream-btn:disabled { opacity: .4; cursor: not-allowed; }
.upstream-card-meta { display: grid; grid-template-columns: 2fr 1fr 1fr 2fr; gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(241,233,220,.1); }
.upstream-card-meta span { display: block; color: #d9b16d; font-size: 11px; letter-spacing: 1px; margin-bottom: 4px; }
.upstream-card-meta strong { color: rgba(241,233,220,.85); font-size: 14px; font-weight: 500; }
.upstream-card-meta code { color: #d9b16d; font-size: 12px; word-break: break-all; }
.upstream-models { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; align-items: center; }
.upstream-model { padding: 3px 8px; border: 1px solid rgba(241,233,220,.22); color: #d9b16d; background: rgba(241,233,220,.04); font-size: 11px; }
.upstream-model-more { color: #d9b16d; font-size: 11px; }
.upstream-card-error { margin-top: 12px; padding: 8px 12px; border-left: 2px solid #d88f79; color: #d9b16d; font-size: 12px; background: rgba(216,143,121,.07); }
.upstream-keys-panel { margin-top: 14px; border-top: 1px solid rgba(241,233,220,.1); padding-top: 12px; }
.upstream-keys-panel summary { cursor: pointer; color: #d9b16d; font-size: 12px; letter-spacing: 1px; list-style: none; }
.upstream-keys-panel summary::-webkit-details-marker { display: none; }
.upstream-keys-panel summary::before { content: "▸ "; color: #d9b16d; }
.upstream-keys-panel[open] summary::before { content: "▾ "; }
.upstream-key-list { margin-top: 12px; display: grid; gap: 6px; }
.upstream-key-item { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 10px; background: rgba(241,233,220,.03); border: 1px solid rgba(241,233,220,.1); font-size: 12px; color: #d9b16d; }
.upstream-key-index { color: rgba(241,233,220,.4); min-width: 26px; }
.upstream-key-mask { color: #d9b16d; font-size: 12px; }
.upstream-key-state { padding: 2px 7px; font-size: 11px; letter-spacing: .5px; border: 1px solid; color: #d9b16d; }
.upstream-key-state.is-on { color: #a9ca9d; border-color: rgba(169,202,157,.4); }
.upstream-key-state.is-warn { color: #d9b16d; border-color: rgba(217,177,109,.45); }
.upstream-key-state.is-off { color: rgba(241,233,220,.5); border-color: rgba(241,233,220,.25); }
.upstream-key-count { color: #d9b16d; font-size: 11px; }
.upstream-key-err { color: #d9b16d; font-size: 11px; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.upstream-key-ops { margin-left: auto; display: flex; gap: 6px; }
.upstream-key-action { padding: 3px 9px; border: 1px solid rgba(241,233,220,.3); background: transparent; color: #d9b16d; font-size: 11px; cursor: pointer; }
.upstream-key-action:hover:not(:disabled) { border-color: #d9b16d; color: #d9b16d; }
.upstream-key-action.is-on { color: #a9ca9d; border-color: rgba(169,202,157,.5); }
.upstream-key-action.is-off { color: #d88f79; border-color: rgba(216,143,121,.5); }
.upstream-key-action:disabled { opacity: .4; cursor: not-allowed; }
.upstream-empty-keys { color: #d9b16d; font-size: 12px; padding: 6px 2px; }
@media (max-width: 900px) {
  .upstream-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .upstream-card-meta { grid-template-columns: 1fr 1fr; }
}

/* 原生表单控件统一暗色,避免浏览器默认白底漏白 */
:root { color-scheme: dark; }
select, option, optgroup { color: #f1e9dc; background-color: #1a120e; }
option { background: #241614; color: #f1e9dc; }
select { border: 1px solid rgba(217, 177, 109, .35); background: rgba(241, 233, 220, .06); color: #f1e9dc; padding: 6px 8px; font-size: 13px; outline: none; }
select:focus { border-color: rgba(217, 177, 109, .7); }
input[type="checkbox"], input[type="radio"] { accent-color: #d9b16d; background-color: rgba(241, 233, 220, .06); }
input[type="text"], input[type="search"], input[type="number"], input[type="url"], input[type="password"], input[type="email"], textarea {
  background-color: rgba(241, 233, 220, .06); color: #f1e9dc; border-color: rgba(217, 177, 109, .35);
}
input::placeholder, textarea::placeholder { color: rgba(241, 233, 220, .42); }
.wallet-redeem-form input, #redeemLicense { background: rgba(18, 13, 8, .72); color: #f1e9dc; border: 1px solid rgba(217, 177, 109, .4); }
.wallet-redeem-form input:focus, #redeemLicense:focus { border-color: #d9b16d; }

/* 封禁提示页 */
.ban-notice { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #120d08; color: #f1e9dc; }
.ban-notice-card { max-width: 480px; width: 100%; padding: 32px; border: 1px solid rgba(255, 59, 47, .45); background: rgba(36, 22, 20, .85); text-align: center; }
.ban-notice-card h1 { margin: 8px 0 18px; font-size: 26px; font-weight: 500; color: #d9b16d; }
.ban-notice-reason { font-size: 15px; line-height: 1.8; padding: 12px 14px; border-left: 2px solid #ff3b2f; background: rgba(255, 59, 47, .07); text-align: left; }
.ban-notice-link { display: inline-block; margin-top: 18px; color: #d9b16d; border-bottom: 1px solid rgba(217, 177, 109, .5); text-decoration: none; }

/* 登录页面板透明化:背景图透出,去掉遮罩与模糊 */
.login-panel { background: rgba(10, 15, 17, .12); backdrop-filter: none; -webkit-backdrop-filter: none; }

/* 登录页左侧与右侧同亮度:去掉左侧暗色渐变、叠层与扫描线 */
.login-art { background: transparent; }
.login-art::before, .login-art::after { content: none; display: none; }

.audit-summary { margin: 0 0 6px; color: rgba(241,233,220,.45); font-size: 11px; }
.audit-day { margin: 22px 0 8px; padding-bottom: 6px; border-bottom: 1px solid rgba(217,177,109,.25); color: #d9b16d; font-size: 12px; font-weight: 500; letter-spacing: .08em; }
.audit-day:first-of-type { margin-top: 0; }
.audit-card { margin-bottom: 10px; padding: 12px 14px; border: 1px solid rgba(241,233,220,.1); border-left: 3px solid rgba(217,177,109,.5); background: rgba(0,0,0,.18); }
.audit-card.audit-ok { border-left-color: #8fbf7a; }
.audit-card.audit-warn { border-left-color: #d9b16d; }
.audit-card.audit-danger { border-left-color: #c96a5a; }
.audit-card-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.audit-tag { padding: 2px 8px; border: 1px solid rgba(217,177,109,.4); color: #d9b16d; font-size: 10px; letter-spacing: .06em; }
.audit-card-top strong { color: #f2d7bb; font-size: 13px; font-weight: 500; }
.audit-card-top time { margin-left: auto; color: rgba(241,233,220,.45); font: 11px Arial, sans-serif; }
.audit-card-meta { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 8px; color: rgba(241,233,220,.6); font-size: 11px; }
.audit-card-meta b { color: #f2d7bb; font-weight: 500; }
.audit-card-meta code { color: #f2d7bb; font: 11px Consolas, monospace; word-break: break-all; }
.audit-level { color: rgba(241,233,220,.45); }
.audit-danger .audit-level { color: #e09a8c; }
.audit-muted { color: rgba(241,233,220,.35); }
.audit-detail { margin: 8px 0 0; color: #d9b16d; font-size: 11px; line-height: 1.6; word-break: break-all; }

.model-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; padding: 16px; }
.model-card { position: relative; display: flex; flex-direction: column; gap: 14px; min-height: 196px; padding: 18px; border: 1px solid rgba(212, 175, 106, .22); background: linear-gradient(160deg, rgba(24, 18, 11, .72), rgba(12, 9, 6, .6)); transition: border-color .2s, transform .2s; }
.model-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--vendor); opacity: .85; }
.model-card:hover { border-color: var(--vendor); transform: translateY(-2px); }
.model-card-badge { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid color-mix(in srgb, var(--vendor) 70%, transparent); background: color-mix(in srgb, var(--vendor) 14%, transparent); color: var(--vendor); font: 600 17px Arial, sans-serif; letter-spacing: .02em; }
.model-card-body { display: grid; gap: 6px; min-width: 0; }
.model-card-body strong { overflow: hidden; color: #f0e6cf; font-size: 14px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.model-card-vendor { color: rgba(217, 184, 120, .7); font-size: 11px; }
.model-card-price { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: auto 0 0; background: rgba(212, 175, 106, .16); border: 1px solid rgba(212, 175, 106, .16); }
.model-card-price > div { display: grid; gap: 3px; padding: 8px 10px; background: rgba(12, 9, 6, .75); }
.model-card-price dt { color: rgba(217, 184, 120, .55); font-size: 10px; }
.model-card-price dd { margin: 0; color: #d9b878; font-size: 12px; }
.model-card-state { position: absolute; top: 14px; right: 14px; padding: 2px 8px; border: 1px solid rgba(143, 191, 122, .5); color: #a9ca9d; font-size: 10px; }
@media (max-width: 560px) { .model-grid { grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px; } .model-card { min-height: 0; padding: 14px; } .model-card-badge { width: 42px; height: 42px; font-size: 14px; } }

.game-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin-top: 14px; }
.game-tile { position: relative; display: flex; flex-direction: column; gap: 12px; min-height: 240px; padding: 20px; border: 1px solid rgba(212, 175, 106, .22); background: linear-gradient(160deg, rgba(24, 18, 11, .72), rgba(12, 9, 6, .6)); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .2s, transform .2s; }
.game-tile::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: #d9b16d; opacity: .85; }
.game-tile:hover { border-color: rgba(217, 177, 109, .6); transform: translateY(-2px); }
.game-tile:focus-visible { outline: 1px solid #d9b16d; outline-offset: 3px; }
.game-tile-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.game-tile-icon { display: grid; place-items: center; width: 56px; height: 56px; background: #d9b16d; color: #2b1c16; font-family: "ZCOOL XiaoWei", serif; font-size: 26px; }
.game-tile-tag { padding: 2px 8px; border: 1px solid rgba(217, 177, 109, .35); color: rgba(217, 184, 120, .7); font-size: 10px; letter-spacing: .06em; white-space: nowrap; }
.game-tile-title { color: #f0e6cf; font-size: 16px; font-weight: 500; letter-spacing: 1px; }
.game-tile-desc { display: block; flex: 1; color: rgba(217, 184, 120, .75); font-size: 12px; line-height: 1.8; }
.game-tile-play { align-self: flex-start; padding: 6px 12px; border: 1px solid rgba(217, 177, 109, .55); color: #d9b16d; font-size: 12px; letter-spacing: 1px; }
.game-tile:hover .game-tile-play { background: #d9b16d; color: #2b1c16; }
@media (max-width: 560px) { .game-grid { grid-template-columns: 1fr; } .game-tile { min-height: 0; } }

.member-pager { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 14px 16px; border-top: 1px solid rgba(241,233,220,.1); color: rgba(241,233,220,.6); font-size: 12px; }
.member-pager-info { color: rgba(241,233,220,.5); font-size: 11px; }
.member-pager-controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.member-pager-page { min-width: 96px; text-align: center; color: #d9b16d; font-size: 12px; }
.member-pager-btn { padding: 6px 12px; border: 1px solid rgba(217,177,109,.45); color: #d9b16d; background: transparent; font-size: 11px; cursor: pointer; }
.member-pager-btn:hover:not(:disabled) { background: #d9b16d; color: #2b1c16; }
.member-pager-btn:disabled { opacity: .35; cursor: not-allowed; }
.member-pager-size { display: inline-flex; align-items: center; gap: 6px; margin-left: 6px; color: rgba(241,233,220,.5); font-size: 11px; }
.member-pager-size select { padding: 5px 8px; border: 1px solid rgba(241,233,220,.25); background: rgba(241,233,220,.06); color: #d9b16d; font-size: 11px; outline: none; }
@media (max-width: 720px) { .member-pager { justify-content: center; text-align: center; } }


/* 上游模型的站内自定义名称 */
.model-alias-list { display: grid; gap: 10px; margin-top: 13px; }
.model-alias-row { display: grid; grid-template-columns: minmax(180px, 1fr) 28px minmax(180px, 1fr); align-items: center; gap: 10px; padding: 11px 12px; background: rgba(20, 13, 12, .28); border: 1px solid rgba(217,177,109,.18); }
.model-alias-row code { min-width: 0; overflow: hidden; color: #dfaa8c; font: 11px/1.5 Arial, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.model-alias-row input { width: 100%; margin: 0; padding: 8px 0; border: 0; border-bottom: 1px solid rgba(241,233,220,.2); outline: 0; color: #f1e9dc; background: transparent; font-size: 13px; }
.model-alias-row input:focus { border-color: #d9b16d; }
.model-alias-arrow { color: #d9b16d; text-align: center; font-size: 18px; }
@media (max-width: 700px) {
  .model-alias-row { grid-template-columns: 1fr; gap: 4px; }
  .model-alias-arrow { display: none; }
}


/* 邮箱升级引导横幅 */
.upgrade-banner{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin:0 0 18px;padding:16px 18px;border:1px solid rgba(201,162,39,.42);border-radius:12px;background:linear-gradient(135deg,rgba(201,162,39,.16),rgba(201,162,39,.04))}
.upgrade-banner-main{display:flex;gap:14px;align-items:flex-start;min-width:260px;flex:1}
.upgrade-banner-seal{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#c9a227;color:#1b1b1b;font-weight:700;font-size:18px}
.upgrade-banner-main strong{display:block;font-size:15px;line-height:1.5}
.upgrade-banner-main p{margin:4px 0 0;font-size:13px;line-height:1.65;opacity:.82}
.upgrade-banner-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.upgrade-banner-actions .console-primary-button{white-space:nowrap;text-decoration:none;padding:9px 18px}
@media(max-width:720px){.upgrade-banner{flex-direction:column;align-items:stretch}.upgrade-banner-actions{align-items:stretch}.upgrade-banner-actions .console-primary-button{text-align:center}}
