/* 九零列表 — 蓝色主题（对标参考站视觉） */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif; font-size: 14px; color: #333; }
a { text-decoration: none; color: inherit; }
.bluebg { background: #9fd4f0; min-height: 100vh; display: flex; flex-direction: column; }
.mono { font-family: Consolas, Menlo, monospace; letter-spacing: .5px; }

/* ---------- 顶部导航 ---------- */
.topnav { background: linear-gradient(180deg, #1f8ddd, #1877c2); box-shadow: 0 1px 4px rgba(0,0,0,.15); position: sticky; top: 0; z-index: 100; }
.topnav-in { max-width: 1200px; margin: 0 auto; padding: 0 20px; height: 56px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 22px; font-weight: 700; letter-spacing: 1px; }
.logo-feather { transform: rotate(-15deg); }
.nav-r { display: flex; align-items: center; gap: 18px; }
.nav-a { color: #fff; font-size: 14px; opacity: .95; }
.nav-a:hover { opacity: 1; text-decoration: underline; }
.nav-reg { background: rgba(255,255,255,.18); padding: 5px 14px; border-radius: 4px; }
.nav-user-wrap { position: relative; }
.nav-user { font-size: 14px; }
.nav-drop { display: none; position: absolute; right: 0; top: 34px; background: #fff; border-radius: 6px; box-shadow: 0 4px 16px rgba(0,0,0,.18); min-width: 140px; overflow: hidden; }
.nav-user-wrap.open .nav-drop { display: block; }
.nav-drop a { display: block; padding: 10px 16px; color: #333; font-size: 14px; }
.nav-drop a:hover { background: #f0f7ff; color: #1877c2; }

/* ---------- 首页 ---------- */
.banner { max-width: 1200px; margin: 16px auto 0; padding: 0 20px; }
.banner-in { background: linear-gradient(90deg, #12294b, #1d3e6e); color: #ffd83d; font-weight: 700; text-align: center; padding: 14px; border-radius: 6px; font-size: 15px; }
.upload-card { width: 560px; max-width: 94vw; margin: 90px auto 40px; background: #fff; border: 3px dashed #c9c9c9; border-radius: 4px; padding: 42px 30px 26px; text-align: center; }
.btn-choose { min-width: 130px; }
.tips-box { background: #f2f9ef; border-radius: 4px; padding: 18px; margin-top: 26px; text-align: center; }
.tips-title { color: #3a9d23; font-weight: 700; font-size: 15px; margin-bottom: 10px; }
.tips-line { color: #4a7d3a; font-size: 13px; line-height: 1.9; }
.tips-strong { color: #2fa31d; font-weight: 700; margin-top: 8px; font-size: 14px; }
.up-links { margin: 22px 0 12px; display: flex; justify-content: center; gap: 42px; }
.icp { color: #666; font-size: 12px; margin: 8px 0 6px; }
.up-result { padding: 10px 0; }
.up-ok { font-size: 15px; font-weight: 700; color: #2fa31d; margin-bottom: 14px; }
.up-url { background: #f0f7ff; border: 1px solid #bcd9f2; border-radius: 4px; padding: 12px; font-size: 15px; font-weight: 700; color: #1877c2; word-break: break-all; cursor: pointer; user-select: all; }
.up-url:hover { background: #e5f1fc; }
.up-tip { color: #888; font-size: 12px; margin: 10px 0 16px; }
.up-tip.warn { color: #d48806; }

/* ---------- 按钮 ---------- */
.btn { display: inline-block; border: none; border-radius: 4px; padding: 9px 18px; font-size: 14px; cursor: pointer; line-height: 1.4; transition: filter .15s; }
.btn:hover { filter: brightness(1.08); }
.btn:disabled { opacity: .6; cursor: not-allowed; }
.btn-blue { background: #1877c2; color: #fff; }
.btn-green { background: #43a047; color: #fff; }
.btn-red { background: #e64c4c; color: #fff; }
.btn-gray { background: #909399; color: #fff; }
.btn-block { display: block; width: 100%; }
.btn-line-blue { background: #fff; color: #1877c2; border: 1px solid #1877c2; }
.btn-line-green { background: #fff; color: #43a047; border: 1px solid #43a047; }
.btn-line-red { background: #fff; color: #e64c4c; border: 1px solid #e64c4c; }
.btn-sm { padding: 3px 10px; font-size: 12px; }
.blue-link { color: #1877c2; }
.blue-link:hover { text-decoration: underline; }

/* ---------- 表单 ---------- */
.f-label { color: #555; margin: 14px 0 6px; font-size: 14px; }
.f-input { width: 100%; border: 1px solid #d9d9d9; border-radius: 4px; padding: 9px 12px; font-size: 14px; outline: none; }
.f-input:focus { border-color: #1877c2; box-shadow: 0 0 0 2px rgba(24,119,194,.12); }
.f-textarea { width: 100%; border: 1px solid #d9d9d9; border-radius: 4px; padding: 10px; font-family: Consolas, monospace; font-size: 13px; line-height: 1.6; outline: none; resize: vertical; }
.f-textarea:focus { border-color: #1877c2; }
.f-msg { min-height: 20px; margin-top: 8px; font-size: 13px; }
.f-msg.ok { color: #2fa31d; }
.f-msg.err { color: #e64c4c; }
select.f-input { height: 38px; }

/* ---------- 登录注册 ---------- */
.auth-wrap { max-width: 400px; margin: 70px auto 60px; padding: 0 16px; flex: 1; }
.auth-card { background: #fff; border-radius: 8px; padding: 30px 28px 24px; box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.auth-title { font-size: 20px; font-weight: 700; text-align: center; margin-bottom: 8px; }
.auth-sub { text-align: center; color: #888; font-size: 13px; margin-bottom: 10px; }
.auth-alt { text-align: center; color: #888; font-size: 13px; margin-top: 16px; }

/* ---------- 会员中心布局 ---------- */
.member-wrap { max-width: 1200px; margin: 24px auto; padding: 0 20px; display: flex; gap: 18px; flex: 1; align-items: flex-start; width: 100%; }
.side { width: 220px; background: #fff; border-radius: 6px; padding: 8px 0; box-shadow: 0 2px 8px rgba(0,0,0,.06); flex-shrink: 0; }
.side-item { display: block; padding: 13px 20px; color: #444; font-size: 14px; border-left: 3px solid transparent; }
.side-item:hover { background: #f2f9fd; color: #1877c2; }
.side-item.active { background: #e8f4fd; border-left-color: #1877c2; color: #1877c2; font-weight: 700; }
.main { flex: 1; min-width: 0; }

/* ---------- 面板 ---------- */
.panel { background: #fff; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,.06); overflow: hidden; margin-bottom: 18px; }
.panel-hd { background: #f7f7f7; border-bottom: 1px solid #e8e8e8; padding: 14px 20px; font-size: 17px; font-weight: 700; color: #333; }
.panel-hd.flex { display: flex; align-items: center; justify-content: space-between; }
.hd-r { font-size: 14px; font-weight: 400; }

/* ---------- 个人主页 ---------- */
.home-grid { display: grid; grid-template-columns: 1fr 1.2fr 1.2fr; gap: 16px; padding: 20px; }
.stat-card { background: linear-gradient(160deg, #4a90d9, #2f6fb5); border-radius: 6px; color: #fff; text-align: center; padding: 34px 20px 22px; }
.stat-num { font-size: 46px; font-weight: 700; line-height: 1.1; }
.stat-label { margin-top: 6px; font-size: 14px; opacity: .9; }
.space-card, .info-card { background: #fafbfc; border: 1px solid #ececec; border-radius: 6px; padding: 18px; }
.card-title { font-weight: 700; color: #1877c2; margin-bottom: 12px; font-size: 15px; }
.kv { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13.5px; color: #666; }
.kv b { color: #333; font-weight: 600; }
.prog { background: #e8e8e8; border-radius: 4px; height: 12px; margin-top: 12px; overflow: hidden; }
.prog-in { background: linear-gradient(90deg, #4a90d9, #1877c2); height: 100%; border-radius: 4px; transition: width .4s; }
.prog-num { text-align: center; margin-top: 14px; font-size: 15px; font-weight: 700; }
.lv-line { color: #888; font-size: 13px; padding: 4px 0 12px; }
.info-card .btn { margin-top: 4px; }

/* ---------- 表格 ---------- */
.tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tbl th, .tbl td { border-bottom: 1px solid #eee; padding: 11px 14px; text-align: left; }
.tbl th { background: #fafafa; color: #555; font-weight: 600; white-space: nowrap; }
.tbl tbody tr:hover { background: #f7fbff; }
.tbl .empty { text-align: center; color: #999; padding: 34px 0; }
.td-cb { width: 36px; text-align: center; }
.td-op { white-space: nowrap; }
.td-op .btn { margin-right: 6px; }
.tbl-ft { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; }
.tbl-info { color: #888; font-size: 13px; }
.list-name { font-weight: 600; }

/* ---------- 弹窗 ---------- */
.modal-mask { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 200; display: flex; align-items: center; justify-content: center; }
.modal { background: #fff; border-radius: 8px; width: 420px; max-width: 94vw; box-shadow: 0 8px 30px rgba(0,0,0,.25); }
.modal-lg { width: 760px; }
.modal-hd { padding: 14px 18px; border-bottom: 1px solid #eee; font-size: 16px; font-weight: 700; display: flex; justify-content: space-between; align-items: center; }
.modal-x { cursor: pointer; color: #999; font-size: 15px; font-weight: 400; }
.modal-x:hover { color: #e64c4c; }
.modal-bd { padding: 16px 18px; max-height: 70vh; overflow: auto; }
.modal-ft { padding: 12px 18px 16px; text-align: right; }
.modal-ft .btn { margin-left: 10px; }
.alert-info { background: #e8f7fd; border-radius: 4px; padding: 10px 14px; color: #1a6f8e; font-size: 13px; margin-bottom: 12px; }
.radio-line { display: block; padding: 6px 0; color: #444; cursor: pointer; }
.edit-url-line { background: #f7fbff; border: 1px solid #dcebf7; border-radius: 4px; padding: 9px 12px; font-size: 13px; color: #555; margin-bottom: 4px; word-break: break-all; }

/* ---------- 预览页 ---------- */
.preview-wrap { max-width: 1000px; margin: 30px auto 40px; padding: 0 20px; flex: 1; width: 100%; }
.preview-url { color: #888; font-size: 13px; padding: 12px 20px; word-break: break-all; }
.pre-content { background: #fbfbfb; border-top: 1px solid #eee; padding: 16px 20px; font-family: Consolas, "Courier New", monospace; font-size: 13px; line-height: 1.7; white-space: pre-wrap; word-break: break-all; max-height: 65vh; overflow: auto; }

/* ---------- 密码页 ---------- */
.pw-form { max-width: 460px; margin: 0 auto; padding: 24px 0 30px; }

/* ---------- 商城 ---------- */
.shop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 20px; }
.shop-card { border: 1px solid #ececec; border-radius: 8px; padding: 22px 18px; text-align: center; }
.shop-icon { font-size: 40px; }
.shop-t { font-weight: 700; font-size: 16px; margin: 10px 0 6px; }
.shop-d { color: #777; font-size: 13px; }
.shop-p { color: #e6742a; font-weight: 700; margin: 8px 0 14px; }

/* ---------- 管理后台 ---------- */
.admin-tabs { display: flex; gap: 8px; margin-bottom: 14px; }
.atab { background: #fff; border: 1px solid #d9d9d9; border-radius: 4px; padding: 8px 20px; cursor: pointer; font-size: 14px; }
.atab.active { background: #1877c2; border-color: #1877c2; color: #fff; }
.gen-bar { display: flex; align-items: center; gap: 10px; padding: 14px 18px; flex-wrap: wrap; }
.gen-tip { color: #999; font-size: 12px; }
.tag-green, .tag-gray, .tag-blue { display: inline-block; padding: 1px 8px; border-radius: 3px; font-size: 12px; }
.tag-green { background: #e8f8e8; color: #2fa31d; }
.tag-gray { background: #f0f0f0; color: #888; }
.tag-blue { background: #e6f3fc; color: #1877c2; }

/* ---------- 404 / 页脚 ---------- */
.c404 { text-align: center; padding: 120px 0; color: #fff; }
.c404 h1 { font-size: 64px; }
.c404 p { margin: 12px 0 24px; opacity: .9; }
.footer { background: #fff; text-align: center; padding: 16px; color: #888; font-size: 13px; margin-top: auto; }
.footer a { color: #1877c2; }

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
  .member-wrap { flex-direction: column; }
  .side { width: 100%; display: flex; flex-wrap: wrap; padding: 4px; }
  .side-item { border-left: none; border-bottom: 2px solid transparent; padding: 10px 14px; }
  .side-item.active { border-bottom-color: #1877c2; }
  .home-grid, .shop-grid { grid-template-columns: 1fr; }
  .upload-card { margin-top: 40px; }
}

/* ===== v2 追加：充值中心 / 后台增强 ===== */
.rc-wrap { display: flex; gap: 20px; padding: 16px; align-items: flex-start; }
.rc-left { flex: 1.4; min-width: 280px; }
.rc-right { flex: 1; display: flex; flex-direction: column; gap: 14px; }
.rc-cur { background: #f0f7ff; border: 1px solid #cfe5ff; color: #2465a8; border-radius: 6px; padding: 10px 12px; font-size: 13px; margin-bottom: 14px; }
.rc-input { font-size: 16px; letter-spacing: 1px; font-family: Consolas, monospace; text-transform: uppercase; }
.tag-orange { display: inline-block; background: #fff3e8; color: #d4691e; border: 1px solid #f5c9a0; border-radius: 4px; padding: 1px 8px; font-size: 12px; }
.tag-blue { display: inline-block; background: #eaf3ff; color: #2465a8; border: 1px solid #bcd7f7; border-radius: 4px; padding: 1px 8px; font-size: 12px; }
.side-item[href="/admin"] { color: #2465a8; font-weight: 600; }
@media (max-width: 760px) { .rc-wrap { flex-direction: column; } }

/* ===== 首页会员优势 ===== */
.adv-panel { max-width: 560px; margin: 0 auto 26px; background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(24,119,194,.08); padding: 18px 20px 16px; }
.adv-title { text-align: center; font-size: 18px; font-weight: 700; color: #1877c2; margin-bottom: 14px; }
.adv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.adv-item { background: #f0f7ff; border: 1px solid #cfe5ff; border-radius: 8px; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; }
.adv-item b { color: #2465a8; font-size: 14px; }
.adv-item span { color: #6b7c93; font-size: 12px; line-height: 1.6; }
.adv-cta { display: flex; gap: 10px; justify-content: center; margin-top: 14px; }
@media (max-width: 600px) { .adv-grid { grid-template-columns: 1fr; } }
