@charset "utf-8";
/* 安和堂 — 日系小店模板风样式（对标 Template-Party 视觉：顶部 logo+搜索、横向导航、卡片内容、页脚版权） */

:root{
  --ink:#2b2622;
  --ink-soft:#5c534a;
  --paper:#f7f3e8;
  --paper-2:#fffdf6;
  --green:#2f5d50;
  --green-dark:#23473d;
  --brown:#7a5a33;
  --gold:#a8873f;
  --line:#ddd3bd;
  --shadow:0 2px 6px rgba(60,45,25,.10);

  --white:#fff;
  --black:#000;
  --line-gold:#cbbf9f;
  --paper-deep:#f3ecda;
  --brown-deep:#5b3a17;
  --ink-mute:#8a857a;
  --paper-warm:#fdfaf0;
  --ink-dim:#7a6a4e;
  --seal-deep:#b23a2f;
  --ink-faint:#a2957c;
  --forbidden-red:#ff3b30;
  --forbidden-ink:#e8ded2;
  --seal:#a0522d;
  --paper-3:#f2ece0;
  --paper-4:#f4ecda;
  --line-2:#c8b894;

  --green-deep:#1e4036;
  --green-2:#1f5f4e;
  --green-3:#29463d;
  --green-line:#4e8b7a;
  --mint-1:#e9f1ef;
  --mint-2:#d7e6e2;
  --mint-bg:#eef7f2;
  --mint-line:#9ab7a3;
  --seal-ink:#8c2f22;
  --seal-bright:#e0392c;
  --forbidden-line:#b8352b;
  --forbidden-bg-1:#1a1210;
  --forbidden-bg-2:#1c1412;
  --forbidden-panel:#2a0a08;
  --forbidden-mute:#6d5f56;
  --noise-ink:#333;
  --paper-t1:#f2e9d2;
  --paper-t2:#f6efdc;
  --paper-t3:#f3efe0;
  --paper-t4:#faf7ee;
  --paper-t5:#f0ebd8;
  --paper-t6:#efe7d4;
  --line-dash:#b9a97e;
  --line-gold-2:#c3b28a;
  --line-dash-2:#ddd6c2;
  --line-mute:#b9b3a4;
  --frame-gold:#8a6a34;
  --gold-bright:#e8c877;
  --wood-1:#3a2a18;
  --wood-2:#241a0e;
  --brown-1:#4a3a22;
  --brown-2:#6b4a1c;
  --ink-warm:#3b352b;
  --on-green:#e7ddc8;
  --field-dark-line:#4a3529;
  --field-dark-bg:#241c15;
  --field-dark-ink:#e3d9cc;
  --paper-hit:#fbf8ef;
  --paper-gate:#f4f1e8;
  --ink-lock-strong:#6b665b;
  --ink-hint:#a09a8d;
}

*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px}
body{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.9;
  -webkit-text-size-adjust:100%;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}

#container{max-width:1000px;margin:0 auto;background:var(--paper);box-shadow:var(--shadow)}

/* header */
header{
  background:var(--paper-2);
  padding:18px 20px 12px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
  border-bottom:1px solid var(--line);
}
#logo{font-size:0;font-weight:normal;margin:0;flex:0 0 auto}
#logo a{display:inline-block;vertical-align:middle}
.logo-box{
  display:inline-block;vertical-align:middle;
  font-family:"STKaiti","KaiTi","Songti SC",serif;
  font-size:30px;font-weight:700;letter-spacing:6px;color:var(--green-dark);
  border:2px solid var(--green-dark);border-radius:6px;padding:6px 18px;
  background:linear-gradient(180deg,var(--paper-2),var(--paper-deep));
  text-align:center;
}
.logo-box small{display:block;font-size:11px;letter-spacing:2px;color:var(--brown);font-weight:400;margin-top:2px}

#header-box form{display:flex;gap:6px}
#search-input{
  width:190px;padding:7px 10px;border:1px solid var(--line);border-radius:3px;
  background:var(--white);font-size:13px;font-family:inherit;color:var(--ink);
}
#search-input:focus{outline:none;border-color:var(--green)}
#header-box button{
  padding:7px 16px;background:var(--green);color:var(--white);border:none;border-radius:3px;
  font-size:13px;cursor:pointer;font-family:inherit;letter-spacing:1px;
}
#header-box button:hover{background:var(--green-dark)}

