:root {
  --ym-red: #c8102e;
  --ym-red-dark: #8f1020;
  --ym-red-deep: #65101b;
  --ym-red-soft: #fff0ec;
  --ym-red-pale: #fff8f4;
  --ym-gold: #d7a73d;
  --ym-gold-light: #f4d78d;
  --ym-ink: #3b2528;
  --ym-muted: #84686d;
  --ym-line: #efd7d1;
  --blue: #c8102e;
  --deep: #8f1020;
  --teal: #d7a73d;
  --teal-deep: #9b6b18;
  --ink: #3b2528;
  --muted: #84686d;
  --line: #efd7d1;
}

html,
body {
  background: #f7e9e4 !important;
  color: var(--ym-ink) !important;
}

body,
.app-shell,
.page-wrap {
  background:
    radial-gradient(circle at 12% 8%, rgba(215,167,61,.09) 0 2px, transparent 3px),
    linear-gradient(180deg, #fff9f5 0%, #f9ebe6 100%) !important;
}

.app-shell { box-shadow: 0 0 32px rgba(91,18,26,.13) !important; }

/* 顶部品牌栏 */
.topbar {
  background: linear-gradient(108deg, var(--ym-red-deep), var(--ym-red-dark) 48%, var(--ym-red)) !important;
  border-bottom: 2px solid var(--ym-gold) !important;
  box-shadow: 0 5px 18px rgba(101,16,27,.22) !important;
}
.brand-logo,
.page-route-title,
.topbar .top-action { color: #fff8ed !important; }
.logo-symbol {
  background: linear-gradient(145deg, #b8102a, #df3b46) !important;
  border: 1px solid rgba(244,215,141,.52) !important;
  box-shadow: 0 5px 13px rgba(71,8,17,.28), inset 0 0 0 1px rgba(255,255,255,.12) !important;
  color: #fff8e6 !important;
}
.logo-word { color: #fff9ef !important; }
.logo-accent { background: var(--ym-gold-light) !important; }

/* 首页横幅与内容卡片 */
.hero,
.hero.banner-carousel {
  background-color: var(--ym-red-dark) !important;
  border: 1px solid rgba(215,167,61,.48) !important;
  box-shadow: 0 14px 28px rgba(101,16,27,.22) !important;
}
.hero:before {
  background: linear-gradient(110deg, rgba(74,8,17,.82), rgba(143,16,32,.58), rgba(200,16,46,.20)) !important;
}
.hero:after { border-color: rgba(244,215,141,.46) !important; }
.hero h1,
.hero p { color: #fff9ef !important; text-shadow: 0 2px 8px rgba(54,4,11,.30) !important; }

.video-card,
.news-card,
.panel,
.stats,
.tabs,
.menu-grid,
.profile-card,
.assistance-card,
.signin-calendar-card,
.signin-summary,
.share-banner,
.milestone,
.protocol-card,
.identity-card {
  background: rgba(255,253,250,.98) !important;
  border-color: var(--ym-line) !important;
  box-shadow: 0 8px 22px rgba(105,25,34,.08) !important;
}
.section-head h2,
.page-title,
.menu-title,
.profile-card h2,
.share-banner h2,
.reward-balance,
.mine-balance,
.signin-today { color: var(--ym-red-dark) !important; }
.section-head small,
.sub-title,
.video-card label,
.profile-card p,
.share-banner p,
.invite-code,
.footer { color: var(--ym-muted) !important; }

.news-item,
.claim-row,
.milestone,
.quick,
.menu-item {
  border-color: #f0ded9 !important;
}
.news-item:hover,
.quick:hover,
.menu-item:hover { background: #fff2ee !important; }
.news-item b,
.stats strong,
.milestone .count { color: var(--ym-red) !important; }

/* 功能强调与按钮 */
.primary,
.submit,
.claim-btn,
.signin-entry,
.signin-button,
.copy-btn,
button[data-action="claim"],
button[data-action="withdraw"] {
  background: linear-gradient(100deg, var(--ym-red-dark), var(--ym-red), #df3d48) !important;
  border-color: var(--ym-red-dark) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(143,16,32,.23) !important;
}
.primary:active,
.submit:active,
.claim-btn:active { filter: brightness(.93); }
.tabs button.active,
.status.active,
.milestone .status,
.route-brand .route-title-prefix,
.route-brand .route-title-sep { color: var(--ym-red) !important; }
.tabs button.active { border-bottom-color: var(--ym-red) !important; }
.progress span,
.progress-bar span { background: linear-gradient(90deg, var(--ym-red), var(--ym-gold)) !important; }

/* 表单和身份认证 */
input,
textarea,
select,
.field {
  border-color: var(--ym-line) !important;
  background: #fffaf7 !important;
  color: var(--ym-ink) !important;
}
input:focus,
textarea:focus,
select:focus,
.field:focus-within {
  border-color: #d45b68 !important;
  box-shadow: 0 0 0 3px rgba(200,16,46,.10) !important;
}
.field-icon,
.switch a,
a { color: var(--ym-red) !important; }

/* 首页公告 */
.home-notice-mask { background: rgba(71,11,18,.52) !important; }
.home-notice {
  background: #fffdf9 !important;
  border: 1px solid #eccdc6 !important;
  box-shadow: 0 20px 58px rgba(79,11,20,.28) !important;
  color: var(--ym-ink) !important;
}
.home-notice header {
  background: linear-gradient(100deg, #fff5ef, #fde6e2) !important;
  border-bottom-color: var(--ym-line) !important;
}
.home-notice h2,
.home-notice-copy h3 { color: var(--ym-red-dark) !important; }
.home-notice-richtext { color: #6f5358 !important; }
.home-notice-close {
  background: #f8ded8 !important;
  color: var(--ym-red-dark) !important;
}
.home-notice footer button:last-child {
  background: linear-gradient(100deg, var(--ym-red-dark), var(--ym-red)) !important;
  color: #fff !important;
}

/* 底部导航 */
.bottom-nav {
  background: rgba(255,252,248,.98) !important;
  border-top: 1px solid var(--ym-line) !important;
  box-shadow: 0 -6px 18px rgba(94,25,32,.09) !important;
}
.bottom-nav button,
.bottom-nav button em,
.bottom-nav .nav-icon { color: #876a6f !important; }
.bottom-nav button.active,
.bottom-nav button.active em,
.bottom-nav button.active .nav-icon,
.bottom-nav button:nth-child(3).active,
.bottom-nav button:nth-child(3).active em,
.bottom-nav button:nth-child(3).active .nav-icon {
  color: var(--ym-red) !important;
}
.bottom-nav button.active { background: #fde9e4 !important; }
.bottom-nav button.active::before { background: var(--ym-red) !important; }

/* 登录和注册 */
.auth-shell {
  background:
    radial-gradient(circle at 88% 10%, rgba(215,167,61,.14), transparent 28%),
    linear-gradient(155deg, #fff9f4, #f6dfda 100%) !important;
}
.auth-top .brand { color: var(--ym-red-dark) !important; }
.auth-top .brand-mark {
  background: linear-gradient(145deg, var(--ym-red-deep), var(--ym-red)) !important;
  border: 1px solid rgba(215,167,61,.55) !important;
  color: #fff8e7 !important;
  box-shadow: 0 7px 16px rgba(110,14,27,.24) !important;
}
.auth-card {
  background: rgba(255,253,250,.97) !important;
  border-color: #eccfc8 !important;
  box-shadow: 0 20px 48px rgba(101,19,29,.14) !important;
}
.auth-kicker { color: #ac7518 !important; }
.auth-card h1 { color: var(--ym-red-dark) !important; }
.auth-card .desc,
.switch,
.auth-footer { color: var(--ym-muted) !important; }
.captcha { background: #fff1ed !important; border-color: var(--ym-line) !important; color: var(--ym-red-dark) !important; }
.message,
.hint { color: var(--ym-red) !important; }

/* 金色只做小面积点缀 */
.reward-badge,
.badge,
.tag,
.signin-reward { border-color: #e6c36d !important; background: #fff6dc !important; color: #956713 !important; }

@media (max-width: 520px) {
  .topbar { box-shadow: 0 3px 13px rgba(101,16,27,.20) !important; }
  .hero { box-shadow: 0 10px 22px rgba(101,16,27,.18) !important; }
}
