/* ==========================================================================
   y2k.css · 沨镇网站群 · 千禧年网页视觉层（Y2K Web Style Layer）
   --------------------------------------------------------------------------
   真源：design/art/09_y2k_web_style.md（Part B 令牌 / Part C 七站皮肤 / Part D 落码）

   纪律（B-0）：
     Y-0 本层为「新增层」，在 sites.css 之后引入。不改 style.css，
         保护既有 2 个关键帧（lz-charin / lz-crawl）。
     Y-1 本层新增 0 个关键帧。走马灯复用 sites.css 既有 .lz-mq（lz-crawl），
         飘落走纯 JS rAF（y2k-fall.js），计数器为静态渲染。
     Y-2 零图 / 零字体文件 / 零外链 / 零第三方：无背景图引用、无字体内嵌、无位图。
     Y-3 命名前缀统一 --y2k- 与 .y2k-；一律新增 class，不覆写既有 .lz-* 规则。
         既有组件通过「令牌重映射」（§3）自动获得千禧观感，一处可回退。
     Y-4 竖屏优先：≤480px 正文升 14px、点击目标 32px、多列网格塌单栏。
     Y-5 可访问性：灰字一律 #666666（#808080 只准走线条）；动效全部有 reduce 出口。
   ========================================================================== */

/* ── 1. 令牌 · 字体栈（B.1 · 0 字节全系统字）─────────────────────────── */
:root{
  --y2k-song: "宋体", SimSun, "Songti SC", "STSong", NSimSun, serif;
  --y2k-hei:  "黑体", SimHei, "Heiti SC", "STHeiti", sans-serif;
  --y2k-fang: "仿宋", FangSong, "STFangsong", "仿宋_GB2312", serif;
  --y2k-mono: "Courier New", Courier, monospace;
  --y2k-serif-en: "Times New Roman", Times, serif;

  --y2k-fs:     12px;   /* 正文 / 列表 / 表格 / 表单 —— 全站统一 */
  --y2k-fs-sm:  11px;   /* 时间戳 / 版权 / 计数器 */
  --y2k-fs-ttl: 14px;   /* 板块标题栏 —— 唯一允许超 12px 的常规元素 */
  --y2k-fs-h1:  16px;   /* 文章大标题，上限 18px */

  --y2k-lh:      1.5;
  --y2k-lh-list: 1.35;

  /* 链接四态（B.2 · 取网页安全色整值）*/
  --y2k-a:       #0000CC;
  --y2k-a-visit: #800080;
  --y2k-a-hover: #CC0000;
  --y2k-a-act:   #CC0000;

  /* 结构色 · W3C 16 具名色（B.3.1 · RGB 分量 ∈ {00,33,66,80,99,CC,FF}）*/
  --y2k-navy:   #000080;
  --y2k-maroon: #800000;
  --y2k-green:  #008000;
  --y2k-teal:   #008080;
  --y2k-olive:  #808000;
  --y2k-purple: #800080;
  --y2k-silver: #C0C0C0;
  --y2k-gray:   #808080;   /* 仅限线条与边框，禁用于正文（A2）*/
  --y2k-white:  #FFFFFF;
  --y2k-black:  #000000;
  --y2k-hl:     #FFFFCC;
  --y2k-well:   #EEEEEE;
  --y2k-well-2: #CCCCCC;
  --y2k-btnface:#DFDFDF;

  /* 纸色 · 画布层（B.3.2）*/
  --y2k-paper-portal: #F4F4F0;
  --y2k-paper-forum:  #FDF6E3;
  --y2k-paper-xun:    #FFFFFF;
  --y2k-paper-fj:     #E9F1EE;
  --y2k-paper-ayu:    #1B1B28;
  --y2k-paper-police: #EFF1F5;
  --y2k-paper-inner:  #0E1114;
  --y2k-desk:         #C0C0C0;

  /* 网格线（B.3.3 · L1 的物理载体）*/
  --y2k-rule:    #808080;
  --y2k-rule-2:  #C0C0C0;
  --y2k-rule-lt: #DFDFDF;
  --y2k-rule-dk: #808080;

  /* 边框与立体感（B.4 · Win98 语汇，0 图）*/
  --y2k-b:      1px solid var(--y2k-rule);
  --y2k-b-2:    1px solid var(--y2k-rule-2);
  --y2k-b-dash: 1px dashed var(--y2k-rule);
  --y2k-b-dot:  1px dotted var(--y2k-rule-2);
  --y2k-b-dbl:  3px double var(--y2k-rule);
  --y2k-out: inset  1px  1px 0 var(--y2k-rule-lt),
             inset -1px -1px 0 var(--y2k-rule-dk);
  --y2k-in:  inset  1px  1px 0 var(--y2k-rule-dk),
             inset -1px -1px 0 var(--y2k-rule-lt);

  /* 栅格与间距（B.5）*/
  --y2k-w:       760px;
  --y2k-w-narrow:620px;
  --y2k-gap:     1px;    /* = 老 cellspacing=1，年代感的物理载体 */
  --y2k-cell-x:  6px;
  --y2k-cell-y:  4px;
  --y2k-block:   6px;
  --y2k-btn-w:   88px;
  --y2k-btn-h:   31px;
  --y2k-ad-w:    468px;
  --y2k-ad-h:    60px;

  /* 单元格底（由各站覆盖）*/
  --y2k-paper:     #F4F4F0;
  --y2k-cell:      #FFFFFF;
  --y2k-cell-alt:  #F7F7F3;
  --y2k-chrome:    #000080;
  --y2k-chrome-ink:#FFFFFF;
}

