huaxu-header, huaxu-footer { display:block; }
.hx-shell { width:min(100% - 80px,1320px);margin-inline:auto; }
.hx-header { color:var(--ink);font-family:var(--huaxu-font); }
.hx-header-inner { display:flex;align-items:center;min-height:88px;gap:24px; }
.hx-brand { display:inline-flex;align-items:center;gap:10px;flex-shrink:0;color:var(--ink);font-size:20px;font-weight:650;letter-spacing:.08em; }
.hx-brand img { width:32px;height:32px; }
.hx-header nav { display:flex;gap:26px;align-items:center;margin-left:auto;border:1px solid var(--line);border-radius:40px;padding:12px 24px;background:var(--surface); }
.hx-header a, .hx-footer a { text-decoration:none; }
.hx-header nav a, .hx-download { font-size:13px;font-weight:600;white-space:nowrap; }
.hx-header nav [aria-current='page'], .hx-footer [aria-current='page'] { color:var(--accent); }
.hx-header a:hover, .hx-footer a:hover { color:var(--accent); }
.hx-download { display:flex;align-items:center;gap:18px;color:var(--ink); }
.hx-footer { display:grid;grid-template-columns:1fr auto;gap:28px 40px;border-top:1px solid var(--line);padding-block:32px 64px;color:var(--muted);font-family:var(--huaxu-font); }
.hx-footer-brand p { margin:12px 0 0;font-size:13px; }
.hx-footer nav { display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;font-size:12px; }
.hx-signature { grid-column:1/-1;margin:0;font-size:11px; }
/* Keep the reading surface clear; decoration stays above the article. */
.content-page { background:var(--page);isolation:isolate; }
.content-page::before { content:'';position:absolute;z-index:-1;pointer-events:none;inset:0 0 auto;height:112px;background:repeating-linear-gradient(115deg,transparent 0 47px,var(--line) 47px 48px,transparent 48px 96px);mask-image:linear-gradient(to right,transparent 35%,#000 100%);opacity:.32; }
@media(max-width:760px) {
  .hx-shell { width:calc(100% - 36px); }
  .hx-header-inner { min-height:76px;gap:12px;flex-wrap:wrap;padding-block:12px; }
  .hx-header nav { gap:14px;padding:10px 14px; }
  .hx-header nav a { font-size:12px; }
  .hx-brand { font-size:18px;gap:8px; }
  .hx-brand img { width:28px;height:28px; }
  .hx-download { display:none; }
  .hx-footer { grid-template-columns:1fr;gap:24px; }
  .hx-footer nav { line-height:1.8; }
}
@media(max-width:370px) {
  .hx-header-inner { gap:8px; }
  .hx-header nav { gap:10px;padding:9px 10px; }
  .hx-brand { font-size:16px;gap:5px; }
  .hx-brand img { width:24px;height:24px; }
  .hx-header [data-theme-toggle] { width:30px;height:30px; }
}
