/* 乙・告示栏 r2 — 牛皮板 + 米白纸条 + 胶带。全部用 CSS 画,不用图片,不内联脚本。
   r2:手机可读性优先(不倾斜、少叠质感、对比度≥7:1);揭示三段;长卡两停点;#fit=shrink 对照。 */

:root{
  --board:#D9C9AE;
  --board-light:#E4D7BE;
  --board-dark:#C6B38F;
  --rail:#B9A684;
  --rail-dark:#9E8A66;
  --paper:#F7F2E8;
  --paper-edge:#CFC4B2;
  --ink:#1A1A1A;
  --ink-soft:#5A5247;
  --ink-faint:#8A8070;
  --stamp:#9B4B45;
  --tape:#A89470;          /* 默认胶带色;每本在 data-topic 上覆盖 */
  --bar-h:58px;
  --row-h:40px;
  --foot-h:46px;
  --font:-apple-system, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "HONOR Sans CN", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  /* 第五令·字体三层:展示字(宋黑)管标题/本名/卡题;手写字(楷)管铅笔注记;等宽字管数字;正文仍是系统黑体 */
  --font-display:"RS Serif", "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", serif;
  --font-hand:"RS Kai", "Kaiti SC", "STKaiti", "KaiTi", "LXGW WenKai", "Noto Serif CJK SC", serif;
  --font-mono:"RS Mono", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}
@font-face{ font-family:"RS Serif"; font-weight:700; font-display:swap; src:url(fonts/rs-serif-700.woff2) format("woff2"); }
@font-face{ font-family:"RS Serif"; font-weight:900; font-display:swap; src:url(fonts/rs-serif-900.woff2) format("woff2"); }
@font-face{ font-family:"RS Kai"; font-weight:400; font-display:swap; src:url(fonts/rs-kai-400.woff2) format("woff2"); }
@font-face{ font-family:"RS Mono"; font-weight:500; font-display:swap; src:url(fonts/rs-mono-500.woff2) format("woff2"); }
@font-face{ font-family:"RS Mono"; font-weight:600; font-display:swap; src:url(fonts/rs-mono-600.woff2) format("woff2"); }
@font-face{ font-family:"RS Smiley"; font-weight:400; font-display:swap; src:url(fonts/rs-smiley-title.woff2) format("woff2"); }
.n{ font-style:normal; font-family:var(--font-mono); font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:0; }

