/* 无障碍优先 · less is more · 大字 · 高对比 */
:root{
  --scale: 1;
  --fg: #111418;
  --bg: #ffffff;
  --muted: #41484f;
  --line: #c7ccd1;
  --accent: #0b5cab;          /* 与白底对比 ≥ 7:1 */
  --accent-fg: #ffffff;
  --ok-bg: #e7f3ff;
  --warn-bg: #fff4e0;
  --warn-line: #c77700;
  --maxw: 44rem;
}
@media (prefers-color-scheme: dark){
  :root{
    --fg:#f2f4f6; --bg:#11151a; --muted:#c2c9d0; --line:#3a424b;
    --accent:#7fc0ff; --accent-fg:#06121f; --ok-bg:#10283f; --warn-bg:#3a2c10; --warn-line:#e7a93b;
  }
}
*{box-sizing:border-box}
html{
  font-size: calc(20px * var(--scale));     /* 大字基准,随 --scale 缩放 */
  -webkit-text-size-adjust: 100%;
}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height:1.7;
}
.skip-link{
  position:absolute; left:-999px; top:0; background:var(--accent); color:var(--accent-fg);
  padding:.6rem 1rem; z-index:10; border-radius:0 0 .4rem 0;
}
.skip-link:focus{left:0}

/* 大触控目标 + 清晰焦点 */
:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; border-radius:4px; }
button{ min-height:48px; cursor:pointer; }

header.site-head, main, footer.site-foot{
  max-width:var(--maxw); margin-inline:auto; padding:1rem 1.1rem;
}
.site-head{ border-bottom:1px solid var(--line); }
h1{ font-size:1.7rem; margin:.2rem 0 0; }
.tagline{ color:var(--muted); margin:.25rem 0 .75rem; }

.fontctl{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; color:var(--muted); }
.fontctl button{
  font-size:1.05rem; padding:.35rem .8rem; background:var(--bg); color:var(--fg);
  border:2px solid var(--line); border-radius:.5rem; min-height:44px;
}

/* 搜索区:单列、宽松 */
.search{ display:flex; flex-direction:column; gap:.5rem; margin:1.2rem 0; }
.search label{ font-weight:700; font-size:1.15rem; }
.search input{
  font-size:1.3rem; padding:.85rem .9rem; width:100%;
  border:2px solid var(--line); border-radius:.6rem; background:var(--bg); color:var(--fg);
}
.search input:focus{ border-color:var(--accent); }
.hint{ color:var(--muted); font-size:1rem; margin:.1rem 0; }
.search button#go{
  font-size:1.25rem; font-weight:700; padding:.8rem 1rem;
  background:var(--accent); color:var(--accent-fg); border:none; border-radius:.6rem;
}

/* 结果卡片 */
.result{ margin-top:.5rem; }
.card{ border:2px solid var(--line); border-radius:.8rem; padding:1rem 1.1rem; margin:1rem 0; }
.card h2{ font-size:1.45rem; margin:.1rem 0 .2rem; }
.card .sub{ color:var(--muted); margin:0 0 .6rem; }
.block{ margin:.9rem 0; }
.block h3{ font-size:1.15rem; margin:0 0 .3rem; }
.tag{ display:inline-block; font-size:.95rem; padding:.15rem .55rem; border-radius:.5rem; }
.tag.swap{ background:var(--ok-bg); border:1px solid var(--accent); }
.tag.advice{ background:var(--warn-bg); border:1px solid var(--warn-line); }
.saving{ background:var(--ok-bg); border:1px solid var(--accent); border-radius:.6rem; padding:.7rem .9rem; }
.caution{ background:var(--warn-bg); border-left:6px solid var(--warn-line); padding:.7rem .9rem; border-radius:.3rem; }
.detail-btn{
  font-size:1.1rem; padding:.6rem 1rem; background:var(--bg); color:var(--accent);
  border:2px solid var(--accent); border-radius:.6rem; margin-top:.4rem;
}
dl.kv{ margin:.4rem 0 0; }
dl.kv dt{ font-weight:700; margin-top:.7rem; }
dl.kv dd{ margin:.15rem 0 0; }
.notice{ color:var(--muted); }
.error{ background:var(--warn-bg); border:1px solid var(--warn-line); border-radius:.6rem; padding:.9rem 1rem; }

.site-foot{ border-top:1px solid var(--line); color:var(--muted); margin-top:2rem; }
.disclaimer{ font-size:1rem; }
.meta{ font-size:.95rem; }

/* 宣言/公益 */
.pledge{ color:var(--muted); font-size:1rem; margin:.3rem 0 0; }
.pledge a, .links a, .disclaimer a{ color:var(--accent); }
.epigraph{ font-size:1.1rem; font-weight:700; color:var(--fg);
  border-left:6px solid var(--accent); padding:.5rem .9rem; margin:1rem 0 .4rem; background:var(--ok-bg); }
.links{ font-size:1rem; }
blockquote.saving{ margin:1rem 0; }