/* menubar */
#menubar{background:var(--green-dark)}
#menubar ul{list-style:none;display:flex;flex-wrap:wrap;max-width:1000px;margin:0 auto}
#menubar li{flex:1 1 auto;min-width:120px}
#menubar a{
  display:block;padding:12px 8px;color:var(--paper-3);text-align:center;font-size:14px;
  letter-spacing:2px;border-right:1px solid rgba(255,255,255,.12);
}
#menubar li:last-child a{border-right:none}
#menubar a:hover{background:var(--green);text-decoration:none}

#contents{padding:22px 22px 40px}
main section{
  background:var(--paper-2);border:1px solid var(--line);border-radius:6px;
  padding:20px 22px;margin-bottom:22px;box-shadow:var(--shadow);
}
main section > h2{
  font-family:"STKaiti","KaiTi",serif;font-size:21px;color:var(--green-dark);
  border-bottom:2px solid var(--line);padding-bottom:8px;margin-bottom:14px;letter-spacing:2px;
}
main section > h3{font-size:16px;color:var(--brown);margin:16px 0 8px;letter-spacing:1px}
main p{margin-bottom:10px;font-size:15px}
main ul,main ol{margin:0 0 12px 22px}
main li{margin-bottom:5px;font-size:15px}
.emphasized{font-weight:700;color:var(--brown)}
small.note{display:block;color:var(--ink-soft);font-size:12.5px}

/* 公告列表 */
.news-list{margin:0}
.news-list dt{font-weight:700;color:var(--brown);font-size:14px;margin-top:12px}
.news-list dd{margin:2px 0 0 0;font-size:14.5px}

/* 卡片/菜单表 */
.dish-grid{display:flex;flex-wrap:wrap;gap:10px}
.dish-card{
  flex:1 1 220px;border:1px solid var(--line);border-radius:5px;padding:12px 14px;background:var(--paper-2);
}
.dish-card h4{font-size:15px;color:var(--green-dark);margin-bottom:4px}
.dish-card p{font-size:13px;color:var(--ink-soft);margin:0}

/* 按钮/链接块 */
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.btn{
  display:inline-block;padding:9px 18px;background:var(--green);color:var(--white);border-radius:3px;
  font-size:14px;letter-spacing:1px;
}
.btn:hover{background:var(--green-dark);text-decoration:none}
.btn-ghost{background:transparent;border:1px solid var(--green);color:var(--green)}

/* 图片位（CSS 手作插画容器） */

/* ===== 文档式线索（宣纸单据） ===== */
.doc-paper{
  background:
    repeating-linear-gradient(0deg,rgba(0,0,0,.014) 0 2px,transparent 2px 4px),
    linear-gradient(160deg,var(--paper-warm),var(--paper-4));
  border:1px solid var(--line-gold);border-radius:4px;padding:18px 20px;margin:16px 0;
  box-shadow:inset 0 0 30px rgba(180,150,90,.12);
  font-size:14px;
}
.doc-paper .doc-title{
  font-family:"STKaiti","KaiTi",serif;font-size:19px;text-align:center;letter-spacing:6px;
  color:var(--brown-deep);border-bottom:1px solid var(--line-gold);padding-bottom:8px;margin-bottom:12px;
}
.doc-paper .doc-sub{text-align:center;font-size:12.5px;color:var(--ink-dim);margin-top:-6px;margin-bottom:12px}
.doc-paper table{width:100%;border-collapse:collapse;font-size:13px;background:rgba(255,255,255,.5)}
.doc-paper th,.doc-paper td{border:1px solid var(--line-2);padding:6px 8px;text-align:left;vertical-align:top}
.doc-paper th{background:rgba(200,175,120,.22);font-weight:700;color:var(--brown-deep);white-space:nowrap}
.doc-paper .stamp{
  float:right;border:2px solid var(--seal-deep);color:var(--seal-deep);border-radius:4px;padding:4px 10px;
  font-family:"STKaiti",serif;font-size:12px;letter-spacing:2px;transform:rotate(-6deg);
  opacity:.85;margin:8px 0 0 10px;
}
.doc-paper .sign{text-align:right;font-size:12.5px;color:var(--ink-dim);margin-top:12px}

