/* Hallmark · v2.0.0 · redesign: polish · genre: modern-minimal · page: index (/)
   built: the project（医药研发合规观察设计系统，tokens 见下方 :root） · 2026-10-27
   critique: 看板指标格在 TMF 隐藏后留空洞；全站无 :focus-visible 焦点环；.btn.accent 象牙字对比度 3.99:1 未过 4.5；Hero 导语末字孤行；暗带条目文字偏灰。
   waive: 19 中文破折号为规范标点 · 38i/38iii Hero 强调行系本站签名式（一站闭环，em 非斜体、全页一次） · 54/67 kicker 标签为全站品牌语言，polish 不动，留全站深度 · 63 箭头链接为全站 chrome 语言，同上 · 48 颜色字面量存量属系统层，留 restyle 轮，本轮新增样式只用 token · 24b 间距存量同理 · 34 的 .clause-drawer 100vw 属法规页选择器，超出首页范围 · 39a 输入框边框变色为辅助线索，焦点环已由全局 :focus-visible 补齐 */
/* 医药研发合规观察 — 商业化专业设计系统
   取向：暖象牙底、墨色字、陶土强调色；衬线标题、无衬线正文；发丝线分隔、克制阴影、高密度溯源标签。 */
:root{
  --bg:#F6F4EE;
  --bg-soft:#EFECE3;
  --surface:#FDFCFA;
  --ink:#1B1A17;
  --ink-2:#3E3B35;
  --muted:#6E695C;
  --faint:#8A8471;
  --accent:#BC5837;
  --accent-deep:#9A4527;
  --accent-soft:#FBF1EA;
  --accent-border:#E4C4B2;
  --ok:#2B5B3C;
  --ok-bg:#ECF4EE;
  --ok-border:#C4DEC9;
  --warn:#8A5818;
  --warn-bg:#FCF4E6;
  --warn-border:#E6D0A8;
  --line:#E3DDCF;
  --line-soft:#ECE8DC;
  --dark:#201D19;
  --dark-2:#2A2721;
  --ivory:#F3EFE6;
  --ivory-dim:#B9B2A2;
  --radius:14px;
  --radius-lg:20px;
  --shadow-sm:0 2px 10px rgba(27,26,23,.04);
  --shadow-md:0 8px 28px rgba(27,26,23,.07);
  --serif:"Noto Serif CJK SC","Source Han Serif SC","Songti SC","STSong",serif;
  --sans:-apple-system,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;
  --mono:"SF Mono",Consolas,"Noto Sans Mono CJK SC",monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased}