/* ⭐ Y-4 竖屏优先：12px 宋体在手机上低于可读阈值，考据让位可读（A1）*/
@media (max-width: 480px){
  :root{ --y2k-fs: 14px; --y2k-fs-sm: 12px; --y2k-fs-ttl: 15px; --y2k-fs-h1: 17px; }
}

/* ── 2. 既有令牌重映射（Y-3 · 零覆写获得千禧观感，一处可回退）───────── */
/* 说明：style.css / sites.css 的既有 .lz-* 组件全部读 --font/--fs-*/--link/--line
   等令牌。此处只改令牌值，不动任何既有选择器 —— 要回退整层，注释掉本节即可。 */
body[data-site]{
  --font:  var(--y2k-song);
  --mono:  var(--y2k-mono);
  --fs-xs: var(--y2k-fs-sm);
  --fs-sm: var(--y2k-fs-sm);
  --fs-md: var(--y2k-fs);
  --fs-lg: var(--y2k-fs-ttl);
  --fs-xl: var(--y2k-fs-h1);
  --link:   var(--y2k-a);
  --link-v: var(--y2k-a-visit);
  --site-lh: var(--y2k-lh);
  --line:   var(--y2k-rule-2);
  --line-2: var(--y2k-rule-lt);
}

/* 链接四态补齐：style.css 只声明了 a{color}，:visited/:hover 为本层新增 */
body[data-site] a:visited{ color: var(--link-v); }
body[data-site] a:hover,
body[data-site] a:active{ color: var(--y2k-a-hover); text-decoration: underline; }

/* ⭐ L2：正文区 h1–h6 一律 12px normal（A.1#2 一手）；唯一例外见 .y2k-h1 */
.y2k-scope h1,.y2k-scope h2,.y2k-scope h3,
.y2k-scope h4,.y2k-scope h5,.y2k-scope h6{
  font-size: var(--y2k-fs); font-weight: normal; margin: 0;
}
.y2k-scope .y2k-h1{ font: bold var(--y2k-fs-h1)/1.5 var(--y2k-hei); }

/* ── 3. 七站皮肤（Part C · 第六维度＝装饰密度 0–11）─────────────────── */

/* ① 门户 · portal · 密度 5/11（K2 K4 K6 K7 K10）—— 格子最多、挂件克制 */
body[data-site="portal"]{
  --y2k-paper:  var(--y2k-paper-portal);
  --y2k-chrome: var(--y2k-navy);
  --y2k-chrome-ink: var(--y2k-white);
  --y2k-cell:   #FFFFFF;
  --y2k-cell-alt: #F7F7F3;
  --y2k-lh: 1.45;
  --paper: var(--y2k-paper-portal); --card: #FFFFFF; --well: var(--y2k-well);
}