/* 药方（竖排右起感） */
.prescription{
  font-family:"STKaiti","KaiTi",serif;background:linear-gradient(160deg,var(--paper-warm),var(--paper-t1));
  border:1px dashed var(--line-dash);border-radius:4px;padding:18px 20px;margin:16px 0;
}
.prescription .rx-head{text-align:center;font-size:18px;letter-spacing:5px;color:var(--brown-deep);margin-bottom:10px}
.prescription .rx-row{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px}
.prescription .rx-row span{white-space:nowrap}
.prescription .rx-jun{color:var(--seal-ink);font-weight:700}

/* 古籍排版 */
.oldbook{
  font-family:"STKaiti","KaiTi","Songti SC",serif;background:var(--paper-t2);
  border:1px solid var(--line-gold-2);border-radius:3px;padding:20px 24px;margin:16px 0;
  line-height:2.1;font-size:15.5px;color:var(--brown-1);
  box-shadow:inset 0 0 40px rgba(160,130,70,.14);
}
.oldbook .ob-title{text-align:center;font-size:18px;letter-spacing:4px;margin-bottom:12px;color:var(--brown-2)}

/* 传单 */
.flyer{
  background:linear-gradient(170deg,var(--mint-1),var(--mint-2));border:2px solid var(--green-line);border-radius:4px;
  padding:18px 20px;margin:16px 0;text-align:center;
}
.flyer .flyer-title{font-family:"STKaiti",serif;font-size:22px;color:var(--green-2);letter-spacing:4px}
.flyer .flyer-body{font-size:14px;color:var(--green-3);margin-top:8px;line-height:2}

/* 竖排装饰（药斗/匾额） */
.plaque{
  font-family:"STKaiti",serif;background:linear-gradient(180deg,var(--wood-1),var(--wood-2));color:var(--gold-bright);
  border:3px solid var(--frame-gold);border-radius:6px;padding:14px;text-align:center;
  font-size:24px;letter-spacing:12px;margin:14px 0;
}

/* 页脚 */
footer{
  background:var(--paper-t6);border-top:1px solid var(--line);padding:16px 20px;
  font-size:12.5px;color:var(--ink-soft);text-align:center;
}
footer .first-line{display:block;margin-bottom:3px}
footer .second-line{display:block}

.pagetop{position:fixed;right:16px;bottom:16px}
.pagetop a{
  display:block;width:42px;height:42px;line-height:42px;text-align:center;border-radius:50%;
  background:var(--green);color:var(--white);font-size:18px;box-shadow:var(--shadow);
}
.pagetop a:hover{background:var(--green-dark);text-decoration:none}

.pr{text-align:center;font-size:11px;color:var(--ink-faint);padding:8px 0 16px}
.pr a{color:var(--ink-faint)}

/* 隐藏链接（彩蛋用，视觉与普通文字一致） */
.hidden-link{color:inherit}

/* ===== 站内搜索：结果页与全站一致皮肤（原为结果页内联样式，已并入并 token 化） ===== */
.search-results-container{
  max-width:760px;margin:30px auto;padding:22px 26px;background:var(--paper-2);
  border:1px solid var(--line);border-radius:6px;text-align:left;box-shadow:var(--shadow);
}
.search-results-container h2{text-align:center;margin-bottom:16px;font-size:19px;color:var(--green-dark);letter-spacing:1px}
.search-query{margin:-4px 0 16px;text-align:center;font-size:13px;color:var(--ink-soft)}
.search-query b{color:var(--green-dark)}
.search-hit{display:block;margin:8px 0;padding:10px 14px;border:1px solid var(--line-gold);border-left:4px solid var(--green);
  background:var(--paper-hit);border-radius:4px;color:var(--green-dark);text-decoration:none;max-width:46em;line-height:1.5}
.search-hit:hover{background:var(--paper-t3);text-decoration:none}
.search-status{padding:16px 4px;font-size:14px;color:var(--ink-soft);text-align:center}
.search-status .dots{display:inline-block;color:var(--green);animation:wb-blink 1s steps(2,start) infinite}
.search-back{margin-top:20px;text-align:center}
.search-back a{color:var(--green)}
.gate-locked{margin:14px 0;padding:14px 16px;border:1px dashed var(--line-mute);background:var(--paper-gate);border-radius:4px;
  color:var(--ink-mute);font-size:14.5px;line-height:1.8;max-width:46em}
