:root{
  --paper:#f5f8fc;
  --paper-2:#edf3fa;
  --surface:#ffffff;
  --surface-2:#f6f9fd;
  --ink:#172033;
  --ink-2:#4f5f73;
  --muted:#7b899b;
  --line:#dce5f0;
  --line-strong:#c7d5e5;
  --red:#2563eb;
  --red-deep:#1d4ed8;
  --red-soft:#dbeafe;
  --gold:#38bdf8;
  --green:#0f8a72;
  --shadow:0 12px 34px rgba(43,83,132,.08);
  --shadow-up:0 18px 42px rgba(37,99,235,.14);
}

[data-theme="dark"]{
  --paper:#0b1220;
  --paper-2:#101a2d;
  --surface:#152136;
  --surface-2:#111c30;
  --ink:#edf4ff;
  --ink-2:#c1cee0;
  --muted:#8fa0b7;
  --line:#2a3b55;
  --line-strong:#3a506e;
  --red:#60a5fa;
  --red-deep:#93c5fd;
  --red-soft:#172f52;
  --gold:#38bdf8;
  --green:#4bd1b7;
  --shadow:0 14px 36px rgba(0,0,0,.24);
  --shadow-up:0 20px 46px rgba(0,0,0,.34);
}

body{
  font-family:DengXian,"Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Segoe UI",Arial,sans-serif;
  background:var(--paper);
}

body::before{
  background-image:linear-gradient(rgba(37,99,235,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.035) 1px,transparent 1px);
}

.rail-stripe{display:none}

.statusbar{
  background:#12345c;
  color:#f7fbff;
}

[data-theme="dark"] .statusbar{
  background:#071528;
  color:#edf6ff;
  border-bottom:1px solid #203654;
}

.statusbar .weekday,
.statusbar .weather-temp,
.statusbar .weather-loading{color:#c9d9ea}
.statusbar .lunar{color:#eaf3ff}
.statusbar .location-trigger:hover{color:#bcd9ff}
.lunar-badge{background:#2f7eea}

.brandbar{
  background:rgba(248,251,255,.96);
  border-bottom-color:var(--line);
}

[data-theme="dark"] .brandbar{
  background:rgba(11,18,32,.96);
  color:var(--ink);
  border-bottom-color:var(--line);
}

.brand-mark{
  background:linear-gradient(145deg,#2563eb,#0ea5e9);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 10px 24px rgba(37,99,235,.24);
}

.brand-copy strong,
.route-banner h1,
.section-head h2,
.empty-state h2,
.subpage-heading h1,
.article-card h1,
.article-content h2,
.article-content h3,
.dialog-head h2{
  font-family:inherit;
}

.brand-copy strong{letter-spacing:.08em}
.searchbox{box-shadow:0 7px 22px rgba(43,83,132,.055)}
.searchbox:focus-within{border-color:var(--red);box-shadow:0 0 0 4px var(--red-soft)}
.round-btn:hover{color:var(--red);border-color:var(--red)}

@media (min-width:881px){.category-rail{padding:4px 0}}
.category-nav a::before{box-shadow:none}
.category-nav a.active{
  background:#2563eb;
  color:#fff;
  box-shadow:none;
}
.category-nav a.active .count{color:#dbeafe}
.category-nav a.active::after{background:#2563eb}

.route-banner{
  background:linear-gradient(135deg,#123b69 0%,#1f66b8 62%,#2388cf 100%);
  box-shadow:0 14px 34px rgba(30,88,151,.17);
}
.route-banner .eyebrow{color:#bcdcff}
.route-line::before{background:linear-gradient(90deg,#70b7ff,#d9efff)}
.route-line i{background:#2680da}
.route-line span::before{background:#123b69;box-shadow:13px 0 #123b69}

.section-signal{box-shadow:none}
.section-english{display:none!important}
.section-count{background:var(--surface-2)}
.site-card,.site-row{box-shadow:0 7px 20px rgba(43,83,132,.055)}
.site-card:hover,.site-row:hover{box-shadow:var(--shadow-up)}
.more-card,.site-row.more-row{box-shadow:none}

.site-footer{background:var(--paper-2)}
.footer-links a:hover,.breadcrumb a:hover,.article-content a{color:var(--red)}
.back-top,.toast{background:#2563eb;color:#fff}
.back-top:hover{background:#1d4ed8}

.footer-page-dialog{
  width:min(760px,calc(100% - 30px));
  max-height:min(78vh,760px);
  overflow:hidden;
}
.footer-page-head{border-bottom:1px solid var(--line);padding-bottom:20px}
.footer-page-content{
  min-height:180px;
  max-height:calc(78vh - 105px);
  overflow:auto;
  padding:25px 28px 31px;
  color:var(--ink-2);
}
.footer-page-content p:first-child{margin-top:0}
.footer-page-loading{color:var(--muted)}
.footer-page-error{color:var(--red)}

[data-theme="dark"] .round-btn,
[data-theme="dark"] .searchbox,
[data-theme="dark"] .category-nav a:hover{
  background:var(--surface);
  color:var(--ink);
}
[data-theme="dark"] .category-nav a.active{
  background:#2563eb;
  color:#fff;
}
[data-theme="dark"] .site-footer{border-top-color:var(--line)}

@media (max-width:580px){
  .brandbar-inner .header-actions{display:contents}
  .footer-page-content{padding:21px 20px 26px}
}

