/* ==========================================================================
 * GetNew Web 站样式（2026-10-25 上线）
 * 响应式三档：桌面 ≥1024（顶部导航）/ 平板 768-1023 / 手机 <768（底部 tab）
 * 主色紫蓝 #5B5CF6，强调橙 #FF7A45；禁 emoji，一律 SVG 图标。
 * ========================================================================== */
:root {
  --c-brand: #5B5CF6; --c-brand-deep: #4346E0; --c-brand-soft: #EEEFFE; --c-brand-line: #D6D8FA;
  --c-accent: #FF7A45; --c-accent-soft: #FFF1E8; --c-accent-deep: #E2602C;
  --c-success: #16A34A; --c-success-soft: #E8F6ED; --c-danger: #DC2626; --c-danger-soft: #FDECEC;
  --c-warn: #D97706; --c-warn-soft: #FEF4E2; --c-info: #2563EB; --c-info-soft: #EAF1FE;
  --c-bg: #F5F6FA; --c-card: #FFFFFF; --c-line: #EAEBEF; --c-line2: #DEE1E7;
  --c-text: #1F2329; --c-text2: #646A73; --c-text3: #8F959E;
  --c-dark: #16171D; --c-dark2: #22242D;
  --r-xl: 20px; --r-lg: 16px; --r-md: 12px; --r-sm: 8px;
  --shadow-sm: 0 1px 3px rgba(20, 22, 36, .05);
  --shadow-md: 0 6px 24px rgba(20, 22, 36, .08);
  --shadow-lg: 0 16px 48px rgba(20, 22, 36, .16);
  --font: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; }
body {
  font-family: var(--font); background: var(--c-bg); color: var(--c-text);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
img { max-width: 100%; display: block; }
::selection { background: var(--c-brand-soft); color: var(--c-brand-deep); }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: #C9CCD4; border-radius: 4px; }
::-webkit-scrollbar-track { background: transparent; }

/* ---------- 启动屏 ---------- */
.gw-boot { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; }
.gw-boot-logo { width: 64px; height: 64px; border-radius: 18px; background: var(--c-brand); color: #fff; font-size: 32px; font-weight: 800; display: flex; align-items: center; justify-content: center; animation: gw-pulse 1.2s ease-in-out infinite; }
.gw-boot-text { color: var(--c-text3); font-size: 14px; }
@keyframes gw-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(.92); } }

/* ---------- 顶栏 ---------- */
.gw-topbar {
  position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.92);
  backdrop-filter: saturate(1.6) blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--c-line);
}
.gw-topbar-in { max-width: 1200px; margin: 0 auto; height: 60px; display: flex; align-items: center; gap: 20px; padding: 0 20px; }
.gw-logo { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 19px; letter-spacing: -.5px; flex-shrink: 0; }
.gw-logo-mark { width: 32px; height: 32px; border-radius: 10px; background: var(--c-brand); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 17px; }
.gw-logo-sub { font-size: 11px; color: var(--c-text3); font-weight: 500; letter-spacing: .5px; margin-left: -4px; }
.gw-search { flex: 1; max-width: 380px; position: relative; }
.gw-search input {
  width: 100%; height: 36px; border: 1px solid var(--c-line); border-radius: 18px;
  background: var(--c-bg); padding: 0 16px 0 36px; font-size: 13px; outline: none;
  transition: border-color .2s, background .2s;
}
.gw-search input:focus { border-color: var(--c-brand); background: #fff; }
.gw-search svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--c-text3); }
.gw-nav { display: flex; gap: 2px; }
.gw-nav a {
  padding: 6px 12px; border-radius: 8px; font-size: 14px; color: var(--c-text2); font-weight: 500;
  transition: color .15s, background .15s; white-space: nowrap;
}
.gw-nav a:hover { color: var(--c-brand-deep); background: var(--c-brand-soft); }
.gw-nav a.on { color: var(--c-brand-deep); background: var(--c-brand-soft); font-weight: 600; }
.gw-top-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.gw-icon-btn { position: relative; width: 36px; height: 36px; border: none; background: transparent; border-radius: 10px; cursor: pointer; color: var(--c-text2); display: flex; align-items: center; justify-content: center; }
.gw-icon-btn:hover { background: var(--c-brand-soft); color: var(--c-brand-deep); }
.gw-icon-btn svg { width: 20px; height: 20px; }
.gw-badge-dot { position: absolute; top: 5px; right: 6px; min-width: 16px; height: 16px; border-radius: 8px; background: var(--c-danger); color: #fff; font-size: 10px; font-weight: 600; display: flex; align-items: center; justify-content: center; padding: 0 4px; border: 2px solid #fff; }
.gw-avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--c-brand-soft); color: var(--c-brand-deep); font-weight: 600; font-size: 13px; display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: pointer; flex-shrink: 0; border: 2px solid transparent; transition: border-color .15s; }
.gw-avatar:hover { border-color: var(--c-brand-line); }
.gw-avatar img { width: 100%; height: 100%; object-fit: cover; }