a{color:var(--accent-deep);text-decoration:none;transition:color .15s}
a:hover{text-decoration:underline}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
::selection{background:#EBD5C8}

/* ---------- 顶部通告条 ---------- */
.topbar{background:var(--dark);color:var(--ivory-dim);font-size:12.5px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar b{color:var(--ivory);font-weight:600}
.topbar a{color:#E9A48A;font-weight:600}
.topbar .tb-meta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.topbar .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px;vertical-align:1px}

/* ---------- 页眉与全局导航 ---------- */
header.site{position:sticky;top:0;background:rgba(246,244,238,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:40}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.brand-box{display:flex;align-items:center;gap:12px}
.logo{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:19.5px;letter-spacing:.02em;white-space:nowrap}
.logo:hover{text-decoration:none}
.logo span{color:var(--accent)}
.brand-badge{font-size:11.5px;color:var(--accent-deep);background:var(--accent-soft);border:1px solid var(--accent-border);padding:2px 9px;border-radius:999px;font-weight:600;letter-spacing:.03em;white-space:nowrap}
nav.main-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
nav.main-nav a{color:var(--ink-2);font-size:14.5px;letter-spacing:.01em;padding:4px 0;position:relative;white-space:nowrap;font-weight:500}
nav.main-nav a:hover{color:var(--ink);text-decoration:none}
nav.main-nav a.on{color:var(--accent-deep);font-weight:600}
nav.main-nav a.on::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--accent);border-radius:2px}
.nav-cta{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:var(--ivory)!important;padding:7px 16px!important;border-radius:999px;font-size:13.5px!important;font-weight:600!important;border:1px solid var(--ink);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;text-decoration:none!important}
.nav-cta:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#FFF7F0!important}

/* ---------- 通用排版与按钮 ---------- */
.eyebrow{font-size:12.5px;letter-spacing:.05em;color:var(--accent);font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.eyebrow::before{content:"";display:inline-block;width:18px;height:1.5px;background:var(--accent)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;color:var(--ink);letter-spacing:.01em}
h2{font-size:30px;line-height:1.35;margin-bottom:10px}
.sub{color:var(--muted);max-width:780px;margin-bottom:28px;font-size:16.2px;line-height:1.8}
section{padding:68px 0}
section.tight{padding-top:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:var(--ivory);padding:12px 26px;border-radius:999px;font-weight:600;font-size:14.5px;letter-spacing:.02em;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;border:1px solid transparent;cursor:pointer;font-family:var(--sans);line-height:1.4}
.btn:hover{background:var(--dark-2);text-decoration:none;color:var(--ivory)}
.btn.accent{background:var(--accent-deep);color:#FFF7F0}
.btn.accent:hover{background:var(--accent-deep);color:#FFF7F0}
.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid #CFC8B6}
.btn.ghost:hover{border-color:var(--ink);background:var(--bg-soft);text-decoration:none}
.btn.sm{padding:7px 15px;font-size:13px}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hidden{display:none!important}

/* ---------- 首屏 Hero ---------- */
.hero{padding:72px 0 64px;background:linear-gradient(180deg,rgba(239,236,227,.55) 0%,rgba(246,244,238,0) 100%)}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:42px;align-items:start}
.hero h1{font-size:44px;line-height:1.26;max-width:780px;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero .lead{font-size:17.2px;color:var(--ink-2);margin:0 0 28px;max-width:690px;line-height:1.85}
.hero .note{margin-top:24px;font-size:13px;color:var(--muted);letter-spacing:.02em;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.hero .note span{display:inline-flex;align-items:center;gap:5px}

/* 首屏右侧核心资产与溯源看板 */
.hero-board{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 28px;box-shadow:var(--shadow-md)}
.hero-board .hb-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line-soft);margin-bottom:18px}
.hero-board .hb-title{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink);white-space:nowrap}
.hero-board .hb-status{font-size:11.5px;color:var(--ok);background:var(--ok-bg);border:1px solid var(--ok-border);padding:2px 9px;border-radius:999px;font-weight:600;white-space:nowrap}
.hb-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.hb-metric{background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px;display:block;color:inherit;transition:border-color .15s,transform .15s}
.hb-metric:hover{border-color:var(--accent);transform:translateY(-1px);text-decoration:none}
.hb-metric b{font-family:var(--serif);font-size:25px;color:var(--ink);display:block;line-height:1.2}
.hb-metric b small{font-size:13px;color:var(--accent);font-weight:600;margin-left:3px}
.hb-metric span{font-size:13px;color:var(--muted);display:block;margin-top:4px}
.hb-trace{background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:12px;padding:13px 15px;font-size:13px;color:var(--ink-2);line-height:1.65}
.hb-trace strong{color:var(--accent-deep)}

/* ---------- 首页搜索与快捷入口 ---------- */
.herosearch{margin-top:26px;max-width:690px}
.herosearch form{display:flex;gap:10px}
.herosearch input{flex:1;padding:15px 22px;border:1px solid var(--line);border-radius:999px;font-size:16px;background:var(--surface);font-family:var(--sans);color:var(--ink);box-shadow:var(--shadow-sm)}
.herosearch input:focus{outline:none;border-color:var(--accent)}
.herosearch button{border:0;cursor:pointer;white-space:nowrap}
.hotkeys{margin-top:12px;font-size:13.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.hotkeys a{color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line);padding:2px 10px;border-radius:999px;font-size:12.8px;transition:background-color .15s,border-color .15s,color .15s}
.hotkeys a:hover{color:var(--accent-deep);border-color:var(--accent-border);background:var(--accent-soft);text-decoration:none}

/* ---------- 卡片与通用栅格 ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;flex-direction:column;justify-content:space-between}
.card:hover{border-color:#CDBFA9;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.card h3{font-size:19.5px;margin-bottom:8px}
.card p{color:var(--muted);font-size:14.8px;line-height:1.78}
.card .more{margin-top:18px;font-size:14px;font-weight:600;padding-top:14px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center}
.kicker{font-size:12px;letter-spacing:.05em;color:var(--accent);font-weight:600;margin-bottom:10px}

/* ---------- AI-Skill 商业工具包卡片 ---------- */
.suite-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative}
.suite-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.suite-card.flagship{background:linear-gradient(145deg,#24201C 0%,#1B1A17 100%);color:var(--ivory);border-color:#3A342C}
.suite-card.flagship h3,.suite-card.flagship .suite-en{color:var(--ivory)}
.suite-card.flagship p{color:var(--ivory-dim)}
.suite-card.flagship .suite-list li{color:var(--ivory);border-bottom-color:rgba(255,255,255,.08)}
.suite-card.flagship .suite-foot{border-top-color:rgba(255,255,255,.1)}
.suite-badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 11px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent-border);margin-bottom:12px;align-self:flex-start}
.suite-card.flagship .suite-badge{background:var(--accent-deep);color:#FFF7F0;border-color:var(--accent-deep)}
.suite-en{font-size:12.5px;color:var(--faint);margin-bottom:10px;display:block;font-family:var(--sans)}
.suite-target{font-size:13px;color:var(--ink-2);background:var(--bg-soft);border-radius:8px;padding:7px 11px;margin:12px 0;line-height:1.55}
.suite-card.flagship .suite-target{background:rgba(255,255,255,.06);color:var(--ivory-dim)}
.suite-list{list-style:none;margin:10px 0 16px}
.suite-list li{font-size:13.8px;color:var(--ink-2);padding:6px 0 6px 18px;position:relative;border-bottom:1px dashed var(--line-soft)}
.suite-list li:last-child{border-bottom:0}
.suite-list li::before{content:"✓";position:absolute;left:0;top:6px;color:var(--accent);font-weight:700;font-size:12px}
.suite-skills-preview{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.suite-foot{padding-top:14px;border-top:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}

/* ---------- 监管动态与 Skill 联动时间线 ---------- */
.timeline{border-top:1px solid var(--line)}
.tl-row{display:grid;grid-template-columns:132px 1fr auto;gap:22px;padding:22px 8px;border-bottom:1px solid var(--line);align-items:start;transition:background .15s}
.tl-row:hover{background:rgba(253,252,250,.7)}
.tl-row .d{font-family:var(--serif);color:var(--accent);font-size:15px;font-weight:600;white-space:nowrap}
.tl-row .d small{display:block;font-family:var(--sans);font-size:12px;color:var(--faint);font-weight:400;margin-top:2px}
.tl-row .t{font-size:17.5px;color:var(--ink);font-weight:600;font-family:var(--serif);line-height:1.4}
.tl-row .desc{color:var(--muted);font-size:14.6px;margin-top:5px;font-weight:400;font-family:var(--sans);line-height:1.75}
.tl-row .tl-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:10px}
.tl-row .src-box{text-align:right;min-width:140px}
.tl-row .src{font-size:12.5px;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line);padding:3px 10px;border-radius:999px;display:inline-block;white-space:nowrap}

/* ---------- 徽章与溯源胶囊 ---------- */
.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;border-radius:6px;padding:2px 9px;border:1px solid var(--line);color:var(--ink-2);background:var(--bg-soft);white-space:nowrap;line-height:1.5;font-weight:500}
.pill.acc{border-color:var(--accent-border);color:var(--accent-deep);background:var(--accent-soft);font-weight:600}
.pill.acc:hover{background:#F5E2D3;text-decoration:none}
.pill.ok{border-color:var(--ok-border);color:var(--ok);background:var(--ok-bg)}
.pill.warn{border-color:var(--warn-border);color:var(--warn);background:var(--warn-bg)}
.pill.dark{background:var(--ink);color:var(--ivory);border-color:var(--ink)}

/* ---------- 阶段框架 ---------- */
.framework{border-top:1px solid var(--line);background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);overflow:hidden}
.fw-row{display:grid;grid-template-columns:64px 220px 1fr auto;gap:18px;padding:18px 24px;border-bottom:1px solid var(--line-soft);align-items:center;transition:background .15s}
.fw-row:last-child{border-bottom:0}
.fw-row:hover{background:var(--bg-soft)}
.fw-row .no{font-family:var(--serif);color:var(--accent);font-size:15px;font-weight:700}
.fw-row .name{font-family:var(--serif);font-size:17.5px;font-weight:600;color:var(--ink)}
.fw-row .desc{color:var(--muted);font-size:14.5px}
.fw-row .fw-link{font-size:13.5px;font-weight:600;white-space:nowrap}

