/* 「今天要做什么」方案 3「墨色晨报」（10-15 夜）。地址带 brief=old 回旧版，那时本文件的规则一条都不命中。
   想法：AI 起草、等你拍板的东西不该和桌上的白卡一个材质。草案态整块反相成一块暖墨色面板（从浮彩背景借杏色、粉色的微光），
   字是暖白，排成一份晨报：报头、一句宋体头条、一行今天的日程、三件必须做像要闻一样编号分栏、底栏一颗暖白主按钮。
   采用＝「天亮了」：光从左扫过，墨色翻成白纸（app.js dawnAnim），再收成普通白色窄条。
   颜色全走本文件第一节的变量：白纸版与墨色版只换变量，不写「.is-draft 下的某某」——
   因为「天亮了」那一下白纸版是叠在墨色替身里面的，按祖先写的规则会串进去。
   结构：一、变量与两种纸；二、报头与窄条那一行；三、头条与日程行；四、要闻（今天必须做）；五、建议先做、稍后再做；
   六、底栏；七、窄条；八、过渡用的；九、中屏；十、手机。 */

/* ============ 一、变量与两种纸 ============ */
:root {
  --font-serif: "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", serif;
  --font-folio: "New York", "Iowan Old Style", Georgia, serif;   /* 要闻编号 01 02 03 */
  /* 墨色纸：暖黑（不是纯黑）＋杏色、粉色两处微光；字色按 WCAG AA 在最亮的微光处也够 4.5:1（实测见 notes.md） */
  --ink-paper: #241C1A;
  --ink-paper-2: #2E2421;
}
.bn {
  --p1: var(--ink); --p2: var(--ink-2); --p3: var(--ink-3);
  --pl: var(--line); --pl2: var(--line-strong); --p-plate: var(--surface-2);
  --pacc: #A0522D;                      /* 头条里的钟点、编号：深杏（白底上 5.9:1） */
  --pdash: rgba(31, 30, 27, .28);       /* 建议时间的虚线框 */
  --p-late: var(--late-ink); --p-done: var(--done-ink); --p-wait: var(--wait-ink);
  --p-bar: var(--surface-raised);
  color: var(--p1);
}
.brief.bn { display: block; }
.brief.bn.card:hover { box-shadow: var(--shadow-card); }   /* 大简报不是按钮，悬停不浮起 */
.brief.bn.is-draft {
  --p1: #FAF1E7; --p2: rgba(250, 241, 231, .78); --p3: rgba(250, 241, 231, .62);
  --pl: rgba(250, 241, 231, .12); --pl2: rgba(250, 241, 231, .22); --p-plate: rgba(250, 241, 231, .08);
  --pacc: #F4C69C; --pdash: rgba(244, 198, 156, .62);
  --p-late: #FFA08B; --p-done: #93D9AB; --p-wait: #F5C072;
  --p-bar: #2C2320;
  background:
    radial-gradient(70% 90% at 100% 0%, rgba(238, 168, 128, .17), transparent 70%),
    radial-gradient(55% 80% at 0% 100%, rgba(222, 146, 158, .13), transparent 72%),
    linear-gradient(165deg, var(--ink-paper-2) 0%, var(--ink-paper) 55%, #1F1817 100%);
  box-shadow: 0 1px 0 rgba(255, 236, 216, .08) inset, 0 0 0 1px rgba(0, 0, 0, .25), 0 26px 50px -22px rgba(70, 36, 24, .55), 0 8px 18px -10px rgba(70, 36, 24, .35);
  color-scheme: dark;
}
.brief.bn.is-draft.card:hover { box-shadow: 0 1px 0 rgba(255, 236, 216, .08) inset, 0 0 0 1px rgba(0, 0, 0, .25), 0 26px 50px -22px rgba(70, 36, 24, .55), 0 8px 18px -10px rgba(70, 36, 24, .35); }
.bn :focus-visible { outline-color: var(--p1); }

/* ============ 二、报头与窄条那一行 ============ */
.bn .bh { position: relative; display: flex; align-items: center; gap: 8px 14px; min-height: 60px; padding: 12px 14px 12px 18px; }
.bn .bh-t { display: flex; flex: none; align-items: center; gap: 10px; }
.bn .bh-t .ch-ic { width: 30px; height: 30px; border-radius: 10px; background: var(--p-plate); color: var(--p2); }
.bn .bh-t .ch-ic .ico { width: 16px; height: 16px; }
.bn .bh-t .tb-k { font-size: 14px; font-weight: var(--fw-strong); color: var(--p1); }
/* 报头（草案态）：刊名＋草案标识，下面一道发丝线 */
.bn .bh-mast { min-height: 0; margin: 0 30px; padding: 20px 0 14px; border-bottom: 1px solid var(--pl); }
.bn .bh-mast .tb-fold { margin-left: 4px; }
.bn .bh-prov { margin-left: auto; font-size: 12px; color: var(--p3); letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.bn .bh-draft { display: inline-flex; align-items: center; gap: 7px; height: 24px; padding: 0 11px 0 10px; border-radius: var(--radius-pill); background: none; box-shadow: inset 0 0 0 1px var(--pdash); color: var(--pacc); font-size: 12px; font-weight: 600; letter-spacing: .02em; line-height: 24px; }
.bn .bh-draft::before { content: ""; flex: none; width: 6px; height: 6px; border-radius: 50%; background: var(--pacc); animation: npBreath 2.4s ease-in-out infinite; }
.bn .bh-draft .dl-x { margin-left: -4px; font-weight: 500; color: var(--p2); }
.bn .bh-draft.is-set { box-shadow: none; background: var(--done-bg); color: var(--done-ink); }
.bn .bh-draft.is-set::before { content: none; }
.bn .bh-draft.is-set .ico { width: 13px; height: 13px; }
@keyframes npBreath { 0%, 100% { opacity: .45; transform: scale(.85); } 50% { opacity: 1; transform: scale(1.1); } }
.bn .ms-st { flex: 0 1 auto; min-width: 0; gap: 8px; }
.bn .ms-st::before { content: ""; flex: none; width: 1px; height: 16px; margin-right: 4px; background: var(--pl2); }
.bn .ms-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: 14px; color: var(--p1); }
.bn.k-wait .ms-text { color: var(--wait-ink); }
.bn.k-done .ms-text { color: var(--done-ink); }
.bn.k-wait .ms-ic { background: var(--wait-bg); }
.bn.k-done .ms-ic { background: var(--done-bg); }
.bn.k-done .ms-chk { stroke: var(--done-ink); }
.bn.k-wait { --ring-c: color-mix(in srgb, var(--wait-dot) 28%, transparent); }
.bn.k-done { --ring-c: color-mix(in srgb, var(--done-dot) 28%, transparent); }
.bh-seg { padding: 0; border: 0; background: none; color: inherit; font: inherit; white-space: nowrap; cursor: pointer; text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; transition: text-decoration-color var(--dur-fast) var(--ease); }
.bh-seg:hover, .bh-seg:focus-visible { text-decoration-color: currentColor; }
.bh-dot { margin: 0 6px; color: var(--ink-3); font-style: normal; font-weight: 400; }
.bn .ms-now { font-size: 14px; }
.bn .ms-now .ms-k, .bn .ms-cd { font-size: 12px; }
.bn .ms-go { font-size: 14px; }
.bn .tb-fold, .bn .ms-open { flex: none; margin-left: 0; color: var(--p2); }
.bn .tb-fold:hover, .bn .ms-open:hover { background: var(--p-plate); color: var(--p1); }

/* ============ 三、头条与日程行（只在草案态） ============ */
.bn .bb { display: flex; flex-direction: column; gap: 0; padding: 0 30px 26px; }
.bn .np-head { max-width: 36em; margin: 22px 0 0; font: 600 32px/1.34 var(--font-serif); letter-spacing: .01em; color: var(--p1); }
.np-cl { display: inline-block; max-width: 100%; }
.bn .np-hl { font-weight: 700; color: var(--pacc); }
.np-sched { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; margin-top: 16px; font-size: 13px; }
.np-sched .ns-k { margin-right: 10px; font-size: 12px; font-weight: 600; letter-spacing: .12em; color: var(--p3); }
.ns-i { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 0; border-radius: var(--radius-pill); background: none; color: var(--p2); font: inherit; white-space: nowrap; cursor: pointer; }
button.ns-i:hover { background: var(--p-plate); color: var(--p1); }
.ns-i b { font: 650 13px var(--font-num); font-variant-numeric: tabular-nums; color: var(--p1); }
.ns-i.past { opacity: .55; }
.ns-i.is-sug { box-shadow: inset 0 0 0 1px var(--pdash); color: var(--pacc); cursor: default; background-image: repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--pacc) 9%, transparent) 5px 6px); }
.ns-i.is-sug b, .ns-i.is-plan b { color: var(--pacc); }
.ns-i.is-plan { background: color-mix(in srgb, var(--pacc) 14%, transparent); color: var(--pacc); cursor: default; }
.ns-i.is-plan .ico { width: 12px; height: 12px; stroke-width: 2.4; }
.ns-sep { flex: none; width: 10px; height: 1px; margin: 0 2px; background: var(--pl2); }