/* ② 论坛 · forum · 密度 9/11 —— 最拥挤、最有人味 */
body[data-site="forum"]{
  --y2k-paper:  var(--y2k-paper-forum);
  --y2k-chrome: var(--y2k-maroon);
  --y2k-chrome-ink: var(--y2k-white);
  --y2k-cell:   #FFFDF5;
  --y2k-cell-alt: #F5F0DC;
  --y2k-hl:     #FFFFCC;
  --y2k-lh: 1.35;
  --paper: var(--y2k-paper-forum); --card: #FFFDF5; --well: #F5F0DC;
}

/* ③ 寻人 · xunren · 密度 0/11 ⭐ 一件挂件都不给 —— 克制本身即恐怖 */
body[data-site="xunren"]{
  --y2k-paper:  var(--y2k-paper-xun);
  --y2k-chrome: transparent;
  --y2k-chrome-ink: #333333;
  --y2k-cell:   #FFFFFF;
  --y2k-cell-alt: #FFFFFF;      /* 不隔行变色 */
  --y2k-rule:   #CCCCCC;        /* 网格线最浅 */
  --y2k-a-visit: var(--y2k-a);  /* ⭐ 已访问不变色（承 sites.css C-3）*/
  --y2k-lh: 1.7;
  --paper: var(--y2k-paper-xun); --card: #FFFFFF; --well: #FFFFFF;
  --link-v: var(--y2k-a);
}

/* ④ 沨江国际 · fengjiang · 密度 7/11 —— 最紧、最吵，但「资质」永远建设中 */
body[data-site="fengjiang"]{
  --y2k-paper:  var(--y2k-paper-fj);
  --y2k-chrome: var(--y2k-teal);
  --y2k-chrome-ink: var(--y2k-white);
  --y2k-accent-2: var(--y2k-green);
  --y2k-cell:   #FFFFFF;
  --y2k-cell-alt: #F0F6F4;
  --y2k-lh: 1.2;                /* ⭐ 全站群最紧 */
  --y2k-cell-y: 2px;
  --paper: var(--y2k-paper-fj); --card: #FFFFFF; --well: #F0F6F4;
}

/* ⑤ 阿鱼 · ayu · 密度 11/11 ⭐ 装饰上限 —— 最热闹的站，已经死了 */
body[data-site="ayu"]{
  --y2k-paper:  var(--y2k-paper-ayu);
  --y2k-chrome: #2A2A44;
  --y2k-chrome-ink: #FFD24A;
  --y2k-cell:   #23233A;
  --y2k-cell-alt: #2C2C46;
  --y2k-rule:   #3C3C58;
  --y2k-a:       #FFD24A;
  --y2k-a-visit: #FF8AD0;
  --y2k-a-hover: #FFFFFF;
  --y2k-lh: 1.55;
  --paper: var(--y2k-paper-ayu); --card: #23233A; --well: #2C2C46;
  --line: #3C3C58; --line-2: #2C2C46;
}

/* ⑥ 警情通报 · police · 密度 3/11（K6 K7 K10）—— 比门户更旧一代 */
/* ⚠️ 08f C.5 硬纪律：无警号 / 无警衔 / 无警徽 / 无电话 / 无「110」/ 无真实文书编号。
   站头只有文字 + 一条 #000080 实心条，不画任何徽记状图形（含 CSS 画的）。 */
body[data-site="police"]{
  --y2k-paper:  var(--y2k-paper-police);
  --y2k-chrome: var(--y2k-navy);
  --y2k-chrome-ink: var(--y2k-white);
  --y2k-cell:   #FFFFFF;
  --y2k-cell-alt: #F5F6F8;
  --y2k-rule:   #808080;        /* 最硬网格线 */
  --y2k-lh: 1.6;
  --site-w: 740px;
  --site-cols: 176px minmax(0,1fr);   /* 左树状导航 + 正文，无右栏 */
  --paper: var(--y2k-paper-police); --card: #FFFFFF; --well: #F5F6F8;
  --accent: var(--y2k-navy); --accent-ink: #FFFFFF;
  --chrome: var(--y2k-navy); --chrome-2: #000060;
  --ink: #1A1A1A; --ink-2: #333333; --muted: #666666; --faint: #666666;
}
/* 通报正文一律仿宋，标题居中，首行缩进 2 字 —— 行政公文的条件反射 */
body[data-site="police"] .y2k-doc{
  border: var(--y2k-b-dbl); background: var(--y2k-cell);
  padding: 14px 16px; font: 13px/1.9 var(--y2k-fang); color: #1A1A1A;
}
body[data-site="police"] .y2k-doc p{ margin: 0 0 8px; text-indent: 2em; }
body[data-site="police"] .y2k-doc .ttl{
  display:block; text-align:center; text-indent:0;
  font: bold 16px/1.6 var(--y2k-hei); color: var(--y2k-a-hover); margin-bottom: 10px;
}
body[data-site="police"] .y2k-doc .sign{ text-align:right; text-indent:0; }

