:root {
  color-scheme: light;
  --bg: #fff8f7;
  --surface: #ffffff;
  --surface-2: #fff0ef;
  --surface-3: #ffe7e1;
  --text: #271716;
  --muted: #7a5c58;
  --line: #efd2ce;
  --red: #e72b35;
  --red-dark: #b71423;
  --orange: #ff8a1c;
  --pink: #ff4f98;
  --green: #17a66a;
  --blue: #3478f6;
  --gray: #8a8a8a;
  --shadow: 0 12px 30px rgba(183, 20, 35, 0.08);
  --radius: 22px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #f4f4f5;
  color: var(--text);
  -webkit-tap-highlight-color: transparent;
}
button, input, textarea, select { font: inherit; }
button { border: 0; cursor: pointer; }

.app-shell {
  width: 100%;
  max-width: 480px;
  min-height: 100vh;
  margin: 0 auto;
  background: var(--bg);
  position: relative;
  box-shadow: 0 0 50px rgba(0,0,0,0.06);
  padding-bottom: calc(92px + env(safe-area-inset-bottom));
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 64px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 248, 247, 0.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(239, 210, 206, 0.65);
}
.brand { text-align: center; line-height: 1.12; }
.brand-name { font-weight: 900; font-size: 20px; color: var(--red-dark); letter-spacing: 0; }
.brand-sub { margin-top: 3px; font-size: 11px; color: var(--muted); }
.icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--surface);
  color: var(--red-dark);
  box-shadow: 0 6px 16px rgba(183,20,35,0.08);
  font-size: 20px;
}

.page { padding: 14px 16px 26px; }
.hero-card {
  position: relative;
  overflow: hidden;
  min-height: 190px;
  padding: 22px;
  border-radius: 30px;
  color: white;
  background:
    radial-gradient(circle at 86% 16%, rgba(255,255,255,0.34), transparent 25%),
    linear-gradient(135deg, #ff283d 0%, #ff6c2f 58%, #ff9c38 100%);
  box-shadow: 0 18px 36px rgba(255, 77, 79, 0.22);
}
.hero-content { position: relative; z-index: 2; max-width: 75%; }
.hero-badge {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,0.18);
  font-size: 12px;
  font-weight: 700;
  backdrop-filter: blur(12px);
}
.hero-card h1 { margin: 12px 0 8px; font-size: 31px; line-height: 1.04; letter-spacing: 0; }
.hero-card p { margin: 0; color: rgba(255,255,255,0.88); font-size: 14px; line-height: 1.55; }
.hero-actions { display: flex; gap: 10px; margin-top: 18px; }
.hero-float { position: absolute; filter: drop-shadow(0 10px 18px rgba(0,0,0,0.12)); }
.hero-float-1 { right: 18px; top: 28px; font-size: 54px; transform: rotate(12deg); }
.hero-float-2 { right: 36px; bottom: 18px; font-size: 46px; transform: rotate(-8deg); }