/* ============ 四、要闻：今天必须做 ============ */
.bn .bn-body { display: block; margin-top: 26px; padding-top: 0; border-top: 0; }
.bn .np-kick { display: flex; flex-direction: row; align-items: center; gap: 10px; margin: 0 0 4px; }
.bn .np-kick b { display: inline-flex; flex: none; align-items: baseline; gap: 8px; font-size: 12px; font-weight: 650; letter-spacing: .16em; color: var(--p2); }
.bn .np-kick .n { font: 600 12px var(--font-num); font-style: normal; letter-spacing: 0; color: var(--pacc); }
.bn .np-kick > span { display: none; }   /* 规则说明「逾期或今天到期的待办」读一次就够：收进组名的悬停（审查报告 13） */
.bn .np-kick::after { content: ""; flex: 1; height: 1px; background: var(--pl); }
.np-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 36px; }
.np-cols.n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; }
.bn .np-item { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 14px 0 2px; border-radius: 0; background: none; box-shadow: none; }
.bn .np-item + .np-item::before { content: ""; position: absolute; left: -18px; top: 18px; bottom: 4px; width: 1px; background: var(--pl); }
.np-cols.n4 .np-item + .np-item::before { left: -14px; }
.np-top { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.np-no { flex: none; font: 400 34px/1 var(--font-folio); font-variant-numeric: lining-nums; letter-spacing: -.01em; color: var(--pacc); }
.bn .np-item .wc-tag { font-size: 12px; font-weight: 500; color: var(--p2); }
.bn .np-item .wc-tag::before { content: none; }
.bn .np-item .wc-tag.late { color: var(--p-late); font-weight: 650; }
.bn .np-item .wc-title { margin-top: 2px; font-size: 18px; font-weight: 650; line-height: 1.38; color: var(--p1); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; transition: text-decoration-color 120ms var(--ease); }
.bn .wc-title:hover { text-decoration-color: var(--pl2); }
.bn .np-item .wc-why { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.55; color: var(--p3); }
.bn .np-item:is(:hover, :focus-within) .wc-why { -webkit-line-clamp: unset; }
.bn .np-item .wc-note { font-size: 12px; line-height: 1.5; color: var(--p3); font-style: italic; }
.wr-new { margin-right: 6px; color: var(--p-wait); font-weight: 650; }
.bn .np-item .wn-rail { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 10px; border-top: 0; }
.bn .wc-when { height: 26px; font-size: 13px; font-weight: 600; color: var(--p2); white-space: nowrap; font-variant-numeric: tabular-nums; }
.bn .wc-when.sug { padding: 0 11px; border-radius: var(--radius-pill); background: none; box-shadow: inset 0 0 0 1px var(--pdash); color: var(--pacc); font-weight: 600; transition: background-color 160ms var(--ease), color 160ms var(--ease); }
.bn .wc-when.st-feishu { padding: 0; color: var(--p-done); }
.bn .wc-when.st-pending { padding: 0 10px; border-radius: var(--radius-pill); background: var(--wait-bg); color: var(--wait-ink); }
.bn .wc-when.none { height: 0; }
.bn .wc-when.done { color: var(--p-done); font-size: 12px; }
.bn .np-item.no-time .wn-rail { justify-content: flex-end; }
/* 延后／移出今天：浅色文字，指到才加深 */
.bn .wc-acts { display: inline-flex; gap: 12px; margin-left: auto; }
.bn .wc-acts .lnk { color: var(--p3); text-decoration-color: transparent; transition: color 120ms var(--ease), text-decoration-color 120ms var(--ease); }
.bn .wc-acts .lnk:hover, .bn .wc-acts .lnk:focus-visible, .bn .wc-acts .lnk[aria-expanded="true"] { color: var(--p1); text-decoration-color: var(--pl2); }
.bn .lnk-park { display: inline-flex; align-items: center; gap: 3px; }
.bn .lnk-park .ico { width: 12px; height: 12px; }
@media (hover: hover) and (min-width: 761px) {
  .bn .np-item:not(.is-new) .wc-acts { opacity: .0; transition: opacity 140ms var(--ease); }
  .bn .np-item:is(:hover, :focus-within) .wc-acts, .bn .np-item .wc-acts:has([aria-expanded="true"]) { opacity: 1; }
}
.bn .np-item.is-new::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; border-radius: 2px; background: var(--p-wait); }
/* 做完的：编号与「✓ 已完成」一行，标题划线变淡 */
.bn .np-item.is-done { opacity: .62; }
.bn .np-item.is-done .wc-title { font-size: 15px; font-weight: 500; color: var(--p3); text-decoration-line: line-through; text-decoration-color: var(--p3); }
.bn .np-item.is-done .np-no { color: var(--p3); }
/* 指到「采用」时卡上的建议时间一起亮起来，指到「暂不采用」时一起变淡 */
.bn .bn-body:has([data-act="adopt"]:hover, [data-act="adopt"]:focus-visible) :is(.wc-when.sug) { background: color-mix(in srgb, var(--pacc) 16%, transparent); }
.bn .bn-body:has([data-act="skip"]:hover, [data-act="skip"]:focus-visible) .wc-when.sug { opacity: .4; }
.bn.is-draft:has([data-act="adopt"]:hover, [data-act="adopt"]:focus-visible) .ns-i.is-sug { background-color: color-mix(in srgb, var(--pacc) 16%, transparent); }