/* ⑦ 园务系统内站 · inner · 密度 4/11 · 全部失真 ⭐ */
/* ⚠️ 08f G.5 硬纪律：内站仅用中性代号，前台文案零出现宗教类词。
   本层只管视觉：同一套千禧语言、每一件都坏了。 */
body[data-site="inner"]{
  --y2k-paper:  var(--y2k-paper-inner);
  --y2k-chrome: #1A2026;
  --y2k-chrome-ink: #9AA6AE;
  --y2k-cell:   #12171B;
  --y2k-cell-alt: #12171B;      /* ⭐ 不隔行 —— 系统不为人服务 */
  --y2k-rule:   #2A3138;
  --y2k-a:       #7FA8C0;
  --y2k-a-visit: #7FA8C0;       /* ⭐ 不变色 */
  --y2k-a-hover: #7FA8C0;       /* ⭐ 悬停也不变 —— 无反馈 */
  --y2k-lh: 1.45;
  --site-w: 720px;
  --paper: var(--y2k-paper-inner); --card: #12171B; --well: #12171B;
  --line: #2A3138; --line-2: #222930;
  --ink: #9AA6AE; --ink-2: #7E8A93; --muted: #6B767E; --faint: #5A646B;
  --link: #7FA8C0; --link-v: #7FA8C0;
  --accent: #7FA8C0; --accent-ink: #0E1114;
  --chrome: #1A2026; --chrome-2: #12171B;
  font-family: var(--y2k-mono);  /* ⭐ 等宽为主，宋体为辅 */
}
/* 失真⑤：链接三态同色 —— 点了没反应，去过也不记得 */
body[data-site="inner"] a:hover,
body[data-site="inner"] a:active,
body[data-site="inner"] a:visited{ color: var(--y2k-a); text-decoration: none; }
/* 失真⑦：单元格 1px 错位 —— 极轻微，说不出哪里不对 */
body[data-site="inner"] .y2k-g > *:nth-child(7n){ margin-top: 1px; }
/* 失真⑥：树状导航展开到空节点 */
body[data-site="inner"] .y2k-n-tree .empty::before{ content: "└─"; }
body[data-site="inner"] .y2k-n-tree .empty{ color: #4A545B; }

/* ── 4. ⭐ 千禧细线网格（D.1 · = <table cellspacing=1 bgcolor=#808080>）── */
/* gap ≡ cellspacing，父 background ≡ 外层 bgcolor，子 background ≡ td bgcolor */
.y2k-g{
  display: grid;
  gap: var(--y2k-gap);
  background: var(--y2k-rule);
  border: var(--y2k-gap) solid var(--y2k-rule);
}
.y2k-g > *{
  background: var(--y2k-cell);
  padding: var(--y2k-cell-y) var(--y2k-cell-x);
  min-width: 0;
}
.y2k-g--2{ grid-template-columns: 1fr 1fr; }
.y2k-g--3{ grid-template-columns: 1fr 1fr 1fr; }
.y2k-g--kv{ grid-template-columns: 84px minmax(0,1fr); }
.y2k-g--list{ grid-template-columns: minmax(0,1fr) 76px; }
.y2k-g--thread{ grid-template-columns: 44px minmax(0,1fr) 64px 68px 96px; }

.y2k-g--zebra > *:nth-child(4n+3),
.y2k-g--zebra > *:nth-child(4n+4){ background: var(--y2k-cell-alt); }

.y2k-g > .th{ background: var(--y2k-well); font-weight: bold; text-align: center; }
.y2k-g > .num{ font-family: var(--y2k-mono); text-align: right; color: #666666; }

/* ⭐ Y-4 竖屏：多列网格塌单栏，但网格线保留 */
@media (max-width: 480px){
  .y2k-g--3, .y2k-g--thread{ grid-template-columns: minmax(0,1fr); }
  .y2k-g--thread > .num{ text-align: left; }
}

/* ── 5. 背景平铺纹 / 花式分隔线（D.2 · K5 / K6 · 0 图复刻 GIF）──────── */
body{ background-color: var(--y2k-desk); }

/* ⑤ 阿鱼：8×8 网格纹 —— 平铺小图的 0 字节等价物 */
body[data-site="ayu"]{
  background-color: var(--y2k-paper-ayu);
  background-image:
    repeating-linear-gradient(0deg,  rgba(255,255,255,.03) 0 1px, transparent 1px 8px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 8px);
}
/* ⑦ 内站：45° 细斜纹 —— 更冷、更机械 */
body[data-site="inner"]{
  background-color: var(--y2k-paper-inner);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,.022) 0 1px, transparent 1px 6px);
}