/* 12 本各一条低饱和胶带色 */
[data-topic="work"]{ --tape:#B5635A; }       /* 砖红 */
[data-topic="family"]{ --tape:#C89B9B; }     /* 藕粉 */
[data-topic="other"]{ --tape:#A39C8E; }      /* 暖灰 */
[data-topic="expert"]{ --tape:#6E7A90; }     /* 靛灰 */
[data-topic="state"]{ --tape:#6F9088; }      /* 青灰 */
[data-topic="history"]{ --tape:#A08060; }    /* 茶褐 */
[data-topic="gender"]{ --tape:#B07A8C; }     /* 暗玫 */
[data-topic="money"]{ --tape:#C2A24A; }      /* 芥末 */
[data-topic="peer"]{ --tape:#8A9A7B; }       /* 灰绿 */
[data-topic="outsource"]{ --tape:#8B7D9E; }  /* 紫灰 */
[data-topic="foreign"]{ --tape:#9A9A5E; }    /* 橄榄 */
[data-topic="privilege"]{ --tape:#C47E4C; }  /* 赭石 */

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background-color:var(--board);
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.045) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(90,60,20,.035) 0 1px, transparent 1px 11px),
    radial-gradient(120% 70% at 15% 0%, rgba(255,250,235,.42), transparent 60%),
    radial-gradient(90% 70% at 95% 100%, rgba(90,60,20,.22), transparent 60%),
    linear-gradient(165deg, var(--board-light), var(--board) 50%, var(--board-dark));
  background-attachment:fixed;
  min-height:100vh;
}
body.is-topic{ overflow:hidden; }
[hidden]{ display:none !important; }
a{ color:inherit; text-decoration:none; }

/* ---------- 纸 ---------- */
.paper{
  position:relative;
  background-color:var(--paper);
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0) 38%),
    linear-gradient(0deg, rgba(120,100,70,.07), transparent 28%);
  border:1px solid var(--paper-edge);
  box-shadow:
    0 1px 1px rgba(60,40,10,.14),
    0 8px 18px -6px rgba(60,40,10,.28);
}

/* ---------- 胶带 ---------- */
.tape, .tapechip{
  color:var(--ink);
  background-color:var(--tape);
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 2px, transparent 2px 7px),
    linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,0) 60%, rgba(0,0,0,.06));
  clip-path:polygon(0 4%, 98.5% 0, 100% 22%, 98.6% 48%, 100% 74%, 98% 100%, 2% 97%, 0 78%, 1.6% 52%, 0 26%);
}
.tape{
  position:absolute; left:50%; top:-13px;
  transform:translateX(-50%) rotate(-2deg);
  min-width:110px; height:26px; padding:0 16px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  font-size:12px; font-weight:700; letter-spacing:.1em; line-height:1; white-space:nowrap;
  opacity:.94;
}
.tapechip{
  position:relative; display:inline-flex; align-items:center;
  height:28px; padding:0 14px; margin:0;
  font:inherit; font-size:13px; font-weight:700; letter-spacing:.04em; line-height:1; white-space:nowrap;
  transform:rotate(var(--r, 0deg));
  opacity:.8;
  cursor:pointer;
  transition:transform .16s ease, opacity .16s ease, filter .16s ease;
}
.tapechip:hover, .tapechip:focus-visible{ opacity:1; transform:rotate(var(--r, 0deg)) translateY(-2px); outline:none; }
.tapechip.is-current{
  opacity:1; filter:brightness(1.08) saturate(1.1);
  transform:rotate(var(--r, 0deg)) translateY(-3px) scale(1.04);
  z-index:1;
}
/* 胶带条的微旋转:按顺序循环 */
.tapechip:nth-child(6n+1){ --r:-1.5deg; }
.tapechip:nth-child(6n+2){ --r:1deg; }
.tapechip:nth-child(6n+3){ --r:-0.6deg; }
.tapechip:nth-child(6n+4){ --r:1.8deg; }
.tapechip:nth-child(6n+5){ --r:-1.2deg; }
.tapechip:nth-child(6n+6){ --r:0.7deg; }

/* ---------- 印章 ---------- */
.stamp{
  display:inline-block;
  padding:7px 11px 6px;
  border:1.5px solid var(--stamp); border-radius:6px;
  color:var(--stamp);
  font-family:var(--font-display); font-size:11.5px; font-weight:700; letter-spacing:.14em; line-height:1.25; white-space:nowrap;
  transform:rotate(-3deg);
  box-shadow:inset 0 0 0 2px var(--paper), inset 0 0 0 3px var(--stamp);   /* 双圈 */
  background-image:repeating-linear-gradient(135deg, transparent 0 3px, rgba(255,255,255,.22) 3px 4px);
  mix-blend-mode:multiply;
  opacity:.92;
}

/* ---------- 铅笔小字 / 纸片按钮 / 纸标签 ---------- */
.pencil{ margin:0; font-family:var(--font-hand); font-size:14px; line-height:1.5; color:var(--ink-soft); }
.pencil .n{ font-weight:500; }
.pencil.foot{ margin-top:36px; color:var(--ink-faint); }
.scrap{
  display:inline-flex; align-items:center;
  height:32px; padding:0 12px;
  background:var(--paper);
  border:1px solid var(--paper-edge);
  box-shadow:0 1px 1px rgba(60,40,10,.14), 0 4px 10px -4px rgba(60,40,10,.28);
  font-size:13px; font-weight:800; color:var(--ink); white-space:nowrap;
  transform:rotate(1.2deg);
  transition:transform .16s ease;
}
.scrap:hover, .scrap:focus-visible{ transform:rotate(1.2deg) translateY(-2px); outline:none; }

/* 对象条里的纸标签 */
.actors{ display:flex; align-items:center; gap:8px; }
.tag{
  display:inline-flex; align-items:baseline; gap:5px;
  height:26px; padding:0 10px;
  background:var(--paper);
  border:1px solid var(--paper-edge);
  box-shadow:0 1px 1px rgba(60,40,10,.14), 0 3px 8px -4px rgba(60,40,10,.28);
  font-size:12.5px; font-weight:700; line-height:24px; white-space:nowrap; color:var(--ink-soft);
  opacity:.82;
  transition:transform .16s ease, opacity .16s ease;
}
.tag i{ font-style:normal; font-weight:600; font-size:11px; color:var(--ink-faint); }
.tag:hover, .tag:focus-visible{ opacity:1; transform:translateY(-1px); outline:none; }
.tag.is-on{
  opacity:1; color:var(--ink);
  border-color:var(--ink-soft);
  box-shadow:inset 0 0 0 1px rgba(26,26,26,.5), 0 1px 1px rgba(60,40,10,.14), 0 4px 10px -4px rgba(60,40,10,.3);
}
.tag:nth-child(odd){ transform:rotate(-.8deg); }
.tag:nth-child(even){ transform:rotate(.7deg); }

/* =========================================================
   总览:一面墙,12 本的封面
   ========================================================= */
.wall{
  overflow:hidden;
  min-height:100vh;
  padding:22px 16px calc(var(--foot-h) + 40px);
}
.masthead{
  display:flex; flex-direction:column; align-items:flex-start; gap:12px;
  margin:4px 0 30px;
}
/* 页首标题:三个方向,body[data-title] 切(#title=a|b|c),默认 b */
.masthead-title{ position:relative; display:inline-block; }
.site-title{ margin:0; color:var(--ink); line-height:1.15; }
.seal{ display:none; }
/* a 手写楷:直接写在板上,马克笔划一道 */
[data-title="a"] .site-title{
  position:relative; padding:0 6px 8px 2px;
  font-family:var(--font-hand); font-weight:400; font-size:31px; letter-spacing:.06em;
  transform:rotate(-1deg);
}
[data-title="a"] .site-title::after{
  content:""; position:absolute; left:4px; right:10px; bottom:2px; height:6px;
  background:var(--stamp); opacity:.5;
  border-radius:48% 52% 40% 60% / 70% 30% 70% 30%;
  transform:rotate(-.5deg);
}
/* b 宋体告示(建议):白纸条两角贴胶带,右上一枚「告示」红印 */
[data-title="b"] .site-title{
  display:inline-block; padding:10px 18px 11px 20px;
  font-family:var(--font-display); font-weight:900; font-size:22px; letter-spacing:.14em;
  background-color:var(--paper);
  background-image:linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0) 38%), linear-gradient(0deg, rgba(120,100,70,.07), transparent 28%);
  border:1px solid var(--paper-edge);
  box-shadow:0 1px 1px rgba(60,40,10,.14), 0 8px 18px -6px rgba(60,40,10,.28);
  transform:rotate(-.6deg);
}
[data-title="b"] .masthead-title::before, [data-title="b"] .masthead-title::after{
  content:""; position:absolute; top:-7px; width:40px; height:14px; z-index:1;
  background-color:var(--rail);
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 2px, transparent 2px 7px), linear-gradient(180deg, rgba(255,255,255,.26), rgba(255,255,255,0) 60%, rgba(0,0,0,.06));
  clip-path:polygon(0 4%, 98.5% 0, 100% 22%, 98.6% 48%, 100% 74%, 98% 100%, 2% 97%, 0 78%, 1.6% 52%, 0 26%);
  opacity:.9;
}
[data-title="b"] .masthead-title::before{ left:-12px; transform:rotate(-32deg); }
[data-title="b"] .masthead-title::after{ right:-12px; transform:rotate(30deg); }
[data-title="b"] .seal{
  display:block; position:absolute; right:-26px; top:-20px; z-index:2;
  writing-mode:vertical-rl; padding:5px 3px 6px;
  font-family:var(--font-display); font-weight:700; font-size:12px; letter-spacing:.12em; line-height:1;
  color:var(--stamp); border:1.5px solid var(--stamp); border-radius:4px;
  box-shadow:inset 0 0 0 1.5px var(--paper), inset 0 0 0 2.5px var(--stamp);
  background:rgba(247,242,232,.6); mix-blend-mode:multiply; opacity:.9;
  transform:rotate(9deg);
}
/* c 得意黑海报:砖红窄黑直接印在板上 */
[data-title="c"] .site-title{
  font-family:"RS Smiley", var(--font); font-weight:400; font-size:40px; letter-spacing:.02em; line-height:1;
  color:var(--stamp); text-shadow:0 1px 0 rgba(255,255,255,.35);
}
.masthead-note{text-wrap:balance; font-size:13.5px; }

.notices{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:26px 14px;
  align-items:start;
}
.notice{
  --r:0deg; --dy:0px;
  display:flex; flex-direction:column; align-items:flex-start;
  min-height:200px;
  padding:28px 13px 15px;
  transform:rotate(var(--r)) translateY(var(--dy));
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
.notice:nth-child(even){ --dy:18px; }
.notice:nth-child(12n+1){ --r:-2.2deg; }
.notice:nth-child(12n+2){ --r:1.4deg; }
.notice:nth-child(12n+3){ --r:-0.8deg; }
.notice:nth-child(12n+4){ --r:2.6deg; }
.notice:nth-child(12n+5){ --r:-1.6deg; }
.notice:nth-child(12n+6){ --r:0.9deg; }
.notice:nth-child(12n+7){ --r:-2.8deg; }
.notice:nth-child(12n+8){ --r:1.9deg; }
.notice:nth-child(12n+9){ --r:-1.1deg; }
.notice:nth-child(12n+10){ --r:2.2deg; }
.notice:nth-child(12n+11){ --r:-0.4deg; }
.notice:nth-child(12n+12){ --r:1.2deg; }
.notice:hover, .notice:focus-visible{
  outline:none;
  transform:rotate(var(--r)) translateY(calc(var(--dy) - 6px)) scale(1.025);
  box-shadow:0 2px 2px rgba(60,40,10,.14), 0 18px 28px -10px rgba(60,40,10,.38);
  z-index:2;
}
.notice .tape{ min-width:72px; }
.notice .name{
  margin:0;
  font-family:var(--font-display); font-size:24px; font-weight:700; line-height:1.2; letter-spacing:.04em;
}
.notice .name.long{ font-size:20px; }
.notice .sub{ margin:6px 0 0; font-family:var(--font-hand); font-size:13.5px; line-height:1.45; color:var(--ink-soft); }
.notice .cover{
  margin:12px 0 0; padding-top:10px;
  border-top:1px dashed rgba(90,82,71,.35);
  font-size:14px; line-height:1.45; font-weight:700; color:var(--ink);
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden;
  word-break:normal; overflow-wrap:anywhere;
}
.notice .stamp{ margin-top:14px; max-width:100%; font-size:11px; letter-spacing:.1em; padding:6px 9px 5px; }
.stamp .n{ font-weight:600; letter-spacing:0; }
.notice .stamp .l1{ display:block; }

/* 关于数据 */
.about{
  margin:56px auto 0; max-width:720px;
  padding:32px 20px 20px;
  transform:rotate(-.5deg);
}
.about .tape{ --tape:var(--rail); }
.about h2{ margin:0 0 10px; font-family:var(--font-display); font-size:20px; font-weight:700; letter-spacing:.06em; }
.about ol{ margin:0; padding-left:1.4em; font-size:13.5px; line-height:1.6; color:var(--ink); }
.about li{ margin:4px 0; }
.about li::marker{ color:var(--ink-faint); font-weight:700; }
.about .pencil{ margin-top:14px; padding-top:10px; border-top:1px dashed rgba(90,82,71,.35); font-size:11.5px; color:var(--ink-faint); }

/* =========================================================
   顶栏(板子上沿的横木)+ 对象条
   ========================================================= */
.bar{
  position:fixed; top:0; left:0; right:0; z-index:20;
  height:var(--bar-h);
  display:flex; align-items:center; gap:12px;
  padding:0 14px;
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 9px),
    linear-gradient(180deg, var(--rail) 0%, var(--rail-dark) 100%);
  box-shadow:0 2px 0 rgba(60,40,10,.18), 0 8px 18px -8px rgba(60,40,10,.45);
}
.bar-title{ display:none; }
.bar-topic{ height:30px; font-size:14px; opacity:1; --r:-1deg; }
.bar .actors-bar{ display:none; }
.bar .back{ margin-left:auto; flex:0 0 auto; }

.actors-wrap{
  position:fixed; top:var(--bar-h); left:0; right:0; z-index:19;
  height:var(--row-h);
  padding:0 14px;
  display:flex; align-items:center; gap:10px;
}
.actors-row{
  flex:1 1 auto; min-width:0; height:100%;
  overflow-x:auto; overflow-y:hidden;
  scrollbar-width:none;
}
.actors-row::-webkit-scrollbar{ display:none; }

/* 全站切换:先看视频在说什么 / 直接看留言(显示的是当前方式) */
.mode{
  flex:0 0 auto;
  display:inline-flex; align-items:center; gap:7px;
  height:26px; padding:0 9px;
  background:var(--paper); border:1px solid var(--paper-edge);
  box-shadow:0 1px 1px rgba(60,40,10,.14);
  font:inherit; font-size:11.5px; font-weight:700; line-height:1; color:var(--ink);
  white-space:nowrap; cursor:pointer;
}
.mode .sw{ position:relative; width:20px; height:11px; border-radius:6px; background:var(--ink-faint); transition:background .15s ease; }
.mode .sw::after{ content:""; position:absolute; top:1.5px; left:1.5px; width:8px; height:8px; border-radius:50%; background:var(--paper); transition:left .15s ease; }
body.mode-reveal .mode .sw{ background:var(--ink); }
body.mode-reveal .mode .sw::after{ left:10.5px; }
body.mode-reveal .mode .m-off{ display:none; }
body:not(.mode-reveal) .mode .m-on{ display:none; }
.bar .mode-d{ display:none; }

/* =========================================================
   页脚来源行:每屏都看得到
   ========================================================= */
.source{
  position:fixed; left:0; right:0; bottom:0; z-index:21;
  min-height:var(--foot-h);
  padding:6px 14px 8px;
  font-size:10.5px; line-height:1.35; color:var(--ink-soft);
  background:linear-gradient(180deg, rgba(217,201,174,0), rgba(201,182,147,.92) 40%, rgba(190,170,135,.98));
  box-shadow:0 -1px 0 rgba(60,40,10,.12);
}
.source .sep{ margin:0 5px; color:var(--ink-faint); }
.source a{ text-decoration:underline; text-underline-offset:2px; font-weight:700; }

/* =========================================================
   卡:一卡一屏;长卡两停点(纸条本体 / 语境)
   ========================================================= */
.deck{
  position:fixed; inset:0; z-index:10;
  overflow-y:auto; overflow-x:hidden;
  scroll-snap-type:y mandatory;
  overscroll-behavior:contain;
  outline:none;
}
.deck.is-locked{ overflow-y:hidden; }     /* 揭示未完:上滑/点一下先推进 */
.slide{ position:relative; }
.slide.one, .slide.two > .stop{
  position:relative;
  min-height:100vh; min-height:100dvh;
  scroll-snap-align:start; scroll-snap-stop:always;
  padding:calc(var(--bar-h) + var(--row-h) + 14px) 14px calc(var(--foot-h) + 22px);
  display:flex; flex-direction:column; justify-content:flex-start;
  overflow:hidden;
}
.slide.one > .stop-a{ display:contents; }
.slide.one > .stop-b{ display:none; }
.slide.two > .stop-a > .strips{ display:none; }
.col-left{ display:none; }

/* 便签(这条视频在说):卡顶一行小字,细、弱 */
.caption{
  margin:0 0 10px; padding-left:10px; border-left:2px solid rgba(90,82,71,.45);
  font-size:12.5px; line-height:1.45; color:var(--ink-soft); font-weight:500;
}
.caption b{ display:block; font-family:var(--font-hand); font-weight:400; font-size:12px; letter-spacing:.12em; color:var(--ink-faint); margin-bottom:2px; }
.caption:not(.full) span{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1; overflow:hidden; }
.caption.full{ font-size:14px; line-height:1.5; padding:10px 12px; margin:0 0 14px; border-left-width:3px; background:rgba(247,242,232,.55); }
.caption.full b{ margin-bottom:4px; }
/* #标签小格:字号小于正文、淡色、细边圆角、可换行横排;只展示不可点 */
.caption .tags, .cap-tags{ display:flex; flex-wrap:wrap; gap:4px 5px; margin-top:5px; }
.caption .tags i, .cap-tags i{
  font-style:normal; font-weight:500; font-size:10.5px; line-height:1.3; letter-spacing:0; white-space:nowrap;
  padding:1px 7px; border:1px solid rgba(90,82,71,.28); border-radius:999px; color:var(--ink-faint);
}
.caption:not(.full) .tags{ max-height:17px; overflow:hidden; margin-bottom:8px; }   /* 卡顶一行版:标签也只留一行,下方留空给胶带 */
.caption.tags-only b{ margin-bottom:5px; }
.caption.full .tags i{ font-size:11px; }

.paper.main{
  display:flex; flex-direction:column;
  padding:26px 16px 14px;
}
.paper.main .tape{ min-width:96px; }

.actor{
  margin:0; line-height:1.3;
  font-size:13px; color:var(--ink-soft);
}
.actor b{ font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--ink); letter-spacing:.04em; }
.actor .colon{ font-size:15px; font-weight:800; color:var(--ink); margin:0 2px 0 1px; }
.actor .detail{ font-weight:500; }

