/* CMS 内容的补充样式。site.css 为「拓扑之环」设计稿原样，这里只补设计稿没有覆盖到的部分 */

/* 字体：设计稿的思源黑体是按样稿用字裁剪的子集，CMS 新内容会有子集外的字；正文改用系统黑体，数字、英文仍用 Archivo */
@font-face{font-family:"Archivo";src:url("../fonts/Archivo.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Noto Sans SC",sans-serif;--num:"Archivo","PingFang SC","Microsoft YaHei",sans-serif}

/* 编辑器输出的正文 */
.prose img{max-width:100%;height:auto;border-radius:var(--r-sm)}
.prose p[style*="text-align:center"]{text-align:center}
.prose p[style*="text-align:right"]{text-align:right}
.prose p[style*="text-align:center"] img{display:inline-block;margin:0 auto}
.prose p.caption{font-size:13.5px;color:var(--muted);margin-top:8px;text-indent:0}
.prose.indent p.caption,.prose.indent p[style*="text-align"]{text-indent:0}
.prose h3+p,.prose h4+p{margin-top:.6em}
.prose h4{font-size:17px;font-weight:700;color:var(--ink);margin-top:1.4em}
.prose ul,.prose ol{padding-left:1.6em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin-top:.4em}
.prose a{color:var(--c3-t);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose table{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;line-height:1.7;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;text-indent:0}
.prose table td,.prose table th{padding:10px 14px;border-top:1px solid var(--line);border-left:1px solid var(--line);vertical-align:top;background:#fff}
.prose table tr:first-child td,.prose table tr:first-child th{border-top:0}
.prose table td:first-child,.prose table th:first-child{border-left:0}
.prose table th,.prose table tr:first-child td{background:var(--soft);font-weight:700;color:var(--ink)}
.prose table p{margin:0;text-indent:0}
.tblwrap{overflow-x:auto}

.layout.single{grid-template-columns:minmax(0,1fr)}
.layout.single>article{max-width:900px}

/* 分页（服务器端分页，用链接） */
.pager a,.pager span{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line);font-family:var(--num);font-weight:700;background:#fff}
.pager a:hover{border-color:var(--ink)}
.pager .on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pager .dis{opacity:.35}

/* 扩展字段列表、附件 */
.fvlist{margin-top:28px;padding:22px 24px;background:var(--soft);border-radius:var(--r)}
.fvlist dd a{color:var(--c3-t);word-break:break-all}
.attach{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.attach h5{font-size:14px;color:var(--muted);margin-bottom:8px}
.attach a{display:flex;align-items:center;gap:8px;padding:8px 0;color:var(--ink)}
.attach a:hover{color:var(--c3-t)}
.tag.plain{background:var(--soft);color:var(--muted)}
.ph-img{display:grid;place-items:center;background:var(--soft)}
.ph-img svg{width:60%;height:auto}
.searchbox{display:flex;gap:10px;margin-bottom:24px}
.searchbox input{flex:1;height:48px;border:1px solid var(--line-2);border-radius:999px;padding:0 20px;font-size:16px}
mark{background:var(--c4-l);color:inherit;padding:0 2px;border-radius:3px}

/* 首屏大卡片轮播：第一张学会介绍留在文档流里撑起高度，其余幻灯片叠在上面 */
.t-hero.hslider{padding:0;display:block}
.hslider .hs{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.hslider .hs.on{opacity:1;visibility:visible;z-index:1}
.hslider .hs-intro{position:relative;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:50px 54px 72px}
.hslider .hs-img{display:block;background:var(--ink);color:#fff}
.hslider .hs-img img{width:100%;height:100%;object-fit:cover;transition:transform 6s ease}
.hslider .hs-img.on img{transform:scale(1.04)}
.hslider .cap{position:absolute;left:0;right:0;bottom:0;padding:140px 54px 70px;background:linear-gradient(180deg,rgba(23,20,59,0) 0%,rgba(23,20,59,.55) 40%,rgba(23,20,59,.9) 100%)}
.hslider .cap .k{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.16)}
.hslider .cap h2{font-size:28px;font-weight:900;line-height:1.4;margin-top:12px;max-width:640px;text-wrap:balance}
.hslider .cap .more{display:inline-block;margin-top:14px;font-size:14.5px;font-weight:700;opacity:.9}
.hslider a.hs-img:hover .more{text-decoration:underline;text-underline-offset:4px}
.hs-dots{position:absolute;left:54px;bottom:28px;z-index:3;display:flex;gap:10px;align-items:center}
.hs-dots button{width:10px;height:10px;padding:0;border-radius:999px;background:rgba(23,20,59,.22);transition:width .35s,background .35s}
.hs-dots button:hover{background:rgba(23,20,59,.5)}
.hs-dots button.on{width:30px;background:var(--ink)}
.hslider.dark .hs-dots button{background:rgba(255,255,255,.45)}
.hslider.dark .hs-dots button.on{background:#fff}
.hs-dots button:focus-visible{outline:3px solid var(--c4);outline-offset:3px}
@media (max-width:720px){
  .hslider .hs-intro{padding:30px 24px 60px}
  .hslider .cap{padding:110px 24px 58px}
  .hslider .cap h2{font-size:20px}
  .hs-dots{left:24px;bottom:22px}
}
@media (prefers-reduced-motion:reduce){
  .hslider .hs,.hslider .hs-img img{transition:none}
  .hslider .hs-img.on img{transform:none}
}

/* 学会标志：学会提供的定稿（绿色 CS 图形），替代设计稿中的近似重绘 */
.brand img.logo{width:64px;height:auto;flex:none}
.drawer .brand img.logo{width:48px}
@media (max-width:720px){.brand img.logo{width:50px}}

/* 后台已登录的管理员看到的“编辑此页”（见 template.php editlink()） */
.editthis{position:fixed;left:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:24px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;box-shadow:var(--sh);text-decoration:none}
.editthis:hover{background:var(--c3);color:#fff}
.editthis svg{width:16px;height:16px}
@media print{.editthis{display:none}}