/* 头像下拉 */
.gw-user-menu { position: relative; }
.gw-user-drop {
  position: absolute; right: 0; top: 46px; width: 240px; background: var(--c-card); border: 1px solid var(--c-line);
  border-radius: var(--r-lg); box-shadow: var(--shadow-lg); overflow: hidden; animation: gw-pop .16s ease;
}
.gw-user-drop .ud-head { padding: 14px 16px; border-bottom: 1px solid var(--c-line); }
.gw-user-drop .ud-name { font-weight: 700; font-size: 15px; }
.gw-user-drop .ud-sub { font-size: 12px; color: var(--c-text3); margin-top: 3px; display: flex; align-items: center; gap: 6px; }
.gw-user-drop a, .gw-user-drop button.ud-item { display: flex; width: 100%; align-items: center; gap: 10px; padding: 10px 16px; font-size: 13px; color: var(--c-text); border: none; background: none; cursor: pointer; text-align: left; }
.gw-user-drop a:hover, .gw-user-drop button.ud-item:hover { background: var(--c-bg); }
.gw-user-drop a svg, .gw-user-drop button.ud-item svg { width: 15px; height: 15px; color: var(--c-text3); flex-shrink: 0; }
.gw-user-drop .ud-sep { height: 1px; background: var(--c-line); margin: 4px 0; }
@keyframes gw-pop { from { opacity: 0; transform: translateY(-4px) scale(.98); } }

/* ---------- 主体 ---------- */
.gw-page { max-width: 1200px; margin: 0 auto; padding: 24px 20px 80px; min-height: calc(100vh - 60px); }
.gw-page.wide { max-width: 1280px; }

/* ---------- 首页 ---------- */
.gw-hero {
  border-radius: 24px; padding: 56px 48px 60px; color: #fff; position: relative; overflow: hidden;
  background: linear-gradient(115deg, #3E3FD6 0%, #5B5CF6 46%, #8B7CF6 100%);
}
.gw-hero::after { content: ''; position: absolute; right: -120px; top: -140px; width: 380px; height: 380px; border-radius: 50%; background: rgba(255,255,255,.08); }
.gw-hero::before { content: ''; position: absolute; right: 120px; bottom: -180px; width: 300px; height: 300px; border-radius: 50%; background: rgba(255,255,255,.06); }
.gw-hero h1 { font-size: 40px; font-weight: 800; letter-spacing: -1px; line-height: 1.25; position: relative; }
.gw-hero h1 em { font-style: normal; color: #FFD24D; }
.gw-hero p { margin-top: 14px; font-size: 16px; opacity: .85; position: relative; }
.gw-hero-actions { margin-top: 28px; display: flex; gap: 12px; position: relative; flex-wrap: wrap; }
.gw-hero .btn-big { padding: 13px 28px; font-size: 15px; }
.gw-hero-stats { display: flex; gap: 40px; margin-top: 40px; position: relative; flex-wrap: wrap; }
.gw-hero-stat b { font-size: 28px; font-weight: 800; display: block; }
.gw-hero-stat span { font-size: 12px; opacity: .75; }

.gw-sec { margin-top: 40px; }
.gw-sec-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.gw-sec-head h2 { font-size: 22px; font-weight: 700; letter-spacing: -.4px; display: flex; align-items: center; gap: 10px; }
.gw-sec-head h2 svg { width: 20px; height: 20px; color: var(--c-brand); }
.gw-sec-head a.more { font-size: 13px; color: var(--c-text3); display: flex; align-items: center; gap: 2px; }
.gw-sec-head a.more:hover { color: var(--c-brand-deep); }

/* 分类快捷卡 */
.gw-cats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.gw-cat {
  background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 18px 14px;
  text-align: center; cursor: pointer; transition: transform .18s, box-shadow .18s, border-color .18s;
}
.gw-cat:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--c-brand-line); }
.gw-cat .ci { width: 44px; height: 44px; border-radius: 12px; margin: 0 auto 10px; display: flex; align-items: center; justify-content: center; }
.gw-cat .ci svg { width: 22px; height: 22px; }
.gw-cat b { font-size: 14px; display: block; }
.gw-cat span { font-size: 11px; color: var(--c-text3); display: block; margin-top: 3px; }

