/* Site color system: clean white and blue. */
:root {
  color-scheme: light;
  --bg-deep: #ffffff;
  --bg-base: #f5f7fb;
  --surface: #ffffff;
  --surface-raised: #f8faff;
  --surface-soft: #edf3fc;
  --text-primary: #172337;
  --text-secondary: #42536b;
  --text-muted: #596b82;
  --accent: #2563eb;
  --accent-hover: #1d4ed8;
  --link: #1d4ed8;
  --border: #dce4ef;
  --success: #15803d;
  --warning: #a16207;
}
body { background: var(--bg-deep); color: var(--text-primary); }
::selection { background: #dbeafe; color: #172337; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid var(--link); outline-offset: 4px;
}
.navbar { background: rgba(255,255,255,.96); border-bottom-color: var(--border); }
.navbar .logo-area { color: var(--text-primary); }
.navbar .nav-links a { color: var(--text-secondary); }
.navbar .nav-links a:hover { color: var(--link); }
.navbar .nav-links .btn-nav { color: #fff; }
.hero, .article-hero { background: linear-gradient(135deg, #f8fbff 0%, #eaf2ff 100%); }
.hero::before, .hero::after { background: rgba(37,99,235,.055); }
main :is(.section-badge, .badge, .tag, .post-category) {
  color: var(--link); background: rgba(37,99,235,.10); border-color: rgba(37,99,235,.25);
}
main :is(.category-tag.active, .category-btn.active) { color: #fff; background: var(--accent); }
main :is(.category-tag, .category-btn):hover { color: #fff; background: var(--accent); }
main :is(.btn, .btn-primary, .btn-download, .ybtn, .plan-btn) { border-color: var(--accent); }
main :is(.btn, .btn-primary, .btn-download, .ybtn):hover,
.sidebar .side-card .btn:hover, .btn-nav:hover { background: var(--accent-hover); color: #fff; }
main :is(.article-body, .blog-card, .side-card, .faq-item) { border-color: var(--border); }
main :is(.article-meta, .post-meta) { color: var(--text-muted); }
main :is(input, textarea, select) { color: var(--text-primary); background-color: var(--bg-base); border-color: var(--border); }
main input::placeholder, main textarea::placeholder { color: var(--text-muted); opacity: 1; }
.article-body th { background: #edf3fc; }
.article-body td, .article-body th { border-color: var(--border); }
.footer { background: var(--bg-deep); border-top-color: var(--accent); }
.footer :is(p, a, .contact-item, .copyright, .copyright a, .bottom-bar .links a) { color: var(--text-muted); }
.footer .col ul li a { color: var(--text-secondary); }
.footer a:hover, .footer .col ul li a:hover { color: var(--link); }
.footer .bottom-bar { border-top-color: var(--border); }
.footer .bottom-bar .copyright, .footer .bottom-bar .copyright a { color: var(--text-muted); }
.footer .bottom-bar .copyright .sep { color: var(--text-muted); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Light theme surfaces and readable inherited text. */
.navbar { box-shadow: 0 1px 10px rgba(23,35,55,.035); }
.hero::before, .hero::after { background: rgba(37,99,235,.035); }
.footer { background: #f3f6fb; border-top: 1px solid var(--border); }
.footer .col :is(h4, .heading-style-h4), .footer .brand-area .logo { color: var(--text-primary); }
.footer .col :is(h4, .heading-style-h4) { font-weight: 700; }
.footer a:hover, .footer .bottom-bar .copyright a:hover { color: var(--link); }
main :is(.blog-card, .side-card, .pricing-card, .plan-card, .faq-item, .contact-card, .review-card, .guide-card, .article-body) {
  box-shadow: 0 4px 20px rgba(23,35,55,.035);
}
main :is(.section-badge, .badge, .tag, .post-category) { background: #eaf1ff; border-color: #cdddfc; color: var(--link); }
main .cta-section { background: linear-gradient(135deg, #eff5ff, #e5efff); }
main .cta-box, main .cta-box :is(h2, .heading-style-h2), main .cta-box p { color: var(--text-primary); }
main .partner-cta .info :is(h3, .heading-style-h3) { color: #fff; }
main .compare-table th { background: #edf3fc; color: var(--text-primary); }
main :is(.warning-box, .tip-box, .highlight-box, .callout) { color: var(--text-secondary); }
main :is(.category-tag, .category-btn) { color: var(--text-secondary); border-color: var(--border); }
main :is(.category-tag.active, .category-btn.active, .category-tag:hover, .category-btn:hover) { color: #fff; background: var(--accent); }
main .article-body :is(code, pre code) { color: #1e40af; }
main :is(.copy-article-link, .btn-secondary, .btn-outline) { color: var(--link); }

main .partner-cta { background: #eaf1ff; border-color: var(--border); }
main .partner-cta .info :is(h3, .heading-style-h3), main .partner-cta .info p { color: var(--text-primary); }
.platform-pills a, .platform-tags a { box-shadow: none; }

main .review-card .verified { color: #166534; background: #eaf7ee; }
