/* ============================================================
   西北民族大学实验室建设管理处 · 官网样式（v5 · 2026-09-02）
   设计语言：Stripe 渐变 + Material token + Apple 留白 + 高校庄重底色
   配色：母站推导 #1e5aa8 权威深蓝 + 金 #f2a52b 点缀（WCAG 全达标）
   校徽：原图 img/logo.png，未作任何改动
   字体：Noto Sans SC 离线包（素材库 fonts/，内网部署零外网依赖）
   页面套件：首页 / 一级栏目页(news) / 二级栏目页(list) / 内容页 / 搜索页
   ============================================================ */
@import url("../fonts/notosanssc.css");
:root{
  /* ---- Material 式色彩层级（默认主题：校徽蓝 #1e5aa8，品牌基因提取） ---- */
  --primary:#1e5aa8;        /* 主色：权威深蓝 */
  --primary-hover:#143d75;  /* hover 加深 */
  --primary-bright:#2a6cb8; /* 渐变亮档 */
  --primary-soft:#dbeafe;   /* 浅底/选中态/标签底 */
  --primary-rgb:30,90,168;
  --primary-hover-rgb:20,61,117;
  --mask-rgb:8,26,52;         /* 图片压暗蒙版（近黑，随主题微调色相） */
  --gold:#f2a52b;           /* 点缀色（两主题共用：民大主站金同源） */
  --gold-deep:#b45309;      /* 金色文字档（小字号必用，对比达标） */
  --gold-rgb:242,165,43;
  --surface:#ffffff;        /* 卡片/表层 */
  --surface-2:#f8fafc;      /* 区块交替底 */
  --surface-3:#eef2f9;      /* 更深底/图占位 */
  --ink:#27272a;            /* 主文字 */
  --ink-2:#71717a;          /* 次文字 */
  --ink-3:#9ca3af;          /* 辅助文字 */
  --line:#e4e4e7;           /* 边框/分割线 */

  /* ---- 现代设计 token ---- */
  --radius-lg:20px;
  --radius-md:12px;
  --radius-sm:8px;
  --radius-pill:999px;
  --shadow-sm:0 2px 8px rgba(15,30,60,.05);
  --shadow-md:0 8px 28px rgba(15,30,60,.10);
  --shadow-lg:0 16px 48px rgba(15,30,60,.14);
  --font:"Noto Sans SC","PingFang SC","Microsoft YaHei","Source Han Sans SC",-apple-system,sans-serif;
}
/* ---- 民大红主题（html[data-theme="red"]）：色值全部来自民大主站 www.xbmu.edu.cn CSS 实测，禁编造 ----
   主红 #c81b15（主站 style.css 21 处，绝对主色）；深档 #b60600、亮档 #cb1b06（同文件实测）；
   浅底 #fee2e2 = tailwind red-100（素材库色板）；金 #f2a52b 两主题共用（民大主站金同源）。 */
:root[data-theme="red"]{
  --primary:#c81b15;        /* 主色：民大红 */
  --primary-hover:#b60600;  /* hover 加深（主站实测深红） */
  --primary-bright:#cb1b06; /* 渐变亮档（主站实测 tab/按钮红） */
  --primary-soft:#fee2e2;   /* 浅红底（tailwind red-100） */
  --primary-rgb:200,27,21;
  --primary-hover-rgb:182,6,0;
  --mask-rgb:30,5,2;          /* 红主题压暗蒙版（近黑微红） */
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);color:var(--ink);background:var(--surface-2);line-height:1.6;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}
.wp{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== 顶部工具条 ===== */
.toolbar{background:var(--primary-hover);color:rgba(255,255,255,.82);font-size:12px;padding:6px 0}
.toolbar .wp{display:flex;justify-content:space-between;align-items:center}
.toolbar a{color:rgba(255,255,255,.82);margin-left:16px;transition:color .2s}
.toolbar a:hover{color:var(--gold)}
/* 主题切换按钮（蓝/红双圆点，当前主题高亮） */
.theme-sw{display:inline-flex;align-items:center;gap:5px;margin-left:16px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);border-radius:var(--radius-pill);padding:3px 9px;cursor:pointer;vertical-align:middle;transition:background .2s,border-color .2s;line-height:1}
.theme-sw:hover{background:rgba(255,255,255,.30)}
.theme-sw .dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex:none;transition:transform .2s,box-shadow .2s}
.theme-sw .dot.b{background:#1e5aa8}
.theme-sw .dot.r{background:#c81b15}
.theme-sw .dot.on{transform:scale(1.25);box-shadow:0 0 0 2px rgba(255,255,255,.85)}
/* 搜索页：页内已有大搜索面板（search-panel），隐藏 header 冗余小搜索框 */
.page-search .hright .search{display:none}

/* ===== Header（校徽原图 + Apple 式留白） ===== */
header{background:var(--surface);border-bottom:1px solid var(--line)}
.hwrap{display:flex;align-items:center;justify-content:space-between;padding:20px 24px}
.hleft{display:flex;align-items:center;gap:20px}
.logo img{height:150px;width:auto;flex:none}
.htit h1{font-size:26px;color:var(--primary);letter-spacing:2px;font-weight:800;line-height:1.3}
.htit .sub{font-size:13px;color:var(--ink-2);margin-top:4px;letter-spacing:1px}
.htit .en{font-size:11px;color:var(--ink-3);letter-spacing:2.5px;text-transform:uppercase;margin-top:1px;font-weight:500}
.hright{display:flex;align-items:center;gap:16px}
.hright .school{font-size:13px;color:var(--ink-2);letter-spacing:3px}
.hright .search{display:flex;border:1px solid var(--line);border-radius:var(--radius-pill);overflow:hidden;background:var(--surface-2);transition:border-color .2s,box-shadow .2s}
.hright .search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.10)}
.hright .search input{border:0;outline:0;padding:7px 16px;font-size:12.5px;width:170px;background:transparent}
.hright .search button{border:0;background:var(--primary);color:#fff;padding:7px 16px;font-size:12.5px;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:5px}
.hright .search button svg{width:13px;height:13px;stroke:#fff;fill:none;stroke-width:2}
.hright .search button:hover{background:var(--primary-hover)}

/* ===== 主导航（Stripe 式：白底 + 金色下划线 hover） ===== */
nav{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line)}
.nav{display:flex;justify-content:center;gap:2px;padding:0 24px}
.nav>li{position:relative}
.nav>li>a{display:block;color:var(--ink);padding:16px 17px;font-size:18.5px;font-weight:600;letter-spacing:1px;position:relative;transition:color .2s}
.nav>li>a::after{content:"";position:absolute;left:50%;right:50%;bottom:10px;height:2.5px;background:var(--gold);border-radius:2px;transition:all .25s}
.nav>li:hover>a,.nav>li.on>a{color:var(--primary)}
.nav>li:hover>a::after,.nav>li.on>a::after{left:17px;right:17px}
.nav .sub{position:absolute;top:100%;left:0;background:var(--surface);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-md);min-width:220px;padding:10px 0;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s;z-index:50;border-top:3px solid var(--gold)}
.nav>li:hover .sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav .sub a{display:block;padding:10px 22px;font-size:16.5px;color:var(--ink-2);transition:all .2s}
.nav .sub a:hover{color:var(--primary);background:var(--surface-2);padding-left:28px}
/* 移动端汉堡 */
.nav-toggle{display:none}