.claim{ margin:8px 0 0; line-height:1; }
.claim span{
  display:inline-block; padding:3px 7px 2px;
  border:1px solid rgba(90,82,71,.6); border-radius:3px;
  font-size:11px; font-weight:700; letter-spacing:.06em; color:var(--ink-soft);
}

.quote{
  margin:14px 0 0;
  font-weight:700; letter-spacing:0; color:var(--ink);
  text-align:left; white-space:pre-line;
  word-break:normal; overflow-wrap:anywhere;
}
/* 390 正文不低于 22px(长卡靠两停点,不靠缩字) */
.quote.s1{ font-size:28px; line-height:1.3; }
.quote.s2{ font-size:24px; line-height:1.36; }
.quote.s3{ font-size:22px; line-height:1.4; }
.quote.s4{ font-size:22px; line-height:1.42; }
/* #fit=shrink 对照:v2 的缩字一屏方案 */
body.fit-shrink .quote.s3{ font-size:20px; line-height:1.38; }
body.fit-shrink .quote.s4{ font-size:18px; line-height:1.42; }
body.fit-shrink .caption{ margin-bottom:6px; }
body.fit-shrink .strips{ margin-top:8px; }
body.fit-shrink .strip-wrap{ margin-top:5px; }
body.fit-shrink .strip-text{ font-size:13.5px; line-height:1.4; }

.meta{
  margin:12px 0 0; padding-top:9px;
  border-top:1px dashed rgba(90,82,71,.4);
  font-size:11.5px; line-height:1.4; font-weight:600; letter-spacing:.02em; color:var(--ink-faint);
}
.meta .dot{ margin:0 5px; }

/* 其他声音:手机上是平贴的纸条(不撕边、不倾斜、不叠影),桌面才撕边 */
.strips{ margin-top:12px; padding:0 2px; }
.ctx-label{ margin:0 0 6px 4px; font-family:var(--font-hand); font-size:12px; letter-spacing:.12em; color:var(--ink-faint); }
.strip-wrap{ --r:0deg; --dx:0px; width:100%; margin-top:8px; }
.strip-wrap:first-of-type{ margin-top:0; }
.strip{
  background:var(--paper);
  border:1px solid var(--paper-edge);
  box-shadow:0 1px 2px rgba(60,40,10,.16);
  padding:9px 12px 10px;
}
.strip-text{
  margin:0; font-size:14px; line-height:1.42; font-weight:600; color:var(--ink);
  white-space:pre-line; word-break:normal; overflow-wrap:anywhere;
}
.strip-meta{ margin:5px 0 0; font-size:10.5px; letter-spacing:.04em; color:var(--ink-faint); font-weight:600; }
/* 手机:撕条先收起(停点一 2 行、语境停点 4 行),点一下展开 */
.strips.clamp{ cursor:pointer; --lines:2; }
.stop-b .strips.clamp{ --lines:4; }
.strips.clamp:not(.open) .strip-text{
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:var(--lines); overflow:hidden;
}

/* 揭示三段:0 只见便签字卡;1 纸条压上、便签退到卡顶;2 撕条叠上 */
.paper.main, .strips, .caption, .capcard{
  transition:transform .5s cubic-bezier(.2,.75,.2,1), opacity .35s ease;
}
.slide[data-stage="0"] .paper.main{ transform:translateY(110vh); opacity:0; pointer-events:none; }
.slide[data-stage="0"] .caption{ opacity:0; transform:translateY(-6px); }
.slide:not([data-stage="2"]) .strips{ transform:translateY(80px); opacity:0; pointer-events:none; }
.capcard{
  position:absolute; left:14px; right:14px;
  top:calc(var(--bar-h) + var(--row-h) + 14px); bottom:calc(var(--foot-h) + 22px);
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center; padding:0 14px;
  opacity:0; transform:scale(.97); pointer-events:none;
}
.slide[data-stage="0"] .capcard{ opacity:1; transform:none; }
.cap-label{ margin:0 0 14px; font-family:var(--font-hand); font-size:13px; letter-spacing:.2em; color:var(--ink-soft); font-weight:400; }
.cap-text{
  margin:0; max-width:34ch;
  font-size:22px; line-height:1.5; font-weight:700; color:var(--ink);
  text-wrap:balance; word-break:normal; overflow-wrap:anywhere;
}
.cap-tags{ justify-content:center; max-width:34ch; margin-top:14px; gap:6px 7px; }
.cap-tags i{ font-size:15px; padding:2px 10px; border-color:rgba(90,82,71,.35); color:var(--ink-soft); }
.cap-hint{ margin:26px 0 0; font-size:11.5px; letter-spacing:.08em; color:var(--ink-soft); }
.cap-hint .desk{ display:none; }

.hint{
  margin:auto 0 0; padding-top:10px;
  text-align:center; font-size:11.5px; letter-spacing:.1em; color:var(--ink-soft);
}
.hint .desk{ display:none; }
.slide.two .hint{ display:none; }
/* 390:提示钉在停点下内距里(绝对定位),不再把第一张卡的内容往下顶 */
@media (max-width:999px){
  .slide .hint{ position:absolute; left:14px; right:14px; bottom:calc(var(--foot-h) + 3px); margin:0; padding:0; font-size:12px; line-height:18px; text-align:center; }
}