.y2k-hr{ border: 0; height: 3px; margin: var(--y2k-block) 0; }
/* 变体 a · 双色虚段（门户 / 论坛）*/
.y2k-hr--dash{
  background: repeating-linear-gradient(90deg,
    var(--y2k-chrome) 0 6px, var(--y2k-silver) 6px 12px);
}
/* 变体 b · 中间粗两端渐隐（阿鱼 / 个人站）*/
.y2k-hr--fade{
  background: linear-gradient(90deg,
    transparent 0, var(--y2k-chrome-ink) 20%, var(--y2k-chrome-ink) 80%, transparent 100%);
  height: 2px; opacity: .55;
}
/* 变体 c · 断续（⑦ 内站失真③）*/
.y2k-hr--broken{
  background: repeating-linear-gradient(90deg,
    var(--y2k-rule) 0 3px, transparent 3px 11px);
  height: 1px;
}
/* 失真③：每条 hr 的 dash 疏密不一 */
body[data-site="inner"] .y2k-hr--broken:nth-of-type(2n){
  background: repeating-linear-gradient(90deg,
    var(--y2k-rule) 0 2px, transparent 2px 15px);
}

/* ── 6. 板块标题栏（D.3 · L2 靠色块建立层级）────────────────────────── */
.y2k-bh{
  display: flex; align-items: center; justify-content: space-between;
  background: var(--y2k-chrome);
  color: var(--y2k-chrome-ink);
  font: bold var(--y2k-fs-ttl)/1 var(--y2k-hei);
  padding: 5px 6px 5px 0;
  border: var(--y2k-gap) solid var(--y2k-rule);
  border-bottom: 0;
}
/* 左侧红竖条 —— 千禧年门户频道头标配 */
.y2k-bh::before{
  content: ""; width: 3px; align-self: stretch;
  background: var(--y2k-a-hover); margin-right: 6px;
}
.y2k-bh .more{
  font: normal var(--y2k-fs-sm)/1 var(--y2k-song);
  color: var(--y2k-chrome-ink); opacity: .85;
}
/* ③ 寻人：无实心条，改双线（密度 0）*/
body[data-site="xunren"] .y2k-bh{
  background: transparent; color: #333333; border: 0;
  border-bottom: 3px double var(--y2k-rule); padding-left: 0;
}
body[data-site="xunren"] .y2k-bh::before{ display: none; }
/* ⑥ 警方：标题居中，无红竖条（机关纪律：不画任何徽记状图形）*/
body[data-site="police"] .y2k-bh::before{ background: var(--y2k-white); width: 2px; }

/* ── 7. 挂件三件套：站标 / 计数器 / 建设中（D.4 · K4 / K1 / K3）─────── */

