
:host { display:block; }
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none !important; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; }
button,a { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
button:disabled { cursor:default; }
svg { flex-shrink:0; }
.site-header,.site-footer {
  /* 在影子内部阻断页面的继承排版；保留公开变量和宿主隐藏/禁用语义。 */
  all: initial;
  display: block;
  box-sizing: border-box;
  direction: ltr;
  unicode-bidi: normal;
  visibility: inherit;
  pointer-events: inherit;
  --ink: var(--site-ink, #26170f);
  --paper: var(--site-paper, #fff8ef);
  --muted: var(--site-muted, #766254);
  --line: var(--site-line, #ecdfd0);
  --accent: var(--site-accent, #c84918);
  font-family: var(--site-font, "Inter", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif);
  font-weight:400; font-synthesis:none; -webkit-font-smoothing:antialiased; line-height:normal; text-align:left; }

.site-footer { position: relative; color: var(--ink); background: var(--paper); border-top: 1px solid var(--line); color-scheme: light; transition: background .35s ease, color .35s ease, border-color .35s ease; }
.site-footer[data-theme="dark"] {
  --ink: var(--site-ink, #f4f1ff);
  --paper: var(--site-paper, #090d24);
  --muted: var(--site-muted, #b0b5d2);
  --line: var(--site-line, #292d4e);
  --accent: var(--site-accent, #9bafff);
  color-scheme: dark;
}
.site-footer::before { content: ""; position: absolute; top: -1px; left: 10%; right: 10%; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 60%, transparent), transparent); }
.footer-inner {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--site-layout-max, 2400px);
  margin: 0 auto;
  padding: 28px var(--site-layout-gutter, clamp(28px, 4vw, 96px)) 8px;
}
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-bottom: 8px; }
.footer-wordmark { display: inline-flex; align-items: center; min-height: 44px; flex-shrink: 0; color: inherit; font-size: 20px; font-weight: 700; letter-spacing: -.03em; line-height: 1; text-decoration: none; }
.footer-wordmark span { color: var(--accent); }
.footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 0 26px; }
.footer-links a { display: flex; align-items: center; min-height: 44px; color: var(--muted); font-size: 13px; text-decoration: none; transition: color .2s; }
.footer-links a:hover { color: var(--accent); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.6; }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: none; }
.footer-bottom a:hover { color: var(--ink); }
.site-footer a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media(max-width:960px) { .footer-links { column-gap: 18px; } }
@media(max-width:700px) {
  .footer-inner { padding-block: 14px 2px; }
  .footer-top { flex-direction: column; align-items: stretch; gap: 6px; padding-bottom: 7px; }
  .footer-wordmark { align-self: flex-start; font-size: 18px; }
  .footer-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 12px; }
  .footer-links a { min-height: 44px; font-size: 12px; }
  .footer-bottom { justify-content: flex-start; flex-wrap: wrap; gap: 0 16px; font-size: 9px; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { transition:none !important; } }