.gate-locked b{color:var(--ink-lock-strong)}
.gate-locked .gate-tip{display:block;margin-top:6px;font-size:13px;color:var(--ink-hint)}
.hidden-text-container{margin:14px 0;text-align:center}
.hidden-text{
  display:inline-block;background:var(--black);color:var(--black);padding:2px 5px;cursor:text;user-select:text;
}
.hidden-text::selection{color:var(--forbidden-red);background:var(--noise-ink)}
.visible-text{display:inline-block;color:var(--seal-bright);padding:2px 5px;text-align:center}
@keyframes wb-blink{50%{opacity:.2}}

/* 里世界（禁词命中） */
.body-forbidden{background:var(--forbidden-bg-1) !important;color:var(--forbidden-ink) !important}
.container-forbidden{background:var(--forbidden-bg-2) !important;color:var(--forbidden-ink) !important}
.search-container-forbidden{border-color:var(--forbidden-line) !important;background:var(--forbidden-panel) !important;position:relative;z-index:1}
.search-container-forbidden h2,
.search-container-forbidden a,
.search-container-forbidden p:not(.hidden-text){color:var(--forbidden-red) !important}
.body-forbidden footer,.body-forbidden footer small{color:var(--forbidden-mute) !important;background:transparent !important}
/* 里世界质感：暗红噪点 + 四角压暗，强化"被禁"的压迫感 */
body.body-forbidden{position:relative}
body.body-forbidden::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;opacity:.10;
}
body.body-forbidden::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(0,0,0,0) 38%,rgba(0,0,0,.6) 100%);
}
body.body-forbidden .search-container-forbidden{position:relative;z-index:1}

/* 响应式 */
@media (max-width:768px){
  header{flex-direction:column;align-items:stretch}
  #logo{align-self:center;margin-bottom:6px}
  /* 搜索框整栏宽，但提交按钮不可被压缩、不折行。
     原写法只给了 #search-input{width:100%}：flex 基准占满整栏后，
     按钮按默认 flex-shrink:1 收缩，而中文可在任意字间断行 ⇒
     按钮的 min-content 只有「一」个字宽，于是被压到折成两行
     （桌面宽度有余量不触发，真机上必现）。
     min-width:0 让输入框能正常让位，按钮侧 flex:0 0 auto + nowrap 保住单行。 */
  #search-input{width:100%;min-width:0}
  #header-box button{flex:0 0 auto;white-space:nowrap}
  #menubar li{flex:1 1 50%;min-width:0}
  #contents{padding:16px 14px 30px}
  .logo-box{font-size:24px;letter-spacing:4px}
  .doctor-card{flex:1 1 100%;max-width:100%}
  .welcome{padding:16px;margin:0 0 16px}
  .welcome .welcome-title{font-size:18px}
  .photo{padding:6px}
}

/* 照片 / 氛围图（统一相框，提升全站图文一致感） */
.photo{
  margin:20px 0;text-align:center;
  border:1px solid var(--line);border-radius:6px;padding:8px;
  background:var(--paper-2);box-shadow:var(--shadow);
}
.photo img{
  width:100%;max-width:720px;margin:0 auto;border-radius:4px;display:block;
  box-shadow:0 3px 10px rgba(50,35,20,.28);
}
.photo.portrait img{max-width:380px}
.photo.hero img{max-width:100%}
.photo figcaption{margin-top:8px;font-size:12.5px;color:var(--ink-soft);letter-spacing:1px}
/* 扫描件/老旧纸质道具图：轻 sepia + 纸边，强化实物感 */
.photo.scan img{filter:sepia(.08) contrast(.96);border:1px solid var(--line-gold)}

/* 首页欢迎语（品牌感导语区） */
.welcome{
  background:linear-gradient(135deg,var(--green),var(--green-dark));
  color:var(--paper-deep);border-radius:8px;padding:18px 22px;margin:0 0 22px;
  box-shadow:var(--shadow);
}
.welcome .welcome-title{font-family:"STKaiti","KaiTi",serif;font-size:20px;letter-spacing:3px;margin-bottom:6px}
.welcome p{color:var(--on-green);font-size:14px;margin-bottom:10px}
.welcome .chips{display:flex;flex-wrap:wrap;gap:8px}
.welcome .chip{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);
  border-radius:999px;padding:4px 12px;font-size:12.5px;color:var(--paper-deep);
}

