/* =========================================================
   终端等宽字体栈 + 分割线
   ========================================================= */
:root {
  --mono-stack: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Lucida Console", "DejaVu Sans Mono", "Courier New", monospace;
}

hr{
  border: none;
  border-top: 2px solid #000;
  margin: 1em 0;
}

/* =========================================================
   通用荧光黄高亮样式
   ========================================================= */
.highlight-yellow {
  position: relative;
  display: inline-block;
  padding: 2px 6px;
  background: linear-gradient(180deg, #fff87a 0%, #ffe600 100%);
  box-shadow: 0 0 6px rgba(255, 255, 0, 0.6);
  border: 1px solid #e0b000;
  color: #000;
}

/* =========================================================
   警示框（原始 + 主题覆盖由 .theme-gov 区域处理）
   ========================================================= */
.warning-box {
  border: 2px solid #000;
  background: #fff8c4;           /* 微微发黄的背景，比纯黄柔和 */
  color: #000;
  padding: 10px 12px;
  margin: 18px 0 10px;
  font-family: var(--mono-stack);
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 3px 3px 0 #000;    /* 模拟复古终端阴影边 */
}
.warning-box b { color: #b00000; }
.warning-box a.inline-link {
  color: #004ea2;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.warning-box a.inline-link:hover { outline: 1px dotted #004ea2; }

.theme-gov .warning-box {
  border-left: 4px solid var(--gov-red);
  background: linear-gradient(180deg,#fffaf0 0%,#fff3e0 100%);
  box-shadow: 2px 2px 0 #000;
}

/* =========================================================
   通用小工具
   ========================================================= */
.red-text { color: #b00000; font-weight: 700; }

/* =========================================================
   信息盒（section）+ 子盒（subbox）
   ========================================================= */
.section-box{
  border: 1px solid #000;
  background: #fff;
  margin: 14px 0 16px;
}
.section-head{
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 6px 8px;
  border-bottom: 1px solid #000;
  background:
    repeating-linear-gradient(90deg, #e8f2ff 0, #e8f2ff 2px, transparent 2px, transparent 6px),
    #f4f8ff;
}
.section-tag{
  font-size: 12px;
  padding: 1px 4px;
  border: 1px solid #000;
  background: #fff;
  letter-spacing: .5px;
}
.section-title{
  display: inline-block;
  margin: 0;
  font-size: 18px;
  letter-spacing: .2px;
}
.section-body{
  padding: 10px 12px;
}
.subbox{
  border: 1px solid #000;
  background: #fff;
  margin: 8px 0 12px;
}
.subbox-head{
  padding: 5px 8px;
  border-bottom: 1px solid #000;
  background: #f2f2f2;
  font-weight: 700;
}
.subbox > pre{
  margin: 0;
  padding: 10px 12px;
  background: #fff;
  border-top: none;
  font-family: var(--mono-stack);
  white-space: pre-wrap;
}

/* FAQ */
.qa{ margin: 6px 0 10px; }
.q{ font-weight: 700; }
.a{ margin-top: 2px; }

/* 两列栅格 */
.grid-2{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 900px){
  .grid-2{ grid-template-columns: 1fr 1fr; }
}
.grid-col{ min-width: 0; }

/* 列表间距（复古密度） */
.section-body .dense-list li + li{ margin-top: .4em; }

/* 标题紧贴 */
.section-title + *{ margin-top: 0; }

/* =========================================================
   Markdown 邮件模板（双卡片 + 复制按钮）
   ========================================================= */
.copy-card{
  border:1px solid #000;
  background:#f5f5f5;
  margin:8px 0 12px;
  box-shadow:2px 2px 0 #000;
}
.copy-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:4px 8px;
  border-bottom:1px dotted #000;
  background:#eee;
}
.copy-title{
  font-weight:700;
  font-size:14px;
  letter-spacing:.2px;
}
.copy-card pre{
  margin:0;
  padding:8px 10px;
  background:transparent;
  border:none;
  color:#111;
  font-family: var(--mono-stack);
  font-size:13px;
  line-height:1.45;
  white-space:pre-wrap;
}
.copy-btn{
  border:1px solid #000;
  background:#e0e0e0;
  padding:2px 8px;
  font: inherit;
  cursor:pointer;
}
.copy-btn:hover,
.copy-btn:focus{ outline:1px dotted #000; outline-offset:2px; }
.copy-btn:active{ outline:3px solid currentColor; outline-offset:1px; }
@media (max-width:900px){
  .copy-card pre{ font-size:14px; line-height:1.5; }
}

/* =========================================================
   基础排版与背景
   ========================================================= */
html, body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  color: #000;
  font-family: var(--mono-stack);
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: auto;
}
/* 背景瓷砖纹理 */
.bg-tiles {
  background-image:
    repeating-linear-gradient(0deg, rgba(0,0,0,0.03) 0, rgba(0,0,0,0.03) 1px, transparent 1px, transparent 8px),
    repeating-linear-gradient(90deg, rgba(0,0,0,0.03) 0, rgba(0,0,0,0.03) 1px, transparent 1px, transparent 8px);
}

/* 链接（粗下划线 & 虚线聚焦） */
a {
  color: #0000EE;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
}
a:focus, a:hover {
  outline: 1px dotted #000;
  outline-offset: 2px;
}
/* 行内链接（无过渡、无圆角、点击粗描边） */
a.inline-link {
  color: #005fa3;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
  padding: 1px 2px;
  border-radius: 0;
  -webkit-tap-highlight-color: transparent;
  transition: none;
}
a.inline-link:hover,
a.inline-link:focus {
  color: #007acc;
  outline: 1px dotted #000;
  outline-offset: 2px;
  background: none;
}
a.inline-link:active,
a.inline-link:focus-visible {
  outline: 3px solid currentColor !important;
  outline-offset: 1px;
  background: none;
}

/* 稠密列表间距（全局） */
.dense-list li + li { margin-top: 1.4em; }

/* 跳到正文 */
.skip-link {
  position: absolute; left: -9999px; top: -9999px;
}
.skip-link:focus {
  left: 8px; top: 8px;
  background: #ff0; color: #000;
  padding: 4px 6px; border: 1px solid #000;
}

/* =========================================================
   布局（表格样式的复古布局）
   ========================================================= */
table.layout { width: 100%; border-collapse: collapse; }
.banner-row .banner { background: #e5e5e5; border-bottom: 2px solid #000; }
.center { text-align: center; }

.logo-area { padding: 8px 12px 4px; font-size: 20px; }
.logo-area .dept { font-weight: 700; letter-spacing: .2px; }
.logo-area .sub { margin-left: 8px; font-style: italic; font-size: 14px; color: #333; letter-spacing: .2px; }

/* 顶部蓝色分栏导航（基础；主题里有再覆盖） */
nav.topbar {
  display: flex !important;
  align-items: stretch;
  background: linear-gradient(180deg,#2b79c2 0%, #2267a8 100%) !important;
  border-top: 1px solid #1e5e97;
  border-bottom: 1px solid #0f3f68;
  padding: 0;
  overflow-x: auto;
  position: sticky; top: 0; z-index: 100;
}
nav.topbar a.tab {
  display: inline-block;
  padding: 12px 18px;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,0.15);
}
nav.topbar a.tab:hover { background: linear-gradient(180deg,#3688d8 0%, #2a73bb 100%); }
nav.topbar a.tab.active {
  background: linear-gradient(180deg,#1e5f99 0%, #184f81 100%);
  box-shadow: inset 0 2px 6px rgba(0,0,0,.35);
}
nav.topbar a.tab:focus { outline: 2px solid #9fd7ff; outline-offset: -2px; }
@media (max-width: 900px){
  nav.topbar a.tab { padding: 10px 14px; }
}

/* 跑马灯 */
.ticker {
  background: #f5f5f5;
  border-top: 1px solid #000; border-bottom: 1px solid #000;
  padding: 4px 8px; font-size: 13px;
}
.ticker.alt { background: #f0f0f0; }

/* Under Construction + 闪烁 */
.under-construction {
  text-align: center; font-weight: 700;
  padding: 6px 8px; border-bottom: 2px solid #000;
  background: #fff9d6;
}
.blink { animation: blink 1.2s steps(2, jump-none) infinite; }
@keyframes blink { 50% { opacity: 0; } }

/* 侧栏 */
.sidebar {
  width: 260px;
  vertical-align: top;
  border-right: 1px solid #000;
  background: #fafafa;
  padding: 8px;
}
@media (min-width: 901px) {
  .sidebar { position: relative; }
  .sidebar-inner {
    position: sticky;
    top: 0;
    /* 需要时可限制高度并滚动：
       max-height: calc(100vh - 0px);
       overflow: auto;
    */
  }
}
@media (max-width: 900px) {
  .sidebar { display: none !important; }
  body.nav-open .sidebar { display: block !important; }
}
.nav-box { border: 1px solid #000; padding: 6px 8px; margin-bottom: 10px; background: #fff; }
.nav-title { font-weight: 700; border-bottom: 1px solid #000; margin-bottom: 6px; letter-spacing: .2px; }
.nav-list { list-style: square inside; margin: 0; padding: 0; }
.nav-list li { margin: 4px 0; }

/* 内容区与标题 */
.content { padding: 12px 16px; }
.main h1 { margin: 8px 0 2px; font-size: 24px; border-bottom: 2px solid #000; letter-spacing: .2px; }
.main h2 { font-size: 18px; margin-top: 18px; letter-spacing: .2px; }
.intro { background: #f9f9f9; border: 1px solid #000; padding: 8px 10px; }

/* 页脚 */
.footer {
  text-align: center; border-top: 2px solid #000;
  background: #efefef; padding: 10px 6px 16px; font-size: 12px;
}

/* 高对比度模式 */
body.contrast-high { background: #000; color: #0f0; }
body.contrast-high a { color: #0ff; }
body.contrast-high .sidebar,
body.contrast-high .nav-box,
body.contrast-high .intro,
body.contrast-high .footer,
body.contrast-high .banner { background: #000; color: #0f0; border-color: #0f0; }
body.contrast-high .ticker { background: #010; border-color: #0f0; }

/* 打印 */
@media print {
  .sidebar, .ticker, .skip-link, .mobile-menu, .under-construction, .badges, .webring {
    display: none !important;
  }
  .content { padding: 0; }
  a { color: #000; text-decoration: none; }
}

/* 移动端堆叠 */
@media (max-width: 900px) {
  html, body { font-size: 18px; line-height: 1.55; }
  table.layout, table.layout tr, table.layout td { display: block; width: 100% !important; }
  .sidebar { border-right: none; border-top: 1px solid #000; }
  .nav-list li { margin: 8px 0; }
  a { line-height: 1.6; }
  .content { padding: 12px; }
  .logo-area { font-size: 22px; }
  .main h1 { font-size: 22px; }
  .main h2 { font-size: 18px; }
  .sitemap { columns: 1; }
}

/* =========================================================
   同意条（复古条形提示）
   ========================================================= */
.consent-banner{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;           /* 顶部显示可把 bottom 改成 auto 并加 top:12px; */
  z-index: 9999;          /* 盖过粘顶导航 */
  border: 1px solid #000;
  background: #fff;
  padding: 8px 10px;
  font-family: var(--mono-stack, ui-monospace, monospace);
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 3px 3px 0 #000;
}
.consent-title{ font-weight: 700; }
.consent-actions{ margin-left: auto; display: flex; gap: 8px; }
.consent-actions .btn{
  border: 1px solid #000;
  background: #f2f2f2;
  padding: 4px 8px;
  font: inherit;
  cursor: pointer;
}
.consent-actions .btn:focus,
.consent-actions .btn:hover{ outline: 1px dotted #000; outline-offset: 2px; }
.consent-actions .btn-yes{ background:#d9ffd9; }
.consent-actions .btn-no{ background:#ffe5e5; }

/* =========================================================
   叠加主题：.theme-gov
   （以下为合并后的最终值；若与上文冲突，以此为准）
   ========================================================= */
.theme-gov {
  /* —— 变量：采用你“更饱和”版本 —— */
  --gov-blue: #12325f;      /* 深蓝更浓（覆盖之前 #1b3a6b） */
  --gov-blue-2: #0a2446;    /* 覆盖之前 #0f2b52 */
  --gov-red:  #b40a1b;      /* 更鲜的红（覆盖之前 #b22234） */
  --gov-gold: #d2a84a;      /* 覆盖之前 #caa23a */
  --gov-white:#ffffff;
  --gov-ink:  #111;
}

/* 顶部导航（在基础 nav.topbar 上覆盖更饱和的层次与阴影） */
.theme-gov nav.topbar {
  background: linear-gradient(180deg, var(--gov-blue) 0%, var(--gov-blue-2) 100%) !important;
  border-top: 3px solid var(--gov-red);                 /* 覆盖前面的 1/2px */
  border-bottom: 2px solid #06182e;                     /* 覆盖前面的 1/2px */
  box-shadow: 0 2px 6px rgba(0,0,0,.25);                /* 新增闪光感 */
}
.theme-gov nav.topbar a.tab{
  color:#fff !important;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
  border-right:1px solid rgba(255,255,255,.15);
  position:relative;
}
.theme-gov nav.topbar a.tab + a.tab::before{
  content:"★";
  position:absolute; left:-10px; top:50%; transform:translateY(-50%);
  font-size:10px; color:rgba(255,255,255,.65);
}
.theme-gov nav.topbar a.tab:hover{
  background: linear-gradient(180deg,#305c9c 0%,#23477b 100%); /* 覆盖更亮 */
  text-shadow: 0 0 3px rgba(255,255,255,.4);
}
.theme-gov nav.topbar a.tab:focus{
  outline:2px dotted #fff; outline-offset:-2px;
}

/* Logo 细节 */
.theme-gov .logo-area{ color:var(--gov-ink); }
.theme-gov .logo-area .dept{
  font-weight:900;
  letter-spacing:.8px;
  border-left:4px solid var(--gov-blue);
  padding-left:10px;
}
.theme-gov .logo-area .sub{ color:#445; letter-spacing:.4px; }

/* Section 头部与标题（覆盖基础蓝条为深蓝渐变） */
.theme-gov .section-box{
  border:1px solid #000; border-radius:0; box-shadow:none;
}
.theme-gov .section-head{
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
  background: linear-gradient(90deg, var(--gov-blue) 0%, #204f93 60%, #183c70 100%);
  color:#fff; border-bottom:2px solid var(--gov-red);
  padding:6px 10px;         /* 覆盖基础的 6px 8px */
}
.theme-gov .section-tag{
  border:1px solid rgba(255,255,255,.7);
  background: rgba(255,255,255,.08);
  color:#fff; opacity:1; letter-spacing:.5px;
}
.theme-gov .section-title{
  color:#fff; letter-spacing:.8px; font-weight:800;
}

/* 子盒头部微调 */
.theme-gov .subbox-head{
  background:#e9eff8;
  border-bottom:1px dotted #6d86ab;
}

/* 内容区域：淡淡星阵水印 */
.theme-gov .content{
  position:relative;
  background-image:
    radial-gradient(rgba(0,0,0,0.02) 0.7px, transparent 0.7px),
    radial-gradient(rgba(0,0,0,0.02) 0.7px, transparent 0.7px);
  background-size: 16px 16px;
  background-position: 0 0, 8px 8px;
}
.theme-gov .content::before{
  content:"PUBLIC RESOURCE";
  position:absolute; right:0; top:-22px;
  font-size:10px; letter-spacing:1px; font-weight:800;
  color:#fff; background:var(--gov-blue);
  padding:2px 6px;
  border-left:3px solid var(--gov-red);
}

/* 主标题：星条边 */
.theme-gov .main h1 {
  border-bottom: 3px double var(--gov-blue);   /* 覆盖原 2px 实线 */
  padding-bottom: 4px;
  background: linear-gradient(90deg, var(--gov-red) 0 4px, transparent 4px);
}

/* 页脚：带淡条纹 */
.theme-gov .footer{
  border-top:4px solid var(--gov-blue);
  box-shadow: inset 0 4px 0 var(--gov-red);
  background:#f3f6fb;
  color:#223;
  position: relative;                /* 为伪元素定位 */
}
.theme-gov .footer::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  height: 4px; width: 100%;
  background: repeating-linear-gradient(
    90deg,
    var(--gov-red) 0, var(--gov-red) 12px,
    var(--gov-white) 12px, var(--gov-white) 24px
  );
  opacity: .25;
}

/* 同意条按钮配色（主题） */
.theme-gov .consent-actions .btn-yes{ background:#e8f6ff; }
.theme-gov .consent-actions .btn-no{ background:#fff0f0; }

/* 链接聚焦（主题色） */
.theme-gov a:focus, .theme-gov a:hover{
  outline:2px dotted var(--gov-blue);
  outline-offset:2px;
}
.theme-gov a.inline-link:active, .theme-gov a.inline-link:focus-visible{
  outline:3px solid currentColor !important;
  outline-offset:1px;
}

/* 跑马灯（主题底色） */
.theme-gov .ticker{ border-color:#000; background:#f9fbff; }
.theme-gov .ticker.alt{ background:#f2f6ff; }

/* 复制按钮（金属质感） */
.theme-gov .copy-btn {
  background: linear-gradient(180deg,#f2f2f2 0%,#d8d8d8 100%);
  border: 1px solid #000;
  box-shadow: inset 0 1px 0 #fff, 1px 1px 0 #000;
}
.theme-gov .copy-btn:hover {
  background: linear-gradient(180deg,#ffffff 0%,#eaeaea 100%);
}

,0.09) 1px, transparent 3px),
    radial-gradient(circle at 90% 10%, rgba(255,255,255,0.08) 1px, transparent 3px),
    /* 原有网格 */
    repeating-linear-gradient(0deg, rgba(0,0,0,0.02) 0, rgba(0,0,0,0.02) 1px, transparent 1px, transparent 8px),
    repeating-linear-gradient(90deg, rgba(0,0,0,0.02) 0, rgba(0,0,0,0.02) 1px, transparent 1px, transparent 8px);
  background-blend-mode: overlay, screen, screen, screen, screen, multiply, multiply;
  background-size: auto, 900px 700px, 800px 600px, 700px 500px, 600px 400px, auto, auto;
  background-position: center;
}






/* Updates：筛选区 */
.updates-controls{
  display:flex; gap:8px; flex-wrap:wrap; align-items:center;
  margin: 6px 0 12px;
}
.updates-controls select,
.updates-controls input{
  border:1px solid #000; background:#fff; padding:4px 6px; font:inherit;
}

/* Updates：卡片栅格 */
.updates-grid{
  display:grid; gap:12px;
  grid-template-columns: 1fr;
}
@media (min-width: 800px){
  .updates-grid{ grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1200px){
  .updates-grid{ grid-template-columns: 1fr 1fr 1fr; }
}

/* Updates：卡片 */
.update-card{
  border:1px solid #000; background:#fff; box-shadow:2px 2px 0 #000;
  display:flex; flex-direction:column; min-width:0;
}
.update-cover{
  aspect-ratio: 16 / 9; background:#eee; display:block; width:100%; object-fit:cover; border-bottom:1px dotted #000;
}
.update-body{ padding:8px 10px; display:flex; flex-direction:column; gap:6px; }
.update-title{
  font-weight:800; font-size:16px; margin:0; line-height:1.3;
}
.update-meta{
  font-size:12px; color:#333; display:flex; gap:8px; flex-wrap:wrap;
}
.update-excerpt{ font-size:13px; line-height:1.45; color:#111; }
.update-links{
  display:flex; gap:8px; flex-wrap:wrap; margin-top:6px;
}
.update-links a{
  color:#005fa3; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:2px;
}

/* 主题融合微调 */
.theme-gov .update-card{ box-shadow:1px 1px 0 #000; }
.theme-gov .update-links a:hover{ outline:1px dotted var(--gov-blue); }

/* 标题/摘要多行省略，卡片更整洁 */
.update-title a{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;      /* 标题 1 行省略 */
  overflow:hidden;
}
.update-excerpt{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;      /* 摘要最多 5 行 */
  overflow:hidden;
}








/* === 简约复古地图预览（Minimal Retro）=== */
.mpv{
  border:1px solid #000;
  box-shadow:3px 3px 0 #000;
  background:#fff;
  font-family: var(--mono-stack, ui-monospace, Menlo, Consolas, monospace);
  margin:12px 0 18px;
}

/* 顶部条：左“▶ 地图预览”，右“查看完整地图” */
.mpv__bar{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; padding:6px 8px;
  background:
    repeating-linear-gradient(90deg,#e8f2ff 0,#e8f2ff 2px,transparent 2px,transparent 6px),
    #f4f8ff;
  border-bottom:1px dashed #000;
}

/* 按钮：直接使用全站 .copy-btn 的样式；只加一点微调 */
.mpv__toggle.copy-btn{
  display:inline-flex; align-items:center;
  padding:4px 8px;           /* 与筛选/重置同感受 */
  line-height:1;             /* 让箭头上下更居中 */
}

/* 右侧链接沿用正文 .inline-link，只加粗一点 */
.mpv__bar .inline-link{ font-weight:700; }

/* 可折叠面板：height 过渡；16:9 高度用 JS 设置 */
.mpv__panel{
  position:relative;
  overflow:hidden;
  height:0;
  opacity:0;
  transition: height .35s ease, opacity .25s ease;
  background:#000;
  border-top:1px solid #000;
}
#mpv[data-state="expanded"] .mpv__panel{ opacity:1; }

/* iframe 铺满 */
.mpv__frame{
  position:absolute; inset:0; width:100%; height:100%; border:0; display:block;
}

@media (max-width:980px){
  .mpv__bar{ padding:6px; }
  .mpv__toggle.copy-btn{ padding:4px 6px; }
}
