/* 10-16 第十四轮（策划反馈：日程卡里要能删；做完一件、勾掉待办时那一段就在这一刻结束）；第十六轮起飞书日程也能删、腾讯会议点了说明删不掉。
   一、删除按钮与确认气泡；二、提前做完：实际结束与「空出 N 分钟」。规矩照旧：颜色只表状态，层级靠墨色深浅。 */

/* ============ 一、删除 ============ */
/* 和钉同一处、同一种出现方式：指到或聚焦那一块才露出，触屏常显半透明 */
.cv .cv-x { display: grid; place-items: center; flex: none; width: 26px; height: 26px; padding: 0; border: 0; border-radius: var(--radius-pill); background: none; color: var(--ink-3); cursor: pointer; opacity: 0;
  transition: opacity 140ms var(--ease), background-color 140ms var(--ease), color 140ms var(--ease); }
.cv .cv-x .ico { width: 13px; height: 13px; stroke-width: 2.2; }
.cv .cv-x:hover, .cv .cv-x[aria-expanded="true"] { background: var(--fc-plate); color: var(--late-ink); }
.cv .tl-row:hover .cv-x, .cv .tl-row:focus-within .cv-x, .cv .cv-x:focus-visible, .cv .cv-x[aria-expanded="true"] { opacity: 1; }
@media (hover: none) { .cv .cv-x { opacity: .5; } }
.cv .cv-gone { pointer-events: none; z-index: 3; }
/* 腾讯会议同步来的：删不掉，「×」只用来问为什么，指到不变红（第十六轮） */
.cv .cv-x.is-lock:hover, .cv .cv-x.is-lock[aria-expanded="true"] { color: var(--ink-2); }
.cvdel-pop { max-width: 300px; }
.cvdel-pop .menu-sub { line-height: 1.55; }
.cvdel-pop .menu-btns { display: flex; gap: 8px; padding: 4px 10px 6px; }

/* ============ 二、提前做完 ============ */
/* 空出来的那段：没有底色，一道虚线框，字很淡 */
.cv .cv-blk.k-free { background: transparent; box-shadow: none; outline: 1.5px dashed var(--line-strong); outline-offset: -1.5px; }
.cv .cv-blk.k-free .cv-ti { font-weight: 500; color: var(--ink-3); }
.cv .cv-blk.k-free .cv-meta { color: var(--ink-3); }
.cv .cv-blk.k-free.past { opacity: .6; }

/* ============ 三、今天小结的回放色带（第十六轮） ============ */
/* 不用图例：两道在左边直接写「会议」「待办」；现在＝一条竖线＋线上方的「现在 18:00」；勾掉的时刻是带勾的小圆 */
.rb { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; }
.rb-main { position: relative; min-width: 0; padding-top: 20px; }
.rb-lanes { position: relative; width: 26px; margin-top: 20px; height: 40px; font: 500 11px/12px var(--font-sans); color: var(--ink-3); white-space: nowrap; }
.rb-lanes span { position: absolute; right: 0; }
.rb-lanes span:first-child { top: 6px; }
.rb-lanes span:last-child { top: 22px; }
/* 挨着的两段（10:00 周会和 11:00 那 5 分钟的会）中间留一道缝，短会也不缩成一个点 */
.rb .rb-seg { min-width: 8px; border-radius: 3px; clip-path: inset(0 1px round 3px); }
.rb .rb-dot { z-index: 2; }
.rb .rb-dot { display: grid; place-items: center; top: 22px; width: 12px; height: 12px; margin-left: -6px; color: #FFFFFF; }
.rb .rb-dot .ico { width: 8px; height: 8px; stroke-width: 3.4; }
.rb .rb-now { top: -4px; bottom: -4px; width: 2px; height: auto; margin-left: -1px; border-radius: 1px; background: var(--dusk); box-shadow: none; transform: none; transform-origin: 50% 100%; }
.rb .rb-now b { position: absolute; bottom: calc(100% + 3px); left: 50%; transform: translateX(-50%); font: 600 11px/14px var(--font-num); font-variant-numeric: tabular-nums; color: var(--dusk); white-space: nowrap; }
.rb .rb-now.at-end b { left: auto; right: -1px; transform: none; }
.rb .rb-now.at-start b { left: -1px; transform: none; }
.sc .rb-lanes { height: 34px; }
.sc .rb-lanes span:first-child { top: 4px; }
.sc .rb-lanes span:last-child { top: 18px; }
.sc .rb .rb-dot { top: 18px; width: 11px; height: 11px; margin-left: -5.5px; }

@media (prefers-reduced-motion: reduce) {
  .cv .cv-x { transition: none; }
}
