:root{
  --ink:#121820;
  --muted:#2d3642;
  --navy:#16304f;
  --navy2:#1e4577;
  --accent:#7a3226;
  --gold:#6a4e20;
  --line:#d8dde4;
  --hair:#e4dfd4;
  --paper:#f4f1ea;
  --card:#fffcf7;
  --soft:#eef3f8;
  --serif:"Songti SC","STSong","Source Han Serif SC","Noto Serif SC","Iowan Old Style",Palatino,"Times New Roman",serif;
  --sans:"Avenir Next","PingFang SC","Hiragino Sans GB","Songti SC",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0; padding:28px 16px 64px; background:var(--paper); color:var(--ink);
  font-family:var(--serif); font-size:16px; line-height:1.75; font-weight:500;
  -webkit-font-smoothing:antialiased;
}
.wrap{
  max-width:1040px; margin:0 auto; background:var(--card);
  border:1px solid var(--line); border-radius:12px;
  padding:32px 36px 44px; box-shadow:0 1px 3px rgba(20,30,50,.04);
}
h1{
  font-family:var(--serif); font-size:28px; line-height:1.3; font-weight:600;
  margin:0 0 8px; letter-spacing:.03em; color:var(--navy);
}
.meta{
  font-family:var(--sans); color:var(--muted); font-size:13.5px; line-height:1.7;
  margin:0 0 16px; padding-bottom:14px; border-bottom:1px solid var(--hair);
}
.meta span{margin-right:16px}
h2{
  font-family:var(--serif); font-size:20px; line-height:1.35; font-weight:600;
  margin:32px 0 10px; padding-bottom:6px; border-bottom:1px solid var(--hair);
  color:var(--ink); scroll-margin-top:64px;
}
h3{
  font-family:var(--serif); font-size:16.5px; margin:20px 0 8px; color:var(--navy); font-weight:600;
}
p{margin:0 0 10px}
ul,ol{margin:0 0 12px; padding-left:1.3em}
li{margin:0 0 4px}
li::marker{color:var(--accent)}
strong{font-weight:700}
.hit{color:var(--accent); font-weight:700}
.key{color:var(--navy); font-weight:700}
.lead{
  margin:12px 0 16px; padding:12px 16px;
  background:#fff8f4; border-left:3px solid var(--accent);
}
.lead p{margin:0 0 8px}
.lead p:last-child{margin-bottom:0}
.note{
  border-left:3px solid var(--line); padding:2px 0 2px 14px; margin:12px 0;
  color:var(--muted); font-size:14.5px;
}
.kpis{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:14px 0 18px}
.kpi{
  background:var(--soft); border:1px solid var(--line); border-top:3px solid var(--navy);
  border-radius:8px; padding:12px 10px; text-align:center;
}
.kpi .n{
  font-family:var(--sans); font-size:20px; font-weight:700; color:var(--navy); line-height:1.25;
}
.kpi .n.bad{color:var(--accent)}
.kpi .l{font-family:var(--sans); font-size:12px; color:var(--muted); margin-top:4px}
table{border-collapse:collapse; width:100%; margin:8px 0 16px; font-size:13.5px; font-family:var(--sans); line-height:1.55}
th,td{border-bottom:1px solid var(--line); padding:8px 10px; text-align:left; vertical-align:top}
th{
  background:var(--navy); color:#fff; font-weight:700; border-bottom:0;
  white-space:nowrap; letter-spacing:.02em;
}
tbody tr:nth-child(even) td{background:#f4f7fb}
td.n{white-space:nowrap; font-weight:600; color:var(--navy)}
.foot{
  margin-top:28px; padding-top:12px; border-top:1px solid var(--hair);
  font-family:var(--sans); color:var(--muted); font-size:12.5px;
}
pre{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12.5px; line-height:1.5;
  border:1px solid var(--line); border-radius:8px; padding:12px 14px; margin:8px 0 14px;
  overflow-x:auto; background:var(--soft); color:var(--ink);
}
.talk{
  background:#fff8f4; border-left:3px solid var(--accent); padding:12px 16px; margin:10px 0 14px;
}
.talk p{margin:0 0 8px}
.talk p:last-child{margin:0}
.topbar{margin:0 0 8px}
.topbar a.home{
  display:inline-flex; align-items:center; padding:5px 12px;
  border:1px solid var(--navy); border-radius:999px; background:var(--navy); color:#fff;
  font-family:var(--sans); font-size:13px; font-weight:600; text-decoration:none;
}
.topbar a.home:hover{background:var(--navy2)}
.tags{
  display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; padding:10px 0;
  position:sticky; top:0; background:rgba(255,252,247,.94); backdrop-filter:blur(8px);
  z-index:5; border-bottom:1px solid var(--line);
}
.tags a{
  display:inline-block; padding:4px 11px; font-family:var(--sans); font-size:12.5px; line-height:1.5;
  color:var(--ink); background:#fff; border:1px solid #c3cbd6; border-radius:999px; text-decoration:none;
}
.tags a:hover,.tags a:focus{color:#fff; background:var(--navy); border-color:var(--navy)}
@media (max-width:720px){
  body{padding:12px 0 36px}
  .wrap{padding:22px 14px 32px; border-radius:0; border-left:0; border-right:0}
  h1{font-size:22px}
  h2{font-size:18px}
  .meta span{display:block; margin:0 0 2px}
  .kpis{grid-template-columns:1fr 1fr}
  table{display:block; overflow-x:auto}
  th,td{white-space:normal}
}
@media print{
  body{background:#fff; padding:0}
  .wrap{box-shadow:none; border:0}
  .tags,.topbar{display:none}
}