/* ---------- 标准（深色专业背书区） ---------- */
.darkband{background:var(--dark);color:var(--ivory);border-radius:var(--radius-lg);padding:48px 50px;box-shadow:var(--shadow-md)}
.darkband h2{color:var(--ivory)}
.darkband .sub{color:var(--ivory-dim)}
.std-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px 30px;margin-top:12px}
.std h3{color:var(--ivory);font-size:17.5px;margin-bottom:8px}
.std h3::before{content:"";display:block;width:28px;height:2px;background:var(--accent);margin-bottom:12px}
.std p{color:var(--ivory-dim);font-size:14.2px;line-height:1.8}

/* ---------- 交互式核查工作台 / 演示 ---------- */
.workbench{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:visible;box-shadow:var(--shadow-sm)}
.wb-tabs{display:flex;border-bottom:1px solid var(--line);background:var(--bg-soft);overflow-x:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.wb-tab{padding:14px 22px;font-size:14px;font-weight:600;color:var(--muted);border:0;background:transparent;cursor:pointer;border-right:1px solid var(--line-soft);white-space:nowrap;font-family:var(--sans);transition:color .15s,background-color .15s}
.wb-tab:hover{color:var(--ink);background:rgba(255,255,255,.5)}
.wb-tab.on{background:var(--surface);color:var(--accent-deep);border-bottom:2px solid var(--accent)}
.wb-body{padding:28px 30px;display:grid;grid-template-columns:1fr 1.25fr;gap:26px;align-items:start}
.wb-pane-title{font-size:12px;letter-spacing:.05em;color:var(--accent);font-weight:700;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.wb-input-box{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:18px 20px;font-size:14.5px;color:var(--ink-2);line-height:1.8}
.wb-output-box{background:var(--dark);color:var(--ivory);border-radius:12px;padding:20px 22px;font-size:13.8px;line-height:1.8;font-family:var(--sans);max-height:420px;overflow-y:auto}
.wb-output-box .sec-tag{color:#E9A48A;font-weight:700;display:inline;margin:0;font-family:var(--mono)}
.wb-output-box .oline{margin:3px 0}
.wb-output-box .oline.sec{margin-top:14px}
.wb-output-box .oline:first-child{margin-top:0}
.wb-output-box .lb{color:#A8C0E8;font-weight:600}
.wb-output-box .fl{color:#FFFFFF;font-weight:700}
.wb-output-box .itm{font-weight:700;color:#FFFFFF;margin-top:10px}
.wb-md-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:12.5px;line-height:1.5}
.wb-md-table th,.wb-md-table td{border:1px solid rgba(244,238,228,.28);padding:5px 8px;text-align:left;vertical-align:top}
.wb-md-table th{background:rgba(244,238,228,.10);font-weight:700}
.tip{position:relative;cursor:help;border-bottom:1px dotted var(--accent-deep)}
.tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(2px);width:max-content;max-width:300px;background:var(--dark);color:var(--ivory);font-size:12.5px;font-weight:400;line-height:1.65;padding:9px 12px;border-radius:9px;box-shadow:0 8px 24px rgba(30,20,10,.25);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:60;white-space:normal;text-align:left}
.tip:hover::after,.tip:focus::after{opacity:1;transform:translateX(-50%) translateY(0)}


/* ---------- 工具页与卡片 ---------- */
.search-bar-wrap{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.search{width:100%;padding:14px 22px;border:1px solid var(--line);border-radius:999px;font-size:15.5px;margin-bottom:18px;background:var(--surface);font-family:var(--sans);color:var(--ink);box-shadow:var(--shadow-sm)}
.search:focus{outline:none;border-color:var(--accent)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chipbtn{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 16px;cursor:pointer;font-size:13.5px;color:var(--ink-2);font-family:var(--sans);transition:border-color .15s,color .15s,background-color .15s;font-weight:500}
.chipbtn:hover{border-color:#CDBFA9;color:var(--ink)}
.chipbtn.on{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.grouphead{margin:40px 0 10px;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line)}
.grouphead h2{font-size:22px;margin:0}
.grouphead .gsub{color:var(--muted);font-size:13.8px}
.skillgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;margin-top:16px}
.skill{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;flex-direction:column;justify-content:space-between;color:inherit}
.skill:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.skill-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.skill h3{font-size:17.5px;margin:0;line-height:1.35}
.skill .skill-en{font-size:12px;color:var(--faint);display:block;margin-bottom:8px}
.skill p{color:var(--muted);font-size:14.2px;line-height:1.75}
.skill .skill-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft);align-items:center;justify-content:space-between}
.skill .go{font-size:13px;color:var(--accent-deep);font-weight:600;white-space:nowrap}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 38px;margin-top:48px}
.panel h3{font-size:21px;margin-bottom:10px}
.panel p{color:var(--muted);font-size:15.2px;line-height:1.8}

/* ---------- 表格与目录 ---------- */
table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
th,td{padding:15px 18px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:14.5px;vertical-align:top}
th{background:var(--bg-soft);color:var(--ink);font-weight:600;font-family:var(--serif);white-space:nowrap}
tr:last-child td{border-bottom:0}
tr:hover td{background:rgba(246,244,238,.5)}
td a{font-weight:600}
.libmeta{display:flex;gap:24px;flex-wrap:wrap;margin:6px 0 22px;color:var(--muted);font-size:14.2px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 20px}
.libmeta b{font-family:var(--serif);color:var(--accent-deep);font-size:20px;margin-right:5px}
.filters{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.filters label{font-size:13.5px;color:var(--muted);display:inline-flex;align-items:center;gap:8px}
.filters select{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-family:var(--sans);font-size:13.5px;color:var(--ink-2);cursor:pointer}
.filters select:focus{outline:none;border-color:var(--accent)}
.count-line{color:var(--muted);font-size:13.5px;margin:10px 0 14px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
table.lib td .en{display:block;color:var(--faint);font-size:12.5px;margin-top:3px;line-height:1.5}
table.lib td .note{display:block;color:var(--muted);font-size:12.8px;margin-top:4px;line-height:1.55}
td .lk{display:inline-block;font-size:13px;margin-top:4px}
.skill-tags{display:flex;flex-wrap:wrap;gap:5px}

/* 条文抽屉行 */
tr.clause-drawer-row td{background:var(--bg-soft);padding:18px 24px;border-bottom:2px solid var(--line)}
.clause-drawer-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 22px;max-height:440px;overflow-y:auto}
.clause-item{padding:12px 0;border-bottom:1px solid var(--line-soft)}
.clause-item:last-child{border-bottom:0}
.clause-item .ck{font-family:var(--serif);font-weight:600;color:var(--accent-deep);font-size:14px;margin-bottom:4px}
.clause-item .cx{font-size:14px;color:var(--ink-2);line-height:1.75}

/* ---------- 详情页（Skill / News） ---------- */
.crumb{font-size:13.5px;color:var(--faint);margin-bottom:20px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--accent-deep)}
.detail-head{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px 36px;margin-bottom:32px;box-shadow:var(--shadow-sm)}
.detail-head h1{font-size:34px;line-height:1.3;margin:8px 0 12px}
.tagrow{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px;align-items:center}
.tag{font-size:12.5px;border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-2);border-radius:999px;padding:3px 13px;font-weight:500}
.tag.acc{border-color:var(--accent-border);color:var(--accent-deep);background:var(--accent-soft);font-weight:600}
.tag.click{cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}
.tag.click:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}
.detail-layout{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
.detail-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:20px}
.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.side-card h3{font-size:16.5px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}
.side-card p{font-size:13.8px;color:var(--muted);line-height:1.7}
.dsec{margin-bottom:36px}
.dsec h2{font-size:21px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.dsec p.body{color:var(--ink-2);font-size:15.5px;line-height:1.88}
.dsec ul.tick{list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 22px}
.dsec ul.tick li{padding:12px 0 12px 22px;position:relative;color:var(--ink-2);font-size:15px;border-bottom:1px solid var(--line-soft);line-height:1.75}
.dsec ul.tick li:last-child{border-bottom:0}
.dsec ul.tick li::before{content:"";position:absolute;left:2px;top:21px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
pre.tpl{background:var(--dark);color:var(--ivory);border-radius:14px;padding:22px 24px;font-size:13.5px;line-height:1.75;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--mono)}
.iobox{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:20px 24px}
.iobox .k{font-size:12px;letter-spacing:.05em;color:var(--accent);font-weight:700;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.iobox p,.iobox div.io-content{color:var(--ink-2);font-size:14.8px;line-height:1.85;white-space:pre-wrap}
.iobox p.hit-text{font-size:14px;line-height:1.78}
.hit-toggle-row{display:flex;justify-content:center;margin-top:2px}
.hit-toggle{background:none;border:0;cursor:pointer;color:var(--accent-deep);font-size:12.5px;font-family:var(--sans);padding:4px 12px;display:inline-flex;align-items:center;gap:5px}
.hit-toggle:hover{color:var(--accent)}
.hit-toggle .arr{display:inline-block;font-size:11px;transition:transform .18s}
.hit-toggle.open .arr{transform:rotate(180deg)}
.iobox.out{background:var(--bg-soft);border-color:#DCD5C5}
.reglist{list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:6px 20px}
.reglist li{padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:14.8px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.reglist li:last-child{border-bottom:0}
.reglist .area{color:var(--accent-deep);font-size:12px;border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:6px;padding:1px 8px;font-weight:600;white-space:nowrap}
.sibgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:8px}

/* ---------- 统一搜索 ---------- */
.sgroup{margin-top:36px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px}
.sgroup h2{font-size:20px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center}
.sitem{display:block;padding:14px 6px;border-bottom:1px solid var(--line-soft);color:inherit;transition:background .15s}
.sitem:last-child{border-bottom:0}
.sitem:hover{text-decoration:none;background:var(--bg-soft);border-radius:8px;padding-left:10px;padding-right:10px}
.sitem:hover .st{color:var(--accent-deep)}
.sitem .st{font-family:var(--serif);font-size:16.2px;font-weight:600;display:block}
.sitem .sd{color:var(--muted);font-size:14px;margin-top:4px;display:block;line-height:1.65}
.sitem .pill{margin-right:8px;vertical-align:1px}

/* ---------- 模态弹窗与全局 Toast ---------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(27,26,23,.62);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:760px;width:100%;max-height:88vh;overflow-y:auto;padding:32px 36px;box-shadow:0 20px 60px rgba(0,0,0,.22);position:relative}
.modal-close{position:absolute;top:20px;right:22px;background:var(--bg-soft);border:1px solid var(--line);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--ink-2);display:flex;align-items:center;justify-content:center}
.modal-close:hover{background:var(--ink);color:var(--ivory)}
.toast-msg{position:fixed;bottom:26px;right:26px;background:var(--ink);color:var(--ivory);padding:12px 22px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:var(--shadow-md);z-index:120;opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s;pointer-events:none}
.toast-msg.show{opacity:1;transform:translateY(0)}

/* ---------- 页脚 ---------- */
footer{border-top:1px solid var(--line);padding:52px 0 34px;color:var(--muted);font-size:14px;background:var(--bg-soft)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}
footer .fbrand{font-family:var(--serif);color:var(--ink);font-size:18px;font-weight:700;margin-bottom:10px}
footer .fbrand span{color:var(--accent)}
footer h4{font-size:14px;color:var(--ink);margin-bottom:12px;font-family:var(--serif)}
footer ul{list-style:none}
footer ul li{margin-bottom:8px}
footer ul a{color:var(--muted);font-size:13.8px}
footer ul a:hover{color:var(--accent-deep);text-decoration:none}
footer .fine{padding-top:20px;border-top:1px solid var(--line);font-size:12.5px;color:var(--faint);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

mark{background:#F3D9C8;color:var(--ink);padding:0 3px;border-radius:3px;font-weight:600}
details summary::-webkit-details-marker{color:var(--accent)}

@media(max-width:940px){
  .hero-grid,.two,.wb-body,.detail-layout,.footer-grid{grid-template-columns:1fr}
  .detail-side{position:static}
  .hero{padding:48px 0 44px}
  .hero h1{font-size:32px}
  .darkband{padding:32px 24px}
  .fw-row{grid-template-columns:42px 1fr;gap:6px}
  .fw-row .desc,.fw-row .fw-link{grid-column:2}
  .tl-row{grid-template-columns:1fr;gap:6px}
  .tl-row .src-box{text-align:left}
  .detail-head{padding:24px 22px}
  .detail-head h1{font-size:26px}
  .herosearch form{flex-direction:column}
  nav.main-nav{gap:14px}
}

/* ---------- 全站排版优化层（2026-10-24） ----------
   目标：统一内容边界、垂直节奏、标题层级、控件高度、卡片与表格对齐；
   同时消除小屏栅格最小宽度造成的横向溢出。 */
:root{
  --content-width:1200px;
  --page-gutter:24px;
  --header-height:72px;
  --space-section:clamp(46px,6vw,68px);
  --focus-ring:0 0 0 3px rgba(188,88,55,.18);
}
html,body{overflow-x:clip}
body{line-height:1.7;text-rendering:optimizeLegibility}
body,p,li,td,dd{font-kerning:normal}
h1,h2,h3,h4{text-wrap:balance}
p,li,td .cx,.tl-row .desc,.dsec p.body{ text-wrap:pretty}
img,svg,video,canvas{max-width:100%}
button,input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{width:min(var(--content-width),calc(100% - (var(--page-gutter) * 2)));max-width:none;padding:0}

/* 顶部信息与主导航：固定同一左右边界，导航不再因换行改变页眉高度 */
.topbar{padding:7px 0;line-height:1.55}
.topbar .wrap{min-height:24px;gap:8px 20px}
.topbar .tb-meta{gap:6px 18px}
header.site .wrap{min-height:var(--header-height);padding-top:0;padding-bottom:0;gap:12px 28px}
.brand-box{min-width:0;gap:10px}
.logo{font-size:20px;line-height:1.3}
.brand-badge{line-height:1.45}
nav.main-nav{margin-left:auto;gap:clamp(14px,2vw,24px)}
nav.main-nav a{line-height:1.45;padding:8px 0}
nav.main-nav a.on::after{bottom:0}
.nav-cta{min-height:38px;padding:7px 16px!important;line-height:1.35}

/* 页面纵向节奏与标题层级 */
section{padding:var(--space-section) 0}
section.tight{padding-top:30px}
body > section > .wrap > h2{
  font-size:clamp(27px,3vw,32px)!important;
  line-height:1.32!important;
  letter-spacing:0;
  margin-bottom:10px;
}
.eyebrow{font-size:16px;letter-spacing:.05em;line-height:1.5;margin-bottom:20px;gap:10px;font-weight:700}
.eyebrow::before{width:28px;height:2px}
.sub{font-size:15.8px;line-height:1.78;max-width:800px;margin-bottom:26px}
.btn{min-height:44px;padding:10px 24px;line-height:1.35;text-align:center;flex:0 0 auto}
.btn.sm{min-height:36px;padding:7px 14px}
.btnrow{gap:10px}
#suites-section,#skills-catalog-anchor{scroll-margin-top:calc(var(--header-height) + 18px)}

/* 首屏：左右栏建立可伸缩边界，正文行长与看板密度统一 */
.hero{padding:clamp(30px,4vw,44px) 0 clamp(48px,6vw,64px)}
header.site+section{padding-top:30px}
.hero-grid{grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);gap:clamp(30px,4vw,48px)}
.hero h1{font-size:clamp(36px,4.6vw,46px);line-height:1.24;letter-spacing:-.01em;margin-bottom:17px}
.hero .lead{font-size:16.8px;line-height:1.82;max-width:700px;margin-bottom:26px}
.hero .note{margin-top:22px;gap:8px 16px;line-height:1.55}
.hero-board{padding:25px 26px}
.hero-board .hb-head{margin-bottom:16px;padding-bottom:13px}
.hb-metrics{gap:11px;margin-bottom:16px}
.hb-metric{padding:13px 15px;min-width:0}
.hb-metric b{font-size:24px;line-height:1.15}
.hb-metric span{line-height:1.5}
.hb-trace{line-height:1.7}
.herosearch{margin-top:24px}
.herosearch form{align-items:stretch}
.herosearch input{min-height:52px;padding:12px 20px;line-height:1.5;min-width:0}
.herosearch input::placeholder,.search::placeholder{color:var(--faint)}
.herosearch input:focus,.search:focus,.filters select:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}
.hotkeys{margin-top:11px;gap:6px 8px;line-height:1.5}
.hotkeys a{padding:3px 10px;line-height:1.5}

/* 栅格与卡片：min(100%,…) 防止 320–375px 屏幕被固定最小列宽撑破 */
.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:clamp(16px,2vw,20px)}
.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:clamp(16px,2vw,22px)}
.skillgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.card,.suite-card{padding:24px 25px}
.card h3,.suite-card h3{line-height:1.45}
.card p,.suite-card p{line-height:1.72}
.card .more{margin-top:16px;padding-top:13px}
.suite-badge{line-height:1.45;margin-bottom:11px}
.suite-en{line-height:1.5;margin-bottom:8px}
.suite-target{margin:11px 0;padding:8px 11px;line-height:1.6}
.suite-list{margin:8px 0 14px}
.suite-list li{line-height:1.6;padding-top:5px;padding-bottom:5px}
.suite-list li::before{top:5px}
.suite-foot{padding-top:13px}
.framework{border:1px solid var(--line)}
.fw-row{min-height:70px;padding:15px 22px;gap:16px}
.fw-row .name{line-height:1.4}
.fw-row .desc{line-height:1.65}
.darkband{padding:clamp(34px,5vw,50px)}
.std-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 28px}
.std p{line-height:1.75}

/* 工具页控件：搜索、筛选、计数行形成稳定节奏 */
.libmeta{align-items:center;gap:10px 26px;padding:15px 20px;margin:4px 0 20px;line-height:1.55}
.libmeta span{display:inline-flex;align-items:baseline;white-space:nowrap}
.libmeta b{font-size:19px;line-height:1.2;margin-right:4px}
.search{min-height:52px;padding:12px 20px;margin-bottom:16px;line-height:1.5}
.chips{gap:8px;margin:12px 0 16px}
.chipbtn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:6px 15px;line-height:1.4}
.filters{gap:10px 16px;margin-bottom:8px}
.filters label{gap:7px;line-height:1.45}
.filters select{min-height:38px;padding:7px 34px 7px 15px;line-height:1.4;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%237a6a58' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:11px;min-width:168px;transition:border-color .15s ease,box-shadow .15s ease}
.filters select:hover{border-color:#d9c3ab}
.count-line{min-height:24px;margin:8px 0 12px;line-height:1.55}
.grouphead{margin:36px 0 12px;padding-bottom:11px;align-items:center}
.grouphead h2{line-height:1.35}
.grouphead .gsub{line-height:1.55;text-align:right}
.skill{padding:21px 22px;min-width:0}
.skill-top{margin-bottom:7px}
.skill h3{line-height:1.42}
.skill p{line-height:1.7}
.skill .skill-meta{gap:7px;margin-top:13px;padding-top:11px}
.pill{min-height:24px;line-height:1.45;padding-top:2px;padding-bottom:2px}
.tagrow{gap:7px;margin-top:12px}
.tag{line-height:1.45;padding-top:3px;padding-bottom:3px}
.panel{padding:30px 34px;margin-top:42px}
.panel p{line-height:1.78}

/* 表格：统一单元格呼吸、长标题换行与横向滚动容器边缘 */
div[style="overflow-x:auto"]{overflow-x:auto;overflow-y:hidden;border-radius:var(--radius);scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
table{border-radius:var(--radius)}
table.lib{min-width:900px}
th,td{padding:13px 16px;line-height:1.62}
th{font-size:13.5px;letter-spacing:.02em;line-height:1.45}
td{min-width:0}
table.lib td:first-child b{line-height:1.5}
table.lib td .en{line-height:1.55;margin-top:4px;overflow-wrap:anywhere}
table.lib td .note{line-height:1.6}
.skill-tags{gap:5px;align-items:flex-start}
#reg-table td:last-child .pill{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#reg-table td:first-child .pill{flex:none;margin-top:1px}
#tmf-table td:first-child{white-space:nowrap;font-size:13.5px}
#tmf-table td:first-child b{white-space:nowrap;word-break:keep-all}
.grid-fixed3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-fixed4{grid-template-columns:repeat(4,minmax(0,1fr))}
tr.clause-drawer-row td{padding:16px 18px}
.clause-drawer-box{padding:19px 21px}
.clause-item{padding:11px 0}
.clause-item .ck{line-height:1.55;margin-bottom:5px}
.clause-item .cx{line-height:1.78}

/* 动态时间线与详情：标题、摘要、来源列基线统一 */
.timeline{margin-top:2px}
.tl-row{grid-template-columns:118px minmax(0,1fr) minmax(118px,auto);gap:20px;padding:20px 4px}
.tl-row .d{line-height:1.45}
.tl-row .t{line-height:1.45}
.tl-row .desc{line-height:1.7;max-width:780px}
.tl-row .tl-meta{margin-top:9px}
.tl-row .src-box{min-width:118px}
.detail-head{padding:clamp(25px,4vw,36px)}
.detail-head h1{line-height:1.32}
.detail-layout{gap:clamp(24px,3vw,36px)}
.detail-side{top:calc(var(--header-height) + 16px);gap:16px}
.side-card{padding:21px 22px}
.dsec{margin-bottom:32px}
.dsec h2{line-height:1.4;margin-bottom:13px;padding-bottom:9px}
.dsec p.body{line-height:1.84}
.dsec ul.tick li{line-height:1.72}
.sgroup{margin-top:30px;padding:21px 24px}
.sgroup h2{line-height:1.4;margin-bottom:10px;padding-bottom:9px}
.sitem{padding:13px 8px}
.sitem .st{line-height:1.45}
.sitem .sd{line-height:1.65}
.iobox{padding:19px 22px}
.iobox p,.iobox div.io-content{line-height:1.82}
.modal-backdrop{padding:18px}
.modal-box{padding:clamp(24px,4vw,36px)}

/* 页脚：四列顶端对齐，列表与版权行不再忽紧忽松 */
footer{padding:46px 0 30px;line-height:1.65}
.footer-grid{gap:clamp(24px,4vw,40px);margin-bottom:28px;align-items:start}
footer .fbrand{line-height:1.4;margin-bottom:9px}
footer h4{line-height:1.45;margin-bottom:10px}
footer ul li{margin-bottom:7px;line-height:1.55}
footer .fine{align-items:center;padding-top:18px;line-height:1.55}

@media(max-width:1080px){
  nav.main-nav{gap:14px}
  .brand-badge{display:none}
}
@media(max-width:940px){
  :root{--page-gutter:18px;--header-height:64px}
  .topbar .wrap{align-items:flex-start}
  header.site .wrap{min-height:var(--header-height);padding-top:8px;padding-bottom:8px;gap:8px 16px}
  nav.main-nav{order:3;flex:1 0 100%;margin-left:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none}
  nav.main-nav::-webkit-scrollbar{display:none}
  nav.main-nav a{padding:6px 0}
  nav.main-nav .nav-cta{margin-left:auto}
  section{padding:44px 0}
  section.tight{padding-top:18px}
  .hero{padding:44px 0}
  .hero-grid{gap:26px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid > div:first-child{grid-column:1 / -1}
  .detail-side{top:auto}
  .std-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-row{grid-template-columns:1fr;gap:7px;padding:18px 2px}
  .tl-row .src-box{min-width:0}
  table.lib{min-width:820px}
}
@media(max-width:640px){
  :root{--page-gutter:14px}
  body{font-size:15.5px}
  .topbar{font-size:12px}
  .topbar .tb-meta{width:100%;justify-content:space-between}
  .logo{font-size:18px}
  nav.main-nav{gap:16px}
  nav.main-nav a{font-size:14px}
  .nav-cta{min-height:36px;padding:6px 13px!important;font-size:13px!important}
  body > section > .wrap > h2{font-size:25px!important}
  .sub{font-size:15.3px;line-height:1.75;margin-bottom:22px}
  section{padding:38px 0}
  section.tight{padding-top:18px}
  .hero{padding:38px 0 40px}
  .hero h1{font-size:30px;line-height:1.3}
  .hero .lead{font-size:15.8px;line-height:1.78}
  .hero-board{padding:20px}
  .hb-metrics{gap:9px}
  .hb-metric{padding:11px 12px}
  .hb-metric b{font-size:21px}
  .herosearch form{flex-direction:column}
  .herosearch button{width:100%}
  .card,.suite-card,.skill{padding:19px}
  .fw-row{grid-template-columns:38px minmax(0,1fr);padding:14px 16px;gap:5px 10px}
  .darkband{padding:28px 20px}
  .std-grid{grid-template-columns:1fr}
  .libmeta{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;padding:13px 15px}
  .libmeta span{white-space:normal}
  .libmeta b{font-size:17px}
  .search{min-height:50px;padding:11px 16px;font-size:15px}
  .filters label{flex:1 1 148px}
  .filters select{width:100%}
  .count-line{align-items:flex-start}
  .grouphead .gsub{text-align:left}
  th,td{padding:11px 12px;font-size:13.5px}
  table.lib{min-width:760px}
  tr.clause-drawer-row td{padding:10px}
  .clause-drawer-box{padding:16px}
  .panel{padding:23px 20px;margin-top:32px}
  .detail-head{padding:22px 19px}
  .detail-head h1{font-size:25px}
  .sgroup{padding:18px 16px}
  .footer-grid{grid-template-columns:1fr;gap:22px}
  footer .fine{flex-direction:column;align-items:flex-start;gap:6px}
  .modal-backdrop{padding:10px}
  .modal-box{padding:24px 19px}
  .toast-msg{left:16px;right:16px;bottom:16px;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ---------- Hallmark 审计优化层（2026-10-25 · polish 深度） ----------
   Hallmark · v2.0.0 · redesign: polish · genre: editorial
   fixed: 38i 标题 em 去合成斜体改强调色 / 26b 补 :active 与 :disabled 状态 / 48 深色卡幽灵按钮改令牌类
   waived: 63 链接箭头与间隔点、54 眉题文字内容保留（中文站既有约定、站长验收版式），仅收紧字距不删字 */
:root{--on-dark-border:rgba(255,255,255,.28)}
h1 em,h2 em{font-style:normal;color:var(--accent-deep)}
.suite-card.flagship h1 em,.suite-card.flagship h2 em{color:inherit}
.btn:active,.nav-cta:active,.chipbtn:active,.wb-tab:active,.hotkeys a:active{transform:translateY(1px)}
button:disabled,.btn.disabled,[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.btn.ghost.on-dark{color:var(--ivory);border-color:var(--on-dark-border);background:transparent}

/* ---------- 移动端适配层（2026-10-27 · 390px 实测后补强） ----------
   1) 首页 Hero 在窄屏改单列堆叠（覆盖优化层 minmax(320px) 造成的文案列挤压）
   2) 导航横滚区右缘渐隐提示可滑；法规/TMF 表格首列不锁定（2026-10-27 大郎改定：原粘性固定已撤，横滑时整表一起滚）
   3) 筛选标签改上下结构；表单控件 16px 防 iOS 聚焦自动放大 */
@media(max-width:940px){
  .hero-grid{grid-template-columns:1fr}
  nav.main-nav{-webkit-mask-image:linear-gradient(to right,#000 90%,transparent 99%);mask-image:linear-gradient(to right,#000 90%,transparent 99%)}
  table.lib{overflow:visible}
}
@media(max-width:640px){
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px}
  .filters label{flex-direction:column;align-items:stretch;gap:6px}
  .filters select{width:100%}
  table.lib{min-width:700px}
}

/* ---------- 行业简报（2026-10-27 新增板块） ---------- */
.brief-day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;overflow:hidden}
.brief-day-head{width:100%;display:flex;align-items:center;gap:12px;background:var(--bg-soft);border:0;border-bottom:1px solid var(--line-soft);padding:14px 18px;cursor:pointer;font-family:var(--sans);text-align:left}
.brief-day:not(.open) .brief-day-head{border-bottom:0}
.bd-date{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--ink)}
.bd-wd{color:var(--muted);font-size:13px}
.bd-count{margin-left:auto;color:var(--muted);font-size:13px}
.brief-day-head .arr{color:var(--accent-deep);transition:transform .18s}
.brief-day.open .brief-day-head .arr{transform:rotate(180deg)}
.brief-day-body{padding:6px 18px 12px}
.brief-track{font-size:14.5px;margin:16px 0 4px;color:var(--accent-deep)}
.brief-item{padding:10px 0;border-bottom:1px dashed var(--line-soft)}
.brief-item:last-child{border-bottom:0}
.bi-title{font-weight:600;color:var(--ink);font-size:15.5px;line-height:1.55}
.bi-desc{color:var(--ink-2);font-size:14px;line-height:1.75;margin-top:4px}
.bi-meta{color:var(--faint);font-size:12.5px;margin-top:4px}

/* ---------- 移动端布局优化第二轮（2026-10-27 实测驱动） ----------
   1) 粘性页眉瘦身：导航「获取工具包」按钮在横滑行内被 flex 压缩、文字竖排
      成 102px 高，撑高整条导航与页眉（152px）；给按钮 flex:none＋不换行后
      页眉降至 86px。导航本体在 ≤940 本已是 nowrap 横滑（上方 940 块内既有
      规则），下面这条 nowrap 仅为防御性重申，不改变计算值。
   2) 条文抽屉可读化：抽屉原按整表宽（约 830px）排版，手机上每行都要左右
      平移；改为粘性定位＋视口宽，停在可视区左缘、文本在视口内换行。
   3) 表格横滚容器右缘渐隐，与导航一致地提示可横滑。 */
@media(max-width:940px){
  nav.main-nav{flex-wrap:nowrap}
  nav.main-nav .nav-cta{flex:none;white-space:nowrap}
  .clause-drawer-box{position:sticky;left:12px;width:calc(100vw - 52px);max-width:600px;overflow-wrap:anywhere}
  div[style*="overflow-x:auto"]{-webkit-mask-image:linear-gradient(to right,#000 94%,transparent 99.5%);mask-image:linear-gradient(to right,#000 94%,transparent 99.5%)}
}
/* Hallmark polish（2026-10-27）：门禁缺陷修复层——横向溢出收口、键盘焦点环、强调按钮对比度、按钮按压态、导语孤行、看板指标空洞、暗带条目提亮；新增样式只用 :root token */
html,body{overflow-x:clip}
:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}
.btn.accent:hover{filter:brightness(1.08)}
.btn:active{transform:translateY(1px)}
.hero .lead{text-wrap:pretty}
.hb-metrics:has(> .hidden) > :nth-child(3){grid-column:1/-1}
.hb-metric{text-align:center}
.darkband .std p{color:color-mix(in srgb, var(--ivory) 78%, var(--ivory-dim))}
/* Hero 布局（2026-10-27 大郎定稿）：看板列宽与下方套件卡同宽、位置固定不动（左右缘与右侧卡齐平）；文案列占剩余宽度，右缘内缩让出 40px 间距，断点以下保持单列堆叠 */
@media (min-width:941px){
  .hero-grid{grid-template-columns:minmax(0,1fr) calc((100% - 2*clamp(16px,2vw,22px))/3);gap:40px}
  .hero-grid > :first-child{min-width:0}
  .hero .lead{max-width:none}
  .herosearch{max-width:none}
}

/* ---------- 2026-10-27 全站审计优化补丁（套件 1+6 对称矩阵、全站检索响应式栅格、移动端气泡防溢出） ---------- */
@media (min-width:941px){
  .grid-3 > .suite-card.flagship:first-child{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:28px;
    padding:26px 32px;
  }
  .grid-3 > .suite-card.flagship:first-child .suite-target{margin-bottom:0}
  .grid-3 > .suite-card.flagship:first-child .suite-foot{
    border-top:0;
    border-left:1px solid rgba(255,255,255,.12);
    padding-top:0;
    padding-left:28px;
    flex-direction:column;
    justify-content:center;
    align-items:stretch;
    min-width:170px;
  }
}
@media (max-width:940px){
  .grid-fixed3{grid-template-columns:1fr}
  .grid-fixed4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .grid-fixed4{grid-template-columns:1fr}
}
/* 气泡防裁切与小屏自适应对齐 */
.wb-body .tip::after{left:auto;right:0;transform:translateY(2px)}
.wb-body .tip:hover::after,.wb-body .tip:focus::after{transform:translateY(0)}
.detail-side .tip::after{left:0;transform:translateY(2px)}
.detail-side .tip:hover::after,.detail-side .tip:focus::after{transform:translateY(0)}
@media (max-width:640px){
  .tip::after{max-width:min(240px,calc(100vw - 40px));font-size:12px;padding:8px 10px}
  .hb-trace .tip::after,.libmeta .tip::after{left:auto;right:0;transform:translateY(2px)}
  .hb-trace .tip:hover::after,.hb-trace .tip:focus::after,.libmeta .tip:hover::after,.libmeta .tip:focus::after{transform:translateY(0)}
}
