/* 导航与栏位。尺寸、图形取设计稿，色谱与字体取 theme.css。 */
[hidden] { display: none !important; }
svg { width: 1em; height: 1em; display: inline-block; vertical-align: -.15em; flex: none; }
#topbar { height: 46px; padding: 0 10px 0 12px; gap: 4px; border-bottom: 0; background: var(--top); }
.brand { align-items: center; gap: 8px; }
.brand-name { font: 17px/1.6 var(--font-display); letter-spacing: 3px; }
#navInflow { width: 32px; color: var(--ink); }
#navInflow svg { font-size: 24px; }
.brand .ico-flow { width: 26px; height: 26px; transition: color var(--t-slow) var(--ease); }
.brand.lit .ico-flow { color: var(--qing); transition-duration: var(--t-fast); }
.search-wrap { min-width: 0; }
#searchInput { min-width: 0; }
#layout { position: relative; display: grid; grid-template-columns: var(--side-w) 10px minmax(0,1fr) 0 0; overflow: hidden; transition: grid-template-columns var(--t-slow) var(--ease); }
#layout.dragging { transition: none; }
#layout > #sidebar, #layout > .divider, #main, #tuiqiao { grid-row: 1; }
#sidebar { grid-column: 1; }
.divider.left { grid-column: 2; }
.divider.right { grid-column: 4; }
#layout.tq-open { grid-template-columns: var(--side-w) 10px minmax(0,1fr) 10px var(--tq-w); }
#layout.side-collapsed { grid-template-columns: 0 10px minmax(0,1fr) 0 0; }
#layout.side-collapsed.tq-open { grid-template-columns: 0 10px minmax(0,1fr) 10px var(--tq-w); }
#sidebar { display: flex; width: auto; min-width: 0; min-height: 0; border: 0; border-right: var(--stroke) solid var(--line); padding: 10px 0 8px; background: var(--side); color: var(--side-ink); overflow: hidden; font-size: 12.5px; }
#projectNav, #main { scrollbar-width: thin; scrollbar-color: var(--scroll) transparent; }
/* 上部独立滚动并常留滚动条位；页入口不参与项目高度变化。 */
#projectNav { flex: 1; min-height: 0; overflow: hidden auto; scrollbar-gutter: stable; }
#sidebar .nav-bottom { flex: none; display: flex; flex-direction: column; padding: 8px 6px 0; border-top: 1px solid var(--side-line); }
.side-collapsed #sidebar { padding: 0; visibility: hidden; }
#sidebar .nav-item { font: 14px/1.6 var(--font-display); color: inherit; letter-spacing: 1.5px; margin: 0 6px; padding: 5px 10px; border-radius: var(--r); width: calc(100% - 12px); }
#sidebar .nav-bottom .nav-item { margin: 0; width: 100%; }
#sidebar .nav-item:hover, #sidebar .nav-item.active { background: var(--side-hover); }
.nav-sep { margin: 6px 10px; }
/* 横木：形细而热区宽，两端淡出；全览亮起，不添文字与动纹。 */
.water-curtain { display: block; position: relative; width: calc(100% - 12px); height: 26px; margin: 0 6px 4px; padding: 0; border-radius: 6px; --curtain-tone: 8%; }
.water-curtain::before { content: ""; position: absolute; inset: 8px 0; border-radius: 999px; background: color-mix(in srgb, var(--qing) var(--curtain-tone), transparent); border-top: 1px solid color-mix(in srgb, var(--qing) 12%, transparent); mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); }
.water-curtain:hover { --curtain-tone: 16%; }
.water-curtain[aria-current="page"] { --curtain-tone: 24%; }
[data-theme="night"] .water-curtain { --curtain-tone: 10%; }
[data-theme="night"] .water-curtain:hover { --curtain-tone: 20%; }
[data-theme="night"] .water-curtain[aria-current="page"] { --curtain-tone: 28%; }
.water-curtain:focus-visible { outline-offset: -2px; }
.platform { display: flex; align-items: center; margin: 0 6px 4px; padding: 0 0 0 4px; border-radius: 6px; overflow: hidden; background: var(--plat); font-weight: 600; }
.caret { width: 22px; height: 30px; flex: none; font-size: 11px; opacity: .7; }
.platform:hover .caret { opacity: 1; }
.plat-open { min-width: 0; flex: 1; display: flex; align-items: center; gap: 7px; height: 30px; padding: 0 12px 0 2px; border-radius: 0 6px 6px 0; text-align: left; font-weight: 600; }
.platform :focus-visible { outline-offset: -2px; }
.platform[draggable="true"] { cursor: grab; }
.platform.drag-source { opacity: .5; }
/* 拖序落点以淡青细线记向，沿两主题的青色自然透底。 */
.platform.drop-before { box-shadow: inset 0 1px color-mix(in srgb, var(--qing) 60%, transparent); }
.platform.drop-after { box-shadow: inset 0 -1px color-mix(in srgb, var(--qing) 60%, transparent); }
.platform:hover, .platform:has(> .plat-open.active) { background: var(--qing-wash); }
.plat-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plat-ico { width: 18px; height: 18px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font: 600 9px/1 var(--font-mono); letter-spacing: 0; background: var(--side-ink); color: var(--side); }
.plat-ico.has-ico, .plat-ico:has(img:not([hidden])) { background: transparent; }
.plat-ico img { width: 18px; height: 18px; object-fit: contain; }
.count { margin-left: auto; font-family: var(--font-mono); font-size: 11px; opacity: .65; }
.proj-list { display: flex; flex-direction: column; padding: 0 6px; }
.proj { display: flex; align-items: center; gap: 8px; padding: 0 10px 0 29px; border-radius: 6px; color: inherit; opacity: .82; min-height: 28px; }
.proj:hover { background: var(--side-hover); opacity: 1; }
.proj.active { background: var(--side-active); opacity: 1; }
.proj-open { flex: 1; min-width: 0; text-align: left; padding: 4px 0; }
.proj-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.proj-batch { margin-left: auto; flex: none; position: relative; min-width: 22px; height: 28px; }
.batch-symbol { display: none; font-size: 13px; }
.proj:hover .proj-batch .count, .proj-batch:focus-visible .count { display: none; }
.proj:hover .batch-symbol, .proj-batch:focus-visible .batch-symbol { display: inline; }
.proj.more { font: inherit; text-align: left; padding-top: 4px; padding-bottom: 4px; opacity: .55; }
.caret-r { margin-left: auto; font-size: 11px; }
/* 窄列一次至多九行，余者在列内滚动、不出滚动条（乙批回销裁定）；行高沿设计稿 12px × 1.6 加上下 3px。 */
.narrow-list { display: flex; flex-direction: column; padding: 2px 0 6px 18px; max-height: calc(9 * 25.2px + 2px); overflow-y: auto; scrollbar-width: none; }
.narrow-list::-webkit-scrollbar { display: none; }
.nrow { display: grid; grid-template-columns: 8px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 3px 4px 3px 10px; line-height: 1.6; border-radius: 4px; font-size: 12px; text-align: left; color: inherit; opacity: .9; }
.nrow:hover { background: var(--side-hover); opacity: 1; }
.nrow.current { background: var(--side-active); opacity: 1; }
.ntitle { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lock, .xdel { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.lock { color: var(--zhu); }
.xdel { color: var(--ink-3); visibility: hidden; }
.nrow:hover .xdel, .nrow:focus-visible .xdel { visibility: visible; }
/* 开合沿设计稿三形：同色实点／半实点、淡墨虚环。 */
.dot.closed { background: var(--closed); border: 1px solid var(--closed); }
.dot.open { background: linear-gradient(90deg, var(--closed) 50%, transparent 50%); border: 1px solid var(--closed); }
.dot.unscanned { background: transparent; border: 1px dashed var(--ink-3); }
.divider { position: relative; cursor: col-resize; touch-action: none; }
/* 直接加深栏边框，避免缩放时叠绘线与边框错位显粗；热区仍为10px。 */
#sidebar, #tuiqiao { transition: border-color var(--t-fast) var(--ease); }
#layout:has(.divider.left:hover, .divider.left.dragging) #sidebar { border-right-color: var(--xline); }
#layout:has(.divider.right:hover, .divider.right.dragging) #tuiqiao { border-left-color: var(--xline); }
/* 左栏藏起时才单独绘制边缘提示线。 */
#layout:is(.side-collapsed, .side-auto):not(.side-drawer) .divider.left::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--stroke); background: var(--xline); opacity: 0; transition: opacity var(--t-fast) var(--ease); }
#layout:is(.side-collapsed, .side-auto):not(.side-drawer) .divider.left:is(:hover, .dragging)::after { opacity: 1; }
.dragging { user-select: none; }
.divider.right { visibility: hidden; }
.tq-open .divider.right { visibility: visible; }
/* 48-B：常留滚动条位，三视图键位条同缩（E-08 C-01）；收栏焦点落 #main、不落键（E-08 C-03）。 */
#main { grid-column: 3; position: relative; min-height: 0; overflow: auto; scrollbar-gutter: stable; padding: 0; }
#main:focus { outline: none; }
.list-head, .page-head, .reader-bar { display: flex; align-items: center; justify-content: initial; height: 48px; min-height: 48px; padding: 0 var(--head-r) 0 18px; gap: 14px; margin: 0; position: sticky; top: 0; z-index: 2; background: var(--paper); }
.view-title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 19px/1.3 var(--font-display); letter-spacing: 2px; }
/* 51 修缮：只留图标，名称入悬字；折角记向，他键留位不显。 */
.sort-keys { display: flex; align-items: center; gap: 10px; padding: 2px 4px; flex: none; }
.sort-key { display: inline-flex; align-items: center; justify-content: center; gap: 3px; width: 36px; height: 28px; padding: 4px; border: 0; border-radius: 4px; background: transparent; color: var(--ink-3); letter-spacing: 0; cursor: pointer; transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease); }
.sort-key:hover { color: var(--ink-2); background: var(--hover); }
.sort-key.on { color: var(--ink); background: var(--qing-wash); }
.sort-key svg { width: 15px; height: 15px; flex: none; }
.sort-dir { width: 6px; text-align: center; font-size: 9px; line-height: 1; opacity: 0; transition: opacity var(--t-fast) var(--ease); }
.sort-key.on .sort-dir { opacity: .85; }
.head-tools { display: flex; gap: 2px; margin-left: auto; flex: none; }
.head-tools .icon-btn, .reader-bar .icon-btn, .tq-head .icon-btn { width: 32px; height: 32px; font-size: 19px; border-radius: 6px; }
.tq-btn { width: 48px !important; }
.tq-icon { display: inline-flex; align-items: flex-end; }
.tq-icon .pg { display: inline-flex; margin-right: -3px; margin-bottom: 0; font-size: .92em; color: var(--ink-2); }
.tq-open #main .tq-btn { visibility: hidden; }
.reader-bar { justify-content: space-between; padding-left: 16px; margin-bottom: -48px; background: transparent; pointer-events: none; }
.reader-bar > * { pointer-events: auto; }
.reader-bar .back-btn { width: 28px; height: 32px; font-size: 17px; margin: 0; }
.reader { max-width: 808px; margin: 0 auto; padding: 0 64px 40px; }
.reader-top { position: static; display: block; padding: 12px 0 10px; border: 0; }
.reader-meta, .reader-actions { padding-left: 0; padding-right: 0; }
.session-list { max-width: none; padding: 4px 18px 24px; display: flex; flex-direction: column; gap: 6px; }
.card { position: relative; display: grid; grid-template-columns: 24px 13px minmax(0,1fr) auto; gap: 0 8px; padding: 7px 14px 7px 10px; border-radius: var(--r); background: var(--row); border: var(--stroke) solid var(--row-line); transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease); }
/* 长清单只渲染视口附近的行；常规正文38px，已呈现行沿其实际高度占位。 */
.session-list > .card { content-visibility: auto; contain-intrinsic-block-size: auto 38px; }
.card:hover { background: var(--row-hover); border-color: var(--line-2); }
.card.selected { background: var(--qing-wash); border-color: var(--qing); }
.proj.archive-only .proj-open { display: flex; align-items: center; gap: 7px; }
.archive-ring { width: 7px; height: 7px; border: 1px solid var(--ink-3); border-radius: 50%; flex: none; }
.card-body { min-width: 0; }
/* 卷题单独省略，身份徽标保留；间距仍沿应用原来的 6px。 */
.card-title { display: flex; align-items: center; font-family: var(--font-display); font-size: 14.5px; line-height: 20px; margin-bottom: 2px; }
.card-title-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.card-title > :is(.tag-ao, .badge-fork) { flex: none; }
.card-meta { font-size: 11.5px; line-height: 16px; height: 16px; }
.check-zone { align-self: stretch; display: flex; align-items: center; justify-content: center; margin: -7px 0; min-height: 48px; cursor: pointer; }
.check-zone input { margin: 0; cursor: pointer; }
.card.batch-mode input, .check-zone:focus-within input { opacity: 1; }
#tuiqiao { grid-column: 5; border-left: var(--stroke) solid var(--line); position: relative; min-width: 0; overflow: hidden; background: var(--side); color: var(--side-ink); }
.tq-inner { position: absolute; inset: 0 0 0 auto; width: var(--tq-w); display: flex; flex-direction: column; }
.tq-head { height: 48px; flex: none; display: flex; align-items: center; gap: 4px; padding: 0 var(--head-r) 0 10px; }
.tq-tab { display: flex; align-items: center; font: 15px/1.6 var(--font-display); letter-spacing: 2px; color: var(--ink-3); padding: 0 6px; height: 48px; border-bottom: 2px solid transparent; }
.tq-tab.on { color: var(--side-ink); border-bottom-color: var(--qing); }
.tq-close { margin-left: auto; }
#tqScrim, #sideScrim { display: none; }
.read-status { padding: 6px 18px; font-size: 12px; color: var(--ink-2); }
/* 乙②：行末的图形、热区、色与动效沿设计稿；信息行沿 UI 案§五。 */
.nrow { cursor: pointer; }
.tail { display: inline-flex; align-items: center; gap: 2px; }
.tail .lock, .tail .xdel { border-radius: 3px; transition: color var(--t-fast) var(--ease), opacity var(--t-fast) var(--ease); }
.tail .lock { color: var(--zhu); opacity: .8; }
.tail .lock:hover { opacity: 1; }
.tail .lock-in { color: var(--ink-3); }
.tail .xdel, .tail .lock-in { opacity: 0; visibility: visible; pointer-events: none; }
.card:hover .tail .xdel, .nrow:hover .tail .xdel, .card:focus-within .tail .xdel, .nrow:focus-within .tail .xdel { opacity: .6; pointer-events: auto; }
.card:hover .tail .lock-in, .nrow:hover .tail .lock-in, .card:focus-within .tail .lock-in, .nrow:focus-within .tail .lock-in { opacity: .55; pointer-events: auto; }
.tail .xdel:hover { color: var(--blood); opacity: 1; }
.tail .lock-in:hover { color: var(--ink); opacity: 1; }
.tail button:disabled { cursor: default; }
.dot[data-row-action] { padding: 0; cursor: pointer; }
.dot[data-row-action]:not(.closed) { cursor: default; }
.card { align-items: center; }
.card > .tail { grid-column: 4; grid-row: 1; }
.card-meta { display: grid; grid-template-columns: 8.1ch 1.5ch 7.2ch 1.5ch 12.3ch 1.5ch 9.4ch; width: max-content; max-width: 100%; padding-right: 18px; gap: 0; font-family: var(--font-mono); white-space: nowrap; overflow: hidden; }
/* 单层四栏内容均居中，三处分隔各占 1.5ch；复制图形独立定位，不参与 id 居中。 */
.meta-slot { display: flex; align-items: center; justify-content: center; min-width: 0; }
.meta-sep { display: flex; align-items: center; justify-content: center; width: 1.5ch; }
.meta-value { display: block; min-width: 0; max-width: 100%; text-align: center; overflow: hidden; text-overflow: ellipsis; }
.resume-copy { position: relative; display: inline-flex; align-items: center; justify-content: center; justify-self: center; font: inherit; color: inherit; white-space: nowrap; vertical-align: baseline; }
.card-meta .resume-copy { letter-spacing: .3px; }
.resume-copy:hover { color: var(--ink); }
.resume-copy svg { position: absolute; left: calc(100% + 3px); font-size: 12px; }
/* 复制图形沿设计稿：总表行悬停才现，不常驻。 */
.card .resume-copy svg { opacity: 0; transition: opacity var(--t-fast) var(--ease); }
.card:hover .resume-copy svg, .card:focus-within .resume-copy svg { opacity: .7; }
.card-preview { min-width: 0; display: none; margin-top: 2px; color: var(--ink-2); font-size: 11.5px; line-height: 1.6; }
.card-preview:empty { margin: 0; }
/* 预览另起第二行，只在悬停行末时显示；色点、标题与行末都留在第一行内居中，不因预览出现而位移。勾选区不跨行：跨行会把空的第二行撑开，标题整体靠上。 */
.card > .card-preview { grid-column: 3 / -1; grid-row: 2; }
.card.peek .card-preview { display: grid; }
.card-preview > div, .delete-preview > div { min-width: 0; display: flex; align-items: flex-start; gap: 6px; }
.preview-text { max-width: 420px; display: block; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* 方框简称基础；总览与纲目按各自视角调整。 */
.role-prefix { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 16px; height: 16px; border: var(--stroke) solid var(--qing); border-radius: 3px; background: transparent; font: 500 10.5px/1 var(--font-display); color: var(--qing); vertical-align: middle; transition: color var(--t-fast) var(--ease); }
.role-prefix.ai { color: var(--ink-2); }
.card-preview .role-prefix { border-color: var(--ink-2); background: var(--qing-wash); }
.card-preview > div:hover .role-prefix { color: var(--qing); }
.scope-status { margin: 2px 14px 8px; font-size: 11.5px; line-height: 1.6; color: var(--ink-2); overflow-wrap: anywhere; }
.result-pending { color: var(--ink-3); font-size: 11.5px; }
.refresh-control { display: inline-flex; align-items: center; flex-wrap: nowrap; gap: 5px; flex: none; }
.refresh-status { font: 11.5px/1 var(--font-mono); font-variant-numeric: tabular-nums; color: var(--ink-3); white-space: nowrap; }
.icon-btn.refresh-busy { color: color-mix(in srgb, var(--qing) 65%, var(--paper)); }
.refresh-busy svg { animation: refresh-turn 1s linear infinite; }
@keyframes refresh-turn { to { transform: rotate(360deg); } }
/* 删除确认层收紧：窄框、卷题一行、副本微字、开篇三句 */
#modalBox:has(.delete-plan) { width: 400px; }
.delete-plan { margin: 0 0 6px; padding: 0; list-style: none; }
.delete-plan li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; column-gap: 12px; align-items: baseline; padding: 5px 0; }
.delete-count { font: 11px var(--font-mono); color: var(--ink-3); }
.delete-title { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.delete-copies { display: block; color: var(--ink-2); font-size: 12px; }
.delete-preview { margin-top: 6px; padding: 8px 10px; border-radius: var(--r); background: var(--annot); color: var(--ink-2); font-size: 12px; line-height: 1.6; }
.delete-preview > div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sealed-warning { margin: 4px 0 0; color: var(--ink-2); font-size: 13px; line-height: 1.65; }
.delete-lock svg { color: var(--zhu); font-size: 13px; }
.btn.danger, .act-btn.danger { color: var(--blood); border-color: color-mix(in srgb, var(--blood) 40%, transparent); }
.btn.danger:hover, .act-btn.danger:hover { color: var(--blood); background: var(--blood-wash); border-color: var(--blood); }
/* 48-B：跨窄幅断点那一帧停掉过渡，抽屉不从全显滑出（E-08 A-05）；类由 app.js 于断点 change 加一帧。 */
#layout.breakpoint-switch, #layout.breakpoint-switch #tuiqiao { transition: none; }
/* 48-B：两栏皆开时的第二阈——先只隐侧栏，右栏与正文列不变（E-08 C-07）；1100 由柳生复看定，app.js Layout 同值。 */
#layout.side-auto { grid-template-columns: 0 10px minmax(0,1fr) 0 0; }
#layout.side-auto.tq-open { grid-template-columns: 0 10px minmax(0,1fr) 10px var(--tq-w); }
.side-auto #sidebar { padding: 0; visibility: hidden; }
/* 窄幅断点 810（E-08 A-05 柳生裁；四文件五处同值）。 */
@media (max-width: 810px) {
  #layout, #layout.tq-open, #layout.side-collapsed, #layout.side-collapsed.tq-open, #layout.side-auto, #layout.side-auto.tq-open { grid-template-columns: minmax(0,1fr); }
  #sidebar, .divider { display: none; }
  /* 窄窗只隐藏栏，左缘仍留10px拖动热区，不占主区宽度。 */
  #layout:not(.focus-mode) > .divider.left { display: block; grid-column: 1 / -1; position: absolute; inset: 0 auto 0 0; width: 10px; z-index: 6; }
  #main { grid-column: 1; }
  #tuiqiao { grid-column: 1; position: absolute; top: 0; right: 0; bottom: 0; width: min(360px,92%); --tq-w: 100%; z-index: 5; transform: translateX(100%); box-shadow: var(--shadow); transition: transform var(--t-slow) var(--ease); }
  .tq-open #tuiqiao { transform: translateX(0); }
  #tqScrim:not([hidden]) { display: block; position: absolute; inset: 0; z-index: 4; background: var(--scrim); }
  .reader { padding: 0 40px 40px 36px; }
  .reader-bar { padding-left: 8px; }
  #topbar { gap: 6px; flex-wrap: nowrap; }
  .search-wrap { flex: 1; max-width: 240px; }
  #searchInput { width: 100%; }
  .scopes { display: none; }
  .ring-label { display: none; }
}

/* 显示尺寸取设计稿；SVG 内部仍为 22 格，环半径 8 不变。 */
.ring-wrap svg { width: 18px; height: 18px; }
.icon-btn { border-radius: var(--r); transition: color var(--t-fast) var(--ease), background var(--t-fast) var(--ease); }
.icon-btn:hover { background: var(--hover); }

/* 51-B：三总表与完整检索共用素笺卡片，当前卷以整圈细框标识。 */
.card.current, .card:focus { border-color: var(--row-focus); }
.card:focus { outline: none; box-shadow: inset 0 0 0 var(--stroke) var(--row-focus); }
.card-title .badge-fork { margin-left: 6px; font-size: 12px; }
.check-zone { min-height: 0; margin-block: -7px; }
.check-zone input { width: 13px; height: 13px; }
.card > .tail { gap: 4px; padding-left: 6px; }
.card > .tail .lock, .card > .tail .xdel { width: 22px; height: 22px; font-size: 15px; }
.overview-list .card-preview { margin-top: 2.17px; font-size: 12.46px; }
.overview-list .card-preview > div { gap: 6.5px; }
.overview-list .role-prefix { width: 17.33px; height: 17.33px; font-size: 11.38px; }
.proj-empty { padding: 18px 0 0; text-align: center; font: 12.5px var(--font-display); letter-spacing: 2px; color: var(--ink-3); opacity: .8; }
.proj.archive-only { opacity: .72; }
.proj.no-ws .proj-name { color: var(--ink-3); }
.archive-ring { border: 1.5px solid var(--qing); }
.nrow.archive-only { opacity: .78; }
.nrow.archive-only:hover { opacity: 1; }
#sidebar .nav-item.active { color: var(--qing); background: transparent; font-weight: 400; }
.ring-wrap:hover:not(:disabled) { background: var(--hover); }
.ring-wrap:disabled { opacity: .4; }
.ring-track { stroke: var(--line-2); }

.tag-ao { font-size: 11px; color: var(--qing); opacity: .85; margin-left: 6px; border: 1px solid var(--qing); padding: 0 4px; border-radius: 3px; font-weight: normal; }

/* 自动隐藏与手动抽屉分开：在同一个窄幅区间继续调窗，不收回手开的导航。 */
#layout.side-drawer #sidebar { display: flex; position: absolute; inset: 0 auto 0 0; width: min(var(--side-w), 92%); padding: 10px 0 8px; visibility: visible; z-index: 5; box-shadow: var(--shadow); }
#layout.side-drawer .divider.left { display: block; position: absolute; inset: 0 auto 0 min(var(--side-w), 92%); width: 10px; z-index: 6; }
#sideScrim:not([hidden]) { display: block; position: absolute; inset: 0; z-index: 4; background: var(--scrim); }

/* 排序三键固定起点：标题留138px；空间不足时只压缩标题，保住操作键。 */
.list-head:has(> .sort-keys) > .view-title { flex: 0 1 138px; min-width: 0; }