/* 医师名片（头像 + 简介合一，避免重复罗列） */
.doctor-grid{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0;justify-content:center}
.doctor-card{
  flex:1 1 200px;max-width:260px;overflow:hidden;
  border:1px solid var(--line);border-radius:8px;background:var(--paper-2);box-shadow:var(--shadow);
}
.doctor-card .photo{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.doctor-card .photo img{width:100%;height:188px;object-fit:cover}
.doctor-card .photo figcaption{margin-top:0;padding:7px 8px;font-size:12px;letter-spacing:1px;background:var(--paper-deep);color:var(--brown)}
.doctor-card .doctor-info{padding:12px 14px}
.doctor-card .doctor-info h4{font-size:16px;color:var(--green-dark);margin-bottom:6px}
.doctor-card .doctor-info p{font-size:13.5px;color:var(--ink-soft);margin-bottom:6px}
.doctor-card .doctor-meta{color:var(--brown);font-size:12.5px}

/* 移动端宽表横向滚动 */
.doc-paper{overflow-x:auto;-webkit-overflow-scrolling:touch}
.doc-paper table{min-width:560px}
.doc-paper::-webkit-scrollbar{height:6px}
.doc-paper::-webkit-scrollbar-thumb{background:var(--line-gold);border-radius:3px}
/* 溢出时右缘暗示 + 滑动提示（滑到底淡出），提升小屏可发现性 */
.doc-paper.is-scrollable{
  box-shadow:inset -18px 0 16px -16px rgba(140,110,60,.45), inset 0 0 30px rgba(180,150,90,.12);
}
.scroll-hint{display:none;margin:-8px 0 18px;text-align:center;font-size:12.5px;letter-spacing:1px;color:var(--ink-faint)}
.doc-paper.is-scrollable + .scroll-hint{display:block}
.scroll-hint.dim{opacity:.4}

/* 进度提示（搜索页与全局） */
#progress-bar{
  position:fixed;right:10px;bottom:60px;background:rgba(47,93,80,.92);color:var(--white);
  font-size:12px;padding:6px 10px;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.25);
  z-index:1000;cursor:pointer;display:none
}
#progress-bar.show{display:block}

/* 全局提示气泡 toast（替代原生 alert） */
#wb-toast{
  position:fixed;left:50%;bottom:86px;transform:translateX(-50%) translateY(12px);
  background:rgba(43,38,34,.95);color:var(--paper);font-size:13.5px;line-height:1.6;
  padding:10px 18px;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.3);
  z-index:2000;max-width:82vw;text-align:center;opacity:0;pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
#wb-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* 图片灯箱（页内模态） */
#wb-lightbox{
  position:fixed;inset:0;z-index:3000;display:none;
  background:rgba(20,15,12,.9);align-items:center;justify-content:center;padding:24px;
}
#wb-lightbox.show{display:flex}
#wb-lightbox .wb-lightbox-inner{max-width:92vw;max-height:92vh}
#wb-lightbox img{max-width:92vw;max-height:92vh;border-radius:6px;box-shadow:0 8px 30px rgba(0,0,0,.5)}

/* 图片淡入（纯 CSS，无 JS 也可正常显示） */
@keyframes wb-fade{from{opacity:0}to{opacity:1}}
.photo img{animation:wb-fade .5s ease both}
@keyframes wb-kenburns{from{transform:scale(1.05)}to{transform:scale(1)}}
/* 内容错峰淡入：纯 CSS，不依赖 JS、不隐藏内容（打印/降级时照常可见） */
@keyframes wb-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: no-preference){
  main section{animation:wb-rise .5s ease both}
  main section:nth-of-type(2){animation-delay:.06s}
  main section:nth-of-type(3){animation-delay:.12s}
  main section:nth-of-type(4){animation-delay:.18s}
  main section:nth-of-type(n+5){animation-delay:.22s}
  .photo.hero img{animation:wb-fade .5s ease both, wb-kenburns 20s ease-out both}
}
.search-progress{
  background:var(--mint-bg);border:1px dashed var(--mint-line);border-radius:4px;padding:10px 14px;
  margin-bottom:16px;font-size:13px;color:var(--green);text-align:center
}

/* ===== 续玩横幅（序章/首页顶部） ===== */
.wb-resume{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;
  margin:0 0 18px;padding:12px 16px;border:1px solid var(--line-gold);border-left:5px solid var(--green);
  background:var(--paper-t3);border-radius:4px;font-size:14px
}
.wb-resume-tt{color:var(--green-dark);font-weight:bold}
.wb-resume-go{color:var(--green-dark);text-decoration:underline;font-weight:bold}
.wb-resume-go:hover{color:var(--green-deep)}
.wb-resume-reset{margin-left:auto;background:none;border:1px solid var(--line-mute);color:var(--ink-mute);
  padding:4px 10px;border-radius:4px;font-size:12.5px;cursor:pointer}