/* 末卡:这本翻完了 */
.slide.end{ justify-content:center; align-items:center; }
.paper.end-paper{
  width:100%; max-width:560px;
  padding:34px 22px 24px;
}
.end-paper h2{ margin:0 0 6px; font-family:var(--font-display); font-size:28px; font-weight:700; line-height:1.2; letter-spacing:.04em; }
.end-paper .pencil{ margin-bottom:16px; }
.end-paper .pencil.small{ margin:18px 0 8px; font-size:11.5px; color:var(--ink-faint); }
.end-paper .next{ height:40px; font-size:16px; padding:0 18px; opacity:1; --r:-1deg; }
.chips{ display:flex; flex-wrap:wrap; gap:12px 10px; margin-bottom:22px; }
.chips .tapechip{ opacity:.9; }

/* =========================================================
   手机(<1000):可读性优先于质感
   ========================================================= */
@media (max-width:999px){
  :root{ --ink-soft:#43403A; --ink-faint:#524B41; }   /* 在 #F7F2E8 上分别约 9:1 / 7.5:1 */
  .paper{
    background-image:none;
    box-shadow:0 1px 2px rgba(60,40,10,.18), 0 6px 14px -8px rgba(60,40,10,.3);
  }
  .paper.main, .paper.end-paper, .about{ transform:none; }
  .notice{ --r:0deg; }
  .notice:nth-child(odd){ --r:-0.4deg; }
  .notice:nth-child(even){ --r:0.4deg; }
  .tag, .tag:nth-child(odd), .tag:nth-child(even){ transform:none; }
  .scrap, .scrap:hover, .scrap:focus-visible{ transform:none; }
  .tape{ opacity:1; }
  .claim span{ transform:none; }
  .end-paper .scrap{ transform:none; }
}

/* =========================================================
   桌面:左书架 / 中主栏 / 右语境,一面墙保留(倾斜、撕边、叠影)
   ========================================================= */
@media (min-width:1000px){
  :root{ --bar-h:64px; --row-h:0px; --foot-h:30px; }

  .wall{ padding:34px 48px calc(var(--foot-h) + 56px); }
  .masthead{
    flex-direction:row; align-items:flex-end; justify-content:space-between;
    max-width:1320px; margin:0 auto 44px;
  }
  [data-title="a"] .site-title{ font-size:46px; padding:0 10px 10px 4px; }
  [data-title="a"] .site-title::after{ height:8px; left:6px; right:14px; }
  [data-title="b"] .site-title{ font-size:32px; padding:14px 28px 15px 30px; }
  [data-title="b"] .masthead-title::before, [data-title="b"] .masthead-title::after{ width:52px; height:17px; top:-9px; }
  [data-title="b"] .seal{ font-size:14px; right:-34px; top:-24px; padding:7px 4px 8px; }
  [data-title="c"] .site-title{ font-size:60px; }
  .masthead .pencil{ font-size:15px; text-align:right; max-width:460px; transform:rotate(.8deg); }

  .notices{
    grid-template-columns:repeat(4, minmax(0, 300px));   /* 1280 宽也放得下四栏,不再切掉最左一栏 */
    justify-content:center;
    gap:40px 40px;
  }
  .notice{ min-height:230px; padding:32px 20px 18px; }
  .notice:nth-child(even){ --dy:0px; }
  .notice:nth-child(4n+2){ --dy:22px; }
  .notice:nth-child(4n+3){ --dy:-8px; }
  .notice:nth-child(4n+4){ --dy:14px; }
  .notice .name, .notice .name.long{ font-size:26px; }
  .notice .sub{ font-size:13px; }
  .notice .cover{ font-size:14.5px; -webkit-line-clamp:3; }
  .notice .stamp{ font-size:11.5px; letter-spacing:.08em; padding:6px 10px 5px; }
  .notice .stamp .l1{ display:inline; }
  .about{ margin-top:72px; padding:36px 32px 24px; }

  .bar{ padding:0 28px; gap:18px; }
  .bar-title{
    display:inline-block; font-family:var(--font-display); font-size:15px; font-weight:700; letter-spacing:.1em; color:var(--ink); opacity:.85;
    padding-right:18px; border-right:1px solid rgba(60,40,10,.25);
  }
  /* r3:子类格多(work 本 9 格)时顶栏会把「回墙上」挤出屏;格区可横向滚,回墙上与开关不缩 */
  .bar .actors-bar{ display:flex; margin-left:6px; flex:0 1 auto; min-width:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; flex-wrap:nowrap; height:100%; align-items:center; }
  .bar .actors-bar::-webkit-scrollbar{ display:none; }
  .bar .actors-bar .tag{ flex:0 0 auto; }
  .bar .mode-d, .bar .back, .bar-title, .bar-topic{ flex:0 0 auto; }
  .bar .mode-d{ display:inline-flex; margin-left:auto; height:28px; font-size:12px; }
  .bar .back{ margin-left:0; }
  .actors-wrap{ display:none; }

  .source{ padding:7px 28px; font-size:11.5px; line-height:1.3; text-align:center; }

  /* 桌面不分停点:每张卡就是一屏三栏 */
  .slide, .slide.one{
    min-height:100vh; min-height:100dvh;
    scroll-snap-align:start; scroll-snap-stop:always;
    overflow:hidden;
    display:grid;
    grid-template-columns:250px 580px 380px;
    grid-template-rows:auto 1fr;
    column-gap:36px;
    justify-content:center;
    align-content:center;
    align-items:start;
    padding:calc(var(--bar-h) + 30px) 30px calc(var(--foot-h) + 30px);
  }
  .slide > .stop-a, .slide.two > .stop-a{ display:contents; }
  .slide > .stop-b, .slide.two > .stop-b{ display:none; }
  .slide.two > .stop-a > .strips{ display:block; }

  /* 左:书架(12 条胶带竖着贴) */
  .col-left{ display:block; grid-column:1; grid-row:1 / 3; padding-top:14px; }
  .shelf-label{ font-size:11px; letter-spacing:.14em; color:var(--ink-faint); margin:0 0 10px 6px; }
  .shelf{ display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
  .shelf .tapechip{ height:30px; font-size:13.5px; padding:0 14px; }
  .shelf .tapechip.is-current{ transform:rotate(var(--r, 0deg)) translateX(8px) scale(1.06); }

  /* 中:主纸 */
  .paper.main{ grid-column:2; grid-row:1 / 3; min-height:420px; padding:38px 36px 24px; transform:rotate(-0.3deg); }
  .slide[data-stage="0"] .paper.main{ transform:translateY(110vh) rotate(-0.3deg); }
  .paper.main .tape{ min-width:120px; height:28px; font-size:13px; top:-14px; }
  .actor{ font-size:14.5px; }
  .actor b{ font-size:26px; }
  .actor .colon{ font-size:18px; }
  .claim{ margin-top:10px; }
  .claim span{ font-size:11.5px; }
  .quote{ margin-top:18px; flex:1; }
  .quote.s1, body.fit-shrink .quote.s1{ font-size:36px; line-height:1.28; }
  .quote.s2, body.fit-shrink .quote.s2{ font-size:30px; line-height:1.34; }
  .quote.s3, body.fit-shrink .quote.s3{ font-size:26px; line-height:1.4; }
  .quote.s4, body.fit-shrink .quote.s4{ font-size:23px; line-height:1.45; }
  .meta{ margin-top:22px; font-size:12.5px; }

  /* 右:语境全展开,撕边、倾斜保留 */
  .caption{ grid-column:3; grid-row:1; align-self:start; font-size:13px; margin:24px 0 14px; padding-left:12px; }
  .caption b{ font-size:11px; }
  .caption:not(.full) span{ display:block; -webkit-line-clamp:unset; overflow:visible; }
  .strips{ grid-column:3; grid-row:2; margin-top:0; padding:0; }
  .strips.clamp:not(.open) .strip-text{ display:block; -webkit-line-clamp:unset; overflow:visible; }
  .strips.clamp{ cursor:default; }
  .ctx-label{ font-size:11px; margin-left:10px; }
  .strip-wrap{
    width:100%; margin-top:4px;
    filter:drop-shadow(0 2px 3px rgba(60,40,10,.28));
    transform:translateX(var(--dx)) rotate(var(--r));
    transform-origin:left top;
  }
  .strip-wrap:nth-of-type(1){ --r:-2.2deg; --dx:0px; margin-top:0; }
  .strip-wrap:nth-of-type(2){ --r:0.7deg;  --dx:18px; margin-top:2px; }
  .strip-wrap:nth-of-type(3){ --r:2.4deg;  --dx:4px;  margin-top:4px; }
  .strip{
    border:0; box-shadow:none;
    background-image:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,0) 50%);
    padding:14px 18px 14px;
    clip-path:polygon(
      0 7%, 4% 0, 9% 5%, 15% 1%, 22% 7%, 30% 0, 38% 4%, 47% 1%, 55% 7%, 63% 0, 71% 5%, 80% 1%, 88% 7%, 95% 0, 100% 4%,
      100% 93%, 96% 100%, 90% 95%, 82% 100%, 74% 96%, 65% 100%, 57% 95%, 49% 100%, 41% 96%, 32% 100%, 24% 95%, 16% 100%, 8% 96%, 0 100%);
  }
  .strip-text{ font-size:15px; }
  .strip-meta{ font-size:11px; }

  /* 揭示字卡:盖在中右两栏上 */
  .capcard{ left:0; right:0; top:var(--bar-h); bottom:var(--foot-h); padding:0 60px; }
  .cap-text{ font-size:30px; max-width:26ch; }
  .cap-tags i{ font-size:20px; padding:3px 12px; }
  .caption .tags i{ font-size:11px; }
  .caption:not(.full) .tags{ max-height:none; overflow:visible; }
  .cap-hint .mob{ display:none; }
  .cap-hint .desk{ display:inline; }

  .hint{ position:absolute; left:0; right:0; bottom:calc(var(--foot-h) + 10px); margin:0; padding:0; font-size:12.5px; }
  .hint .mob{ display:none; }
  .hint .desk{ display:inline; }
  .slide.two .hint{ display:block; }

  .slide.end{ display:flex; }
  .paper.end-paper{ max-width:720px; padding:44px 40px 32px; transform:rotate(0.6deg); }
  .end-paper h2{ font-size:40px; }
  .end-paper .next{ height:46px; font-size:19px; }
}