/* ===== Banner（轮播：图 + 深蓝渐变蒙版 + 金色tag） ===== */
.banner{position:relative;height:480px;overflow:hidden;background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary) 50%,var(--primary-bright) 100%)}
.banner .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.banner .slide.on{opacity:1}
.banner .slide img{width:100%;height:100%;object-fit:cover;opacity:1}
.banner .slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--mask-rgb),0) 0%,rgba(var(--mask-rgb),0) 55%,rgba(var(--mask-rgb),.35) 100%)}
.banner .cap{position:absolute;left:0;right:0;bottom:0;padding:64px 0 48px;z-index:2}
.banner .cap .tag{display:inline-flex;align-items:center;gap:6px;background:rgba(242,165,43,.16);color:var(--gold);font-size:12px;font-weight:700;padding:4px 16px;border-radius:var(--radius-pill);margin-bottom:16px;letter-spacing:1px;border:1px solid rgba(242,165,43,.4)}
.banner .cap h2{color:#fff;font-size:31px;font-weight:800;letter-spacing:2px;line-height:1.45;text-shadow:0 4px 16px rgba(0,0,0,.4)}
.banner .cap p{color:rgba(255,255,255,.82);font-size:14.5px;margin-top:10px;letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.banner .dots{position:absolute;right:40px;bottom:30px;display:flex;gap:8px;z-index:3}
.banner .dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s}
.banner .dots i.on{background:var(--gold);width:24px;border-radius:var(--radius-pill)}

/* ===== 快捷功能（Stripe 大卡） ===== */
.quick{padding:40px 0 12px}
.quick-h{display:flex;align-items:baseline;gap:12px;margin-bottom:22px}
.quick-h .cn{font-size:22px;font-weight:800;color:var(--primary);letter-spacing:2px}
.quick-h .cn::before{content:"";display:inline-block;width:10px;height:10px;background:var(--gold);transform:rotate(45deg);margin-right:12px;vertical-align:2px;border-radius:2px}
.quick-h .en{font-size:11px;color:var(--ink-3);letter-spacing:3px;text-transform:uppercase}
.qgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.qcard{display:flex;align-items:center;gap:18px;padding:26px 28px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}
.qcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--primary);border-radius:0 4px 4px 0}
.qcard:nth-child(2)::before{background:var(--gold)}
.qcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent}
.qcard .ico{width:54px;height:54px;flex:none;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--primary-hover));display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.qcard:nth-child(2) .ico{background:linear-gradient(135deg,#d4a32a,#a8851a)}
.qcard:hover .ico{transform:scale(1.1) rotate(-4deg)}
.qcard .ico svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.8}
.qcard .txt{flex:1;min-width:0}
.qcard .txt h4{font-size:16px;font-weight:700;color:var(--ink)}
.qcard .txt p{font-size:12.5px;color:var(--ink-3);margin-top:3px}
.qcard .go{flex:none;font-size:13px;color:var(--primary);font-weight:600;transition:color .2s,transform .2s}
.qcard:hover .go{color:var(--gold-deep)}

/* ===== 区块通用（Material 8pt 网格） ===== */
.sec{padding:52px 0}
.sec.alt{background:var(--surface)}
.sec-h{text-align:center;margin-bottom:38px}
.sec-h .cn{font-size:26px;font-weight:800;color:var(--primary);letter-spacing:4px;display:inline-block;position:relative;padding:0 64px}
.sec-h .cn::before,.sec-h .cn::after{content:"";position:absolute;top:50%;width:50px;height:2px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:2px}
.sec-h .cn::before{left:0}
.sec-h .cn::after{right:0;background:linear-gradient(90deg,transparent,var(--gold))}
.sec-h .en{font-size:11px;color:var(--ink-3);letter-spacing:4px;text-transform:uppercase;margin-top:6px}

/* ===== 新闻动态（图文混排：左 Tab 图+文，右列表） ===== */
.news-wrap{display:flex;gap:32px;align-items:flex-start}
.news-left{flex:1;min-width:0}
.tabs{display:flex;gap:6px;margin-bottom:22px}
.tabs li{padding:10px 22px;font-size:14.5px;font-weight:600;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}
.tabs li:hover{color:var(--primary)}
.tabs li.on{color:var(--primary);border-bottom-color:var(--gold)}
/* Tab 栏：标签 + 行尾"更多"（更多不占面板高度，切换 Tab 由 JS 联动 data-more） */
.tab-bar{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--line);margin-bottom:22px}
.tab-bar .tabs{border-bottom:0;margin-bottom:0}
.tabs-more{font-size:12.5px;color:var(--ink-3);padding:10px 2px;transition:color .2s;white-space:nowrap}
.tabs-more:hover{color:var(--gold-deep)}
.feat{display:flex;gap:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;transition:box-shadow .3s,transform .3s}
/* 首页左栏头条卡：min-height 与右栏通知公告卡（6 条）底边平齐（2026-09-02 几何实测：左卡 268px vs 右卡 393px，补 58px） */
.news-left .feat{min-height:326px}
.feat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.feat .fimg{width:46%;flex:none;border-radius:var(--radius-md);overflow:hidden}
.feat .fimg img{width:100%;height:100%;object-fit:cover}
.feat .ftxt{flex:1;display:flex;flex-direction:column;justify-content:center}
.feat .ftxt time{font-size:12px;color:var(--gold-deep);font-weight:600}
.feat .ftxt h4{font-size:18px;font-weight:700;margin:8px 0 10px;line-height:1.5}
.feat .ftxt h4 a:hover{color:var(--primary)}
.feat .ftxt p{font-size:13px;color:var(--ink-3);line-height:1.7}
.feat .ftxt .go{padding-top:14px}
.feat .ftxt .go a{font-size:12.5px;color:var(--primary);font-weight:600;letter-spacing:1px;display:inline-flex;align-items:center;gap:2px;transition:color .2s}
.feat .ftxt .go a::after{content:"\203A";font-size:15px;line-height:1}
.feat .ftxt .go a:hover{color:var(--gold-deep)}
.list li{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px dashed var(--line);transition:all .2s}
/* 首页左栏"综合工作动态"Tab：无标题纯列表（Tab 标签已表意，不重复），box 定高与右栏通知公告底边平齐（2026-09-02） */
.news-left [data-pane="1"] .box{min-height:326px;display:flex;flex-direction:column;justify-content:space-between}
.news-left [data-pane="1"] .list{flex:1;display:flex;flex-direction:column;justify-content:space-around}
.news-left [data-pane="1"] .list li{padding:9px 0}
.list li:last-child{border-bottom:0}
.list li a{flex:1;font-size:14px;color:var(--ink-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:color .2s}
.list li a:hover{color:var(--primary)}
.list li .d{font-size:12px;color:var(--ink-3);flex:none}
.news-right{width:340px;flex:none;display:flex;flex-direction:column;gap:20px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px;transition:box-shadow .3s}
.box:hover{box-shadow:var(--shadow-md)}
.box-h{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--primary);padding-bottom:12px;margin-bottom:12px}
.box-h h3{font-size:16px;font-weight:700;color:var(--primary)}
.box-h a{font-size:12.5px;color:var(--ink-3);transition:color .2s}
.box-h a:hover{color:var(--gold-deep)}