.wb-resume-reset:hover{border-color:var(--seal);color:var(--seal)}

/* ===== 线索册面板（替代原“回首页”角标） ===== */
#wb-cluebook{
  position:fixed;inset:0;z-index:2600;display:none;align-items:center;justify-content:center;
  background:rgba(30,25,20,.55);padding:20px
}
#wb-cluebook.show{display:flex}
.wb-cluebox{
  width:min(560px,94vw);max-height:82vh;overflow:auto;background:var(--paper-t4);color:var(--ink-warm);
  border:1px solid var(--line-gold);border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.35);
  padding:20px 22px;line-height:1.7
}
.wb-cluebox h3{margin:0 0 4px;color:var(--green-dark);font-size:19px}
.wb-clue-sub{margin:0 0 12px;font-size:13px;color:var(--ink-mute)}
.wb-clue-list{list-style:none;margin:0 0 14px;padding:0}
.wb-clue-list li{margin:0 0 2px;border-bottom:1px dashed var(--line-dash-2)}
.wb-clue-link{display:block;padding:8px 6px;color:var(--green-dark);text-decoration:none;font-size:14.5px}
.wb-clue-link:hover{background:var(--paper-t5);text-decoration:none}
.wb-clue-empty{color:var(--ink-mute);font-size:14px;padding:8px 6px;border-bottom:none}
.wb-clue-actions{text-align:right;margin:0}
.wb-clue-actions .btn{background:var(--green);color:var(--white);border:none;padding:7px 18px;border-radius:4px;cursor:pointer;font-size:14px}
.wb-clue-actions .btn:hover{background:var(--green-dark)}


/* ===== 可读性优化：行宽 / 字号 / 行距 / 留白 =====
   原正文区宽约 912px、字号 15px ≈ 61 字/行，远超中文舒适区（30~45 字）。
   现收窄容器 + 限制正文行宽至 46em（约 46 字/行）+ 正文 15→16px。 */
body{letter-spacing:.02em}
#container{max-width:900px}
#menubar ul{max-width:900px}

main section > h2{margin-bottom:16px}
main section > h3{font-size:17px;margin:22px 0 10px}

main p{font-size:16px;max-width:46em;margin-bottom:.9em}
main li{font-size:16px;max-width:46em;margin-bottom:6px}
main ul,main ol{margin-bottom:14px}

/* 单据/古籍等文档块：略小于正文但比原来大，行距放宽 */
.doc-paper{font-size:15px;line-height:1.85}
.doc-paper table{font-size:14px}
.doc-paper th,.doc-paper td{padding:7px 9px;line-height:1.8}

.news-list dd{font-size:15px;max-width:46em}
small.note{font-size:13px}
footer{font-size:13px}
.pr{font-size:12px}
.photo figcaption{font-size:13px}
.doctor-card .doctor-info p{font-size:14px}
.dish-card p{font-size:13.5px}

/* 居中/装饰性区块不限制行宽，避免右侧出现突兀空白 */
main .welcome p,main .flyer p,main .talisman p,main .plaque{max-width:none}

@media (max-width:768px){
  main section{padding:16px 14px}
  main p,main li,main dd{max-width:none}
  .doc-paper{padding:14px 14px}
}

/* ===== 工具类（替代正文内联样式，保证全站一致） ===== */
.mt-s{margin-top:10px}
.mt-14{margin-top:14px}
.mt-m{margin-top:16px}
.mt-l{margin-top:18px}
.mt-xl{margin-top:22px}
.mt-xxl{margin-top:24px}
.ta-c{text-align:center}
.fs-13{font-size:13px}
.fs-17{font-size:17px}
.fs-18{font-size:18px}
.c-brown-deep{color:var(--brown-deep)}
.c-ink-dim{color:var(--ink-dim)}
.mw-360{max-width:360px}
.field{width:100%;padding:8px;border:1px solid var(--line);border-radius:3px}
.field-inline{width:180px;padding:8px;border:1px solid var(--line);border-radius:3px}
.field-dark{width:200px;padding:7px 10px;border:1px solid var(--field-dark-line);background:var(--field-dark-bg);color:var(--field-dark-ink);border-radius:3px}

/* ===== 无障碍 ===== */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--green);outline-offset:2px
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important
  }
}
