/* ───────────────────────── overlays ───────────────────────── */
#scrim { position: fixed; inset: 0; z-index: 20; background: #00000059;
         backdrop-filter: blur(3px); }
.sheet {
  position: fixed; z-index: 30; display: flex; flex-direction: column;
  background: var(--surface); border: 0; border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg);
  top: 10%; left: 50%; transform: translateX(-50%);
  width: min(680px, 92vw); max-height: 76vh; overflow: hidden;
}
.sheet-hdr { display: flex; align-items: center; gap: 10px;
             padding: 18px 20px 12px; }
.sheet-title { font-size: 16px; font-weight: 600; letter-spacing: -.01em; }
.sheet-hint { font-size: 12.5px; color: var(--muted); margin-left: auto; }
#todo-cols { display: flex; gap: 16px; padding: 4px 20px 22px;
             overflow: auto; min-height: 0; }
.tcol { flex: 1 1 0; min-width: 160px; display: flex; flex-direction: column;
        gap: 8px; }
.tcol h4 { margin: 0 0 4px; font-size: 11px; font-weight: 650;
           letter-spacing: .08em; text-transform: uppercase; }
.tcol h4 span { color: var(--muted); font-weight: 550; margin-left: 5px; }
.tcard { text-align: left; width: 100%; cursor: pointer;
         background: var(--wash); border: 0; border-radius: var(--r-md);
         padding: 12px 14px; transition: background var(--ease); }
.tcard:hover { background: var(--wash-2); }
.tcard .tt { font-size: 13.5px; font-weight: 550; }
.tcard .tb { font-size: 12px; color: var(--muted); margin-top: 4px;
             line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2;
             -webkit-box-orient: vertical; overflow: hidden; }
.tcol-empty { font-size: 12px; color: var(--muted); }

#menu { width: min(440px, 92vw); }
#menu-list { overflow: auto; min-height: 0; padding: 4px 12px 16px; }
.opt { display: block; width: 100%; text-align: left; cursor: pointer;
       background: none; border: 0; border-radius: var(--r-md);
       padding: 13px 14px; transition: background var(--ease); }
.opt:hover { background: var(--wash); }
.opt.on { background: var(--wash-2); }
.opt .ol { font-size: 14.5px; font-weight: 550; }
.opt .ob { font-size: 12.5px; color: var(--muted); margin-top: 4px;
           white-space: pre-wrap; line-height: 1.55; }
.opt .otick { float: right; color: var(--accent); }
