
:root{
  --bg:#f3faf7; --sand:#eef6f2; --ink:#14332e; --muted:#3d5c55;
  --line:#c5ddd6; --accent:#1f8a7a; --accent2:#2bb5a0; --card:#ffffff;
  --shadow:0 10px 28px rgba(20,51,46,.08);
  --radius:18px; --font:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;
}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;font-family:var(--font);color:var(--ink);background:
  radial-gradient(1200px 500px at 10% -10%, #d9f3ec 0%, transparent 55%),
  linear-gradient(180deg, var(--bg), #f7fffb 40%, var(--sand));
  line-height:1.7; min-height:100vh}
a{color:var(--accent); text-decoration-thickness:1px; text-underline-offset:3px}
a:hover{color:#0f5f53}
.wrap{width:min(1100px, calc(100% - 32px)); margin:0 auto}
.wrap-narrow{width:min(760px, calc(100% - 32px)); margin:0 auto}
.topbar{position:sticky; top:0; z-index:20; backdrop-filter:saturate(1.1) blur(10px);
  background:rgba(243,250,247,.88); border-bottom:1px solid var(--line)}
.bar{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:64px}
.mark{font-weight:800; font-size:1.2rem; color:var(--ink); text-decoration:none; letter-spacing:.02em}
.mark span{color:var(--accent)}
.nav{display:flex; flex-wrap:wrap; gap:8px 14px}
.nav a{color:var(--muted); text-decoration:none; font-size:.92rem; padding:6px 2px; border-bottom:2px solid transparent}
.nav a[aria-current="page"], .nav a:hover{color:var(--ink); border-bottom-color:var(--accent2)}
.clinic{background:linear-gradient(105deg, #1f8a7a 0%, #2bb5a0 48%, #7ad9c8 100%); color:#f4fffb;
  border-radius:0 0 28px 28px; padding:42px 0 36px; box-shadow:var(--shadow)}
.clinic .kicker{opacity:.85; letter-spacing:.14em; font-size:.78rem; margin:0 0 8px}
.clinic h1{margin:0 0 12px; font-size:clamp(1.6rem, 3vw, 2.2rem); line-height:1.25}
.clinic .lede{margin:0; max-width:46rem; font-size:1.02rem; opacity:.95}
.section{padding:34px 0}
.section h2{margin:0 0 14px; font-size:1.35rem}
.lead p{margin:0 0 14px; color:var(--ink)}
.note{background:#e5f6f1; border-left:4px solid var(--accent); padding:12px 14px; border-radius:10px; color:var(--muted)}
.chapter-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px}
.chapter{display:block; background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px 16px; text-decoration:none; color:inherit; box-shadow:var(--shadow);
  transition:transform .18s ease, border-color .18s ease}
.chapter:hover{transform:translateY(-4px); border-color:var(--accent2)}
.chapter strong{display:block; font-size:1.05rem; margin-bottom:6px; color:var(--ink)}
.chapter span{display:block; color:var(--muted); font-size:.92rem}
.alist{display:grid; gap:12px}
.acard{display:grid; grid-template-columns: 10px 1fr; gap:14px; background:var(--card);
  border:1px solid var(--line); border-radius:16px; padding:16px 16px 16px 12px; text-decoration:none; color:inherit}
.acard:hover{border-color:var(--accent2); box-shadow:var(--shadow)}
.acard i{display:block; width:10px; border-radius:8px; background:linear-gradient(180deg,var(--accent),var(--accent2))}
.acard b{display:block; margin-bottom:4px}
.acard em{font-style:normal; color:var(--muted); font-size:.92rem}
.prose{background:var(--card); border:1px solid var(--line); border-radius:22px; padding:28px 24px; box-shadow:var(--shadow)}
.prose h1{margin-top:0; font-size:1.7rem; line-height:1.3}
.prose p{margin:0 0 1em}
.meta-row{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px}
.chip{display:inline-block; padding:4px 10px; border-radius:999px; background:#e7f5f1; color:#1a5c51; font-size:.82rem; text-decoration:none}
.related{display:grid; gap:8px; margin-top:18px}
.foot{margin-top:48px; padding:28px 0 120px; border-top:1px solid var(--line); color:var(--muted); font-size:.92rem}
.foot a{color:var(--muted)}
.flinks{display:flex; flex-wrap:wrap; gap:12px}
.age{color:#5a6f69}
.tagcloud{display:flex; flex-wrap:wrap; gap:8px}
@media (max-width:720px){
  .bar{flex-direction:column; align-items:flex-start; padding:10px 0}
  .clinic{padding:28px 0 24px; border-radius:0 0 20px 20px}
  .prose{padding:22px 16px}
}