/* ============ 五、建议先做、稍后再做：各一行 ============ */
.np-lines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; margin-top: 20px; border-top: 1px solid var(--pl); }
.np-line { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 44px; font-size: 13px; color: var(--p2); }
.np-line .np-k { flex: none; font-size: 12px; font-weight: 650; letter-spacing: .12em; color: var(--p3); }
.np-line .np-lt { flex: 0 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.np-line .wc-title { display: inline; padding: 0; border: 0; background: none; font-size: 13px; font-weight: 650; color: var(--p1); cursor: pointer; }
.np-line em { margin-left: 8px; font-style: normal; color: var(--p3); }
.np-line .wc-acts { flex: none; margin-left: auto; }
.np-line [data-act="open-meeting"] { color: var(--p1); font-weight: 600; }
.bn .bgrp-tg { display: inline-flex; flex: none; align-items: center; gap: 2px; height: 28px; margin-left: -4px; padding: 0 8px 0 10px; border: 0; border-radius: var(--radius-pill); background: none; color: var(--p2); font: 600 12px var(--font-sans); cursor: pointer; }
.bn .bgrp-tg:hover { background: var(--p-plate); color: var(--p1); }
.bn .bgrp-tg .ico { width: 13px; height: 13px; }
/* 稍后再做的清单（会后新增、已延后的常露；点「看看」露全部） */
.np-lines .blist { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 0; margin: 2px 0 6px; border-radius: var(--radius-ctl); box-shadow: inset 0 0 0 1px var(--pl); }
.bn .wn-row { display: flex; flex-direction: row; align-items: flex-start; gap: 12px; padding: 9px 14px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.bn .wn-row + .wn-row { box-shadow: inset 0 1px 0 var(--pl); }
.bn .wn-row.is-new { box-shadow: inset 3px 0 0 var(--p-wait); }
.bn .wn-row + .wn-row.is-new { box-shadow: inset 3px 0 0 var(--p-wait), inset 0 1px 0 var(--pl); }
.wr-main { display: flex; flex: 1; flex-direction: column; gap: 1px; min-width: 0; }
.bn .wn-row .wc-title { padding: 0; border: 0; background: none; font-size: 14px; font-weight: 500; color: var(--p1); text-align: left; cursor: pointer; }
.bn .wn-row.is-parked .wc-title { color: var(--p2); }
.bn .wn-row .wc-why { font-size: 12px; color: var(--p3); }
.bn .wn-row .wc-acts { padding-top: 2px; }
.wn.bn-ping { animation: bnPing 1.2s var(--ease) 1; }
@keyframes bnPing { 0% { background-color: transparent; } 25% { background-color: var(--wait-bg); } 100% { background-color: transparent; } }

/* ============ 六、底栏：整块里唯一的主操作 ============ */
.bn .bn-ab { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-top: 20px; padding: 18px 0 0; border-top: 1px solid var(--pl); border-radius: 0; background: none; }
.bn .np-lines + .bn-ab { margin-top: 0; }
.bn .bn-ab .ab-msg { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; font-size: 13px; color: var(--p3); }
.bn .bn-ab .ab-msg b { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 650; color: var(--p1); }
.bn .bn-ab .ab-btns { gap: 10px; }
.bn .bn-ab .ab-skip { height: 40px; padding: 0 16px; color: var(--p2); }
.bn .bn-ab .ab-skip:hover { background: var(--p-plate); color: var(--p1); }
.bn .bn-ab .ab-go { height: 44px; padding: 0 22px 0 18px; border-radius: var(--radius-pill); background: #FBF2E8; color: #2A1F1B; font-size: 15px; font-weight: 650; box-shadow: 0 10px 26px -10px rgba(244, 184, 132, .7), inset 0 0 0 1px rgba(255, 255, 255, .7); transition: background-color 160ms var(--ease), transform 160ms var(--ease), box-shadow 160ms var(--ease); }
.bn .bn-ab .ab-go .ico { width: 17px; height: 17px; color: #B2602F; }
.bn .bn-ab .ab-go:hover { background: #FFFFFF; transform: translateY(-1px); box-shadow: 0 14px 30px -10px rgba(244, 184, 132, .85), inset 0 0 0 1px #FFFFFF; }
.bn .bn-ab .ab-go:active { transform: scale(.97); }
.bn .bn-ab .ab-go:focus-visible { outline: 2px solid #FBF2E8; outline-offset: 3px; }
/* 白纸上（暂不采用后、白天）：主按钮回墨色 */
.bn:not(.is-draft) .bn-ab .ab-go { background: var(--ink); color: var(--on-accent); box-shadow: none; }
.bn:not(.is-draft) .bn-ab .ab-go .ico { color: #F4C69C; }
.bn .bn-ab.is-set .ab-msg b { color: var(--done-ink); }
.bn .bn-ab.is-set .ab-msg b .ico { width: 15px; height: 15px; stroke-width: 2.4; }

/* ============ 七、窄条：普通白卡（白天它就是桌面的一部分） ============ */
.bn.bn-mini .bh { min-height: 60px; }
.bn .ms-facts { font-size: 13px; color: var(--p2); }
.bn .ms-facts span[title] { text-decoration: underline dotted var(--ink-3); text-underline-offset: 3px; cursor: help; }
.ms-undo { margin-left: 8px; padding: 0; border: 0; background: none; color: var(--ink); font: 600 13px var(--font-sans); text-decoration: underline; text-decoration-color: var(--accent-line); text-underline-offset: 3px; cursor: pointer; }
.ms-undo:hover { text-decoration-color: currentColor; }
.bn .ms-more { display: none; }
.bn.k-eve .ms-ic { background: var(--surface-2); }
.bn .ms-moon { width: 13px; height: 13px; color: var(--ink-2); }

/* ============ 八、过渡用的（brief-motion.js 与「天亮了」） ============ */
.bm-ghost { will-change: transform, opacity; }
.bm-num { position: relative; display: inline-block; white-space: pre; }
.bm-num-old { position: absolute; right: 0; top: 0; white-space: pre; pointer-events: none; }
.bm-d { display: inline-block; }
.bm-strike { position: absolute; left: 0; top: 52%; height: 1.5px; background: var(--ink-3); transform-origin: left center; pointer-events: none; }
html.brief-new .ns-i, html.brief-new .ms-now, html.brief-new .bgrp-tg { transition: background-color 120ms var(--ease), transform 120ms var(--ease); }
html.brief-new :is(button.ns-i, button.ms-now, .bh-seg):active { transform: scale(.97); }
html.brief-new .bn :is(.lnk, .ms-go, .wc-title, .bgrp-tg):active { opacity: .6; }
/* 天光：揭开的边上一道暖光，亮的一侧贴着边、往墨色那边渐隐 */
.dawn-glow { position: absolute; top: 0; bottom: 0; left: 0; z-index: 5; width: 240px; pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 249, 240, .92) 0%, rgba(253, 222, 190, .62) 18%, rgba(244, 178, 140, .26) 50%, rgba(232, 150, 140, 0) 100%); }
.dawn-layer { border-radius: inherit; }

/* ============ 九、中屏 ============ */
@media (max-width: 1100px) {
  .bn .np-head { font-size: 28px; }
  .np-cols, .np-cols.n4 { gap: 0 26px; }
  .bn .np-item + .np-item::before { left: -13px; }
}

/* ============ 十、手机：草案态是一张竖排的晨报，主按钮吸底；窄条两行 ============ */
@media (max-width: 760px) {
  .bn .bh { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "t fold" "st st" "r r"; gap: 6px 8px; min-height: 0; padding: 10px 10px 10px 14px; }
  .bn .bh:not(:has(.tb-fold)) { grid-template-areas: "t t" "st st" "r r"; }
  .bn .bh-t { grid-area: t; gap: 8px; }
  .bn .bh-t .ch-ic { width: 28px; height: 28px; border-radius: 9px; }
  .bn .ms-st { grid-area: st; }
  .bn .ms-st::before { display: none; }
  .bn .ms-text { white-space: normal; }
  .bn .ms-r { grid-area: r; min-width: 0; margin-left: 0; overflow: hidden; }
  .bn .ms-r:empty { display: none; }
  .bn .ms-facts { display: none; }
  .bn .tb-fold, .bn .ms-open { grid-area: fold; height: 28px; min-height: 0; padding: 0 10px; }
  .bn .ms-now { height: 28px; padding: 0 10px; font-size: 13px; }
  .bn.bn-mini .bh { grid-template-areas: "st fold" "r r"; padding: 8px 8px 8px 12px; }
  .bn.bn-mini .bh-t { display: none; }
  .bn.bn-mini .ms-text { white-space: nowrap; }
  .bn .ms-more { display: inline-flex; align-items: center; gap: 2px; min-height: 28px; padding: 0 0 0 30px; border: 0; background: none; color: var(--ink-2); font: 500 12px var(--font-sans); text-decoration: underline dotted var(--ink-3); text-underline-offset: 3px; cursor: pointer; }
  .bn .ms-more .ico { width: 13px; height: 13px; }
  .bn .ms-tip.show { display: block !important; top: calc(100% + 6px); left: 12px; right: 12px; white-space: pre-wrap; }
  /* 窄条在撤销期内：手机上把「撤销」放到第二行 */
  .bn.bn-mini .bh:has(.ms-undo) .ms-facts { display: flex; grid-area: r; }

  .bn .bh-mast { display: flex; margin: 0 16px; padding: 14px 0 12px; }
  .bn .bh-mast .bh-t { flex-wrap: wrap; row-gap: 6px; }
  .bn .bh-prov { display: none; }
  .bn .bb { padding: 0 16px 16px; }
  .bn .np-head { margin-top: 16px; font-size: 22px; line-height: 1.45; }
  .np-sched { display: none; }   /* 手机上去掉日程行：会议卡就在下面（审查报告第五节） */
  .bn .bn-body { margin-top: 18px; }
  .np-cols, .np-cols.n4 { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .bn .np-item { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 10px; row-gap: 3px; padding: 12px 0; }
  .bn .np-item + .np-item { border-top: 1px solid var(--pl); }
  .bn .np-item + .np-item::before { content: none; }
  .bn .np-item .np-top { display: contents; }
  .bn .np-item .np-no { grid-column: 1; grid-row: 1 / span 4; padding-top: 2px; font-size: 26px; }
  .bn .np-item > :not(.np-top) , .bn .np-item .np-top > :not(.np-no) { grid-column: 2; }
  .bn .np-item .wc-title { margin-top: 0; font-size: 16px; }
  .bn .np-item .wc-why { -webkit-line-clamp: 1; }
  .bn .np-item .wn-rail { padding-top: 4px; }
  .bn .np-item.is-done .np-no { grid-row: 1 / span 2; }
  .np-lines { grid-template-columns: minmax(0, 1fr); margin-top: 4px; }
  .np-line { flex-wrap: wrap; row-gap: 0; min-height: 40px; padding: 6px 0; }
  .np-line + .np-line { border-top: 1px solid var(--pl); }
  .np-carry .np-lt { flex-basis: calc(100% - 90px); white-space: normal; }
  .np-carry .wc-acts { margin-left: 0; }
  .np-carry em { display: none; }
  /* 底栏在「今天必须做」这一组里吸底：深底上一条更亮一点的托盘，主按钮占满 */
  .bn .bn-ab { margin-top: 8px; padding-top: 12px; }
  .bn .bn-ab.ab-sticky { position: sticky; bottom: 8px; z-index: 5; margin: 8px -8px 0; padding: 10px 10px 10px 14px; border-top: 0; border-radius: 18px; background: var(--p-bar); box-shadow: 0 0 0 1px var(--pl2), 0 16px 32px -12px rgba(30, 16, 10, .55); }
  .bn .bn-ab.ab-sticky .ab-msg { flex-basis: 100%; gap: 2px 10px; font-size: 12px; }
  .bn .bn-ab.ab-sticky .ab-msg b { font-size: 13px; }
  .bn .bn-ab.ab-sticky .ab-btns { flex-wrap: nowrap; width: 100%; }
  .bn .bn-ab.ab-sticky .ab-skip { flex: none; height: 44px; }
  .bn .bn-ab.ab-sticky .ab-go { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .bn .bh-draft::before { animation: none; opacity: 1; }
}
