﻿*{box-sizing:border-box}
html{min-height:100%;background:#c7d7ea}
body{
  margin:0;
  min-height:100%;
  font-family:Arial,"宋体",SimSun,sans-serif;
  font-size:12px;
  color:#1b2c3d;
}
a{color:#064f96;text-decoration:none}
a:hover{text-decoration:underline;color:#b40000}

.intro-page{
  background:#3a6ea5;
  color:#000;
  overflow:hidden;
  height:100vh;
}

/* ===== Windows 桌面 ===== */
.win-desktop{
  position:relative;
  width:100%;
  height:100vh;
  background:linear-gradient(180deg,#245b8c 0,#3a7ec4 35%,#8db4d8 100%);
  font-family:"Tahoma","宋体",SimSun,sans-serif;
  font-size:12px;
  overflow:hidden;
  user-select:none;
}

/* 桌面图标 */
.desktop-icons{
  position:absolute;
  top:12px;
  left:12px;
  display:flex;
  flex-direction:column;
  gap:14px;
  z-index:1;
}
.desktop-icon{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:72px;
  padding:6px 4px;
  border:1px solid transparent;
  border-radius:3px;
  cursor:default;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
  text-align:center;
  line-height:1.3;
}
.desktop-icon:hover{
  background:rgba(255,255,255,.15);
  border-color:rgba(255,255,255,.3);
}
.icon-img{
  font-size:28px;
  margin-bottom:2px;
  display:block;
}

/* ===== 浏览器窗口 ===== */
.old-browser{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:min(680px,94vw);
  border:2px solid #0054e3;
  border-top:0;
  background:#fff;
  box-shadow:4px 4px 20px rgba(0,0,0,.35);
  border-radius:0 0 8px 8px;
  z-index:10;
}

/* 标题栏 */
.window-titlebar{
  display:flex;
  align-items:center;
  gap:6px;
  padding:4px 6px 4px 8px;
  background:linear-gradient(180deg,#2a6fd1 0,#1a4fa8 3%,#003d92 50%,#1a4fa8 97%,#2a6fd1 100%);
  border-radius:6px 6px 0 0;
  color:#fff;
  font-size:12px;
  font-weight:bold;
}
.window-title-icon{
  font-size:14px;
}
.window-title-text{
  flex:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.window-controls{
  display:flex;
  gap:2px;
}
.window-controls span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:21px;
  height:21px;
  border-radius:3px;
  background:linear-gradient(180deg,#3a8af0,#1a54c0);
  border:1px solid rgba(255,255,255,.2);
  font-size:10px;
  cursor:default;
  font-weight:normal;
}
.window-controls span:last-child{
  background:linear-gradient(180deg,#e88b5e,#c42c1c);
  margin-left:2px;
}
.window-controls span:hover{filter:brightness(1.2)}

/* 菜单栏 */
.window-menubar{
  display:flex;
  gap:2px;
  padding:2px 6px;
  background:#eaf0fc;
  border-bottom:1px solid #bcc7d7;
  font-size:11px;
  color:#1a1a1a;
}
.window-menubar span{
  padding:2px 6px;
  cursor:default;
  border-radius:2px;
}
.window-menubar span:hover{background:#c6d6f0}

/* 工具栏 */
.window-toolbar{
  display:flex;
  gap:4px;
  padding:3px 6px;
  background:#eef3fa;
  border-bottom:1px solid #d0dae6;
  font-size:11px;
  color:#333;
}
.window-toolbar span{
  padding:2px 8px;
  border:1px solid transparent;
  border-radius:2px;
  cursor:default;
}
.window-toolbar span:hover{
  border-color:#acaeb5;
  background:#f0f0f0;
}

/* 地址栏 */
.window-addressbar{
  display:flex;
  align-items:center;
  gap:6px;
  padding:4px 6px;
  background:#eef3fa;
  border-bottom:1px solid #bcc7d7;
  font-size:11px;
}
.addr-label{
  color:#555;
}
.addr-path{
  flex:1;
  padding:3px 6px;
  border:1px solid #7e9ab7;
  background:#fff;
  color:#1a1a1a;
}

/* 文件表格 */
.window-content{
  background:#fff;
  min-height:180px;
  max-height:260px;
  overflow-y:auto;
}
.file-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.file-table thead{
  position:sticky;
  top:0;
  z-index:1;
}
.file-table th{
  background:linear-gradient(#fff,#e8eef5);
  border-bottom:1px solid #bcc7d7;
  padding:5px 8px;
  text-align:left;
  font-weight:normal;
  color:#333;
  cursor:default;
  white-space:nowrap;
}
.file-table th:first-child{padding-left:12px}
.file-table td{
  padding:4px 8px;
  border-bottom:1px solid #f0f0f0;
  color:#1a1a1a;
  cursor:default;
}
.file-table td:first-child{padding-left:12px}
.file-table tr:hover td{background:#e8f0fe}
.file-table .active-row td{
  background:#316ac5;
  color:#fff;
}

/* 状态栏 */
.window-statusbar{
  display:flex;
  justify-content:space-between;
  padding:4px 10px;
  background:#eef3fa;
  border-top:1px solid #bcc7d7;
  font-size:11px;
  color:#444;
}
.enter-site{
  display:inline-block;
  padding:6px 20px;
  border:1px solid #003c74;
  background:linear-gradient(#fff,#e0e0e0);
  color:#1a1a1a;
  font-size:12px;
  cursor:pointer;
  text-decoration:none;
  border-radius:3px;
  box-shadow:0 1px 1px rgba(0,0,0,.1);
}
.enter-site:hover{
  background:linear-gradient(#e8f0fe,#cce0ff);
  border-color:#0054e3;
  color:#003d92;
  text-decoration:none;
}

/* ===== 弹窗对话框 ===== */
.win-dialog{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,30px);
  width:min(420px,88vw);
  background:#ece9d8;
  border:2px solid #0054e3;
  border-radius:8px 8px 0 0;
  box-shadow:4px 4px 20px rgba(0,0,0,.4);
  z-index:50;
  animation:dialogIn .25s ease-out;
}
@keyframes dialogIn{
  from{opacity:0;transform:translate(-50%,60px)}
  to{opacity:1;transform:translate(-50%,30px)}
}
.dialog-titlebar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:6px 8px;
  background:linear-gradient(180deg,#2a6fd1 0,#1a4fa8 3%,#003d92 50%,#1a4fa8 97%,#2a6fd1 100%);
  border-radius:6px 6px 0 0;
  color:#fff;
  font-size:12px;
  font-weight:bold;
}
.dialog-close{
  cursor:default;
  width:21px;
  height:21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#e88b5e,#c42c1c);
  border:1px solid rgba(255,255,255,.2);
  border-radius:3px;
  font-size:10px;
  font-weight:normal;
}
.dialog-body{
  padding:16px 20px;
  font-size:12px;
  color:#1a1a1a;
  line-height:1.8;
}
.dialog-body p{margin:0 0 10px}
.dialog-buttons{
  margin-top:14px;
  text-align:center;
}

/* ===== 任务栏 ===== */
.win-taskbar{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:36px;
  background:linear-gradient(180deg,#3c6ec4 0,#245b9c 3%,#1a4a82 50%,#245b9c 97%,#3c6ec4 100%);
  border-top:2px solid #5a9adf;
  display:flex;
  align-items:center;
  padding:0 4px;
  gap:4px;
  z-index:100;
  box-shadow:0 -2px 8px rgba(0,0,0,.2);
}
.start-btn{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 12px;
  background:linear-gradient(180deg,#59a850 0,#2b7a28 50%,#1f5e1c 100%);
  color:#fff;
  border-radius:0 8px 8px 0;
  font-size:12px;
  font-weight:bold;
  cursor:default;
  text-shadow:0 1px 1px rgba(0,0,0,.4);
  letter-spacing:1px;
}
.start-btn:hover{filter:brightness(1.1)}
.taskbar-windows{
  flex:1;
  display:flex;
  gap:3px;
}
.taskbar-item{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:3px 10px;
  background:linear-gradient(180deg,#f0f0f0,#d8d8d8);
  border:1px solid #888;
  border-radius:2px;
  font-size:11px;
  color:#1a1a1a;
  cursor:default;
  max-width:180px;
  overflow:hidden;
  white-space:nowrap;
}
.taskbar-item.active{
  background:linear-gradient(180deg,#eaf0fc,#c6d6f0);
  border-color:#0054e3;
}
.taskbar-tray{
  display:flex;
  align-items:center;
  gap:6px;
  padding:2px 8px;
  background:linear-gradient(180deg,#1f5ec4,#0e3d7a);
  border-left:1px solid #1a4a82;
  color:#fff;
  font-size:11px;
  height:100%;
}
.taskbar-clock{font-weight:bold}

.portal-page{
  background:#b8d0ec url("data:image/gif;base64,R0lGODlhBAAEAIAAAP////D4+yH5BAAAAAAALAAAAAAEAAQAAAIFhI8WADs=") repeat;
  position:relative;
}
/* 极淡纸张噪点叠加层 */
.portal-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  opacity:.6;
}
.site-wrap{
  width:980px;
  margin:10px auto 24px;
  background:#fff;
  border:1px solid #6d91bd;
  box-shadow:0 0 0 4px rgba(255,255,255,.45);
}
.portal-header{
  background:#eaf4ff;
  border-bottom:3px solid #0a5d9f;
}
.utility{
  text-align:right;
  background:#f5fbff;
  border-bottom:1px solid #a7c2de;
  color:#5b6f83;
  padding:4px 8px;
  font-size:11px;
}
.utility a{color:#5b6f83;margin:0 2px}
.utility a:hover{color:#b40000}
.logo-row{
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  gap:12px;
  padding:12px;
  background:linear-gradient(#f7fbff,#d5e9ff);
}
.logo-row h1{
  margin:0;
  color:#004c91;
  font-size:34px;
  font-family:"黑体",SimHei,Arial,sans-serif;
  letter-spacing:2px;
}
.logo-row p{margin:4px 0 0;color:#517393}
.weather-box{
  min-width:160px;
  border:1px solid #8eb0d5;
  background:linear-gradient(#fff,#f0f7ff);
  padding:8px;
  line-height:1.7;
  text-align:center;
  font-size:11px;
}
.weather-box strong{color:#b40000;font-size:13px}
.weather-box small{color:#7a8794}
.nav-bar{
  display:flex;
  flex-wrap:wrap;
  background:linear-gradient(#2f80cb,#075a9c);
  border-top:1px solid #6ea4d4;
}
.nav-bar a{
  color:white;
  padding:7px 13px;
  border-right:1px solid rgba(255,255,255,.28);
  font-weight:bold;
}
.nav-bar a:hover{background:#003e73;text-decoration:none}
.portal-search{
  display:flex;
  gap:6px;
  padding:8px;
  background:#f2f8ff;
  border-top:1px solid #a7c2de;
}
.portal-search input{
  flex:1;
  min-width:0;
  height:25px;
  border:1px solid #7aa1c8;
  padding:3px 6px;
  font-size:12px;
}
.portal-search button{
  width:70px;
  border:1px solid #275f9a;
  background:#1f6fb4;
  color:white;
  font-size:12px;
  cursor:pointer;
}
.marquee{
  margin:8px;
  padding:6px 8px;
  border:1px solid #e0b15c;
  background:#fff7d6;
  color:#8a5300;
  font-size:11px;
  letter-spacing:0.5px;
}
.portal-grid{
  display:grid;
  grid-template-columns:170px 1fr 220px;
  gap:8px;
  padding:0 8px 8px;
}
.portal-box{
  border:1px solid #8eb0d5;
  background:#fff;
  margin-bottom:8px;
}
.portal-box h2{
  margin:0;
  padding:5px 8px;
  border-bottom:1px solid #8eb0d5;
  background:linear-gradient(#e9f5ff,#cbe4ff);
  color:#064f96;
  font-size:13px;
  font-weight:bold;
}
.headline-box h2{background:linear-gradient(#fff4d0,#ffd36f);border-color:#e0b15c;color:#8a5300}
.left-col .portal-box h2{background:linear-gradient(#eef7ff,#d6eaff)}
.right-col .portal-box h2{background:linear-gradient(#f5fafe,#e0efff)}
.dense-list{
  list-style:none;
  margin:0;
  padding:6px 8px;
  line-height:1.9;
}
.dense-list li{border-bottom:1px dotted #c8d8e8;cursor:pointer}
.dense-list li:hover{background:#f4f9ff}
.link-list{padding:6px}
.portal-link{
  display:block;
  padding:7px 8px;
  border-bottom:1px dotted #b8c8da;
  color:#1b2c3d;
}
.portal-link:hover{background:#f1f7ff;text-decoration:none}
.portal-link strong{display:block;font-size:14px;color:#064f96}
.portal-link em,.link-date{
  display:inline-block;
  margin-right:6px;
  font-style:normal;
  color:#7a8794;
  font-size:11px;
}
.portal-link p{margin:5px 0 0;line-height:1.65;color:#4d5c68}
.portal-link.compact strong{font-size:12px}
.portal-photo-link{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:9px 8px;
}
.portal-photo-thumb{
  display:block;
  width:110px;
  height:82px;
  overflow:hidden;
  border:1px solid #b7a985;
  background:#efe6c9;
  color:#8a7a57;
  font-size:11px;
  line-height:82px;
  text-align:center;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.35);
  flex-shrink:0;
}
.portal-photo-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:sepia(.28) contrast(.88) saturate(.74);
}
.portal-photo-copy{
  min-width:0;
}
.photo-list .portal-link p{
  margin-top:4px;
}
.bbs-link{
  display:block;
  margin:6px 8px;
  padding-bottom:6px;
  border-bottom:1px dotted #c8d8e8;
}
.bbs-link.locked{color:#8a5300}
.portal-footer{
  padding:12px 10px;
  text-align:center;
  background:#edf5ff;
  border-top:1px solid #9bb9da;
  color:#667;
  font-size:11px;
  line-height:1.8;
}
.portal-footer p{margin:3px 0}
.mini-header{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:center;
  padding:8px;
  background:#eaf4ff;
  border-bottom:3px solid #0a5d9f;
}
.mini-header > a{
  font-weight:bold;
  color:#004c91;
  font-size:18px;
}
.mini-header .portal-search{grid-column:1 / -1;padding:0;background:transparent;border:0}
.content-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:8px;
  padding:8px;
}
.page-title-strip{
  display:flex;
  justify-content:space-between;
  padding:5px 8px;
  border:1px solid #8eb0d5;
  background:#eaf4ff;
  color:#557089;
}
.portal-article{
  background:#fff;
  border:1px solid #8eb0d5;
  padding:18px 22px;
  line-height:1.9;
}
.portal-article h1{
  margin:0 0 10px;
  color:#003f7a;
  font-size:24px;
  font-family:"黑体",SimHei,Arial,sans-serif;
}
.article-summary{
  margin:0 0 12px;
  padding:6px 8px;
  border:1px solid #c5d5e6;
  background:#f7fbff;
  color:#4e6175;
  font-size:12px;
  line-height:1.75;
}
.article-summary span{
  color:#557089;
  font-weight:bold;
  margin-right:4px;
}
.article-summary.photo-summary{
  border-color:#d6c99d;
  background:#fffdf3;
  color:#5f563f;
}
.old-photo{
  margin:14px 0;
  padding:10px;
  border:1px solid #bbb;
  background:#f7f1df;
  width:min(520px,100%);
}
.old-photo img{
  display:block;
  width:100%;
  filter:sepia(.28) contrast(.9) saturate(.78);
}
.old-photo figcaption{
  margin-top:7px;
  color:#5b5446;
  font-size:11px;
  line-height:1.6;
}
.old-photo-gallery{
  margin:16px 0 14px;
}
.old-photo-gallery h2{
  margin:0 0 8px;
  padding-bottom:4px;
  border-bottom:1px solid #d6c99d;
  color:#6b5c38;
  font-size:13px;
}
.old-photo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,260px));
  gap:10px;
  justify-content:start;
}
.old-photo-extra{
  width:100%;
  margin:0;
}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.tag-row span{
  border:1px solid #aac2dc;
  background:#f0f7ff;
  color:#365f87;
  padding:2px 6px;
  font-size:11px;
}
.source-line{
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid #ddd;
  color:#777;
  font-size:11px;
}

/* 镜像缓存备注——反白隐藏，搜索触发后可见 */
.mirror-notes{
  margin-top:20px;
  padding:10px 12px;
  border:1px dashed transparent;
  background:#fafcff;
  color:transparent;
  font-size:11px;
  line-height:1.7;
  opacity:0;
  max-height:0;
  overflow:hidden;
  transition:opacity .4s,max-height .4s,border-color .4s,color .3s;
  user-select:none;
}
.mirror-notes.visible{
  opacity:1;
  max-height:600px;
  border-color:#c8d8e8;
  color:#8899aa;
  user-select:text;
}
.mirror-notes h3{
  margin:0 0 6px;
  font-size:11px;
  color:inherit;
  font-weight:normal;
  letter-spacing:0.5px;
}
.mirror-disclaimer{
  margin:8px 0 0;
  color:inherit;
  font-size:10px;
  opacity:.7;
}
.side-note{padding-bottom:8px}
.side-note p,.side-note a{display:block;margin:8px;line-height:1.7}
.tiny-note{color:#777;line-height:1.7}
.discovered-list{display:flex;flex-wrap:wrap;gap:5px;padding:6px}
.discovered-list a{
  border:1px solid #d6c083;
  background:#fff9e2;
  color:#8a5300;
  padding:3px 6px;
  font-size:11px;
}
.search-panel{padding-bottom:10px}
.search-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px;
  border-bottom:1px solid #8eb0d5;
  background:#eaf4ff;
}
.search-head h2{margin:0;color:#064f96;font-size:15px}
.search-note{
  margin:8px;
  padding:7px;
  border:1px dashed #d6c083;
  background:#fff9e2;
  color:#765100;
}
.result-list{padding:8px}
.result-item{
  display:block;
  border:1px solid #bfd1e4;
  background:#fff;
  margin-bottom:8px;
  padding:9px 10px;
  transition:background .12s;
}
.result-item:hover{background:#f4f9ff;text-decoration:none;border-color:#7aa1c8}
.result-item h3{margin:4px 0;color:#064f96;font-size:15px}
.result-item p{margin:0 0 5px;color:#3c4b57;line-height:1.6}
.result-item em{color:#8a5300;font-style:normal;font-size:11px}
.result-kind{font-size:11px;color:#777}
.result-archive{border-color:#b8aa86;background:#fffaf0}
.result-archive:hover{background:#fff8e0;border-color:#a89462}
.result-forum{border-color:#aaa;background:#f7f7f7}
.result-forum:hover{background:#eee;border-color:#888}
.search-empty{
  padding:24px;
  background:#fff;
  line-height:1.8;
}
.error-box{
  position:fixed;
  right:12px;
  bottom:12px;
  max-width:340px;
  padding:10px;
  border:1px solid #b40000;
  background:#fff0f0;
  color:#8b0000;
}

.archive-page{
  background:radial-gradient(ellipse at 50% 30%,#e8ddc0 0,#d9d0b5 40%,#c8bc9a 100%);
  font-family:"Georgia","宋体",serif;
  color:#2a241c;
  position:relative;
  min-height:100%;
}
/* 旧纸氧化纹理叠加 */
.archive-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(ellipse at 20% 80%,rgba(139,109,69,.12) 0,transparent 50%),
    radial-gradient(ellipse at 75% 15%,rgba(160,130,80,.08) 0,transparent 40%),
    radial-gradient(ellipse at 60% 70%,rgba(120,90,50,.06) 0,transparent 35%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");
  opacity:.7;
}
.archive-wrap{width:940px;margin:18px auto 36px}
.archive-header{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
  border:1px solid #bbae8d;
  background:#f5f0dc;
  padding:10px;
  box-shadow:0 2px 10px rgba(70,50,20,.12);
}
.archive-header span{
  justify-self:end;
  font-family:"Courier New",monospace;
  color:#766b57;
  font-size:11px;
  letter-spacing:1px;
}
.archive-header .portal-search{grid-column:1 / -1;background:transparent;border:0;padding:0}
.archive-gate,.archive-file{
  margin-top:16px;
  background:#f5f0dc;
  border:1px solid #bbae8d;
  padding:26px 32px;
  box-shadow:0 2px 10px rgba(70,50,20,.12);
}
.archive-gate h1,.archive-file h1{
  margin:0 0 12px;
  font-size:30px;
  font-family:"黑体",SimHei,Arial,sans-serif;
}
.archive-index{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:12px;
}
.archive-card{
  display:block;
  padding:16px;
  border:1px solid #bbae8d;
  background:#f7f2df;
  color:#2a241c;
  min-height:180px;
}
.archive-card:hover{background:#fff8e8;text-decoration:none}
.archive-card span,.archive-meta span{
  font-family:"Courier New",monospace;
  color:#8a2f2f;
  font-size:11px;
  letter-spacing:1px;
}
.archive-card h2{font-size:20px;margin:10px 0;color:#1e1a15}
.archive-card p{line-height:1.75}
.archive-card em{font-style:normal;color:#74684f;font-size:11px}
.archive-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.archive-summary{
  border-left:3px solid #8a2f2f;
  background:#eee5ca;
  padding:10px 14px;
  line-height:1.8;
}
.archive-sources,.archive-section,.archive-related{
  margin-top:18px;
  border-top:1px solid #d0c4a6;
  padding-top:14px;
}
.archive-section h2,.archive-sources h2,.archive-related h2{
  margin:0 0 8px;
  font-size:16px;
  font-family:"Courier New",monospace;
  letter-spacing:1px;
}
.archive-section p,.archive-file li{line-height:1.9}
.archive-related a{display:block;margin:6px 0}

.archive-terms{
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid #d0c4a6;
  color:#8a7a5a;
  font-size:11px;
  font-family:"Courier New",monospace;
}

.forum-page{
  background:#d4d4d4;
  color:#252525;
  position:relative;
}
/* 旧 CRT 显示器微网格 */
.forum-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 3px),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
  opacity:.5;
}
.forum-wrap{
  width:1040px;
  margin:12px auto 32px;
  background:#efefef;
  border:1px solid #888;
  padding:6px;
}
.forum-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 16px;
  background:#333;
  color:#f2f2f2;
}
.forum-header h1{margin:0;font-size:26px}
.forum-header p{margin:3px 0 0;color:#bbb}
.forum-header a{color:#fff}
.forum-wrap > .portal-search{background:#e4e4e4;border-color:#aaa;margin:0 6px}
.forum-grid{
  display:grid;
  grid-template-columns:240px minmax(0,1fr) 240px;
  gap:10px;
  padding:10px;
}
.forum-panel{
  border:1px solid #999;
  background:#fff;
  padding:10px;
}
.forum-panel h2{
  margin:0 0 8px;
  padding-bottom:6px;
  border-bottom:1px solid #ccc;
  font-size:14px;
}
.thread-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:8px;
  row-gap:2px;
  align-items:end;
  padding:10px 8px;
  border-bottom:1px solid #ddd;
  color:#333;
}
.thread-row:hover,.thread-row.active{background:#eef4ff;text-decoration:none}
.thread-row.locked{background:#f8f0e8}
.thread-row .thread-meta{
  grid-column:1 / -1;
  color:#999;
  font-size:11px;
  margin-bottom:3px;
}
.thread-row .thread-meta span{margin-right:8px}
.thread-row h3{
  grid-column:1;
  margin:2px 0;
  font-size:13px;
  color:#064f96;
  min-width:0;
}
.thread-row .thread-replies{
  grid-column:2;
  color:#999;
  font-size:11px;
  white-space:nowrap;
}
.forum-post h2{font-size:20px;margin:8px 0 12px}
.forum-post p{line-height:1.9}
.forum-post.locked{
  background:#faf1e6;
  border:1px dashed #b28b60;
  padding:12px;
}
.locked-line{color:#8a5300}

/* ===== Discuz! 风格 Postbit 布局 ===== */
.forum-thread-view{
  background:#fff;
  border:1px solid #bbb;
}
.thread-title{
  margin:0;
  padding:12px 16px;
  font-size:16px;
  border-bottom:1px solid #ddd;
  background:#fafafa;
}
.postbit{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  border-bottom:1px solid #ddd;
}
.postbit:last-child{border-bottom:0}
.postbit-op{border-bottom:2px solid #bbb}

/* 用户信息侧栏 */
.postbit-side{
  padding:12px 10px;
  background:#f5f7fa;
  border-right:1px solid #ddd;
  text-align:center;
  font-size:11px;
  color:#666;
}
.postbit-avatar{
  width:64px;
  height:64px;
  margin:0 auto 8px;
  border:1px solid #ccc;
  background:linear-gradient(#e0e5ec,#cfd5de);
  border-radius:3px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  color:#8899aa;
}
.postbit-user{
  font-weight:bold;
  font-size:13px;
  color:#064f96;
  margin-bottom:6px;
}
.postbit-info{
  margin:2px 0;
  font-size:11px;
  color:#999;
  line-height:1.5;
}

/* 帖子正文区域 */
.postbit-main{
  padding:12px 16px;
  min-width:0;
}
.postbit-head{
  padding-bottom:8px;
  margin-bottom:10px;
  border-bottom:1px dotted #ddd;
  font-size:11px;
  color:#999;
  display:flex;
  align-items:center;
  gap:10px;
}
.postbit-head .floor-num{
  background:#e8ecf2;
  color:#8899aa;
  font-weight:bold;
}
.postbit-onlyauthor{
  margin-left:auto;
  cursor:pointer;
  color:#064f96;
}
.postbit-body{
  line-height:1.9;
  font-size:13px;
  color:#252525;
  min-height:60px;
}
.postbit-body p{margin:0 0 8px}
.postbit-edit{
  margin-top:8px;
  padding:4px 8px;
  background:#f8f8f8;
  border-left:2px solid #ccc;
  color:#999;
  font-size:11px;
}
.postbit-actions{
  margin-top:10px;
  display:flex;
  gap:4px;
}
.postbit-actions span{
  padding:3px 10px;
  border:1px solid #ccc;
  background:#f8f8f8;
  color:#666;
  font-size:11px;
  cursor:default;
}
.postbit-actions span:hover{
  border-color:#7aa1c8;
  background:#e8f0fe;
}
.forum-message{padding:20px;color:#777}
.forum-hint{line-height:1.7;color:#555}
.login-form label{
  display:block;
  margin-bottom:8px;
  color:#555;
}
.login-form input{
  display:block;
  width:100%;
  height:25px;
  border:1px solid #999;
  margin-top:3px;
  padding:3px 5px;
}
.login-form button{
  width:100%;
  height:28px;
  border:1px solid #333;
  background:#444;
  color:white;
  cursor:pointer;
}
.login-message{
  padding:7px;
  background:#f1f1f1;
  border:1px solid #ccc;
  color:#666;
  line-height:1.6;
}
.user-fragments{
  list-style:none;
  padding:0;
  margin:0;
}
.user-fragments li{
  padding:7px 0;
  border-bottom:1px dotted #ccc;
}
.user-fragments strong,.user-fragments span,.user-fragments em{
  display:block;
  font-style:normal;
}
.user-fragments span,.user-fragments em{color:#777;font-size:11px}
.truth-fragment{
  margin-top:14px;
  padding:14px;
  border:2px solid #8a2f2f;
  background:#fff4ee;
}
.truth-fragment h2{color:#8a2f2f}

/* ===== 页脚访问计数器（仿旧站计数风格） ===== */
.visit-counter{
  display:inline-block;
  padding:1px 10px;
  background:linear-gradient(#f0f0f0,#e0e0e0);
  border:1px solid #bcc7d7;
  color:#5b6f83;
  font-family:"Georgia","宋体",serif;
  font-size:13px;
  letter-spacing:1px;
}

/* ===== 跑马灯公告动画 ===== */
.marquee{
  overflow:hidden;
  white-space:nowrap;
}
.marquee-inner{
  display:inline-block;
  animation:marqueeScroll 18s linear infinite;
  padding-left:100%;
}
@keyframes marqueeScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-100%)}
}

/* ===== IE 风格底部状态栏 ===== */
.portal-statusbar{
  padding:4px 10px;
  background:linear-gradient(#eef3fa,#d8e4f2);
  border-top:1px solid #bcc7d7;
  font-size:11px;
  color:#444;
  display:flex;
  justify-content:space-between;
  margin-top:0;
}

/* ===== 3D 凸起按钮（IE6 风格） ===== */
button.old-btn{
  border-width:1px;
  border-style:solid;
  border-color:#fff #555 #555 #fff;
  background:linear-gradient(#f8f8f8,#d0d0d0);
  color:#1a1a1a;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  padding:5px 14px;
  font-size:12px;
  cursor:pointer;
}
button.old-btn:active{
  border-color:#555 #fff #fff #555;
  background:linear-gradient(#ccc,#e8e8e8);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.15);
}
/* 搜索框内阴影 */
.portal-search input,
.login-form input{
  border:1px solid #7e9ab7;
  background:#fff;
  box-shadow:inset 1px 1px 2px rgba(0,0,0,.1);
  padding:3px 6px;
  font-size:12px;
}

/* ===== 旧式分隔线 ===== */
hr.old-divider{
  border:0;
  height:2px;
  background:linear-gradient(to right,transparent,#bcc7d7 20%,#bcc7d7 80%,transparent);
  margin:10px 0;
}
hr.old-groove{
  border:0;
  height:4px;
  background:linear-gradient(to bottom,#d0d8e0 0,#fff 50%,#d0d8e0 100%);
  margin:12px 0;
}

/* ===== 旧式加载 / 检索中提示 ===== */
.old-loading{
  padding:14px 20px;
  background:#f5f7fa;
  border:1px solid #bcc7d7;
  color:#557089;
  font-size:12px;
  text-align:center;
}
.old-loading::before{
  content:"⏳ ";
}
.old-progress{
  margin:8px auto;
  width:200px;
  height:12px;
  border:1px solid #7e9ab7;
  background:#fff;
  padding:1px;
}
.old-progress-bar{
  height:100%;
  background:repeating-linear-gradient(to right,#1a6fd1 0,#1a6fd1 8px,#fff 8px,#fff 10px);
  animation:progressAnim 1.5s linear infinite;
}
@keyframes progressAnim{
  from{width:0}
  to{width:100%}
}

/* ===== 照片按来源做旧差异化 ===== */
/* 网友上传 */
.photo-upload img,.portal-photo-thumb.photo-upload img{
  filter:sepia(.22) contrast(.9) saturate(.8);
}
.photo-upload{
  border-color:#bcc7d7;
  background:linear-gradient(#fff,#f5f7fa);
}

/* 档案扫描 */
.photo-archive img,.portal-photo-thumb.photo-archive img{
  filter:sepia(.45) contrast(.78) saturate(.55) brightness(.92);
}
.photo-archive{
  border-color:#bbae8d;
  background:linear-gradient(#f7f1df,#eee5ca);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.3);
}

/* 报纸翻拍 */
.photo-newspaper img,.portal-photo-thumb.photo-newspaper img{
  filter:contrast(1.3) brightness(.9) saturate(.3) grayscale(.15);
}
.photo-newspaper{
  border-color:#999;
  background:#e8e4dc;
  position:relative;
}
/* 半色调网点叠加 */
.photo-newspaper::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle,rgba(0,0,0,.06) 1px,transparent 1px);
  background-size:4px 4px;
  opacity:.4;
}

/* ===== 档案馆细节增强 ===== */
/* 橡皮章风格状态标签 */
.rubber-stamp{
  display:inline-block;
  padding:2px 10px;
  border:2px dashed #8a2f2f;
  color:#8a2f2f;
  font-family:"Courier New",monospace;
  font-size:11px;
  letter-spacing:2px;
  text-transform:uppercase;
  transform:rotate(-2deg);
  opacity:.8;
}
/* 档案入口旧纸纹理 */
.archive-gate,.archive-file{
  position:relative;
}
.archive-gate::after,.archive-file::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  opacity:.5;
  z-index:0;
}
.archive-file{z-index:0}
.archive-file > *{position:relative;z-index:1}

/* 档案卡片仿索引卡 */
.archive-card{
  position:relative;
  box-shadow:1px 1px 3px rgba(70,50,20,.1);
}
.archive-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(to right,rgba(139,47,47,.3) 30%,transparent 60%);
  opacity:.5;
}

/* ===== 论坛 Discuz! 细节 ===== */
/* 楼层号 */
.floor-num{
  display:inline-block;
  padding:0 5px;
  background:#e8ecf2;
  color:#8899aa;
  font-size:11px;
  font-weight:bold;
  border-radius:2px;
  margin-left:6px;
}

/* 在线状态点 */
.online-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#4a4;
  margin-right:4px;
  vertical-align:middle;
}
.online-dot.offline{background:#aaa}

/* 帖底编辑签名 */
.post-signature{
  margin-top:12px;
  padding-top:8px;
  border-top:1px dashed #ccc;
  color:#999;
  font-size:11px;
}

/* 论坛分页 */
.forum-pagination,.search-pagination{
  display:flex;
  gap:2px;
  padding:8px 0;
  justify-content:center;
  font-size:11px;
}
.page-link{
  padding:3px 8px;
  border:1px solid #999;
  background:#fff;
  color:#333;
  text-decoration:none;
}
.page-link.active{
  background:#1a6fd1;
  color:#fff;
  border-color:#003d92;
  font-weight:bold;
}
.page-link:hover{background:#f0f0f0;text-decoration:none}
.page-link.active:hover{background:#1a6fd1}

/* ===== 搜索缓存感 ===== */
/* 缓存恢复标记 */
.cache-badge{
  display:inline-block;
  padding:1px 6px;
  background:#f5efd6;
  border:1px solid #d6c083;
  color:#8a6d20;
  font-size:10px;
  margin-left:4px;
  font-style:normal;
}

/* 搜索结果残缺样式 */
.result-item.result-recovered{
  opacity:.92;
}
.result-item.result-recovered h3{
  font-style:italic;
  color:#557089;
}

/* ===== 隐藏内容呈现增强 ===== */
/* 镜像备注恢复态背景 */
.mirror-notes.visible{
  background:#fafcff url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
}

/* 涂改/删节模拟 */
.redacted-text{
  position:relative;
  display:inline;
}
.redacted-text::before{
  content:"";
  position:absolute;
  left:-2px;
  right:-2px;
  top:50%;
  height:3px;
  background:rgba(0,0,0,.7);
  transform:translateY(-50%);
  border-radius:1px;
}

/* 锁定帖锁图标 */
.lock-icon{
  display:inline-block;
  margin-right:4px;
  font-size:13px;
  vertical-align:-1px;
}

/* 认证可见提示框 */
.auth-notice{
  padding:8px 12px;
  border:1px dashed #b28b60;
  background:#faf3e8;
  color:#8a5300;
  font-size:12px;
  margin:8px 0;
  line-height:1.6;
}

@media(max-width:1040px){
  .site-wrap,.forum-wrap,.archive-wrap{width:auto;margin:8px}
  .portal-grid,.content-layout,.forum-grid{grid-template-columns:1fr}
  .archive-index{grid-template-columns:1fr}
  .logo-row{flex-direction:column;align-items:flex-start}
  .weather-box{min-width:auto;text-align:left}
  .nav-bar{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .nav-bar a{white-space:nowrap;flex-shrink:0}
}

/* ===== 评论区（贴吧风格） ===== */
.comment-section{
  margin-top:16px;
  border:1px solid #bcc7d7;
  background:#fafcff;
}
.comment-section h3{
  margin:0;
  padding:6px 10px;
  background:linear-gradient(#e9f5ff,#cbe4ff);
  border-bottom:1px solid #bcc7d7;
  color:#064f96;
  font-size:13px;
}
.comment-list{
  padding:0;
  margin:0;
  list-style:none;
}
.comment-item{
  display:flex;
  gap:10px;
  padding:10px 10px 8px;
  border-bottom:1px solid #e8ecf2;
  line-height:1.65;
}
.comment-item:last-child{border-bottom:0}
.comment-avatar{
  flex-shrink:0;
  width:42px;
  height:42px;
  border:1px solid #c8d0d8;
  background:linear-gradient(#e0e5ec,#cfd5de);
  border-radius:3px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  color:#8899aa;
}
.comment-body{
  flex:1;
  min-width:0;
}
.comment-meta{
  margin-bottom:4px;
  font-size:11px;
}
.comment-user{
  color:#064f96;
  font-weight:bold;
  margin-right:8px;
}
.comment-ip{
  color:#aaafb6;
  margin-right:8px;
}
.comment-floor{
  float:right;
  color:#aaafb6;
  font-size:11px;
}
.comment-text{
  color:#2a3440;
  font-size:12px;
  word-break:break-word;
}
.comment-text.suspicious{
  color:#8a5300;
}
.comment-deleted{
  color:#c0c5cc;
  font-style:italic;
}

/* ===== 分类列表页 ===== */
.category-nav{
  padding:6px 12px;
  background:#f2f8ff;
  border-bottom:1px solid #c8d8e8;
  font-size:11px;
  color:#557089;
}
.category-nav a{color:#557089}
.category-nav a:hover{color:#b40000}
.cat-grid{
  padding:8px;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:8px;
}
.cat-intro{
  grid-column:1 / -1;
  padding:12px 16px;
  background:#fafcff;
  border:1px solid #d0dae6;
  color:#557089;
  line-height:1.8;
}
.cat-card{
  display:block;
  padding:12px;
  border:1px solid #c8d8e8;
  background:#fff;
  color:#1b2c3d;
  min-height:100px;
}
.cat-card:hover{
  background:#f4f9ff;
  text-decoration:none;
  border-color:#7aa1c8;
}
.cat-card h3{
  margin:0 0 6px;
  color:#064f96;
  font-size:14px;
}
.cat-card .cat-meta{
  font-size:11px;
  color:#7a8794;
  margin-bottom:6px;
}
.cat-card p{
  margin:0;
  line-height:1.65;
  color:#4d5c68;
  font-size:12px;
}
.cat-card.photo-card{
  display:flex;
  gap:12px;
}
.photo-thumb{
  width:100px;
  height:75px;
  border:1px solid #bbb;
  background:linear-gradient(#f0ead8,#e8e0c8);
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  color:#c8c0a8;
}
.photo-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:sepia(.2) contrast(.9);
}

/* 便民信息页 */
.convenience-grid{
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
}
.convenience-item{
  display:block;
  padding:10px 12px;
  border:1px solid #d0dae6;
  background:#fff;
  color:#1b2c3d;
}
.convenience-item:hover{
  background:#f4f9ff;
  text-decoration:none;
}
.convenience-item strong{
  display:block;
  color:#064f96;
  margin-bottom:2px;
}
.convenience-item span{
  font-size:11px;
  color:#7a8794;
}