/* K4 · 88×31 站标按钮（尺寸锁死，禁止自适应）*/
.y2k-k-btn88{
  box-sizing: border-box;
  display: inline-grid; place-content: center;
  width: var(--y2k-btn-w); height: var(--y2k-btn-h);
  padding: 0 2px;
  border: 1px solid var(--y2k-black);
  background: linear-gradient(180deg, #3A5F8F 0%, var(--y2k-navy) 100%);
  color: var(--y2k-white);
  font: bold 10px/1.1 var(--y2k-mono);
  letter-spacing: .02em; text-align: center; text-decoration: none;
  box-shadow: var(--y2k-out);
  overflow: hidden;
}
.y2k-k-btn88:hover{ text-decoration: none; filter: brightness(1.15); }
.y2k-k-btn88--maroon{ background: linear-gradient(180deg,#A83232 0%, var(--y2k-maroon) 100%); }
.y2k-k-btn88--olive { background: linear-gradient(180deg,#A0A030 0%, var(--y2k-olive)  100%); }
.y2k-k-btn88--dead  { background: #5A5A5A; color: #9A9A9A; }   /* 死链站标 */

/* 友链墙 —— 4 列 × 88px + 4px 间距 = 364px */
.y2k-k-wall{
  display: grid; grid-template-columns: repeat(4, var(--y2k-btn-w));
  gap: 4px; justify-content: start;
}
@media (max-width: 480px){ .y2k-k-wall{ grid-template-columns: repeat(3, var(--y2k-btn-w)); } }

/* K1 · 访客计数器（数码管）· 数字由 y2k-kit.js 逐位注入 */
/* ⚠️ C.8 数字红线：data-hits 禁 7 的倍数（001981 = 7×283 已否决），落地值 003845 */
.y2k-k-hits{
  display: inline-flex; gap: 1px; padding: 1px; vertical-align: middle;
  background: var(--y2k-black);
  border: 1px solid var(--y2k-gray);
  box-shadow: var(--y2k-in);
}
.y2k-k-hits b{
  min-width: 11px; padding: 1px 2px;
  background: #111111; color: #00FF66;
  font: normal 12px/14px var(--y2k-mono);
  text-align: center; font-weight: normal;
  box-shadow: inset 0 0 0 1px #002A11;
}
.y2k-k-hits--dead b{ color: #556055; }   /* ⑦ 内站失真①：坏掉，不跳动 */

/* K3 · Under Construction（0 图斜纹）*/
.y2k-k-uc{
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 6px;
  border: var(--y2k-b-dash);
  background: var(--y2k-cell);
  font: var(--y2k-fs-sm)/1.4 var(--y2k-song); color: #666666;
}
.y2k-k-uc::before{
  content: ""; width: 16px; height: 16px; flex: 0 0 16px;
  border: 1px solid var(--y2k-rule);
  background: repeating-linear-gradient(45deg,
    #E8B400 0 4px, #333333 4px 8px);
}
/* ⑦ 内站失真②：建设中永不完工 —— 斜纹褪成灰 */
body[data-site="inner"] .y2k-k-uc{ color: #5A646B; }
body[data-site="inner"] .y2k-k-uc::before{
  background: repeating-linear-gradient(45deg, #4A4636 0 4px, #22262A 4px 8px);
}

/* ── 8. frameset 多栏模拟（D.5 · CSS 复刻 frames）───────────────────── */
.y2k-frameset{
  display: grid;
  grid-template-columns: var(--site-cols);
  gap: 3px;                              /* frameborder */
  background: var(--y2k-silver);
  border: 3px ridge var(--y2k-silver);
  height: auto;
}
.y2k-frameset > .frm{
  background: var(--y2k-paper);
  box-shadow: var(--y2k-in);
  min-width: 0;
}
@media (min-width: 721px){
  .y2k-frameset{ max-height: 78vh; }
  .y2k-frameset > .frm{ overflow: auto; }
}
/* ⭐ Y-4 竖屏：解除框限，纵向堆叠，禁止独立滚动（避免嵌套滚动陷阱）*/
@media (max-width: 720px){
  .y2k-frameset{ grid-template-columns: minmax(0,1fr); max-height: none; }
  .y2k-frameset > .frm{ overflow: visible; max-height: none; }
}

/* ── 9. 走马灯皮肤（D.6 · K2 · ⭐ 复用 lz-crawl，不新增关键帧）──── */
/* A7 纪律：禁用已废弃的 marquee 标签。sites.css:205 已实现 .lz-mq，本节只加皮肤。 */
.lz-mq.y2k{
  border: var(--y2k-gap) solid var(--y2k-rule);
  background: var(--y2k-hl);
  font: var(--y2k-fs)/1.9 var(--y2k-song);
  color: #333333;
  height: auto; min-height: 22px;
  padding-left: 58px;
  position: relative; overflow: hidden;
}
.lz-mq.y2k::before{
  content: "【公告】"; position: absolute; left: 0; top: 0; bottom: 0;
  display: grid; place-content: center; padding: 0 4px;
  background: var(--y2k-chrome); color: var(--y2k-chrome-ink);
  font: bold var(--y2k-fs-sm)/1 var(--y2k-hei); z-index: 1;
}
body[data-site="ayu"] .lz-mq.y2k{ background: #141420; color: #FFD24A; }
/* reduced-motion 出口已由 sites.css §12 统一处理（animation:none + 静态堆叠）*/

/* ── 10. 飘落特效（D.7 · K11 · ⭐ 纯 JS rAF · 零关键帧）─────────── */
.y2k-fall{
  position: fixed; inset: 0; pointer-events: none; z-index: 5;   /* 低于模态 */
  overflow: hidden; contain: strict;
  display: none;                       /* 由 y2k-fall.js 按站开启 */
}
.y2k-fall.on{ display: block; }
.y2k-fall i{
  position: absolute; top: 0; left: 0;
  width: 3px; height: 3px; display: block;
  background: rgba(214,206,186,.42);   /* 纸灰色，非纯白雪 —— 沨镇不下雪 */
  transform: translate(-10vw,-10vh);
  will-change: transform;
}
body[data-site="inner"] .y2k-fall i{
  background: rgba(150,150,150,.28); width: 2px; height: 2px;
}
@media (prefers-reduced-motion: reduce){ .y2k-fall{ display: none !important; } }

/* ── 11. 原始表单控件 + 站内模态（D.8 · K7 / K8）────────────────────── */
/* ⚠️ 零收集纪律：全站表单为装饰性，控件须 disabled/readonly，
   <form> 须 onsubmit="return false"，无 action、无 method、无数据出站。 */
.y2k-f input[type=text], .y2k-f input[type=search],
.y2k-f select, .y2k-f textarea{
  box-sizing: border-box;
  font: var(--y2k-fs)/1.4 var(--y2k-song);
  color: var(--y2k-black); background: var(--y2k-white);
  padding: 2px 3px;
  border: 2px inset var(--y2k-btnface);   /* ⭐ inset = 凹陷输入框 */
  border-radius: 0;                        /* ⭐ 千禧年没有圆角 */
  outline-offset: 0;
}
.y2k-f button, .y2k-f input[type=button], .y2k-f input[type=submit]{
  font: var(--y2k-fs)/1.4 var(--y2k-song);
  color: var(--y2k-black); background: var(--y2k-btnface);
  padding: 2px 12px;
  border: 2px outset var(--y2k-btnface);   /* ⭐ outset = 凸起按钮 */
  border-radius: 0; cursor: pointer;
}
.y2k-f button:active{ border-style: inset; }
/* ⑦ 内站失真④：表单全禁用态 —— 输入框里有值但改不了 */
body[data-site="inner"] .y2k-f input,
body[data-site="inner"] .y2k-f select,
body[data-site="inner"] .y2k-f textarea,
body[data-site="inner"] .y2k-f button{
  color: #5A6169; background: #161B20; border-style: inset; cursor: not-allowed;
}
/* ⭐ A4 竖屏点击目标 */
@media (max-width: 480px){
  .y2k-f input, .y2k-f select, .y2k-f textarea, .y2k-f button{ min-height: 32px; }
  .y2k-n-ch a, .y2k-k-btn88{ min-height: 32px; }
}

/* K8 · 站内模态（伪弹窗）· 绝不用新窗口（08e N-1）*/
.y2k-w{
  position: fixed; z-index: 60; left: 50%; top: 38%;
  transform: translate(-50%,-38%);
  width: min(360px, 92vw);
  background: var(--y2k-btnface);
  border: 2px outset var(--y2k-btnface);
  box-shadow: 2px 2px 0 rgba(0,0,0,.45);
}
.y2k-w__tb{
  display: flex; align-items: center; justify-content: space-between;
  height: 20px; padding: 0 2px 0 5px;
  background: linear-gradient(90deg, var(--y2k-navy) 0%, #1084D0 100%);
  color: var(--y2k-white);
  font: bold var(--y2k-fs)/20px var(--y2k-hei);
}
.y2k-w__x{
  width: 17px; height: 15px; padding: 0; line-height: 13px;
  background: var(--y2k-btnface); color: var(--y2k-black);
  border: 1px outset var(--y2k-btnface);
  font: 11px/13px var(--y2k-mono); cursor: pointer;
}
.y2k-w__bd{
  padding: 10px; min-height: 96px;
  font: var(--y2k-fs)/1.6 var(--y2k-song); color: #222222; background: var(--y2k-btnface);
}
.y2k-w__ft{ padding: 0 10px 10px; text-align: center; }
.y2k-mask{ position: fixed; inset: 0; z-index: 59; background: rgba(0,0,0,.28); }
@media (max-width: 480px){ .y2k-w{ top: 50%; transform: translate(-50%,-50%); } }

/* ── 12. 导航 / 留言板 / 签名档 / 页脚声明（D.9 · K9 / K10）──────────── */

/* 树状折叠导航（0 JS · <details>/<summary>）*/
.y2k-n-tree, .y2k-n-tree ul{ list-style: none; margin: 0; padding: 0; }
.y2k-n-tree ul{ padding-left: 10px; }
.y2k-n-tree li{ font: var(--y2k-fs)/1.9 var(--y2k-song); white-space: nowrap; }
.y2k-n-tree li::before{
  content: "├─"; margin-right: 3px; color: #666666; font-family: var(--y2k-mono);
}
.y2k-n-tree li:last-child::before{ content: "└─"; }
.y2k-n-tree summary{ cursor: pointer; list-style: none; }
.y2k-n-tree summary::-webkit-details-marker{ display: none; }
.y2k-n-tree summary::after{ content: " [+]"; font-family: var(--y2k-mono); color: #666666; }
.y2k-n-tree details[open] > summary::after{ content: " [-]"; }
@media (max-width: 480px){ .y2k-n-tree li{ line-height: 2.4; } }   /* A4 点击目标 */

/* 频道条（门户 / 论坛顶部纯文字导航矩阵）*/
.y2k-n-ch{
  border: var(--y2k-gap) solid var(--y2k-rule);
  background: var(--y2k-well);
  padding: 3px 6px;
  font: var(--y2k-fs)/1.9 var(--y2k-song);
}
.y2k-n-ch a{ margin: 0 2px; }
.y2k-n-ch span.sep{ color: var(--y2k-gray); margin: 0 1px; }

/* K9 · 留言板 + 签名档 */
.y2k-gb li{ list-style: none; padding: 6px 0; border-bottom: var(--y2k-b-dot); }
.y2k-gb .who{ font-weight: bold; color: var(--y2k-a); }
.y2k-gb .when{ font: var(--y2k-fs-sm)/1 var(--y2k-mono); color: #666666; margin-left: 6px; }
.y2k-gb .txt{ margin-top: 3px; }
.y2k-sig{
  margin-top: 6px; padding-top: 4px;
  border-top: var(--y2k-b-dot);
  font: var(--y2k-fs-sm)/1.6 var(--y2k-song); color: #666666;   /* ⚠️ A2：非 #808080 */
}

/* K10 · 页脚年代声明 */
.y2k-foot{
  margin-top: var(--y2k-block);
  padding: 6px; text-align: center;
  border-top: var(--y2k-b);
  font: var(--y2k-fs-sm)/1.9 var(--y2k-mono); color: #666666;
}
.y2k-foot .upd{ display: block; }   /* 最后更新 —— 全站必有 */

/* ── 13. 空框（她的脸永不出现 · ③ 寻人与 ⑥ 警方刻意同款）────────────── */
.y2k-nophoto{
  width: 60px; height: 80px;
  border: 1px solid var(--y2k-rule);
  background: var(--y2k-cell-alt);
  display: inline-block; vertical-align: top;
}

/* ── 14. 「急聘」「置顶」「NEW」标（A6：色块 + 文字，不闪烁 N-2）─────── */
.y2k-tag{
  display: inline-block; padding: 0 3px;
  font: 10px/1.6 var(--y2k-mono);
  background: var(--y2k-a-hover); color: var(--y2k-white);
  vertical-align: middle;
}
.y2k-tag--top{ background: var(--y2k-olive); }
.y2k-tag--new{ background: var(--y2k-green); }