/* 药名/类别 */
.drug-name{ font-size:2rem; margin:.1rem 0 .1rem; }
.drug-en{ color:var(--muted); margin:0 0 .6rem; }
.klass{ display:inline-block; background:var(--accent); color:var(--accent-fg);
  padding:.1rem .6rem; border-radius:.5rem; font-size:.95rem; font-weight:700; }

/* 价格优先 hero —— 老百姓只看这个 */
.hero{ text-align:center; background:var(--ok-bg); border:2px solid var(--accent);
  border-radius:1rem; padding:1.1rem 1rem 1rem; margin:.6rem 0 1rem; }
.save-big{ font-size:3.2rem; line-height:1.1; font-weight:800; color:#0a7a2f; }
@media (prefers-color-scheme:dark){ .save-big{ color:#5fd98a; } }
.save-amt{ font-size:1.5rem; font-weight:800; color:#0a7a2f; margin-top:.1rem; }
@media (prefers-color-scheme:dark){ .save-amt{ color:#5fd98a; } }
.price-row{ display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center; align-items:center;
  margin:.7rem 0 .3rem; font-size:1.15rem; }
.p-orig{ color:var(--muted); text-decoration:line-through; }
.p-gen{ color:#0a7a2f; font-weight:800; }
@media (prefers-color-scheme:dark){ .p-gen{ color:#5fd98a; } }
.arrow{ color:var(--accent); font-weight:800; }
.hero .src{ font-size:.85rem; color:var(--muted); margin-top:.5rem; line-height:1.6; }
.hero-min{ background:var(--bg); border:1px dashed var(--line); border-radius:.7rem;
  padding:.8rem 1rem; color:var(--muted); margin:.6rem 0 1rem; }

/* 同类小药丸 */
.sibs{ display:flex; flex-wrap:wrap; gap:.5rem; }
a.sib{ display:inline-block; background:var(--warn-bg); border:1px solid var(--warn-line);
  color:var(--fg); text-decoration:none; padding:.4rem .8rem; border-radius:1.2rem; font-size:1.05rem; min-height:40px; }
a.sib:hover{ background:var(--accent); color:var(--accent-fg); }

/* 折叠"废话" */
details.more{ margin:.6rem 0; border-top:1px solid var(--line); padding-top:.5rem; }
details.more summary{ cursor:pointer; color:var(--accent); font-size:1.05rem; min-height:40px; padding:.3rem 0; }
.stub{ background:var(--warn-bg); border:1px solid var(--warn-line); border-radius:.6rem; padding:.7rem .9rem; }
.saving-k{ font-weight:700; }

/* 风险词高亮(红) */
.risk{ color:#b3261e; font-weight:700; }
@media (prefers-color-scheme:dark){ .risk{ color:#ff8a80; } }

/* 首页去省钱页的大按钮 */
.more-nav{ max-width:var(--maxw); margin:1.2rem auto 0; padding:0 1.1rem; }
.big-link{ display:block; text-align:center; background:var(--ok-bg); border:2px solid var(--accent);
  color:var(--accent); font-size:1.2rem; font-weight:700; text-decoration:none;
  padding:1rem; border-radius:.8rem; min-height:52px; }
.big-link:hover{ background:var(--accent); color:var(--accent-fg); }

/* 省钱渠道卡片 */
.sv-card{ max-width:var(--maxw); margin:1rem auto; border:2px solid var(--line); border-radius:.8rem; padding:1rem 1.1rem; }
.sv-card h2{ font-size:1.35rem; margin:.1rem 0 .5rem; }
.sv-card p{ margin:.4rem 0; }
.sv-who{ color:var(--fg); }
.sv-k{ color:var(--accent); }
.sv-amt{ font-size:1.2rem; font-weight:800; color:#0a7a2f; background:var(--ok-bg);
  border-radius:.5rem; padding:.5rem .7rem; }
@media (prefers-color-scheme:dark){ .sv-amt{ color:#5fd98a; } }

/* 省钱筛选器表单 */
#sv-form{ max-width:var(--maxw); margin:0 auto; padding:0 1.1rem; }
.qbox{ border:2px solid var(--line); border-radius:.8rem; padding:.8rem 1rem 1rem; margin:1rem 0; }
.qbox legend{ font-weight:700; font-size:1.15rem; padding:0 .4rem; }
.opt{ display:flex; align-items:center; gap:.6rem; padding:.55rem .2rem; font-size:1.15rem;
  min-height:48px; cursor:pointer; border-bottom:1px solid var(--line); }
.opt:last-child{ border-bottom:none; }
.opt input[type=radio]{ width:1.4rem; height:1.4rem; flex:0 0 auto; accent-color:var(--accent); }
#sv-go{ display:block; width:100%; max-width:var(--maxw); margin:.5rem auto 0;
  font-size:1.25rem; font-weight:700; padding:.9rem 1rem; background:var(--accent);
  color:var(--accent-fg); border:none; border-radius:.7rem; min-height:54px; }
#sv-result{ max-width:var(--maxw); margin:0 auto; padding:0 1.1rem; }

/* 尊重"减少动态效果"偏好:本就无动画,这里兜底 */
@media (prefers-reduced-motion: reduce){ *{ animation:none!important; transition:none!important; } }