.primary-btn, .ghost-btn, .outline-btn, .ghost-danger, .entry-btn, .text-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 15px;
  border-radius: 999px;
  font-weight: 800;
  transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;
}
.primary-btn:active, .ghost-btn:active, .outline-btn:active, .entry-btn:active, .icon-btn:active, .fab:active { transform: scale(.96); }
.primary-btn {
  color: white;
  background: linear-gradient(135deg, var(--red), var(--orange));
  box-shadow: 0 10px 20px rgba(255, 77, 79, .22);
}
.ghost-btn { color: white; background: rgba(255,255,255,.18); }
.outline-btn { color: var(--red-dark); background: #fff; border: 1px solid var(--line); }
.ghost-danger { color: #b42318; background: #fff0ed; }
.full { width: 100%; }
.text-btn { min-height: 34px; padding: 0 12px; background: #fff; color: var(--red-dark); border: 1px solid var(--line); }

.stats-grid { margin-top: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.stat-card {
  padding: 14px 8px;
  border-radius: 20px;
  text-align: center;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.stat-value { font-size: 21px; font-weight: 900; color: var(--red-dark); letter-spacing: 0; }
.stat-label { margin-top: 4px; font-size: 12px; color: var(--muted); }

.notice-card {
  margin-top: 14px;
  padding: 14px 15px;
  border-radius: 20px;
  background: #fff7d8;
  border: 1px solid #ffe7a3;
}
.notice-title { font-size: 14px; font-weight: 900; color: #8a5500; }
.notice-card p { margin: 6px 0 0; color: #7b5a19; font-size: 13px; line-height: 1.55; }

.platform-switch {
  margin-top: 14px;
  padding: 5px;
  border-radius: 18px;
  background: var(--surface-2);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.platform-tab {
  min-height: 44px;
  border-radius: 14px;
  background: transparent;
  color: var(--muted);
  font-weight: 900;
}
.platform-tab.active { background: var(--surface); color: var(--red-dark); box-shadow: 0 8px 18px rgba(183,20,35,0.08); }

.entry-grid { margin-top: 14px; display: grid; grid-template-columns: 1fr; gap: 12px; }
.entry-card {
  min-height: 142px;
  padding: 18px;
  border-radius: 26px;
  color: white;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-end;
  overflow: hidden;
  position: relative;
}
.entry-card::after {
  content: "";
  width: 120px;
  height: 120px;
  position: absolute;
  right: -36px;
  top: -32px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
}
.pdd-card { background: linear-gradient(135deg, #ff2737, #ff8c20); }
.tb-card { background: linear-gradient(135deg, #ff7a1a, #ff3e8d); }
.entry-tag { font-size: 12px; font-weight: 900; opacity: .88; }
.entry-card h2 { margin: 8px 0 6px; font-size: 22px; letter-spacing: 0; }
.entry-card p { margin: 0; max-width: 250px; color: rgba(255,255,255,.85); font-size: 13px; line-height: 1.5; }
.entry-btn { z-index: 1; white-space: nowrap; background: rgba(255,255,255,.18); color: white; backdrop-filter: blur(10px); }

.hall { margin-top: 18px; }
.section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.section-head h2 { margin: 0; font-size: 22px; letter-spacing: 0; }
.section-head p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.chip-row { margin-top: 12px; display: flex; gap: 8px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: none; }
.chip-row::-webkit-scrollbar { display: none; }
.chip {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  border: 1px solid var(--line);
  font-size: 13px;
  font-weight: 800;
}
.chip.active { background: var(--red-dark); color: white; border-color: var(--red-dark); }
.chip.compact, .compact .chip { min-height: 31px; font-size: 12px; }

.list { margin-top: 12px; display: grid; gap: 12px; }
.post-card {
  background: var(--surface);
  border-radius: 24px;
  padding: 15px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(239, 210, 206, 0.45);
}
.post-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.post-title { margin: 0; font-size: 16px; font-weight: 900; line-height: 1.35; }
.meta { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px; color: var(--muted); font-size: 12px; }
.badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.badge-pdd { color: #bd1420; background: #ffe2df; }
.badge-taobao { color: #bf4b00; background: #ffe8cf; }
.badge-open { color: #047847; background: #dcfce7; }
.badge-full { color: #1d4ed8; background: #dbeafe; }
.badge-expired, .badge-used, .badge-reported { color: #666; background: #eeeeee; }
.code-box {
  margin-top: 12px;
  padding: 12px;
  border-radius: 16px;
  background: #fff7f5;
  border: 1px dashed #ffc3bb;
  font-size: 13px;
  line-height: 1.5;
  color: #4d2c29;
  word-break: break-all;
}
.progress-block { margin-top: 12px; }
.progress-line { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
.progress-line b { color: var(--red-dark); }
.progress-track {
  margin-top: 7px;
  height: 8px;
  background: var(--surface-3);
  border-radius: 999px;
  overflow: hidden;
}
.progress-fill { height: 100%; border-radius: 999px; background: linear-gradient(135deg, var(--red), var(--orange)); }
.card-actions { margin-top: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.card-actions .primary-btn, .card-actions .outline-btn { min-height: 40px; font-size: 13px; }
.more-actions { margin-top: 8px; display: flex; gap: 8px; }
.more-actions button { flex: 1; min-height: 32px; border-radius: 999px; background: #f8efee; color: var(--muted); font-size: 12px; font-weight: 800; }
.empty-state {
  padding: 28px 16px;
  text-align: center;
  background: var(--surface);
  color: var(--muted);
  border-radius: 24px;
  border: 1px solid var(--line);
}

.fab {
  position: fixed;
  left: calc(50% + 150px);
  bottom: calc(92px + env(safe-area-inset-bottom));
  z-index: 25;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  color: white;
  font-size: 30px;
  background: linear-gradient(135deg, var(--red), var(--orange));
  box-shadow: 0 15px 30px rgba(231, 43, 53, .28);
}
@media (max-width: 480px) { .fab { right: 18px; left: auto; } }

.bottom-nav {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  z-index: 22;
  width: 100%;
  max-width: 480px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(239,210,206,.7);
  background: rgba(255, 248, 247, .94);
  backdrop-filter: blur(18px);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -8px 26px rgba(0,0,0,.04);
}
.nav-item {
  min-height: 54px;
  border-radius: 18px;
  background: transparent;
  color: var(--muted);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  font-weight: 800;
}
.nav-item span { font-size: 20px; line-height: 1; }
.nav-item em { font-size: 11px; font-style: normal; }
.nav-item.active { color: var(--red-dark); background: #fff0ef; }

.modal-mask {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(32, 18, 16, .36);
  padding: 16px;
}
.modal-mask.hidden { display: none; }
.sheet {
  width: 100%;
  max-width: 448px;
  max-height: 86vh;
  overflow: auto;
  background: var(--bg);
  border-radius: 28px 28px 20px 20px;
  padding: 18px;
  box-shadow: 0 -16px 40px rgba(0,0,0,.15);
  animation: sheetUp .18s ease-out;
}
.big-sheet { max-height: 92vh; }
@keyframes sheetUp { from { transform: translateY(16px); opacity: .6; } to { transform: translateY(0); opacity: 1; } }
.sheet-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.sheet-head h3 { margin: 0; font-size: 20px; letter-spacing: 0; }
.sheet-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.close-btn {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--surface);
  color: var(--muted);
  font-size: 22px;
}
.form, .feedback-body { display: grid; gap: 12px; }
.form label, .feedback-body label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
input, textarea, select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  color: var(--text);
  padding: 12px;
  outline: none;
  resize: vertical;
}
input:focus, textarea:focus, select:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(231,43,53,.09); }
.hint { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.rules { display: grid; gap: 10px; color: #4d2c29; font-size: 14px; line-height: 1.65; }
.rules p { margin: 0; padding: 12px; border-radius: 16px; background: var(--surface); }
.hidden { display: none !important; }

.toast {
  position: fixed;
  left: 50%;
  bottom: calc(88px + env(safe-area-inset-bottom));
  transform: translateX(-50%) translateY(20px);
  z-index: 60;
  max-width: 420px;
  width: calc(100% - 38px);
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(32, 18, 16, .92);
  color: white;
  font-size: 13px;
  opacity: 0;
  pointer-events: none;
  transition: .2s ease;
  text-align: center;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ===== v2：手机端精简版：首页更短，列表更像邀请码大厅 ===== */

/* 顶部手动刷新隐藏，改成自动刷新 */
#btnRefresh {
  visibility: hidden;
}

/* 删除两个大入口卡片、删除分类筛选按钮 */
.entry-grid,
#categoryChips,
#statusChips {
  display: none !important;
}

/* 页面整体更紧凑 */
.page {
  padding: 10px 12px 22px;
}

/* 图二大框缩小：让下面今日助力能露出来 */
.hero-card {
  min-height: 138px;
  padding: 16px 18px;
  border-radius: 26px;
}

.hero-content {
  max-width: 82%;
}

.hero-badge {
  font-size: 11px;
  padding: 4px 9px;
}

.hero-card h1 {
  margin: 8px 0 6px;
  font-size: 28px;
  line-height: 1.02;
  letter-spacing: 0;
}

.hero-card p {
  font-size: 13px;
  line-height: 1.45;
}

.hero-actions {
  margin-top: 12px;
  gap: 8px;
}

.hero-actions .primary-btn,
.hero-actions .ghost-btn {
  min-height: 36px;
  padding: 0 13px;
  font-size: 13px;
}

.hero-float-1 {
  right: 14px;
  top: 18px;
  font-size: 42px;
}

.hero-float-2 {
  right: 25px;
  bottom: 12px;
  font-size: 36px;
}

/* 数据卡片压缩一点 */
.stats-grid {
  margin-top: 12px;
  gap: 8px;
}

.stat-card {
  padding: 10px 6px;
  border-radius: 18px;
}

.stat-value {
  font-size: 20px;
}

.stat-label {
  font-size: 11px;
}

/* 公告压缩 */
.notice-card {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 18px;
}

.notice-card p {
  font-size: 12px;
  line-height: 1.5;
}

/* main 两个小标题变醒目 */
.platform-switch {
  margin-top: 14px;
  padding: 6px;
  border-radius: 22px;
  background: #fff0f0;
  box-shadow: inset 0 0 0 1px rgba(231, 43, 53, .06);
}

.platform-tab {
  min-height: 52px;
  border-radius: 18px;
  font-size: 19px;
  font-weight: 1000;
  letter-spacing: 0;
}

.platform-tab.active {
  background: #fff;
  color: #c11125;
  box-shadow: 0 10px 20px rgba(183, 20, 35, 0.09);
}

/* 大厅标题 */
.hall {
  margin-top: 14px;
}

.section-head h2 {
  font-size: 24px;
  color: #2b1b1a;
  letter-spacing: 0;
}

.section-head p {
  font-size: 13px;
}

.auto-refresh-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: #18a957;
  background: #e9fff1;
  border: 1px solid #b9f2cd;
  font-size: 12px;
  font-weight: 900;
}

/* 列表更像图三：简单邀请码卡片 */
.list {
  margin-top: 12px;
  gap: 10px;
}

.post-card.pdd-simple {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  box-shadow: none;
}

.pdd-code {
  font-size: 24px;
  font-weight: 1000;
  letter-spacing: 0.14em;
  color: #5f6368;
  line-height: 1.1;
}

.pdd-meta {
  margin-top: 8px;
  color: #b4b8c0;
  font-size: 13px;
  font-weight: 700;
}

.pdd-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pdd-copy-btn {
  min-width: 68px;
  min-height: 44px;
  border-radius: 12px;
  background: #fff;
  color: #8c93a0;
  border: 1px solid #e5e7eb;
  font-weight: 900;
  font-size: 14px;
}

.pdd-direct-btn {
  min-width: 92px;
  min-height: 44px;
  border-radius: 14px;
  background: #22c55e;
  color: #fff;
  font-weight: 1000;
  font-size: 15px;
}

.pdd-status {
  min-width: 74px;
  text-align: center;
  color: #4fbd70;
  font-weight: 1000;
  font-size: 15px;
}

.pdd-status.gray {
  color: #98a1ad;
}

/* 淘宝卡片保留金额进度，但压缩 */
.post-card.taobao-simple {
  padding: 14px;
  border-radius: 18px;
  box-shadow: none;
  border: 1px solid #ffe0d2;
}

.post-card.taobao-simple .post-title {
  font-size: 17px;
}

.post-card.taobao-simple .code-box {
  margin-top: 10px;
  padding: 10px;
  border-radius: 14px;
}

.post-card.taobao-simple .card-actions {
  margin-top: 10px;
}

/* 手机窄屏时按钮换行，避免挤爆 */
@media (max-width: 390px) {
  .pdd-code {
    font-size: 21px;
    letter-spacing: 0.11em;
  }

  .pdd-actions {
    flex-direction: column;
    gap: 6px;
  }

  .pdd-copy-btn,
  .pdd-direct-btn {
    min-width: 72px;
    min-height: 38px;
    font-size: 13px;
  }
}

/* ===== v3：精简互助大厅 UI ===== */

#btnRefresh,
#fabPublish,
.entry-grid,
#categoryChips,
#statusChips {
  display: none !important;
}

.app-shell {
  background:
    radial-gradient(circle at 50% -80px, rgba(255, 82, 65, .18), transparent 260px),
    #fff8f7;
  padding-bottom: calc(74px + env(safe-area-inset-bottom));
}

.page {
  padding: 10px 12px 18px;
}

.topbar {
  height: 56px;
  padding: 8px 14px;
}

.brand-name {
  font-size: 17px;
}

.brand-sub {
  font-size: 10px;
}

.icon-btn {
  width: 34px;
  height: 34px;
  font-size: 17px;
}

.hero-card {
  min-height: 150px;
  padding: 17px 18px;
  border-radius: 26px;
  box-shadow: 0 16px 34px rgba(255, 82, 65, .18);
}

.hero-content {
  max-width: 82%;
}

.hero-badge {
  font-size: 11px;
  padding: 4px 9px;
}

.hero-card h1 {
  margin: 8px 0 6px;
  font-size: 27px;
  line-height: 1.03;
  letter-spacing: 0;
}

.hero-card p {
  font-size: 12.5px;
  line-height: 1.45;
}

.hero-actions {
  margin-top: 12px;
  gap: 8px;
}

.hero-actions .primary-btn,
.hero-actions .ghost-btn {
  min-height: 35px;
  padding: 0 13px;
  font-size: 13px;
}

.hero-float-1 {
  right: 18px;
  top: 18px;
  font-size: 42px;
}

.hero-float-2 {
  right: 30px;
  bottom: 12px;
  font-size: 34px;
}

.stats-grid {
  margin-top: 12px;
  gap: 8px;
}

.stat-card {
  padding: 10px 6px;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(183,20,35,.06);
}

.stat-value {
  font-size: 20px;
}

.stat-label {
  font-size: 11px;
}

.notice-card {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 18px;
}

.notice-card p {
  font-size: 12px;
}

.platform-switch {
  margin-top: 14px;
  padding: 6px;
  border-radius: 24px;
  background: #fff0f0;
  box-shadow: inset 0 0 0 1px rgba(231, 43, 53, .06);
}

.platform-tab {
  min-height: 52px;
  border-radius: 19px;
  font-size: 19px;
  font-weight: 1000;
  letter-spacing: 0;
}

.platform-tab.active {
  background: white;
  color: #c11125;
  box-shadow: 0 10px 22px rgba(183, 20, 35, .10);
}

.hall {
  margin-top: 14px;
}

.section-head h2 {
  font-size: 23px;
  color: #2b1b1a;
  letter-spacing: 0;
}

.section-head p {
  font-size: 12.5px;
}

#smallRefresh {
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: #18a957;
  background: #e9fff1;
  border: 1px solid #b9f2cd;
  font-size: 12px;
  font-weight: 900;
  pointer-events: none;
}

#smallRefresh::before {
  content: "● ";
  font-size: 9px;
}

.list {
  margin-top: 12px;
  gap: 10px;
}

.pdd-clean-card,
.tb-clean-card {
  padding: 15px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.9)),
    #fff;
  border: 1px solid rgba(231, 43, 53, .08);
  box-shadow: 0 12px 28px rgba(183, 20, 35, .07);
}

.clean-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.clean-tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: #fff1ef;
  color: #c11125;
  font-size: 11px;
  font-weight: 900;
}

.clean-code {
  margin-top: 9px;
  color: #4f545c;
  font-size: 25px;
  font-weight: 1000;
  letter-spacing: 0;
  line-height: 1.05;
  word-break: break-all;
}

.clean-status {
  flex: 0 0 auto;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  font-size: 12px;
  font-weight: 900;
}

.clean-status.open {
  color: #159947;
  background: #e8fff0;
}

.clean-status.used {
  color: #8a8f98;
  background: #f1f2f4;
}

.clean-meta {
  margin-top: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #a3a8b2;
  font-size: 12px;
  font-weight: 700;
}

.clean-actions {
  margin-top: 13px;
}

.direct-btn {
  width: 100%;
  min-height: 44px;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  font-size: 15px;
  font-weight: 1000;
  box-shadow: 0 10px 20px rgba(34, 197, 94, .18);
}

.direct-btn.taobao {
  background: linear-gradient(135deg, #ff7a1a, #ff3e8d);
  box-shadow: 0 10px 20px rgba(255, 91, 64, .18);
}

.used-btn {
  width: 100%;
  min-height: 42px;
  border-radius: 15px;
  background: #f2f3f5;
  color: #9aa1aa;
  font-weight: 900;
}

.is-used {
  opacity: .72;
}

.mini-progress {
  margin-top: 10px;
  height: 7px;
  border-radius: 999px;
  background: #ffe8df;
  overflow: hidden;
}

.mini-progress div {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7a1a, #ff3e8d);
}

.bottom-nav {
  grid-template-columns: repeat(3, 1fr);
  padding: 7px 18px calc(7px + env(safe-area-inset-bottom));
  border-radius: 24px 24px 0 0;
}

.nav-item {
  min-height: 50px;
  border-radius: 17px;
}

.nav-item span {
  font-size: 18px;
}

.nav-item em {
  font-size: 11px;
}

@media (max-width: 390px) {
  .hero-card h1 {
    font-size: 25px;
  }

  .clean-code {
    font-size: 22px;
    letter-spacing: 0;
  }
}

/* ===== v4：发布卡片 + 助力大厅样式 ===== */

#btnRefresh,
#fabPublish,
.entry-grid,
#categoryChips,
#statusChips {
  display: none !important;
}

.app-shell {
  background:
    radial-gradient(circle at 50% -90px, rgba(255, 78, 54, .16), transparent 270px),
    linear-gradient(180deg, #fff8f7 0%, #fff 100%);
  padding-bottom: calc(78px + env(safe-area-inset-bottom));
}

.page {
  padding: 10px 12px 18px;
}

.topbar {
  height: 56px;
  padding: 8px 14px;
}

.brand {
  text-align: center;
  line-height: 1.1;
}

.brand strong {
  display: block;
  color: #c11125;
  font-size: 17px;
  font-weight: 1000;
}

.brand span {
  display: block;
  margin-top: 2px;
  color: #8f6f6d;
  font-size: 10px;
  font-weight: 800;
}

.live-dot {
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #18a957;
  background: #e9fff1;
  border: 1px solid #b9f2cd;
  font-size: 11px;
  font-weight: 900;
}

.live-dot::before {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 5px;
  border-radius: 50%;
  background: #22c55e;
}

.hero-card {
  position: relative;
  min-height: 142px;
  padding: 17px 18px;
  border-radius: 26px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #ff342d 0%, #ff5e42 52%, #ff8b27 100%);
  box-shadow: 0 16px 34px rgba(255, 82, 65, .18);
}

.hero-copy {
  position: relative;
  z-index: 2;
  max-width: 82%;
}

.hero-badge {
  display: inline-flex;
  min-height: 25px;
  padding: 0 10px;
  border-radius: 999px;
  align-items: center;
  color: #fff;
  background: rgba(255,255,255,.2);
  font-size: 11px;
  font-weight: 900;
}

.hero-card h1 {
  margin: 9px 0 6px;
  font-size: 27px;
  line-height: 1.03;
  letter-spacing: 0;
}

.hero-card p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 800;
}

.hero-emoji {
  position: absolute;
  z-index: 1;
}

.hero-emoji.one {
  right: 18px;
  top: 22px;
  font-size: 43px;
  transform: rotate(8deg);
}

.hero-emoji.two {
  right: 28px;
  bottom: 11px;
  font-size: 33px;
}

.stats-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.stats-grid article {
  padding: 11px 6px;
  border-radius: 18px;
  text-align: center;
  background: #fff;
  box-shadow: 0 10px 24px rgba(183, 20, 35, .06);
}

.stats-grid b {
  display: block;
  color: #c11125;
  font-size: 21px;
  line-height: 1;
  font-weight: 1000;
}

.stats-grid span {
  display: block;
  margin-top: 7px;
  color: #7b625f;
  font-size: 11px;
  font-weight: 800;
}

.notice-card {
  margin-top: 12px;
  padding: 13px 14px;
  border-radius: 18px;
  color: #7a5417;
  background: #fff7d9;
  border: 1px solid #ffe08a;
}

.notice-card b {
  display: block;
  margin-bottom: 6px;
  color: #79500d;
  font-size: 15px;
}

.notice-card p {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 800;
}

.platform-switch {
  margin-top: 14px;
  padding: 6px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  border-radius: 24px;
  background: #fff0f0;
  box-shadow: inset 0 0 0 1px rgba(231, 43, 53, .06);
}

.platform-tab {
  min-height: 52px;
  border-radius: 19px;
  border: 0;
  background: transparent;
  color: #7e5d5a;
  font-size: 19px;
  font-weight: 1000;
  letter-spacing: 0;
}

.platform-tab.active {
  background: #fff;
  color: #c11125;
  box-shadow: 0 10px 22px rgba(183, 20, 35, .10);
}

.publish-card,
.assist-card {
  margin-top: 14px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(231, 43, 53, .08);
  box-shadow: 0 14px 34px rgba(183, 20, 35, .07);
}

.publish-head,
.assist-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.section-kicker {
  display: inline-flex;
  min-height: 23px;
  padding: 0 9px;
  border-radius: 999px;
  align-items: center;
  color: #159947;
  background: #e9fff1;
  font-size: 11px;
  font-weight: 900;
}

.publish-head h2,
.assist-head h2 {
  margin: 8px 0 0;
  color: #263238;
  font-size: 21px;
  line-height: 1.1;
  letter-spacing: 0;
}

.assist-head p {
  margin: 6px 0 0;
  color: #7d838c;
  font-size: 12px;
  font-weight: 800;
}

.link-btn {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid #dce2e9;
  background: #fff;
  color: #697281;
  font-size: 12px;
  font-weight: 900;
}

.quick-form {
  margin-top: 14px;
}

.form-line {
  display: grid;
  grid-template-columns: 1fr 112px;
  gap: 10px;
}

.form-line input {
  min-height: 48px;
  padding: 0 14px;
  border-radius: 16px;
  border: 2px solid #aee7bf;
  color: #505763;
  background: #fff;
  outline: none;
  font-size: 15px;
  font-weight: 900;
}

.form-line input:focus {
  border-color: #22c55e;
  box-shadow: 0 0 0 4px rgba(34,197,94,.1);
}

.form-line button {
  min-height: 48px;
  border-radius: 16px;
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, #67d485, #24b957);
  font-size: 17px;
  font-weight: 1000;
}

.taobao-extra {
  margin-top: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.taobao-extra label {
  display: block;
}

.taobao-extra span {
  display: block;
  margin-bottom: 5px;
  color: #7d838c;
  font-size: 11px;
  font-weight: 900;
}

.taobao-extra input {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid #e3e7ee;
  outline: none;
  font-weight: 900;
}

.publish-options {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.agree-line {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #3f454d;
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 900;
}

.agree-line input {
  width: 18px;
  height: 18px;
  accent-color: #22c55e;
  flex: 0 0 auto;
}

#quickCategory {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid #e3e7ee;
  color: #606977;
  background: #f9fafb;
  outline: none;
  font-weight: 900;
}

.count-pill {
  min-width: 32px;
  height: 32px;
  padding: 0 9px;
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #16a34a;
  background: #e9fff1;
  font-size: 16px;
  font-weight: 1000;
}

.action-row {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1.55fr;
  gap: 10px;
}

.soft-btn,
.direct-all {
  min-height: 46px;
  border-radius: 15px;
  font-size: 15px;
  font-weight: 1000;
}

.soft-btn {
  border: 1px solid #e1e5eb;
  color: #8c94a1;
  background: #f7f8fa;
}

.direct-all {
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, #22c55e, #13b653);
  box-shadow: 0 10px 20px rgba(34,197,94,.17);
}

.list {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.code-card {
  padding: 14px;
  border-radius: 18px;
  background: #effbf3;
  border: 1px solid #a9edbd;
}

.code-card.taobao {
  background: #fff7f2;
  border-color: #ffd4bd;
}

.code-main {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
}

.code-value {
  color: #075f4f;
  font-size: 23px;
  line-height: 1.05;
  font-weight: 1000;
  letter-spacing: .13em;
  word-break: break-all;
}

.code-card.taobao .code-value {
  color: #b84412;
}

.code-meta {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: #a2a9b3;
  font-size: 12px;
  font-weight: 800;
}

.code-actions {
  display: flex;
  gap: 8px;
}

.use-btn,
.copy-btn {
  min-height: 40px;
  padding: 0 11px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 1000;
}

.use-btn {
  border: 1px solid #9ff0ba;
  color: #109142;
  background: #f3fff7;
}

.copy-btn {
  border: 1px solid #dfe3e9;
  color: #7f8794;
  background: #f8f9fb;
}

.progress-line {
  margin-top: 10px;
  height: 7px;
  border-radius: 999px;
  background: #ffe6d8;
  overflow: hidden;
}

.progress-line div {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7a1a, #ff3e8d);
}

.used-block {
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid #eef0f3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.used-block b {
  color: #ff332f;
  font-size: 19px;
  font-weight: 1000;
}

.used-block span {
  margin-left: 7px;
  padding: 3px 9px;
  border-radius: 999px;
  color: #f04236;
  background: #ffe8e5;
  font-weight: 1000;
}

.used-block button {
  min-height: 36px;
  padding: 0 12px;
  border-radius: 13px;
  border: 1px solid #ffd1d1;
  color: #df202b;
  background: #fff7f7;
  font-size: 13px;
  font-weight: 1000;
}

.bottom-nav {
  grid-template-columns: repeat(3, 1fr);
  padding: 7px 18px calc(7px + env(safe-area-inset-bottom));
  border-radius: 24px 24px 0 0;
}

.nav-item {
  min-height: 50px;
  border-radius: 17px;
}

.nav-item span {
  font-size: 18px;
}

.nav-item em {
  font-size: 11px;
}

.hidden {
  display: none !important;
}

@media (max-width: 390px) {
  .hero-card h1 {
    font-size: 25px;
  }

  .form-line {
    grid-template-columns: 1fr 104px;
  }

  .form-line button {
    font-size: 15px;
  }

  .code-value {
    font-size: 21px;
    letter-spacing: .1em;
  }

  .code-actions {
    flex-direction: column;
    gap: 6px;
  }

  .use-btn,
  .copy-btn {
    min-height: 36px;
  }
}

/* ===== v5：参考工具站风格，去掉红色顶部 Hero，改成简洁白绿卡片 ===== */

:root {
  --tool-green: #0f8f7a;
  --tool-green-dark: #066b5b;
  --tool-green-soft: #eafaf5;
  --tool-green-border: #bce7d8;
  --tool-bg: #f5f6f7;
  --tool-text: #1f2933;
  --tool-sub: #8b95a1;
  --tool-card: #ffffff;
}

/* 隐藏旧顶部元素，防止没删干净 */
.topbar,
.hero-card,
.stats-grid,
.notice-card,
#btnRefresh,
#fabPublish,
.entry-grid,
#categoryChips,
#statusChips {
  display: none !important;
}

.app-shell {
  background: var(--tool-bg) !important;
  padding-bottom: calc(78px + env(safe-area-inset-bottom));
}

.page {
  padding: 12px 14px 18px !important;
}

/* 顶部简洁站点栏 */
.simple-header {
  height: 62px;
  margin-bottom: 12px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo-icon {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, #0f8f7a, #28c18d);
  font-size: 18px;
  font-weight: 1000;
  box-shadow: 0 8px 18px rgba(15, 143, 122, .2);
}

.site-logo strong {
  display: block;
  color: #111827;
  font-size: 20px;
  line-height: 1.05;
  font-weight: 1000;
  letter-spacing: 0;
}

.site-logo span {
  display: block;
  margin-top: 4px;
  color: #8b95a1;
  font-size: 12px;
  font-weight: 800;
}

.menu-btn {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  border: 1px solid #e3e7ec;
  color: #334155;
  background: #fff;
  font-size: 25px;
  font-weight: 900;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
}

/* 顶部说明卡片 */
.intro-card {
  padding: 20px 18px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid #eef1f4;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .07);
}

.intro-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.intro-top h1 {
  margin: 0;
  color: var(--tool-green-dark);
  font-size: 31px;
  line-height: 1.05;
  font-weight: 1000;
  letter-spacing: 0;
}

.intro-top p {
  margin: 9px 0 0;
  color: #8b95a1;
  font-size: 14px;
  font-weight: 800;
}

.info-dot {
  width: 31px;
  height: 31px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: var(--tool-green);
  background: var(--tool-green-soft);
  border: 2px solid #bdebdc;
  font-size: 18px;
  font-weight: 1000;
  font-style: italic;
}

.rule-box {
  margin-top: 18px;
  padding: 14px 15px;
  border-radius: 18px;
  border: 1.5px solid var(--tool-green-border);
  background: linear-gradient(180deg, #ffffff, #fbfffd);
}

.rule-box p {
  margin: 0;
  color: #344054;
  font-size: 14px;
  line-height: 1.75;
  font-weight: 800;
}

.rule-box p + p {
  margin-top: 4px;
}

.rule-box b {
  color: #1f2933;
  font-weight: 1000;
}

.activity-path {
  margin-top: 12px;
  min-height: 42px;
  padding: 0 13px;
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a5c25;
  background: #fff8ea;
  border: 1px solid #f1d6a5;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}

/* 平台切换，改成更轻的白绿风格 */
.platform-switch {
  margin-top: 14px !important;
  padding: 5px !important;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  border-radius: 20px !important;
  background: #eef4f2 !important;
  box-shadow: none !important;
}

.platform-tab {
  min-height: 48px !important;
  border-radius: 16px !important;
  border: 0;
  color: #667085 !important;
  background: transparent !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  letter-spacing: 0;
}

.platform-tab.active {
  color: var(--tool-green-dark) !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
}

/* 发布卡片：更像参考图，白底 + 绿色按钮 */
.publish-card {
  margin-top: 14px !important;
  padding: 17px !important;
  border-radius: 24px !important;
  background: #fff !important;
  border: 1px solid #eef1f4 !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06) !important;
}

.publish-head {
  margin-bottom: 12px;
}

.section-kicker {
  color: var(--tool-green-dark) !important;
  background: var(--tool-green-soft) !important;
  border: 1px solid #c9f0df;
}

.publish-head h2 {
  margin-top: 8px !important;
  color: #344054 !important;
  font-size: 22px !important;
  font-weight: 1000 !important;
  letter-spacing: 0;
}

.link-btn {
  border: 1px solid #e3e7ec !important;
  background: #fff !important;
  color: #667085 !important;
}

.form-line {
  grid-template-columns: 1fr 112px !important;
  gap: 10px !important;
}

.form-line input {
  min-height: 50px !important;
  border-radius: 16px !important;
  border: 2px solid #bdebdc !important;
  color: #667085 !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.form-line input:focus {
  border-color: #17a77f !important;
  box-shadow: 0 0 0 4px rgba(23, 167, 127, .1) !important;
}

.form-line button {
  min-height: 50px !important;
  border-radius: 16px !important;
  border: 0 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #18b978, #00a96b) !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  box-shadow: 0 10px 20px rgba(0, 169, 107, .18);
}

.agree-line {
  color: #3f454d !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.agree-line input {
  accent-color: #0fa978 !important;
}

#quickCategory {
  border: 1px solid #e5e9ef !important;
  background: #f9fafb !important;
  color: #667085 !important;
}

/* 助力大厅 */
.assist-card {
  margin-top: 14px !important;
  padding: 17px !important;
  border-radius: 24px !important;
  background: #fff !important;
  border: 1px solid #eef1f4 !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, .06) !important;
}

.assist-head h2 {
  color: #22c55e !important;
  font-size: 25px !important;
  font-weight: 1000 !important;
  letter-spacing: 0;
}

.assist-head p {
  color: #8b95a1 !important;
  font-size: 12.5px !important;
}

.count-pill {
  color: #16a34a !important;
  background: #e9fff1 !important;
}

.action-row {
  margin-top: 15px !important;
  grid-template-columns: 1fr 1.25fr !important;
  gap: 10px !important;
}

.soft-btn,
.direct-all {
  min-height: 46px !important;
  border-radius: 15px !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
}

.soft-btn {
  border: 1px solid #e1e5eb !important;
  color: #8c94a1 !important;
  background: #f7f8fa !important;
}

.direct-all {
  border: 1.5px solid #22c55e !important;
  color: #159947 !important;
  background: #effff4 !important;
  box-shadow: none !important;
}

/* 邀请码列表，白绿极简 */
.code-card {
  padding: 14px !important;
  border-radius: 18px !important;
  background: #effbf3 !important;
  border: 1.5px solid #a9edbd !important;
  box-shadow: none !important;
}

.code-card.taobao {
  background: #fff7f2 !important;
  border-color: #ffd4bd !important;
}

.code-main {
  grid-template-columns: 1fr auto !important;
}

.code-value {
  color: #075f4f !important;
  font-size: 25px !important;
  font-weight: 1000 !important;
  letter-spacing: .15em !important;
}

.code-card.taobao .code-value {
  color: #b84412 !important;
}

.code-meta {
  margin-top: 8px !important;
  color: #a1a8b2 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.use-btn {
  min-height: 42px !important;
  padding: 0 13px !important;
  border-radius: 12px !important;
  border: 0 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #20c86a, #11a75a) !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
}

.copy-btn {
  min-height: 42px !important;
  padding: 0 13px !important;
  border-radius: 12px !important;
  border: 1px solid #dfe3e9 !important;
  color: #667085 !important;
  background: #f8f9fb !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
}

.used-block {
  border-top: 1px solid #eef0f3 !important;
}

.used-block b {
  color: #ff332f !important;
}

.used-block button {
  color: #df202b !important;
  background: #fff7f7 !important;
}

/* 底部导航也改轻一点 */
.bottom-nav {
  grid-template-columns: repeat(3, 1fr) !important;
  padding: 7px 18px calc(7px + env(safe-area-inset-bottom)) !important;
  border-radius: 24px 24px 0 0 !important;
  background: rgba(255, 255, 255, .96) !important;
  border-top: 1px solid #eef1f4 !important;
  box-shadow: 0 -10px 30px rgba(15, 23, 42, .08) !important;
}

.nav-item {
  min-height: 50px !important;
  border-radius: 17px !important;
  color: #667085 !important;
}

.nav-item.active {
  color: #c11125 !important;
  background: #fff3f3 !important;
}

.nav-item span {
  font-size: 18px !important;
}

.nav-item em {
  font-size: 11px !important;
}

/* 小屏优化 */
@media (max-width: 390px) {
  .intro-top h1 {
    font-size: 29px;
  }

  .rule-box p {
    font-size: 13px;
  }

  .form-line {
    grid-template-columns: 1fr 102px !important;
  }

  .form-line button {
    font-size: 15px !important;
  }

  .code-value {
    font-size: 22px !important;
    letter-spacing: .12em !important;
  }

  .code-actions {
    flex-direction: column;
    gap: 7px;
  }

  .use-btn,
  .copy-btn {
    min-height: 38px !important;
  }
}

.logo-img {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  display: block;
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(15, 143, 122, .16);
}

.taobao-session-card {
  margin-top: 12px;
  padding: 14px 16px;
  border-radius: 20px;
  background: linear-gradient(135deg, #fff7ed, #fff);
  border: 1px solid #fed7aa;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 12px;
}

.taobao-session-card > div {
  min-width: 0;
}

.taobao-session-card span {
  display: inline-flex;
  min-height: 24px;
  padding: 0 10px;
  align-items: center;
  border-radius: 999px;
  color: #c2410c;
  background: #ffedd5;
  font-size: 12px;
  font-weight: 1000;
}

.taobao-session-card strong {
  display: block;
  margin-top: 8px;
  color: #9a3412;
  font-size: 20px;
  font-weight: 1000;
}

.taobao-session-card p {
  margin: 5px 0 0;
  color: #9ca3af;
  font-size: 12px;
  font-weight: 800;
}

.taobao-session-card b {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  color: #f97316;
  font-size: 13px;
  white-space: nowrap;
}

.taobao-session-img {
  grid-column: 1 / -1;
  width: 100%;
  height: clamp(118px, 32vw, 176px);
  margin-top: 2px;
  border-radius: 16px;
  object-fit: contain;
  border: 1px solid #fed7aa;
  background: #fff;
}

.tb-team-card {
  padding: 18px 16px;
  border-radius: 24px;
  background: linear-gradient(180deg, #fff, #fff8f7);
  border: 1px solid rgba(255, 160, 122, .3);
  box-shadow: 0 12px 30px rgba(255, 91, 64, .08);
}

.tb-team-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.tb-team-top strong {
  color: #1f2937;
  font-size: 32px;
  font-weight: 1000;
  letter-spacing: 0;
}

.tb-team-top span {
  margin-left: 8px;
  color: #fb923c;
  font-size: 20px;
  font-weight: 1000;
}

.tb-team-top span b {
  color: #ff3e6c;
}

.tb-team-top em {
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  color: #047857;
  background: #d1fae5;
  font-style: normal;
  font-size: 13px;
  font-weight: 1000;
}

.tb-team-meta {
  margin-top: 11px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: #738197;
  font-size: 13px;
  font-weight: 800;
}

.tb-team-meta span + span::before {
  content: "·";
  margin-right: 7px;
  color: #cbd5e1;
}

.tb-progress-row {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 48px;
  align-items: center;
  gap: 10px;
}

.tb-progress {
  height: 8px;
  border-radius: 999px;
  background: #ffe0e6;
  overflow: hidden;
}

.tb-progress i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff7043, #ff3366);
}

.tb-progress-row span {
  color: #ea580c;
  font-size: 15px;
  font-weight: 1000;
}

.tb-team-actions {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
}

.action-row.search-mode {
  grid-template-columns: 1fr !important;
}

.search-form {
  display: grid;
  grid-template-columns: 1fr 82px;
  gap: 10px;
}

.search-form input {
  min-height: 46px;
  padding: 0 13px;
  border: 1.5px solid #fed7aa;
  border-radius: 15px;
  outline: none;
  color: #9a3412;
  background: #fff;
  font-size: 14px;
  font-weight: 900;
}

.search-form input:focus {
  border-color: #fb923c;
  box-shadow: 0 0 0 4px rgba(251, 146, 60, .12);
}

.search-form button {
  min-height: 46px;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, #fb923c, #f97316);
  font-size: 15px;
  font-weight: 1000;
}

.tb-join-btn {
  min-height: 48px;
  border: 0;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #ff7043, #ff3366);
  font-size: 17px;
  font-weight: 1000;
  box-shadow: 0 12px 24px rgba(255, 61, 96, .18);
}

.answer-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(15, 23, 42, .45);
  backdrop-filter: blur(8px);
}

.answer-box {
  position: relative;
  width: min(320px, 100%);
  padding: 30px 22px 26px;
  border-radius: 28px;
  text-align: center;
  background: linear-gradient(180deg, #fff, #fff7ed);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}

.answer-box button {
  position: absolute;
  right: 14px;
  top: 12px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f3f4f6;
  color: #6b7280;
  font-size: 22px;
}

.answer-box p {
  margin: 0;
  color: #9a3412;
  font-size: 15px;
  font-weight: 900;
}

.answer-box strong {
  display: block;
  margin: 14px 0 10px;
  color: #ea580c;
  font-size: 54px;
  line-height: 1;
  font-weight: 1000;
  letter-spacing: 0;
}

.answer-box span {
  color: #6b7280;
  font-size: 13px;
  font-weight: 800;
}

.hidden {
  display: none !important;
}
