/* ==========================================================================
   sites.css · 沨镇网站群 · 五站主题与布局模板
   --------------------------------------------------------------------------
   真源：08e_multisite_concept.md（C.6 五维自检表）
   风格分化五维，缺一不可：栏数 / 行高 / 密度 / 动效 / 广告密度。
   只切颜色 = 换皮，本表因此把栏数与行高写进 data-site 变量，而不是写进 class。

   纪律：
     C-1 动效预算不加码：全项目 @keyframes 仍为 2 个，且都在 style.css。
         本表的走马灯复用 lz-crawl（reverse），过渡屏用纯 opacity transition。
     C-2 零图：没有 url()、没有 @font-face、没有 background-image 位图。
         「建设中」斜纹用 repeating-linear-gradient 画。
     C-3 ③ 寻人站 --link-v 等于 --link：已访问链接不变色。
   ========================================================================== */

/* ── 0. 站变量（布局模板 + 主题色）───────────────────────────────────── */
body[data-site]{
  --site-w:      760px;   /* 版心 */
  --site-cols:   1fr;     /* 栏数（Grid） */
  --site-gap:    12px;
  --site-lh:     1.5;     /* 行高 */
  --site-rowpad: 9px;     /* 密度 */
  --site-rule:   solid;   /* 分隔线样式 */
  --site-blockgap: 8px;
  --accent:      #33465a;
  --accent-ink:  #ffffff;
}

/* ── ① 门户 · 沨镇生活网 —— 三栏 / 冷灰蓝 / 官僚 / 零动效 ─────────── */
body[data-site="portal"]{
  --site-w: 760px;
  --site-cols: 168px minmax(0,1fr) 152px;
  --site-lh: 1.5;
  --site-rowpad: 9px;
  --site-rule: solid;
  --accent: #33465a;
  --paper:  #f6f7f8;  --card: #ffffff;  --well: #f0f2f4;
  --ink:    #23282d;  --ink-2:#454d55;  --muted:#6d757e; --faint:#99a1a9; --ghost:#b6bcc2;
  --line:   #d9dde1;  --line-2:#e7eaed;
  --chrome: #33465a;  --chrome-2:#2a3b4c;
  --link:   #3d5a73;  --link-v:#5f4b7d;
}

