/* 四大項目入口的滑鼠小卡（2D、3D 共用） */
.peek{position:fixed;z-index:50;width:320px;max-height:min(72vh,480px);overflow:auto;background:var(--paper,#fbf8f2);color:var(--ink,#2b2622);
  border:1px solid var(--line,#e4dccf);border-left:6px solid var(--g);border-radius:16px;box-shadow:0 18px 40px rgba(40,30,20,.22);padding:12px 14px 12px;
  font-family:var(--f-body,"Noto Sans TC",sans-serif);animation:peek-in .14s ease-out}
.peek[hidden]{display:none}
@keyframes peek-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.peek-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:none;color:inherit;cursor:pointer;text-align:left;font:inherit}
.peek-h b{font-size:18px;font-weight:900}
.peek-h small{font-size:12px;font-weight:700;color:var(--g);white-space:nowrap}
.peek-h:hover small{text-decoration:underline}
.peek-d{margin:4px 0 8px;font-size:12.5px;line-height:1.55;color:var(--muted,#857a6e)}
.peek section{margin-top:8px}
.peek h4{margin:0 0 4px;font-size:12px;letter-spacing:.08em;color:var(--muted,#857a6e);font-weight:700}
.peek h4 small{font-weight:500}
.peek section[data-kind="plan"] h4{color:var(--plan,#e0693a)}
.peek section[data-kind="done"] h4{color:var(--done,#3b7fa8)}
.peek ul{list-style:none;margin:0;padding:0}
.peek li button{display:grid;grid-template-columns:38px 1fr;gap:6px;align-items:baseline;width:100%;padding:5px 6px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;font-size:13.5px;line-height:1.4;text-align:left;cursor:pointer}
.peek li button:hover{background:var(--paper-2,#f3eee4)}
.peek-n{font-size:11.5px;font-weight:700;color:var(--muted,#857a6e);font-variant-numeric:tabular-nums}
.peek section[data-kind="plan"] .peek-n{color:var(--plan,#e0693a)}
.peek section[data-kind="done"] .peek-n{color:var(--done,#3b7fa8)}
/* the entry grows while the mouse is on it */
#entries .entry{transition:transform .15s ease-out;transform-box:fill-box;transform-origin:50% 100%}
#entries .entry.hot{transform:scale(1.18)}
.tag.entry{transform-origin:50% 100%}