/* 左栏图片纪实 pane（2 列图网格，悬停缩放） */
.pane-pics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pane-pics a{display:block;border-radius:var(--radius-md);overflow:hidden;position:relative;box-shadow:var(--shadow-sm)}
.pane-pics img{width:100%;height:112px;object-fit:cover;transition:transform .3s}
/* 首页左栏 Tab 图片纪实：2 行 × 156px + gap ≈ 326px，与右栏通知公告卡底边平齐（2026-09-02） */
.news-left .pane-pics img{height:156px}
.pane-pics a:hover img{transform:scale(1.06)}
.pane-pics span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent,rgba(var(--mask-rgb),.75));color:#fff;font-size:12px;line-height:1.4;padding:14px 10px 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* ===== 信息公开（三列差异化色条） ===== */
.igrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.icol{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 24px 16px;position:relative;overflow:hidden;transition:box-shadow .3s,transform .3s}
.icol::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--primary-hover))}
.icol:nth-child(2)::before{background:linear-gradient(90deg,var(--gold),#c9a227)}
.icol:nth-child(3)::before{background:linear-gradient(90deg,#ea580c,#c2410c)}
.icol:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.icol-h{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:8px}
.icol-h h3{font-size:16px;font-weight:700;color:var(--primary)}
.icol-h h3 i{color:var(--gold);font-style:normal;margin-right:5px}
.icol-h a{font-size:12.5px;color:var(--ink-3)}
.icol ul li{display:flex;align-items:center;height:40px;border-bottom:1px dashed #eef2f7;font-size:13.5px}
.icol ul li:last-child{border-bottom:0}
.icol ul li a{flex:1;color:var(--ink-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:color .2s}
.icol ul li a:hover{color:var(--primary)}
.icol ul li .d{font-size:12px;color:var(--ink-3);flex:none;margin-left:8px}
.tag{display:inline-block;background:var(--gold);color:#5c2e06;font-size:10.5px;line-height:16px;padding:0 10px;border-radius:var(--radius-pill);margin-left:6px;font-weight:600;flex:none}
.tag.g{background:#1e7a3c;color:#fff}

/* ===== 安全教育（左卡 + 右警示） ===== */
.safe-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.scard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;transition:box-shadow .3s}
.scard:hover{box-shadow:var(--shadow-md)}
.scard-h{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:2px solid var(--primary);margin-bottom:14px}
.scard-h .ic{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-hover));display:flex;align-items:center;justify-content:center;flex:none}
.scard-h .ic svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.8}
.scard-h h3{font-size:16px;font-weight:700;color:var(--primary)}
.scard-h .more{margin-left:auto;font-size:12.5px;color:var(--ink-3);transition:color .2s}
.scard-h .more:hover{color:var(--gold-deep)}
.warn{border-left:4px solid #d64545;padding:14px 18px;background:#fdf3f3;border-radius:0 10px 10px 0;margin-bottom:12px}
.warn h4{font-size:14px;color:#b02a2a;font-weight:700}
.warn p{font-size:12.5px;color:#8a5a5a;margin-top:4px}
a.warn{display:block;text-decoration:none;transition:box-shadow .2s,transform .2s}
a.warn:hover{box-shadow:var(--shadow-sm);transform:translateX(3px)}
a.warn:last-child{margin-bottom:0}

/* ===== 安全提示条（v5 结构审视新增：hero 下状态带，对称信息化处"运行状态条"，一橙一绿） ===== */
.safety-strip{background:linear-gradient(90deg,#fffbeb,#fef3c7);border-bottom:1px solid #fde68a;font-size:13px}
.safety-strip .wp{display:flex;align-items:center;gap:12px;padding-top:10px;padding-bottom:10px}
.ss-ico{width:24px;height:24px;flex:none;border-radius:7px;background:#f59e0b;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;flex-shrink:0}
.ss-txt{color:#92400e;line-height:1.75}
.ss-txt b{font-weight:700}
.ss-txt a{color:#b45309;font-weight:600;margin-left:4px;transition:color .2s;white-space:nowrap}
.ss-txt a:hover{color:#dc2626}
/* 提示条变体（专项/警示态，博达实施按需切换） */
.safety-strip.warn{background:linear-gradient(90deg,#fef2f2,#fee2e2);border-bottom-color:#fecaca}
.safety-strip.warn .ss-ico{background:#dc2626}
.safety-strip.warn .ss-txt{color:#991b1b}

/* ===== V5 国家级基地荣誉带（浅金底纹 + 白卡 × 金徽章 × 深蓝字；复用现有色板） ===== */
.honor{background:linear-gradient(180deg,#fdf6e9,#fdf1dc);border-bottom:1px solid #f5e3bd;padding:30px 0}
.honor-tit{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.honor-tit .hmedal{width:46px;height:46px;flex:none;border-radius:50%;background:linear-gradient(135deg,#f2a52b,#d98f14);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 14px rgba(242,165,43,.35)}
.honor-tit b{font-size:20px;font-weight:800;color:var(--primary-hover);letter-spacing:2px;display:block}
.honor-tit p{font-size:11px;color:#8a6d3b;letter-spacing:2px;text-transform:uppercase;margin-top:2px}
.hgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid #f0e2c4;border-radius:var(--radius-lg);padding:24px 26px;box-shadow:0 2px 10px rgba(158,110,20,.06);transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}
.hcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#f2a52b,#d98f14)}
.hcard:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(158,110,20,.14);border-color:#e8d09a}
.hcard .hbadge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:#fdf3e3;color:#8a5a00;font-size:11.5px;font-weight:700;padding:4px 14px;border-radius:var(--radius-pill);border:1px solid #f2d9a7;letter-spacing:1px}
.hcard .hbadge::before{content:"\2605";color:#d98f14}
.hcard h4{font-size:19px;font-weight:800;color:var(--primary-hover);margin:14px 0 8px;letter-spacing:1px}
.hcard p{font-size:13px;color:var(--ink-2);line-height:1.7}
.hcard em{font-style:normal;font-size:13px;color:#b45309;font-weight:600;margin-top:14px;display:inline-flex;align-items:center;gap:4px;transition:gap .2s}
.hcard:hover em{gap:8px}

/* ===== V5 育人实体展示（实验教学中心 + 工程训练中心实拍卡） ===== */
.egrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.ecard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1);display:block}
.ecard:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent}
.ephoto{position:relative;height:210px;overflow:hidden}
.ephoto img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ecard:hover .ephoto img{transform:scale(1.05)}
.ephoto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(var(--primary-hover-rgb),.45))}
.etag{position:absolute;left:18px;bottom:16px;z-index:2;background:rgba(255,255,255,.92);color:var(--primary-hover);font-size:11.5px;font-weight:700;padding:3px 12px;border-radius:var(--radius-pill);letter-spacing:1px}
.etxt{padding:22px 24px 24px}
.etxt h4{font-size:18px;font-weight:800;color:var(--primary);letter-spacing:1px}
.etxt p{font-size:13px;color:var(--ink-2);line-height:1.75;margin:10px 0 14px}
.emore{font-size:13px;color:var(--gold-deep);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.ecard:hover .emore{gap:8px}

/* ===== V5 党建内容红色点缀（政治语义色，仅内容区 <5%；导航保持主色蓝） ===== */
.dj-tag{display:inline-block;background:#fdecec;color:#b91c1c;font-size:11px;line-height:1;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid #f5c6c6;font-weight:600;flex:none}
.dj-title{color:#b91c1c}

/* ===== 快捷功能 4 卡配色（v5 扩展：1蓝2金3蓝4金交替） ===== */
.qcard:nth-child(3)::before{background:var(--primary)}
.qcard:nth-child(4)::before{background:var(--gold)}
.qcard:nth-child(3) .ico{background:linear-gradient(135deg,var(--primary),var(--primary-hover))}
.qcard:nth-child(4) .ico{background:linear-gradient(135deg,#d4a32a,#a8851a)}

/* ===== 搜索结果页（search.html） ===== */
.search-main{padding:36px 0 60px}
.search-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px 28px;box-shadow:var(--shadow-sm);margin-bottom:22px}
.sform{display:flex;gap:0;border:2px solid var(--primary);border-radius:var(--radius-md);overflow:hidden;background:var(--surface);transition:box-shadow .25s}
.sform:focus-within{box-shadow:0 0 0 4px rgba(var(--primary-rgb),.12)}
.sform input{flex:1;border:0;outline:0;padding:13px 20px;font-size:15px;background:transparent;color:var(--ink)}
.sform button{flex:none;border:0;background:var(--primary);color:#fff;padding:13px 34px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;letter-spacing:1px;transition:background .2s}
.sform button:hover{background:var(--primary-hover)}
.sform button svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2}
.shot{margin-top:14px;font-size:13px;color:var(--ink-3)}
.shot a{display:inline-block;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:3px 14px;margin:0 8px 6px 0;font-size:12.5px;transition:all .2s}
.shot a:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}
.sresult-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13.5px;color:var(--ink-2);padding:0 4px}
.sresult-head b{color:var(--primary);font-size:16px;margin:0 2px}
.sresult-head em{color:var(--gold-deep);font-style:normal;font-weight:700}
.sresult-head .stime{font-size:12px;color:var(--ink-3)}
.slist{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}
.sitem{padding:20px 26px;border-bottom:1px dashed var(--line);transition:background .2s}
.sitem:last-child{border-bottom:0}
.sitem:hover{background:var(--surface-2)}
.sitem h4{font-size:16px;font-weight:700;line-height:1.5}
.sitem h4 a{color:var(--ink);transition:color .2s}
.sitem h4 a:hover{color:var(--primary)}
.smeta{display:flex;align-items:center;gap:16px;margin-top:7px;font-size:12px;color:var(--ink-3)}
.smeta .scat{color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-pill);padding:2px 12px;font-weight:500}
.ssum{font-size:13.5px;color:var(--ink-2);line-height:1.8;margin-top:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hl{color:var(--gold-deep);font-weight:700;background:linear-gradient(180deg,transparent 62%,rgba(242,165,43,.22) 62%)}
/* 空结果态 */
.search-empty{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:70px 30px;text-align:center;box-shadow:var(--shadow-sm)}
.search-empty .eico{font-size:44px;margin-bottom:16px;opacity:.6}
.search-empty h4{font-size:18px;color:var(--ink);margin-bottom:8px}
.search-empty p{font-size:13.5px;color:var(--ink-3)}

/* ===== 页脚 ===== */
footer{background:var(--primary-hover);color:rgba(255,255,255,.72);padding:44px 0 22px;margin-top:12px}
.fmain{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.fcol h4{color:#fff;font-size:15px;margin-bottom:14px;letter-spacing:1px;position:relative;padding-bottom:8px}
.fcol h4::after{content:"";position:absolute;left:0;bottom:0;width:30px;height:2px;background:var(--gold);border-radius:2px}
.fcol p{font-size:12.5px;margin-bottom:6px}
.fcol a{color:rgba(255,255,255,.72);font-size:12.5px;display:block;margin-bottom:5px;transition:color .2s}
.fcol a:hover{color:var(--gold)}
/* 页脚友情链接两列（2026-09-05 方案A）：2列×3行，高度与左栏(联系我们)平衡；容器 font-size:0 消除 inline-block 间空白换行 */
.fmain .fcol:last-child{font-size:0}
.fmain .fcol:last-child a{display:inline-block;width:50%;vertical-align:top;padding-right:14px;box-sizing:border-box}
.fbot{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:16px;text-align:center;font-size:12px;color:rgba(255,255,255,.45)}

/* ============================================================
   内页（栏目页/内容页共用）：页面 Banner + 左导航 + 内容卡片
   ============================================================ */
.page-banner{position:relative;background:var(--primary) url("../img/pagebanner.png") no-repeat center/cover;padding:42px 0;color:#fff;overflow:hidden}
.page-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--mask-rgb),.8) 0%,rgba(var(--mask-rgb),.45) 34%,rgba(var(--mask-rgb),.15) 62%,rgba(var(--mask-rgb),0) 78%)}
.page-banner .wp{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end}
.page-banner h2{font-size:26px;font-weight:800;letter-spacing:3px;text-shadow:0 1px 10px rgba(var(--mask-rgb),.5)}
.page-banner .crumb{font-size:12.5px;color:#fff;margin-top:6px}
.page-banner .crumb a{color:#fff}
.page-banner .crumb a:hover{color:var(--gold)}
.main{display:flex;gap:32px;padding:44px 0 60px}
.side{width:250px;flex:none}
/* 公示/通报栏目(1741招标公示/1751成交结果/1761运行通报)的栏目页与内容页隐藏左侧导航（2026-09-05）：main.js 按 URL wbtreeid 给 .main 加 no-side */
.main.no-side .side{display:none}
.sbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.sbox-h{background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;padding:16px 20px;font-size:16px;font-weight:700;letter-spacing:1px}
.sbox ul li a{display:block;padding:13px 20px;font-size:13.5px;color:var(--ink-2);border-bottom:1px solid #f0f2f5;border-left:3px solid transparent;transition:all .2s}
.sbox ul li a:hover{color:var(--primary);background:var(--surface-2);border-left-color:var(--gold)}
.sbox ul li.on a{color:var(--primary);background:var(--surface-2);border-left-color:var(--primary);font-weight:600}
.content{flex:1;min-width:0}
/* 栏目列表 */
.ctit{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 26px;border-bottom:2px solid var(--primary)}
.ctit h3{font-size:19px;font-weight:800;color:var(--primary);letter-spacing:1px}
.ctit .path{font-size:12.5px;color:var(--ink-3)}
.ctit .more{font-size:12.5px;color:var(--ink-3);transition:color .2s}
.ctit .more:hover{color:var(--gold-deep)}
.clist{background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:0 26px;box-shadow:var(--shadow-sm)}
/* 列表文章少时右卡至少与左导航等高（2026-09-05）：.content 变纵向 flex，.clist 弹性吸收剩余高度使卡底对齐左侧栏底 */
.main .content:has(.clist){display:flex;flex-direction:column}
.main .content:has(.clist) .clist{flex:1 1 auto}
/* 空栏目空态：组件输出空 <ul class="clist">(仅换行符)</ul>+"共0条"分页 →
   隐藏空列表与分页条；.content 变纵向 flex，占位卡 flex:1 自动填充 →
   与左侧导航严格等高（实测 content_h=side_h），侧栏多高卡片多高，无固定高度
   选择器 .content:has(.clist):not(:has(.clist li)) = 「存在 .clist 且无 li」，
   双条件确保只命中列表页空栏目——文章页(.content.article 无 .clist)与有内容列表均豁免（9-4 误伤教训） */
.content:has(.clist):not(:has(.clist li)){display:flex;flex-direction:column}
.content:has(.clist):not(:has(.clist li)) .clist{display:none}
.content:has(.clist):not(:has(.clist li)) .pager{display:none}
.content:has(.clist):not(:has(.clist li))::after{
  content:"本栏目内容正在建设中，敬请期待…";
  flex:1;
  display:flex;align-items:center;justify-content:center;
  background:var(--surface);border:1px solid var(--line);border-top:0;
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  font-size:14px;color:var(--ink-3);letter-spacing:1px;
  box-shadow:var(--shadow-sm)
}
/* 单页正文为空时显示建设中占位（2026-09-05：队伍建设撤内容后整块空白）——
   命中：.content.article 存在但除 script 外无任何子元素（有真实内容即豁免） */
.content.article:not(:has(*:not(script))){min-height:260px;display:flex;align-items:center;justify-content:center}
.content.article:not(:has(*:not(script)))::after{content:"本栏目内容正在建设中，敬请期待…";font-size:14px;color:var(--ink-3);letter-spacing:1px}
.clist li{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px dashed var(--line);transition:all .2s}
.clist li:last-child{border-bottom:0}
.clist li:hover{padding-left:10px}
.clist li a{flex:1;font-size:14.5px;color:var(--ink);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:color .2s}
.clist li a:hover{color:var(--primary)}
.clist li .d{font-size:12.5px;color:var(--ink-3);flex:none}
.pager{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:28px}
/* 平台分页条（stattplpagedownv2 输出）：ptotal=共N条文本、p_pages=按钮容器，均不套框 */
.pager .ptotal{margin-right:10px;font-size:13px;color:var(--ink-3)}
.pager .p_pages{display:inline-flex;align-items:center;gap:6px}
/* 页码按钮（首页/上页/数字/下页/尾页，span 级套框；可点项内含 <a>） */
.pager .p_pages span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;color:var(--ink-2);background:var(--surface);transition:all .2s;cursor:pointer}
.pager .p_pages a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:inherit;text-decoration:none}
.pager .p_pages span:has(>a):hover{border-color:var(--primary);color:var(--primary)}
/* 当前页高亮（平台当前页无链接，类名 p_no_d；带 span 提升优先级压过 .p_pages span） */
.pager .p_pages span.p_no_d{background:var(--primary);color:#fff;border-color:var(--primary);cursor:default}
/* 禁用态灰显（下页/尾页不可点，类名 p_fun_d/p_*_d） */
.pager .p_pages span.p_fun_d{color:#c3c8d0;background:var(--surface-2);cursor:default}
/* 兼容静态原型旧分页（.cur 高亮当前页） */
.pager .cur{background:var(--primary);color:#fff;border-color:var(--primary)}
/* 文章正文（Apple 式留白卡片） */
.content.article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:44px 48px;box-shadow:var(--shadow-sm)}
.art-h{text-align:center;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:32px}
.art-h h1{font-size:23px;font-weight:800;color:var(--primary);line-height:1.5}
.art-meta{font-size:12.5px;color:var(--ink-3);margin-top:14px;display:flex;justify-content:center;gap:24px}
.art-meta span{display:inline-flex;align-items:center;gap:4px}
.art-body{font-size:15px;color:var(--ink);line-height:1.95}
.art-body p{margin-bottom:20px;text-indent:2em}
.art-body .fig{margin:26px 0;text-align:center}
.art-body .fig img{border-radius:var(--radius-md);margin:0 auto}
.art-body .fig figcaption{font-size:12.5px;color:var(--ink-3);margin-top:12px}
.art-body h2{font-size:18px;font-weight:700;color:var(--primary);margin:30px 0 16px;padding-left:14px;border-left:4px solid var(--gold);border-radius:2px}
.art-body .note{background:linear-gradient(135deg,var(--surface-2),var(--primary-soft));border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius-md);padding:18px 22px;margin:22px 0;font-size:13.5px;color:var(--ink-2)}
/* 附件下载区（DetailNews 正文下方，有附件才输出 .art-att） */
.art-att{margin:30px 0 8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);padding:18px 22px}
.art-att h3{font-size:15px;font-weight:700;color:var(--primary);margin-bottom:10px;padding-left:12px;border-left:3px solid var(--gold);line-height:1.4}
.art-att ul{list-style:none;margin:0;padding:0}
.art-att li{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px dashed var(--line);font-size:14px;color:var(--ink)}
.art-att li:last-child{border-bottom:none}
.art-att .ic{flex:none;width:8px;height:8px;border-radius:2px;background:var(--gold)}
.art-att a{flex:1;color:var(--primary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-decoration:none;transition:color .2s}
.art-att a:hover{color:var(--gold-deep);text-decoration:underline}
.art-att .t{flex:none;font-size:12px;color:var(--ink-3)}
.art-nav{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-3)}
.art-nav a{color:var(--primary);transition:color .2s;max-width:48%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.art-nav a:hover{color:var(--gold-deep)}

/* ===== 博达后台正文联动（2026-09-02 补充） =====
   博达内容页正文容器 id = #vsb_content（发文编辑器输出的裸标签 HTML 包在其中）。
   以下规则 = .art-body 排版的同款样式，改为容器后代选择器，后台发文自动套用、零额外操作。
   原型静态页 .art-body 仍保留（两套并存，改一处样式需同步两处）。 */
#vsb_content{font-size:15px;color:var(--ink);line-height:1.95;word-break:break-word}
#vsb_content p{margin-bottom:20px;text-indent:2em;font-size:15px;color:var(--ink);line-height:1.95}
/* 居中段落不缩进（发文者手动居中的标题/落款行不被 text-indent 推偏；兼容带/不带空格两种内联格式） */
#vsb_content p[style*="text-align:center"]{text-indent:0}
#vsb_content p[style*="text-align: center"]{text-indent:0}
#vsb_content p[align="center"]{text-indent:0}
#vsb_content h2,#vsb_content h3{font-size:18px;font-weight:700;color:var(--primary);margin:30px 0 16px;padding-left:14px;border-left:4px solid var(--gold);border-radius:2px;text-indent:0;line-height:1.5}
#vsb_content h3{font-size:17px}
#vsb_content img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:8px auto;display:block}
#vsb_content a{color:var(--primary);text-decoration:underline}
#vsb_content strong,#vsb_content b{color:var(--ink);font-weight:700}
#vsb_content .fig,#vsb_content .wp-caption{text-align:center;margin:26px 0}
#vsb_content .wp-caption-text,#vsb_content figcaption{font-size:12.5px;color:var(--ink-3);margin-top:12px;text-align:center;text-indent:0}
#vsb_content blockquote{margin:22px 0;padding:14px 20px;border-left:4px solid var(--gold);background:var(--surface-2);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--ink-2)}
#vsb_content table{max-width:100%;border-collapse:collapse;margin:20px auto;font-size:14px;color:var(--ink)}
/* 表格单元格：水平/垂直居中默认，但尊重发文者的内联 align（Word 粘贴的居中/左对齐不丢失） */
#vsb_content table td,#vsb_content table th{border:1px solid var(--line);padding:8px 14px;text-align:center;vertical-align:middle}
/* 平台发文编辑器 Word 粘贴产物：td 内 <p> 自带 text-align:center + line-height:22px，此处仅兜底空值场景 */
#vsb_content table p{margin:0;text-indent:0}
#vsb_content table th{background:var(--surface-2);font-weight:700;color:var(--primary)}
/* Word/HTML导入的图片包装表修复（2026-09-05）：旧浏览器正常、Chrome/Edge 下图片 0x0——
   导入生成的畸形表格(1px单元格)叠加 img max-width:100% 把图压没；命中仅含导入图(img_vsb_content)的包装表还原为通栏插图 */
#vsb_content table:has(> tbody > tr > td > img.img_vsb_content){border:none !important;width:100% !important;margin:8px 0 !important;background:transparent !important}
#vsb_content table:has(> tbody > tr > td > img.img_vsb_content) tr:first-child{display:none !important}
#vsb_content table:has(> tbody > tr > td > img.img_vsb_content) td,#vsb_content table:has(> tbody > tr > td > img.img_vsb_content) th{border:none !important;padding:0 !important;width:auto !important;height:auto !important;text-align:center !important;vertical-align:middle !important}
#vsb_content table:has(> tbody > tr > td > img.img_vsb_content) img{width:100% !important;max-width:100% !important;height:auto !important;display:block !important;margin:0 auto !important}
#vsb_content ul,#vsb_content ol{margin:12px 0 20px;padding-left:2em;color:var(--ink);font-size:15px;line-height:1.95}
#vsb_content li{margin-bottom:6px}
/* 后台编辑器内联字号/行距会盖过以上规则——发文纪律：结构用段落/标题，勿用编辑器字号按钮（详见栏目内容说明 运营红线） */

/* ===== 响应式 ===== */
@media (max-width:900px){
  .hwrap{flex-wrap:wrap;gap:12px}
  .logo img{height:96px}
  .hright{width:100%;justify-content:space-between}
  .nav{flex-wrap:wrap;justify-content:flex-start;gap:0;overflow-x:auto}
  .nav>li>a{padding:12px 14px;font-size:16px}
  .news-wrap{flex-direction:column}
  .news-right{width:100%}
  .igrid,.safe-grid{grid-template-columns:1fr}
  .qgrid{grid-template-columns:1fr}
  .hgrid,.egrid{grid-template-columns:1fr}
  .honor-tit b{font-size:17px}
  .banner{height:340px}
  .banner .cap h2{font-size:22px}
  .feat{flex-direction:column}
  .feat .fimg{width:100%}
  .main{flex-direction:column}
  .side{width:100%}
  .content.article{padding:26px 22px}
  .page-banner .wp{flex-direction:column;align-items:flex-start;gap:8px}
  .sform button{padding:13px 20px}
  .sresult-head{flex-direction:column;align-items:flex-start;gap:4px}
  .sitem{padding:16px 18px}
  .sitem h4{font-size:15px}
}
/* 小屏精修：搜索框完整显示（2026-09-05 手机微信反馈：按钮被裁） */
@media (max-width:560px){
  .toolbar .wp span{font-size:12px}
  .hleft{gap:10px}
  .logo img{height:56px}
  .htit h1{font-size:17px}
  .htit .en,.htit .sub{display:none}
  .hright{justify-content:center;gap:0}
  .hright .school{display:none}
  .hright .search{width:min(90vw,340px)}
  .hright .search input{flex:1 1 auto;width:auto;min-width:0;padding:8px 14px;font-size:13px}
  .hright .search button{flex:none;padding:8px 14px;font-size:13px;white-space:nowrap}
  .nav>li>a{padding:11px 12px;font-size:15px}
  .page-banner{padding:26px 0}
  .page-banner h2{font-size:20px}
  .banner{height:230px}
  .banner .cap h2{font-size:17px}
  .banner .cap p{display:none}
}

/* ===== 单篇正文栏目页 page.html（单位简介/联系我们等静态单篇，2026-09-03） ===== */
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:6px 0 8px}
.info-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px 20px;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.16,1,.3,1)}
.info-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary)}
.info-card:nth-child(even)::before{background:var(--gold)}
.info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.info-card h4{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:10px}
.info-card h4::before{content:'';width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-deep))}
.info-card p{font-size:13.5px;color:var(--ink-2);line-height:1.95;text-indent:0;margin-bottom:0}
.info-card p a{color:var(--primary);word-break:break-all}
.info-card .sub{font-size:12.5px;color:var(--ink-3);margin-top:6px;line-height:1.8}
.info-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.info-links a{font-size:12.5px;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;transition:all .2s}
.info-links a:hover{color:#fff;background:var(--primary);border-color:var(--primary)}
.map-box{display:flex;align-items:center;justify-content:center;min-height:200px;margin:26px 0 6px;border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--surface-2);color:var(--ink-3);font-size:13px;letter-spacing:2px}
@media (max-width:900px){.info-grid{grid-template-columns:1fr}}