/* ── ①b 门户千禧细节（09_y2k）：深蓝标题条 / 宋体 / 细线表格 / 去圆角 ─ */
body[data-site="portal"] #lz-top{ border-bottom:2px double #22303e; }
body[data-site="portal"] .lz-brand-name{ font-family:var(--y2k-hei); letter-spacing:.16em; }
body[data-site="portal"] .lz-brand-slogan{ font-family:var(--y2k-song); color:#c6d2dc; }
body[data-site="portal"] .lz-nav{ background:var(--chrome-2); border-bottom:1px solid #1e2a36; }
body[data-site="portal"] .lz-nav a{ color:#f2f7fa; font-size:var(--fs-sm); }
body[data-site="portal"] .lz-nav a.on{ background:var(--chrome); color:#fff; border-bottom-color:transparent; }
body[data-site="portal"] .lz-li{ border-bottom:1px dotted var(--line); padding:7px 10px; background:transparent; font-family:var(--y2k-song); }
body[data-site="portal"] .lz-li:hover{ background:#eef2f5; }
body[data-site="portal"] .lz-li .ti{ font-family:var(--y2k-hei); font-size:var(--fs-sm); color:var(--link); }
body[data-site="portal"] .lz-li .mt{ font-family:var(--y2k-song); color:var(--muted); }
body[data-site="portal"] .lz-bh{ background:var(--chrome); color:#ffffff; font-family:var(--y2k-hei); border-bottom:1px solid #1e2a36; }
body[data-site="portal"] .lz-bh h2{ letter-spacing:.12em; font-size:16px; font-weight:700; color:#ffffff; }
body[data-site="portal"] .lz-bh .more{ color:#e8f0f6; font-family:var(--y2k-song); }
body[data-site="portal"] .lz-counter.stopped{ font-family:var(--y2k-mono); color:#4a545e; border:1px solid var(--line); background:var(--card); }
body[data-site="portal"] .lz-headline{ border:1px solid var(--line); border-top:2px solid var(--accent); background:#fbfbfc; }
body[data-site="portal"] .lz-headline:hover{ background:#f0f2f4; }
body[data-site="portal"] .lz-ad{ border:1px solid var(--line); background:var(--card); }
body[data-site="portal"] .lz-ad .tag{ background:var(--chrome); color:#ffffff; font-family:var(--y2k-hei); }
body[data-site="portal"] .lz-abox h3{ background:var(--chrome); color:#ffffff; font-family:var(--y2k-hei); border-bottom:1px solid #1e2a36; }

/* ── ② 论坛 · 沨镇茶馆 —— 两栏 / 暖黄 / 高密度 / 走马灯 + 弹窗 ────── */
body[data-site="forum"]{
  --site-w: 760px;
  --site-cols: minmax(0,1fr) 158px;
  --site-lh: 1.4;
  --site-rowpad: 5px;
  --site-rule: dotted;
  --site-blockgap: 6px;
  --accent: #8a6d3b;
  --paper:  #f6efdc;  --card: #fffdf5;  --well: #f3e9cf;
  --ink:    #2b2418;  --ink-2:#4a3f2c;  --muted:#7b6a4c; --faint:#9c8c6c; --ghost:#c2b48c;
  --line:   #ddcda6;  --line-2:#e8dcbe;
  --chrome: #8a6d3b;  --chrome-2:#6f562c;
  --link:   #0b5c9e;  --link-v:#7a3f9d;
}

/* ── ③ 寻人 · 沨镇寻人 —— 单栏 / 纯白 / 宽行高 / 零广告零动效 ─────── */
body[data-site="xunren"]{
  --site-w: 620px;
  --site-cols: minmax(0,1fr);
  --site-lh: 1.7;
  --site-rowpad: 18px;
  --site-rule: solid;
  --site-blockgap: 0px;
  --accent: #4a5a68;
  --paper:  #ffffff;  --card: #ffffff;  --well: #f7f7f7;
  --ink:    #1f2226;  --ink-2:#3f454b;  --muted:#6b7178; --faint:#9aa0a6; --ghost:#c4c8cc;
  --line:   #e4e6e8;  --line-2:#eeeff0;
  --chrome: #4a5a68;  --chrome-2:#3c4a56;
  --link:   #2f5d7c;  --link-v:#2f5d7c;   /* ⭐ 已访问不变色 */
}

/* ── ④ 就业 · 沨江国际 —— 两栏 / 蓝绿 / 最紧 / 进站即弹 ───────────── */
body[data-site="fengjiang"]{
  --site-w: 780px;
  --site-cols: minmax(0,1fr) 150px;
  --site-lh: 1.2;
  --site-rowpad: 2px;
  --site-rule: double;
  --site-blockgap: 4px;
  --accent: #0f6b5c;
  --paper:  #e9f1ee;  --card: #ffffff;  --well: #dcebe6;
  --ink:    #16201d;  --ink-2:#33443f;  --muted:#5c6f69; --faint:#839790; --ghost:#b4c4bf;
  --line:   #b9d3cb;  --line-2:#cfe2dc;
  --chrome: #0f6b5c;  --chrome-2:#0b544a;
  --link:   #05528f;  --link-v:#6b3fa0;
}

/* ── ⑤ 个人 · 阿鱼的园区笔记 —— 两栏 / 深底撞色 / 停更 ────────────── */
body[data-site="ayu"]{
  --site-w: 700px;
  --site-cols: minmax(0,1fr) 200px;
  --site-lh: 1.55;
  --site-rowpad: 8px;
  --site-rule: groove;
  --accent: #ffd24a;
  --accent-ink: #1b1b28;
  --paper:  #1b1b28;  --card: #23233a;  --well: #2c2c46;
  --ink:    #d9d9ea;  --ink-2:#bcbcd4;  --muted:#9494b0; --faint:#7d7d99; --ghost:#5c5c78;
  --line:   #3c3c58;  --line-2:#32324c;
  --chrome: #2a2a44;  --chrome-2:#1f1f36;
  --link:   #ffd24a;  --link-v:#ff8ad0;
}

/* ── 1. 骨架：版心随站变，宽屏放开，窄屏收成单栏 ───────────────────── */
#lz-frame{
  max-width: var(--site-w);
  background: var(--paper);
  box-shadow: 0 0 0 1px var(--line);
}
body{ background:#dfe2e6; line-height: var(--site-lh); }
body[data-site="ayu"]{ background:#101018; }
body[data-site="forum"]{ background:#e6dcc0; }
body[data-site="fengjiang"]{ background:#d6e5e0; }
body[data-site="xunren"]{ background:#f2f2f2; }

#lz-body{
  display:grid;
  grid-template-columns: var(--site-cols);
  gap: var(--site-gap);
  align-items:start;
  padding: var(--site-gap) 0;
}
#lz-aside-l:empty, #lz-aside-r:empty, #lz-ticker:empty, #lz-ad:empty{ display:none; }
#lz-view{ min-width:0; }

@media (max-width: 620px){
  #lz-body{ grid-template-columns: minmax(0,1fr); gap:8px; padding:8px 0; }
  .lz-aside{ order:2; }
}
@media (min-width: 700px){
  .lz-tabs{ display:none; }
  #lz-main{ padding-bottom:0; }
  #lz-foot{ padding-bottom:18px; }
}

/* ── 2. 站头 / 导航 随站换脸 ───────────────────────────────────────── */
#lz-top{ background:var(--chrome); }
body[data-site="ayu"] #lz-top{ border-bottom:2px solid var(--accent); }
body[data-site="fengjiang"] #lz-top{ padding-bottom:6px; }
.lz-scope{ margin-top:7px; font-size:var(--fs-xs); color:#cfd8de; }
.lz-scope label{ cursor:pointer; letter-spacing:.06em; }
.lz-scope input{ vertical-align:-1px; margin:0 4px 0 0; }
.lz-scope .hint{ color:#9fb0be; margin-left:8px; }

.lz-nav{ background:var(--card); border-bottom:1px var(--site-rule) var(--line); }
.lz-nav a{ color:var(--ink-2); padding: calc(var(--site-rowpad) + 2px) 13px; }
.lz-nav a.on{ color:var(--accent); border-bottom-color:var(--accent); }
body[data-site="forum"] .lz-nav a{ padding:5px 10px; font-size:var(--fs-sm); }
/* ②b 千禧 BBS 状态条（沨镇茶馆 · 暖黄细线） */
body[data-site="forum"] .lz-bbsbar{
  background:#fffdf5; border:1px solid #ddcda6; border-bottom:0;
  padding:5px 10px; font-size:var(--fs-xs); color:#7b6a4c; letter-spacing:.04em;
  font-family:var(--y2k-song);
}
body[data-site="forum"] .lz-bbsbar b{ color:#8a6d3b; font-family:var(--y2k-hei); letter-spacing:.1em; }
body[data-site="fengjiang"] .lz-nav{ background:var(--chrome); }
body[data-site="fengjiang"] .lz-nav a{ color:#d9ece7; padding:4px 12px; }
body[data-site="fengjiang"] .lz-nav a.on{ background:var(--chrome-2); color:#fff; border-bottom-color:transparent; }
body[data-site="ayu"] .lz-nav a{ color:var(--link); }
body[data-site="xunren"] .lz-nav a{ padding:11px 14px; }

.lz-prevnext{ border-top:1px dotted var(--line-2); margin:14px 0 6px; padding-top:8px;
              font-size:var(--fs-xs); display:flex; gap:14px; flex-wrap:wrap; font-family:var(--y2k-song); }
.lz-prevnext a{ color:var(--link); }

/* ── 3. 通用块随站换密度 ───────────────────────────────────────────── */
.lz-block{ background:var(--card); border-bottom:1px var(--site-rule) var(--line);
           margin-bottom:var(--site-blockgap); }
.lz-li{ padding: var(--site-rowpad) 12px; border-bottom:1px var(--site-rule) var(--line-2); }
.lz-li .ti{ line-height: var(--site-lh); }
.lz-li.read .ti{ color:var(--link-v); }
.lz-bh{ padding: calc(var(--site-rowpad) + 1px) 12px calc(var(--site-rowpad) - 1px);
        border-bottom:1px var(--site-rule) var(--line-2); }
.lz-art{ background:var(--card); }
.lz-floor{ padding: calc(var(--site-rowpad) + 2px) 14px; }
.lz-hit{ padding: calc(var(--site-rowpad) + 1px) 12px; }

/* ③ 的留白：每条启事之间空出来的那 48px 就是这一站的全部主张 */
body[data-site="xunren"] .lz-li{ padding:18px 16px 22px; }
body[data-site="xunren"] .lz-block{ border-bottom:0; }
body[data-site="xunren"] .lz-li .ti{ font-size:var(--fs-lg); }
body[data-site="xunren"] .lz-li .mt{ margin-top:8px; }

/* ④ 的紧：一屏塞满，靠密度制造「正规」的假象 */
body[data-site="fengjiang"] .lz-li{ padding:2px 8px; }
body[data-site="fengjiang"] .lz-li .mt{ margin-top:0; }
body[data-site="fengjiang"] .lz-li .sm{ margin-top:0; }
body[data-site="fengjiang"] .lz-art{ padding:10px 12px 12px; }
body[data-site="fengjiang"] .lz-art p{ margin:0 0 6px; }

/* ⑤ 深底：把卡片压暗，链接是黄的 */
body[data-site="ayu"] .lz-art h1{ color:var(--accent); }
body[data-site="ayu"] .lz-quote{ background:var(--well); border-left-color:var(--accent); }
body[data-site="ayu"] .lz-vb{ background:var(--well); border-color:var(--line); color:var(--ink-2); }
body[data-site="ayu"] .lz-slot .frame{ background:#1e1e30; border-color:var(--line); }

/* ── 4. 侧栏 ───────────────────────────────────────────────────────── */
.lz-aside{ min-width:0; font-size:var(--fs-sm); }
.lz-abox{ background:var(--card); border:1px var(--site-rule) var(--line); margin-bottom:8px; }
.lz-abox > h3{
  margin:0; padding:5px 8px; font-size:var(--fs-xs); font-weight:600;
  letter-spacing:.08em; color:var(--accent);
  border-bottom:1px var(--site-rule) var(--line-2); background:var(--well);
}
.lz-abox .in{ padding:7px 8px; }
.lz-abox a{ display:block; padding:3px 0; line-height:1.5; word-break:break-all; }
.lz-abox .dead{ color:var(--ghost); }
.lz-abox .lz-mini{ line-height:1.6; }
body[data-site="fengjiang"] .lz-abox .in{ padding:4px 6px; }

/* ── 5. 走马灯 / 滚动条 —— 复用 lz-crawl，不新增 @keyframes ───────── */
.lz-mq{
  position:relative; overflow:hidden;
  height:22px; line-height:22px;
  background:var(--well); border-bottom:1px var(--site-rule) var(--line);
  font-size:var(--fs-sm); white-space:nowrap;
}
.lz-mq i{
  position:absolute; left:0; top:0;
  display:inline-block; white-space:nowrap; font-style:normal;
  animation: lz-crawl 21s linear infinite reverse;
}
.lz-mq i:nth-child(2){ animation-delay:-7s; }
.lz-mq i:nth-child(3){ animation-delay:-14s; }
.lz-mq.tk{ background:#f5d327; color:#1a1a1a; border-bottom:1px solid #c9a800; height:20px; line-height:20px; }
.lz-mq.tk i{ animation-duration:26s; }
.lz-mq.tk a{ color:#1a1a1a; text-decoration:underline; }
body[data-site="ayu"] .lz-mq{ background:#141420; color:var(--accent); }

/* ── 6. 横幅广告（① 唯一一条；③ 永远没有） ───────────────────────── */
.lz-ad{
  display:block; margin:8px auto 0; max-width:468px;
  border:1px solid var(--line); background:var(--card);
  padding:7px 10px; position:relative;
}
.lz-ad .tag{
  position:absolute; right:4px; top:3px;
  font-size:9px; color:var(--ghost); border:1px solid var(--line-2); padding:0 3px; line-height:13px;
}
.lz-ad .ti{ font-size:var(--fs-sm); color:var(--link); }
.lz-ad .ln{ font-size:var(--fs-xs); color:var(--muted); margin-top:2px; }
.lz-ad .btn{
  display:inline-block; margin-top:5px; padding:1px 9px;
  border:1px solid var(--line); background:var(--well);
  font-size:var(--fs-xs); color:var(--ink-2);
}

/* ── 7. 建设中 / 计数器 / 留言板 ───────────────────────────────────── */
.lz-uc{ text-align:center; padding:8px 4px; }
.lz-uc .bar{
  height:8px; border:1px solid var(--line);
  background:repeating-linear-gradient(45deg,#e8c33a 0 6px,#3a3a3a 6px 12px);
}
.lz-uc .tx{ font-size:var(--fs-xs); color:var(--muted); margin-top:5px; letter-spacing:.1em; }

.lz-counter{
  font-family:var(--mono); font-size:var(--fs-xs); text-align:center;
  padding:5px 4px; color:var(--muted);
  border:1px solid var(--line); background:var(--well);
}
.lz-counter b{ color:var(--ink); letter-spacing:.14em; font-weight:600; }
.lz-counter.stopped b{ color:var(--ghost); font-weight:400; }

.lz-gb{ background:var(--card); border:1px var(--site-rule) var(--line); }
.lz-gb .row{ padding:8px 10px; border-bottom:1px dotted var(--line-2); }
.lz-gb .row:last-child{ border-bottom:0; }
.lz-gb .who{ font-size:var(--fs-xs); color:var(--muted); }
.lz-gb .tx{ line-height:1.7; }
.lz-gb .form{ padding:8px 10px; border-top:1px solid var(--line); background:var(--well); }
.lz-gb textarea{
  width:100%; min-height:44px; resize:vertical;
  border:1px solid var(--line); background:var(--card); color:var(--ink);
  font-size:var(--fs-sm); padding:5px 7px; outline:none;
}
.lz-gb .form .lz-mini{ margin-top:5px; }

/* ── 8. 站群导航表（五站同款，只有 accent 随站变） ─────────────────── */
.lz-sitenav{
  margin:0 auto 12px; max-width:520px; text-align:left;
  border:1px solid var(--line); background:var(--card);
}
.lz-sitenav .hd{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:4px 9px; background:var(--well);
  border-bottom:1px solid var(--line);
  font-size:var(--fs-xs); color:var(--accent); letter-spacing:.08em;
}
.lz-sitenav .hd span{ color:var(--muted); letter-spacing:0; }
.lz-sitenav .row{
  display:flex; align-items:baseline; gap:8px;
  padding:4px 9px; border-bottom:1px dotted var(--line-2);
  font-size:var(--fs-xs); line-height:1.7;
}
.lz-sitenav .row:last-child{ border-bottom:0; }
.lz-sitenav .row .nm{ flex:0 0 auto; color:var(--link); }
.lz-sitenav .row .bl{ flex:1 1 auto; color:var(--muted); }
.lz-sitenav .row .up{ flex:0 0 auto; color:var(--muted); font-family:var(--mono); }
.lz-sitenav .row.v .nm{ color:var(--link-v); }        /* 已访问变紫 */
.lz-sitenav .row.self .nm{ color:var(--muted); }
.lz-sitenav .row.self{ background:var(--well); }
/* ③ 寻人站：站群表里没有紫色。系统对所有失踪者一视同仁地遗忘。 */
body[data-site="xunren"] .lz-sitenav .row.v .nm{ color:var(--link); }

#lz-foot{ background:var(--paper); border-top:1px solid var(--line-2); color:var(--faint); }
#lz-foot a{ color:var(--muted); }

/* ── 9. （原「我的沨镇 · 五站足迹」已随核实面板删除 · 08j C2/C3） ──── */

/* ── 10. 站内弹窗（② ④ 专用；① ③ ⑤ 永不出现） ───────────────────── */
.lz-modal{
  position:fixed; inset:0; z-index:80;
  display:flex; align-items:center; justify-content:center;
  background:rgba(20,22,26,.42); padding:16px;
}
.lz-modal[hidden]{ display:none; }
.lz-modal .box{
  width:100%; max-width:300px;
  border:2px outset var(--line); background:var(--card);
  box-shadow:3px 3px 0 rgba(0,0,0,.28);
}
.lz-modal .bar{
  display:flex; justify-content:space-between; align-items:center;
  padding:3px 6px; background:var(--chrome); color:#eef2f5;
  font-size:var(--fs-xs); letter-spacing:.06em;
}
.lz-modal .bar b{ font-weight:600; }
.lz-modal .bar .x{ color:#eef2f5; padding:0 4px; cursor:pointer; }
.lz-modal .in{ padding:12px 12px 6px; font-size:var(--fs-sm); line-height:1.8; color:var(--ink-2); }
.lz-modal .ft{ padding:6px 12px 12px; display:flex; gap:8px; }
.lz-modal .ft a, .lz-modal .ft button{
  flex:1 1 0; text-align:center; padding:4px 0;
  border:1px outset var(--line); background:var(--well);
  font-size:var(--fs-sm); color:var(--ink-2);
}
.lz-modal .ft a{ background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }

/* ── 11. 拨号连接过渡屏：0.4s，纯 opacity，不占 @keyframes 预算 ────── */
.lz-trans{
  position:fixed; inset:0; z-index:90;
  display:flex; align-items:center; justify-content:center;
  background:#0d1116; color:#c6d0d8;
  font-size:13px; letter-spacing:.22em;
  opacity:0; visibility:hidden;
  transition:opacity .12s linear, visibility 0s linear .12s;
}
.lz-trans.on{ opacity:1; visibility:visible; transition:opacity .12s linear; }

/* ── 12. 减弱动效：把这一站的动效维度整个关掉 ─────────────────────── */
@media (prefers-reduced-motion: reduce){
  .lz-mq{ height:auto; line-height:1.7; white-space:normal; }
  .lz-mq i{ position:static; display:block; animation:none; }
  .lz-trans{ display:none; }
}