/* ---------- 卡片网格 ---------- */
.gw-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.gw-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.gw-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }

.gw-card {
  background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden;
  cursor: pointer; transition: transform .18s, box-shadow .18s, border-color .18s; display: flex; flex-direction: column;
}
.gw-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--c-brand-line); }
.gw-card-cover { position: relative; aspect-ratio: 16/9; background: #EEF0F5; overflow: hidden; }
.gw-card-cover img { width: 100%; height: 100%; object-fit: cover; }
.gw-card-cover .ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 800; color: #fff; }
.gw-card-cover .fav-btn { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%; border: none; background: rgba(255,255,255,.9); color: var(--c-text3); cursor: pointer; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4px); }
.gw-card-cover .fav-btn.on { color: var(--c-accent); }
.gw-card-cover .fav-btn svg { width: 16px; height: 16px; }
.gw-card-body { padding: 14px 16px 16px; flex: 1; display: flex; flex-direction: column; }
.gw-card-tags { display: flex; gap: 6px; margin-bottom: 8px; flex-wrap: wrap; }
.gw-tag { font-size: 11px; padding: 2px 8px; border-radius: 6px; font-weight: 500; }
.gw-tag.purple { background: var(--c-brand-soft); color: var(--c-brand-deep); }
.gw-tag.green { background: var(--c-success-soft); color: var(--c-success); }
.gw-tag.blue { background: var(--c-info-soft); color: var(--c-info); }
.gw-tag.amber { background: var(--c-warn-soft); color: var(--c-warn); }
.gw-tag.orange { background: var(--c-accent-soft); color: var(--c-accent-deep); }
.gw-tag.gray { background: #F0F1F5; color: var(--c-text2); }
.gw-card-title { font-size: 15px; font-weight: 600; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gw-card-meta { margin-top: 10px; display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: var(--c-text3); }
.gw-card-meta .row { display: flex; align-items: center; gap: 6px; }
.gw-card-meta svg { width: 13px; height: 13px; flex-shrink: 0; }
.gw-card-foot { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--c-line); display: flex; align-items: center; justify-content: space-between; }
.gw-card-foot .pub { font-size: 12px; color: var(--c-text2); display: flex; align-items: center; gap: 6px; }
.gw-card-foot .pub .pav { width: 20px; height: 20px; border-radius: 50%; background: var(--c-brand-soft); color: var(--c-brand-deep); font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.gw-quota { font-size: 12px; color: var(--c-text3); }
.gw-quota b { color: var(--c-accent-deep); font-size: 13px; }

/* 激励卡 */
.gw-inc-card .cover-box { position: relative; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; font-size: 44px; overflow: hidden; }
.gw-inc-card .cover-box img { width: 100%; height: 100%; object-fit: cover; }
.gw-inc-card .cost { font-weight: 700; color: var(--c-accent-deep); font-size: 15px; }
.gw-inc-card .cost s { color: var(--c-text3); font-size: 12px; font-weight: 400; margin-left: 6px; }
.gw-inc-card .stock-note { font-size: 11px; color: var(--c-text3); }

/* ---------- 筛选条 ---------- */
.gw-filter { background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--r-lg); padding: 14px 18px; display: flex; flex-direction: column; gap: 12px; }
.gw-filter-row { display: flex; align-items: flex-start; gap: 10px; flex-wrap: wrap; }
.gw-filter-row .lab { font-size: 13px; color: var(--c-text3); padding-top: 6px; width: 56px; flex-shrink: 0; }
.gw-chips { display: flex; gap: 8px; flex-wrap: wrap; flex: 1; }
.gw-chip {
  border: 1px solid var(--c-line); background: var(--c-card); color: var(--c-text2); font-size: 13px;
  padding: 5px 14px; border-radius: 20px; cursor: pointer; transition: all .15s;
}
.gw-chip:hover { border-color: var(--c-brand-line); color: var(--c-brand-deep); }
.gw-chip.on { background: var(--c-brand); border-color: var(--c-brand); color: #fff; }
.gw-sort { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.gw-sort button { border: none; background: none; font-size: 13px; color: var(--c-text3); cursor: pointer; padding: 5px 10px; border-radius: 8px; }
.gw-sort button.on { color: var(--c-brand-deep); font-weight: 600; background: var(--c-brand-soft); }

/* ---------- 详情页 ---------- */
.gw-detail { display: grid; grid-template-columns: 1fr 340px; gap: 22px; align-items: start; }
.gw-detail-main { background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--r-xl); overflow: hidden; }
.gw-detail-hero { position: relative; aspect-ratio: 21/9; background: linear-gradient(120deg, #3E3FD6, #8B7CF6); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.gw-detail-hero img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.gw-detail-hero .ph-t { font-size: 34px; font-weight: 800; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.2); }
.gw-detail-inner { padding: 26px 30px 34px; }
.gw-detail-inner h1 { font-size: 24px; font-weight: 800; letter-spacing: -.4px; line-height: 1.35; }
.gw-detail-inner .d-meta { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 14px; font-size: 13px; color: var(--c-text2); }
.gw-detail-inner .d-meta .row { display: flex; align-items: center; gap: 6px; }
.gw-detail-inner .d-meta svg { width: 15px; height: 15px; color: var(--c-text3); }
.gw-detail-block { margin-top: 26px; }
.gw-detail-block h3 { font-size: 16px; font-weight: 700; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.gw-detail-block h3::before { content: ''; width: 4px; height: 16px; border-radius: 2px; background: var(--c-brand); }
.gw-detail-block p { font-size: 14px; color: var(--c-text2); line-height: 1.8; white-space: pre-wrap; }
.gw-detail-block ul { padding-left: 18px; font-size: 14px; color: var(--c-text2); line-height: 1.9; }
.gw-side-card { background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--r-xl); padding: 20px; position: sticky; top: 84px; }
.gw-side-card h4 { font-size: 15px; font-weight: 700; margin-bottom: 14px; }
.gw-progress { height: 8px; background: var(--c-bg); border-radius: 4px; overflow: hidden; }
.gw-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--c-brand), var(--c-accent)); border-radius: 4px; }
.gw-side-kv { display: flex; justify-content: space-between; font-size: 13px; padding: 8px 0; border-bottom: 1px dashed var(--c-line); }
.gw-side-kv:last-of-type { border-bottom: none; }
.gw-side-kv b { font-weight: 600; }
.gw-side-kv span { color: var(--c-text3); }

/* ---------- 按钮 ---------- */
.gw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  height: 38px; padding: 0 18px; border-radius: 10px; font-size: 14px; font-weight: 600;
  border: 1px solid transparent; cursor: pointer; transition: all .15s; font-family: inherit;
}
.gw-btn svg { width: 15px; height: 15px; }
.gw-btn:disabled { opacity: .55; cursor: not-allowed; }
.gw-btn.primary { background: var(--c-brand); color: #fff; }
.gw-btn.primary:hover:not(:disabled) { background: var(--c-brand-deep); }
.gw-btn.accent { background: var(--c-accent); color: #fff; }
.gw-btn.accent:hover:not(:disabled) { background: var(--c-accent-deep); }
.gw-btn.ghost { border-color: var(--c-line2); color: var(--c-text2); background: #fff; }
.gw-btn.ghost:hover:not(:disabled) { border-color: var(--c-brand); color: var(--c-brand-deep); }
.gw-btn.line { border-color: var(--c-brand); color: var(--c-brand-deep); background: #fff; }
.gw-btn.big { height: 46px; padding: 0 30px; font-size: 15px; border-radius: 12px; }
.gw-btn.block { width: 100%; }
.gw-btn.sm { height: 30px; padding: 0 12px; font-size: 12px; border-radius: 8px; }
.gw-btn.white { background: #fff; color: var(--c-brand-deep); }
.gw-btn.white-line { border-color: rgba(255,255,255,.55); color: #fff; background: transparent; }

/* ---------- 表单 ---------- */
.gw-field { margin-bottom: 16px; }
.gw-field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 7px; }
.gw-field label .req { color: var(--c-danger); margin-left: 2px; }
.gw-field label .hint { font-weight: 400; color: var(--c-text3); font-size: 12px; margin-left: 6px; }
.gw-input, .gw-textarea, .gw-select {
  width: 100%; border: 1px solid var(--c-line2); border-radius: 10px; padding: 10px 14px;
  font-size: 14px; font-family: inherit; outline: none; transition: border-color .15s, box-shadow .15s;
  background: #fff; color: var(--c-text);
}
.gw-input:focus, .gw-textarea:focus, .gw-select:focus { border-color: var(--c-brand); box-shadow: 0 0 0 3px var(--c-brand-soft); }
.gw-textarea { min-height: 90px; resize: vertical; line-height: 1.6; }
.gw-field .err { color: var(--c-danger); font-size: 12px; margin-top: 5px; }
.gw-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* ---------- 弹窗 ---------- */
.gw-mask { position: fixed; inset: 0; background: rgba(15,16,24,.5); backdrop-filter: blur(2px); z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px; animation: gw-fade .15s ease; }
.gw-modal { background: var(--c-card); border-radius: var(--r-xl); width: 100%; max-width: 460px; max-height: 88vh; overflow: auto; box-shadow: var(--shadow-lg); animation: gw-pop .18s ease; }
.gw-modal.lg { max-width: 640px; }
.gw-modal-head { padding: 20px 24px 0; display: flex; align-items: center; justify-content: space-between; }
.gw-modal-head h3 { font-size: 17px; font-weight: 700; }
.gw-modal-close { border: none; background: none; cursor: pointer; color: var(--c-text3); width: 30px; height: 30px; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.gw-modal-close:hover { background: var(--c-bg); }
.gw-modal-body { padding: 18px 24px 24px; }
.gw-modal-foot { padding: 0 24px 22px; display: flex; gap: 10px; justify-content: flex-end; }
@keyframes gw-fade { from { opacity: 0; } }

/* ---------- Toast ---------- */
.gw-toast {
  position: fixed; left: 50%; top: 76px; transform: translateX(-50%); z-index: 300;
  background: var(--c-dark); color: #fff; font-size: 13px; padding: 11px 20px; border-radius: 12px;
  box-shadow: var(--shadow-lg); animation: gw-toast-in .2s ease; max-width: 80vw; text-align: center;
}
.gw-toast.err { background: var(--c-danger); }
@keyframes gw-toast-in { from { opacity: 0; transform: translate(-50%, -8px); } }

/* ---------- 状态 ---------- */
.gw-empty { padding: 60px 20px; text-align: center; color: var(--c-text3); }
.gw-empty svg { width: 72px; height: 72px; margin: 0 auto 14px; opacity: .5; }
.gw-empty p { font-size: 14px; }
.gw-loading { padding: 60px 0; text-align: center; }
.gw-spin { width: 28px; height: 28px; border: 3px solid var(--c-brand-soft); border-top-color: var(--c-brand); border-radius: 50%; margin: 0 auto; animation: gw-spin .8s linear infinite; }
@keyframes gw-spin { to { transform: rotate(360deg); } }
.gw-sk { background: linear-gradient(90deg, #EFF0F4 25%, #F7F8FA 40%, #EFF0F4 60%); background-size: 200% 100%; animation: gw-sk 1.4s infinite; border-radius: var(--r-md); }
@keyframes gw-sk { to { background-position: -200% 0; } }

/* ---------- 我的 ---------- */
.gw-me { display: grid; grid-template-columns: 260px 1fr; gap: 22px; align-items: start; }
/* grid 子项默认 min-width:auto 会被长内容撑破窄屏，显式归零（2026-10-25 手机端溢出踩坑） */
.gw-me > *, .gw-detail > * { min-width: 0; }
.gw-me-side { background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--r-xl); padding: 22px; position: sticky; top: 84px; }
.gw-me-user { text-align: center; padding-bottom: 18px; border-bottom: 1px solid var(--c-line); }
.gw-me-user .big-avatar { width: 76px; height: 76px; margin: 0 auto 12px; border-radius: 50%; background: var(--c-brand-soft); color: var(--c-brand-deep); font-size: 26px; font-weight: 800; display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; cursor: pointer; }
.gw-me-user .big-avatar img { width: 100%; height: 100%; object-fit: cover; }
.gw-me-user h3 { font-size: 17px; font-weight: 700; }
.gw-me-user .me-sub { font-size: 12px; color: var(--c-text3); margin-top: 4px; }
.gw-verify-chip { display: inline-flex; align-items: center; gap: 4px; margin-top: 10px; font-size: 11px; padding: 3px 10px; border-radius: 20px; white-space: nowrap; }
.gw-verify-chip svg { width: 12px; height: 12px; flex-shrink: 0; }
.gw-verify-chip.ok { background: var(--c-success-soft); color: var(--c-success); }
.gw-verify-chip.no { background: var(--c-warn-soft); color: var(--c-warn); cursor: pointer; }
.gw-me-menu { margin-top: 14px; }
.gw-me-menu button { display: flex; width: 100%; align-items: center; gap: 10px; padding: 10px 12px; border: none; background: none; border-radius: 10px; font-size: 14px; color: var(--c-text2); cursor: pointer; text-align: left; }
.gw-me-menu button svg { width: 16px; height: 16px; flex-shrink: 0; }
.gw-me-menu button:hover { background: var(--c-bg); }
.gw-me-menu button.on { background: var(--c-brand-soft); color: var(--c-brand-deep); font-weight: 600; }
.gw-me-menu button .badge { margin-left: auto; background: var(--c-danger); color: #fff; font-size: 10px; min-width: 17px; height: 17px; border-radius: 9px; display: flex; align-items: center; justify-content: center; padding: 0 5px; }

.gw-me-panel { background: var(--c-card); border: 1px solid var(--c-line); border-radius: var(--r-xl); padding: 24px 26px; min-height: 400px; }
.gw-me-panel h2 { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.gw-me-panel .panel-sub { font-size: 13px; color: var(--c-text3); margin-bottom: 20px; }

/* 成长档案 */
.gw-level-card { background: linear-gradient(115deg, #3E3FD6, #7B6FF0); border-radius: var(--r-lg); color: #fff; padding: 22px; display: flex; gap: 20px; align-items: center; }
.gw-level-card .lv-badge { width: 60px; height: 60px; border-radius: 16px; background: rgba(255,255,255,.16); display: flex; align-items: center; justify-content: center; }
.gw-level-card .lv-badge svg { width: 30px; height: 30px; }
.gw-level-card h3 { font-size: 18px; font-weight: 700; }
.gw-level-card .lv-desc { font-size: 12px; opacity: .8; margin-top: 4px; }
.gw-level-bar { flex: 1; }
.gw-level-bar .bar { height: 8px; background: rgba(255,255,255,.2); border-radius: 4px; overflow: hidden; margin-top: 8px; }
.gw-level-bar .bar i { display: block; height: 100%; background: #FFD24D; border-radius: 4px; }
.gw-level-bar .lv-note { font-size: 11px; opacity: .8; margin-top: 6px; }
.gw-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 18px; }
.gw-stat-cell { background: var(--c-bg); border-radius: var(--r-md); padding: 16px; text-align: center; }
.gw-stat-cell b { font-size: 24px; font-weight: 800; display: block; }
.gw-stat-cell span { font-size: 12px; color: var(--c-text3); }

/* 我的任务条目 */
.gw-mini-row { display: flex; align-items: center; gap: 14px; padding: 14px 4px; border-bottom: 1px solid var(--c-line); }
.gw-mini-row:last-child { border-bottom: none; }
.gw-mini-row .mini-cover { width: 76px; height: 54px; border-radius: 8px; background: #EEF0F5; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: var(--c-text3); font-weight: 700; font-size: 15px; }
.gw-mini-row .mini-cover img { width: 100%; height: 100%; object-fit: cover; }
.gw-mini-row .mini-body { flex: 1; min-width: 0; }
.gw-mini-row .mini-title { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gw-mini-row .mini-sub { font-size: 12px; color: var(--c-text3); margin-top: 4px; }
.gw-status { font-size: 12px; padding: 3px 10px; border-radius: 20px; white-space: nowrap; flex-shrink: 0; }
.gw-status.pending { background: var(--c-warn-soft); color: var(--c-warn); }
.gw-status.approved { background: var(--c-info-soft); color: var(--c-info); }
.gw-status.done, .gw-status.received { background: var(--c-success-soft); color: var(--c-success); }
.gw-status.rejected { background: var(--c-danger-soft); color: var(--c-danger); }
.gw-status.todo { background: var(--c-brand-soft); color: var(--c-brand-deep); }
.gw-status.shipped { background: var(--c-info-soft); color: var(--c-info); }
.gw-status.closed, .gw-status.ongoing { background: #F0F1F5; color: var(--c-text2); }
.gw-status.open { background: var(--c-success-soft); color: var(--c-success); }

/* 物流时间线 */
.gw-timeline { padding-left: 20px; position: relative; }
.gw-timeline::before { content: ''; position: absolute; left: 5px; top: 6px; bottom: 6px; width: 2px; background: var(--c-line); }
.gw-tl-item { position: relative; padding-bottom: 18px; }
.gw-tl-item::before { content: ''; position: absolute; left: -19px; top: 5px; width: 8px; height: 8px; border-radius: 50%; background: var(--c-line2); border: 2px solid var(--c-card); }
.gw-tl-item:first-child::before { background: var(--c-brand); box-shadow: 0 0 0 3px var(--c-brand-soft); }
.gw-tl-item b { font-size: 13px; display: block; }
.gw-tl-item span { font-size: 12px; color: var(--c-text3); }

/* 消息 */
.gw-msg { display: flex; gap: 12px; padding: 14px 4px; border-bottom: 1px solid var(--c-line); cursor: pointer; border-radius: 8px; }
.gw-msg:hover { background: var(--c-bg); }
.gw-msg.unread { background: var(--c-brand-soft); }
.gw-msg .mi { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gw-msg .mi svg { width: 18px; height: 18px; }
.gw-msg .mb { flex: 1; min-width: 0; }
.gw-msg .mt { font-size: 14px; font-weight: 600; display: flex; gap: 8px; align-items: center; }
.gw-msg .mt .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-danger); flex-shrink: 0; }
.gw-msg .md { font-size: 12px; color: var(--c-text3); margin-top: 4px; line-height: 1.6; }
.gw-msg .mtime { font-size: 11px; color: var(--c-text3); flex-shrink: 0; }

/* 排行 */
.gw-rank-row { display: flex; align-items: center; gap: 14px; padding: 13px 6px; border-bottom: 1px solid var(--c-line); }
.gw-rank-row:last-child { border-bottom: none; }
.gw-rank-no { width: 30px; text-align: center; font-weight: 800; font-size: 16px; color: var(--c-text3); flex-shrink: 0; }
.gw-rank-no.r1 { color: #E8A323; } .gw-rank-no.r2 { color: #8F959E; } .gw-rank-no.r3 { color: #C07F4B; }
.gw-rank-row .rk-av { width: 38px; height: 38px; border-radius: 50%; background: var(--c-brand-soft); color: var(--c-brand-deep); font-weight: 700; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.gw-rank-row .rk-av img { width: 100%; height: 100%; object-fit: cover; }
.gw-rank-row .rk-body { flex: 1; min-width: 0; }
.gw-rank-row .rk-body b { font-size: 14px; }
.gw-rank-row .rk-body span { font-size: 12px; color: var(--c-text3); display: block; margin-top: 2px; }
.gw-rank-row .rk-pts { font-weight: 800; color: var(--c-accent-deep); font-size: 16px; }
.gw-rank-row .rk-pts small { font-size: 11px; color: var(--c-text3); font-weight: 400; }

/* 品牌专区 */
.gw-brand-row { display: flex; align-items: center; gap: 16px; padding: 16px; border: 1px solid var(--c-line); border-radius: var(--r-lg); background: var(--c-card); margin-bottom: 14px; }
.gw-brand-logo { width: 56px; height: 56px; border-radius: 14px; background: var(--c-bg); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 20px; color: var(--c-brand-deep); overflow: hidden; flex-shrink: 0; }
.gw-brand-logo img { width: 100%; height: 100%; object-fit: cover; }

/* 帮助中心 */
.gw-faq-group { margin-bottom: 26px; }
.gw-faq-group h3 { font-size: 15px; font-weight: 700; color: var(--c-brand-deep); margin-bottom: 12px; }
.gw-faq-item { border: 1px solid var(--c-line); border-radius: var(--r-md); margin-bottom: 10px; background: var(--c-card); overflow: hidden; }
.gw-faq-q { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; cursor: pointer; font-size: 14px; font-weight: 600; }
.gw-faq-q svg { width: 15px; height: 15px; color: var(--c-text3); transition: transform .2s; flex-shrink: 0; }
.gw-faq-item.open .gw-faq-q svg { transform: rotate(180deg); }
.gw-faq-a { display: none; padding: 0 16px 16px; font-size: 13px; color: var(--c-text2); line-height: 1.8; }
.gw-faq-item.open .gw-faq-a { display: block; }

/* ---------- 底部 ---------- */
.gw-footer { background: var(--c-dark); color: #B9BCC4; margin-top: 60px; }
.gw-footer-in { max-width: 1200px; margin: 0 auto; padding: 40px 20px 28px; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 30px; }
.gw-footer h4 { color: #fff; font-size: 14px; margin-bottom: 12px; }
.gw-footer a { display: block; font-size: 12px; margin-bottom: 8px; }
.gw-footer a:hover { color: #fff; }
.gw-footer .f-brand { display: flex; align-items: center; gap: 8px; color: #fff; font-weight: 800; font-size: 17px; }
.gw-footer .f-desc { font-size: 12px; margin-top: 12px; line-height: 1.8; max-width: 300px; }
.gw-footer-base { border-top: 1px solid #2A2C36; padding: 18px 20px; text-align: center; font-size: 12px; color: #6E7280; }

/* ---------- 手机端底部导航 ---------- */
.gw-mnav { display: none; }

/* ---------- 分页 ---------- */
.gw-pager { display: flex; justify-content: center; gap: 8px; margin-top: 28px; }
.gw-pager button { min-width: 34px; height: 34px; border: 1px solid var(--c-line); background: var(--c-card); border-radius: 8px; font-size: 13px; cursor: pointer; color: var(--c-text2); }
.gw-pager button.on { background: var(--c-brand); border-color: var(--c-brand); color: #fff; }
.gw-pager button:disabled { opacity: .4; cursor: not-allowed; }

/* 认证状态横幅 */
.gw-verify-banner { display: flex; align-items: center; gap: 12px; background: var(--c-warn-soft); border: 1px solid #F5DFB0; border-radius: var(--r-lg); padding: 14px 18px; margin-bottom: 20px; font-size: 13px; color: #7A5410; }
.gw-verify-banner svg { width: 18px; height: 18px; flex-shrink: 0; }

/* 响应式：平板 */
@media (max-width: 1023px) {
  .gw-grid { grid-template-columns: repeat(2, 1fr); }
  .gw-grid.cols-4 { grid-template-columns: repeat(3, 1fr); }
  .gw-cats { grid-template-columns: repeat(3, 1fr); }
  .gw-detail { grid-template-columns: 1fr; }
  .gw-side-card { position: static; }
  .gw-me { grid-template-columns: 220px 1fr; }
  .gw-hero { padding: 40px 32px; }
  .gw-hero h1 { font-size: 32px; }
  .gw-footer-in { grid-template-columns: 1fr 1fr; }
}
/* 响应式：手机 */
@media (max-width: 767px) {
  .gw-topbar-in { height: 52px; gap: 10px; padding: 0 12px; }
  .gw-nav { display: none; }
  .gw-search { max-width: none; }
  .gw-search input { height: 34px; }
  .gw-page { padding: 14px 14px 96px; }
  .gw-grid, .gw-grid.cols-2, .gw-grid.cols-4 { grid-template-columns: 1fr; }
  .gw-cats { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .gw-cat { padding: 12px 6px; }
  .gw-cat .ci { width: 36px; height: 36px; }
  .gw-cat span { display: none; }
  .gw-hero { padding: 30px 20px; border-radius: 18px; }
  .gw-hero h1 { font-size: 24px; }
  .gw-hero p { font-size: 13px; }
  .gw-hero-stats { gap: 20px; }
  .gw-hero-stat b { font-size: 20px; }
  .gw-detail-inner { padding: 18px 16px; }
  .gw-detail-inner h1 { font-size: 19px; }
  .gw-me { grid-template-columns: 1fr; }
  .gw-me-side { position: static; }
  .gw-me-menu { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
  .gw-me-menu button { justify-content: center; font-size: 12px; padding: 9px 4px; flex-direction: column; gap: 4px; }
  .gw-me-menu button .badge { position: absolute; margin-left: 0; transform: translate(12px, -12px); }
  .gw-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .gw-field-row { grid-template-columns: 1fr; }
  .gw-footer-in { grid-template-columns: 1fr 1fr; gap: 20px; padding: 30px 16px; }
  .gw-mnav {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 150;
    background: rgba(255,255,255,.96); backdrop-filter: blur(10px); border-top: 1px solid var(--c-line);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .gw-mnav a, .gw-mnav button.mn-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 0 7px; font-size: 11px; color: var(--c-text3); border: none; background: none; cursor: pointer; position: relative; }
  .gw-mnav a.on, .gw-mnav button.mn-item.on { color: var(--c-brand-deep); font-weight: 600; }
  .gw-mnav svg { width: 21px; height: 21px; }
  .gw-mnav .mn-badge { position: absolute; top: 3px; left: calc(50% + 8px); min-width: 15px; height: 15px; border-radius: 8px; background: var(--c-danger); color: #fff; font-size: 9px; display: flex; align-items: center; justify-content: center; padding: 0 4px; }
  .gw-mnav .mn-plus { width: 46px; height: 46px; margin-top: -18px; border-radius: 50%; background: var(--c-brand); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(91,92,246,.4); flex: 0 0 auto; }
  .gw-mnav .mn-plus svg { width: 22px; height: 22px; }
  .gw-filter { padding: 12px; }
  .gw-filter-row .lab { width: auto; }
}
