/* 伍福堂客户端适老皮肤 · 宣纸朱砂 · 大字大键 · 一屏一事 */
.h5-root {
  --h5-title: 22px;
  --h5-body: 18px;
  --h5-btn: 20px;
  --h5-num: 56px;
  --h5-tap: 56px;
  font-family: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", sans-serif;
  font-size: var(--h5-body);
  line-height: 1.45;
}
.h5-root .topbar {
  padding: 14px 16px 12px;
  gap: 10px;
}
.h5-root .brand-pill {
  padding: 6px 14px 6px 8px;
  gap: 8px;
}
.h5-root .brand-pill img { width: 36px; height: 36px; }
.h5-root .brand-pill span { font-size: 18px; letter-spacing: .12em; color: var(--primary); }
.h5-root .topbar h1 { font-size: var(--h5-title); font-weight: 800; letter-spacing: .08em; }
.h5-root .back { width: 44px; height: 44px; font-size: 32px; line-height: 1; }

.h5-root .wrap { padding: 16px 18px 112px; }
.h5-root .card {
  border-radius: 20px;
  padding: 20px 18px;
  box-shadow: 0 10px 28px rgba(166, 27, 41, 0.07);
}
.h5-root .card + .card, .h5-root .stack > * + * { margin-top: 16px; }
.h5-root .muted { font-size: 16px; color: #5c534c; }
.h5-root .num { font-size: 22px; }

.h5-root .btn {
  min-height: var(--h5-tap);
  font-size: var(--h5-btn);
  border-radius: 16px;
  letter-spacing: .12em;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(166, 27, 41, 0.22);
}
.h5-root .btn-ghost { box-shadow: none; min-height: 52px; }
.h5-root .btn-sm { min-height: 48px; font-size: 16px; padding: 10px 18px; }

.h5-root .input {
  min-height: 52px;
  font-size: 20px;
  padding: 14px 16px;
  border-width: 1.5px;
  border-radius: 14px;
}
.h5-root .label { font-size: 17px; color: var(--ink); margin: 14px 0 8px; font-weight: 600; }

.h5-root .tabbar { padding-top: 8px; }
.h5-root .tabbar a {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  font-size: 16px; padding: 8px 0 14px; font-weight: 600;
}
.h5-root .tabbar a svg { width: 26px; height: 26px; }
.h5-root .tabbar a.on:after { width: 22px; height: 4px; bottom: 8px; }

.h5-root .hero-points { margin-top: 10px; }
.h5-root .hero-points .num { font-size: var(--h5-num); line-height: 1; font-family: "Noto Serif SC", serif; }
.h5-root .hero-unit { font-size: 18px; margin-left: 6px; color: var(--mute); }
.h5-root .today-pill {
  display: inline-block; margin-top: 10px;
  background: var(--wash); color: var(--primary);
  border-radius: 999px; padding: 6px 14px; font-size: 16px; font-weight: 700;
}

.h5-root .fu-row { gap: 8px; margin-top: 18px; }
.h5-root .fu-dot { font-size: 14px; font-weight: 600; }
.h5-root .fu-dot i {
  width: 56px; height: 56px; font-size: 22px; border-width: 2px;
}
.h5-root .fu-stamp { width: 168px; height: 168px; border-width: 6px; }
.h5-root .fu-stamp b { font-size: 58px; }
.h5-root .fu-open-lab { font-size: 28px; margin-top: 16px; }

.h5-root .list-row { padding: 16px 0; gap: 12px; font-size: 18px; }
.h5-root .avatar { width: 48px; height: 48px; font-size: 18px; }
.h5-root .chip { font-size: 15px; padding: 4px 10px; }
.h5-root .seg { padding: 6px; border-radius: 16px; }
.h5-root .seg button { min-height: 48px; font-size: 18px; font-weight: 700; }

.h5-root .hero-land { padding: 72px 24px 176px; }
.h5-root .hero-land img.lockup { width: min(248px, 68vw); }
.h5-root .dock { height: 72px; padding: 0 16px; }
.h5-root .site-filing { font-size: 13px; }
body.h5-root[data-chrome="land"] .site-filing:not(.site-filing--inpage) { bottom: 72px; }
.h5-root .dock-actions { justify-content: space-between; gap: 12px; }
.h5-root .dock-actions .btn-ghost {
  min-height: 48px;
  font-size: 18px;
  padding: 10px 18px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.h5-root #live-card .btn { margin-top: 16px; display: block; text-align: center; text-decoration: none; }
.h5-root #live-card .btn-ghost { margin-top: 10px; }
.h5-root .dock p { font-size: 16px; }
.h5-root .dock .btn-sm { min-height: 48px; font-size: 18px; padding: 10px 22px; }

.h5-root .toast { font-size: 17px; padding: 12px 18px; bottom: 108px; }
.h5-root .codes { gap: 10px; }
.h5-root .codes .btn-sm { flex: 1; min-width: 28%; }
.h5-root .codes .btn-sm.on,
.h5-root .seg button.on {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.h5-root .seg { flex-wrap: wrap; }
.h5-root #fu-seg button { flex: 1 1 28%; }
.h5-root .live-h5-watch .n { font-size: 36px; }
.h5-root .card-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 4px;
}
.h5-root .card-head strong {
  font-family: "Noto Serif SC", serif; font-size: 20px;
  border-left: 4px solid var(--primary); padding-left: 10px;
}
.h5-root .who { font-size: 17px; color: #5c534c; }
.h5-root .fu-meta { margin-top: 12px; font-size: 16px; }
.h5-root .cta-scan { margin-top: 4px; }
.h5-root .scan-box {
  display: none;
  width: 100%;
  max-height: 220px;
  border-radius: 16px;
  background: #1a1210;
  margin: 8px 0 12px;
  object-fit: cover;
}
.h5-root .scan-box.on { display: block; }
.h5-root input[type="range"] { height: 28px; }
.h5-root .score-step {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 4px 0 8px;
}
.h5-root .score-btn {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  border: 1.5px solid var(--line);
  background: #fff;
  color: var(--primary);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}
.h5-root .score-val {
  min-width: 48px;
  text-align: center;
  font-size: 32px;
  font-weight: 800;
  font-family: "Noto Serif SC", serif;
  color: var(--primary);
}
.h5-root .judge-name { font-size: 18px; font-weight: 700; color: var(--primary); }
.h5-root a.list-row, .h5-root label.list-row { min-height: 64px; }
.h5-root .land-kicker {
  margin-top: 18px; font-family: "Noto Serif SC", serif;
  font-size: 20px; letter-spacing: .28em; color: var(--primary); font-weight: 700;
}
.h5-root .dock .btn { width: auto; min-height: 48px; font-size: 18px; padding: 10px 28px; margin-left: auto; }
.h5-root .me-card { display: flex; gap: 16px; align-items: center; }
.h5-root .me-card .avatar { width: 72px; height: 72px; font-size: 28px; font-family: "Noto Serif SC", serif; }
.h5-root .me-card strong { font-size: 22px; font-family: "Noto Serif SC", serif; }
.h5-root .me-rank .num { font-family: "Noto Serif SC", serif; }
.h5-root .fu-dot { letter-spacing: 0; line-height: 1.2; }
.h5-root .login-word { width: 188px; margin: 0 auto 16px; }
.h5-root .list-row input[type="checkbox"] { width: 24px; height: 24px; accent-color: var(--primary); }
