:root { color-scheme:light; --ink:#172b40; --text:#273a4a; --muted:#596d7c; --blue:#275978; --line:#d6e0e7; --wash:#f3f6f8; --surface:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--wash); color:var(--text); font:16px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; overflow-wrap:anywhere; }
a { color:var(--blue); text-underline-offset:4px; }
a,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,summary:focus-visible { outline:3px solid #176d92; outline-offset:4px; }
[tabindex="-1"]:focus { outline:none; }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3,h4 { color:var(--ink); text-wrap:balance; }
time { font-variant-numeric:tabular-nums; }
.page-shell { width:min(100% - 64px,880px); margin-inline:auto; }
.site-header { padding:42px 0 28px; }
.site-label { color:var(--blue); font-size:12px; font-weight:650; letter-spacing:.04em; }
h1 { font-size:clamp(25px,4vw,34px); line-height:1.4; margin:9px 0 10px; letter-spacing:-.02em; }
.site-description { color:var(--muted); font-size:14px; }
.skip-link { position:fixed; top:12px; left:12px; z-index:2; padding:10px 15px; background:var(--surface); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.latest-issue { padding:26px 30px 0; background:var(--surface); border-top:4px solid var(--blue); border-radius:3px 3px 8px 8px; }
.latest-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.section-label { color:var(--blue); font-size:12px; font-weight:650; }
.latest-date { display:flex; align-items:baseline; gap:9px; color:var(--ink); font-size:30px; font-weight:650; line-height:1.4; }
.latest-year { font-size:13px; font-weight:500; color:var(--muted); }
.latest-issue h2 { margin:15px 0 11px; font-size:24px; line-height:1.5; }
.latest-period { font-size:14px; line-height:1.8; }
.latest-period>span { display:block; color:var(--muted); font-size:11px; }
.read-button { display:inline-flex; justify-content:space-between; align-items:center; gap:22px; min-height:48px; margin:20px 0; padding:10px 18px; border-radius:4px; background:var(--blue); color:#fff; font-size:15px; font-weight:600; text-decoration:none; transition:background-color .18s ease,transform .18s ease; }
.read-button:hover { background:#1c455e; }
.read-button:active { transform:translateY(1px); }
.latest-brief { border-top:1px solid var(--line); }
.latest-brief summary { min-height:48px; padding:12px 0; font-size:13px; font-weight:600; color:var(--blue); cursor:pointer; }
.latest-brief ul { margin:0; padding:3px 0 22px 20px; font-size:14px; line-height:1.9; }
.latest-brief li+li { margin-top:10px; }
.archive { margin-top:38px; }
.archive-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.archive-heading h2 { font-size:22px; line-height:1.5; }
.archive-count { color:var(--muted); font-size:12px; }
.month-nav { display:flex; flex-wrap:wrap; gap:9px; margin:16px 0 28px; }
.month-nav a { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:44px; padding:8px 13px; border:1px solid var(--line); border-radius:4px; font-size:13px; text-decoration:none; transition:background-color .18s ease,border-color .18s ease; }
.month-nav a:hover { background:var(--surface); border-color:var(--blue); }
.month-nav a span { font-size:11px; color:var(--muted); }
.month-group { scroll-margin-top:18px; }
.month-group+.month-group { margin-top:30px; }
.month-group h3 { font-size:14px; font-weight:650; margin-bottom:12px; }
.issue-list { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.issue-list li,.issue-list article { min-width:0; }
.issue-card { display:block; padding:19px 22px; border-radius:6px; background:var(--surface); color:var(--text); text-decoration:none; transition:background-color .18s ease,box-shadow .18s ease; }
.issue-card:hover { background:#fafcfd; box-shadow:inset 3px 0 var(--blue); }
.issue-card:active { background:#edf3f6; }
.issue-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:7px 12px; }
.issue-meta time { font-size:14px; font-weight:650; color:var(--ink); }
.issue-tag { padding:2px 7px; border-radius:2px; background:#e9f0f4; color:#385d74; font-size:10px; line-height:1.8; }
.backfill-tag { background:#f0f2f4; color:#526472; }
.issue-card h4 { font-size:18px; line-height:1.55; margin-top:9px; }
.issue-period { font-size:11px; color:var(--muted); margin-top:7px; }
.issue-summary { font-size:13px; line-height:1.8; margin-top:8px; }
.issue-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-top:11px; font-size:11px; color:var(--muted); }
.read-more { font-size:12px; font-weight:600; color:var(--blue); }
.site-footer { padding:27px 0 35px; margin-top:30px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.9; }
.site-footer p+p { margin-top:7px; }
.site-footer a { display:inline-flex; min-height:44px; align-items:center; gap:8px; margin-top:9px; font-size:12px; }
@media(max-width:600px) {
  .page-shell { width:calc(100% - 32px); }
  .site-header { padding:24px 0 21px; }
  .site-label { font-size:11px; }
  h1 { margin:8px 0; font-size:25px; }
  .site-description { font-size:13px; }
  .latest-issue { padding:19px 18px 0; }
  .latest-heading { display:block; }
  .latest-date { margin-top:5px; font-size:28px; }
  .latest-issue h2 { margin-top:11px; font-size:20px; }
  .latest-period { font-size:13px; }
  .read-button { width:100%; margin:16px 0; min-height:48px; }
  .archive { margin-top:29px; }
  .archive-heading h2 { font-size:21px; }
  .month-nav { gap:8px; margin:13px 0 23px; }
  .month-nav a { gap:10px; padding-inline:11px; font-size:12px; }
  .issue-card { padding:16px; }
  .issue-card h4 { font-size:17px; }
  .issue-meta time { font-size:13px; }
  .month-group+.month-group { margin-top:25px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } a { transition:none; } }
@media print {
  body { background:#fff; }
  .page-shell { width:100%; }
  .skip-link,.month-nav,.read-button,.site-footer>a { display:none; }
  .latest-issue { border:1px solid var(--line); padding:16px; }
  .latest-brief summary { display:none; }
  .latest-brief>ul { display:block; padding-bottom:0; }
  .issue-card { border-bottom:1px solid var(--line); padding-inline:0; }
  .issue-list li { break-inside:avoid; }
}