/* 中等宽度(平板):三栏总览,卡仍手机式但居中收窄 */
@media (min-width:640px) and (max-width:999px){
  .notices{ grid-template-columns:repeat(3, minmax(0, 1fr)); gap:30px 22px; }
  .slide.one, .slide.two > .stop{ padding-left:calc(50% - 300px); padding-right:calc(50% - 300px); }
  .capcard{ left:calc(50% - 300px); right:calc(50% - 300px); }
}

/* ---------- reduced-motion:三段仍可切,但无位移动画;静态旋转保留 ---------- */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ transition:none !important; animation:none !important; scroll-behavior:auto !important; }
  .notice:hover, .notice:focus-visible{ transform:rotate(var(--r)) translateY(var(--dy)); box-shadow:0 1px 1px rgba(60,40,10,.14), 0 8px 18px -6px rgba(60,40,10,.28); }
  .tapechip:hover, .tapechip:focus-visible{ transform:rotate(var(--r, 0deg)); }
  .scrap:hover, .scrap:focus-visible{ transform:rotate(1.2deg); }
  .tag:hover, .tag:focus-visible{ transform:none; }
}

/* =========================================================
   r3:一本很长(封面 / 书签 / 空壳)、子类格、分享
   ========================================================= */
.deck.is-loading::after{
  content:"翻开中…"; position:fixed; left:50%; top:50%; transform:translate(-50%,-50%);
  padding:8px 14px; background:var(--paper); border:1px solid var(--paper-edge);
  font-size:13px; font-weight:700; color:var(--ink-soft); box-shadow:0 2px 6px rgba(60,40,10,.2);
}
/* 子类小标:和「说的是什么」同一行 */
.claim .subchip{
  background-color:var(--tape); border-color:transparent; color:var(--ink);
  background-image:linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.1));
  margin-right:6px;
}
/* 封面与书签停点 */
.slide.cover, .slide.mark{ justify-content:center; }
.paper.cover-paper, .paper.mark-paper{ width:100%; max-width:560px; padding:34px 20px 22px; align-self:center; }
.cover-paper .count{ margin:0; font-size:54px; font-weight:600; line-height:1; letter-spacing:-.02em; }
.cover-paper .count .n{ font-weight:600; }
.cover-paper .count small{ font-family:var(--font-display); font-size:20px; font-weight:700; margin-left:4px; letter-spacing:.06em; }
.cover-paper .cover-sub{ margin-top:8px; }
.cells-label{ margin:20px 0 8px; font-size:12.5px; letter-spacing:.14em; color:var(--ink-faint); }
.cells{ display:flex; flex-wrap:wrap; gap:8px; }
.cell{
  display:inline-flex; align-items:baseline; gap:6px;
  height:30px; padding:0 11px;
  background:var(--paper); border:1px solid var(--paper-edge);
  box-shadow:0 1px 1px rgba(60,40,10,.14), 0 3px 8px -4px rgba(60,40,10,.28);
  font-size:13px; font-weight:700; line-height:28px; white-space:nowrap; color:var(--ink-soft);
  transition:transform .16s ease;
}
.cell i{ font-style:normal; font-weight:600; font-size:11.5px; color:var(--ink-faint); }
.cell:hover, .cell:focus-visible{ transform:translateY(-1px); outline:none; color:var(--ink); }
.cell.is-on{ color:var(--ink); border-color:var(--ink-soft); box-shadow:inset 0 0 0 1px rgba(26,26,26,.5), 0 1px 1px rgba(60,40,10,.14); }
.order, .order-note{ margin-top:18px; padding-top:12px; border-top:1px dashed rgba(90,82,71,.4); }
.order{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.order .pencil{ flex:1 1 100%; }
.scrap.ctl{ font:inherit; font-size:13px; font-weight:800; color:var(--ink); cursor:pointer; transform:none; }
.cover-paper .go{ margin-top:22px; text-align:center; color:var(--ink-faint); letter-spacing:.08em; font-size:12px; }
.go .desk{ display:none; }
.mark-paper h2{ margin:0 0 16px; font-family:var(--font-display); font-size:28px; font-weight:700; line-height:1.2; letter-spacing:.04em; }
.mark-acts{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 10px; }
.mark-acts .tapechip{ height:34px; font-size:14px; opacity:1; }
.end-paper .tapechip + .tapechip{ margin-left:10px; }
/* 分享钮:缩在 meta 行右端 */
.share-btn{
  float:right; margin:-4px 0 0 8px;
  height:24px; padding:0 9px;
  font:inherit; font-size:11.5px; font-weight:700; letter-spacing:.04em;
  background:transparent; border:1px solid rgba(90,82,71,.55); border-radius:3px; color:var(--ink-soft);
  cursor:pointer;
}
.share-btn:hover, .share-btn:focus-visible{ color:var(--ink); border-color:var(--ink); outline:none; }
/* 分享单 */
body.sheet-open{ overflow:hidden; }
.sheet-wrap{
  position:fixed; inset:0; z-index:40;
  background:rgba(40,30,15,.55);
  display:flex; align-items:flex-end; justify-content:center;
}
.sheet{
  width:100%; max-width:520px; max-height:92vh; overflow:auto;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  background-image:none; transform:none;
}
.sheet-head{ display:flex; justify-content:space-between; align-items:center; }
.sheet-head b{ font-family:var(--font-display); font-size:16px; font-weight:700; letter-spacing:.06em; }
.sheet-close{ font:inherit; font-size:13px; font-weight:700; color:var(--ink-soft); background:none; border:0; padding:6px 2px; cursor:pointer; }
.sheet-tabs{ display:flex; gap:8px; margin:10px 0; }
.sheet-tabs .tab{
  font:inherit; font-size:12.5px; font-weight:700; height:28px; padding:0 12px;
  background:var(--paper); border:1px solid var(--paper-edge); color:var(--ink-soft); cursor:pointer;
}
.sheet-tabs .tab.is-on{ color:var(--ink); border-color:var(--ink-soft); box-shadow:inset 0 0 0 1px rgba(26,26,26,.5); }
.sheet-tabs .tab[disabled]{ opacity:.45; cursor:not-allowed; text-decoration:line-through; }
#share-img{ display:block; width:100%; max-height:54vh; object-fit:contain; background:var(--board-dark); border:1px solid var(--paper-edge); }
#share-img:not([src]){ height:200px; }
.sheet .pencil{ margin:10px 0 12px; font-size:11.5px; }
.sheet .scrap{ transform:none; }
@media (min-width:1000px){
  .slide.cover, .slide.mark{ display:grid; }
  .paper.cover-paper, .paper.mark-paper{ grid-column:2 / 4; grid-row:1 / 3; max-width:720px; padding:44px 40px 30px; transform:rotate(-.4deg); align-self:center; }
  .cover-paper .count{ font-size:72px; }
  .cover-paper .count small{ font-size:24px; }
  .go .mob{ display:none; }
  .go .desk{ display:inline; }
  .mark-paper h2{ font-size:40px; }
  .sheet-wrap{ align-items:center; }
  .sheet{ max-width:560px; max-height:90vh; padding:22px 24px; }
  #share-img{ max-height:60vh; }
}

/* 第五令:墙(总览)上来源行不悬浮,落到页尾;本内仍固定在底 */
body.is-wall .source{
  position:static; min-height:0; margin:0; padding:26px 16px 30px;
  background:none; box-shadow:none; text-align:center;
  font-size:11.5px; line-height:1.6; color:var(--ink-soft);
}
body.is-wall .wall{ padding-bottom:24px; min-height:0; }

/* =========================================================
   第七令·降拟物(d868ad1becaf;使用者 17:0x「拟物化程度低一点…专业性程度高一些」)
   覆盖层:原拟物规则留在上面不删,靠层叠压过;文字数字一个不动。
   ========================================================= */
:root{ --font-hand:var(--font); --line:rgba(60,40,10,.16); --shadow-flat:0 1px 2px rgba(60,40,10,.08); }
body{ background-image:linear-gradient(165deg, var(--board-light), var(--board) 55%, var(--board-dark)); }
.paper{ background-image:none; border:1px solid var(--line); border-radius:4px; box-shadow:var(--shadow-flat); }
.paper.main{ transform:none; }
/* 胶带 → 平整标签:纸色底、细线、本色小方块 */
.tape, .tapechip{ background-color:var(--paper); background-image:none; clip-path:none; border:1px solid var(--line); border-radius:3px; box-shadow:none; opacity:1; color:var(--ink); }
.tape{ transform:translateX(-50%); top:-12px; height:24px; padding:0 12px 0 10px; gap:7px; font-weight:600; letter-spacing:.03em; color:var(--ink-soft); }
.tape::before, .tapechip::before{ content:""; flex:none; display:inline-block; width:8px; height:8px; border-radius:2px; background:var(--tape); }
.tapechip{ transform:none; padding:0 12px 0 10px; font-weight:600; letter-spacing:.02em; gap:7px; transition:background-color .16s ease, border-color .16s ease; }
.tapechip:hover, .tapechip:focus-visible{ transform:none; background-color:#fff; }
.tapechip.is-current{ transform:none; background-color:#fff; border-color:var(--ink-soft); box-shadow:none; }
.tapechip:nth-child(6n+1), .tapechip:nth-child(6n+2), .tapechip:nth-child(6n+3), .tapechip:nth-child(6n+4), .tapechip:nth-child(6n+5), .tapechip:nth-child(6n+6){ --r:0deg; }
.bar-topic{ --r:0deg; }
/* 红戳 → 细线框小字 */
.stamp{ transform:none; border:1px solid var(--line); border-radius:3px; box-shadow:none; background:none; mix-blend-mode:normal; opacity:1; color:var(--ink-soft); font-family:var(--font); font-weight:500; font-size:11.5px; letter-spacing:0; padding:5px 8px 4px; }
.stamp .n{ color:var(--ink); }
/* 纸片按钮、标签不再歪 */
.scrap, .scrap:hover, .scrap:focus-visible{ transform:none; border-radius:3px; box-shadow:var(--shadow-flat); }
.scrap:hover, .scrap:focus-visible{ background:#fff; }
.tag, .tag:nth-child(odd), .tag:nth-child(even){ transform:none; border-radius:3px; }
/* 页首:纯宋体,无纸条、无胶带、无红印;a/b/c 不再分 */
[data-title] .site-title, .site-title{ display:block; padding:0; margin:0; font-family:var(--font-display); font-weight:700; font-size:26px; letter-spacing:.06em; line-height:1.2; color:var(--ink); background:none; border:0; box-shadow:none; transform:none; text-shadow:none; }
[data-title] .site-title::after, [data-title] .masthead-title::before, [data-title] .masthead-title::after{ content:none; display:none; }
[data-title] .seal{ display:none; }
.masthead-note{ color:var(--ink-soft); }
/* 卡片:平整纸面 + 细线 + 极浅阴影,顶上一条本色细线;不转、不错落 */
.notice, .notice:nth-child(even){ --r:0deg; --dy:0px; transform:none; border-top:3px solid var(--tape); padding-top:26px; }
.notice:hover, .notice:focus-visible{ transform:translateY(-2px); box-shadow:0 6px 14px -8px rgba(60,40,10,.22); }
.notice .tape{ left:auto; right:12px; transform:none; top:-1px; height:22px; border-top:0; border-radius:0 0 3px 3px; font-size:11.5px; }
.notice .tape::before{ display:none; }
/* 顶栏:去条纹、去厚影 */
.bar{ background-image:linear-gradient(180deg, var(--rail), var(--rail-dark)); box-shadow:0 1px 0 rgba(60,40,10,.18); }
/* 页底来源行:不拦点击(⑥ 390×900 第一张卡分享钮被挡);字仍可读,链接仍可点 */
.source{ pointer-events:none; box-shadow:none; }
.source a{ pointer-events:auto; }
@media (min-width:900px){ [data-title] .site-title, .site-title{ font-size:32px; } }
/* 同一条视频下的其他声音:撕纸条 → 平整小纸,不歪不撕 */
.strip, .strips .strip{ clip-path:none; background-image:none; border:1px solid var(--line); border-radius:3px; box-shadow:var(--shadow-flat); }
.strip-wrap, .strip-wrap:nth-of-type(1), .strip-wrap:nth-of-type(2), .strip-wrap:nth-of-type(3){ --r:0deg; --dx:0px; transform:none; }
/* 7477fcdb8391 尾巴:桌面层残留 ±0.3–0.6° 微斜全归零(高优先级选择器压过 @media 内原规则) */
.slide[data-stage="0"] .paper.main{ transform:translateY(110vh); }
.paper.end-paper, .paper.cover-paper, .paper.mark-paper{ transform:none; }
.masthead .pencil{ transform:none; }
@media (min-width:900px){ .shelf .tapechip.is-current{ transform:translateX(8px); } .notice:hover, .notice:focus-visible{ transform:translateY(-2px); } .scrap:hover, .scrap:focus-visible{ transform:none; } }
.paper.about, .wall .paper.about{ transform:none; }

/* ========== 第八令 d0fc4a8527e3:站名「中国草根思潮」;页首标题三方向 body[data-logo=a|b|c];背景三套 body[data-bg=a|b|c];默认 a/a ========== */
.masthead-title{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.site-title, [data-title] .site-title{ display:flex; align-items:center; gap:10px; padding:0; margin:0; font-size:inherit; letter-spacing:0; color:var(--on, var(--ink)); }
.site-name{ font-family:var(--font-display); line-height:1.1; }
.logo-mark{ display:none; }
.site-sub{ margin:0; font-family:var(--font); font-size:13px; line-height:1.3; letter-spacing:.16em; color:var(--on-soft, var(--ink-soft)); }
/* a 字标:黑宋 900 紧排;副题前一小段红线 */
[data-logo="a"] .site-name{ font-weight:900; font-size:34px; letter-spacing:.02em; }
[data-logo="a"] .site-sub{ position:relative; padding-left:34px; }
[data-logo="a"] .site-sub::before{ content:""; position:absolute; left:0; top:50%; width:24px; height:2px; margin-top:-1px; background:var(--stamp); }
/* b 符号:三片草叶小记号 + 宋 700 疏排;桌面副题并排、细竖线隔 */
[data-logo="b"] .logo-mark{ display:inline-block; width:14px; height:18px; flex:none; color:var(--on, var(--ink));
  background:linear-gradient(currentColor, currentColor) 0 100%/2px 11px no-repeat, linear-gradient(var(--stamp), var(--stamp)) 6px 100%/2px 18px no-repeat, linear-gradient(currentColor, currentColor) 12px 100%/2px 14px no-repeat; }
[data-logo="b"] .site-name{ font-weight:700; font-size:28px; letter-spacing:.14em; margin-right:-.14em; }
[data-logo="b"] .site-sub{ font-size:12.5px; letter-spacing:.2em; }
/* c 报头:双线上、单线下,宋 900 宽排;副题撤(页首下一行已有「抖音 · 公开留言」) */
[data-logo="c"] .site-sub{ display:none; }
[data-logo="c"] .site-title{ padding:10px 0 8px; border-top:4px double var(--on, var(--ink)); border-bottom:1px solid var(--on, var(--ink)); }
[data-logo="c"] .site-name{ font-weight:900; font-size:28px; letter-spacing:.3em; margin-right:-.3em; }
@media (min-width:900px){
  .site-title, [data-title] .site-title{ font-size:inherit; }
  [data-logo="a"] .site-name{ font-size:48px; }
  [data-logo="a"] .site-sub{ font-size:14px; }
  [data-logo="b"] .masthead-title{ flex-direction:row; align-items:baseline; gap:18px; }
  [data-logo="b"] .logo-mark{ width:17px; height:22px; background-size:2px 13px, 2px 22px, 2px 17px; background-position:0 100%, 7px 100%, 14px 100%; }
  [data-logo="b"] .site-name{ font-size:36px; }
  [data-logo="b"] .site-sub{ font-size:13.5px; padding-left:18px; border-left:1px solid var(--line-on, var(--line)); line-height:1.6; }
  [data-logo="c"] .site-name{ font-size:40px; }
}
.bar-title{ color:var(--on, var(--ink)); border-right-color:var(--line-on, rgba(60,40,10,.25)); }
/* 背景三套:a 暖灰米白;b 深墨青(纸卡仍暖白);c 冷灰青白(纸卡偏中性) */
[data-bg="a"]{ --board:#ECE7DF; --board-light:#F3EFE8; --board-dark:#DFD9CF; --rail:#E6E1D8; --rail-dark:#D9D3C8; --paper:#FCFAF6; --paper-edge:#D9D3C8; --foot:#E3DDD3; }
[data-bg="b"]{ --board:#2F3835; --board-light:#39433F; --board-dark:#262E2B; --rail:#262E2B; --rail-dark:#1E2523; --paper:#F6F2EA; --paper-edge:#D8D1C3; --foot:#242B29;
  --on:#EEE9DF; --on-soft:#BDB7AB; --on-faint:#948F85; --line-on:rgba(255,255,255,.16); color-scheme:dark; }
[data-bg="c"]{ --board:#E2E6E8; --board-light:#EAEDEF; --board-dark:#D4D9DC; --rail:#DDE2E4; --rail-dark:#CFD5D8; --paper:#FAFAF8; --paper-edge:#CDD3D6; --foot:#D7DCDF; }
.source{ background:linear-gradient(180deg, rgba(0,0,0,0), var(--foot) 40%); color:var(--on-soft, var(--ink-soft)); }
.source a{ color:var(--on, inherit); }
.bar{ box-shadow:0 1px 0 var(--line-on, rgba(60,40,10,.18)); }
[data-bg="b"] .masthead-note, [data-bg="b"] .pencil.foot, [data-bg="b"] .shelf-label, [data-bg="b"] .caption, [data-bg="b"] .caption b, [data-bg="b"] .cap-label, [data-bg="b"] .ctx-label, [data-bg="b"] .hint, [data-bg="b"] .wall > .pencil{ color:var(--on-soft); }
[data-bg="b"] .caption span, [data-bg="b"] .masthead-note .n{ color:var(--on); }
[data-bg="b"] .caption{ border-left-color:var(--line-on); }
[data-bg="b"] .caption .tags i, [data-bg="b"] .cap-tags i{ color:var(--on-soft); border-color:var(--line-on); }

/* ===== 第九令:页首整区,使用者 20:5x 挑定 a 窄报头带(f8da46697a2b),b/c 样式与 .masthead-figs 已撤;背景沿用第八令 bg a;卡片、字级、数字不动 ===== */
[data-head] .masthead-title{ display:contents; }
[data-head] .site-title, [data-head] .site-sub{ margin:0; padding:0; border:0; }
[data-head] .site-sub::before{ display:none; }
[data-head] .logo-mark{ display:none; }
[data-head] .site-name{ font-family:var(--font-display); font-weight:700; letter-spacing:.12em; }
[data-head] .masthead .pencil{ text-align:left; max-width:none; transform:none; }

/* a 窄报头带:顶栏与站名合一,站名|副题|日期样本挤成一条窄带,第一排卡最先出现 */
[data-head="a"] .masthead{
  display:flex; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:7px 12px;
  margin:-22px -16px 22px; padding:12px 16px 11px;
  background:var(--board-dark); border-bottom:1px solid var(--line-on, var(--line));
}
[data-head="a"] .site-title, [data-head="a"] .site-sub{ flex:0 0 auto; white-space:nowrap; }
[data-head="a"] .site-title{ font-size:inherit; }
[data-head="a"] .site-name{ font-size:17px; line-height:1.3; }
[data-head="a"] .site-sub{ font-size:13px; letter-spacing:.08em; line-height:1.3; padding-left:12px; border-left:1px solid var(--line-on, var(--line)); color:var(--on-soft, var(--ink-soft)); }
[data-head="a"] .masthead-note{ flex:1 0 100%; font-size:12px; letter-spacing:.02em; }

/* b 问句当大标:站名退成小字眉,副题放大成标题,样本数与日期成两格数字(不再是脚注) */

/* c 竖排站名:站名竖成一柱立在左边,副题与日期样本横排靠在柱右,像报头 */

@media (min-width:1000px){
  [data-head="a"] .masthead{ max-width:none; margin:-34px -48px 40px; padding:15px max(48px, calc((100% - 1320px) / 2 + 48px)) 14px; gap:0 16px; justify-content:flex-start; }
  [data-head="a"] .site-name{ font-size:19px; }
  [data-head="a"] .site-sub{ font-size:14px; }
  [data-head="a"] .masthead-note{ flex:0 1 auto; margin-left:auto; font-size:13px; }


}

/* ===== 第十令 0be28db3f915:年份两档「只看2026年 | 全部」放窄报头带里,预设 2026;390 自成一行(+33px),1000+ 并进同一行 ===== */
.yeartabs{ flex:0 0 100%; display:flex; align-items:stretch; margin:-2px 0 0; }
.ytab{ display:inline-flex; align-items:center; height:26px; padding:0 11px; font:inherit; font-size:12px; font-weight:600; letter-spacing:.04em; line-height:1; white-space:nowrap;
  color:var(--on-soft, var(--ink-soft)); text-decoration:none; background:transparent; border:1px solid var(--line-on, var(--line)); transition:background-color .15s ease, color .15s ease; }
.ytab + .ytab{ border-left:0; }
.ytab:first-child{ border-radius:3px 0 0 3px; }
.ytab:last-child{ border-radius:0 3px 3px 0; }
.ytab:hover, .ytab:focus-visible{ color:var(--on, var(--ink)); }
.ytab.is-on{ background:var(--on, var(--ink)); color:var(--board-dark); border-color:var(--on, var(--ink)); }
.notice .stamp.pending{ letter-spacing:.06em; }
@media (min-width:1000px){
  .yeartabs{ flex:0 0 auto; align-self:center; margin:0 0 0 10px; }
  .ytab{ height:24px; font-size:12.5px; }
}

/* ===== 第十一令 7a3bfacbf7bb + 775a481234c0:主题「黑蓝橙」body[data-theme="night"](#theme=night|paper,预设 paper 不动)。
   参考图三色:Midnight Black #02070A、Electric Blue #0297DE、Cantaloupe Orange #FC734D,不掺第四色(文字用蓝调的近白,是黑/蓝的明度档)。
   规则:黑底 + 蓝→橙光晕;卡=半透明玻璃;蓝管结构(线、当前态、标签);橙只给数字;标题宋体、副题斜体;小标签细等宽。结构、文字、数字、年份与路由一个不动。 ===== */
[data-theme="night"]{
  --nb:#02070A; --nblue:#0297DE; --norange:#FC734D;
  --board:#02070A; --board-light:#061219; --board-dark:#040C12; --rail:#061219; --rail-dark:#02070A; --foot:#02070A;
  --paper:rgba(6,18,25,.78); --paper-edge:rgba(2,151,222,.26);
  --ink:#EAF4FA; --ink-soft:#A9C4D6; --ink-faint:#7FA0B5; --stamp:#0297DE; --tape:#0297DE;
  --on:#EAF4FA; --on-soft:#A9C4D6; --on-faint:#7FA0B5; --line:rgba(2,151,222,.26); --line-on:rgba(2,151,222,.3);
  --shadow-flat:0 10px 30px -18px rgba(2,151,222,.35);
  color-scheme:dark;
}
[data-theme="night"] [data-topic]{ --tape:#0297DE; }
body[data-theme="night"]{
  background-color:#02070A;
  background-image:
    repeating-linear-gradient(90deg, rgba(2,151,222,.07) 0 1px, transparent 1px 9px),
    radial-gradient(70% 42% at 50% -6%, rgba(2,151,222,.42), rgba(2,151,222,0) 70%),
    radial-gradient(60% 34% at 50% 104%, rgba(252,115,77,.34), rgba(252,115,77,0) 70%),
    linear-gradient(180deg, #061219, #02070A 55%, #040C12);
}
/* 玻璃卡:半透明黑蓝底、蓝细线、背后模糊;顶上一条蓝→橙细线 */
[data-theme="night"] .paper{ background-color:var(--paper); background-image:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 40%); border-color:var(--paper-edge); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
[data-theme="night"] .notice, [data-theme="night"] .notice:nth-child(even){ border-top:1px solid var(--paper-edge); padding-top:27px; background:linear-gradient(90deg, #0297DE, #FC734D) top / 100% 2px no-repeat, linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0) 40%), var(--paper); }
[data-theme="night"] .notice:hover, [data-theme="night"] .notice:focus-visible{ box-shadow:0 12px 34px -16px rgba(2,151,222,.55); border-color:rgba(2,151,222,.5); }
[data-theme="night"] .notice .cover{ border-top-color:rgba(2,151,222,.28); color:var(--ink); }
[data-theme="night"] .notice .sub{ color:var(--ink-soft); }
/* 标签、胶带、纸片钮、子类格、戳:细等宽小字,蓝线框 */
[data-theme="night"] .tape, [data-theme="night"] .tapechip, [data-theme="night"] .tag, [data-theme="night"] .cell, [data-theme="night"] .scrap, [data-theme="night"] .strip, [data-theme="night"] .sheet-tabs .tab{
  background-color:rgba(2,7,10,.55); border-color:var(--paper-edge); box-shadow:none; color:var(--ink-soft); }
[data-theme="night"] .tape, [data-theme="night"] .stamp, [data-theme="night"] .pencil, [data-theme="night"] .masthead-note, [data-theme="night"] .caption b, [data-theme="night"] .ctx-label, [data-theme="night"] .cap-label, [data-theme="night"] .meta, [data-theme="night"] .strip-meta, [data-theme="night"] .hint, [data-theme="night"] .cells-label, [data-theme="night"] .cover-sub, [data-theme="night"] .cover-paper .go, [data-theme="night"] .site-meta, [data-theme="night"] .source{
  font-family:var(--font-mono); font-weight:500; letter-spacing:.04em; }
[data-theme="night"] .notice .tape{ border-top:0; color:var(--ink-soft); background-color:rgba(2,7,10,.4); }
[data-theme="night"] .tapechip:hover, [data-theme="night"] .tapechip:focus-visible, [data-theme="night"] .scrap:hover, [data-theme="night"] .scrap:focus-visible, [data-theme="night"] .cell:hover, [data-theme="night"] .cell:focus-visible{ background-color:rgba(2,151,222,.18); color:var(--ink); }
[data-theme="night"] .tapechip.is-current, [data-theme="night"] .cell.is-on, [data-theme="night"] .sheet-tabs .tab.is-on{ background-color:rgba(2,151,222,.22); border-color:var(--nblue); color:var(--ink); box-shadow:none; }
[data-theme="night"] .stamp{ border-color:var(--paper-edge); color:var(--ink-soft); letter-spacing:0; padding-left:8px; padding-right:8px; }   /* eba3354ac275 ②:390 两栏卡内容宽 124px,第二行等宽字实宽 125px 差 1px 就掉第三行;左右各省 1px 内距(9→8)即两行 */
[data-theme="night"] .stamp .n, [data-theme="night"] .cell i{ color:var(--norange); }
[data-theme="night"] .scrap{ color:var(--ink); font-weight:600; }
/* 橙只给数字 */
[data-theme="night"] .n{ color:var(--norange); }
[data-theme="night"] .cover-paper .count{ color:var(--norange); }
[data-theme="night"] .cover-paper .count small{ color:var(--ink); }
/* 页首窄报头带:玻璃 + 蓝→橙光晕;站名宋体、副题宋体斜体(参考图标题里那一个斜体词) */
body[data-theme="night"][data-head="a"] .masthead{ background:linear-gradient(90deg, rgba(2,151,222,.26), rgba(2,7,10,0) 45%, rgba(252,115,77,.2)) , rgba(2,7,10,.72); border-bottom-color:rgba(2,151,222,.35); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
body[data-theme="night"][data-head="a"] .site-sub{ font-family:var(--font-display); font-style:italic; font-weight:700; letter-spacing:.06em; color:var(--norange); border-left-color:rgba(2,151,222,.4); }
[data-theme="night"] .ytab{ font-family:var(--font-mono); font-weight:500; color:var(--ink-soft); border-color:var(--paper-edge); }
[data-theme="night"] .ytab.is-on{ background:var(--nblue); color:var(--nb); border-color:var(--nblue); }
[data-theme="night"] .masthead-note, [data-theme="night"] .pencil.foot, [data-theme="night"] .wall > .pencil{ color:var(--ink-soft); }
/* 本内:顶栏、卡、语境、其他声音、标签小格、页底 */
[data-theme="night"] .bar{ background-image:linear-gradient(90deg, rgba(2,151,222,.22), rgba(2,7,10,0) 45%, rgba(252,115,77,.16)), linear-gradient(180deg, rgba(6,18,25,.92), rgba(2,7,10,.92)); box-shadow:0 1px 0 rgba(2,151,222,.3); }
[data-theme="night"] .bar-title{ font-family:var(--font-display); }
[data-theme="night"] .caption{ border-left-color:rgba(2,151,222,.5); color:var(--ink-soft); }
[data-theme="night"] .caption.full{ background:rgba(2,151,222,.08); }
[data-theme="night"] .caption span, [data-theme="night"] .cap-text, [data-theme="night"] .quote, [data-theme="night"] .strip-text{ color:var(--ink); }
[data-theme="night"] .claim span, [data-theme="night"] .caption .tags i, [data-theme="night"] .cap-tags i, [data-theme="night"] .claim .subchip{ border-color:rgba(2,151,222,.4); color:var(--ink-soft); }
[data-theme="night"] .meta{ border-top-color:rgba(2,151,222,.3); color:var(--ink-faint); }
[data-theme="night"] .share-btn{ border-color:rgba(2,151,222,.45); color:var(--ink-soft); }
[data-theme="night"] .share-btn:hover, [data-theme="night"] .share-btn:focus-visible{ color:var(--ink); border-color:var(--nblue); }
[data-theme="night"] .mode{ color:var(--ink-soft); }
[data-theme="night"] .source{ background:linear-gradient(180deg, rgba(2,7,10,.72), rgba(2,7,10,.96) 30%); color:var(--ink-soft); font-size:10.5px; }
[data-theme="night"] .source a{ color:var(--nblue); }
[data-theme="night"] .paper h2, [data-theme="night"] .sheet-head b{ font-family:var(--font-display); color:var(--ink); }
[data-theme="night"] #share-img{ background:#040C12; border-color:var(--paper-edge); }
[data-theme="night"] .sheet-close{ color:var(--ink-soft); }
/* 390:报头第三行等宽字比黑体宽,缩到 11px 不换行,第一排卡上缘仍 ≤135px */
@media (max-width:999px){ body[data-theme="night"][data-head="a"] .masthead-note{ font-size:11px; letter-spacing:0; } }

/* ===== 第十一令收件 eba3354ac275:①预设主题改夜版(index.html body data-theme="night";#theme=paper 仍可切回)。
   ②戳章溢框:≥1000 四栏时 .l1 原改 inline 成单行,整句 270px 宽过框(1024→1440 框只有 158–256px),字冲出卡边。
   修法:≥1000 也保持两行(.l1 block),字距收到 .03em,并容许折行兜底(white-space:normal),框永远 ≤ 卡内容区。文字数字不动。 ===== */
@media (min-width:1000px){
  .notice .stamp{ white-space:normal; letter-spacing:.03em; max-width:100%; }
  .notice .stamp .l1{ display:block; }
}
/* 390 夜版等宽字宽 1px 顶到框(scrollWidth 143>142):夜版戳章字距归零(等宽字自带间距),并容许折行兜底,任何宽都不冲框 */
.notice .stamp{ white-space:normal; }
.notice .stamp .l2b{ display:inline-block; max-width:100%; }

/* ===== 5a0038134378(eba3354ac275 追加 ④⑤) ===== */
/* ④ 一本内三栏改会缩的栏。原 250+580+380 + 栏距 36×2 + 内距 30×2 = 1342px 定宽居中,窄于 1342 时左栏左缘为负(iPad 横向 1133 → -74.5px)。
   现:左栏 clamp(170,18vw,250),中/右按 58:38 分剩余;≥1342 时两侧内距撑大,把内容区封顶 1282px,所以 ≥1342 的版面与原 1440 一字不差。
   1000→ 左 180 / 中 416 / 右 272;1133→ 204/481/316;1280→ 230/555/364;1440→ 250/580/380 */
@media (min-width:1000px){
  .slide, .slide.one{
    grid-template-columns:clamp(170px, 18vw, 250px) minmax(0, 58fr) minmax(0, 38fr);
    padding-left:max(30px, calc((100% - 1282px) / 2));
    padding-right:max(30px, calc((100% - 1282px) / 2));
  }
  /* ⑤ 顶栏子题签:可横卷但被硬切 → 被切的一端渐隐(data-scroll 由 app.js 记:r 右边还有、l 左边还有、lr 两边都有),卷到底渐隐消失 */
  .bar .actors-bar{ scroll-behavior:smooth; }
  .bar .actors-bar[data-scroll="r"]{ -webkit-mask-image:linear-gradient(90deg, #000 calc(100% - 44px), transparent); mask-image:linear-gradient(90deg, #000 calc(100% - 44px), transparent); }
  .bar .actors-bar[data-scroll="l"]{ -webkit-mask-image:linear-gradient(90deg, transparent, #000 44px); mask-image:linear-gradient(90deg, transparent, #000 44px); }
  .bar .actors-bar[data-scroll="lr"]{ -webkit-mask-image:linear-gradient(90deg, transparent, #000 44px, #000 calc(100% - 44px), transparent); mask-image:linear-gradient(90deg, transparent, #000 44px, #000 calc(100% - 44px), transparent); }
}
