:root {
  --ink:#102b3f;
  --navy:#173f57;
  --paper:#eef2f3;
  --panel:#ffffff;
  --muted:#607680;
  --rule:#d8e1e4;
  --orange:#cb6845;
  --gold:#c69d59;
  --green:#337b68;
  --shadow:0 18px 44px rgba(16,43,63,.11);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif; line-height:1.78; }
a { color:inherit; }
.report-hero { color:#f7fbfc; background:linear-gradient(125deg,#102b3f 0%,#17445c 66%,#2d6872 100%); }
.topbar { display:flex; justify-content:space-between; gap:20px; max-width:1320px; margin:0 auto; padding:18px 30px; color:#bed2db; border-bottom:1px solid rgba(255,255,255,.18); font-size:12px; letter-spacing:.06em; }
.topbar a { text-decoration:none; }
.topbar a:hover, .topbar a:focus { color:#fff; outline:none; }
.hero-inner { max-width:1320px; min-height:382px; margin:0 auto; padding:54px 30px 52px; }
.kicker { margin:0; color:#c9dbe2; font-size:12px; font-weight:700; letter-spacing:.16em; }
h1 { margin:11px 0 9px; font:700 clamp(39px,5vw,66px)/1.14 "STSong","Songti SC","Noto Serif CJK SC",serif; letter-spacing:0; }
.subtitle { margin:0 0 12px; color:#f2c7ae; font-size:20px; font-weight:700; }
.report-date { margin:0 0 11px; color:#c8dbe2; font-size:13px; letter-spacing:.06em; }
.summary { max-width:830px; margin:0; color:#d6e4e9; font-size:15px; }
.topic-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.topic-list span { padding:5px 9px; border:1px solid rgba(255,255,255,.27); color:#e8f0f2; font-size:12px; }
.report-layout { display:grid; grid-template-columns:260px minmax(0,1000px); gap:28px; justify-content:center; align-items:start; max-width:1320px; margin:28px auto; padding:0 30px; }
.report-rail { position:sticky; top:18px; padding:23px 20px; border-top:4px solid var(--orange); background:#e4ecef; }
.report-rail > strong { font-size:12px; letter-spacing:.13em; }
.report-rail nav { display:grid; gap:2px; margin-top:12px; }
.report-rail nav a { padding:7px 3px; color:#4e6874; text-decoration:none; font-size:13px; }
.report-rail nav a:hover, .report-rail nav a:focus { color:var(--orange); outline:none; }
.all-reports { display:block; margin-top:17px; padding-top:14px; border-top:1px solid #c5d2d7; color:var(--navy); text-decoration:none; font-size:12px; font-weight:700; }
.report-content { min-width:0; padding:48px clamp(24px,5vw,68px) 60px; background:var(--panel); box-shadow:var(--shadow); }
.status-note { display:grid; grid-template-columns:80px minmax(0,1fr); gap:14px; margin-bottom:34px; padding:17px 18px; border-left:4px solid var(--gold); background:#f8f5ed; }
.status-note strong { color:#725b31; font-size:13px; }
.status-note span { color:#666b68; font-size:13px; }
.report-content h2 { margin:47px 0 14px; padding-left:14px; border-left:5px solid var(--orange); font:700 29px/1.32 "STSong","Songti SC","Noto Serif CJK SC",serif; letter-spacing:0; }
.report-content h2:first-of-type { margin-top:0; }
.report-content h3 { margin:30px 0 10px; color:var(--navy); font-size:19px; line-height:1.45; letter-spacing:0; }
.report-content p { margin:10px 0; color:#334d59; }
.report-content ol, .report-content ul { margin:12px 0 19px; padding-left:25px; color:#334d59; }
.report-content li { margin:7px 0; padding-left:3px; }
.report-content strong { color:#183f55; }
.report-content code { padding:2px 5px; color:#824a35; background:#f8ece6; font-family:Consolas,"Microsoft YaHei",sans-serif; font-size:.93em; }
.report-content blockquote { margin:18px 0; padding:16px 18px; border-left:4px solid var(--green); color:#45635d; background:#edf5f2; }
.table-wrap { margin:20px 0 28px; overflow:auto; border:1px solid var(--rule); }
table { width:100%; min-width:680px; border-collapse:collapse; font-size:13px; }
th, td { padding:12px 13px; border-bottom:1px solid var(--rule); border-right:1px solid var(--rule); text-align:left; vertical-align:top; }
th:last-child, td:last-child { border-right:0; }
th { color:#fff; background:var(--navy); }
tr:last-child td { border-bottom:0; }
tbody tr:nth-child(even) { background:#f7f9f9; }
.page-turn { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:52px; padding-top:22px; border-top:1px solid var(--rule); }
.page-turn a { padding:12px 15px; color:var(--navy); background:#edf3f4; text-decoration:none; font-size:13px; font-weight:700; }
.page-turn a:last-child { text-align:right; }
.page-turn a:hover, .page-turn a:focus { color:#fff; background:var(--orange); outline:none; }
@media (max-width:900px) {
  .topbar { padding:15px 20px; }
  .hero-inner { min-height:0; padding:40px 20px; }
  .report-layout { display:block; margin:0; padding:0; }
  .report-rail { position:relative; top:auto; padding:17px 20px; border-top:0; border-bottom:1px solid #c7d5da; }
  .report-rail nav { display:flex; gap:12px; overflow:auto; }
  .report-rail nav a { flex:0 0 auto; white-space:nowrap; }
  .all-reports { display:none; }
  .report-content { padding:36px 24px 50px; box-shadow:none; }
}
@media (max-width:560px) {
  .topbar span { display:none; }
  h1 { font-size:38px; }
  .subtitle { font-size:17px; }
  .report-content { padding:30px 18px 44px; }
  .report-content h2 { font-size:25px; }
  .status-note { grid-template-columns:1fr; gap:4px; }
}
@media print {
  @page { size:A4; margin:15mm 12mm; }
  body { background:#fff; }
  .topbar, .report-rail, .page-turn { display:none; }
  .hero-inner { min-height:0; padding:15mm 12mm; }
  .report-layout { display:block; max-width:none; margin:0; padding:0; }
  .report-content { padding:0; box-shadow:none; }
  h2, h3, .status-note, table { break-inside:avoid; }
}
